]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blame - bip39-standalone.html
Card entropy has improved conversion to binary
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / bip39-standalone.html
CommitLineData
ebd8d4e8
IC
1<!DOCTYPE html>
2<html>
3 <head lang="en">
4 <meta charset="utf-8" />
5 <title>BIP39 - Mnemonic Code</title>
ab78acc6 6 <style>/*!
ebd8d4e8
IC
7 * Bootstrap v3.2.0 (http://getbootstrap.com)
8 * Copyright 2011-2014 Twitter, Inc.
9 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
10 *//*! normalize.css v3.0.1 | 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,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:0 0}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}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!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:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{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.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-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"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-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}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;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}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;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}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,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.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,.h4,h5,.h5,h6,.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%}cite{font-style:normal}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:#428bca}a.text-primary:hover{color:#3071a9}.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:#428bca}a.bg-primary:hover{background-color:#3071a9}.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}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{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}dt,dd{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[title],abbr[data-original-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 p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small: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 footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}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%;-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-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{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-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{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-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{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-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{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}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{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>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{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>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{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=radio],input[type=checkbox]{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=radio]:focus,input[type=checkbox]: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:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}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[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}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{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,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.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 .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{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 .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{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 .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{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.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 .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{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{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@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;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:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{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:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.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],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.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],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{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:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.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],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{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:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.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],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{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:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.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],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{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=submit].btn-block,input[type=reset].btn-block,input[type=button].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:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{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:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{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:1px}@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>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.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>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-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=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.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.33;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}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].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}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control: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=radio],.input-group-addon input[type=checkbox]{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:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{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:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{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:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{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:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.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:hover,.nav-tabs>li.active>a:focus{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:hover,.nav-tabs.nav-justified>.active>a:focus{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:hover,.nav-tabs.nav-justified>.active>a:focus{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:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.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:hover,.nav-tabs-justified>.active>a:focus{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:hover,.nav-tabs-justified>.active>a:focus{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-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{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-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{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:hover,.navbar-brand:focus{text-decoration:none}@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>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{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-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.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 .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{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}}@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-form.navbar-right:last-child{margin-right:-15px}}.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{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}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{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:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{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:hover,.navbar-default .navbar-nav>.open>a:focus{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:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{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:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{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:hover,.navbar-inverse .navbar-nav>.open>a:focus{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:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{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:#428bca;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:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{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:hover,.pager li>a:focus{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:hover,.pager .disabled>a:focus,.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:hover,a.label:focus{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]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{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-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;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{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .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:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.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:#428bca;-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-striped .progress-bar,.progress-bar-striped{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.active .progress-bar,.progress-bar.active{-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[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.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,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.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}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.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:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{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:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{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:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{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:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{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>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{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.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{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>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.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 td:first-child,.panel>.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 td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th: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 th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.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 td:last-child,.panel>.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 td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th: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 th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.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 td:first-child,.panel>.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 td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.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 td:last-child,.panel>.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 td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.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{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.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>.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:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.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 iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.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:hover,.close:focus{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:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,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-size:12px;line-height:1.4;visibility:visible;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{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;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;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right: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;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;font-weight:400;line-height:18px;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>img,.carousel-inner>.item>a>img{line-height:1}.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:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.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-prev,.carousel-control .icon-next{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}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer: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;visibility:hidden!important}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-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}th.visible-xs,td.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}th.visible-sm,td.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}th.visible-md,td.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}th.visible-lg,td.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}th.visible-print,td.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>
11 <meta content="Mnemonic code for generating deterministic keys" name="description"/>
12 <meta content="width=device-width, initial-scale=1.0" name="viewport" />
13 <meta content="bitcoin mnemonic converter" name="description" />
b630f83d 14 <meta content="Ian Coleman" name="author" />
3af2954a 15
ab78acc6
IC
16 <style>
17 body {
18 padding-bottom: 32px;
19 }
20 .form-control[readonly] {
21 cursor: text;
22 }
23 .feedback-container {
24 position: fixed;
25 top: 0;
26 width: 100%;
27 text-align: center;
28 z-index: 4;
29 }
30 .feedback {
31 display: table;
32 padding: 0.5em 1em;
33 background-color: orange;
34 margin: 0 auto;
35 font-size: 2em;
36 color: #444;
37 border: 2px solid #555;
38 border-top: 0;
39 border-bottom-left-radius: 20px 20px;
40 border-bottom-right-radius: 20px 20px;
41 }
d5dc92fd
IC
42 .no-border {
43 border: 0;
44 box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
45 -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.0);
46 }
0515eeec
IC
47 .phrase {
48 word-break: keep-all;
49 }
2a6dd137 50 .generate-container .strength {
b0818b31
IC
51 /* override mobile width from bootstrap */
52 width: auto!important;
53 display: inline-block;
54 }
0515eeec
IC
55 .languages * {
56 padding-left: 10px;
57 }
d737abf6
IC
58 .monospace {
59 font-family: monospace;
60 }
2a6dd137
IC
61 .entropy-container .filtered,
62 .entropy-container .binary {
63 word-wrap: break-word;
64 }
65 .entropy-container li {
66 padding-bottom: 5px;
67 }
68 .card-suit {
69 font-size: 19px;
70 line-height: 0;
71 }
72 .card-suit.club {
73 color: #009F00;
74 }
75 .card-suit.diamond {
76 color: #3D5DC4;
77 }
78 .card-suit.heart {
79 color: #F00;
80 }
81 .card-suit.spade {
82 color: #000;
83 }
ab78acc6
IC
84 </style>
85 </head>
86 <body>
87 <div class="container">
3af2954a 88
ab78acc6
IC
89 <h1 class="text-center">Mnemonic Code Converter</h1>
90 <hr>
91 <div class="row">
92 <div class="col-md-12">
93 <h2>Mnemonic</h2>
94 <form class="form-horizontal" role="form">
ab78acc6 95 <div class="form-group">
c6624d51
IC
96 <div class="col-sm-2"></div>
97 <div class="col-sm-10">
98 <p>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum)</p>
99 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a></p>
100 </div>
101 </div>
102 <div class="form-group generate-container">
b0818b31 103 <label class="col-sm-2 control-label"></label>
ab78acc6 104 <div class="col-sm-10">
b0818b31
IC
105 <div class="form-inline">
106 <div class="input-group-inline">
107 <button class="btn generate">Generate</button>
108 <span>a random</span>
109 <select id="strength" class="strength form-control">
110 <option value="3">3</option>
111 <option value="6">6</option>
112 <option value="9">9</option>
113 <option value="12">12</option>
114 <option value="15" selected>15</option>
115 <option value="18">18</option>
116 <option value="21">21</option>
117 <option value="24">24</option>
118 </select>
119 word mnemonic, or enter your own below.
120 </div>
121 </div>
ab78acc6 122 </div>
0515eeec 123 </div>
c6624d51 124 <div class="entropy-container hidden">
2a6dd137
IC
125 <div class="form-group text-danger">
126 <label class="col-sm-2 control-label">Warning</label>
127 <div class="col-sm-10 form-control-static">
128 Entropy is an advanced feature.
129 Your mnemonic may be insecure if this feature is used incorrectly.
130 <a href="#entropy-notes">Read more</a>
18abe53b
IC
131 </div>
132 </div>
2a6dd137
IC
133 <div class="form-group">
134 <label for="entropy" class="col-sm-2 control-label">Entropy</label>
135 <div class="col-sm-7">
136 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts binary, base 6, 6-sided dice, base 10, hexadecimal, cards"></textarea>
95f04905
IC
137 <div class="row">
138 <label class="col-sm-3 control-label">Strength</label>
139 <div class="strength col-sm-3 form-control-static"></div>
140 <label class="col-sm-3 control-label">Event Count</label>
141 <div class="event-count col-sm-3 form-control-static"></div>
142 </div>
143 <div class="row">
144 <label class="col-sm-3 control-label">Entropy Type</label>
145 <div class="type col-sm-3 form-control-static"></div>
146 <label class="col-sm-3 control-label">Bits Per Event</label>
147 <div class="bits-per-event col-sm-3 form-control-static"></div>
148 </div>
149 <div class="row">
150 <label class="col-sm-3 control-label">Word Count</label>
151 <div class="word-count col-sm-3 form-control-static"></div>
152 <label class="col-sm-3 control-label">Total Bits</label>
153 <div class="bits col-sm-3 form-control-static"></div>
154 </div>
2a6dd137
IC
155 <label class="col-sm-3 control-label">Filtered Entropy</label>
156 <div class="filtered col-sm-9 form-control-static"></div>
157 <label class="col-sm-3 control-label">Raw Binary</label>
158 <div class="binary col-sm-9 form-control-static"></div>
159 <label class="col-sm-3 control-label">Mnemonic Length</label>
160 <div class="col-sm-9">
18abe53b
IC
161 <select class="mnemonic-length form-control">
162 <option value="raw">From entropy length (3 words per 32 bits)</option>
163 <option value="12">12 Words</option>
78b8d604 164 <option value="15" selected>15 Words</option>
18abe53b
IC
165 <option value="18">18 Words</option>
166 <option value="21">21 Words</option>
167 <option value="24">24 Words</option>
168 </select>
c6624d51 169 </div>
18abe53b 170 </div>
2a6dd137
IC
171 <div class="col-sm-3">
172 <p>Valid entropy values include:</p>
173 <ul>
174 <li><strong>Binary</strong> [0-1]<br>101010011</li>
175 <li><strong>Base 6</strong> [0-5]<br>123434014</li>
176 <li><strong>Dice</strong> [1-6]<br>62535634</li>
177 <li><strong>Base 10</strong> [0-9]<br>90834528</li>
178 <li><strong>Hex</strong> [0-9A-F]<br>4187a8bfd9</li>
179 <li><strong>Card</strong> [A2-9TJQK][CDHS]<br>ahqs9dtc</li>
180 </ul>
181 </div>
c6624d51
IC
182 </div>
183 </div>
184 <div class="form-group">
185 <div class="col-sm-2"></div>
186 <div class="col-sm-10 checkbox">
187 <label>
188 <input type="checkbox" class="use-entropy">
189 Supply my own source of entropy
190 </label>
191 </div>
192 </div>
193 <div class="form-group">
0515eeec
IC
194 <label class="col-sm-2 control-label"></label>
195 <div class="col-sm-10 languages">
196 <a href="#english">English</a>
197 <a href="#japanese" title="Japanese">日本語</a>
0515eeec
IC
198 <a href="#spanish" title="Spanish">Español</a>
199 <a href="#chinese_simplified" title="Chinese (Simplified)">中文(简体)</a>
200 <a href="#chinese_traditional" title="Chinese (Traditional)">中文(繁體)</a>
201 <a href="#french" title="French">Français</a>
202 <a href="#italian" title="Italian">Italiano</a>
203 </div>
ab78acc6
IC
204 </div>
205 <div class="form-group">
b0818b31 206 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
ab78acc6 207 <div class="col-sm-10">
b0818b31 208 <textarea id="phrase" class="phrase form-control"></textarea>
ab78acc6
IC
209 </div>
210 </div>
211 <div class="form-group">
212 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
213 <div class="col-sm-10">
214 <textarea id="passphrase" class="passphrase form-control"></textarea>
215 </div>
216 </div>
73161a92
IC
217 <div class="form-group">
218 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
219 <div class="col-sm-10">
220 <textarea id="seed" class="seed form-control" readonly="readonly"></textarea>
221 </div>
222 </div>
ab78acc6
IC
223 <div class="form-group">
224 <label for="network-phrase" class="col-sm-2 control-label">Coin</label>
225 <div class="col-sm-10">
226 <select id="network-phrase" class="network form-control">
227 <!-- populated by javascript -->
228 </select>
229 </div>
230 </div>
231 <div class="form-group">
232 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
233 <div class="col-sm-10">
efe41586 234 <textarea id="root-key" class="root-key form-control"></textarea>
ab78acc6
IC
235 </div>
236 </div>
237 </form>
238 </div>
239 </div>
3af2954a 240
ab78acc6 241 <hr>
3af2954a 242
ab78acc6
IC
243 <div class="row">
244 <div class="col-md-12">
245 <h2>Derivation Path</h2>
246 <ul class="derivation-type nav nav-tabs" role="tablist">
d5dc92fd 247 <li id="bip44-tab" class="active">
ab78acc6
IC
248 <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
249 </li>
250 <li id="bip32-tab">
251 <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
252 </li>
253 </ul>
254 <div class="derivation-type tab-content">
d5dc92fd 255 <div id="bip44" class="tab-pane active">
ab78acc6
IC
256 <form class="form-horizontal" role="form">
257 <br>
258 <div class="col-sm-2"></div>
259 <div class="col-sm-10">
260 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a></p>
261 </div>
262 <div class="form-group">
263 <label for="purpose" class="col-sm-2 control-label">
264 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
265 </label>
266 <div class="col-sm-10">
267 <input id="purpose" type="text" class="purpose form-control" value="44">
268 </div>
269 </div>
270 <div class="form-group">
271 <label for="coin" class="col-sm-2 control-label">
272 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#registered-coin-types" target="_blank">Coin</a>
273 </label>
274 <div class="col-sm-10">
275 <input id="coin" type="text" class="coin form-control" value="0">
276 </div>
277 </div>
278 <div class="form-group">
279 <label for="account" class="col-sm-2 control-label">
280 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#account" target="_blank">Account</a>
281 </label>
282 <div class="col-sm-10">
283 <input id="account" type="text" class="account form-control" value="0">
284 </div>
285 </div>
286 <div class="form-group">
287 <label for="change" class="col-sm-2 control-label">
288 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#change" target="_blank">External / Internal</a>
289 </label>
290 <div class="col-sm-10">
291 <input id="change" type="text" class="change form-control" value="0">
292 </div>
293 </div>
294 <div class="form-group">
295 <label for="bip44-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
296 <div class="col-sm-10">
297 <input id="bip44-path" type="text" class="path form-control" value="m/44'/0'/0'/0" readonly="readonly">
298 </div>
299 </div>
300 </form>
301 </div>
302 <div id="bip32" class="tab-pane">
303 <form class="form-horizontal" role="form">
304 <br>
305 <div class="col-sm-2"></div>
306 <div class="col-sm-10">
307 <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">BIP32 spec</a></p>
308 </div>
309 <div class="form-group">
310 <label for="bip32-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
311 <div class="col-sm-10">
312 <input id="bip32-path" type="text" class="path form-control" value="m/0">
313 </div>
314 </div>
1975bfbc
IC
315 <div class="form-group">
316 <div class="col-sm-2"></div>
317 <label class="col-sm-10">
318 <input class="hardened-addresses" type="checkbox">
319 Use hardened addresses
320 </label>
321 </div>
d5dc92fd 322 <div class="form-group">
c866242d 323 <label for="mycelium-path" class="col-sm-2 control-label">Mycelium Wallet</label>
d5dc92fd
IC
324 <div class="col-sm-10">
325 <p class="form-control no-border">
c866242d
IC
326 <code>m/44'/0'/0'</code> generates extended keys for import / export.
327 </p>
328 <p class="form-control no-border">
329 <code>m/44'/0'/1'</code> to generate the next account. Continue incrementing for more accounts (most use a single account).
330 </p>
331 <p class="form-control no-border">
332 <code>m/44'/0'/0'/0</code> to generate public addresses.
333 </p>
334 <p class="form-control no-border">
335 <code>m/44'/0'/0'/1</code> to generate change addresses.
d5dc92fd 336 </p>
d5dc92fd 337 <p class="form-control no-border">
d5dc92fd
IC
338 For more info see the <a href="http://www.mycelium.com/" target="_blank">Mycelium Wallet homepage</a>
339 </p>
340 </div>
341 </div>
1975bfbc
IC
342 <div class="form-group">
343 <label for="core-path" class="col-sm-2 control-label">Bitcoin Core</label>
344 <div class="col-sm-10">
345 <p class="form-control no-border">
346 Use path <code>m/0'/0'</code> with hardened addresses.
c866242d
IC
347 </p>
348 <p class="form-control no-border">
1975bfbc
IC
349 For more info see the <a href="https://github.com/bitcoin/bitcoin/pull/8035" target="_blank">Bitcoin Core BIP32 implementation</a>
350 </p>
351 </div>
352 </div>
aa51da11
IC
353 <div class="form-group">
354 <label class="col-sm-2 control-label">Block Explorers</label>
355 <div class="col-sm-10">
356 <p class="form-control no-border">
357 Use path <code>m/44'/0'/0'</code>.
c866242d
IC
358 Only enter the <code>xpub</code> extended key into block explorer search fields, never the <code>xprv</code> key.
359 </p>
360 <p class="form-control no-border">
361 Supported by <a href="https://blockchain.info/" target="_blank">blockchain.info</a>.
aa51da11
IC
362 </p>
363 </div>
364 </div>
ab78acc6
IC
365 </form>
366 </div>
367 </div>
368 <form class="form-horizontal" role="form">
369 <div class="form-group">
370 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Key</label>
371 <div class="col-sm-10">
372 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly"></textarea>
373 </div>
374 </div>
375 <div class="form-group">
376 <label for="extended-pub-key" class="col-sm-2 control-label">BIP32 Extended Key (addresses only)</label>
377 <div class="col-sm-10">
378 <textarea id="extended-pub-key" class="extended-pub-key form-control" readonly="readonly"></textarea>
379 </div>
380 </div>
381 </form>
382 </div>
383 </div>
3af2954a 384
ab78acc6 385 <hr>
3af2954a 386
ab78acc6
IC
387 <div class="row">
388 <div class="col-md-12">
389 <h2>Derived Addresses</h2>
390 <p>Note these addreses are derived from the <strong>BIP32 Extended Key</strong></p>
391 <table class="table table-striped">
392 <thead>
393 <th>
394 <div class="input-group">
ae30fed8 395 Path&nbsp;&nbsp;
ab78acc6
IC
396 <button class="index-toggle">Toggle</button>
397 </div>
398 </th>
399 <th>
400 <div class="input-group">
401 Address&nbsp;&nbsp;
402 <button class="address-toggle">Toggle</button>
403 </div>
404 </th>
1b12b2f5
IC
405 <th>
406 <div class="input-group">
407 Public Key&nbsp;&nbsp;
408 <button class="public-key-toggle">Toggle</button>
409 </div>
410 </th>
ab78acc6
IC
411 <th>
412 <div class="input-group">
413 Private Key&nbsp;&nbsp;
414 <button class="private-key-toggle">Toggle</button>
415 </div>
416 </th>
417 </thead>
d737abf6 418 <tbody class="addresses monospace">
c866242d
IC
419 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
420 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
421 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
422 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
423 <tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr>
ab78acc6
IC
424 </tbody>
425 </table>
426 </div>
427 </div>
428 <span>Show next </button>
429 <input type="number" class="rows-to-add" value="20">
430 <button class="more">Show</button>
3af2954a 431
ab78acc6 432 <hr>
3af2954a 433
ab78acc6
IC
434 <div class="row">
435 <div class="col-md-12">
436 <h2>More info</h2>
437 <h3>BIP39 <span class="small">Mnemonic code for generating deterministic keys</span></h3>
438 <p>
439 Read more at the
440 <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">official BIP39 spec</a>
441 </p>
442 <h3>BIP32 <span class="small">Hierarchical Deterministic Wallets</span></h3>
443 <p>
444 Read more at the
445 <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki" target="_blank">official BIP32 spec</a>
446 and see the demo at
447 <a href="http://bip32.org/" target="_blank">bip32.org</a>
448 </p>
449 <h3>BIP44 <span class="small">Multi-Account Hierarchy for Deterministic Wallets</span></h3>
450 <p>
451 Read more at the
452 <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">official BIP44 spec</a>
453 </p>
454 <h3>Private Keys</h3>
455 <p>
456 Use private keys at
457 <a href="https://web.archive.org/web/20150707020924/https://brainwallet.org/" target="_blank">brainwallet.org</a>,
458 but be careful - it can be easy to make mistakes if you
459 don't know what you're doing
460 </p>
c6624d51
IC
461 <h3 id="entropy-notes">Entropy</h3>
462 <p>
463 Entropy values must be sourced from a
464 <a href="https://en.wikipedia.org/wiki/Random_number_generation" target="_blank">strong source of randomness</a>.
465 This means flipping a fair coin, rolling a fair dice, noise measurements etc. Do <strong>NOT</strong> use
466 phrases from books, lyrics from songs, your birthday or steet address, keyboard mashing, or anything you <i>think</i>
467 is random, because chances are <em>overwhelming</em> that it isn't random enough for the needs of this tool.
468 </p>
469 <p>
470 The random mnemonic generator on this page uses a
471 <a href="https://developer.mozilla.org/en-US/docs/Web/API/RandomSource/getRandomValues" target="_blank">cryptographically secure random number generator</a>,
472 and can generally be trusted more than your own intuition about randomness.
473 If cryptographic randomness isn't available in your browser, this page will show a warning and <i>will not generate
474 random mnemonics</i>.
475 </p>
476 <p>
477 <a href="https://bitcointalk.org/index.php?topic=311000.msg3345309#msg3345309" target="_blank">You are not a good source of entropy.</a>
478 </p>
ab78acc6
IC
479 </div>
480 </div>
3af2954a 481
ab78acc6 482 <hr>
3af2954a 483
ab78acc6
IC
484 <div class="row">
485 <div class="col-md-12">
3af2954a 486
ab78acc6 487 <h2>Offline Usage</h2>
3af2954a 488
ab78acc6
IC
489 <p>
490 You can use this tool without having to be online.
491 </p>
492 <p>
493 In your browser, select file save-as, and save this page
494 as a file.
495 </p>
496 <p>
497 Double-click that file to open it in a browser
498 on any offline computer.
499 </p>
500 <p>
501 Alternatively, download it from
b630f83d
IC
502 <a href="https://github.com/iancoleman/bip39">
503 https://github.com/iancoleman/bip39
ab78acc6 504 </a>
3af2954a 505
ab78acc6
IC
506 </div>
507 </div>
3af2954a 508
ab78acc6 509 <hr>
3af2954a 510
ab78acc6
IC
511 <div class="row">
512 <div class="col-md-12">
3af2954a 513
ab78acc6 514 <h2>This project is 100% open-source code</h2>
3af2954a 515
ab78acc6
IC
516 <p>
517 <span>Get the source code at - </span>
b630f83d
IC
518 <a href="https://github.com/iancoleman/bip39" target="_blank">
519 https://github.com/iancoleman/bip39
ab78acc6
IC
520 </a>
521 </p>
3af2954a 522
ab78acc6 523 <h3>Libraries</h3>
3af2954a 524
ab78acc6
IC
525 <p>
526 <span>BitcoinJS - </span>
527 <a href="https://github.com/bitcoinjs/bitcoinjs-lib" target="_blank">
528 https://github.com/bitcoinjs/bitcoinjs-lib
529 </a>
530 </p>
3af2954a 531
ab78acc6
IC
532 <p>
533 <span>jsBIP39 - </span>
534 <a href="https://github.com/iancoleman/jsbip39" target="_blank">
535 https://github.com/iancoleman/jsbip39
536 </a>
537 </p>
3af2954a 538
ab78acc6
IC
539 <p>
540 <span>sjcl - </span>
541 <a href="https://github.com/bitwiseshiftleft/sjcl" target="_blank">
542 https://github.com/bitwiseshiftleft/sjcl
543 </a>
544 </p>
3af2954a 545
ab78acc6
IC
546 <p>
547 <span>jQuery - </span>
548 <a href="https://jquery.com/" target="_blank">
549 https://jquery.com/
550 </a>
551 </p>
3af2954a 552
ab78acc6
IC
553 <p>
554 <span>Twitter Bootstrap - </span>
555 <a href="http://getbootstrap.com/" target="_blank">
556 http://getbootstrap.com/
557 </a>
558 </p>
3af2954a 559
ab78acc6
IC
560 </div>
561 </div>
3af2954a 562
ab78acc6 563 </div>
3af2954a 564
ab78acc6
IC
565 <div class="feedback-container">
566 <div class="feedback">Loading...</div>
567 </div>
3af2954a 568
ab78acc6
IC
569 <script type="text/template" id="address-row-template">
570 <tr>
571 <td class="index"><span></span></td>
572 <td class="address"><span></span></td>
1b12b2f5 573 <td class="pubkey"><span></span></td>
ab78acc6
IC
574 <td class="privkey"><span></span></td>
575 </tr>
576 </script>
577 <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
578!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)
579},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b))
580},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n});
581</script>
582 <script>/*!
583 * Bootstrap v3.2.0 (http://getbootstrap.com)
3af2954a
IC
584 * Copyright 2011-2014 Twitter, Inc.
585 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
ab78acc6
IC
586 */
587if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},c.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one("bsTransitionEnd",e).emulateTransitionEnd(150):e(),f.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(c){c.preventDefault(),b.call(a(this),"show")})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.2.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=a(document).height(),d=this.$target.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=b-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){null!=this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:b-this.$element.height()-h}))}}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},d.offsetBottom&&(d.offset.bottom=d.offsetBottom),d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);</script>
563e401a
IC
588 <script>(function() {
589 'use strict';
590
591 /**
592 * Extend an Object with another Object's properties.
593 *
594 * The source objects are specified as additional arguments.
595 *
596 * @param dst Object the object to extend.
597 *
598 * @return Object the final object.
599 */
600 var _extend = function(dst) {
601 var sources = Array.prototype.slice.call(arguments, 1);
602 for (var i=0; i<sources.length; ++i) {
603 var src = sources[i];
604 for (var p in src) {
605 if (src.hasOwnProperty(p)) dst[p] = src[p];
606 }
607 }
608 return dst;
609 };
610
611
612 /**
613 * Defer execution of given function.
614 * @param {Function} func
615 */
616 var _defer = function(func) {
617 if (typeof setImmediate === 'function') {
618 return setImmediate(func);
619 } else {
620 return setTimeout(func, 0);
621 }
622 };
623
624 /**
625 * Based on the algorithm at http://en.wikipedia.org/wiki/Levenshtein_distance.
626 */
627 var Levenshtein = {
628 /**
629 * Calculate levenshtein distance of the two strings.
630 *
631 * @param str1 String the first string.
632 * @param str2 String the second string.
633 * @return Integer the levenshtein distance (0 and above).
634 */
635 get: function(str1, str2) {
636 // base cases
637 if (str1 === str2) return 0;
638 if (str1.length === 0) return str2.length;
639 if (str2.length === 0) return str1.length;
640
641 // two rows
642 var prevRow = new Array(str2.length + 1),
643 curCol, nextCol, i, j, tmp;
644
645 // initialise previous row
646 for (i=0; i<prevRow.length; ++i) {
647 prevRow[i] = i;
648 }
649
650 // calculate current row distance from previous row
651 for (i=0; i<str1.length; ++i) {
652 nextCol = i + 1;
653
654 for (j=0; j<str2.length; ++j) {
655 curCol = nextCol;
656
657 // substution
658 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
659 // insertion
660 tmp = curCol + 1;
661 if (nextCol > tmp) {
662 nextCol = tmp;
663 }
664 // deletion
665 tmp = prevRow[j + 1] + 1;
666 if (nextCol > tmp) {
667 nextCol = tmp;
668 }
669
670 // copy current col value into previous (in preparation for next iteration)
671 prevRow[j] = curCol;
672 }
673
674 // copy last col value into previous (in preparation for next iteration)
675 prevRow[j] = nextCol;
676 }
677
678 return nextCol;
679 },
680
681 /**
682 * Asynchronously calculate levenshtein distance of the two strings.
683 *
684 * @param str1 String the first string.
685 * @param str2 String the second string.
686 * @param cb Function callback function with signature: function(Error err, int distance)
687 * @param [options] Object additional options.
688 * @param [options.progress] Function progress callback with signature: function(percentComplete)
689 */
690 getAsync: function(str1, str2, cb, options) {
691 options = _extend({}, {
692 progress: null
693 }, options);
694
695 // base cases
696 if (str1 === str2) return cb(null, 0);
697 if (str1.length === 0) return cb(null, str2.length);
698 if (str2.length === 0) return cb(null, str1.length);
699
700 // two rows
701 var prevRow = new Array(str2.length + 1),
702 curCol, nextCol,
703 i, j, tmp,
704 startTime, currentTime;
705
706 // initialise previous row
707 for (i=0; i<prevRow.length; ++i) {
708 prevRow[i] = i;
709 }
710
711 nextCol = 1;
712 i = 0;
713 j = -1;
714
715 var __calculate = function() {
716 // reset timer
717 startTime = new Date().valueOf();
718 currentTime = startTime;
719
720 // keep going until one second has elapsed
721 while (currentTime - startTime < 1000) {
722 // reached end of current row?
723 if (str2.length <= (++j)) {
724 // copy current into previous (in preparation for next iteration)
725 prevRow[j] = nextCol;
726
727 // if already done all chars
728 if (str1.length <= (++i)) {
729 return cb(null, nextCol);
730 }
731 // else if we have more left to do
732 else {
733 nextCol = i + 1;
734 j = 0;
735 }
736 }
737
738 // calculation
739 curCol = nextCol;
740
741 // substution
742 nextCol = prevRow[j] + ( (str1.charAt(i) === str2.charAt(j)) ? 0 : 1 );
743 // insertion
744 tmp = curCol + 1;
745 if (nextCol > tmp) {
746 nextCol = tmp;
747 }
748 // deletion
749 tmp = prevRow[j + 1] + 1;
750 if (nextCol > tmp) {
751 nextCol = tmp;
752 }
753
754 // copy current into previous (in preparation for next iteration)
755 prevRow[j] = curCol;
756
757 // get current time
758 currentTime = new Date().valueOf();
759 }
760
761 // send a progress update?
762 if (null !== options.progress) {
763 try {
764 options.progress.call(null, (i * 100.0/ str1.length));
765 } catch (err) {
766 return cb('Progress callback: ' + err.toString());
767 }
768 }
769
770 // next iteration
771 _defer(__calculate);
772 };
773
774 __calculate();
775 }
776
777 };
778
779 // amd
780 if (typeof define !== "undefined" && define !== null && define.amd) {
781 define(function() {
782 return Levenshtein;
783 });
784 }
785 // commonjs
786 else if (typeof module !== "undefined" && module !== null && typeof exports !== "undefined" && module.exports === exports) {
787 module.exports = Levenshtein;
788 }
789 // web worker
790 else if (typeof self !== "undefined" && typeof self.postMessage === 'function' && typeof self.importScripts === 'function') {
791 self.Levenshtein = Levenshtein;
792 }
793 // browser main thread
794 else if (typeof window !== "undefined" && window !== null) {
795 window.Levenshtein = Levenshtein;
796 }
797}());
798
799</script>
ab78acc6
IC
800 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.bitcoin = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
801// (public) Constructor
802function BigInteger(a, b, c) {
803 if (!(this instanceof BigInteger))
804 return new BigInteger(a, b, c)
3af2954a 805
ab78acc6
IC
806 if (a != null) {
807 if ("number" == typeof a) this.fromNumber(a, b, c)
808 else if (b == null && "string" != typeof a) this.fromString(a, 256)
809 else this.fromString(a, b)
810 }
811}
3af2954a 812
ab78acc6 813var proto = BigInteger.prototype
3af2954a 814
ab78acc6
IC
815// duck-typed isBigInteger
816proto.__bigi = require('../package.json').version
817BigInteger.isBigInteger = function (obj, check_ver) {
818 return obj && obj.__bigi && (!check_ver || obj.__bigi === proto.__bigi)
819}
3af2954a 820
ab78acc6
IC
821// Bits per digit
822var dbits
3af2954a 823
ab78acc6
IC
824// am: Compute w_j += (x*this_i), propagate carries,
825// c is initial carry, returns final carry.
826// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
827// We need to select the fastest one that works in this environment.
3af2954a 828
ab78acc6
IC
829// am1: use a single mult and divide to get the high bits,
830// max digit bits should be 26 because
831// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
832function am1(i, x, w, j, c, n) {
833 while (--n >= 0) {
834 var v = x * this[i++] + w[j] + c
835 c = Math.floor(v / 0x4000000)
836 w[j++] = v & 0x3ffffff
3af2954a 837 }
ab78acc6
IC
838 return c
839}
840// am2 avoids a big mult-and-extract completely.
841// Max digit bits should be <= 30 because we do bitwise ops
842// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
843function am2(i, x, w, j, c, n) {
844 var xl = x & 0x7fff,
845 xh = x >> 15
846 while (--n >= 0) {
847 var l = this[i] & 0x7fff
848 var h = this[i++] >> 15
849 var m = xh * l + h * xl
850 l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff)
851 c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30)
852 w[j++] = l & 0x3fffffff
853 }
854 return c
855}
856// Alternately, set max digit bits to 28 since some
857// browsers slow down when dealing with 32-bit numbers.
858function am3(i, x, w, j, c, n) {
859 var xl = x & 0x3fff,
860 xh = x >> 14
861 while (--n >= 0) {
862 var l = this[i] & 0x3fff
863 var h = this[i++] >> 14
864 var m = xh * l + h * xl
865 l = xl * l + ((m & 0x3fff) << 14) + w[j] + c
866 c = (l >> 28) + (m >> 14) + xh * h
867 w[j++] = l & 0xfffffff
3af2954a 868 }
ab78acc6
IC
869 return c
870}
3af2954a 871
ab78acc6
IC
872// wtf?
873BigInteger.prototype.am = am1
874dbits = 26
3af2954a 875
ab78acc6
IC
876BigInteger.prototype.DB = dbits
877BigInteger.prototype.DM = ((1 << dbits) - 1)
878var DV = BigInteger.prototype.DV = (1 << dbits)
3af2954a 879
ab78acc6
IC
880var BI_FP = 52
881BigInteger.prototype.FV = Math.pow(2, BI_FP)
882BigInteger.prototype.F1 = BI_FP - dbits
883BigInteger.prototype.F2 = 2 * dbits - BI_FP
3af2954a 884
ab78acc6
IC
885// Digit conversions
886var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"
887var BI_RC = new Array()
888var rr, vv
889rr = "0".charCodeAt(0)
890for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv
891rr = "a".charCodeAt(0)
892for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
893rr = "A".charCodeAt(0)
894for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv
3af2954a 895
ab78acc6
IC
896function int2char(n) {
897 return BI_RM.charAt(n)
898}
3af2954a 899
ab78acc6
IC
900function intAt(s, i) {
901 var c = BI_RC[s.charCodeAt(i)]
902 return (c == null) ? -1 : c
903}
3af2954a 904
ab78acc6
IC
905// (protected) copy this to r
906function bnpCopyTo(r) {
907 for (var i = this.t - 1; i >= 0; --i) r[i] = this[i]
908 r.t = this.t
909 r.s = this.s
910}
3af2954a 911
ab78acc6
IC
912// (protected) set from integer value x, -DV <= x < DV
913function bnpFromInt(x) {
914 this.t = 1
915 this.s = (x < 0) ? -1 : 0
916 if (x > 0) this[0] = x
917 else if (x < -1) this[0] = x + DV
918 else this.t = 0
919}
3af2954a 920
ab78acc6
IC
921// return bigint initialized to value
922function nbv(i) {
923 var r = new BigInteger()
924 r.fromInt(i)
925 return r
926}
3af2954a 927
ab78acc6
IC
928// (protected) set from string and radix
929function bnpFromString(s, b) {
930 var self = this
3af2954a 931
ab78acc6
IC
932 var k
933 if (b == 16) k = 4
934 else if (b == 8) k = 3
935 else if (b == 256) k = 8; // byte array
936 else if (b == 2) k = 1
937 else if (b == 32) k = 5
938 else if (b == 4) k = 2
939 else {
940 self.fromRadix(s, b)
941 return
942 }
943 self.t = 0
944 self.s = 0
945 var i = s.length,
946 mi = false,
947 sh = 0
948 while (--i >= 0) {
949 var x = (k == 8) ? s[i] & 0xff : intAt(s, i)
950 if (x < 0) {
951 if (s.charAt(i) == "-") mi = true
952 continue
953 }
954 mi = false
955 if (sh == 0)
956 self[self.t++] = x
957 else if (sh + k > self.DB) {
958 self[self.t - 1] |= (x & ((1 << (self.DB - sh)) - 1)) << sh
959 self[self.t++] = (x >> (self.DB - sh))
960 } else
961 self[self.t - 1] |= x << sh
962 sh += k
963 if (sh >= self.DB) sh -= self.DB
964 }
965 if (k == 8 && (s[0] & 0x80) != 0) {
966 self.s = -1
967 if (sh > 0) self[self.t - 1] |= ((1 << (self.DB - sh)) - 1) << sh
968 }
969 self.clamp()
970 if (mi) BigInteger.ZERO.subTo(self, self)
971}
3af2954a 972
ab78acc6
IC
973// (protected) clamp off excess high words
974function bnpClamp() {
975 var c = this.s & this.DM
976 while (this.t > 0 && this[this.t - 1] == c)--this.t
977}
3af2954a 978
ab78acc6
IC
979// (public) return string representation in given radix
980function bnToString(b) {
981 var self = this
982 if (self.s < 0) return "-" + self.negate()
983 .toString(b)
984 var k
985 if (b == 16) k = 4
986 else if (b == 8) k = 3
987 else if (b == 2) k = 1
988 else if (b == 32) k = 5
989 else if (b == 4) k = 2
990 else return self.toRadix(b)
991 var km = (1 << k) - 1,
992 d, m = false,
993 r = "",
994 i = self.t
995 var p = self.DB - (i * self.DB) % k
996 if (i-- > 0) {
997 if (p < self.DB && (d = self[i] >> p) > 0) {
998 m = true
999 r = int2char(d)
1000 }
1001 while (i >= 0) {
1002 if (p < k) {
1003 d = (self[i] & ((1 << p) - 1)) << (k - p)
1004 d |= self[--i] >> (p += self.DB - k)
1005 } else {
1006 d = (self[i] >> (p -= k)) & km
1007 if (p <= 0) {
1008 p += self.DB
1009 --i
1010 }
1011 }
1012 if (d > 0) m = true
1013 if (m) r += int2char(d)
3af2954a 1014 }
3af2954a 1015 }
ab78acc6
IC
1016 return m ? r : "0"
1017}
3af2954a 1018
ab78acc6
IC
1019// (public) -this
1020function bnNegate() {
1021 var r = new BigInteger()
1022 BigInteger.ZERO.subTo(this, r)
1023 return r
1024}
3af2954a 1025
ab78acc6
IC
1026// (public) |this|
1027function bnAbs() {
1028 return (this.s < 0) ? this.negate() : this
1029}
3af2954a 1030
ab78acc6
IC
1031// (public) return + if this > a, - if this < a, 0 if equal
1032function bnCompareTo(a) {
1033 var r = this.s - a.s
1034 if (r != 0) return r
1035 var i = this.t
1036 r = i - a.t
1037 if (r != 0) return (this.s < 0) ? -r : r
1038 while (--i >= 0)
1039 if ((r = this[i] - a[i]) != 0) return r
1040 return 0
1041}
3af2954a 1042
ab78acc6
IC
1043// returns bit length of the integer x
1044function nbits(x) {
1045 var r = 1,
1046 t
1047 if ((t = x >>> 16) != 0) {
1048 x = t
1049 r += 16
1050 }
1051 if ((t = x >> 8) != 0) {
1052 x = t
1053 r += 8
1054 }
1055 if ((t = x >> 4) != 0) {
1056 x = t
1057 r += 4
1058 }
1059 if ((t = x >> 2) != 0) {
1060 x = t
1061 r += 2
3af2954a 1062 }
ab78acc6
IC
1063 if ((t = x >> 1) != 0) {
1064 x = t
1065 r += 1
1066 }
1067 return r
1068}
1069
1070// (public) return the number of bits in "this"
1071function bnBitLength() {
1072 if (this.t <= 0) return 0
1073 return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM))
1074}
3af2954a 1075
ab78acc6
IC
1076// (public) return the number of bytes in "this"
1077function bnByteLength() {
1078 return this.bitLength() >> 3
1079}
3af2954a 1080
ab78acc6
IC
1081// (protected) r = this << n*DB
1082function bnpDLShiftTo(n, r) {
1083 var i
1084 for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i]
1085 for (i = n - 1; i >= 0; --i) r[i] = 0
1086 r.t = this.t + n
1087 r.s = this.s
1088}
3af2954a 1089
ab78acc6
IC
1090// (protected) r = this >> n*DB
1091function bnpDRShiftTo(n, r) {
1092 for (var i = n; i < this.t; ++i) r[i - n] = this[i]
1093 r.t = Math.max(this.t - n, 0)
1094 r.s = this.s
1095}
3af2954a 1096
ab78acc6
IC
1097// (protected) r = this << n
1098function bnpLShiftTo(n, r) {
1099 var self = this
1100 var bs = n % self.DB
1101 var cbs = self.DB - bs
1102 var bm = (1 << cbs) - 1
1103 var ds = Math.floor(n / self.DB),
1104 c = (self.s << bs) & self.DM,
1105 i
1106 for (i = self.t - 1; i >= 0; --i) {
1107 r[i + ds + 1] = (self[i] >> cbs) | c
1108 c = (self[i] & bm) << bs
1109 }
1110 for (i = ds - 1; i >= 0; --i) r[i] = 0
1111 r[ds] = c
1112 r.t = self.t + ds + 1
1113 r.s = self.s
1114 r.clamp()
1115}
3af2954a 1116
ab78acc6
IC
1117// (protected) r = this >> n
1118function bnpRShiftTo(n, r) {
1119 var self = this
1120 r.s = self.s
1121 var ds = Math.floor(n / self.DB)
1122 if (ds >= self.t) {
1123 r.t = 0
1124 return
3af2954a 1125 }
ab78acc6
IC
1126 var bs = n % self.DB
1127 var cbs = self.DB - bs
1128 var bm = (1 << bs) - 1
1129 r[0] = self[ds] >> bs
1130 for (var i = ds + 1; i < self.t; ++i) {
1131 r[i - ds - 1] |= (self[i] & bm) << cbs
1132 r[i - ds] = self[i] >> bs
1133 }
1134 if (bs > 0) r[self.t - ds - 1] |= (self.s & bm) << cbs
1135 r.t = self.t - ds
1136 r.clamp()
1137}
3af2954a 1138
ab78acc6
IC
1139// (protected) r = this - a
1140function bnpSubTo(a, r) {
1141 var self = this
1142 var i = 0,
1143 c = 0,
1144 m = Math.min(a.t, self.t)
1145 while (i < m) {
1146 c += self[i] - a[i]
1147 r[i++] = c & self.DM
1148 c >>= self.DB
1149 }
1150 if (a.t < self.t) {
1151 c -= a.s
1152 while (i < self.t) {
1153 c += self[i]
1154 r[i++] = c & self.DM
1155 c >>= self.DB
1156 }
1157 c += self.s
1158 } else {
1159 c += self.s
1160 while (i < a.t) {
1161 c -= a[i]
1162 r[i++] = c & self.DM
1163 c >>= self.DB
1164 }
1165 c -= a.s
1166 }
1167 r.s = (c < 0) ? -1 : 0
1168 if (c < -1) r[i++] = self.DV + c
1169 else if (c > 0) r[i++] = c
1170 r.t = i
1171 r.clamp()
1172}
3af2954a 1173
ab78acc6
IC
1174// (protected) r = this * a, r != this,a (HAC 14.12)
1175// "this" should be the larger one if appropriate.
1176function bnpMultiplyTo(a, r) {
1177 var x = this.abs(),
1178 y = a.abs()
1179 var i = x.t
1180 r.t = i + y.t
1181 while (--i >= 0) r[i] = 0
1182 for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t)
1183 r.s = 0
1184 r.clamp()
1185 if (this.s != a.s) BigInteger.ZERO.subTo(r, r)
1186}
3af2954a 1187
ab78acc6
IC
1188// (protected) r = this^2, r != this (HAC 14.16)
1189function bnpSquareTo(r) {
1190 var x = this.abs()
1191 var i = r.t = 2 * x.t
1192 while (--i >= 0) r[i] = 0
1193 for (i = 0; i < x.t - 1; ++i) {
1194 var c = x.am(i, x[i], r, 2 * i, 0, 1)
1195 if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
1196 r[i + x.t] -= x.DV
1197 r[i + x.t + 1] = 1
1198 }
1199 }
1200 if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1)
1201 r.s = 0
1202 r.clamp()
1203}
3af2954a 1204
ab78acc6
IC
1205// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
1206// r != q, this != m. q or r may be null.
1207function bnpDivRemTo(m, q, r) {
1208 var self = this
1209 var pm = m.abs()
1210 if (pm.t <= 0) return
1211 var pt = self.abs()
1212 if (pt.t < pm.t) {
1213 if (q != null) q.fromInt(0)
1214 if (r != null) self.copyTo(r)
1215 return
1216 }
1217 if (r == null) r = new BigInteger()
1218 var y = new BigInteger(),
1219 ts = self.s,
1220 ms = m.s
1221 var nsh = self.DB - nbits(pm[pm.t - 1]); // normalize modulus
1222 if (nsh > 0) {
1223 pm.lShiftTo(nsh, y)
1224 pt.lShiftTo(nsh, r)
1225 } else {
1226 pm.copyTo(y)
1227 pt.copyTo(r)
1228 }
1229 var ys = y.t
1230 var y0 = y[ys - 1]
1231 if (y0 == 0) return
1232 var yt = y0 * (1 << self.F1) + ((ys > 1) ? y[ys - 2] >> self.F2 : 0)
1233 var d1 = self.FV / yt,
1234 d2 = (1 << self.F1) / yt,
1235 e = 1 << self.F2
1236 var i = r.t,
1237 j = i - ys,
1238 t = (q == null) ? new BigInteger() : q
1239 y.dlShiftTo(j, t)
1240 if (r.compareTo(t) >= 0) {
1241 r[r.t++] = 1
1242 r.subTo(t, r)
1243 }
1244 BigInteger.ONE.dlShiftTo(ys, t)
1245 t.subTo(y, y); // "negative" y so we can replace sub with am later
1246 while (y.t < ys) y[y.t++] = 0
1247 while (--j >= 0) {
1248 // Estimate quotient digit
1249 var qd = (r[--i] == y0) ? self.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2)
1250 if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out
1251 y.dlShiftTo(j, t)
1252 r.subTo(t, r)
1253 while (r[i] < --qd) r.subTo(t, r)
3af2954a 1254 }
ab78acc6
IC
1255 }
1256 if (q != null) {
1257 r.drShiftTo(ys, q)
1258 if (ts != ms) BigInteger.ZERO.subTo(q, q)
1259 }
1260 r.t = ys
1261 r.clamp()
1262 if (nsh > 0) r.rShiftTo(nsh, r); // Denormalize remainder
1263 if (ts < 0) BigInteger.ZERO.subTo(r, r)
1264}
3af2954a 1265
ab78acc6
IC
1266// (public) this mod a
1267function bnMod(a) {
1268 var r = new BigInteger()
1269 this.abs()
1270 .divRemTo(a, null, r)
1271 if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r)
1272 return r
1273}
3af2954a 1274
ab78acc6
IC
1275// Modular reduction using "classic" algorithm
1276function Classic(m) {
1277 this.m = m
1278}
3af2954a 1279
ab78acc6
IC
1280function cConvert(x) {
1281 if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m)
1282 else return x
1283}
1284
1285function cRevert(x) {
1286 return x
1287}
3af2954a 1288
ab78acc6
IC
1289function cReduce(x) {
1290 x.divRemTo(this.m, null, x)
1291}
3af2954a 1292
ab78acc6
IC
1293function cMulTo(x, y, r) {
1294 x.multiplyTo(y, r)
1295 this.reduce(r)
1296}
3af2954a 1297
ab78acc6
IC
1298function cSqrTo(x, r) {
1299 x.squareTo(r)
1300 this.reduce(r)
1301}
3af2954a 1302
ab78acc6
IC
1303Classic.prototype.convert = cConvert
1304Classic.prototype.revert = cRevert
1305Classic.prototype.reduce = cReduce
1306Classic.prototype.mulTo = cMulTo
1307Classic.prototype.sqrTo = cSqrTo
3af2954a 1308
ab78acc6
IC
1309// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
1310// justification:
1311// xy == 1 (mod m)
1312// xy = 1+km
1313// xy(2-xy) = (1+km)(1-km)
1314// x[y(2-xy)] = 1-k^2m^2
1315// x[y(2-xy)] == 1 (mod m^2)
1316// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
1317// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
1318// JS multiply "overflows" differently from C/C++, so care is needed here.
1319function bnpInvDigit() {
1320 if (this.t < 1) return 0
1321 var x = this[0]
1322 if ((x & 1) == 0) return 0
1323 var y = x & 3; // y == 1/x mod 2^2
1324 y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4
1325 y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8
1326 y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16
1327 // last step - calculate inverse mod DV directly
1328 // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
1329 y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits
1330 // we really want the negative inverse, and -DV < y < DV
1331 return (y > 0) ? this.DV - y : -y
1332}
3af2954a 1333
ab78acc6
IC
1334// Montgomery reduction
1335function Montgomery(m) {
1336 this.m = m
1337 this.mp = m.invDigit()
1338 this.mpl = this.mp & 0x7fff
1339 this.mph = this.mp >> 15
1340 this.um = (1 << (m.DB - 15)) - 1
1341 this.mt2 = 2 * m.t
1342}
3af2954a 1343
ab78acc6
IC
1344// xR mod m
1345function montConvert(x) {
1346 var r = new BigInteger()
1347 x.abs()
1348 .dlShiftTo(this.m.t, r)
1349 r.divRemTo(this.m, null, r)
1350 if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r)
1351 return r
1352}
3af2954a 1353
ab78acc6
IC
1354// x/R mod m
1355function montRevert(x) {
1356 var r = new BigInteger()
1357 x.copyTo(r)
1358 this.reduce(r)
1359 return r
1360}
3af2954a 1361
ab78acc6
IC
1362// x = x/R mod m (HAC 14.32)
1363function montReduce(x) {
1364 while (x.t <= this.mt2) // pad x so am has enough room later
1365 x[x.t++] = 0
1366 for (var i = 0; i < this.m.t; ++i) {
1367 // faster way of calculating u0 = x[i]*mp mod DV
1368 var j = x[i] & 0x7fff
1369 var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM
1370 // use am to combine the multiply-shift-add into one call
1371 j = i + this.m.t
1372 x[j] += this.m.am(0, u0, x, i, 0, this.m.t)
1373 // propagate carry
1374 while (x[j] >= x.DV) {
1375 x[j] -= x.DV
1376 x[++j]++
1377 }
1378 }
1379 x.clamp()
1380 x.drShiftTo(this.m.t, x)
1381 if (x.compareTo(this.m) >= 0) x.subTo(this.m, x)
1382}
3af2954a 1383
ab78acc6
IC
1384// r = "x^2/R mod m"; x != r
1385function montSqrTo(x, r) {
1386 x.squareTo(r)
1387 this.reduce(r)
1388}
3af2954a 1389
ab78acc6
IC
1390// r = "xy/R mod m"; x,y != r
1391function montMulTo(x, y, r) {
1392 x.multiplyTo(y, r)
1393 this.reduce(r)
1394}
3af2954a 1395
ab78acc6
IC
1396Montgomery.prototype.convert = montConvert
1397Montgomery.prototype.revert = montRevert
1398Montgomery.prototype.reduce = montReduce
1399Montgomery.prototype.mulTo = montMulTo
1400Montgomery.prototype.sqrTo = montSqrTo
3af2954a 1401
ab78acc6
IC
1402// (protected) true iff this is even
1403function bnpIsEven() {
1404 return ((this.t > 0) ? (this[0] & 1) : this.s) == 0
1405}
3af2954a 1406
ab78acc6
IC
1407// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
1408function bnpExp(e, z) {
1409 if (e > 0xffffffff || e < 1) return BigInteger.ONE
1410 var r = new BigInteger(),
1411 r2 = new BigInteger(),
1412 g = z.convert(this),
1413 i = nbits(e) - 1
1414 g.copyTo(r)
1415 while (--i >= 0) {
1416 z.sqrTo(r, r2)
1417 if ((e & (1 << i)) > 0) z.mulTo(r2, g, r)
1418 else {
1419 var t = r
1420 r = r2
1421 r2 = t
3af2954a 1422 }
3af2954a 1423 }
ab78acc6
IC
1424 return z.revert(r)
1425}
3af2954a 1426
ab78acc6
IC
1427// (public) this^e % m, 0 <= e < 2^32
1428function bnModPowInt(e, m) {
1429 var z
1430 if (e < 256 || m.isEven()) z = new Classic(m)
1431 else z = new Montgomery(m)
1432 return this.exp(e, z)
1433}
3af2954a 1434
ab78acc6
IC
1435// protected
1436proto.copyTo = bnpCopyTo
1437proto.fromInt = bnpFromInt
1438proto.fromString = bnpFromString
1439proto.clamp = bnpClamp
1440proto.dlShiftTo = bnpDLShiftTo
1441proto.drShiftTo = bnpDRShiftTo
1442proto.lShiftTo = bnpLShiftTo
1443proto.rShiftTo = bnpRShiftTo
1444proto.subTo = bnpSubTo
1445proto.multiplyTo = bnpMultiplyTo
1446proto.squareTo = bnpSquareTo
1447proto.divRemTo = bnpDivRemTo
1448proto.invDigit = bnpInvDigit
1449proto.isEven = bnpIsEven
1450proto.exp = bnpExp
3af2954a 1451
ab78acc6
IC
1452// public
1453proto.toString = bnToString
1454proto.negate = bnNegate
1455proto.abs = bnAbs
1456proto.compareTo = bnCompareTo
1457proto.bitLength = bnBitLength
1458proto.byteLength = bnByteLength
1459proto.mod = bnMod
1460proto.modPowInt = bnModPowInt
3af2954a 1461
ab78acc6
IC
1462// (public)
1463function bnClone() {
1464 var r = new BigInteger()
1465 this.copyTo(r)
1466 return r
1467}
3af2954a 1468
ab78acc6
IC
1469// (public) return value as integer
1470function bnIntValue() {
1471 if (this.s < 0) {
1472 if (this.t == 1) return this[0] - this.DV
1473 else if (this.t == 0) return -1
1474 } else if (this.t == 1) return this[0]
1475 else if (this.t == 0) return 0
1476 // assumes 16 < DB < 32
1477 return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]
1478}
3af2954a 1479
ab78acc6
IC
1480// (public) return value as byte
1481function bnByteValue() {
1482 return (this.t == 0) ? this.s : (this[0] << 24) >> 24
1483}
3af2954a 1484
ab78acc6
IC
1485// (public) return value as short (assumes DB>=16)
1486function bnShortValue() {
1487 return (this.t == 0) ? this.s : (this[0] << 16) >> 16
1488}
3af2954a 1489
ab78acc6
IC
1490// (protected) return x s.t. r^x < DV
1491function bnpChunkSize(r) {
1492 return Math.floor(Math.LN2 * this.DB / Math.log(r))
1493}
3af2954a 1494
ab78acc6
IC
1495// (public) 0 if this == 0, 1 if this > 0
1496function bnSigNum() {
1497 if (this.s < 0) return -1
1498 else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0
1499 else return 1
1500}
3af2954a 1501
ab78acc6
IC
1502// (protected) convert to radix string
1503function bnpToRadix(b) {
1504 if (b == null) b = 10
1505 if (this.signum() == 0 || b < 2 || b > 36) return "0"
1506 var cs = this.chunkSize(b)
1507 var a = Math.pow(b, cs)
1508 var d = nbv(a),
1509 y = new BigInteger(),
1510 z = new BigInteger(),
1511 r = ""
1512 this.divRemTo(d, y, z)
1513 while (y.signum() > 0) {
1514 r = (a + z.intValue())
1515 .toString(b)
1516 .substr(1) + r
1517 y.divRemTo(d, y, z)
1518 }
1519 return z.intValue()
1520 .toString(b) + r
1521}
3af2954a 1522
ab78acc6
IC
1523// (protected) convert from radix string
1524function bnpFromRadix(s, b) {
1525 var self = this
1526 self.fromInt(0)
1527 if (b == null) b = 10
1528 var cs = self.chunkSize(b)
1529 var d = Math.pow(b, cs),
1530 mi = false,
1531 j = 0,
1532 w = 0
1533 for (var i = 0; i < s.length; ++i) {
1534 var x = intAt(s, i)
1535 if (x < 0) {
1536 if (s.charAt(i) == "-" && self.signum() == 0) mi = true
1537 continue
1538 }
1539 w = b * w + x
1540 if (++j >= cs) {
1541 self.dMultiply(d)
1542 self.dAddOffset(w, 0)
1543 j = 0
1544 w = 0
1545 }
1546 }
1547 if (j > 0) {
1548 self.dMultiply(Math.pow(b, j))
1549 self.dAddOffset(w, 0)
1550 }
1551 if (mi) BigInteger.ZERO.subTo(self, self)
1552}
3af2954a 1553
ab78acc6
IC
1554// (protected) alternate constructor
1555function bnpFromNumber(a, b, c) {
1556 var self = this
1557 if ("number" == typeof b) {
1558 // new BigInteger(int,int,RNG)
1559 if (a < 2) self.fromInt(1)
1560 else {
1561 self.fromNumber(a, c)
1562 if (!self.testBit(a - 1)) // force MSB set
1563 self.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, self)
1564 if (self.isEven()) self.dAddOffset(1, 0); // force odd
1565 while (!self.isProbablePrime(b)) {
1566 self.dAddOffset(2, 0)
1567 if (self.bitLength() > a) self.subTo(BigInteger.ONE.shiftLeft(a - 1), self)
1568 }
1569 }
1570 } else {
1571 // new BigInteger(int,RNG)
1572 var x = new Array(),
1573 t = a & 7
1574 x.length = (a >> 3) + 1
1575 b.nextBytes(x)
1576 if (t > 0) x[0] &= ((1 << t) - 1)
1577 else x[0] = 0
1578 self.fromString(x, 256)
3af2954a 1579 }
ab78acc6 1580}
3af2954a 1581
ab78acc6
IC
1582// (public) convert to bigendian byte array
1583function bnToByteArray() {
1584 var self = this
1585 var i = self.t,
1586 r = new Array()
1587 r[0] = self.s
1588 var p = self.DB - (i * self.DB) % 8,
1589 d, k = 0
1590 if (i-- > 0) {
1591 if (p < self.DB && (d = self[i] >> p) != (self.s & self.DM) >> p)
1592 r[k++] = d | (self.s << (self.DB - p))
1593 while (i >= 0) {
1594 if (p < 8) {
1595 d = (self[i] & ((1 << p) - 1)) << (8 - p)
1596 d |= self[--i] >> (p += self.DB - 8)
1597 } else {
1598 d = (self[i] >> (p -= 8)) & 0xff
1599 if (p <= 0) {
1600 p += self.DB
1601 --i
1602 }
1603 }
1604 if ((d & 0x80) != 0) d |= -256
1605 if (k === 0 && (self.s & 0x80) != (d & 0x80))++k
1606 if (k > 0 || d != self.s) r[k++] = d
3af2954a 1607 }
3af2954a 1608 }
ab78acc6
IC
1609 return r
1610}
3af2954a 1611
ab78acc6
IC
1612function bnEquals(a) {
1613 return (this.compareTo(a) == 0)
1614}
3af2954a 1615
ab78acc6
IC
1616function bnMin(a) {
1617 return (this.compareTo(a) < 0) ? this : a
1618}
3af2954a 1619
ab78acc6
IC
1620function bnMax(a) {
1621 return (this.compareTo(a) > 0) ? this : a
1622}
3af2954a 1623
ab78acc6
IC
1624// (protected) r = this op a (bitwise)
1625function bnpBitwiseTo(a, op, r) {
1626 var self = this
1627 var i, f, m = Math.min(a.t, self.t)
1628 for (i = 0; i < m; ++i) r[i] = op(self[i], a[i])
1629 if (a.t < self.t) {
1630 f = a.s & self.DM
1631 for (i = m; i < self.t; ++i) r[i] = op(self[i], f)
1632 r.t = self.t
1633 } else {
1634 f = self.s & self.DM
1635 for (i = m; i < a.t; ++i) r[i] = op(f, a[i])
1636 r.t = a.t
3af2954a 1637 }
ab78acc6
IC
1638 r.s = op(self.s, a.s)
1639 r.clamp()
1640}
3af2954a 1641
ab78acc6
IC
1642// (public) this & a
1643function op_and(x, y) {
1644 return x & y
1645}
3af2954a 1646
ab78acc6
IC
1647function bnAnd(a) {
1648 var r = new BigInteger()
1649 this.bitwiseTo(a, op_and, r)
1650 return r
1651}
3af2954a 1652
ab78acc6
IC
1653// (public) this | a
1654function op_or(x, y) {
1655 return x | y
1656}
3af2954a 1657
ab78acc6
IC
1658function bnOr(a) {
1659 var r = new BigInteger()
1660 this.bitwiseTo(a, op_or, r)
1661 return r
1662}
3af2954a 1663
ab78acc6
IC
1664// (public) this ^ a
1665function op_xor(x, y) {
1666 return x ^ y
1667}
3af2954a 1668
ab78acc6
IC
1669function bnXor(a) {
1670 var r = new BigInteger()
1671 this.bitwiseTo(a, op_xor, r)
1672 return r
1673}
3af2954a 1674
ab78acc6
IC
1675// (public) this & ~a
1676function op_andnot(x, y) {
1677 return x & ~y
1678}
3af2954a 1679
ab78acc6
IC
1680function bnAndNot(a) {
1681 var r = new BigInteger()
1682 this.bitwiseTo(a, op_andnot, r)
1683 return r
1684}
3af2954a 1685
ab78acc6
IC
1686// (public) ~this
1687function bnNot() {
1688 var r = new BigInteger()
1689 for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i]
1690 r.t = this.t
1691 r.s = ~this.s
1692 return r
1693}
3af2954a 1694
ab78acc6
IC
1695// (public) this << n
1696function bnShiftLeft(n) {
1697 var r = new BigInteger()
1698 if (n < 0) this.rShiftTo(-n, r)
1699 else this.lShiftTo(n, r)
1700 return r
1701}
3af2954a 1702
ab78acc6
IC
1703// (public) this >> n
1704function bnShiftRight(n) {
1705 var r = new BigInteger()
1706 if (n < 0) this.lShiftTo(-n, r)
1707 else this.rShiftTo(n, r)
1708 return r
1709}
3af2954a 1710
ab78acc6
IC
1711// return index of lowest 1-bit in x, x < 2^31
1712function lbit(x) {
1713 if (x == 0) return -1
1714 var r = 0
1715 if ((x & 0xffff) == 0) {
1716 x >>= 16
1717 r += 16
3af2954a 1718 }
ab78acc6
IC
1719 if ((x & 0xff) == 0) {
1720 x >>= 8
1721 r += 8
1722 }
1723 if ((x & 0xf) == 0) {
1724 x >>= 4
1725 r += 4
1726 }
1727 if ((x & 3) == 0) {
1728 x >>= 2
1729 r += 2
1730 }
1731 if ((x & 1) == 0)++r
1732 return r
1733}
3af2954a 1734
ab78acc6
IC
1735// (public) returns index of lowest 1-bit (or -1 if none)
1736function bnGetLowestSetBit() {
1737 for (var i = 0; i < this.t; ++i)
1738 if (this[i] != 0) return i * this.DB + lbit(this[i])
1739 if (this.s < 0) return this.t * this.DB
1740 return -1
1741}
3af2954a 1742
ab78acc6
IC
1743// return number of 1 bits in x
1744function cbit(x) {
1745 var r = 0
1746 while (x != 0) {
1747 x &= x - 1
1748 ++r
3af2954a 1749 }
ab78acc6
IC
1750 return r
1751}
3af2954a 1752
ab78acc6
IC
1753// (public) return number of set bits
1754function bnBitCount() {
1755 var r = 0,
1756 x = this.s & this.DM
1757 for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x)
1758 return r
1759}
1760
1761// (public) true iff nth bit is set
1762function bnTestBit(n) {
1763 var j = Math.floor(n / this.DB)
1764 if (j >= this.t) return (this.s != 0)
1765 return ((this[j] & (1 << (n % this.DB))) != 0)
1766}
3af2954a 1767
ab78acc6
IC
1768// (protected) this op (1<<n)
1769function bnpChangeBit(n, op) {
1770 var r = BigInteger.ONE.shiftLeft(n)
1771 this.bitwiseTo(r, op, r)
1772 return r
1773}
3af2954a 1774
ab78acc6
IC
1775// (public) this | (1<<n)
1776function bnSetBit(n) {
1777 return this.changeBit(n, op_or)
1778}
3af2954a 1779
ab78acc6
IC
1780// (public) this & ~(1<<n)
1781function bnClearBit(n) {
1782 return this.changeBit(n, op_andnot)
1783}
3af2954a 1784
ab78acc6
IC
1785// (public) this ^ (1<<n)
1786function bnFlipBit(n) {
1787 return this.changeBit(n, op_xor)
1788}
3af2954a 1789
ab78acc6
IC
1790// (protected) r = this + a
1791function bnpAddTo(a, r) {
1792 var self = this
3af2954a 1793
ab78acc6
IC
1794 var i = 0,
1795 c = 0,
1796 m = Math.min(a.t, self.t)
1797 while (i < m) {
1798 c += self[i] + a[i]
1799 r[i++] = c & self.DM
1800 c >>= self.DB
1801 }
1802 if (a.t < self.t) {
1803 c += a.s
1804 while (i < self.t) {
1805 c += self[i]
1806 r[i++] = c & self.DM
1807 c >>= self.DB
1808 }
1809 c += self.s
1810 } else {
1811 c += self.s
1812 while (i < a.t) {
1813 c += a[i]
1814 r[i++] = c & self.DM
1815 c >>= self.DB
1816 }
1817 c += a.s
1818 }
1819 r.s = (c < 0) ? -1 : 0
1820 if (c > 0) r[i++] = c
1821 else if (c < -1) r[i++] = self.DV + c
1822 r.t = i
1823 r.clamp()
1824}
3af2954a 1825
ab78acc6
IC
1826// (public) this + a
1827function bnAdd(a) {
1828 var r = new BigInteger()
1829 this.addTo(a, r)
1830 return r
1831}
3af2954a 1832
ab78acc6
IC
1833// (public) this - a
1834function bnSubtract(a) {
1835 var r = new BigInteger()
1836 this.subTo(a, r)
1837 return r
1838}
3af2954a 1839
ab78acc6
IC
1840// (public) this * a
1841function bnMultiply(a) {
1842 var r = new BigInteger()
1843 this.multiplyTo(a, r)
1844 return r
1845}
3af2954a 1846
ab78acc6
IC
1847// (public) this^2
1848function bnSquare() {
1849 var r = new BigInteger()
1850 this.squareTo(r)
1851 return r
1852}
3af2954a 1853
ab78acc6
IC
1854// (public) this / a
1855function bnDivide(a) {
1856 var r = new BigInteger()
1857 this.divRemTo(a, r, null)
1858 return r
1859}
3af2954a 1860
ab78acc6
IC
1861// (public) this % a
1862function bnRemainder(a) {
1863 var r = new BigInteger()
1864 this.divRemTo(a, null, r)
1865 return r
1866}
3af2954a 1867
ab78acc6
IC
1868// (public) [this/a,this%a]
1869function bnDivideAndRemainder(a) {
1870 var q = new BigInteger(),
1871 r = new BigInteger()
1872 this.divRemTo(a, q, r)
1873 return new Array(q, r)
1874}
3af2954a 1875
ab78acc6
IC
1876// (protected) this *= n, this >= 0, 1 < n < DV
1877function bnpDMultiply(n) {
1878 this[this.t] = this.am(0, n - 1, this, 0, 0, this.t)
1879 ++this.t
1880 this.clamp()
1881}
3af2954a 1882
ab78acc6
IC
1883// (protected) this += n << w words, this >= 0
1884function bnpDAddOffset(n, w) {
1885 if (n == 0) return
1886 while (this.t <= w) this[this.t++] = 0
1887 this[w] += n
1888 while (this[w] >= this.DV) {
1889 this[w] -= this.DV
1890 if (++w >= this.t) this[this.t++] = 0
1891 ++this[w]
3af2954a 1892 }
ab78acc6 1893}
3af2954a 1894
ab78acc6
IC
1895// A "null" reducer
1896function NullExp() {}
3af2954a 1897
ab78acc6
IC
1898function nNop(x) {
1899 return x
1900}
3af2954a 1901
ab78acc6
IC
1902function nMulTo(x, y, r) {
1903 x.multiplyTo(y, r)
1904}
3af2954a 1905
ab78acc6
IC
1906function nSqrTo(x, r) {
1907 x.squareTo(r)
1908}
3af2954a 1909
ab78acc6
IC
1910NullExp.prototype.convert = nNop
1911NullExp.prototype.revert = nNop
1912NullExp.prototype.mulTo = nMulTo
1913NullExp.prototype.sqrTo = nSqrTo
3af2954a 1914
ab78acc6
IC
1915// (public) this^e
1916function bnPow(e) {
1917 return this.exp(e, new NullExp())
1918}
3af2954a 1919
ab78acc6
IC
1920// (protected) r = lower n words of "this * a", a.t <= n
1921// "this" should be the larger one if appropriate.
1922function bnpMultiplyLowerTo(a, n, r) {
1923 var i = Math.min(this.t + a.t, n)
1924 r.s = 0; // assumes a,this >= 0
1925 r.t = i
1926 while (i > 0) r[--i] = 0
1927 var j
1928 for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t)
1929 for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i)
1930 r.clamp()
1931}
3af2954a 1932
ab78acc6
IC
1933// (protected) r = "this * a" without lower n words, n > 0
1934// "this" should be the larger one if appropriate.
1935function bnpMultiplyUpperTo(a, n, r) {
1936 --n
1937 var i = r.t = this.t + a.t - n
1938 r.s = 0; // assumes a,this >= 0
1939 while (--i >= 0) r[i] = 0
1940 for (i = Math.max(n - this.t, 0); i < a.t; ++i)
1941 r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n)
1942 r.clamp()
1943 r.drShiftTo(1, r)
1944}
3af2954a 1945
ab78acc6
IC
1946// Barrett modular reduction
1947function Barrett(m) {
1948 // setup Barrett
1949 this.r2 = new BigInteger()
1950 this.q3 = new BigInteger()
1951 BigInteger.ONE.dlShiftTo(2 * m.t, this.r2)
1952 this.mu = this.r2.divide(m)
1953 this.m = m
1954}
3af2954a 1955
ab78acc6
IC
1956function barrettConvert(x) {
1957 if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m)
1958 else if (x.compareTo(this.m) < 0) return x
1959 else {
1960 var r = new BigInteger()
1961 x.copyTo(r)
1962 this.reduce(r)
1963 return r
3af2954a 1964 }
ab78acc6 1965}
3af2954a 1966
ab78acc6
IC
1967function barrettRevert(x) {
1968 return x
1969}
3af2954a 1970
ab78acc6
IC
1971// x = x mod m (HAC 14.42)
1972function barrettReduce(x) {
1973 var self = this
1974 x.drShiftTo(self.m.t - 1, self.r2)
1975 if (x.t > self.m.t + 1) {
1976 x.t = self.m.t + 1
1977 x.clamp()
3af2954a 1978 }
ab78acc6
IC
1979 self.mu.multiplyUpperTo(self.r2, self.m.t + 1, self.q3)
1980 self.m.multiplyLowerTo(self.q3, self.m.t + 1, self.r2)
1981 while (x.compareTo(self.r2) < 0) x.dAddOffset(1, self.m.t + 1)
1982 x.subTo(self.r2, x)
1983 while (x.compareTo(self.m) >= 0) x.subTo(self.m, x)
1984}
3af2954a 1985
ab78acc6
IC
1986// r = x^2 mod m; x != r
1987function barrettSqrTo(x, r) {
1988 x.squareTo(r)
1989 this.reduce(r)
1990}
3af2954a 1991
ab78acc6
IC
1992// r = x*y mod m; x,y != r
1993function barrettMulTo(x, y, r) {
1994 x.multiplyTo(y, r)
1995 this.reduce(r)
1996}
3af2954a 1997
ab78acc6
IC
1998Barrett.prototype.convert = barrettConvert
1999Barrett.prototype.revert = barrettRevert
2000Barrett.prototype.reduce = barrettReduce
2001Barrett.prototype.mulTo = barrettMulTo
2002Barrett.prototype.sqrTo = barrettSqrTo
3af2954a 2003
ab78acc6
IC
2004// (public) this^e % m (HAC 14.85)
2005function bnModPow(e, m) {
2006 var i = e.bitLength(),
2007 k, r = nbv(1),
2008 z
2009 if (i <= 0) return r
2010 else if (i < 18) k = 1
2011 else if (i < 48) k = 3
2012 else if (i < 144) k = 4
2013 else if (i < 768) k = 5
2014 else k = 6
2015 if (i < 8)
2016 z = new Classic(m)
2017 else if (m.isEven())
2018 z = new Barrett(m)
2019 else
2020 z = new Montgomery(m)
3af2954a 2021
ab78acc6
IC
2022 // precomputation
2023 var g = new Array(),
2024 n = 3,
2025 k1 = k - 1,
2026 km = (1 << k) - 1
2027 g[1] = z.convert(this)
2028 if (k > 1) {
2029 var g2 = new BigInteger()
2030 z.sqrTo(g[1], g2)
2031 while (n <= km) {
2032 g[n] = new BigInteger()
2033 z.mulTo(g2, g[n - 2], g[n])
2034 n += 2
2035 }
2036 }
2037
2038 var j = e.t - 1,
2039 w, is1 = true,
2040 r2 = new BigInteger(),
2041 t
2042 i = nbits(e[j]) - 1
2043 while (j >= 0) {
2044 if (i >= k1) w = (e[j] >> (i - k1)) & km
2045 else {
2046 w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i)
2047 if (j > 0) w |= e[j - 1] >> (this.DB + i - k1)
2048 }
3af2954a 2049
ab78acc6
IC
2050 n = k
2051 while ((w & 1) == 0) {
2052 w >>= 1
2053 --n
2054 }
2055 if ((i -= n) < 0) {
2056 i += this.DB
2057 --j
2058 }
2059 if (is1) { // ret == 1, don't bother squaring or multiplying it
2060 g[w].copyTo(r)
2061 is1 = false
2062 } else {
2063 while (n > 1) {
2064 z.sqrTo(r, r2)
2065 z.sqrTo(r2, r)
2066 n -= 2
2067 }
2068 if (n > 0) z.sqrTo(r, r2)
2069 else {
2070 t = r
2071 r = r2
2072 r2 = t
2073 }
2074 z.mulTo(r2, g[w], r)
2075 }
3af2954a 2076
ab78acc6
IC
2077 while (j >= 0 && (e[j] & (1 << i)) == 0) {
2078 z.sqrTo(r, r2)
2079 t = r
2080 r = r2
2081 r2 = t
2082 if (--i < 0) {
2083 i = this.DB - 1
2084 --j
3af2954a 2085 }
3af2954a
IC
2086 }
2087 }
ab78acc6
IC
2088 return z.revert(r)
2089}
3af2954a 2090
ab78acc6
IC
2091// (public) gcd(this,a) (HAC 14.54)
2092function bnGCD(a) {
2093 var x = (this.s < 0) ? this.negate() : this.clone()
2094 var y = (a.s < 0) ? a.negate() : a.clone()
2095 if (x.compareTo(y) < 0) {
2096 var t = x
2097 x = y
2098 y = t
2099 }
2100 var i = x.getLowestSetBit(),
2101 g = y.getLowestSetBit()
2102 if (g < 0) return x
2103 if (i < g) g = i
2104 if (g > 0) {
2105 x.rShiftTo(g, x)
2106 y.rShiftTo(g, y)
2107 }
2108 while (x.signum() > 0) {
2109 if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x)
2110 if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y)
2111 if (x.compareTo(y) >= 0) {
2112 x.subTo(y, x)
2113 x.rShiftTo(1, x)
2114 } else {
2115 y.subTo(x, y)
2116 y.rShiftTo(1, y)
2117 }
3af2954a 2118 }
ab78acc6
IC
2119 if (g > 0) y.lShiftTo(g, y)
2120 return y
2121}
3af2954a 2122
ab78acc6
IC
2123// (protected) this % n, n < 2^26
2124function bnpModInt(n) {
2125 if (n <= 0) return 0
2126 var d = this.DV % n,
2127 r = (this.s < 0) ? n - 1 : 0
2128 if (this.t > 0)
2129 if (d == 0) r = this[0] % n
2130 else
2131 for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n
2132 return r
2133}
3af2954a 2134
ab78acc6
IC
2135// (public) 1/this % m (HAC 14.61)
2136function bnModInverse(m) {
2137 var ac = m.isEven()
2138 if ((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO
2139 var u = m.clone(),
2140 v = this.clone()
2141 var a = nbv(1),
2142 b = nbv(0),
2143 c = nbv(0),
2144 d = nbv(1)
2145 while (u.signum() != 0) {
2146 while (u.isEven()) {
2147 u.rShiftTo(1, u)
2148 if (ac) {
2149 if (!a.isEven() || !b.isEven()) {
2150 a.addTo(this, a)
2151 b.subTo(m, b)
2152 }
2153 a.rShiftTo(1, a)
2154 } else if (!b.isEven()) b.subTo(m, b)
2155 b.rShiftTo(1, b)
2156 }
2157 while (v.isEven()) {
2158 v.rShiftTo(1, v)
2159 if (ac) {
2160 if (!c.isEven() || !d.isEven()) {
2161 c.addTo(this, c)
2162 d.subTo(m, d)
2163 }
2164 c.rShiftTo(1, c)
2165 } else if (!d.isEven()) d.subTo(m, d)
2166 d.rShiftTo(1, d)
2167 }
2168 if (u.compareTo(v) >= 0) {
2169 u.subTo(v, u)
2170 if (ac) a.subTo(c, a)
2171 b.subTo(d, b)
2172 } else {
2173 v.subTo(u, v)
2174 if (ac) c.subTo(a, c)
2175 d.subTo(b, d)
2176 }
2177 }
2178 if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO
2179 if (d.compareTo(m) >= 0) return d.subtract(m)
2180 if (d.signum() < 0) d.addTo(m, d)
2181 else return d
2182 if (d.signum() < 0) return d.add(m)
2183 else return d
2184}
2185
2186var lowprimes = [
2187 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
2188 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151,
2189 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233,
2190 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317,
2191 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419,
2192 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503,
2193 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607,
2194 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701,
2195 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811,
2196 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911,
2197 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997
2198]
2199
2200var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]
2201
2202// (public) test primality with certainty >= 1-.5^t
2203function bnIsProbablePrime(t) {
2204 var i, x = this.abs()
2205 if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
2206 for (i = 0; i < lowprimes.length; ++i)
2207 if (x[0] == lowprimes[i]) return true
2208 return false
3af2954a 2209 }
ab78acc6
IC
2210 if (x.isEven()) return false
2211 i = 1
2212 while (i < lowprimes.length) {
2213 var m = lowprimes[i],
2214 j = i + 1
2215 while (j < lowprimes.length && m < lplim) m *= lowprimes[j++]
2216 m = x.modInt(m)
2217 while (i < j) if (m % lowprimes[i++] == 0) return false
2218 }
2219 return x.millerRabin(t)
2220}
2221
2222// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
2223function bnpMillerRabin(t) {
2224 var n1 = this.subtract(BigInteger.ONE)
2225 var k = n1.getLowestSetBit()
2226 if (k <= 0) return false
2227 var r = n1.shiftRight(k)
2228 t = (t + 1) >> 1
2229 if (t > lowprimes.length) t = lowprimes.length
2230 var a = new BigInteger(null)
2231 var j, bases = []
2232 for (var i = 0; i < t; ++i) {
2233 for (;;) {
2234 j = lowprimes[Math.floor(Math.random() * lowprimes.length)]
2235 if (bases.indexOf(j) == -1) break
2236 }
2237 bases.push(j)
2238 a.fromInt(j)
2239 var y = a.modPow(r, this)
2240 if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
2241 var j = 1
2242 while (j++ < k && y.compareTo(n1) != 0) {
2243 y = y.modPowInt(2, this)
2244 if (y.compareTo(BigInteger.ONE) == 0) return false
2245 }
2246 if (y.compareTo(n1) != 0) return false
2247 }
3af2954a 2248 }
ab78acc6
IC
2249 return true
2250}
3af2954a 2251
ab78acc6
IC
2252// protected
2253proto.chunkSize = bnpChunkSize
2254proto.toRadix = bnpToRadix
2255proto.fromRadix = bnpFromRadix
2256proto.fromNumber = bnpFromNumber
2257proto.bitwiseTo = bnpBitwiseTo
2258proto.changeBit = bnpChangeBit
2259proto.addTo = bnpAddTo
2260proto.dMultiply = bnpDMultiply
2261proto.dAddOffset = bnpDAddOffset
2262proto.multiplyLowerTo = bnpMultiplyLowerTo
2263proto.multiplyUpperTo = bnpMultiplyUpperTo
2264proto.modInt = bnpModInt
2265proto.millerRabin = bnpMillerRabin
3af2954a 2266
ab78acc6
IC
2267// public
2268proto.clone = bnClone
2269proto.intValue = bnIntValue
2270proto.byteValue = bnByteValue
2271proto.shortValue = bnShortValue
2272proto.signum = bnSigNum
2273proto.toByteArray = bnToByteArray
2274proto.equals = bnEquals
2275proto.min = bnMin
2276proto.max = bnMax
2277proto.and = bnAnd
2278proto.or = bnOr
2279proto.xor = bnXor
2280proto.andNot = bnAndNot
2281proto.not = bnNot
2282proto.shiftLeft = bnShiftLeft
2283proto.shiftRight = bnShiftRight
2284proto.getLowestSetBit = bnGetLowestSetBit
2285proto.bitCount = bnBitCount
2286proto.testBit = bnTestBit
2287proto.setBit = bnSetBit
2288proto.clearBit = bnClearBit
2289proto.flipBit = bnFlipBit
2290proto.add = bnAdd
2291proto.subtract = bnSubtract
2292proto.multiply = bnMultiply
2293proto.divide = bnDivide
2294proto.remainder = bnRemainder
2295proto.divideAndRemainder = bnDivideAndRemainder
2296proto.modPow = bnModPow
2297proto.modInverse = bnModInverse
2298proto.pow = bnPow
2299proto.gcd = bnGCD
2300proto.isProbablePrime = bnIsProbablePrime
3af2954a 2301
ab78acc6
IC
2302// JSBN-specific extension
2303proto.square = bnSquare
3af2954a 2304
ab78acc6
IC
2305// constants
2306BigInteger.ZERO = nbv(0)
2307BigInteger.ONE = nbv(1)
2308BigInteger.valueOf = nbv
3af2954a 2309
ab78acc6 2310module.exports = BigInteger
3af2954a 2311
ab78acc6
IC
2312},{"../package.json":4}],2:[function(require,module,exports){
2313(function (Buffer){
2314// FIXME: Kind of a weird way to throw exceptions, consider removing
2315var assert = require('assert')
2316var BigInteger = require('./bigi')
3af2954a 2317
ab78acc6
IC
2318/**
2319 * Turns a byte array into a big integer.
2320 *
2321 * This function will interpret a byte array as a big integer in big
2322 * endian notation.
2323 */
2324BigInteger.fromByteArrayUnsigned = function(byteArray) {
2325 // BigInteger expects a DER integer conformant byte array
2326 if (byteArray[0] & 0x80) {
2327 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2328 }
2329
ab78acc6
IC
2330 return new BigInteger(byteArray)
2331}
3af2954a 2332
ab78acc6
IC
2333/**
2334 * Returns a byte array representation of the big integer.
2335 *
2336 * This returns the absolute of the contained value in big endian
2337 * form. A value of zero results in an empty array.
2338 */
2339BigInteger.prototype.toByteArrayUnsigned = function() {
2340 var byteArray = this.toByteArray()
2341 return byteArray[0] === 0 ? byteArray.slice(1) : byteArray
2342}
3af2954a 2343
ab78acc6
IC
2344BigInteger.fromDERInteger = function(byteArray) {
2345 return new BigInteger(byteArray)
2346}
3af2954a 2347
ab78acc6
IC
2348/*
2349 * Converts BigInteger to a DER integer representation.
2350 *
2351 * The format for this value uses the most significant bit as a sign
2352 * bit. If the most significant bit is already set and the integer is
2353 * positive, a 0x00 is prepended.
2354 *
2355 * Examples:
2356 *
2357 * 0 => 0x00
2358 * 1 => 0x01
2359 * -1 => 0xff
2360 * 127 => 0x7f
2361 * -127 => 0x81
2362 * 128 => 0x0080
2363 * -128 => 0x80
2364 * 255 => 0x00ff
2365 * -255 => 0xff01
2366 * 16300 => 0x3fac
2367 * -16300 => 0xc054
2368 * 62300 => 0x00f35c
2369 * -62300 => 0xff0ca4
2370*/
2371BigInteger.prototype.toDERInteger = BigInteger.prototype.toByteArray
3af2954a 2372
ab78acc6
IC
2373BigInteger.fromBuffer = function(buffer) {
2374 // BigInteger expects a DER integer conformant byte array
2375 if (buffer[0] & 0x80) {
2376 var byteArray = Array.prototype.slice.call(buffer)
3af2954a 2377
ab78acc6 2378 return new BigInteger([0].concat(byteArray))
3af2954a
IC
2379 }
2380
ab78acc6
IC
2381 return new BigInteger(buffer)
2382}
3af2954a 2383
ab78acc6
IC
2384BigInteger.fromHex = function(hex) {
2385 if (hex === '') return BigInteger.ZERO
3af2954a 2386
ab78acc6
IC
2387 assert.equal(hex, hex.match(/^[A-Fa-f0-9]+/), 'Invalid hex string')
2388 assert.equal(hex.length % 2, 0, 'Incomplete hex')
2389 return new BigInteger(hex, 16)
2390}
3af2954a 2391
ab78acc6
IC
2392BigInteger.prototype.toBuffer = function(size) {
2393 var byteArray = this.toByteArrayUnsigned()
2394 var zeros = []
3af2954a 2395
ab78acc6
IC
2396 var padding = size - byteArray.length
2397 while (zeros.length < padding) zeros.push(0)
3af2954a 2398
ab78acc6
IC
2399 return new Buffer(zeros.concat(byteArray))
2400}
3af2954a 2401
ab78acc6
IC
2402BigInteger.prototype.toHex = function(size) {
2403 return this.toBuffer(size).toString('hex')
2404}
3af2954a 2405
ab78acc6
IC
2406}).call(this,require("buffer").Buffer)
2407},{"./bigi":1,"assert":5,"buffer":7}],3:[function(require,module,exports){
2408var BigInteger = require('./bigi')
3af2954a 2409
ab78acc6
IC
2410//addons
2411require('./convert')
3af2954a 2412
ab78acc6
IC
2413module.exports = BigInteger
2414},{"./bigi":1,"./convert":2}],4:[function(require,module,exports){
2415module.exports={
2416 "name": "bigi",
2417 "version": "1.4.0",
2418 "description": "Big integers.",
2419 "keywords": [
2420 "cryptography",
2421 "math",
2422 "bitcoin",
2423 "arbitrary",
2424 "precision",
2425 "arithmetic",
2426 "big",
2427 "integer",
2428 "int",
2429 "number",
2430 "biginteger",
2431 "bigint",
2432 "bignumber",
2433 "decimal",
2434 "float"
2435 ],
2436 "devDependencies": {
2437 "mocha": "^1.20.1",
2438 "jshint": "^2.5.1",
2439 "coveralls": "^2.10.0",
2440 "istanbul": "^0.2.11"
2441 },
2442 "repository": {
2443 "url": "https://github.com/cryptocoinjs/bigi",
2444 "type": "git"
2445 },
2446 "main": "./lib/index.js",
2447 "scripts": {
2448 "test": "_mocha -- test/*.js",
2449 "jshint": "jshint --config jshint.json lib/*.js ; true",
2450 "unit": "mocha",
2451 "coverage": "istanbul cover ./node_modules/.bin/_mocha -- --reporter list test/*.js",
2452 "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info"
2453 },
2454 "dependencies": {},
2455 "testling": {
2456 "files": "test/*.js",
2457 "harness": "mocha",
2458 "browsers": [
2459 "ie/9..latest",
2460 "firefox/latest",
2461 "chrome/latest",
2462 "safari/6.0..latest",
2463 "iphone/6.0..latest",
2464 "android-browser/4.2..latest"
2465 ]
2466 },
2467 "bugs": {
2468 "url": "https://github.com/cryptocoinjs/bigi/issues"
2469 },
2470 "homepage": "https://github.com/cryptocoinjs/bigi",
2471 "_id": "bigi@1.4.0",
2472 "dist": {
2473 "shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2474 "tarball": "http://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2475 },
2476 "_from": "bigi@^1.4.0",
2477 "_npmVersion": "1.4.3",
2478 "_npmUser": {
2479 "name": "jp",
2480 "email": "jprichardson@gmail.com"
2481 },
2482 "maintainers": [
2483 {
2484 "name": "jp",
2485 "email": "jprichardson@gmail.com"
2486 },
2487 {
2488 "name": "midnightlightning",
2489 "email": "boydb@midnightdesign.ws"
2490 },
2491 {
2492 "name": "sidazhang",
2493 "email": "sidazhang89@gmail.com"
2494 },
2495 {
2496 "name": "nadav",
2497 "email": "npm@shesek.info"
3af2954a 2498 }
ab78acc6
IC
2499 ],
2500 "directories": {},
2501 "_shasum": "90ac1aeac0a531216463bdb58f42c1e05c8407ac",
2502 "_resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.0.tgz"
2503}
3af2954a 2504
ab78acc6
IC
2505},{}],5:[function(require,module,exports){
2506// http://wiki.commonjs.org/wiki/Unit_Testing/1.0
2507//
2508// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8!
2509//
2510// Originally from narwhal.js (http://narwhaljs.org)
2511// Copyright (c) 2009 Thomas Robinson <280north.com>
2512//
2513// Permission is hereby granted, free of charge, to any person obtaining a copy
2514// of this software and associated documentation files (the 'Software'), to
2515// deal in the Software without restriction, including without limitation the
2516// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
2517// sell copies of the Software, and to permit persons to whom the Software is
2518// furnished to do so, subject to the following conditions:
2519//
2520// The above copyright notice and this permission notice shall be included in
2521// all copies or substantial portions of the Software.
2522//
2523// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
2524// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2525// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2526// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
2527// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
2528// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3af2954a 2529
ab78acc6
IC
2530// when used in node, this will actually load the util module we depend on
2531// versus loading the builtin util module as happens otherwise
2532// this is a bug in node module loading as far as I am concerned
2533var util = require('util/');
3af2954a 2534
ab78acc6
IC
2535var pSlice = Array.prototype.slice;
2536var hasOwn = Object.prototype.hasOwnProperty;
3af2954a 2537
ab78acc6
IC
2538// 1. The assert module provides functions that throw
2539// AssertionError's when particular conditions are not met. The
2540// assert module must conform to the following interface.
3af2954a 2541
ab78acc6 2542var assert = module.exports = ok;
3af2954a 2543
ab78acc6
IC
2544// 2. The AssertionError is defined in assert.
2545// new assert.AssertionError({ message: message,
2546// actual: actual,
2547// expected: expected })
3af2954a 2548
ab78acc6
IC
2549assert.AssertionError = function AssertionError(options) {
2550 this.name = 'AssertionError';
2551 this.actual = options.actual;
2552 this.expected = options.expected;
2553 this.operator = options.operator;
2554 if (options.message) {
2555 this.message = options.message;
2556 this.generatedMessage = false;
2557 } else {
2558 this.message = getMessage(this);
2559 this.generatedMessage = true;
2560 }
2561 var stackStartFunction = options.stackStartFunction || fail;
3af2954a 2562
ab78acc6
IC
2563 if (Error.captureStackTrace) {
2564 Error.captureStackTrace(this, stackStartFunction);
3af2954a 2565 }
ab78acc6
IC
2566 else {
2567 // non v8 browsers so we can have a stacktrace
2568 var err = new Error();
2569 if (err.stack) {
2570 var out = err.stack;
3af2954a 2571
ab78acc6
IC
2572 // try to strip useless frames
2573 var fn_name = stackStartFunction.name;
2574 var idx = out.indexOf('\n' + fn_name);
2575 if (idx >= 0) {
2576 // once we have located the function frame
2577 // we need to strip out everything before it (and its line)
2578 var next_line = out.indexOf('\n', idx + 1);
2579 out = out.substring(next_line + 1);
2580 }
3af2954a 2581
ab78acc6 2582 this.stack = out;
3af2954a 2583 }
3af2954a 2584 }
ab78acc6 2585};
3af2954a 2586
ab78acc6
IC
2587// assert.AssertionError instanceof Error
2588util.inherits(assert.AssertionError, Error);
3af2954a 2589
ab78acc6
IC
2590function replacer(key, value) {
2591 if (util.isUndefined(value)) {
2592 return '' + value;
2593 }
2594 if (util.isNumber(value) && !isFinite(value)) {
2595 return value.toString();
2596 }
2597 if (util.isFunction(value) || util.isRegExp(value)) {
2598 return value.toString();
2599 }
2600 return value;
2601}
3af2954a 2602
ab78acc6
IC
2603function truncate(s, n) {
2604 if (util.isString(s)) {
2605 return s.length < n ? s : s.slice(0, n);
2606 } else {
2607 return s;
2608 }
2609}
3af2954a 2610
ab78acc6
IC
2611function getMessage(self) {
2612 return truncate(JSON.stringify(self.actual, replacer), 128) + ' ' +
2613 self.operator + ' ' +
2614 truncate(JSON.stringify(self.expected, replacer), 128);
2615}
3af2954a 2616
ab78acc6
IC
2617// At present only the three keys mentioned above are used and
2618// understood by the spec. Implementations or sub modules can pass
2619// other keys to the AssertionError's constructor - they will be
2620// ignored.
3af2954a 2621
ab78acc6
IC
2622// 3. All of the following functions must throw an AssertionError
2623// when a corresponding condition is not met, with a message that
2624// may be undefined if not provided. All assertion methods provide
2625// both the actual and expected values to the assertion error for
2626// display purposes.
3af2954a 2627
ab78acc6
IC
2628function fail(actual, expected, message, operator, stackStartFunction) {
2629 throw new assert.AssertionError({
2630 message: message,
2631 actual: actual,
2632 expected: expected,
2633 operator: operator,
2634 stackStartFunction: stackStartFunction
2635 });
2636}
3af2954a 2637
ab78acc6
IC
2638// EXTENSION! allows for well behaved errors defined elsewhere.
2639assert.fail = fail;
ebd8d4e8 2640
ab78acc6
IC
2641// 4. Pure assertion tests whether a value is truthy, as determined
2642// by !!guard.
2643// assert.ok(guard, message_opt);
2644// This statement is equivalent to assert.equal(true, !!guard,
2645// message_opt);. To test strictly for the value true, use
2646// assert.strictEqual(true, guard, message_opt);.
3af2954a 2647
ab78acc6
IC
2648function ok(value, message) {
2649 if (!value) fail(value, true, message, '==', assert.ok);
2650}
2651assert.ok = ok;
3af2954a 2652
ab78acc6
IC
2653// 5. The equality assertion tests shallow, coercive equality with
2654// ==.
2655// assert.equal(actual, expected, message_opt);
3af2954a 2656
ab78acc6
IC
2657assert.equal = function equal(actual, expected, message) {
2658 if (actual != expected) fail(actual, expected, message, '==', assert.equal);
2659};
3af2954a 2660
ab78acc6
IC
2661// 6. The non-equality assertion tests for whether two objects are not equal
2662// with != assert.notEqual(actual, expected, message_opt);
3af2954a 2663
ab78acc6
IC
2664assert.notEqual = function notEqual(actual, expected, message) {
2665 if (actual == expected) {
2666 fail(actual, expected, message, '!=', assert.notEqual);
3af2954a 2667 }
ab78acc6 2668};
3af2954a 2669
ab78acc6
IC
2670// 7. The equivalence assertion tests a deep equality relation.
2671// assert.deepEqual(actual, expected, message_opt);
3af2954a 2672
ab78acc6
IC
2673assert.deepEqual = function deepEqual(actual, expected, message) {
2674 if (!_deepEqual(actual, expected)) {
2675 fail(actual, expected, message, 'deepEqual', assert.deepEqual);
2676 }
2677};
3af2954a 2678
ab78acc6
IC
2679function _deepEqual(actual, expected) {
2680 // 7.1. All identical values are equivalent, as determined by ===.
2681 if (actual === expected) {
2682 return true;
3af2954a 2683
ab78acc6
IC
2684 } else if (util.isBuffer(actual) && util.isBuffer(expected)) {
2685 if (actual.length != expected.length) return false;
3af2954a 2686
ab78acc6
IC
2687 for (var i = 0; i < actual.length; i++) {
2688 if (actual[i] !== expected[i]) return false;
3af2954a
IC
2689 }
2690
ab78acc6 2691 return true;
3af2954a 2692
ab78acc6
IC
2693 // 7.2. If the expected value is a Date object, the actual value is
2694 // equivalent if it is also a Date object that refers to the same time.
2695 } else if (util.isDate(actual) && util.isDate(expected)) {
2696 return actual.getTime() === expected.getTime();
3af2954a 2697
ab78acc6
IC
2698 // 7.3 If the expected value is a RegExp object, the actual value is
2699 // equivalent if it is also a RegExp object with the same source and
2700 // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`).
2701 } else if (util.isRegExp(actual) && util.isRegExp(expected)) {
2702 return actual.source === expected.source &&
2703 actual.global === expected.global &&
2704 actual.multiline === expected.multiline &&
2705 actual.lastIndex === expected.lastIndex &&
2706 actual.ignoreCase === expected.ignoreCase;
3af2954a 2707
ab78acc6
IC
2708 // 7.4. Other pairs that do not both pass typeof value == 'object',
2709 // equivalence is determined by ==.
2710 } else if (!util.isObject(actual) && !util.isObject(expected)) {
2711 return actual == expected;
3af2954a 2712
ab78acc6
IC
2713 // 7.5 For all other Object pairs, including Array objects, equivalence is
2714 // determined by having the same number of owned properties (as verified
2715 // with Object.prototype.hasOwnProperty.call), the same set of keys
2716 // (although not necessarily the same order), equivalent values for every
2717 // corresponding key, and an identical 'prototype' property. Note: this
2718 // accounts for both named and indexed properties on Arrays.
2719 } else {
2720 return objEquiv(actual, expected);
3af2954a 2721 }
ab78acc6 2722}
3af2954a 2723
ab78acc6
IC
2724function isArguments(object) {
2725 return Object.prototype.toString.call(object) == '[object Arguments]';
2726}
3af2954a 2727
ab78acc6
IC
2728function objEquiv(a, b) {
2729 if (util.isNullOrUndefined(a) || util.isNullOrUndefined(b))
2730 return false;
2731 // an identical 'prototype' property.
2732 if (a.prototype !== b.prototype) return false;
2733 // if one is a primitive, the other must be same
2734 if (util.isPrimitive(a) || util.isPrimitive(b)) {
2735 return a === b;
3af2954a 2736 }
ab78acc6
IC
2737 var aIsArgs = isArguments(a),
2738 bIsArgs = isArguments(b);
2739 if ((aIsArgs && !bIsArgs) || (!aIsArgs && bIsArgs))
2740 return false;
2741 if (aIsArgs) {
2742 a = pSlice.call(a);
2743 b = pSlice.call(b);
2744 return _deepEqual(a, b);
3af2954a 2745 }
ab78acc6
IC
2746 var ka = objectKeys(a),
2747 kb = objectKeys(b),
2748 key, i;
2749 // having the same number of owned properties (keys incorporates
2750 // hasOwnProperty)
2751 if (ka.length != kb.length)
2752 return false;
2753 //the same set of keys (although not necessarily the same order),
2754 ka.sort();
2755 kb.sort();
2756 //~~~cheap key test
2757 for (i = ka.length - 1; i >= 0; i--) {
2758 if (ka[i] != kb[i])
2759 return false;
3af2954a 2760 }
ab78acc6
IC
2761 //equivalent values for every corresponding key, and
2762 //~~~possibly expensive deep test
2763 for (i = ka.length - 1; i >= 0; i--) {
2764 key = ka[i];
2765 if (!_deepEqual(a[key], b[key])) return false;
3af2954a 2766 }
ab78acc6
IC
2767 return true;
2768}
2769
2770// 8. The non-equivalence assertion tests for any deep inequality.
2771// assert.notDeepEqual(actual, expected, message_opt);
3af2954a 2772
ab78acc6
IC
2773assert.notDeepEqual = function notDeepEqual(actual, expected, message) {
2774 if (_deepEqual(actual, expected)) {
2775 fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual);
3af2954a 2776 }
ab78acc6 2777};
3af2954a 2778
ab78acc6
IC
2779// 9. The strict equality assertion tests strict equality, as determined by ===.
2780// assert.strictEqual(actual, expected, message_opt);
3af2954a 2781
ab78acc6
IC
2782assert.strictEqual = function strictEqual(actual, expected, message) {
2783 if (actual !== expected) {
2784 fail(actual, expected, message, '===', assert.strictEqual);
3af2954a 2785 }
ab78acc6 2786};
3af2954a 2787
ab78acc6
IC
2788// 10. The strict non-equality assertion tests for strict inequality, as
2789// determined by !==. assert.notStrictEqual(actual, expected, message_opt);
3af2954a 2790
ab78acc6
IC
2791assert.notStrictEqual = function notStrictEqual(actual, expected, message) {
2792 if (actual === expected) {
2793 fail(actual, expected, message, '!==', assert.notStrictEqual);
2794 }
2795};
3af2954a 2796
ab78acc6
IC
2797function expectedException(actual, expected) {
2798 if (!actual || !expected) {
2799 return false;
2800 }
3af2954a 2801
ab78acc6
IC
2802 if (Object.prototype.toString.call(expected) == '[object RegExp]') {
2803 return expected.test(actual);
2804 } else if (actual instanceof expected) {
2805 return true;
2806 } else if (expected.call({}, actual) === true) {
2807 return true;
3af2954a
IC
2808 }
2809
ab78acc6
IC
2810 return false;
2811}
3af2954a 2812
ab78acc6
IC
2813function _throws(shouldThrow, block, expected, message) {
2814 var actual;
3af2954a 2815
ab78acc6
IC
2816 if (util.isString(expected)) {
2817 message = expected;
2818 expected = null;
3af2954a
IC
2819 }
2820
ab78acc6
IC
2821 try {
2822 block();
2823 } catch (e) {
2824 actual = e;
3af2954a
IC
2825 }
2826
ab78acc6
IC
2827 message = (expected && expected.name ? ' (' + expected.name + ').' : '.') +
2828 (message ? ' ' + message : '.');
3af2954a 2829
ab78acc6
IC
2830 if (shouldThrow && !actual) {
2831 fail(actual, expected, 'Missing expected exception' + message);
3af2954a
IC
2832 }
2833
ab78acc6
IC
2834 if (!shouldThrow && expectedException(actual, expected)) {
2835 fail(actual, expected, 'Got unwanted exception' + message);
3af2954a
IC
2836 }
2837
ab78acc6
IC
2838 if ((shouldThrow && actual && expected &&
2839 !expectedException(actual, expected)) || (!shouldThrow && actual)) {
2840 throw actual;
3af2954a 2841 }
ab78acc6 2842}
3af2954a 2843
ab78acc6
IC
2844// 11. Expected to throw an error:
2845// assert.throws(block, Error_opt, message_opt);
3af2954a 2846
ab78acc6
IC
2847assert.throws = function(block, /*optional*/error, /*optional*/message) {
2848 _throws.apply(this, [true].concat(pSlice.call(arguments)));
2849};
3af2954a 2850
ab78acc6
IC
2851// EXTENSION! This is annoying to write outside this module.
2852assert.doesNotThrow = function(block, /*optional*/message) {
2853 _throws.apply(this, [false].concat(pSlice.call(arguments)));
2854};
3af2954a 2855
ab78acc6 2856assert.ifError = function(err) { if (err) {throw err;}};
3af2954a 2857
ab78acc6
IC
2858var objectKeys = Object.keys || function (obj) {
2859 var keys = [];
2860 for (var key in obj) {
2861 if (hasOwn.call(obj, key)) keys.push(key);
3af2954a 2862 }
ab78acc6
IC
2863 return keys;
2864};
3af2954a 2865
ab78acc6 2866},{"util/":29}],6:[function(require,module,exports){
3af2954a 2867
ab78acc6
IC
2868},{}],7:[function(require,module,exports){
2869/*!
2870 * The buffer module from node.js, for the browser.
2871 *
2872 * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
2873 * @license MIT
2874 */
3af2954a 2875
ab78acc6
IC
2876var base64 = require('base64-js')
2877var ieee754 = require('ieee754')
2878var isArray = require('is-array')
3af2954a 2879
ab78acc6
IC
2880exports.Buffer = Buffer
2881exports.SlowBuffer = SlowBuffer
2882exports.INSPECT_MAX_BYTES = 50
2883Buffer.poolSize = 8192 // not used by this implementation
3af2954a 2884
ab78acc6 2885var rootParent = {}
3af2954a 2886
ab78acc6
IC
2887/**
2888 * If `Buffer.TYPED_ARRAY_SUPPORT`:
2889 * === true Use Uint8Array implementation (fastest)
2890 * === false Use Object implementation (most compatible, even IE6)
2891 *
2892 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
2893 * Opera 11.6+, iOS 4.2+.
2894 *
2895 * Due to various browser bugs, sometimes the Object implementation will be used even
2896 * when the browser supports typed arrays.
2897 *
2898 * Note:
2899 *
2900 * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
2901 * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
2902 *
2903 * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property
2904 * on objects.
2905 *
2906 * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
2907 *
2908 * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
2909 * incorrect length in some situations.
3af2954a 2910
ab78acc6
IC
2911 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
2912 * get the Object implementation, which is slower but behaves correctly.
2913 */
2914Buffer.TYPED_ARRAY_SUPPORT = (function () {
2915 function Bar () {}
2916 try {
2917 var arr = new Uint8Array(1)
2918 arr.foo = function () { return 42 }
2919 arr.constructor = Bar
2920 return arr.foo() === 42 && // typed array instances can be augmented
2921 arr.constructor === Bar && // constructor can be set
2922 typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
2923 arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
2924 } catch (e) {
2925 return false
2926 }
2927})()
3af2954a 2928
ab78acc6
IC
2929function kMaxLength () {
2930 return Buffer.TYPED_ARRAY_SUPPORT
2931 ? 0x7fffffff
2932 : 0x3fffffff
2933}
3af2954a 2934
ab78acc6
IC
2935/**
2936 * Class: Buffer
2937 * =============
2938 *
2939 * The Buffer constructor returns instances of `Uint8Array` that are augmented
2940 * with function properties for all the node `Buffer` API functions. We use
2941 * `Uint8Array` so that square bracket notation works as expected -- it returns
2942 * a single octet.
2943 *
2944 * By augmenting the instances, we can avoid modifying the `Uint8Array`
2945 * prototype.
2946 */
2947function Buffer (arg) {
2948 if (!(this instanceof Buffer)) {
2949 // Avoid going through an ArgumentsAdaptorTrampoline in the common case.
2950 if (arguments.length > 1) return new Buffer(arg, arguments[1])
2951 return new Buffer(arg)
3af2954a
IC
2952 }
2953
ab78acc6
IC
2954 this.length = 0
2955 this.parent = undefined
3af2954a 2956
ab78acc6
IC
2957 // Common case.
2958 if (typeof arg === 'number') {
2959 return fromNumber(this, arg)
2960 }
3af2954a 2961
ab78acc6
IC
2962 // Slightly less common case.
2963 if (typeof arg === 'string') {
2964 return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8')
2965 }
3af2954a 2966
ab78acc6
IC
2967 // Unusual.
2968 return fromObject(this, arg)
2969}
3af2954a 2970
ab78acc6
IC
2971function fromNumber (that, length) {
2972 that = allocate(that, length < 0 ? 0 : checked(length) | 0)
2973 if (!Buffer.TYPED_ARRAY_SUPPORT) {
2974 for (var i = 0; i < length; i++) {
2975 that[i] = 0
2976 }
3af2954a 2977 }
ab78acc6
IC
2978 return that
2979}
3af2954a 2980
ab78acc6
IC
2981function fromString (that, string, encoding) {
2982 if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8'
3af2954a 2983
ab78acc6
IC
2984 // Assumption: byteLength() return value is always < kMaxLength.
2985 var length = byteLength(string, encoding) | 0
2986 that = allocate(that, length)
3af2954a 2987
ab78acc6
IC
2988 that.write(string, encoding)
2989 return that
2990}
3af2954a 2991
ab78acc6
IC
2992function fromObject (that, object) {
2993 if (Buffer.isBuffer(object)) return fromBuffer(that, object)
3af2954a 2994
ab78acc6 2995 if (isArray(object)) return fromArray(that, object)
3af2954a 2996
ab78acc6
IC
2997 if (object == null) {
2998 throw new TypeError('must start with number, buffer, array or string')
2999 }
3af2954a 3000
ab78acc6
IC
3001 if (typeof ArrayBuffer !== 'undefined') {
3002 if (object.buffer instanceof ArrayBuffer) {
3003 return fromTypedArray(that, object)
3004 }
3005 if (object instanceof ArrayBuffer) {
3006 return fromArrayBuffer(that, object)
3007 }
3af2954a
IC
3008 }
3009
ab78acc6 3010 if (object.length) return fromArrayLike(that, object)
3af2954a 3011
ab78acc6
IC
3012 return fromJsonObject(that, object)
3013}
3af2954a 3014
ab78acc6
IC
3015function fromBuffer (that, buffer) {
3016 var length = checked(buffer.length) | 0
3017 that = allocate(that, length)
3018 buffer.copy(that, 0, 0, length)
3019 return that
3020}
3af2954a 3021
ab78acc6
IC
3022function fromArray (that, array) {
3023 var length = checked(array.length) | 0
3024 that = allocate(that, length)
3025 for (var i = 0; i < length; i += 1) {
3026 that[i] = array[i] & 255
3af2954a 3027 }
ab78acc6
IC
3028 return that
3029}
3af2954a 3030
ab78acc6
IC
3031// Duplicate of fromArray() to keep fromArray() monomorphic.
3032function fromTypedArray (that, array) {
3033 var length = checked(array.length) | 0
3034 that = allocate(that, length)
3035 // Truncating the elements is probably not what people expect from typed
3036 // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior
3037 // of the old Buffer constructor.
3038 for (var i = 0; i < length; i += 1) {
3039 that[i] = array[i] & 255
3af2954a 3040 }
ab78acc6
IC
3041 return that
3042}
3af2954a 3043
ab78acc6
IC
3044function fromArrayBuffer (that, array) {
3045 if (Buffer.TYPED_ARRAY_SUPPORT) {
3046 // Return an augmented `Uint8Array` instance, for best performance
3047 array.byteLength
3048 that = Buffer._augment(new Uint8Array(array))
3049 } else {
3050 // Fallback: Return an object instance of the Buffer class
3051 that = fromTypedArray(that, new Uint8Array(array))
3052 }
3053 return that
3054}
3af2954a 3055
ab78acc6
IC
3056function fromArrayLike (that, array) {
3057 var length = checked(array.length) | 0
3058 that = allocate(that, length)
3059 for (var i = 0; i < length; i += 1) {
3060 that[i] = array[i] & 255
3af2954a 3061 }
ab78acc6
IC
3062 return that
3063}
3af2954a 3064
ab78acc6
IC
3065// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object.
3066// Returns a zero-length buffer for inputs that don't conform to the spec.
3067function fromJsonObject (that, object) {
3068 var array
3069 var length = 0
3070
3071 if (object.type === 'Buffer' && isArray(object.data)) {
3072 array = object.data
3073 length = checked(array.length) | 0
3af2954a 3074 }
ab78acc6 3075 that = allocate(that, length)
3af2954a 3076
ab78acc6
IC
3077 for (var i = 0; i < length; i += 1) {
3078 that[i] = array[i] & 255
3af2954a 3079 }
ab78acc6
IC
3080 return that
3081}
3af2954a 3082
ab78acc6
IC
3083function allocate (that, length) {
3084 if (Buffer.TYPED_ARRAY_SUPPORT) {
3085 // Return an augmented `Uint8Array` instance, for best performance
3086 that = Buffer._augment(new Uint8Array(length))
3087 } else {
3088 // Fallback: Return an object instance of the Buffer class
3089 that.length = length
3090 that._isBuffer = true
3091 }
3af2954a 3092
ab78acc6
IC
3093 var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1
3094 if (fromPool) that.parent = rootParent
3af2954a 3095
ab78acc6
IC
3096 return that
3097}
3af2954a 3098
ab78acc6
IC
3099function checked (length) {
3100 // Note: cannot use `length < kMaxLength` here because that fails when
3101 // length is NaN (which is otherwise coerced to zero.)
3102 if (length >= kMaxLength()) {
3103 throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
3104 'size: 0x' + kMaxLength().toString(16) + ' bytes')
3af2954a 3105 }
ab78acc6
IC
3106 return length | 0
3107}
3af2954a 3108
ab78acc6
IC
3109function SlowBuffer (subject, encoding) {
3110 if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding)
3af2954a 3111
ab78acc6
IC
3112 var buf = new Buffer(subject, encoding)
3113 delete buf.parent
3114 return buf
3115}
3af2954a 3116
ab78acc6
IC
3117Buffer.isBuffer = function isBuffer (b) {
3118 return !!(b != null && b._isBuffer)
3119}
3af2954a 3120
ab78acc6
IC
3121Buffer.compare = function compare (a, b) {
3122 if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
3123 throw new TypeError('Arguments must be Buffers')
3af2954a
IC
3124 }
3125
ab78acc6 3126 if (a === b) return 0
3af2954a 3127
ab78acc6
IC
3128 var x = a.length
3129 var y = b.length
3af2954a 3130
ab78acc6
IC
3131 var i = 0
3132 var len = Math.min(x, y)
3133 while (i < len) {
3134 if (a[i] !== b[i]) break
3af2954a 3135
ab78acc6
IC
3136 ++i
3137 }
3af2954a 3138
ab78acc6
IC
3139 if (i !== len) {
3140 x = a[i]
3141 y = b[i]
3142 }
3af2954a 3143
ab78acc6
IC
3144 if (x < y) return -1
3145 if (y < x) return 1
3146 return 0
3147}
3af2954a 3148
ab78acc6
IC
3149Buffer.isEncoding = function isEncoding (encoding) {
3150 switch (String(encoding).toLowerCase()) {
3151 case 'hex':
3152 case 'utf8':
3153 case 'utf-8':
3154 case 'ascii':
3155 case 'binary':
3156 case 'base64':
3157 case 'raw':
3158 case 'ucs2':
3159 case 'ucs-2':
3160 case 'utf16le':
3161 case 'utf-16le':
3162 return true
3163 default:
3164 return false
3af2954a 3165 }
ab78acc6 3166}
3af2954a 3167
ab78acc6
IC
3168Buffer.concat = function concat (list, length) {
3169 if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.')
3af2954a 3170
ab78acc6
IC
3171 if (list.length === 0) {
3172 return new Buffer(0)
3af2954a
IC
3173 }
3174
ab78acc6
IC
3175 var i
3176 if (length === undefined) {
3177 length = 0
3178 for (i = 0; i < list.length; i++) {
3179 length += list[i].length
3180 }
3af2954a
IC
3181 }
3182
ab78acc6
IC
3183 var buf = new Buffer(length)
3184 var pos = 0
3185 for (i = 0; i < list.length; i++) {
3186 var item = list[i]
3187 item.copy(buf, pos)
3188 pos += item.length
3189 }
3190 return buf
3191}
3af2954a 3192
ab78acc6
IC
3193function byteLength (string, encoding) {
3194 if (typeof string !== 'string') string = '' + string
3195
3196 var len = string.length
3197 if (len === 0) return 0
3198
3199 // Use a for loop to avoid recursion
3200 var loweredCase = false
3201 for (;;) {
3202 switch (encoding) {
3203 case 'ascii':
3204 case 'binary':
3205 // Deprecated
3206 case 'raw':
3207 case 'raws':
3208 return len
3209 case 'utf8':
3210 case 'utf-8':
3211 return utf8ToBytes(string).length
3212 case 'ucs2':
3213 case 'ucs-2':
3214 case 'utf16le':
3215 case 'utf-16le':
3216 return len * 2
3217 case 'hex':
3218 return len >>> 1
3219 case 'base64':
3220 return base64ToBytes(string).length
3221 default:
3222 if (loweredCase) return utf8ToBytes(string).length // assume utf8
3223 encoding = ('' + encoding).toLowerCase()
3224 loweredCase = true
3af2954a 3225 }
3af2954a 3226 }
ab78acc6
IC
3227}
3228Buffer.byteLength = byteLength
3af2954a 3229
ab78acc6
IC
3230// pre-set for values that may exist in the future
3231Buffer.prototype.length = undefined
3232Buffer.prototype.parent = undefined
3af2954a 3233
ab78acc6
IC
3234function slowToString (encoding, start, end) {
3235 var loweredCase = false
3af2954a 3236
ab78acc6
IC
3237 start = start | 0
3238 end = end === undefined || end === Infinity ? this.length : end | 0
3af2954a 3239
ab78acc6
IC
3240 if (!encoding) encoding = 'utf8'
3241 if (start < 0) start = 0
3242 if (end > this.length) end = this.length
3243 if (end <= start) return ''
3af2954a 3244
ab78acc6
IC
3245 while (true) {
3246 switch (encoding) {
3247 case 'hex':
3248 return hexSlice(this, start, end)
3af2954a 3249
ab78acc6
IC
3250 case 'utf8':
3251 case 'utf-8':
3252 return utf8Slice(this, start, end)
3af2954a 3253
ab78acc6
IC
3254 case 'ascii':
3255 return asciiSlice(this, start, end)
3af2954a 3256
ab78acc6
IC
3257 case 'binary':
3258 return binarySlice(this, start, end)
3af2954a 3259
ab78acc6
IC
3260 case 'base64':
3261 return base64Slice(this, start, end)
3af2954a 3262
ab78acc6
IC
3263 case 'ucs2':
3264 case 'ucs-2':
3265 case 'utf16le':
3266 case 'utf-16le':
3267 return utf16leSlice(this, start, end)
3af2954a 3268
ab78acc6
IC
3269 default:
3270 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3271 encoding = (encoding + '').toLowerCase()
3272 loweredCase = true
3273 }
3af2954a 3274 }
ab78acc6 3275}
3af2954a 3276
ab78acc6
IC
3277Buffer.prototype.toString = function toString () {
3278 var length = this.length | 0
3279 if (length === 0) return ''
3280 if (arguments.length === 0) return utf8Slice(this, 0, length)
3281 return slowToString.apply(this, arguments)
3282}
3af2954a 3283
ab78acc6
IC
3284Buffer.prototype.equals = function equals (b) {
3285 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3286 if (this === b) return true
3287 return Buffer.compare(this, b) === 0
3288}
3af2954a 3289
ab78acc6
IC
3290Buffer.prototype.inspect = function inspect () {
3291 var str = ''
3292 var max = exports.INSPECT_MAX_BYTES
3293 if (this.length > 0) {
3294 str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
3295 if (this.length > max) str += ' ... '
3af2954a 3296 }
ab78acc6
IC
3297 return '<Buffer ' + str + '>'
3298}
3af2954a 3299
ab78acc6
IC
3300Buffer.prototype.compare = function compare (b) {
3301 if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
3302 if (this === b) return 0
3303 return Buffer.compare(this, b)
3304}
3af2954a 3305
ab78acc6
IC
3306Buffer.prototype.indexOf = function indexOf (val, byteOffset) {
3307 if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff
3308 else if (byteOffset < -0x80000000) byteOffset = -0x80000000
3309 byteOffset >>= 0
3af2954a 3310
ab78acc6
IC
3311 if (this.length === 0) return -1
3312 if (byteOffset >= this.length) return -1
3af2954a 3313
ab78acc6
IC
3314 // Negative offsets start from the end of the buffer
3315 if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0)
3af2954a 3316
ab78acc6
IC
3317 if (typeof val === 'string') {
3318 if (val.length === 0) return -1 // special case: looking for empty string always fails
3319 return String.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3320 }
ab78acc6
IC
3321 if (Buffer.isBuffer(val)) {
3322 return arrayIndexOf(this, val, byteOffset)
3af2954a 3323 }
ab78acc6
IC
3324 if (typeof val === 'number') {
3325 if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') {
3326 return Uint8Array.prototype.indexOf.call(this, val, byteOffset)
3af2954a 3327 }
ab78acc6 3328 return arrayIndexOf(this, [ val ], byteOffset)
3af2954a
IC
3329 }
3330
ab78acc6
IC
3331 function arrayIndexOf (arr, val, byteOffset) {
3332 var foundIndex = -1
3333 for (var i = 0; byteOffset + i < arr.length; i++) {
3334 if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) {
3335 if (foundIndex === -1) foundIndex = i
3336 if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex
3af2954a 3337 } else {
ab78acc6 3338 foundIndex = -1
3af2954a 3339 }
3af2954a 3340 }
ab78acc6
IC
3341 return -1
3342 }
3af2954a 3343
ab78acc6
IC
3344 throw new TypeError('val must be string, number or Buffer')
3345}
3af2954a 3346
ab78acc6
IC
3347// `get` is deprecated
3348Buffer.prototype.get = function get (offset) {
3349 console.log('.get() is deprecated. Access using array indexes instead.')
3350 return this.readUInt8(offset)
3351}
3af2954a 3352
ab78acc6
IC
3353// `set` is deprecated
3354Buffer.prototype.set = function set (v, offset) {
3355 console.log('.set() is deprecated. Access using array indexes instead.')
3356 return this.writeUInt8(v, offset)
3357}
3af2954a 3358
ab78acc6
IC
3359function hexWrite (buf, string, offset, length) {
3360 offset = Number(offset) || 0
3361 var remaining = buf.length - offset
3362 if (!length) {
3363 length = remaining
3364 } else {
3365 length = Number(length)
3366 if (length > remaining) {
3367 length = remaining
3368 }
3369 }
3af2954a 3370
ab78acc6
IC
3371 // must be an even number of digits
3372 var strLen = string.length
3373 if (strLen % 2 !== 0) throw new Error('Invalid hex string')
3af2954a 3374
ab78acc6
IC
3375 if (length > strLen / 2) {
3376 length = strLen / 2
3377 }
3378 for (var i = 0; i < length; i++) {
3379 var parsed = parseInt(string.substr(i * 2, 2), 16)
3380 if (isNaN(parsed)) throw new Error('Invalid hex string')
3381 buf[offset + i] = parsed
3af2954a 3382 }
ab78acc6
IC
3383 return i
3384}
3385
3386function utf8Write (buf, string, offset, length) {
3387 return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
3388}
3af2954a 3389
ab78acc6
IC
3390function asciiWrite (buf, string, offset, length) {
3391 return blitBuffer(asciiToBytes(string), buf, offset, length)
3392}
3af2954a 3393
ab78acc6
IC
3394function binaryWrite (buf, string, offset, length) {
3395 return asciiWrite(buf, string, offset, length)
3396}
3af2954a 3397
ab78acc6
IC
3398function base64Write (buf, string, offset, length) {
3399 return blitBuffer(base64ToBytes(string), buf, offset, length)
3400}
3af2954a 3401
ab78acc6
IC
3402function ucs2Write (buf, string, offset, length) {
3403 return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
3404}
3af2954a 3405
ab78acc6
IC
3406Buffer.prototype.write = function write (string, offset, length, encoding) {
3407 // Buffer#write(string)
3408 if (offset === undefined) {
3409 encoding = 'utf8'
3410 length = this.length
3411 offset = 0
3412 // Buffer#write(string, encoding)
3413 } else if (length === undefined && typeof offset === 'string') {
3414 encoding = offset
3415 length = this.length
3416 offset = 0
3417 // Buffer#write(string, offset[, length][, encoding])
3418 } else if (isFinite(offset)) {
3419 offset = offset | 0
3420 if (isFinite(length)) {
3421 length = length | 0
3422 if (encoding === undefined) encoding = 'utf8'
3423 } else {
3424 encoding = length
3425 length = undefined
3426 }
3427 // legacy write(string, encoding, offset, length) - remove in v0.13
3428 } else {
3429 var swap = encoding
3430 encoding = offset
3431 offset = length | 0
3432 length = swap
3af2954a
IC
3433 }
3434
ab78acc6
IC
3435 var remaining = this.length - offset
3436 if (length === undefined || length > remaining) length = remaining
3af2954a 3437
ab78acc6
IC
3438 if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
3439 throw new RangeError('attempt to write outside buffer bounds')
3440 }
3af2954a 3441
ab78acc6 3442 if (!encoding) encoding = 'utf8'
3af2954a 3443
ab78acc6
IC
3444 var loweredCase = false
3445 for (;;) {
3446 switch (encoding) {
3447 case 'hex':
3448 return hexWrite(this, string, offset, length)
ebd8d4e8 3449
ab78acc6
IC
3450 case 'utf8':
3451 case 'utf-8':
3452 return utf8Write(this, string, offset, length)
ebd8d4e8 3453
ab78acc6
IC
3454 case 'ascii':
3455 return asciiWrite(this, string, offset, length)
ebd8d4e8 3456
ab78acc6
IC
3457 case 'binary':
3458 return binaryWrite(this, string, offset, length)
ebd8d4e8 3459
ab78acc6
IC
3460 case 'base64':
3461 // Warning: maxLength not taken into account in base64Write
3462 return base64Write(this, string, offset, length)
ebd8d4e8 3463
ab78acc6
IC
3464 case 'ucs2':
3465 case 'ucs-2':
3466 case 'utf16le':
3467 case 'utf-16le':
3468 return ucs2Write(this, string, offset, length)
ebd8d4e8 3469
ab78acc6
IC
3470 default:
3471 if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
3472 encoding = ('' + encoding).toLowerCase()
3473 loweredCase = true
3474 }
3475 }
3476}
212b1b46 3477
ab78acc6
IC
3478Buffer.prototype.toJSON = function toJSON () {
3479 return {
3480 type: 'Buffer',
3481 data: Array.prototype.slice.call(this._arr || this, 0)
3482 }
3483}
212b1b46 3484
ab78acc6
IC
3485function base64Slice (buf, start, end) {
3486 if (start === 0 && end === buf.length) {
3487 return base64.fromByteArray(buf)
3488 } else {
3489 return base64.fromByteArray(buf.slice(start, end))
3af2954a 3490 }
ab78acc6
IC
3491}
3492
3493function utf8Slice (buf, start, end) {
3494 end = Math.min(buf.length, end)
3495 var firstByte
3496 var secondByte
3497 var thirdByte
3498 var fourthByte
3499 var bytesPerSequence
3500 var tempCodePoint
3501 var codePoint
3502 var res = []
3503 var i = start
3504
3505 for (; i < end; i += bytesPerSequence) {
3506 firstByte = buf[i]
3507 codePoint = 0xFFFD
3508
3509 if (firstByte > 0xEF) {
3510 bytesPerSequence = 4
3511 } else if (firstByte > 0xDF) {
3512 bytesPerSequence = 3
3513 } else if (firstByte > 0xBF) {
3514 bytesPerSequence = 2
3515 } else {
3516 bytesPerSequence = 1
3517 }
212b1b46 3518
ab78acc6
IC
3519 if (i + bytesPerSequence <= end) {
3520 switch (bytesPerSequence) {
3521 case 1:
3522 if (firstByte < 0x80) {
3523 codePoint = firstByte
3524 }
3525 break
3526 case 2:
3527 secondByte = buf[i + 1]
3528 if ((secondByte & 0xC0) === 0x80) {
3529 tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
3530 if (tempCodePoint > 0x7F) {
3531 codePoint = tempCodePoint
3532 }
3533 }
3534 break
3535 case 3:
3536 secondByte = buf[i + 1]
3537 thirdByte = buf[i + 2]
3538 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
3539 tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
3540 if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
3541 codePoint = tempCodePoint
3542 }
3543 }
3544 break
3545 case 4:
3546 secondByte = buf[i + 1]
3547 thirdByte = buf[i + 2]
3548 fourthByte = buf[i + 3]
3549 if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
3550 tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
3551 if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
3552 codePoint = tempCodePoint
3553 }
3554 }
3555 }
3556 }
212b1b46 3557
ab78acc6
IC
3558 if (codePoint === 0xFFFD) {
3559 // we generated an invalid codePoint so make sure to only advance by 1 byte
3560 bytesPerSequence = 1
3561 } else if (codePoint > 0xFFFF) {
3562 // encode to utf16 (surrogate pair dance)
3563 codePoint -= 0x10000
3564 res.push(codePoint >>> 10 & 0x3FF | 0xD800)
3565 codePoint = 0xDC00 | codePoint & 0x3FF
3566 }
212b1b46 3567
ab78acc6 3568 res.push(codePoint)
3af2954a 3569 }
212b1b46 3570
ab78acc6
IC
3571 return String.fromCharCode.apply(String, res)
3572}
212b1b46 3573
ab78acc6
IC
3574function asciiSlice (buf, start, end) {
3575 var ret = ''
3576 end = Math.min(buf.length, end)
3577
3578 for (var i = start; i < end; i++) {
3579 ret += String.fromCharCode(buf[i] & 0x7F)
3af2954a 3580 }
ab78acc6
IC
3581 return ret
3582}
212b1b46 3583
ab78acc6
IC
3584function binarySlice (buf, start, end) {
3585 var ret = ''
3586 end = Math.min(buf.length, end)
212b1b46 3587
ab78acc6
IC
3588 for (var i = start; i < end; i++) {
3589 ret += String.fromCharCode(buf[i])
3590 }
3591 return ret
3592}
212b1b46 3593
ab78acc6
IC
3594function hexSlice (buf, start, end) {
3595 var len = buf.length
212b1b46 3596
ab78acc6
IC
3597 if (!start || start < 0) start = 0
3598 if (!end || end < 0 || end > len) end = len
212b1b46 3599
ab78acc6
IC
3600 var out = ''
3601 for (var i = start; i < end; i++) {
3602 out += toHex(buf[i])
3603 }
3604 return out
3605}
212b1b46 3606
ab78acc6
IC
3607function utf16leSlice (buf, start, end) {
3608 var bytes = buf.slice(start, end)
3609 var res = ''
3610 for (var i = 0; i < bytes.length; i += 2) {
3611 res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
3612 }
3613 return res
3614}
212b1b46 3615
ab78acc6
IC
3616Buffer.prototype.slice = function slice (start, end) {
3617 var len = this.length
3618 start = ~~start
3619 end = end === undefined ? len : ~~end
212b1b46 3620
ab78acc6
IC
3621 if (start < 0) {
3622 start += len
3623 if (start < 0) start = 0
3624 } else if (start > len) {
3625 start = len
3626 }
212b1b46 3627
ab78acc6
IC
3628 if (end < 0) {
3629 end += len
3630 if (end < 0) end = 0
3631 } else if (end > len) {
3632 end = len
3633 }
212b1b46 3634
ab78acc6 3635 if (end < start) end = start
212b1b46 3636
ab78acc6
IC
3637 var newBuf
3638 if (Buffer.TYPED_ARRAY_SUPPORT) {
3639 newBuf = Buffer._augment(this.subarray(start, end))
3640 } else {
3641 var sliceLen = end - start
3642 newBuf = new Buffer(sliceLen, undefined)
3643 for (var i = 0; i < sliceLen; i++) {
3644 newBuf[i] = this[i + start]
3af2954a
IC
3645 }
3646 }
212b1b46 3647
ab78acc6 3648 if (newBuf.length) newBuf.parent = this.parent || this
ebd8d4e8 3649
ab78acc6
IC
3650 return newBuf
3651}
ebd8d4e8 3652
ab78acc6
IC
3653/*
3654 * Need to make sure that buffer isn't trying to write out of bounds.
3655 */
3656function checkOffset (offset, ext, length) {
3657 if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
3658 if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
3659}
ebd8d4e8 3660
ab78acc6
IC
3661Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
3662 offset = offset | 0
3663 byteLength = byteLength | 0
3664 if (!noAssert) checkOffset(offset, byteLength, this.length)
3af2954a 3665
ab78acc6
IC
3666 var val = this[offset]
3667 var mul = 1
3668 var i = 0
3669 while (++i < byteLength && (mul *= 0x100)) {
3670 val += this[offset + i] * mul
3671 }
3af2954a 3672
ab78acc6
IC
3673 return val
3674}
3af2954a 3675
ab78acc6
IC
3676Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
3677 offset = offset | 0
3678 byteLength = byteLength | 0
3679 if (!noAssert) {
3680 checkOffset(offset, byteLength, this.length)
3681 }
3af2954a 3682
ab78acc6
IC
3683 var val = this[offset + --byteLength]
3684 var mul = 1
3685 while (byteLength > 0 && (mul *= 0x100)) {
3686 val += this[offset + --byteLength] * mul
3af2954a
IC
3687 }
3688
ab78acc6
IC
3689 return val
3690}
3af2954a 3691
ab78acc6
IC
3692Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
3693 if (!noAssert) checkOffset(offset, 1, this.length)
3694 return this[offset]
3695}
3af2954a 3696
ab78acc6
IC
3697Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
3698 if (!noAssert) checkOffset(offset, 2, this.length)
3699 return this[offset] | (this[offset + 1] << 8)
3700}
3af2954a 3701
ab78acc6
IC
3702Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
3703 if (!noAssert) checkOffset(offset, 2, this.length)
3704 return (this[offset] << 8) | this[offset + 1]
3705}
ebd8d4e8 3706
ab78acc6
IC
3707Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
3708 if (!noAssert) checkOffset(offset, 4, this.length)
3af2954a 3709
ab78acc6
IC
3710 return ((this[offset]) |
3711 (this[offset + 1] << 8) |
3712 (this[offset + 2] << 16)) +
3713 (this[offset + 3] * 0x1000000)
3714}
3af2954a 3715
ab78acc6
IC
3716Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
3717 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3718
ab78acc6
IC
3719 return (this[offset] * 0x1000000) +
3720 ((this[offset + 1] << 16) |
3721 (this[offset + 2] << 8) |
3722 this[offset + 3])
3723}
ebd8d4e8 3724
ab78acc6
IC
3725Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
3726 offset = offset | 0
3727 byteLength = byteLength | 0
3728 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3729
ab78acc6
IC
3730 var val = this[offset]
3731 var mul = 1
3732 var i = 0
3733 while (++i < byteLength && (mul *= 0x100)) {
3734 val += this[offset + i] * mul
ebd8d4e8 3735 }
ab78acc6 3736 mul *= 0x80
ebd8d4e8 3737
ab78acc6
IC
3738 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
3739
3740 return val
ebd8d4e8
IC
3741}
3742
ab78acc6
IC
3743Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
3744 offset = offset | 0
3745 byteLength = byteLength | 0
3746 if (!noAssert) checkOffset(offset, byteLength, this.length)
ebd8d4e8 3747
ab78acc6
IC
3748 var i = byteLength
3749 var mul = 1
3750 var val = this[offset + --i]
3751 while (i > 0 && (mul *= 0x100)) {
3752 val += this[offset + --i] * mul
3753 }
3754 mul *= 0x80
ebd8d4e8 3755
ab78acc6 3756 if (val >= mul) val -= Math.pow(2, 8 * byteLength)
ebd8d4e8 3757
ab78acc6
IC
3758 return val
3759}
ebd8d4e8 3760
ab78acc6
IC
3761Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
3762 if (!noAssert) checkOffset(offset, 1, this.length)
3763 if (!(this[offset] & 0x80)) return (this[offset])
3764 return ((0xff - this[offset] + 1) * -1)
ebd8d4e8 3765}
ab78acc6
IC
3766
3767Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
3768 if (!noAssert) checkOffset(offset, 2, this.length)
3769 var val = this[offset] | (this[offset + 1] << 8)
3770 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8 3771}
ab78acc6
IC
3772
3773Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
3774 if (!noAssert) checkOffset(offset, 2, this.length)
3775 var val = this[offset + 1] | (this[offset] << 8)
3776 return (val & 0x8000) ? val | 0xFFFF0000 : val
ebd8d4e8
IC
3777}
3778
ab78acc6
IC
3779Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
3780 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3781
ab78acc6
IC
3782 return (this[offset]) |
3783 (this[offset + 1] << 8) |
3784 (this[offset + 2] << 16) |
3785 (this[offset + 3] << 24)
ebd8d4e8 3786}
ebd8d4e8 3787
ab78acc6
IC
3788Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
3789 if (!noAssert) checkOffset(offset, 4, this.length)
ebd8d4e8 3790
ab78acc6
IC
3791 return (this[offset] << 24) |
3792 (this[offset + 1] << 16) |
3793 (this[offset + 2] << 8) |
3794 (this[offset + 3])
ebd8d4e8
IC
3795}
3796
ab78acc6
IC
3797Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
3798 if (!noAssert) checkOffset(offset, 4, this.length)
3799 return ieee754.read(this, offset, true, 23, 4)
ebd8d4e8
IC
3800}
3801
ab78acc6
IC
3802Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
3803 if (!noAssert) checkOffset(offset, 4, this.length)
3804 return ieee754.read(this, offset, false, 23, 4)
ebd8d4e8
IC
3805}
3806
ab78acc6
IC
3807Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
3808 if (!noAssert) checkOffset(offset, 8, this.length)
3809 return ieee754.read(this, offset, true, 52, 8)
ebd8d4e8
IC
3810}
3811
ab78acc6
IC
3812Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
3813 if (!noAssert) checkOffset(offset, 8, this.length)
3814 return ieee754.read(this, offset, false, 52, 8)
ebd8d4e8
IC
3815}
3816
ab78acc6
IC
3817function checkInt (buf, value, offset, ext, max, min) {
3818 if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance')
3819 if (value > max || value < min) throw new RangeError('value is out of bounds')
3820 if (offset + ext > buf.length) throw new RangeError('index out of range')
ebd8d4e8
IC
3821}
3822
ab78acc6
IC
3823Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
3824 value = +value
3825 offset = offset | 0
3826 byteLength = byteLength | 0
3827 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3828
ab78acc6
IC
3829 var mul = 1
3830 var i = 0
3831 this[offset] = value & 0xFF
3832 while (++i < byteLength && (mul *= 0x100)) {
3833 this[offset + i] = (value / mul) & 0xFF
3834 }
ebd8d4e8 3835
ab78acc6 3836 return offset + byteLength
ebd8d4e8
IC
3837}
3838
ab78acc6
IC
3839Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
3840 value = +value
3841 offset = offset | 0
3842 byteLength = byteLength | 0
3843 if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0)
ebd8d4e8 3844
ab78acc6
IC
3845 var i = byteLength - 1
3846 var mul = 1
3847 this[offset + i] = value & 0xFF
3848 while (--i >= 0 && (mul *= 0x100)) {
3849 this[offset + i] = (value / mul) & 0xFF
3850 }
ebd8d4e8 3851
ab78acc6 3852 return offset + byteLength
ebd8d4e8
IC
3853}
3854
ab78acc6
IC
3855Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
3856 value = +value
3857 offset = offset | 0
3858 if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
3859 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3860 this[offset] = value
3861 return offset + 1
ebd8d4e8
IC
3862}
3863
ab78acc6
IC
3864function objectWriteUInt16 (buf, value, offset, littleEndian) {
3865 if (value < 0) value = 0xffff + value + 1
3866 for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) {
3867 buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
3868 (littleEndian ? i : 1 - i) * 8
ebd8d4e8 3869 }
ebd8d4e8
IC
3870}
3871
ab78acc6
IC
3872Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
3873 value = +value
3874 offset = offset | 0
3875 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3876 if (Buffer.TYPED_ARRAY_SUPPORT) {
3877 this[offset] = value
3878 this[offset + 1] = (value >>> 8)
3879 } else {
3880 objectWriteUInt16(this, value, offset, true)
3881 }
3882 return offset + 2
ebd8d4e8
IC
3883}
3884
ab78acc6
IC
3885Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
3886 value = +value
3887 offset = offset | 0
3888 if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
3889 if (Buffer.TYPED_ARRAY_SUPPORT) {
3890 this[offset] = (value >>> 8)
3891 this[offset + 1] = value
3892 } else {
3893 objectWriteUInt16(this, value, offset, false)
ebd8d4e8 3894 }
ab78acc6 3895 return offset + 2
ebd8d4e8
IC
3896}
3897
ab78acc6
IC
3898function objectWriteUInt32 (buf, value, offset, littleEndian) {
3899 if (value < 0) value = 0xffffffff + value + 1
3900 for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) {
3901 buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
3902 }
ebd8d4e8
IC
3903}
3904
ab78acc6
IC
3905Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
3906 value = +value
3907 offset = offset | 0
3908 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3909 if (Buffer.TYPED_ARRAY_SUPPORT) {
3910 this[offset + 3] = (value >>> 24)
3911 this[offset + 2] = (value >>> 16)
3912 this[offset + 1] = (value >>> 8)
3913 this[offset] = value
3914 } else {
3915 objectWriteUInt32(this, value, offset, true)
ebd8d4e8 3916 }
ab78acc6 3917 return offset + 4
ebd8d4e8
IC
3918}
3919
ab78acc6
IC
3920Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
3921 value = +value
3922 offset = offset | 0
3923 if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
3924 if (Buffer.TYPED_ARRAY_SUPPORT) {
3925 this[offset] = (value >>> 24)
3926 this[offset + 1] = (value >>> 16)
3927 this[offset + 2] = (value >>> 8)
3928 this[offset + 3] = value
3929 } else {
3930 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 3931 }
ab78acc6
IC
3932 return offset + 4
3933}
3934
3935Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
3936 value = +value
3937 offset = offset | 0
3938 if (!noAssert) {
3939 var limit = Math.pow(2, 8 * byteLength - 1)
3940
3941 checkInt(this, value, offset, byteLength, limit - 1, -limit)
ebd8d4e8 3942 }
ab78acc6
IC
3943
3944 var i = 0
3945 var mul = 1
3946 var sub = value < 0 ? 1 : 0
3947 this[offset] = value & 0xFF
3948 while (++i < byteLength && (mul *= 0x100)) {
3949 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
ebd8d4e8 3950 }
ebd8d4e8 3951
ab78acc6 3952 return offset + byteLength
ebd8d4e8
IC
3953}
3954
ab78acc6
IC
3955Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
3956 value = +value
3957 offset = offset | 0
3958 if (!noAssert) {
3959 var limit = Math.pow(2, 8 * byteLength - 1)
ebd8d4e8 3960
ab78acc6
IC
3961 checkInt(this, value, offset, byteLength, limit - 1, -limit)
3962 }
ebd8d4e8 3963
ab78acc6
IC
3964 var i = byteLength - 1
3965 var mul = 1
3966 var sub = value < 0 ? 1 : 0
3967 this[offset + i] = value & 0xFF
3968 while (--i >= 0 && (mul *= 0x100)) {
3969 this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
3970 }
3971
3972 return offset + byteLength
ebd8d4e8
IC
3973}
3974
ab78acc6
IC
3975Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
3976 value = +value
3977 offset = offset | 0
3978 if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
3979 if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
3980 if (value < 0) value = 0xff + value + 1
3981 this[offset] = value
3982 return offset + 1
ebd8d4e8
IC
3983}
3984
ab78acc6
IC
3985Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
3986 value = +value
3987 offset = offset | 0
3988 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
3989 if (Buffer.TYPED_ARRAY_SUPPORT) {
3990 this[offset] = value
3991 this[offset + 1] = (value >>> 8)
3992 } else {
3993 objectWriteUInt16(this, value, offset, true)
3994 }
3995 return offset + 2
ebd8d4e8
IC
3996}
3997
ab78acc6
IC
3998Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
3999 value = +value
4000 offset = offset | 0
4001 if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
4002 if (Buffer.TYPED_ARRAY_SUPPORT) {
4003 this[offset] = (value >>> 8)
4004 this[offset + 1] = value
4005 } else {
4006 objectWriteUInt16(this, value, offset, false)
4007 }
4008 return offset + 2
ebd8d4e8
IC
4009}
4010
ab78acc6
IC
4011Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
4012 value = +value
4013 offset = offset | 0
4014 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4015 if (Buffer.TYPED_ARRAY_SUPPORT) {
4016 this[offset] = value
4017 this[offset + 1] = (value >>> 8)
4018 this[offset + 2] = (value >>> 16)
4019 this[offset + 3] = (value >>> 24)
4020 } else {
4021 objectWriteUInt32(this, value, offset, true)
4022 }
4023 return offset + 4
4024}
4025
4026Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
4027 value = +value
4028 offset = offset | 0
4029 if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
4030 if (value < 0) value = 0xffffffff + value + 1
4031 if (Buffer.TYPED_ARRAY_SUPPORT) {
4032 this[offset] = (value >>> 24)
4033 this[offset + 1] = (value >>> 16)
4034 this[offset + 2] = (value >>> 8)
4035 this[offset + 3] = value
4036 } else {
4037 objectWriteUInt32(this, value, offset, false)
ebd8d4e8 4038 }
ab78acc6 4039 return offset + 4
ebd8d4e8
IC
4040}
4041
ab78acc6
IC
4042function checkIEEE754 (buf, value, offset, ext, max, min) {
4043 if (value > max || value < min) throw new RangeError('value is out of bounds')
4044 if (offset + ext > buf.length) throw new RangeError('index out of range')
4045 if (offset < 0) throw new RangeError('index out of range')
4046}
ebd8d4e8 4047
ab78acc6
IC
4048function writeFloat (buf, value, offset, littleEndian, noAssert) {
4049 if (!noAssert) {
4050 checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
4051 }
4052 ieee754.write(buf, value, offset, littleEndian, 23, 4)
4053 return offset + 4
4054}
ebd8d4e8 4055
ab78acc6
IC
4056Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
4057 return writeFloat(this, value, offset, true, noAssert)
4058}
ebd8d4e8 4059
ab78acc6
IC
4060Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
4061 return writeFloat(this, value, offset, false, noAssert)
4062}
ebd8d4e8 4063
ab78acc6
IC
4064function writeDouble (buf, value, offset, littleEndian, noAssert) {
4065 if (!noAssert) {
4066 checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
ebd8d4e8 4067 }
ab78acc6
IC
4068 ieee754.write(buf, value, offset, littleEndian, 52, 8)
4069 return offset + 8
ebd8d4e8
IC
4070}
4071
ab78acc6
IC
4072Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
4073 return writeDouble(this, value, offset, true, noAssert)
ebd8d4e8
IC
4074}
4075
ab78acc6
IC
4076Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
4077 return writeDouble(this, value, offset, false, noAssert)
4078}
ebd8d4e8 4079
ab78acc6
IC
4080// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
4081Buffer.prototype.copy = function copy (target, targetStart, start, end) {
4082 if (!start) start = 0
4083 if (!end && end !== 0) end = this.length
4084 if (targetStart >= target.length) targetStart = target.length
4085 if (!targetStart) targetStart = 0
4086 if (end > 0 && end < start) end = start
4087
4088 // Copy 0 bytes; we're done
4089 if (end === start) return 0
4090 if (target.length === 0 || this.length === 0) return 0
ebd8d4e8 4091
ab78acc6
IC
4092 // Fatal error conditions
4093 if (targetStart < 0) {
4094 throw new RangeError('targetStart out of bounds')
4095 }
4096 if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
4097 if (end < 0) throw new RangeError('sourceEnd out of bounds')
ebd8d4e8 4098
ab78acc6
IC
4099 // Are we oob?
4100 if (end > this.length) end = this.length
4101 if (target.length - targetStart < end - start) {
4102 end = target.length - targetStart + start
4103 }
ebd8d4e8 4104
ab78acc6
IC
4105 var len = end - start
4106 var i
ebd8d4e8 4107
ab78acc6
IC
4108 if (this === target && start < targetStart && targetStart < end) {
4109 // descending copy from end
4110 for (i = len - 1; i >= 0; i--) {
4111 target[i + targetStart] = this[i + start]
4112 }
4113 } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
4114 // ascending copy from start
4115 for (i = 0; i < len; i++) {
4116 target[i + targetStart] = this[i + start]
4117 }
4118 } else {
4119 target._set(this.subarray(start, start + len), targetStart)
ebd8d4e8 4120 }
ebd8d4e8 4121
ab78acc6
IC
4122 return len
4123}
ebd8d4e8 4124
ab78acc6
IC
4125// fill(value, start=0, end=buffer.length)
4126Buffer.prototype.fill = function fill (value, start, end) {
4127 if (!value) value = 0
4128 if (!start) start = 0
4129 if (!end) end = this.length
ebd8d4e8 4130
ab78acc6 4131 if (end < start) throw new RangeError('end < start')
ebd8d4e8 4132
ab78acc6
IC
4133 // Fill 0 bytes; we're done
4134 if (end === start) return
4135 if (this.length === 0) return
ebd8d4e8 4136
ab78acc6
IC
4137 if (start < 0 || start >= this.length) throw new RangeError('start out of bounds')
4138 if (end < 0 || end > this.length) throw new RangeError('end out of bounds')
ebd8d4e8 4139
ab78acc6
IC
4140 var i
4141 if (typeof value === 'number') {
4142 for (i = start; i < end; i++) {
4143 this[i] = value
ebd8d4e8 4144 }
ab78acc6
IC
4145 } else {
4146 var bytes = utf8ToBytes(value.toString())
4147 var len = bytes.length
4148 for (i = start; i < end; i++) {
4149 this[i] = bytes[i % len]
ebd8d4e8
IC
4150 }
4151 }
ebd8d4e8 4152
ab78acc6 4153 return this
ebd8d4e8
IC
4154}
4155
ab78acc6
IC
4156/**
4157 * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
4158 * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
4159 */
4160Buffer.prototype.toArrayBuffer = function toArrayBuffer () {
4161 if (typeof Uint8Array !== 'undefined') {
4162 if (Buffer.TYPED_ARRAY_SUPPORT) {
4163 return (new Buffer(this)).buffer
4164 } else {
4165 var buf = new Uint8Array(this.length)
4166 for (var i = 0, len = buf.length; i < len; i += 1) {
4167 buf[i] = this[i]
ebd8d4e8 4168 }
ab78acc6 4169 return buf.buffer
ebd8d4e8 4170 }
ab78acc6
IC
4171 } else {
4172 throw new TypeError('Buffer.toArrayBuffer not supported in this browser')
ebd8d4e8 4173 }
ebd8d4e8
IC
4174}
4175
ab78acc6
IC
4176// HELPER FUNCTIONS
4177// ================
ebd8d4e8 4178
ab78acc6 4179var BP = Buffer.prototype
ebd8d4e8 4180
ab78acc6
IC
4181/**
4182 * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
4183 */
4184Buffer._augment = function _augment (arr) {
4185 arr.constructor = Buffer
4186 arr._isBuffer = true
ebd8d4e8 4187
ab78acc6
IC
4188 // save reference to original Uint8Array set method before overwriting
4189 arr._set = arr.set
ebd8d4e8 4190
ab78acc6
IC
4191 // deprecated
4192 arr.get = BP.get
4193 arr.set = BP.set
ebd8d4e8 4194
ab78acc6
IC
4195 arr.write = BP.write
4196 arr.toString = BP.toString
4197 arr.toLocaleString = BP.toString
4198 arr.toJSON = BP.toJSON
4199 arr.equals = BP.equals
4200 arr.compare = BP.compare
4201 arr.indexOf = BP.indexOf
4202 arr.copy = BP.copy
4203 arr.slice = BP.slice
4204 arr.readUIntLE = BP.readUIntLE
4205 arr.readUIntBE = BP.readUIntBE
4206 arr.readUInt8 = BP.readUInt8
4207 arr.readUInt16LE = BP.readUInt16LE
4208 arr.readUInt16BE = BP.readUInt16BE
4209 arr.readUInt32LE = BP.readUInt32LE
4210 arr.readUInt32BE = BP.readUInt32BE
4211 arr.readIntLE = BP.readIntLE
4212 arr.readIntBE = BP.readIntBE
4213 arr.readInt8 = BP.readInt8
4214 arr.readInt16LE = BP.readInt16LE
4215 arr.readInt16BE = BP.readInt16BE
4216 arr.readInt32LE = BP.readInt32LE
4217 arr.readInt32BE = BP.readInt32BE
4218 arr.readFloatLE = BP.readFloatLE
4219 arr.readFloatBE = BP.readFloatBE
4220 arr.readDoubleLE = BP.readDoubleLE
4221 arr.readDoubleBE = BP.readDoubleBE
4222 arr.writeUInt8 = BP.writeUInt8
4223 arr.writeUIntLE = BP.writeUIntLE
4224 arr.writeUIntBE = BP.writeUIntBE
4225 arr.writeUInt16LE = BP.writeUInt16LE
4226 arr.writeUInt16BE = BP.writeUInt16BE
4227 arr.writeUInt32LE = BP.writeUInt32LE
4228 arr.writeUInt32BE = BP.writeUInt32BE
4229 arr.writeIntLE = BP.writeIntLE
4230 arr.writeIntBE = BP.writeIntBE
4231 arr.writeInt8 = BP.writeInt8
4232 arr.writeInt16LE = BP.writeInt16LE
4233 arr.writeInt16BE = BP.writeInt16BE
4234 arr.writeInt32LE = BP.writeInt32LE
4235 arr.writeInt32BE = BP.writeInt32BE
4236 arr.writeFloatLE = BP.writeFloatLE
4237 arr.writeFloatBE = BP.writeFloatBE
4238 arr.writeDoubleLE = BP.writeDoubleLE
4239 arr.writeDoubleBE = BP.writeDoubleBE
4240 arr.fill = BP.fill
4241 arr.inspect = BP.inspect
4242 arr.toArrayBuffer = BP.toArrayBuffer
ebd8d4e8 4243
ab78acc6 4244 return arr
ebd8d4e8
IC
4245}
4246
ab78acc6 4247var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
ebd8d4e8 4248
ab78acc6
IC
4249function base64clean (str) {
4250 // Node strips out invalid characters like \n and \t from the string, base64-js does not
4251 str = stringtrim(str).replace(INVALID_BASE64_RE, '')
4252 // Node converts strings with length < 2 to ''
4253 if (str.length < 2) return ''
4254 // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
4255 while (str.length % 4 !== 0) {
4256 str = str + '='
4257 }
4258 return str
ebd8d4e8
IC
4259}
4260
ab78acc6
IC
4261function stringtrim (str) {
4262 if (str.trim) return str.trim()
4263 return str.replace(/^\s+|\s+$/g, '')
ebd8d4e8
IC
4264}
4265
ab78acc6
IC
4266function toHex (n) {
4267 if (n < 16) return '0' + n.toString(16)
4268 return n.toString(16)
ebd8d4e8
IC
4269}
4270
ab78acc6
IC
4271function utf8ToBytes (string, units) {
4272 units = units || Infinity
4273 var codePoint
4274 var length = string.length
4275 var leadSurrogate = null
4276 var bytes = []
ebd8d4e8 4277
ab78acc6
IC
4278 for (var i = 0; i < length; i++) {
4279 codePoint = string.charCodeAt(i)
ebd8d4e8 4280
ab78acc6
IC
4281 // is surrogate component
4282 if (codePoint > 0xD7FF && codePoint < 0xE000) {
4283 // last char was a lead
4284 if (!leadSurrogate) {
4285 // no lead yet
4286 if (codePoint > 0xDBFF) {
4287 // unexpected trail
4288 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4289 continue
ebd8d4e8 4290
ab78acc6
IC
4291 } else if (i + 1 === length) {
4292 // unpaired lead
4293 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4294 continue
4295 }
ebd8d4e8 4296
ab78acc6
IC
4297 // valid lead
4298 leadSurrogate = codePoint
ebd8d4e8 4299
ab78acc6
IC
4300 continue
4301 }
ebd8d4e8 4302
ab78acc6
IC
4303 // 2 leads in a row
4304 if (codePoint < 0xDC00) {
4305 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4306 leadSurrogate = codePoint
4307 continue
4308 }
ebd8d4e8 4309
ab78acc6
IC
4310 // valid surrogate pair
4311 codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000
4312
4313 } else if (leadSurrogate) {
4314 // valid bmp char, but last char was a lead
4315 if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
4316 }
4317
4318 leadSurrogate = null
4319
4320 // encode utf8
4321 if (codePoint < 0x80) {
4322 if ((units -= 1) < 0) break
4323 bytes.push(codePoint)
4324 } else if (codePoint < 0x800) {
4325 if ((units -= 2) < 0) break
4326 bytes.push(
4327 codePoint >> 0x6 | 0xC0,
4328 codePoint & 0x3F | 0x80
4329 )
4330 } else if (codePoint < 0x10000) {
4331 if ((units -= 3) < 0) break
4332 bytes.push(
4333 codePoint >> 0xC | 0xE0,
4334 codePoint >> 0x6 & 0x3F | 0x80,
4335 codePoint & 0x3F | 0x80
4336 )
4337 } else if (codePoint < 0x110000) {
4338 if ((units -= 4) < 0) break
4339 bytes.push(
4340 codePoint >> 0x12 | 0xF0,
4341 codePoint >> 0xC & 0x3F | 0x80,
4342 codePoint >> 0x6 & 0x3F | 0x80,
4343 codePoint & 0x3F | 0x80
4344 )
4345 } else {
4346 throw new Error('Invalid code point')
ebd8d4e8 4347 }
ebd8d4e8 4348 }
ab78acc6
IC
4349
4350 return bytes
4351}
4352
4353function asciiToBytes (str) {
4354 var byteArray = []
4355 for (var i = 0; i < str.length; i++) {
4356 // Node's code seems to be doing this and not & 0x7F..
4357 byteArray.push(str.charCodeAt(i) & 0xFF)
ebd8d4e8 4358 }
ab78acc6 4359 return byteArray
ebd8d4e8
IC
4360}
4361
ab78acc6
IC
4362function utf16leToBytes (str, units) {
4363 var c, hi, lo
4364 var byteArray = []
4365 for (var i = 0; i < str.length; i++) {
4366 if ((units -= 2) < 0) break
ebd8d4e8 4367
ab78acc6
IC
4368 c = str.charCodeAt(i)
4369 hi = c >> 8
4370 lo = c % 256
4371 byteArray.push(lo)
4372 byteArray.push(hi)
4373 }
ebd8d4e8 4374
ab78acc6
IC
4375 return byteArray
4376}
ebd8d4e8 4377
ab78acc6
IC
4378function base64ToBytes (str) {
4379 return base64.toByteArray(base64clean(str))
4380}
ebd8d4e8 4381
ab78acc6
IC
4382function blitBuffer (src, dst, offset, length) {
4383 for (var i = 0; i < length; i++) {
4384 if ((i + offset >= dst.length) || (i >= src.length)) break
4385 dst[i + offset] = src[i]
4386 }
4387 return i
4388}
4389
4390},{"base64-js":8,"ieee754":9,"is-array":10}],8:[function(require,module,exports){
4391var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
4392
4393;(function (exports) {
4394 'use strict';
4395
4396 var Arr = (typeof Uint8Array !== 'undefined')
4397 ? Uint8Array
4398 : Array
ebd8d4e8 4399
ab78acc6
IC
4400 var PLUS = '+'.charCodeAt(0)
4401 var SLASH = '/'.charCodeAt(0)
4402 var NUMBER = '0'.charCodeAt(0)
4403 var LOWER = 'a'.charCodeAt(0)
4404 var UPPER = 'A'.charCodeAt(0)
4405 var PLUS_URL_SAFE = '-'.charCodeAt(0)
4406 var SLASH_URL_SAFE = '_'.charCodeAt(0)
ebd8d4e8 4407
ab78acc6
IC
4408 function decode (elt) {
4409 var code = elt.charCodeAt(0)
4410 if (code === PLUS ||
4411 code === PLUS_URL_SAFE)
4412 return 62 // '+'
4413 if (code === SLASH ||
4414 code === SLASH_URL_SAFE)
4415 return 63 // '/'
4416 if (code < NUMBER)
4417 return -1 //no match
4418 if (code < NUMBER + 10)
4419 return code - NUMBER + 26 + 26
4420 if (code < UPPER + 26)
4421 return code - UPPER
4422 if (code < LOWER + 26)
4423 return code - LOWER + 26
4424 }
ebd8d4e8 4425
ab78acc6
IC
4426 function b64ToByteArray (b64) {
4427 var i, j, l, tmp, placeHolders, arr
ebd8d4e8 4428
ab78acc6
IC
4429 if (b64.length % 4 > 0) {
4430 throw new Error('Invalid string. Length must be a multiple of 4')
4431 }
ebd8d4e8 4432
ab78acc6
IC
4433 // the number of equal signs (place holders)
4434 // if there are two placeholders, than the two characters before it
4435 // represent one byte
4436 // if there is only one, then the three characters before it represent 2 bytes
4437 // this is just a cheap hack to not do indexOf twice
4438 var len = b64.length
4439 placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
ebd8d4e8 4440
ab78acc6
IC
4441 // base64 is 4/3 + up to two characters of the original data
4442 arr = new Arr(b64.length * 3 / 4 - placeHolders)
ebd8d4e8 4443
ab78acc6
IC
4444 // if there are placeholders, only get up to the last complete 4 chars
4445 l = placeHolders > 0 ? b64.length - 4 : b64.length
ebd8d4e8 4446
ab78acc6 4447 var L = 0
ebd8d4e8 4448
ab78acc6
IC
4449 function push (v) {
4450 arr[L++] = v
4451 }
ebd8d4e8 4452
ab78acc6
IC
4453 for (i = 0, j = 0; i < l; i += 4, j += 3) {
4454 tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
4455 push((tmp & 0xFF0000) >> 16)
4456 push((tmp & 0xFF00) >> 8)
4457 push(tmp & 0xFF)
4458 }
ebd8d4e8 4459
ab78acc6
IC
4460 if (placeHolders === 2) {
4461 tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
4462 push(tmp & 0xFF)
4463 } else if (placeHolders === 1) {
4464 tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
4465 push((tmp >> 8) & 0xFF)
4466 push(tmp & 0xFF)
4467 }
ebd8d4e8 4468
ab78acc6
IC
4469 return arr
4470 }
ebd8d4e8 4471
ab78acc6
IC
4472 function uint8ToBase64 (uint8) {
4473 var i,
4474 extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
4475 output = "",
4476 temp, length
ebd8d4e8 4477
ab78acc6
IC
4478 function encode (num) {
4479 return lookup.charAt(num)
4480 }
ebd8d4e8 4481
ab78acc6
IC
4482 function tripletToBase64 (num) {
4483 return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
4484 }
ebd8d4e8 4485
ab78acc6
IC
4486 // go through the array every three bytes, we'll deal with trailing stuff later
4487 for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
4488 temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
4489 output += tripletToBase64(temp)
4490 }
ebd8d4e8 4491
ab78acc6
IC
4492 // pad the end with zeros, but make sure to not forget the extra bytes
4493 switch (extraBytes) {
4494 case 1:
4495 temp = uint8[uint8.length - 1]
4496 output += encode(temp >> 2)
4497 output += encode((temp << 4) & 0x3F)
4498 output += '=='
4499 break
4500 case 2:
4501 temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
4502 output += encode(temp >> 10)
4503 output += encode((temp >> 4) & 0x3F)
4504 output += encode((temp << 2) & 0x3F)
4505 output += '='
4506 break
4507 }
ebd8d4e8 4508
ab78acc6
IC
4509 return output
4510 }
ebd8d4e8 4511
ab78acc6
IC
4512 exports.toByteArray = b64ToByteArray
4513 exports.fromByteArray = uint8ToBase64
4514}(typeof exports === 'undefined' ? (this.base64js = {}) : exports))
ebd8d4e8 4515
ab78acc6
IC
4516},{}],9:[function(require,module,exports){
4517exports.read = function (buffer, offset, isLE, mLen, nBytes) {
4518 var e, m
4519 var eLen = nBytes * 8 - mLen - 1
4520 var eMax = (1 << eLen) - 1
4521 var eBias = eMax >> 1
4522 var nBits = -7
4523 var i = isLE ? (nBytes - 1) : 0
4524 var d = isLE ? -1 : 1
4525 var s = buffer[offset + i]
4526
4527 i += d
4528
4529 e = s & ((1 << (-nBits)) - 1)
4530 s >>= (-nBits)
4531 nBits += eLen
4532 for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}
4533
4534 m = e & ((1 << (-nBits)) - 1)
4535 e >>= (-nBits)
4536 nBits += mLen
4537 for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}
ebd8d4e8 4538
ab78acc6
IC
4539 if (e === 0) {
4540 e = 1 - eBias
4541 } else if (e === eMax) {
4542 return m ? NaN : ((s ? -1 : 1) * Infinity)
4543 } else {
4544 m = m + Math.pow(2, mLen)
4545 e = e - eBias
ebd8d4e8 4546 }
ab78acc6 4547 return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
ebd8d4e8
IC
4548}
4549
ab78acc6
IC
4550exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
4551 var e, m, c
4552 var eLen = nBytes * 8 - mLen - 1
4553 var eMax = (1 << eLen) - 1
4554 var eBias = eMax >> 1
4555 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
4556 var i = isLE ? 0 : (nBytes - 1)
4557 var d = isLE ? 1 : -1
4558 var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
ebd8d4e8 4559
ab78acc6 4560 value = Math.abs(value)
ebd8d4e8 4561
ab78acc6
IC
4562 if (isNaN(value) || value === Infinity) {
4563 m = isNaN(value) ? 1 : 0
4564 e = eMax
4565 } else {
4566 e = Math.floor(Math.log(value) / Math.LN2)
4567 if (value * (c = Math.pow(2, -e)) < 1) {
4568 e--
4569 c *= 2
ebd8d4e8 4570 }
ab78acc6
IC
4571 if (e + eBias >= 1) {
4572 value += rt / c
4573 } else {
4574 value += rt * Math.pow(2, 1 - eBias)
ebd8d4e8 4575 }
ab78acc6
IC
4576 if (value * c >= 2) {
4577 e++
4578 c /= 2
ebd8d4e8 4579 }
ab78acc6
IC
4580
4581 if (e + eBias >= eMax) {
4582 m = 0
4583 e = eMax
4584 } else if (e + eBias >= 1) {
4585 m = (value * c - 1) * Math.pow(2, mLen)
4586 e = e + eBias
4587 } else {
4588 m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
4589 e = 0
ebd8d4e8
IC
4590 }
4591 }
ebd8d4e8 4592
ab78acc6 4593 for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
ebd8d4e8 4594
ab78acc6
IC
4595 e = (e << mLen) | m
4596 eLen += mLen
4597 for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
ebd8d4e8 4598
ab78acc6
IC
4599 buffer[offset + i - d] |= s * 128
4600}
ebd8d4e8 4601
ab78acc6 4602},{}],10:[function(require,module,exports){
ebd8d4e8 4603
ab78acc6
IC
4604/**
4605 * isArray
4606 */
ebd8d4e8 4607
ab78acc6 4608var isArray = Array.isArray;
ebd8d4e8
IC
4609
4610/**
ab78acc6 4611 * toString
ebd8d4e8 4612 */
ebd8d4e8 4613
ab78acc6 4614var str = Object.prototype.toString;
ebd8d4e8
IC
4615
4616/**
ab78acc6
IC
4617 * Whether or not the given `val`
4618 * is an array.
ebd8d4e8 4619 *
ab78acc6
IC
4620 * example:
4621 *
4622 * isArray([]);
4623 * // > true
4624 * isArray(arguments);
4625 * // > false
4626 * isArray('');
4627 * // > false
4628 *
4629 * @param {mixed} val
4630 * @return {bool}
ebd8d4e8 4631 */
ebd8d4e8 4632
ab78acc6
IC
4633module.exports = isArray || function (val) {
4634 return !! val && '[object Array]' == str.call(val);
4635};
4636
4637},{}],11:[function(require,module,exports){
4638// Copyright Joyent, Inc. and other Node contributors.
4639//
4640// Permission is hereby granted, free of charge, to any person obtaining a
4641// copy of this software and associated documentation files (the
4642// "Software"), to deal in the Software without restriction, including
4643// without limitation the rights to use, copy, modify, merge, publish,
4644// distribute, sublicense, and/or sell copies of the Software, and to permit
4645// persons to whom the Software is furnished to do so, subject to the
4646// following conditions:
4647//
4648// The above copyright notice and this permission notice shall be included
4649// in all copies or substantial portions of the Software.
4650//
4651// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
4652// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
4653// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
4654// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
4655// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
4656// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
4657// USE OR OTHER DEALINGS IN THE SOFTWARE.
4658
4659function EventEmitter() {
4660 this._events = this._events || {};
4661 this._maxListeners = this._maxListeners || undefined;
ebd8d4e8 4662}
ab78acc6 4663module.exports = EventEmitter;
ebd8d4e8 4664
ab78acc6
IC
4665// Backwards-compat with node 0.10.x
4666EventEmitter.EventEmitter = EventEmitter;
ebd8d4e8 4667
ab78acc6
IC
4668EventEmitter.prototype._events = undefined;
4669EventEmitter.prototype._maxListeners = undefined;
4670
4671// By default EventEmitters will print a warning if more than 10 listeners are
4672// added to it. This is a useful default which helps finding memory leaks.
4673EventEmitter.defaultMaxListeners = 10;
4674
4675// Obviously not all Emitters should be limited to 10. This function allows
4676// that to be increased. Set to zero for unlimited.
4677EventEmitter.prototype.setMaxListeners = function(n) {
4678 if (!isNumber(n) || n < 0 || isNaN(n))
4679 throw TypeError('n must be a positive number');
4680 this._maxListeners = n;
4681 return this;
4682};
4683
4684EventEmitter.prototype.emit = function(type) {
4685 var er, handler, len, args, i, listeners;
4686
4687 if (!this._events)
4688 this._events = {};
4689
4690 // If there is no 'error' event listener then throw.
4691 if (type === 'error') {
4692 if (!this._events.error ||
4693 (isObject(this._events.error) && !this._events.error.length)) {
4694 er = arguments[1];
4695 if (er instanceof Error) {
4696 throw er; // Unhandled 'error' event
4697 }
4698 throw TypeError('Uncaught, unspecified "error" event.');
4699 }
4700 }
4701
4702 handler = this._events[type];
4703
4704 if (isUndefined(handler))
4705 return false;
4706
4707 if (isFunction(handler)) {
4708 switch (arguments.length) {
4709 // fast cases
4710 case 1:
4711 handler.call(this);
4712 break;
4713 case 2:
4714 handler.call(this, arguments[1]);
4715 break;
4716 case 3:
4717 handler.call(this, arguments[1], arguments[2]);
4718 break;
4719 // slower
4720 default:
4721 len = arguments.length;
4722 args = new Array(len - 1);
4723 for (i = 1; i < len; i++)
4724 args[i - 1] = arguments[i];
4725 handler.apply(this, args);
4726 }
4727 } else if (isObject(handler)) {
4728 len = arguments.length;
4729 args = new Array(len - 1);
4730 for (i = 1; i < len; i++)
4731 args[i - 1] = arguments[i];
ebd8d4e8 4732
ab78acc6
IC
4733 listeners = handler.slice();
4734 len = listeners.length;
4735 for (i = 0; i < len; i++)
4736 listeners[i].apply(this, args);
ebd8d4e8
IC
4737 }
4738
ab78acc6
IC
4739 return true;
4740};
ebd8d4e8 4741
ab78acc6
IC
4742EventEmitter.prototype.addListener = function(type, listener) {
4743 var m;
ebd8d4e8 4744
ab78acc6
IC
4745 if (!isFunction(listener))
4746 throw TypeError('listener must be a function');
ebd8d4e8 4747
ab78acc6
IC
4748 if (!this._events)
4749 this._events = {};
ebd8d4e8 4750
ab78acc6
IC
4751 // To avoid recursion in the case that type === "newListener"! Before
4752 // adding it to the listeners, first emit "newListener".
4753 if (this._events.newListener)
4754 this.emit('newListener', type,
4755 isFunction(listener.listener) ?
4756 listener.listener : listener);
ebd8d4e8 4757
ab78acc6
IC
4758 if (!this._events[type])
4759 // Optimize the case of one listener. Don't need the extra array object.
4760 this._events[type] = listener;
4761 else if (isObject(this._events[type]))
4762 // If we've already got an array, just append.
4763 this._events[type].push(listener);
4764 else
4765 // Adding the second element, need to change to array.
4766 this._events[type] = [this._events[type], listener];
4767
4768 // Check for listener leak
4769 if (isObject(this._events[type]) && !this._events[type].warned) {
4770 var m;
4771 if (!isUndefined(this._maxListeners)) {
4772 m = this._maxListeners;
4773 } else {
4774 m = EventEmitter.defaultMaxListeners;
4775 }
4776
4777 if (m && m > 0 && this._events[type].length > m) {
4778 this._events[type].warned = true;
4779 console.error('(node) warning: possible EventEmitter memory ' +
4780 'leak detected. %d listeners added. ' +
4781 'Use emitter.setMaxListeners() to increase limit.',
4782 this._events[type].length);
4783 if (typeof console.trace === 'function') {
4784 // not supported in IE 10
4785 console.trace();
4786 }
4787 }
4788 }
ebd8d4e8 4789
ab78acc6
IC
4790 return this;
4791};
ebd8d4e8 4792
ab78acc6 4793EventEmitter.prototype.on = EventEmitter.prototype.addListener;
ebd8d4e8 4794
ab78acc6
IC
4795EventEmitter.prototype.once = function(type, listener) {
4796 if (!isFunction(listener))
4797 throw TypeError('listener must be a function');
ebd8d4e8 4798
ab78acc6 4799 var fired = false;
ebd8d4e8 4800
ab78acc6
IC
4801 function g() {
4802 this.removeListener(type, g);
ebd8d4e8 4803
ab78acc6
IC
4804 if (!fired) {
4805 fired = true;
4806 listener.apply(this, arguments);
4807 }
4808 }
ebd8d4e8 4809
ab78acc6
IC
4810 g.listener = listener;
4811 this.on(type, g);
ebd8d4e8 4812
ab78acc6
IC
4813 return this;
4814};
ebd8d4e8 4815
ab78acc6
IC
4816// emits a 'removeListener' event iff the listener was removed
4817EventEmitter.prototype.removeListener = function(type, listener) {
4818 var list, position, length, i;
ebd8d4e8 4819
ab78acc6
IC
4820 if (!isFunction(listener))
4821 throw TypeError('listener must be a function');
ebd8d4e8 4822
ab78acc6
IC
4823 if (!this._events || !this._events[type])
4824 return this;
ebd8d4e8 4825
ab78acc6
IC
4826 list = this._events[type];
4827 length = list.length;
4828 position = -1;
4829
4830 if (list === listener ||
4831 (isFunction(list.listener) && list.listener === listener)) {
4832 delete this._events[type];
4833 if (this._events.removeListener)
4834 this.emit('removeListener', type, listener);
4835
4836 } else if (isObject(list)) {
4837 for (i = length; i-- > 0;) {
4838 if (list[i] === listener ||
4839 (list[i].listener && list[i].listener === listener)) {
4840 position = i;
4841 break;
ebd8d4e8 4842 }
ab78acc6 4843 }
ebd8d4e8 4844
ab78acc6
IC
4845 if (position < 0)
4846 return this;
4847
4848 if (list.length === 1) {
4849 list.length = 0;
4850 delete this._events[type];
4851 } else {
4852 list.splice(position, 1);
ebd8d4e8 4853 }
ab78acc6
IC
4854
4855 if (this._events.removeListener)
4856 this.emit('removeListener', type, listener);
ebd8d4e8 4857 }
ab78acc6
IC
4858
4859 return this;
ebd8d4e8
IC
4860};
4861
ab78acc6
IC
4862EventEmitter.prototype.removeAllListeners = function(type) {
4863 var key, listeners;
ebd8d4e8 4864
ab78acc6
IC
4865 if (!this._events)
4866 return this;
4867
4868 // not listening for removeListener, no need to emit
4869 if (!this._events.removeListener) {
4870 if (arguments.length === 0)
4871 this._events = {};
4872 else if (this._events[type])
4873 delete this._events[type];
4874 return this;
ebd8d4e8 4875 }
ab78acc6
IC
4876
4877 // emit removeListener for all listeners on all events
4878 if (arguments.length === 0) {
4879 for (key in this._events) {
4880 if (key === 'removeListener') continue;
4881 this.removeAllListeners(key);
4882 }
4883 this.removeAllListeners('removeListener');
4884 this._events = {};
4885 return this;
ebd8d4e8 4886 }
ebd8d4e8 4887
ab78acc6
IC
4888 listeners = this._events[type];
4889
4890 if (isFunction(listeners)) {
4891 this.removeListener(type, listeners);
ebd8d4e8 4892 } else {
ab78acc6
IC
4893 // LIFO order
4894 while (listeners.length)
4895 this.removeListener(type, listeners[listeners.length - 1]);
ebd8d4e8 4896 }
ab78acc6 4897 delete this._events[type];
ebd8d4e8 4898
ab78acc6
IC
4899 return this;
4900};
ebd8d4e8 4901
ab78acc6
IC
4902EventEmitter.prototype.listeners = function(type) {
4903 var ret;
4904 if (!this._events || !this._events[type])
4905 ret = [];
4906 else if (isFunction(this._events[type]))
4907 ret = [this._events[type]];
4908 else
4909 ret = this._events[type].slice();
4910 return ret;
4911};
ebd8d4e8 4912
ab78acc6
IC
4913EventEmitter.listenerCount = function(emitter, type) {
4914 var ret;
4915 if (!emitter._events || !emitter._events[type])
4916 ret = 0;
4917 else if (isFunction(emitter._events[type]))
4918 ret = 1;
4919 else
4920 ret = emitter._events[type].length;
4921 return ret;
4922};
ebd8d4e8 4923
ab78acc6
IC
4924function isFunction(arg) {
4925 return typeof arg === 'function';
ebd8d4e8
IC
4926}
4927
ab78acc6
IC
4928function isNumber(arg) {
4929 return typeof arg === 'number';
4930}
ebd8d4e8 4931
ab78acc6
IC
4932function isObject(arg) {
4933 return typeof arg === 'object' && arg !== null;
4934}
ebd8d4e8 4935
ab78acc6
IC
4936function isUndefined(arg) {
4937 return arg === void 0;
ebd8d4e8 4938}
ebd8d4e8 4939
ab78acc6
IC
4940},{}],12:[function(require,module,exports){
4941if (typeof Object.create === 'function') {
4942 // implementation from standard node.js 'util' module
4943 module.exports = function inherits(ctor, superCtor) {
4944 ctor.super_ = superCtor
4945 ctor.prototype = Object.create(superCtor.prototype, {
4946 constructor: {
4947 value: ctor,
4948 enumerable: false,
4949 writable: true,
4950 configurable: true
4951 }
4952 });
4953 };
4954} else {
4955 // old school shim for old browsers
4956 module.exports = function inherits(ctor, superCtor) {
4957 ctor.super_ = superCtor
4958 var TempCtor = function () {}
4959 TempCtor.prototype = superCtor.prototype
4960 ctor.prototype = new TempCtor()
4961 ctor.prototype.constructor = ctor
4962 }
4963}
ebd8d4e8 4964
ab78acc6
IC
4965},{}],13:[function(require,module,exports){
4966module.exports = Array.isArray || function (arr) {
4967 return Object.prototype.toString.call(arr) == '[object Array]';
ebd8d4e8
IC
4968};
4969
ab78acc6
IC
4970},{}],14:[function(require,module,exports){
4971// shim for using process in browser
ebd8d4e8 4972
ab78acc6
IC
4973var process = module.exports = {};
4974var queue = [];
4975var draining = false;
4976var currentQueue;
4977var queueIndex = -1;
4978
4979function cleanUpNextTick() {
4980 draining = false;
4981 if (currentQueue.length) {
4982 queue = currentQueue.concat(queue);
4983 } else {
4984 queueIndex = -1;
4985 }
4986 if (queue.length) {
4987 drainQueue();
4988 }
4989}
ebd8d4e8 4990
ab78acc6
IC
4991function drainQueue() {
4992 if (draining) {
4993 return;
4994 }
4995 var timeout = setTimeout(cleanUpNextTick);
4996 draining = true;
ebd8d4e8 4997
ab78acc6
IC
4998 var len = queue.length;
4999 while(len) {
5000 currentQueue = queue;
5001 queue = [];
5002 while (++queueIndex < len) {
5003 currentQueue[queueIndex].run();
5004 }
5005 queueIndex = -1;
5006 len = queue.length;
5007 }
5008 currentQueue = null;
5009 draining = false;
5010 clearTimeout(timeout);
5011}
5012
5013process.nextTick = function (fun) {
5014 var args = new Array(arguments.length - 1);
5015 if (arguments.length > 1) {
5016 for (var i = 1; i < arguments.length; i++) {
5017 args[i - 1] = arguments[i];
5018 }
5019 }
5020 queue.push(new Item(fun, args));
5021 if (queue.length === 1 && !draining) {
5022 setTimeout(drainQueue, 0);
5023 }
ebd8d4e8
IC
5024};
5025
ab78acc6
IC
5026// v8 likes predictible objects
5027function Item(fun, array) {
5028 this.fun = fun;
5029 this.array = array;
5030}
5031Item.prototype.run = function () {
5032 this.fun.apply(null, this.array);
5033};
5034process.title = 'browser';
5035process.browser = true;
5036process.env = {};
5037process.argv = [];
5038process.version = ''; // empty string to avoid regexp issues
5039process.versions = {};
ebd8d4e8 5040
ab78acc6
IC
5041function noop() {}
5042
5043process.on = noop;
5044process.addListener = noop;
5045process.once = noop;
5046process.off = noop;
5047process.removeListener = noop;
5048process.removeAllListeners = noop;
5049process.emit = noop;
5050
5051process.binding = function (name) {
5052 throw new Error('process.binding is not supported');
5053};
ebd8d4e8 5054
ab78acc6
IC
5055// TODO(shtylman)
5056process.cwd = function () { return '/' };
5057process.chdir = function (dir) {
5058 throw new Error('process.chdir is not supported');
5059};
5060process.umask = function() { return 0; };
ebd8d4e8 5061
ab78acc6
IC
5062},{}],15:[function(require,module,exports){
5063module.exports = require("./lib/_stream_duplex.js")
ebd8d4e8 5064
ab78acc6
IC
5065},{"./lib/_stream_duplex.js":16}],16:[function(require,module,exports){
5066(function (process){
5067// Copyright Joyent, Inc. and other Node contributors.
5068//
5069// Permission is hereby granted, free of charge, to any person obtaining a
5070// copy of this software and associated documentation files (the
5071// "Software"), to deal in the Software without restriction, including
5072// without limitation the rights to use, copy, modify, merge, publish,
5073// distribute, sublicense, and/or sell copies of the Software, and to permit
5074// persons to whom the Software is furnished to do so, subject to the
5075// following conditions:
5076//
5077// The above copyright notice and this permission notice shall be included
5078// in all copies or substantial portions of the Software.
5079//
5080// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5081// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5082// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5083// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5084// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5085// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5086// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5087
ab78acc6
IC
5088// a duplex stream is just a stream that is both readable and writable.
5089// Since JS doesn't have multiple prototypal inheritance, this class
5090// prototypally inherits from Readable, and then parasitically from
5091// Writable.
ebd8d4e8 5092
ab78acc6 5093module.exports = Duplex;
ebd8d4e8 5094
ab78acc6
IC
5095/*<replacement>*/
5096var objectKeys = Object.keys || function (obj) {
5097 var keys = [];
5098 for (var key in obj) keys.push(key);
5099 return keys;
ebd8d4e8 5100}
ab78acc6 5101/*</replacement>*/
ebd8d4e8 5102
ebd8d4e8 5103
ab78acc6
IC
5104/*<replacement>*/
5105var util = require('core-util-is');
5106util.inherits = require('inherits');
5107/*</replacement>*/
ebd8d4e8 5108
ab78acc6
IC
5109var Readable = require('./_stream_readable');
5110var Writable = require('./_stream_writable');
ebd8d4e8 5111
ab78acc6 5112util.inherits(Duplex, Readable);
ebd8d4e8 5113
ab78acc6
IC
5114forEach(objectKeys(Writable.prototype), function(method) {
5115 if (!Duplex.prototype[method])
5116 Duplex.prototype[method] = Writable.prototype[method];
5117});
ebd8d4e8 5118
ab78acc6
IC
5119function Duplex(options) {
5120 if (!(this instanceof Duplex))
5121 return new Duplex(options);
ebd8d4e8 5122
ab78acc6
IC
5123 Readable.call(this, options);
5124 Writable.call(this, options);
ebd8d4e8 5125
ab78acc6
IC
5126 if (options && options.readable === false)
5127 this.readable = false;
ebd8d4e8 5128
ab78acc6
IC
5129 if (options && options.writable === false)
5130 this.writable = false;
ebd8d4e8 5131
ab78acc6
IC
5132 this.allowHalfOpen = true;
5133 if (options && options.allowHalfOpen === false)
5134 this.allowHalfOpen = false;
ebd8d4e8 5135
ab78acc6 5136 this.once('end', onend);
ebd8d4e8
IC
5137}
5138
ab78acc6
IC
5139// the no-half-open enforcer
5140function onend() {
5141 // if we allow half-open state, or if the writable side ended,
5142 // then we're ok.
5143 if (this.allowHalfOpen || this._writableState.ended)
5144 return;
ebd8d4e8 5145
ab78acc6
IC
5146 // no more data can be written.
5147 // But allow more writes to happen in this tick.
5148 process.nextTick(this.end.bind(this));
5149}
ebd8d4e8 5150
ab78acc6
IC
5151function forEach (xs, f) {
5152 for (var i = 0, l = xs.length; i < l; i++) {
5153 f(xs[i], i);
ebd8d4e8 5154 }
ab78acc6 5155}
ebd8d4e8 5156
ab78acc6
IC
5157}).call(this,require('_process'))
5158},{"./_stream_readable":18,"./_stream_writable":20,"_process":14,"core-util-is":21,"inherits":12}],17:[function(require,module,exports){
5159// Copyright Joyent, Inc. and other Node contributors.
5160//
5161// Permission is hereby granted, free of charge, to any person obtaining a
5162// copy of this software and associated documentation files (the
5163// "Software"), to deal in the Software without restriction, including
5164// without limitation the rights to use, copy, modify, merge, publish,
5165// distribute, sublicense, and/or sell copies of the Software, and to permit
5166// persons to whom the Software is furnished to do so, subject to the
5167// following conditions:
5168//
5169// The above copyright notice and this permission notice shall be included
5170// in all copies or substantial portions of the Software.
5171//
5172// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5173// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5174// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5175// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5176// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5177// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5178// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 5179
ab78acc6
IC
5180// a passthrough stream.
5181// basically just the most minimal sort of Transform stream.
5182// Every written chunk gets output as-is.
ebd8d4e8 5183
ab78acc6 5184module.exports = PassThrough;
ebd8d4e8 5185
ab78acc6 5186var Transform = require('./_stream_transform');
ebd8d4e8 5187
ab78acc6
IC
5188/*<replacement>*/
5189var util = require('core-util-is');
5190util.inherits = require('inherits');
5191/*</replacement>*/
ebd8d4e8 5192
ab78acc6 5193util.inherits(PassThrough, Transform);
ebd8d4e8 5194
ab78acc6
IC
5195function PassThrough(options) {
5196 if (!(this instanceof PassThrough))
5197 return new PassThrough(options);
ebd8d4e8 5198
ab78acc6
IC
5199 Transform.call(this, options);
5200}
ebd8d4e8 5201
ab78acc6
IC
5202PassThrough.prototype._transform = function(chunk, encoding, cb) {
5203 cb(null, chunk);
ebd8d4e8
IC
5204};
5205
ab78acc6
IC
5206},{"./_stream_transform":19,"core-util-is":21,"inherits":12}],18:[function(require,module,exports){
5207(function (process){
ebd8d4e8
IC
5208// Copyright Joyent, Inc. and other Node contributors.
5209//
5210// Permission is hereby granted, free of charge, to any person obtaining a
5211// copy of this software and associated documentation files (the
5212// "Software"), to deal in the Software without restriction, including
5213// without limitation the rights to use, copy, modify, merge, publish,
5214// distribute, sublicense, and/or sell copies of the Software, and to permit
5215// persons to whom the Software is furnished to do so, subject to the
5216// following conditions:
5217//
5218// The above copyright notice and this permission notice shall be included
5219// in all copies or substantial portions of the Software.
5220//
5221// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
5222// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
5223// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
5224// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
5225// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
5226// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
5227// USE OR OTHER DEALINGS IN THE SOFTWARE.
5228
ab78acc6 5229module.exports = Readable;
ebd8d4e8 5230
ab78acc6
IC
5231/*<replacement>*/
5232var isArray = require('isarray');
5233/*</replacement>*/
5234
5235
5236/*<replacement>*/
5237var Buffer = require('buffer').Buffer;
5238/*</replacement>*/
5239
5240Readable.ReadableState = ReadableState;
5241
5242var EE = require('events').EventEmitter;
5243
5244/*<replacement>*/
5245if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
5246 return emitter.listeners(type).length;
ebd8d4e8 5247};
ab78acc6
IC
5248/*</replacement>*/
5249
5250var Stream = require('stream');
5251
5252/*<replacement>*/
5253var util = require('core-util-is');
5254util.inherits = require('inherits');
5255/*</replacement>*/
5256
5257var StringDecoder;
5258
5259
5260/*<replacement>*/
5261var debug = require('util');
5262if (debug && debug.debuglog) {
5263 debug = debug.debuglog('stream');
5264} else {
5265 debug = function () {};
5266}
5267/*</replacement>*/
5268
5269
5270util.inherits(Readable, Stream);
5271
5272function ReadableState(options, stream) {
5273 var Duplex = require('./_stream_duplex');
5274
5275 options = options || {};
5276
5277 // the point at which it stops calling _read() to fill the buffer
5278 // Note: 0 is a valid value, means "don't call _read preemptively ever"
5279 var hwm = options.highWaterMark;
5280 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
5281 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
5282
5283 // cast to ints.
5284 this.highWaterMark = ~~this.highWaterMark;
5285
5286 this.buffer = [];
5287 this.length = 0;
5288 this.pipes = null;
5289 this.pipesCount = 0;
5290 this.flowing = null;
5291 this.ended = false;
5292 this.endEmitted = false;
5293 this.reading = false;
ebd8d4e8 5294
ab78acc6
IC
5295 // a flag to be able to tell if the onwrite cb is called immediately,
5296 // or on a later tick. We set this to true at first, because any
5297 // actions that shouldn't happen until "later" should generally also
5298 // not happen before the first write call.
5299 this.sync = true;
ebd8d4e8 5300
ab78acc6
IC
5301 // whenever we return null, then we set a flag to say
5302 // that we're awaiting a 'readable' event emission.
5303 this.needReadable = false;
5304 this.emittedReadable = false;
5305 this.readableListening = false;
ebd8d4e8 5306
ab78acc6
IC
5307
5308 // object stream flag. Used to make read(n) ignore n and to
5309 // make all the buffer merging and length checks go away
5310 this.objectMode = !!options.objectMode;
5311
5312 if (stream instanceof Duplex)
5313 this.objectMode = this.objectMode || !!options.readableObjectMode;
5314
5315 // Crypto is kind of old and crusty. Historically, its default string
5316 // encoding is 'binary' so we have to make this configurable.
5317 // Everything else in the universe uses 'utf8', though.
5318 this.defaultEncoding = options.defaultEncoding || 'utf8';
5319
5320 // when piping, we only care about 'readable' events that happen
5321 // after read()ing all the bytes and not getting any pushback.
5322 this.ranOut = false;
5323
5324 // the number of writers that are awaiting a drain event in .pipe()s
5325 this.awaitDrain = 0;
5326
5327 // if true, a maybeReadMore has been scheduled
5328 this.readingMore = false;
5329
5330 this.decoder = null;
5331 this.encoding = null;
5332 if (options.encoding) {
5333 if (!StringDecoder)
5334 StringDecoder = require('string_decoder/').StringDecoder;
5335 this.decoder = new StringDecoder(options.encoding);
5336 this.encoding = options.encoding;
ebd8d4e8 5337 }
ab78acc6 5338}
ebd8d4e8 5339
ab78acc6
IC
5340function Readable(options) {
5341 var Duplex = require('./_stream_duplex');
5342
5343 if (!(this instanceof Readable))
5344 return new Readable(options);
5345
5346 this._readableState = new ReadableState(options, this);
5347
5348 // legacy
5349 this.readable = true;
5350
5351 Stream.call(this);
5352}
5353
5354// Manually shove something into the read() buffer.
5355// This returns true if the highWaterMark has not been hit yet,
5356// similar to how Writable.write() returns true if you should
5357// write() some more.
5358Readable.prototype.push = function(chunk, encoding) {
5359 var state = this._readableState;
5360
5361 if (util.isString(chunk) && !state.objectMode) {
5362 encoding = encoding || state.defaultEncoding;
5363 if (encoding !== state.encoding) {
5364 chunk = new Buffer(chunk, encoding);
5365 encoding = '';
ebd8d4e8 5366 }
ebd8d4e8
IC
5367 }
5368
ab78acc6 5369 return readableAddChunk(this, state, chunk, encoding, false);
ebd8d4e8
IC
5370};
5371
ab78acc6
IC
5372// Unshift should *always* be something directly out of read()
5373Readable.prototype.unshift = function(chunk) {
5374 var state = this._readableState;
5375 return readableAddChunk(this, state, chunk, '', true);
5376};
ebd8d4e8 5377
ab78acc6
IC
5378function readableAddChunk(stream, state, chunk, encoding, addToFront) {
5379 var er = chunkInvalid(state, chunk);
5380 if (er) {
5381 stream.emit('error', er);
5382 } else if (util.isNullOrUndefined(chunk)) {
5383 state.reading = false;
5384 if (!state.ended)
5385 onEofChunk(stream, state);
5386 } else if (state.objectMode || chunk && chunk.length > 0) {
5387 if (state.ended && !addToFront) {
5388 var e = new Error('stream.push() after EOF');
5389 stream.emit('error', e);
5390 } else if (state.endEmitted && addToFront) {
5391 var e = new Error('stream.unshift() after end event');
5392 stream.emit('error', e);
ebd8d4e8 5393 } else {
ab78acc6
IC
5394 if (state.decoder && !addToFront && !encoding)
5395 chunk = state.decoder.write(chunk);
5396
5397 if (!addToFront)
5398 state.reading = false;
5399
5400 // if we want the data now, just emit it.
5401 if (state.flowing && state.length === 0 && !state.sync) {
5402 stream.emit('data', chunk);
5403 stream.read(0);
5404 } else {
5405 // update the buffer info.
5406 state.length += state.objectMode ? 1 : chunk.length;
5407 if (addToFront)
5408 state.buffer.unshift(chunk);
5409 else
5410 state.buffer.push(chunk);
5411
5412 if (state.needReadable)
5413 emitReadable(stream);
5414 }
5415
5416 maybeReadMore(stream, state);
ebd8d4e8 5417 }
ab78acc6
IC
5418 } else if (!addToFront) {
5419 state.reading = false;
ebd8d4e8 5420 }
ebd8d4e8 5421
ab78acc6
IC
5422 return needMoreData(state);
5423}
ebd8d4e8 5424
ab78acc6
IC
5425
5426
5427// if it's past the high water mark, we can push in some more.
5428// Also, if we have no data yet, we can stand some
5429// more bytes. This is to work around cases where hwm=0,
5430// such as the repl. Also, if the push() triggered a
5431// readable event, and the user called read(largeNumber) such that
5432// needReadable was set, then we ought to push more, so that another
5433// 'readable' event will be triggered.
5434function needMoreData(state) {
5435 return !state.ended &&
5436 (state.needReadable ||
5437 state.length < state.highWaterMark ||
5438 state.length === 0);
5439}
5440
5441// backwards compatibility.
5442Readable.prototype.setEncoding = function(enc) {
5443 if (!StringDecoder)
5444 StringDecoder = require('string_decoder/').StringDecoder;
5445 this._readableState.decoder = new StringDecoder(enc);
5446 this._readableState.encoding = enc;
5447 return this;
5448};
5449
5450// Don't raise the hwm > 128MB
5451var MAX_HWM = 0x800000;
5452function roundUpToNextPowerOf2(n) {
5453 if (n >= MAX_HWM) {
5454 n = MAX_HWM;
5455 } else {
5456 // Get the next highest power of 2
5457 n--;
5458 for (var p = 1; p < 32; p <<= 1) n |= n >> p;
5459 n++;
ebd8d4e8 5460 }
ab78acc6 5461 return n;
ebd8d4e8 5462}
ebd8d4e8 5463
ab78acc6
IC
5464function howMuchToRead(n, state) {
5465 if (state.length === 0 && state.ended)
5466 return 0;
ebd8d4e8 5467
ab78acc6
IC
5468 if (state.objectMode)
5469 return n === 0 ? 0 : 1;
ebd8d4e8 5470
ab78acc6
IC
5471 if (isNaN(n) || util.isNull(n)) {
5472 // only flow one buffer at a time
5473 if (state.flowing && state.buffer.length)
5474 return state.buffer[0].length;
5475 else
5476 return state.length;
5477 }
ebd8d4e8 5478
ab78acc6
IC
5479 if (n <= 0)
5480 return 0;
ebd8d4e8 5481
ab78acc6
IC
5482 // If we're asking for more than the target buffer level,
5483 // then raise the water mark. Bump up to the next highest
5484 // power of 2, to prevent increasing it excessively in tiny
5485 // amounts.
5486 if (n > state.highWaterMark)
5487 state.highWaterMark = roundUpToNextPowerOf2(n);
ebd8d4e8 5488
ab78acc6
IC
5489 // don't have that much. return null, unless we've ended.
5490 if (n > state.length) {
5491 if (!state.ended) {
5492 state.needReadable = true;
5493 return 0;
5494 } else
5495 return state.length;
ebd8d4e8 5496 }
ab78acc6
IC
5497
5498 return n;
ebd8d4e8
IC
5499}
5500
ab78acc6
IC
5501// you can override either this method, or the async _read(n) below.
5502Readable.prototype.read = function(n) {
5503 debug('read', n);
5504 var state = this._readableState;
5505 var nOrig = n;
ebd8d4e8 5506
ab78acc6
IC
5507 if (!util.isNumber(n) || n > 0)
5508 state.emittedReadable = false;
5509
5510 // if we're doing read(0) to trigger a readable event, but we
5511 // already have a bunch of data in the buffer, then just trigger
5512 // the 'readable' event and move on.
5513 if (n === 0 &&
5514 state.needReadable &&
5515 (state.length >= state.highWaterMark || state.ended)) {
5516 debug('read: emitReadable', state.length, state.ended);
5517 if (state.length === 0 && state.ended)
5518 endReadable(this);
5519 else
5520 emitReadable(this);
5521 return null;
5522 }
5523
5524 n = howMuchToRead(n, state);
5525
5526 // if we've ended, and we're now clear, then finish it up.
5527 if (n === 0 && state.ended) {
5528 if (state.length === 0)
5529 endReadable(this);
5530 return null;
5531 }
5532
5533 // All the actual chunk generation logic needs to be
5534 // *below* the call to _read. The reason is that in certain
5535 // synthetic stream cases, such as passthrough streams, _read
5536 // may be a completely synchronous operation which may change
5537 // the state of the read buffer, providing enough data when
5538 // before there was *not* enough.
5539 //
5540 // So, the steps are:
5541 // 1. Figure out what the state of things will be after we do
5542 // a read from the buffer.
5543 //
5544 // 2. If that resulting state will trigger a _read, then call _read.
5545 // Note that this may be asynchronous, or synchronous. Yes, it is
5546 // deeply ugly to write APIs this way, but that still doesn't mean
5547 // that the Readable class should behave improperly, as streams are
5548 // designed to be sync/async agnostic.
5549 // Take note if the _read call is sync or async (ie, if the read call
5550 // has returned yet), so that we know whether or not it's safe to emit
5551 // 'readable' etc.
5552 //
5553 // 3. Actually pull the requested chunks out of the buffer and return.
5554
5555 // if we need a readable event, then we need to do some reading.
5556 var doRead = state.needReadable;
5557 debug('need readable', doRead);
5558
5559 // if we currently have less than the highWaterMark, then also read some
5560 if (state.length === 0 || state.length - n < state.highWaterMark) {
5561 doRead = true;
5562 debug('length less than watermark', doRead);
5563 }
5564
5565 // however, if we've ended, then there's no point, and if we're already
5566 // reading, then it's unnecessary.
5567 if (state.ended || state.reading) {
5568 doRead = false;
5569 debug('reading or ended', doRead);
5570 }
5571
5572 if (doRead) {
5573 debug('do read');
5574 state.reading = true;
5575 state.sync = true;
5576 // if the length is currently zero, then we *need* a readable event.
5577 if (state.length === 0)
5578 state.needReadable = true;
5579 // call internal read method
5580 this._read(state.highWaterMark);
5581 state.sync = false;
5582 }
5583
5584 // If _read pushed data synchronously, then `reading` will be false,
5585 // and we need to re-evaluate how much data we can return to the user.
5586 if (doRead && !state.reading)
5587 n = howMuchToRead(nOrig, state);
5588
5589 var ret;
5590 if (n > 0)
5591 ret = fromList(n, state);
5592 else
5593 ret = null;
ebd8d4e8 5594
ab78acc6
IC
5595 if (util.isNull(ret)) {
5596 state.needReadable = true;
5597 n = 0;
5598 }
ebd8d4e8 5599
ab78acc6 5600 state.length -= n;
ebd8d4e8 5601
ab78acc6
IC
5602 // If we have nothing in the buffer, then we want to know
5603 // as soon as we *do* get something into the buffer.
5604 if (state.length === 0 && !state.ended)
5605 state.needReadable = true;
ebd8d4e8 5606
ab78acc6
IC
5607 // If we tried to read() past the EOF, then emit end on the next tick.
5608 if (nOrig !== n && state.ended && state.length === 0)
5609 endReadable(this);
5610
5611 if (!util.isNull(ret))
5612 this.emit('data', ret);
5613
5614 return ret;
5615};
5616
5617function chunkInvalid(state, chunk) {
5618 var er = null;
5619 if (!util.isBuffer(chunk) &&
5620 !util.isString(chunk) &&
5621 !util.isNullOrUndefined(chunk) &&
5622 !state.objectMode) {
5623 er = new TypeError('Invalid non-string/buffer chunk');
5624 }
5625 return er;
ebd8d4e8
IC
5626}
5627
5628
ab78acc6
IC
5629function onEofChunk(stream, state) {
5630 if (state.decoder && !state.ended) {
5631 var chunk = state.decoder.end();
5632 if (chunk && chunk.length) {
5633 state.buffer.push(chunk);
5634 state.length += state.objectMode ? 1 : chunk.length;
ebd8d4e8 5635 }
ebd8d4e8 5636 }
ab78acc6 5637 state.ended = true;
ebd8d4e8 5638
ab78acc6
IC
5639 // emit 'readable' now to make sure it gets picked up.
5640 emitReadable(stream);
5641}
5642
5643// Don't emit readable right away in sync mode, because this can trigger
5644// another read() call => stack overflow. This way, it might trigger
5645// a nextTick recursion warning, but that's not so bad.
5646function emitReadable(stream) {
5647 var state = stream._readableState;
5648 state.needReadable = false;
5649 if (!state.emittedReadable) {
5650 debug('emitReadable', state.flowing);
5651 state.emittedReadable = true;
5652 if (state.sync)
5653 process.nextTick(function() {
5654 emitReadable_(stream);
5655 });
5656 else
5657 emitReadable_(stream);
ebd8d4e8 5658 }
ab78acc6 5659}
ebd8d4e8 5660
ab78acc6
IC
5661function emitReadable_(stream) {
5662 debug('emit readable');
5663 stream.emit('readable');
5664 flow(stream);
5665}
ebd8d4e8 5666
ab78acc6
IC
5667
5668// at this point, the user has presumably seen the 'readable' event,
5669// and called read() to consume some data. that may have triggered
5670// in turn another _read(n) call, in which case reading = true if
5671// it's in progress.
5672// However, if we're not ended, or reading, and the length < hwm,
5673// then go ahead and try to read some more preemptively.
5674function maybeReadMore(stream, state) {
5675 if (!state.readingMore) {
5676 state.readingMore = true;
5677 process.nextTick(function() {
5678 maybeReadMore_(stream, state);
5679 });
ebd8d4e8 5680 }
ab78acc6 5681}
ebd8d4e8 5682
ab78acc6
IC
5683function maybeReadMore_(stream, state) {
5684 var len = state.length;
5685 while (!state.reading && !state.flowing && !state.ended &&
5686 state.length < state.highWaterMark) {
5687 debug('maybeReadMore read 0');
5688 stream.read(0);
5689 if (len === state.length)
5690 // didn't get any data, stop spinning.
5691 break;
5692 else
5693 len = state.length;
ebd8d4e8 5694 }
ab78acc6
IC
5695 state.readingMore = false;
5696}
ebd8d4e8 5697
ab78acc6
IC
5698// abstract method. to be overridden in specific implementation classes.
5699// call cb(er, data) where data is <= n in length.
5700// for virtual (non-string, non-buffer) streams, "length" is somewhat
5701// arbitrary, and perhaps not very meaningful.
5702Readable.prototype._read = function(n) {
5703 this.emit('error', new Error('not implemented'));
5704};
5705
5706Readable.prototype.pipe = function(dest, pipeOpts) {
5707 var src = this;
5708 var state = this._readableState;
5709
5710 switch (state.pipesCount) {
5711 case 0:
5712 state.pipes = dest;
5713 break;
5714 case 1:
5715 state.pipes = [state.pipes, dest];
5716 break;
5717 default:
5718 state.pipes.push(dest);
5719 break;
ebd8d4e8 5720 }
ab78acc6
IC
5721 state.pipesCount += 1;
5722 debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
ebd8d4e8 5723
ab78acc6
IC
5724 var doEnd = (!pipeOpts || pipeOpts.end !== false) &&
5725 dest !== process.stdout &&
5726 dest !== process.stderr;
ebd8d4e8 5727
ab78acc6
IC
5728 var endFn = doEnd ? onend : cleanup;
5729 if (state.endEmitted)
5730 process.nextTick(endFn);
5731 else
5732 src.once('end', endFn);
5733
5734 dest.on('unpipe', onunpipe);
5735 function onunpipe(readable) {
5736 debug('onunpipe');
5737 if (readable === src) {
5738 cleanup();
5739 }
5740 }
5741
5742 function onend() {
5743 debug('onend');
5744 dest.end();
5745 }
5746
5747 // when the dest drains, it reduces the awaitDrain counter
5748 // on the source. This would be more elegant with a .once()
5749 // handler in flow(), but adding and removing repeatedly is
5750 // too slow.
5751 var ondrain = pipeOnDrain(src);
5752 dest.on('drain', ondrain);
5753
5754 function cleanup() {
5755 debug('cleanup');
5756 // cleanup event handlers once the pipe is broken
5757 dest.removeListener('close', onclose);
5758 dest.removeListener('finish', onfinish);
5759 dest.removeListener('drain', ondrain);
5760 dest.removeListener('error', onerror);
5761 dest.removeListener('unpipe', onunpipe);
5762 src.removeListener('end', onend);
5763 src.removeListener('end', cleanup);
5764 src.removeListener('data', ondata);
5765
5766 // if the reader is waiting for a drain event from this
5767 // specific writer, then it would cause it to never start
5768 // flowing again.
5769 // So, if this is awaiting a drain, then we just call it now.
5770 // If we don't know, then assume that we are waiting for one.
5771 if (state.awaitDrain &&
5772 (!dest._writableState || dest._writableState.needDrain))
5773 ondrain();
5774 }
5775
5776 src.on('data', ondata);
5777 function ondata(chunk) {
5778 debug('ondata');
5779 var ret = dest.write(chunk);
5780 if (false === ret) {
5781 debug('false write response, pause',
5782 src._readableState.awaitDrain);
5783 src._readableState.awaitDrain++;
5784 src.pause();
5785 }
5786 }
5787
5788 // if the dest has an error, then stop piping into it.
5789 // however, don't suppress the throwing behavior for this.
5790 function onerror(er) {
5791 debug('onerror', er);
5792 unpipe();
5793 dest.removeListener('error', onerror);
5794 if (EE.listenerCount(dest, 'error') === 0)
5795 dest.emit('error', er);
5796 }
5797 // This is a brutally ugly hack to make sure that our error handler
5798 // is attached before any userland ones. NEVER DO THIS.
5799 if (!dest._events || !dest._events.error)
5800 dest.on('error', onerror);
5801 else if (isArray(dest._events.error))
5802 dest._events.error.unshift(onerror);
5803 else
5804 dest._events.error = [onerror, dest._events.error];
5805
5806
5807
5808 // Both close and finish should trigger unpipe, but only once.
5809 function onclose() {
5810 dest.removeListener('finish', onfinish);
5811 unpipe();
ebd8d4e8 5812 }
ab78acc6
IC
5813 dest.once('close', onclose);
5814 function onfinish() {
5815 debug('onfinish');
5816 dest.removeListener('close', onclose);
5817 unpipe();
5818 }
5819 dest.once('finish', onfinish);
ebd8d4e8 5820
ab78acc6
IC
5821 function unpipe() {
5822 debug('unpipe');
5823 src.unpipe(dest);
ebd8d4e8
IC
5824 }
5825
ab78acc6
IC
5826 // tell the dest that it's being piped to
5827 dest.emit('pipe', src);
5828
5829 // start the flow if it hasn't been started already.
5830 if (!state.flowing) {
5831 debug('pipe resume');
5832 src.resume();
ebd8d4e8
IC
5833 }
5834
ab78acc6
IC
5835 return dest;
5836};
5837
5838function pipeOnDrain(src) {
5839 return function() {
5840 var state = src._readableState;
5841 debug('pipeOnDrain', state.awaitDrain);
5842 if (state.awaitDrain)
5843 state.awaitDrain--;
5844 if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) {
5845 state.flowing = true;
5846 flow(src);
5847 }
5848 };
5849}
5850
5851
5852Readable.prototype.unpipe = function(dest) {
5853 var state = this._readableState;
5854
5855 // if we're not piping anywhere, then do nothing.
5856 if (state.pipesCount === 0)
5857 return this;
5858
5859 // just one destination. most common case.
5860 if (state.pipesCount === 1) {
5861 // passed in one, but it's not the right one.
5862 if (dest && dest !== state.pipes)
5863 return this;
5864
5865 if (!dest)
5866 dest = state.pipes;
5867
5868 // got a match.
5869 state.pipes = null;
5870 state.pipesCount = 0;
5871 state.flowing = false;
5872 if (dest)
5873 dest.emit('unpipe', this);
5874 return this;
ebd8d4e8
IC
5875 }
5876
ab78acc6
IC
5877 // slow case. multiple pipe destinations.
5878
5879 if (!dest) {
5880 // remove all.
5881 var dests = state.pipes;
5882 var len = state.pipesCount;
5883 state.pipes = null;
5884 state.pipesCount = 0;
5885 state.flowing = false;
5886
5887 for (var i = 0; i < len; i++)
5888 dests[i].emit('unpipe', this);
5889 return this;
ebd8d4e8
IC
5890 }
5891
ab78acc6
IC
5892 // try to find the right one.
5893 var i = indexOf(state.pipes, dest);
5894 if (i === -1)
5895 return this;
5896
5897 state.pipes.splice(i, 1);
5898 state.pipesCount -= 1;
5899 if (state.pipesCount === 1)
5900 state.pipes = state.pipes[0];
5901
5902 dest.emit('unpipe', this);
ebd8d4e8 5903
ab78acc6
IC
5904 return this;
5905};
5906
5907// set up data events if they are asked for
5908// Ensure readable listeners eventually get something
5909Readable.prototype.on = function(ev, fn) {
5910 var res = Stream.prototype.on.call(this, ev, fn);
5911
5912 // If listening to data, and it has not explicitly been paused,
5913 // then call resume to start the flow of data on the next tick.
5914 if (ev === 'data' && false !== this._readableState.flowing) {
5915 this.resume();
5916 }
5917
5918 if (ev === 'readable' && this.readable) {
5919 var state = this._readableState;
5920 if (!state.readableListening) {
5921 state.readableListening = true;
5922 state.emittedReadable = false;
5923 state.needReadable = true;
5924 if (!state.reading) {
5925 var self = this;
5926 process.nextTick(function() {
5927 debug('readable nexttick read 0');
5928 self.read(0);
5929 });
5930 } else if (state.length) {
5931 emitReadable(this, state);
5932 }
ebd8d4e8
IC
5933 }
5934 }
5935
ab78acc6
IC
5936 return res;
5937};
5938Readable.prototype.addListener = Readable.prototype.on;
5939
5940// pause() and resume() are remnants of the legacy readable stream API
5941// If the user uses them, then switch into old mode.
5942Readable.prototype.resume = function() {
5943 var state = this._readableState;
5944 if (!state.flowing) {
5945 debug('resume');
5946 state.flowing = true;
5947 if (!state.reading) {
5948 debug('resume read 0');
5949 this.read(0);
5950 }
5951 resume(this, state);
5952 }
5953 return this;
5954};
ebd8d4e8 5955
ab78acc6
IC
5956function resume(stream, state) {
5957 if (!state.resumeScheduled) {
5958 state.resumeScheduled = true;
5959 process.nextTick(function() {
5960 resume_(stream, state);
ebd8d4e8
IC
5961 });
5962 }
ebd8d4e8
IC
5963}
5964
ab78acc6
IC
5965function resume_(stream, state) {
5966 state.resumeScheduled = false;
5967 stream.emit('resume');
5968 flow(stream);
5969 if (state.flowing && !state.reading)
5970 stream.read(0);
ebd8d4e8
IC
5971}
5972
ab78acc6
IC
5973Readable.prototype.pause = function() {
5974 debug('call pause flowing=%j', this._readableState.flowing);
5975 if (false !== this._readableState.flowing) {
5976 debug('pause');
5977 this._readableState.flowing = false;
5978 this.emit('pause');
5979 }
5980 return this;
5981};
ebd8d4e8 5982
ab78acc6
IC
5983function flow(stream) {
5984 var state = stream._readableState;
5985 debug('flow', state.flowing);
5986 if (state.flowing) {
5987 do {
5988 var chunk = stream.read();
5989 } while (null !== chunk && state.flowing);
5990 }
ebd8d4e8
IC
5991}
5992
ab78acc6
IC
5993// wrap an old-style stream as the async data source.
5994// This is *not* part of the readable stream interface.
5995// It is an ugly unfortunate mess of history.
5996Readable.prototype.wrap = function(stream) {
5997 var state = this._readableState;
5998 var paused = false;
ebd8d4e8 5999
ab78acc6
IC
6000 var self = this;
6001 stream.on('end', function() {
6002 debug('wrapped end');
6003 if (state.decoder && !state.ended) {
6004 var chunk = state.decoder.end();
6005 if (chunk && chunk.length)
6006 self.push(chunk);
ebd8d4e8 6007 }
ab78acc6
IC
6008
6009 self.push(null);
ebd8d4e8 6010 });
ebd8d4e8 6011
ab78acc6
IC
6012 stream.on('data', function(chunk) {
6013 debug('wrapped data');
6014 if (state.decoder)
6015 chunk = state.decoder.write(chunk);
6016 if (!chunk || !state.objectMode && !chunk.length)
6017 return;
ebd8d4e8 6018
ab78acc6
IC
6019 var ret = self.push(chunk);
6020 if (!ret) {
6021 paused = true;
6022 stream.pause();
ebd8d4e8 6023 }
ab78acc6
IC
6024 });
6025
6026 // proxy all the other methods.
6027 // important when wrapping filters and duplexes.
6028 for (var i in stream) {
6029 if (util.isFunction(stream[i]) && util.isUndefined(this[i])) {
6030 this[i] = function(method) { return function() {
6031 return stream[method].apply(stream, arguments);
6032 }}(i);
ebd8d4e8
IC
6033 }
6034 }
ab78acc6
IC
6035
6036 // proxy certain important events.
6037 var events = ['error', 'close', 'destroy', 'pause', 'resume'];
6038 forEach(events, function(ev) {
6039 stream.on(ev, self.emit.bind(self, ev));
6040 });
6041
6042 // when we try to consume some more bytes, simply unpause the
6043 // underlying stream.
6044 self._read = function(n) {
6045 debug('wrapped _read', n);
6046 if (paused) {
6047 paused = false;
6048 stream.resume();
ebd8d4e8 6049 }
ab78acc6
IC
6050 };
6051
6052 return self;
6053};
6054
6055
6056
6057// exposed for testing purposes only.
6058Readable._fromList = fromList;
6059
6060// Pluck off n bytes from an array of buffers.
6061// Length is the combined lengths of all the buffers in the list.
6062function fromList(n, state) {
6063 var list = state.buffer;
6064 var length = state.length;
6065 var stringMode = !!state.decoder;
6066 var objectMode = !!state.objectMode;
6067 var ret;
6068
6069 // nothing in the list, definitely empty.
6070 if (list.length === 0)
6071 return null;
6072
6073 if (length === 0)
6074 ret = null;
6075 else if (objectMode)
6076 ret = list.shift();
6077 else if (!n || n >= length) {
6078 // read it all, truncate the array.
6079 if (stringMode)
6080 ret = list.join('');
6081 else
6082 ret = Buffer.concat(list, length);
6083 list.length = 0;
6084 } else {
6085 // read just some of it.
6086 if (n < list[0].length) {
6087 // just take a part of the first list item.
6088 // slice is the same for buffers and strings.
6089 var buf = list[0];
6090 ret = buf.slice(0, n);
6091 list[0] = buf.slice(n);
6092 } else if (n === list[0].length) {
6093 // first list is a perfect match
6094 ret = list.shift();
ebd8d4e8 6095 } else {
ab78acc6
IC
6096 // complex case.
6097 // we have enough to cover it, but it spans past the first buffer.
6098 if (stringMode)
6099 ret = '';
6100 else
6101 ret = new Buffer(n);
ebd8d4e8 6102
ab78acc6
IC
6103 var c = 0;
6104 for (var i = 0, l = list.length; i < l && c < n; i++) {
6105 var buf = list[0];
6106 var cpy = Math.min(n - c, buf.length);
ebd8d4e8 6107
ab78acc6
IC
6108 if (stringMode)
6109 ret += buf.slice(0, cpy);
6110 else
6111 buf.copy(ret, c, 0, cpy);
ebd8d4e8 6112
ab78acc6
IC
6113 if (cpy < buf.length)
6114 list[0] = buf.slice(cpy);
6115 else
6116 list.shift();
ebd8d4e8 6117
ab78acc6
IC
6118 c += cpy;
6119 }
6120 }
ebd8d4e8
IC
6121 }
6122
ab78acc6 6123 return ret;
ebd8d4e8
IC
6124}
6125
ab78acc6
IC
6126function endReadable(stream) {
6127 var state = stream._readableState;
ebd8d4e8 6128
ab78acc6
IC
6129 // If we get here before consuming all the bytes, then that is a
6130 // bug in node. Should never happen.
6131 if (state.length > 0)
6132 throw new Error('endReadable called on non-empty stream');
ebd8d4e8 6133
ab78acc6
IC
6134 if (!state.endEmitted) {
6135 state.ended = true;
6136 process.nextTick(function() {
6137 // Check that we didn't get one last unshift.
6138 if (!state.endEmitted && state.length === 0) {
6139 state.endEmitted = true;
6140 stream.readable = false;
6141 stream.emit('end');
6142 }
6143 });
6144 }
ebd8d4e8 6145}
ebd8d4e8 6146
ab78acc6
IC
6147function forEach (xs, f) {
6148 for (var i = 0, l = xs.length; i < l; i++) {
6149 f(xs[i], i);
6150 }
ebd8d4e8 6151}
ebd8d4e8 6152
ab78acc6
IC
6153function indexOf (xs, x) {
6154 for (var i = 0, l = xs.length; i < l; i++) {
6155 if (xs[i] === x) return i;
6156 }
6157 return -1;
ebd8d4e8 6158}
ebd8d4e8 6159
ab78acc6
IC
6160}).call(this,require('_process'))
6161},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"events":11,"inherits":12,"isarray":13,"stream":26,"string_decoder/":27,"util":6}],19:[function(require,module,exports){
6162// Copyright Joyent, Inc. and other Node contributors.
6163//
6164// Permission is hereby granted, free of charge, to any person obtaining a
6165// copy of this software and associated documentation files (the
6166// "Software"), to deal in the Software without restriction, including
6167// without limitation the rights to use, copy, modify, merge, publish,
6168// distribute, sublicense, and/or sell copies of the Software, and to permit
6169// persons to whom the Software is furnished to do so, subject to the
6170// following conditions:
6171//
6172// The above copyright notice and this permission notice shall be included
6173// in all copies or substantial portions of the Software.
6174//
6175// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6176// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6177// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6178// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6179// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6180// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6181// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6182
ebd8d4e8 6183
ab78acc6
IC
6184// a transform stream is a readable/writable stream where you do
6185// something with the data. Sometimes it's called a "filter",
6186// but that's not a great name for it, since that implies a thing where
6187// some bits pass through, and others are simply ignored. (That would
6188// be a valid example of a transform, of course.)
6189//
6190// While the output is causally related to the input, it's not a
6191// necessarily symmetric or synchronous transformation. For example,
6192// a zlib stream might take multiple plain-text writes(), and then
6193// emit a single compressed chunk some time in the future.
6194//
6195// Here's how this works:
6196//
6197// The Transform stream has all the aspects of the readable and writable
6198// stream classes. When you write(chunk), that calls _write(chunk,cb)
6199// internally, and returns false if there's a lot of pending writes
6200// buffered up. When you call read(), that calls _read(n) until
6201// there's enough pending readable data buffered up.
6202//
6203// In a transform stream, the written data is placed in a buffer. When
6204// _read(n) is called, it transforms the queued up data, calling the
6205// buffered _write cb's as it consumes chunks. If consuming a single
6206// written chunk would result in multiple output chunks, then the first
6207// outputted bit calls the readcb, and subsequent chunks just go into
6208// the read buffer, and will cause it to emit 'readable' if necessary.
6209//
6210// This way, back-pressure is actually determined by the reading side,
6211// since _read has to be called to start processing a new chunk. However,
6212// a pathological inflate type of transform can cause excessive buffering
6213// here. For example, imagine a stream where every byte of input is
6214// interpreted as an integer from 0-255, and then results in that many
6215// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
6216// 1kb of data being output. In this case, you could write a very small
6217// amount of input, and end up with a very large amount of output. In
6218// such a pathological inflating mechanism, there'd be no way to tell
6219// the system to stop doing the transform. A single 4MB write could
6220// cause the system to run out of memory.
6221//
6222// However, even in such a pathological case, only a single written chunk
6223// would be consumed, and then the rest would wait (un-transformed) until
6224// the results of the previous transformed chunk were consumed.
ebd8d4e8 6225
ab78acc6 6226module.exports = Transform;
ebd8d4e8 6227
ab78acc6 6228var Duplex = require('./_stream_duplex');
ebd8d4e8 6229
ab78acc6
IC
6230/*<replacement>*/
6231var util = require('core-util-is');
6232util.inherits = require('inherits');
6233/*</replacement>*/
6234
6235util.inherits(Transform, Duplex);
6236
6237
6238function TransformState(options, stream) {
6239 this.afterTransform = function(er, data) {
6240 return afterTransform(stream, er, data);
6241 };
6242
6243 this.needTransform = false;
6244 this.transforming = false;
6245 this.writecb = null;
6246 this.writechunk = null;
ebd8d4e8 6247}
ebd8d4e8 6248
ab78acc6
IC
6249function afterTransform(stream, er, data) {
6250 var ts = stream._transformState;
6251 ts.transforming = false;
6252
6253 var cb = ts.writecb;
6254
6255 if (!cb)
6256 return stream.emit('error', new Error('no writecb in Transform class'));
6257
6258 ts.writechunk = null;
6259 ts.writecb = null;
6260
6261 if (!util.isNullOrUndefined(data))
6262 stream.push(data);
6263
6264 if (cb)
6265 cb(er);
6266
6267 var rs = stream._readableState;
6268 rs.reading = false;
6269 if (rs.needReadable || rs.length < rs.highWaterMark) {
6270 stream._read(rs.highWaterMark);
6271 }
ebd8d4e8 6272}
ebd8d4e8 6273
ab78acc6
IC
6274
6275function Transform(options) {
6276 if (!(this instanceof Transform))
6277 return new Transform(options);
6278
6279 Duplex.call(this, options);
6280
6281 this._transformState = new TransformState(options, this);
6282
6283 // when the writable side finishes, then flush out anything remaining.
6284 var stream = this;
6285
6286 // start out asking for a readable event once data is transformed.
6287 this._readableState.needReadable = true;
6288
6289 // we have implemented the _read method, and done the other things
6290 // that Readable wants before the first _read call, so unset the
6291 // sync guard flag.
6292 this._readableState.sync = false;
6293
6294 this.once('prefinish', function() {
6295 if (util.isFunction(this._flush))
6296 this._flush(function(er) {
6297 done(stream, er);
6298 });
6299 else
6300 done(stream);
6301 });
ebd8d4e8 6302}
ebd8d4e8 6303
ab78acc6
IC
6304Transform.prototype.push = function(chunk, encoding) {
6305 this._transformState.needTransform = false;
6306 return Duplex.prototype.push.call(this, chunk, encoding);
6307};
6308
6309// This is the part where you do stuff!
6310// override this function in implementation classes.
6311// 'chunk' is an input chunk.
6312//
6313// Call `push(newChunk)` to pass along transformed output
6314// to the readable side. You may call 'push' zero or more times.
6315//
6316// Call `cb(err)` when you are done with this chunk. If you pass
6317// an error, then that'll put the hurt on the whole operation. If you
6318// never call cb(), then you'll never get another chunk.
6319Transform.prototype._transform = function(chunk, encoding, cb) {
6320 throw new Error('not implemented');
6321};
6322
6323Transform.prototype._write = function(chunk, encoding, cb) {
6324 var ts = this._transformState;
6325 ts.writecb = cb;
6326 ts.writechunk = chunk;
6327 ts.writeencoding = encoding;
6328 if (!ts.transforming) {
6329 var rs = this._readableState;
6330 if (ts.needTransform ||
6331 rs.needReadable ||
6332 rs.length < rs.highWaterMark)
6333 this._read(rs.highWaterMark);
6334 }
6335};
6336
6337// Doesn't matter what the args are here.
6338// _transform does all the work.
6339// That we got here means that the readable side wants more data.
6340Transform.prototype._read = function(n) {
6341 var ts = this._transformState;
ebd8d4e8 6342
ab78acc6
IC
6343 if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) {
6344 ts.transforming = true;
6345 this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
6346 } else {
6347 // mark that we need a transform, so that any data that comes in
6348 // will get processed, now that we've asked for it.
6349 ts.needTransform = true;
6350 }
6351};
ebd8d4e8 6352
ebd8d4e8 6353
ab78acc6
IC
6354function done(stream, er) {
6355 if (er)
6356 return stream.emit('error', er);
ebd8d4e8 6357
ab78acc6
IC
6358 // if there's nothing in the write buffer, then that means
6359 // that nothing more will ever be provided
6360 var ws = stream._writableState;
6361 var ts = stream._transformState;
ebd8d4e8 6362
ab78acc6
IC
6363 if (ws.length)
6364 throw new Error('calling transform done when ws.length != 0');
6365
6366 if (ts.transforming)
6367 throw new Error('calling transform done when still transforming');
6368
6369 return stream.push(null);
ebd8d4e8
IC
6370}
6371
ab78acc6
IC
6372},{"./_stream_duplex":16,"core-util-is":21,"inherits":12}],20:[function(require,module,exports){
6373(function (process){
6374// Copyright Joyent, Inc. and other Node contributors.
6375//
6376// Permission is hereby granted, free of charge, to any person obtaining a
6377// copy of this software and associated documentation files (the
6378// "Software"), to deal in the Software without restriction, including
6379// without limitation the rights to use, copy, modify, merge, publish,
6380// distribute, sublicense, and/or sell copies of the Software, and to permit
6381// persons to whom the Software is furnished to do so, subject to the
6382// following conditions:
6383//
6384// The above copyright notice and this permission notice shall be included
6385// in all copies or substantial portions of the Software.
6386//
6387// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6388// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6389// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6390// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6391// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6392// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6393// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 6394
ab78acc6
IC
6395// A bit simpler than readable streams.
6396// Implement an async ._write(chunk, cb), and it'll handle all
6397// the drain event emission and buffering.
ebd8d4e8 6398
ab78acc6 6399module.exports = Writable;
ebd8d4e8 6400
ab78acc6
IC
6401/*<replacement>*/
6402var Buffer = require('buffer').Buffer;
6403/*</replacement>*/
ebd8d4e8 6404
ab78acc6 6405Writable.WritableState = WritableState;
ebd8d4e8
IC
6406
6407
ab78acc6
IC
6408/*<replacement>*/
6409var util = require('core-util-is');
6410util.inherits = require('inherits');
6411/*</replacement>*/
ebd8d4e8 6412
ab78acc6 6413var Stream = require('stream');
ebd8d4e8 6414
ab78acc6 6415util.inherits(Writable, Stream);
ebd8d4e8 6416
ab78acc6
IC
6417function WriteReq(chunk, encoding, cb) {
6418 this.chunk = chunk;
6419 this.encoding = encoding;
6420 this.callback = cb;
ebd8d4e8
IC
6421}
6422
ab78acc6
IC
6423function WritableState(options, stream) {
6424 var Duplex = require('./_stream_duplex');
ebd8d4e8 6425
ab78acc6 6426 options = options || {};
ebd8d4e8 6427
ab78acc6
IC
6428 // the point at which write() starts returning false
6429 // Note: 0 is a valid value, means that we always return false if
6430 // the entire buffer is not flushed immediately on write()
6431 var hwm = options.highWaterMark;
6432 var defaultHwm = options.objectMode ? 16 : 16 * 1024;
6433 this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm;
ebd8d4e8 6434
ab78acc6
IC
6435 // object stream flag to indicate whether or not this stream
6436 // contains buffers or objects.
6437 this.objectMode = !!options.objectMode;
ebd8d4e8 6438
ab78acc6
IC
6439 if (stream instanceof Duplex)
6440 this.objectMode = this.objectMode || !!options.writableObjectMode;
ebd8d4e8 6441
ab78acc6
IC
6442 // cast to ints.
6443 this.highWaterMark = ~~this.highWaterMark;
ebd8d4e8 6444
ab78acc6
IC
6445 this.needDrain = false;
6446 // at the start of calling end()
6447 this.ending = false;
6448 // when end() has been called, and returned
6449 this.ended = false;
6450 // when 'finish' is emitted
6451 this.finished = false;
ebd8d4e8 6452
ab78acc6
IC
6453 // should we decode strings into buffers before passing to _write?
6454 // this is here so that some node-core streams can optimize string
6455 // handling at a lower level.
6456 var noDecode = options.decodeStrings === false;
6457 this.decodeStrings = !noDecode;
ebd8d4e8 6458
ab78acc6
IC
6459 // Crypto is kind of old and crusty. Historically, its default string
6460 // encoding is 'binary' so we have to make this configurable.
6461 // Everything else in the universe uses 'utf8', though.
6462 this.defaultEncoding = options.defaultEncoding || 'utf8';
ebd8d4e8 6463
ab78acc6
IC
6464 // not an actual buffer we keep track of, but a measurement
6465 // of how much we're waiting to get pushed to some underlying
6466 // socket or file.
6467 this.length = 0;
ebd8d4e8 6468
ab78acc6
IC
6469 // a flag to see when we're in the middle of a write.
6470 this.writing = false;
ebd8d4e8 6471
ab78acc6
IC
6472 // when true all writes will be buffered until .uncork() call
6473 this.corked = 0;
ebd8d4e8 6474
ab78acc6
IC
6475 // a flag to be able to tell if the onwrite cb is called immediately,
6476 // or on a later tick. We set this to true at first, because any
6477 // actions that shouldn't happen until "later" should generally also
6478 // not happen before the first write call.
6479 this.sync = true;
ebd8d4e8 6480
ab78acc6
IC
6481 // a flag to know if we're processing previously buffered items, which
6482 // may call the _write() callback in the same tick, so that we don't
6483 // end up in an overlapped onwrite situation.
6484 this.bufferProcessing = false;
ebd8d4e8 6485
ab78acc6
IC
6486 // the callback that's passed to _write(chunk,cb)
6487 this.onwrite = function(er) {
6488 onwrite(stream, er);
6489 };
ebd8d4e8 6490
ab78acc6
IC
6491 // the callback that the user supplies to write(chunk,encoding,cb)
6492 this.writecb = null;
ebd8d4e8 6493
ab78acc6
IC
6494 // the amount that is being written when _write is called.
6495 this.writelen = 0;
ebd8d4e8 6496
ab78acc6 6497 this.buffer = [];
ebd8d4e8 6498
ab78acc6
IC
6499 // number of pending user-supplied write callbacks
6500 // this must be 0 before 'finish' can be emitted
6501 this.pendingcb = 0;
ebd8d4e8 6502
ab78acc6
IC
6503 // emit prefinish if the only thing we're waiting for is _write cbs
6504 // This is relevant for synchronous Transform streams
6505 this.prefinished = false;
ebd8d4e8 6506
ab78acc6
IC
6507 // True if the error was already emitted and should not be thrown again
6508 this.errorEmitted = false;
ebd8d4e8
IC
6509}
6510
ab78acc6
IC
6511function Writable(options) {
6512 var Duplex = require('./_stream_duplex');
ebd8d4e8 6513
ab78acc6
IC
6514 // Writable ctor is applied to Duplexes, though they're not
6515 // instanceof Writable, they're instanceof Readable.
6516 if (!(this instanceof Writable) && !(this instanceof Duplex))
6517 return new Writable(options);
ebd8d4e8 6518
ab78acc6 6519 this._writableState = new WritableState(options, this);
ebd8d4e8 6520
ab78acc6
IC
6521 // legacy.
6522 this.writable = true;
ebd8d4e8 6523
ab78acc6 6524 Stream.call(this);
ebd8d4e8
IC
6525}
6526
ab78acc6
IC
6527// Otherwise people can pipe Writable streams, which is just wrong.
6528Writable.prototype.pipe = function() {
6529 this.emit('error', new Error('Cannot pipe. Not readable.'));
6530};
ebd8d4e8 6531
ebd8d4e8 6532
ab78acc6
IC
6533function writeAfterEnd(stream, state, cb) {
6534 var er = new Error('write after end');
6535 // TODO: defer error events consistently everywhere, not just the cb
6536 stream.emit('error', er);
6537 process.nextTick(function() {
6538 cb(er);
6539 });
ebd8d4e8
IC
6540}
6541
ab78acc6
IC
6542// If we get something that is not a buffer, string, null, or undefined,
6543// and we're not in objectMode, then that's an error.
6544// Otherwise stream chunks are all considered to be of length=1, and the
6545// watermarks determine how many objects to keep in the buffer, rather than
6546// how many bytes or characters.
6547function validChunk(stream, state, chunk, cb) {
6548 var valid = true;
6549 if (!util.isBuffer(chunk) &&
6550 !util.isString(chunk) &&
6551 !util.isNullOrUndefined(chunk) &&
6552 !state.objectMode) {
6553 var er = new TypeError('Invalid non-string/buffer chunk');
6554 stream.emit('error', er);
6555 process.nextTick(function() {
6556 cb(er);
6557 });
6558 valid = false;
6559 }
6560 return valid;
ebd8d4e8
IC
6561}
6562
ab78acc6
IC
6563Writable.prototype.write = function(chunk, encoding, cb) {
6564 var state = this._writableState;
6565 var ret = false;
ebd8d4e8 6566
ab78acc6
IC
6567 if (util.isFunction(encoding)) {
6568 cb = encoding;
6569 encoding = null;
ebd8d4e8 6570 }
ebd8d4e8 6571
ab78acc6
IC
6572 if (util.isBuffer(chunk))
6573 encoding = 'buffer';
6574 else if (!encoding)
6575 encoding = state.defaultEncoding;
6576
6577 if (!util.isFunction(cb))
6578 cb = function() {};
6579
6580 if (state.ended)
6581 writeAfterEnd(this, state, cb);
6582 else if (validChunk(this, state, chunk, cb)) {
6583 state.pendingcb++;
6584 ret = writeOrBuffer(this, state, chunk, encoding, cb);
ebd8d4e8 6585 }
ebd8d4e8 6586
ab78acc6
IC
6587 return ret;
6588};
6589
6590Writable.prototype.cork = function() {
6591 var state = this._writableState;
6592
6593 state.corked++;
6594};
ebd8d4e8 6595
ab78acc6
IC
6596Writable.prototype.uncork = function() {
6597 var state = this._writableState;
ebd8d4e8 6598
ab78acc6
IC
6599 if (state.corked) {
6600 state.corked--;
ebd8d4e8 6601
ab78acc6
IC
6602 if (!state.writing &&
6603 !state.corked &&
6604 !state.finished &&
6605 !state.bufferProcessing &&
6606 state.buffer.length)
6607 clearBuffer(this, state);
ebd8d4e8 6608 }
ab78acc6 6609};
ebd8d4e8 6610
ab78acc6
IC
6611function decodeChunk(state, chunk, encoding) {
6612 if (!state.objectMode &&
6613 state.decodeStrings !== false &&
6614 util.isString(chunk)) {
6615 chunk = new Buffer(chunk, encoding);
ebd8d4e8 6616 }
ab78acc6 6617 return chunk;
ebd8d4e8
IC
6618}
6619
ab78acc6
IC
6620// if we're already writing something, then just put this
6621// in the queue, and wait our turn. Otherwise, call _write
6622// If we return false, then we need a drain event, so set that flag.
6623function writeOrBuffer(stream, state, chunk, encoding, cb) {
6624 chunk = decodeChunk(state, chunk, encoding);
6625 if (util.isBuffer(chunk))
6626 encoding = 'buffer';
6627 var len = state.objectMode ? 1 : chunk.length;
6628
6629 state.length += len;
6630
6631 var ret = state.length < state.highWaterMark;
6632 // we must ensure that previous needDrain will not be reset to false.
6633 if (!ret)
6634 state.needDrain = true;
6635
6636 if (state.writing || state.corked)
6637 state.buffer.push(new WriteReq(chunk, encoding, cb));
6638 else
6639 doWrite(stream, state, false, len, chunk, encoding, cb);
6640
6641 return ret;
ebd8d4e8
IC
6642}
6643
ab78acc6
IC
6644function doWrite(stream, state, writev, len, chunk, encoding, cb) {
6645 state.writelen = len;
6646 state.writecb = cb;
6647 state.writing = true;
6648 state.sync = true;
6649 if (writev)
6650 stream._writev(chunk, state.onwrite);
6651 else
6652 stream._write(chunk, encoding, state.onwrite);
6653 state.sync = false;
ebd8d4e8
IC
6654}
6655
ab78acc6
IC
6656function onwriteError(stream, state, sync, er, cb) {
6657 if (sync)
6658 process.nextTick(function() {
6659 state.pendingcb--;
6660 cb(er);
6661 });
6662 else {
6663 state.pendingcb--;
6664 cb(er);
6665 }
ebd8d4e8 6666
ab78acc6
IC
6667 stream._writableState.errorEmitted = true;
6668 stream.emit('error', er);
6669}
ebd8d4e8 6670
ab78acc6
IC
6671function onwriteStateUpdate(state) {
6672 state.writing = false;
6673 state.writecb = null;
6674 state.length -= state.writelen;
6675 state.writelen = 0;
6676}
ebd8d4e8 6677
ab78acc6
IC
6678function onwrite(stream, er) {
6679 var state = stream._writableState;
6680 var sync = state.sync;
6681 var cb = state.writecb;
ebd8d4e8 6682
ab78acc6 6683 onwriteStateUpdate(state);
ebd8d4e8 6684
ab78acc6
IC
6685 if (er)
6686 onwriteError(stream, state, sync, er, cb);
6687 else {
6688 // Check if we're actually ready to finish, but don't emit yet
6689 var finished = needFinish(stream, state);
ebd8d4e8 6690
ab78acc6
IC
6691 if (!finished &&
6692 !state.corked &&
6693 !state.bufferProcessing &&
6694 state.buffer.length) {
6695 clearBuffer(stream, state);
6696 }
6697
6698 if (sync) {
6699 process.nextTick(function() {
6700 afterWrite(stream, state, finished, cb);
6701 });
6702 } else {
6703 afterWrite(stream, state, finished, cb);
ebd8d4e8 6704 }
ebd8d4e8
IC
6705 }
6706}
6707
ab78acc6
IC
6708function afterWrite(stream, state, finished, cb) {
6709 if (!finished)
6710 onwriteDrain(stream, state);
6711 state.pendingcb--;
6712 cb();
6713 finishMaybe(stream, state);
6714}
6715
6716// Must force callback to be called on nextTick, so that we don't
6717// emit 'drain' before the write() consumer gets the 'false' return
6718// value, and has a chance to attach a 'drain' listener.
6719function onwriteDrain(stream, state) {
6720 if (state.length === 0 && state.needDrain) {
6721 state.needDrain = false;
6722 stream.emit('drain');
ebd8d4e8
IC
6723 }
6724}
6725
ebd8d4e8 6726
ab78acc6
IC
6727// if there's something in the buffer waiting, then process it
6728function clearBuffer(stream, state) {
6729 state.bufferProcessing = true;
6730
6731 if (stream._writev && state.buffer.length > 1) {
6732 // Fast case, write everything using _writev()
6733 var cbs = [];
6734 for (var c = 0; c < state.buffer.length; c++)
6735 cbs.push(state.buffer[c].callback);
6736
6737 // count the one we are adding, as well.
6738 // TODO(isaacs) clean this up
6739 state.pendingcb++;
6740 doWrite(stream, state, true, state.length, state.buffer, '', function(err) {
6741 for (var i = 0; i < cbs.length; i++) {
6742 state.pendingcb--;
6743 cbs[i](err);
6744 }
6745 });
6746
6747 // Clear buffer
6748 state.buffer = [];
6749 } else {
6750 // Slow case, write chunks one-by-one
6751 for (var c = 0; c < state.buffer.length; c++) {
6752 var entry = state.buffer[c];
6753 var chunk = entry.chunk;
6754 var encoding = entry.encoding;
6755 var cb = entry.callback;
6756 var len = state.objectMode ? 1 : chunk.length;
6757
6758 doWrite(stream, state, false, len, chunk, encoding, cb);
6759
6760 // if we didn't call the onwrite immediately, then
6761 // it means that we need to wait until it does.
6762 // also, that means that the chunk and cb are currently
6763 // being processed, so move the buffer counter past them.
6764 if (state.writing) {
6765 c++;
6766 break;
6767 }
ebd8d4e8 6768 }
ab78acc6
IC
6769
6770 if (c < state.buffer.length)
6771 state.buffer = state.buffer.slice(c);
6772 else
6773 state.buffer.length = 0;
ebd8d4e8
IC
6774 }
6775
ab78acc6 6776 state.bufferProcessing = false;
ebd8d4e8
IC
6777}
6778
ab78acc6
IC
6779Writable.prototype._write = function(chunk, encoding, cb) {
6780 cb(new Error('not implemented'));
ebd8d4e8 6781
ab78acc6 6782};
ebd8d4e8 6783
ab78acc6 6784Writable.prototype._writev = null;
ebd8d4e8 6785
ab78acc6
IC
6786Writable.prototype.end = function(chunk, encoding, cb) {
6787 var state = this._writableState;
ebd8d4e8 6788
ab78acc6
IC
6789 if (util.isFunction(chunk)) {
6790 cb = chunk;
6791 chunk = null;
6792 encoding = null;
6793 } else if (util.isFunction(encoding)) {
6794 cb = encoding;
6795 encoding = null;
6796 }
ebd8d4e8 6797
ab78acc6
IC
6798 if (!util.isNullOrUndefined(chunk))
6799 this.write(chunk, encoding);
6800
6801 // .end() fully uncorks
6802 if (state.corked) {
6803 state.corked = 1;
6804 this.uncork();
ebd8d4e8 6805 }
ab78acc6
IC
6806
6807 // ignore unnecessary end() calls.
6808 if (!state.ending && !state.finished)
6809 endWritable(this, state, cb);
6810};
6811
6812
6813function needFinish(stream, state) {
6814 return (state.ending &&
6815 state.length === 0 &&
6816 !state.finished &&
6817 !state.writing);
ebd8d4e8
IC
6818}
6819
ab78acc6
IC
6820function prefinish(stream, state) {
6821 if (!state.prefinished) {
6822 state.prefinished = true;
6823 stream.emit('prefinish');
ebd8d4e8 6824 }
ebd8d4e8
IC
6825}
6826
ab78acc6
IC
6827function finishMaybe(stream, state) {
6828 var need = needFinish(stream, state);
6829 if (need) {
6830 if (state.pendingcb === 0) {
6831 prefinish(stream, state);
6832 state.finished = true;
6833 stream.emit('finish');
6834 } else
6835 prefinish(stream, state);
6836 }
6837 return need;
6838}
ebd8d4e8 6839
ab78acc6
IC
6840function endWritable(stream, state, cb) {
6841 state.ending = true;
6842 finishMaybe(stream, state);
6843 if (cb) {
6844 if (state.finished)
6845 process.nextTick(cb);
6846 else
6847 stream.once('finish', cb);
ebd8d4e8 6848 }
ab78acc6 6849 state.ended = true;
ebd8d4e8
IC
6850}
6851
ab78acc6
IC
6852}).call(this,require('_process'))
6853},{"./_stream_duplex":16,"_process":14,"buffer":7,"core-util-is":21,"inherits":12,"stream":26}],21:[function(require,module,exports){
6854(function (Buffer){
6855// Copyright Joyent, Inc. and other Node contributors.
6856//
6857// Permission is hereby granted, free of charge, to any person obtaining a
6858// copy of this software and associated documentation files (the
6859// "Software"), to deal in the Software without restriction, including
6860// without limitation the rights to use, copy, modify, merge, publish,
6861// distribute, sublicense, and/or sell copies of the Software, and to permit
6862// persons to whom the Software is furnished to do so, subject to the
6863// following conditions:
6864//
6865// The above copyright notice and this permission notice shall be included
6866// in all copies or substantial portions of the Software.
6867//
6868// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6869// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6870// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6871// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6872// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
6873// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
6874// USE OR OTHER DEALINGS IN THE SOFTWARE.
6875
6876// NOTE: These type checking functions intentionally don't use `instanceof`
6877// because it is fragile and can be easily faked with `Object.create()`.
6878function isArray(ar) {
6879 return Array.isArray(ar);
ebd8d4e8 6880}
ab78acc6 6881exports.isArray = isArray;
ebd8d4e8 6882
ab78acc6
IC
6883function isBoolean(arg) {
6884 return typeof arg === 'boolean';
ebd8d4e8 6885}
ab78acc6 6886exports.isBoolean = isBoolean;
ebd8d4e8 6887
ab78acc6
IC
6888function isNull(arg) {
6889 return arg === null;
6890}
6891exports.isNull = isNull;
ebd8d4e8 6892
ab78acc6
IC
6893function isNullOrUndefined(arg) {
6894 return arg == null;
6895}
6896exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 6897
ab78acc6
IC
6898function isNumber(arg) {
6899 return typeof arg === 'number';
ebd8d4e8 6900}
ab78acc6 6901exports.isNumber = isNumber;
ebd8d4e8 6902
ab78acc6
IC
6903function isString(arg) {
6904 return typeof arg === 'string';
6905}
6906exports.isString = isString;
ebd8d4e8 6907
ab78acc6
IC
6908function isSymbol(arg) {
6909 return typeof arg === 'symbol';
6910}
6911exports.isSymbol = isSymbol;
ebd8d4e8 6912
ab78acc6
IC
6913function isUndefined(arg) {
6914 return arg === void 0;
ebd8d4e8 6915}
ab78acc6 6916exports.isUndefined = isUndefined;
ebd8d4e8 6917
ab78acc6
IC
6918function isRegExp(re) {
6919 return isObject(re) && objectToString(re) === '[object RegExp]';
ebd8d4e8 6920}
ab78acc6 6921exports.isRegExp = isRegExp;
ebd8d4e8 6922
ab78acc6
IC
6923function isObject(arg) {
6924 return typeof arg === 'object' && arg !== null;
ebd8d4e8 6925}
ab78acc6 6926exports.isObject = isObject;
ebd8d4e8 6927
ab78acc6
IC
6928function isDate(d) {
6929 return isObject(d) && objectToString(d) === '[object Date]';
6930}
6931exports.isDate = isDate;
ebd8d4e8 6932
ab78acc6
IC
6933function isError(e) {
6934 return isObject(e) &&
6935 (objectToString(e) === '[object Error]' || e instanceof Error);
6936}
6937exports.isError = isError;
ebd8d4e8 6938
ab78acc6
IC
6939function isFunction(arg) {
6940 return typeof arg === 'function';
6941}
6942exports.isFunction = isFunction;
6943
6944function isPrimitive(arg) {
6945 return arg === null ||
6946 typeof arg === 'boolean' ||
6947 typeof arg === 'number' ||
6948 typeof arg === 'string' ||
6949 typeof arg === 'symbol' || // ES6 symbol
6950 typeof arg === 'undefined';
ebd8d4e8 6951}
ab78acc6 6952exports.isPrimitive = isPrimitive;
ebd8d4e8 6953
ab78acc6
IC
6954function isBuffer(arg) {
6955 return Buffer.isBuffer(arg);
ebd8d4e8 6956}
ab78acc6 6957exports.isBuffer = isBuffer;
ebd8d4e8 6958
ab78acc6
IC
6959function objectToString(o) {
6960 return Object.prototype.toString.call(o);
ebd8d4e8 6961}
ab78acc6
IC
6962}).call(this,require("buffer").Buffer)
6963},{"buffer":7}],22:[function(require,module,exports){
6964module.exports = require("./lib/_stream_passthrough.js")
ebd8d4e8 6965
ab78acc6
IC
6966},{"./lib/_stream_passthrough.js":17}],23:[function(require,module,exports){
6967exports = module.exports = require('./lib/_stream_readable.js');
6968exports.Stream = require('stream');
6969exports.Readable = exports;
6970exports.Writable = require('./lib/_stream_writable.js');
6971exports.Duplex = require('./lib/_stream_duplex.js');
6972exports.Transform = require('./lib/_stream_transform.js');
6973exports.PassThrough = require('./lib/_stream_passthrough.js');
ebd8d4e8 6974
ab78acc6
IC
6975},{"./lib/_stream_duplex.js":16,"./lib/_stream_passthrough.js":17,"./lib/_stream_readable.js":18,"./lib/_stream_transform.js":19,"./lib/_stream_writable.js":20,"stream":26}],24:[function(require,module,exports){
6976module.exports = require("./lib/_stream_transform.js")
ebd8d4e8 6977
ab78acc6
IC
6978},{"./lib/_stream_transform.js":19}],25:[function(require,module,exports){
6979module.exports = require("./lib/_stream_writable.js")
6980
6981},{"./lib/_stream_writable.js":20}],26:[function(require,module,exports){
6982// Copyright Joyent, Inc. and other Node contributors.
6983//
6984// Permission is hereby granted, free of charge, to any person obtaining a
6985// copy of this software and associated documentation files (the
6986// "Software"), to deal in the Software without restriction, including
6987// without limitation the rights to use, copy, modify, merge, publish,
6988// distribute, sublicense, and/or sell copies of the Software, and to permit
6989// persons to whom the Software is furnished to do so, subject to the
6990// following conditions:
6991//
6992// The above copyright notice and this permission notice shall be included
6993// in all copies or substantial portions of the Software.
6994//
6995// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
6996// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
6997// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
6998// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
6999// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7000// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7001// USE OR OTHER DEALINGS IN THE SOFTWARE.
7002
7003module.exports = Stream;
7004
7005var EE = require('events').EventEmitter;
7006var inherits = require('inherits');
7007
7008inherits(Stream, EE);
7009Stream.Readable = require('readable-stream/readable.js');
7010Stream.Writable = require('readable-stream/writable.js');
7011Stream.Duplex = require('readable-stream/duplex.js');
7012Stream.Transform = require('readable-stream/transform.js');
7013Stream.PassThrough = require('readable-stream/passthrough.js');
7014
7015// Backwards-compat with node 0.4.x
7016Stream.Stream = Stream;
7017
7018
7019
7020// old-style streams. Note that the pipe method (the only relevant
7021// part of this class) is overridden in the Readable class.
7022
7023function Stream() {
7024 EE.call(this);
ebd8d4e8
IC
7025}
7026
ab78acc6
IC
7027Stream.prototype.pipe = function(dest, options) {
7028 var source = this;
ebd8d4e8 7029
ab78acc6
IC
7030 function ondata(chunk) {
7031 if (dest.writable) {
7032 if (false === dest.write(chunk) && source.pause) {
7033 source.pause();
7034 }
7035 }
7036 }
ebd8d4e8 7037
ab78acc6 7038 source.on('data', ondata);
ebd8d4e8 7039
ab78acc6
IC
7040 function ondrain() {
7041 if (source.readable && source.resume) {
7042 source.resume();
7043 }
7044 }
ebd8d4e8 7045
ab78acc6 7046 dest.on('drain', ondrain);
ebd8d4e8 7047
ab78acc6
IC
7048 // If the 'end' option is not supplied, dest.end() will be called when
7049 // source gets the 'end' or 'close' events. Only dest.end() once.
7050 if (!dest._isStdio && (!options || options.end !== false)) {
7051 source.on('end', onend);
7052 source.on('close', onclose);
ebd8d4e8
IC
7053 }
7054
ab78acc6
IC
7055 var didOnEnd = false;
7056 function onend() {
7057 if (didOnEnd) return;
7058 didOnEnd = true;
ebd8d4e8 7059
ab78acc6
IC
7060 dest.end();
7061 }
ebd8d4e8 7062
ebd8d4e8 7063
ab78acc6
IC
7064 function onclose() {
7065 if (didOnEnd) return;
7066 didOnEnd = true;
ebd8d4e8 7067
ab78acc6 7068 if (typeof dest.destroy === 'function') dest.destroy();
ebd8d4e8
IC
7069 }
7070
ab78acc6
IC
7071 // don't leave dangling pipes when there are errors.
7072 function onerror(er) {
7073 cleanup();
7074 if (EE.listenerCount(this, 'error') === 0) {
7075 throw er; // Unhandled stream error in pipe.
7076 }
7077 }
ebd8d4e8 7078
ab78acc6
IC
7079 source.on('error', onerror);
7080 dest.on('error', onerror);
ebd8d4e8 7081
ab78acc6
IC
7082 // remove all the event listeners that were added.
7083 function cleanup() {
7084 source.removeListener('data', ondata);
7085 dest.removeListener('drain', ondrain);
ebd8d4e8 7086
ab78acc6
IC
7087 source.removeListener('end', onend);
7088 source.removeListener('close', onclose);
7089
7090 source.removeListener('error', onerror);
7091 dest.removeListener('error', onerror);
7092
7093 source.removeListener('end', cleanup);
7094 source.removeListener('close', cleanup);
7095
7096 dest.removeListener('close', cleanup);
ebd8d4e8
IC
7097 }
7098
ab78acc6
IC
7099 source.on('end', cleanup);
7100 source.on('close', cleanup);
ebd8d4e8 7101
ab78acc6 7102 dest.on('close', cleanup);
ebd8d4e8 7103
ab78acc6 7104 dest.emit('pipe', source);
ebd8d4e8 7105
ab78acc6
IC
7106 // Allow for unix-like usage: A.pipe(B).pipe(C)
7107 return dest;
7108};
ebd8d4e8 7109
ab78acc6
IC
7110},{"events":11,"inherits":12,"readable-stream/duplex.js":15,"readable-stream/passthrough.js":22,"readable-stream/readable.js":23,"readable-stream/transform.js":24,"readable-stream/writable.js":25}],27:[function(require,module,exports){
7111// Copyright Joyent, Inc. and other Node contributors.
7112//
7113// Permission is hereby granted, free of charge, to any person obtaining a
7114// copy of this software and associated documentation files (the
7115// "Software"), to deal in the Software without restriction, including
7116// without limitation the rights to use, copy, modify, merge, publish,
7117// distribute, sublicense, and/or sell copies of the Software, and to permit
7118// persons to whom the Software is furnished to do so, subject to the
7119// following conditions:
7120//
7121// The above copyright notice and this permission notice shall be included
7122// in all copies or substantial portions of the Software.
7123//
7124// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7125// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7126// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7127// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7128// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7129// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7130// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7131
ab78acc6 7132var Buffer = require('buffer').Buffer;
ebd8d4e8 7133
ab78acc6
IC
7134var isBufferEncoding = Buffer.isEncoding
7135 || function(encoding) {
7136 switch (encoding && encoding.toLowerCase()) {
7137 case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true;
7138 default: return false;
7139 }
7140 }
ebd8d4e8 7141
ebd8d4e8 7142
ab78acc6
IC
7143function assertEncoding(encoding) {
7144 if (encoding && !isBufferEncoding(encoding)) {
7145 throw new Error('Unknown encoding: ' + encoding);
ebd8d4e8 7146 }
ebd8d4e8
IC
7147}
7148
ab78acc6
IC
7149// StringDecoder provides an interface for efficiently splitting a series of
7150// buffers into a series of JS strings without breaking apart multi-byte
7151// characters. CESU-8 is handled as part of the UTF-8 encoding.
7152//
7153// @TODO Handling all encodings inside a single object makes it very difficult
7154// to reason about this code, so it should be split up in the future.
7155// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code
7156// points as used by CESU-8.
7157var StringDecoder = exports.StringDecoder = function(encoding) {
7158 this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, '');
7159 assertEncoding(encoding);
7160 switch (this.encoding) {
7161 case 'utf8':
7162 // CESU-8 represents each of Surrogate Pair by 3-bytes
7163 this.surrogateSize = 3;
7164 break;
7165 case 'ucs2':
7166 case 'utf16le':
7167 // UTF-16 represents each of Surrogate Pair by 2-bytes
7168 this.surrogateSize = 2;
7169 this.detectIncompleteChar = utf16DetectIncompleteChar;
7170 break;
7171 case 'base64':
7172 // Base-64 stores 3 bytes in 4 chars, and pads the remainder.
7173 this.surrogateSize = 3;
7174 this.detectIncompleteChar = base64DetectIncompleteChar;
7175 break;
7176 default:
7177 this.write = passThroughWrite;
7178 return;
7179 }
ebd8d4e8 7180
ab78acc6
IC
7181 // Enough space to store all bytes of a single character. UTF-8 needs 4
7182 // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate).
7183 this.charBuffer = new Buffer(6);
7184 // Number of bytes received for the current incomplete multi-byte character.
7185 this.charReceived = 0;
7186 // Number of bytes expected for the current incomplete multi-byte character.
7187 this.charLength = 0;
7188};
ebd8d4e8 7189
ebd8d4e8 7190
ab78acc6
IC
7191// write decodes the given buffer and returns it as JS string that is
7192// guaranteed to not contain any partial multi-byte characters. Any partial
7193// character found at the end of the buffer is buffered up, and will be
7194// returned when calling write again with the remaining bytes.
7195//
7196// Note: Converting a Buffer containing an orphan surrogate to a String
7197// currently works, but converting a String to a Buffer (via `new Buffer`, or
7198// Buffer#write) will replace incomplete surrogates with the unicode
7199// replacement character. See https://codereview.chromium.org/121173009/ .
7200StringDecoder.prototype.write = function(buffer) {
7201 var charStr = '';
7202 // if our last write ended with an incomplete multibyte character
7203 while (this.charLength) {
7204 // determine how many remaining bytes this buffer has to offer for this char
7205 var available = (buffer.length >= this.charLength - this.charReceived) ?
7206 this.charLength - this.charReceived :
7207 buffer.length;
7208
7209 // add the new bytes to the char buffer
7210 buffer.copy(this.charBuffer, this.charReceived, 0, available);
7211 this.charReceived += available;
7212
7213 if (this.charReceived < this.charLength) {
7214 // still not enough chars in this buffer? wait for more ...
7215 return '';
7216 }
7217
7218 // remove bytes belonging to the current character from the buffer
7219 buffer = buffer.slice(available, buffer.length);
7220
7221 // get the character that was split
7222 charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding);
7223
7224 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7225 var charCode = charStr.charCodeAt(charStr.length - 1);
7226 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7227 this.charLength += this.surrogateSize;
7228 charStr = '';
7229 continue;
7230 }
7231 this.charReceived = this.charLength = 0;
ebd8d4e8 7232
ab78acc6
IC
7233 // if there are no more bytes in this buffer, just emit our char
7234 if (buffer.length === 0) {
7235 return charStr;
7236 }
7237 break;
ebd8d4e8 7238 }
ebd8d4e8 7239
ab78acc6
IC
7240 // determine and set charLength / charReceived
7241 this.detectIncompleteChar(buffer);
ebd8d4e8 7242
ab78acc6
IC
7243 var end = buffer.length;
7244 if (this.charLength) {
7245 // buffer the incomplete character bytes we got
7246 buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end);
7247 end -= this.charReceived;
ebd8d4e8
IC
7248 }
7249
ab78acc6 7250 charStr += buffer.toString(this.encoding, 0, end);
ebd8d4e8 7251
ab78acc6
IC
7252 var end = charStr.length - 1;
7253 var charCode = charStr.charCodeAt(end);
7254 // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character
7255 if (charCode >= 0xD800 && charCode <= 0xDBFF) {
7256 var size = this.surrogateSize;
7257 this.charLength += size;
7258 this.charReceived += size;
7259 this.charBuffer.copy(this.charBuffer, size, 0, size);
7260 buffer.copy(this.charBuffer, 0, 0, size);
7261 return charStr.substring(0, end);
ebd8d4e8
IC
7262 }
7263
ab78acc6
IC
7264 // or just emit the charStr
7265 return charStr;
7266};
ebd8d4e8 7267
ab78acc6
IC
7268// detectIncompleteChar determines if there is an incomplete UTF-8 character at
7269// the end of the given buffer. If so, it sets this.charLength to the byte
7270// length that character, and sets this.charReceived to the number of bytes
7271// that are available for this character.
7272StringDecoder.prototype.detectIncompleteChar = function(buffer) {
7273 // determine how many bytes we have to check at the end of this buffer
7274 var i = (buffer.length >= 3) ? 3 : buffer.length;
ebd8d4e8 7275
ab78acc6
IC
7276 // Figure out if one of the last i bytes of our buffer announces an
7277 // incomplete char.
7278 for (; i > 0; i--) {
7279 var c = buffer[buffer.length - i];
ebd8d4e8 7280
ab78acc6 7281 // See http://en.wikipedia.org/wiki/UTF-8#Description
ebd8d4e8 7282
ab78acc6
IC
7283 // 110XXXXX
7284 if (i == 1 && c >> 5 == 0x06) {
7285 this.charLength = 2;
7286 break;
7287 }
ebd8d4e8 7288
ab78acc6
IC
7289 // 1110XXXX
7290 if (i <= 2 && c >> 4 == 0x0E) {
7291 this.charLength = 3;
7292 break;
7293 }
ebd8d4e8 7294
ab78acc6
IC
7295 // 11110XXX
7296 if (i <= 3 && c >> 3 == 0x1E) {
7297 this.charLength = 4;
7298 break;
7299 }
7300 }
7301 this.charReceived = i;
7302};
ebd8d4e8 7303
ab78acc6
IC
7304StringDecoder.prototype.end = function(buffer) {
7305 var res = '';
7306 if (buffer && buffer.length)
7307 res = this.write(buffer);
ebd8d4e8 7308
ab78acc6
IC
7309 if (this.charReceived) {
7310 var cr = this.charReceived;
7311 var buf = this.charBuffer;
7312 var enc = this.encoding;
7313 res += buf.slice(0, cr).toString(enc);
ebd8d4e8
IC
7314 }
7315
ab78acc6
IC
7316 return res;
7317};
ebd8d4e8 7318
ab78acc6
IC
7319function passThroughWrite(buffer) {
7320 return buffer.toString(this.encoding);
ebd8d4e8
IC
7321}
7322
ab78acc6
IC
7323function utf16DetectIncompleteChar(buffer) {
7324 this.charReceived = buffer.length % 2;
7325 this.charLength = this.charReceived ? 2 : 0;
ebd8d4e8
IC
7326}
7327
ab78acc6
IC
7328function base64DetectIncompleteChar(buffer) {
7329 this.charReceived = buffer.length % 3;
7330 this.charLength = this.charReceived ? 3 : 0;
ebd8d4e8
IC
7331}
7332
ab78acc6
IC
7333},{"buffer":7}],28:[function(require,module,exports){
7334module.exports = function isBuffer(arg) {
7335 return arg && typeof arg === 'object'
7336 && typeof arg.copy === 'function'
7337 && typeof arg.fill === 'function'
7338 && typeof arg.readUInt8 === 'function';
7339}
7340},{}],29:[function(require,module,exports){
7341(function (process,global){
7342// Copyright Joyent, Inc. and other Node contributors.
7343//
7344// Permission is hereby granted, free of charge, to any person obtaining a
7345// copy of this software and associated documentation files (the
7346// "Software"), to deal in the Software without restriction, including
7347// without limitation the rights to use, copy, modify, merge, publish,
7348// distribute, sublicense, and/or sell copies of the Software, and to permit
7349// persons to whom the Software is furnished to do so, subject to the
7350// following conditions:
7351//
7352// The above copyright notice and this permission notice shall be included
7353// in all copies or substantial portions of the Software.
7354//
7355// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
7356// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
7357// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
7358// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
7359// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
7360// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
7361// USE OR OTHER DEALINGS IN THE SOFTWARE.
ebd8d4e8 7362
ab78acc6
IC
7363var formatRegExp = /%[sdj%]/g;
7364exports.format = function(f) {
7365 if (!isString(f)) {
7366 var objects = [];
7367 for (var i = 0; i < arguments.length; i++) {
7368 objects.push(inspect(arguments[i]));
7369 }
7370 return objects.join(' ');
7371 }
ebd8d4e8 7372
ab78acc6
IC
7373 var i = 1;
7374 var args = arguments;
7375 var len = args.length;
7376 var str = String(f).replace(formatRegExp, function(x) {
7377 if (x === '%%') return '%';
7378 if (i >= len) return x;
7379 switch (x) {
7380 case '%s': return String(args[i++]);
7381 case '%d': return Number(args[i++]);
7382 case '%j':
7383 try {
7384 return JSON.stringify(args[i++]);
7385 } catch (_) {
7386 return '[Circular]';
7387 }
7388 default:
7389 return x;
7390 }
7391 });
7392 for (var x = args[i]; i < len; x = args[++i]) {
7393 if (isNull(x) || !isObject(x)) {
7394 str += ' ' + x;
7395 } else {
7396 str += ' ' + inspect(x);
7397 }
7398 }
7399 return str;
7400};
ebd8d4e8 7401
ebd8d4e8 7402
ab78acc6
IC
7403// Mark that a method should not be used.
7404// Returns a modified function which warns once by default.
7405// If --no-deprecation is set, then it is a no-op.
7406exports.deprecate = function(fn, msg) {
7407 // Allow for deprecating things in the process of starting up.
7408 if (isUndefined(global.process)) {
7409 return function() {
7410 return exports.deprecate(fn, msg).apply(this, arguments);
7411 };
7412 }
ebd8d4e8 7413
ab78acc6
IC
7414 if (process.noDeprecation === true) {
7415 return fn;
7416 }
ebd8d4e8 7417
ab78acc6
IC
7418 var warned = false;
7419 function deprecated() {
7420 if (!warned) {
7421 if (process.throwDeprecation) {
7422 throw new Error(msg);
7423 } else if (process.traceDeprecation) {
7424 console.trace(msg);
7425 } else {
7426 console.error(msg);
7427 }
7428 warned = true;
7429 }
7430 return fn.apply(this, arguments);
7431 }
ebd8d4e8 7432
ab78acc6
IC
7433 return deprecated;
7434};
ebd8d4e8 7435
ebd8d4e8 7436
ab78acc6
IC
7437var debugs = {};
7438var debugEnviron;
7439exports.debuglog = function(set) {
7440 if (isUndefined(debugEnviron))
7441 debugEnviron = process.env.NODE_DEBUG || '';
7442 set = set.toUpperCase();
7443 if (!debugs[set]) {
7444 if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
7445 var pid = process.pid;
7446 debugs[set] = function() {
7447 var msg = exports.format.apply(exports, arguments);
7448 console.error('%s %d: %s', set, pid, msg);
7449 };
7450 } else {
7451 debugs[set] = function() {};
ebd8d4e8
IC
7452 }
7453 }
ab78acc6
IC
7454 return debugs[set];
7455};
ebd8d4e8 7456
ebd8d4e8
IC
7457
7458/**
ab78acc6
IC
7459 * Echos the value of a value. Trys to print the value out
7460 * in the best way possible given the different types.
7461 *
7462 * @param {Object} obj The object to print out.
7463 * @param {Object} opts Optional options object that alters the output.
ebd8d4e8 7464 */
ab78acc6
IC
7465/* legacy: obj, showHidden, depth, colors*/
7466function inspect(obj, opts) {
7467 // default options
7468 var ctx = {
7469 seen: [],
7470 stylize: stylizeNoColor
7471 };
7472 // legacy...
7473 if (arguments.length >= 3) ctx.depth = arguments[2];
7474 if (arguments.length >= 4) ctx.colors = arguments[3];
7475 if (isBoolean(opts)) {
7476 // legacy...
7477 ctx.showHidden = opts;
7478 } else if (opts) {
7479 // got an "options" object
7480 exports._extend(ctx, opts);
ebd8d4e8 7481 }
ab78acc6
IC
7482 // set default options
7483 if (isUndefined(ctx.showHidden)) ctx.showHidden = false;
7484 if (isUndefined(ctx.depth)) ctx.depth = 2;
7485 if (isUndefined(ctx.colors)) ctx.colors = false;
7486 if (isUndefined(ctx.customInspect)) ctx.customInspect = true;
7487 if (ctx.colors) ctx.stylize = stylizeWithColor;
7488 return formatValue(ctx, obj, ctx.depth);
ebd8d4e8 7489}
ab78acc6 7490exports.inspect = inspect;
ebd8d4e8 7491
ebd8d4e8 7492
ab78acc6
IC
7493// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics
7494inspect.colors = {
7495 'bold' : [1, 22],
7496 'italic' : [3, 23],
7497 'underline' : [4, 24],
7498 'inverse' : [7, 27],
7499 'white' : [37, 39],
7500 'grey' : [90, 39],
7501 'black' : [30, 39],
7502 'blue' : [34, 39],
7503 'cyan' : [36, 39],
7504 'green' : [32, 39],
7505 'magenta' : [35, 39],
7506 'red' : [31, 39],
7507 'yellow' : [33, 39]
7508};
ebd8d4e8 7509
ab78acc6
IC
7510// Don't use 'blue' not visible on cmd.exe
7511inspect.styles = {
7512 'special': 'cyan',
7513 'number': 'yellow',
7514 'boolean': 'yellow',
7515 'undefined': 'grey',
7516 'null': 'bold',
7517 'string': 'green',
7518 'date': 'magenta',
7519 // "name": intentionally not styling
7520 'regexp': 'red'
7521};
ebd8d4e8 7522
ebd8d4e8 7523
ab78acc6
IC
7524function stylizeWithColor(str, styleType) {
7525 var style = inspect.styles[styleType];
ebd8d4e8 7526
ab78acc6
IC
7527 if (style) {
7528 return '\u001b[' + inspect.colors[style][0] + 'm' + str +
7529 '\u001b[' + inspect.colors[style][1] + 'm';
7530 } else {
7531 return str;
ebd8d4e8 7532 }
ebd8d4e8
IC
7533}
7534
ebd8d4e8 7535
ab78acc6
IC
7536function stylizeNoColor(str, styleType) {
7537 return str;
ebd8d4e8
IC
7538}
7539
ebd8d4e8 7540
ab78acc6
IC
7541function arrayToHash(array) {
7542 var hash = {};
ebd8d4e8 7543
ab78acc6
IC
7544 array.forEach(function(val, idx) {
7545 hash[val] = true;
7546 });
ebd8d4e8 7547
ab78acc6 7548 return hash;
ebd8d4e8
IC
7549}
7550
ebd8d4e8 7551
ab78acc6
IC
7552function formatValue(ctx, value, recurseTimes) {
7553 // Provide a hook for user-specified inspect functions.
7554 // Check that value is an object with an inspect function on it
7555 if (ctx.customInspect &&
7556 value &&
7557 isFunction(value.inspect) &&
7558 // Filter out the util module, it's inspect function is special
7559 value.inspect !== exports.inspect &&
7560 // Also filter out any prototype objects using the circular check.
7561 !(value.constructor && value.constructor.prototype === value)) {
7562 var ret = value.inspect(recurseTimes, ctx);
7563 if (!isString(ret)) {
7564 ret = formatValue(ctx, ret, recurseTimes);
7565 }
7566 return ret;
ebd8d4e8 7567 }
ebd8d4e8 7568
ab78acc6
IC
7569 // Primitive types cannot have properties
7570 var primitive = formatPrimitive(ctx, value);
7571 if (primitive) {
7572 return primitive;
ebd8d4e8
IC
7573 }
7574
ab78acc6
IC
7575 // Look up the keys of the object.
7576 var keys = Object.keys(value);
7577 var visibleKeys = arrayToHash(keys);
ebd8d4e8 7578
ab78acc6
IC
7579 if (ctx.showHidden) {
7580 keys = Object.getOwnPropertyNames(value);
7581 }
ebd8d4e8 7582
ab78acc6
IC
7583 // IE doesn't make error fields non-enumerable
7584 // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx
7585 if (isError(value)
7586 && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {
7587 return formatError(value);
ebd8d4e8 7588 }
ebd8d4e8 7589
ab78acc6
IC
7590 // Some type of object without properties can be shortcutted.
7591 if (keys.length === 0) {
7592 if (isFunction(value)) {
7593 var name = value.name ? ': ' + value.name : '';
7594 return ctx.stylize('[Function' + name + ']', 'special');
7595 }
7596 if (isRegExp(value)) {
7597 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7598 }
7599 if (isDate(value)) {
7600 return ctx.stylize(Date.prototype.toString.call(value), 'date');
7601 }
7602 if (isError(value)) {
7603 return formatError(value);
7604 }
ebd8d4e8 7605 }
ebd8d4e8 7606
ab78acc6 7607 var base = '', array = false, braces = ['{', '}'];
ebd8d4e8 7608
ab78acc6
IC
7609 // Make Array say that they are Array
7610 if (isArray(value)) {
7611 array = true;
7612 braces = ['[', ']'];
7613 }
ebd8d4e8 7614
ab78acc6
IC
7615 // Make functions say that they are functions
7616 if (isFunction(value)) {
7617 var n = value.name ? ': ' + value.name : '';
7618 base = ' [Function' + n + ']';
7619 }
ebd8d4e8 7620
ab78acc6
IC
7621 // Make RegExps say that they are RegExps
7622 if (isRegExp(value)) {
7623 base = ' ' + RegExp.prototype.toString.call(value);
7624 }
ebd8d4e8 7625
ab78acc6
IC
7626 // Make dates with properties first say the date
7627 if (isDate(value)) {
7628 base = ' ' + Date.prototype.toUTCString.call(value);
7629 }
ebd8d4e8 7630
ab78acc6
IC
7631 // Make error with message first say the error
7632 if (isError(value)) {
7633 base = ' ' + formatError(value);
7634 }
ebd8d4e8 7635
ab78acc6
IC
7636 if (keys.length === 0 && (!array || value.length == 0)) {
7637 return braces[0] + base + braces[1];
7638 }
ebd8d4e8 7639
ab78acc6
IC
7640 if (recurseTimes < 0) {
7641 if (isRegExp(value)) {
7642 return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');
7643 } else {
7644 return ctx.stylize('[Object]', 'special');
7645 }
7646 }
ebd8d4e8 7647
ab78acc6 7648 ctx.seen.push(value);
ebd8d4e8 7649
ab78acc6
IC
7650 var output;
7651 if (array) {
7652 output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);
7653 } else {
7654 output = keys.map(function(key) {
7655 return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);
7656 });
7657 }
ebd8d4e8 7658
ab78acc6 7659 ctx.seen.pop();
ebd8d4e8 7660
ab78acc6
IC
7661 return reduceToSingleString(output, base, braces);
7662}
ebd8d4e8 7663
ebd8d4e8 7664
ab78acc6
IC
7665function formatPrimitive(ctx, value) {
7666 if (isUndefined(value))
7667 return ctx.stylize('undefined', 'undefined');
7668 if (isString(value)) {
7669 var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '')
7670 .replace(/'/g, "\\'")
7671 .replace(/\\"/g, '"') + '\'';
7672 return ctx.stylize(simple, 'string');
7673 }
7674 if (isNumber(value))
7675 return ctx.stylize('' + value, 'number');
7676 if (isBoolean(value))
7677 return ctx.stylize('' + value, 'boolean');
7678 // For some reason typeof null is "object", so special case here.
7679 if (isNull(value))
7680 return ctx.stylize('null', 'null');
7681}
ebd8d4e8 7682
ebd8d4e8 7683
ab78acc6
IC
7684function formatError(value) {
7685 return '[' + Error.prototype.toString.call(value) + ']';
7686}
ebd8d4e8 7687
ebd8d4e8 7688
ab78acc6
IC
7689function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {
7690 var output = [];
7691 for (var i = 0, l = value.length; i < l; ++i) {
7692 if (hasOwnProperty(value, String(i))) {
7693 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7694 String(i), true));
7695 } else {
7696 output.push('');
7697 }
7698 }
7699 keys.forEach(function(key) {
7700 if (!key.match(/^\d+$/)) {
7701 output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,
7702 key, true));
7703 }
7704 });
7705 return output;
7706}
ebd8d4e8 7707
ebd8d4e8 7708
ab78acc6
IC
7709function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {
7710 var name, str, desc;
7711 desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };
7712 if (desc.get) {
7713 if (desc.set) {
7714 str = ctx.stylize('[Getter/Setter]', 'special');
7715 } else {
7716 str = ctx.stylize('[Getter]', 'special');
7717 }
7718 } else {
7719 if (desc.set) {
7720 str = ctx.stylize('[Setter]', 'special');
7721 }
7722 }
7723 if (!hasOwnProperty(visibleKeys, key)) {
7724 name = '[' + key + ']';
7725 }
7726 if (!str) {
7727 if (ctx.seen.indexOf(desc.value) < 0) {
7728 if (isNull(recurseTimes)) {
7729 str = formatValue(ctx, desc.value, null);
7730 } else {
7731 str = formatValue(ctx, desc.value, recurseTimes - 1);
7732 }
7733 if (str.indexOf('\n') > -1) {
7734 if (array) {
7735 str = str.split('\n').map(function(line) {
7736 return ' ' + line;
7737 }).join('\n').substr(2);
7738 } else {
7739 str = '\n' + str.split('\n').map(function(line) {
7740 return ' ' + line;
7741 }).join('\n');
7742 }
7743 }
7744 } else {
7745 str = ctx.stylize('[Circular]', 'special');
7746 }
7747 }
7748 if (isUndefined(name)) {
7749 if (array && key.match(/^\d+$/)) {
7750 return str;
7751 }
7752 name = JSON.stringify('' + key);
7753 if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) {
7754 name = name.substr(1, name.length - 2);
7755 name = ctx.stylize(name, 'name');
7756 } else {
7757 name = name.replace(/'/g, "\\'")
7758 .replace(/\\"/g, '"')
7759 .replace(/(^"|"$)/g, "'");
7760 name = ctx.stylize(name, 'string');
7761 }
7762 }
ebd8d4e8 7763
ab78acc6
IC
7764 return name + ': ' + str;
7765}
ebd8d4e8 7766
ebd8d4e8 7767
ab78acc6
IC
7768function reduceToSingleString(output, base, braces) {
7769 var numLinesEst = 0;
7770 var length = output.reduce(function(prev, cur) {
7771 numLinesEst++;
7772 if (cur.indexOf('\n') >= 0) numLinesEst++;
7773 return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1;
7774 }, 0);
ebd8d4e8 7775
ab78acc6
IC
7776 if (length > 60) {
7777 return braces[0] +
7778 (base === '' ? '' : base + '\n ') +
7779 ' ' +
7780 output.join(',\n ') +
7781 ' ' +
7782 braces[1];
7783 }
ebd8d4e8 7784
ab78acc6
IC
7785 return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];
7786}
ebd8d4e8 7787
ebd8d4e8 7788
ab78acc6
IC
7789// NOTE: These type checking functions intentionally don't use `instanceof`
7790// because it is fragile and can be easily faked with `Object.create()`.
7791function isArray(ar) {
7792 return Array.isArray(ar);
7793}
7794exports.isArray = isArray;
ebd8d4e8 7795
ab78acc6
IC
7796function isBoolean(arg) {
7797 return typeof arg === 'boolean';
7798}
7799exports.isBoolean = isBoolean;
ebd8d4e8 7800
ab78acc6
IC
7801function isNull(arg) {
7802 return arg === null;
7803}
7804exports.isNull = isNull;
ebd8d4e8 7805
ab78acc6
IC
7806function isNullOrUndefined(arg) {
7807 return arg == null;
7808}
7809exports.isNullOrUndefined = isNullOrUndefined;
ebd8d4e8 7810
ab78acc6
IC
7811function isNumber(arg) {
7812 return typeof arg === 'number';
7813}
7814exports.isNumber = isNumber;
ebd8d4e8 7815
ab78acc6
IC
7816function isString(arg) {
7817 return typeof arg === 'string';
7818}
7819exports.isString = isString;
ebd8d4e8 7820
ab78acc6
IC
7821function isSymbol(arg) {
7822 return typeof arg === 'symbol';
7823}
7824exports.isSymbol = isSymbol;
ebd8d4e8 7825
ab78acc6
IC
7826function isUndefined(arg) {
7827 return arg === void 0;
7828}
7829exports.isUndefined = isUndefined;
ebd8d4e8 7830
ab78acc6
IC
7831function isRegExp(re) {
7832 return isObject(re) && objectToString(re) === '[object RegExp]';
7833}
7834exports.isRegExp = isRegExp;
ebd8d4e8 7835
ab78acc6
IC
7836function isObject(arg) {
7837 return typeof arg === 'object' && arg !== null;
ebd8d4e8 7838}
ab78acc6 7839exports.isObject = isObject;
ebd8d4e8 7840
ab78acc6
IC
7841function isDate(d) {
7842 return isObject(d) && objectToString(d) === '[object Date]';
7843}
7844exports.isDate = isDate;
ebd8d4e8 7845
ab78acc6
IC
7846function isError(e) {
7847 return isObject(e) &&
7848 (objectToString(e) === '[object Error]' || e instanceof Error);
7849}
7850exports.isError = isError;
ebd8d4e8 7851
ab78acc6
IC
7852function isFunction(arg) {
7853 return typeof arg === 'function';
7854}
7855exports.isFunction = isFunction;
ebd8d4e8 7856
ab78acc6
IC
7857function isPrimitive(arg) {
7858 return arg === null ||
7859 typeof arg === 'boolean' ||
7860 typeof arg === 'number' ||
7861 typeof arg === 'string' ||
7862 typeof arg === 'symbol' || // ES6 symbol
7863 typeof arg === 'undefined';
7864}
7865exports.isPrimitive = isPrimitive;
ebd8d4e8 7866
ab78acc6 7867exports.isBuffer = require('./support/isBuffer');
ebd8d4e8 7868
ab78acc6
IC
7869function objectToString(o) {
7870 return Object.prototype.toString.call(o);
7871}
ebd8d4e8 7872
ebd8d4e8 7873
ab78acc6
IC
7874function pad(n) {
7875 return n < 10 ? '0' + n.toString(10) : n.toString(10);
7876}
ebd8d4e8 7877
ebd8d4e8 7878
ab78acc6
IC
7879var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',
7880 'Oct', 'Nov', 'Dec'];
ebd8d4e8 7881
ab78acc6
IC
7882// 26 Feb 16:19:34
7883function timestamp() {
7884 var d = new Date();
7885 var time = [pad(d.getHours()),
7886 pad(d.getMinutes()),
7887 pad(d.getSeconds())].join(':');
7888 return [d.getDate(), months[d.getMonth()], time].join(' ');
ebd8d4e8
IC
7889}
7890
ab78acc6
IC
7891
7892// log is just a thin wrapper to console.log that prepends a timestamp
7893exports.log = function() {
7894 console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));
ebd8d4e8
IC
7895};
7896
ab78acc6
IC
7897
7898/**
7899 * Inherit the prototype methods from one constructor into another.
7900 *
7901 * The Function.prototype.inherits from lang.js rewritten as a standalone
7902 * function (not on Function.prototype). NOTE: If this file is to be loaded
7903 * during bootstrapping this function needs to be rewritten using some native
7904 * functions as prototype setup using normal JavaScript does not work as
7905 * expected during bootstrapping (see mirror.js in r114903).
7906 *
7907 * @param {function} ctor Constructor function which needs to inherit the
7908 * prototype.
7909 * @param {function} superCtor Constructor function to inherit prototype from.
7910 */
7911exports.inherits = require('inherits');
7912
7913exports._extend = function(origin, add) {
7914 // Don't do anything if add isn't an object
7915 if (!add || !isObject(add)) return origin;
7916
7917 var keys = Object.keys(add);
7918 var i = keys.length;
7919 while (i--) {
7920 origin[keys[i]] = add[keys[i]];
7921 }
7922 return origin;
7923};
7924
7925function hasOwnProperty(obj, prop) {
7926 return Object.prototype.hasOwnProperty.call(obj, prop);
7927}
7928
7929}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
7930},{"./support/isBuffer":28,"_process":14,"inherits":12}],30:[function(require,module,exports){
ebd8d4e8
IC
7931// Base58 encoding/decoding
7932// Originally written by Mike Hearn for BitcoinJ
7933// Copyright (c) 2011 Google Inc
7934// Ported to JavaScript by Stefan Thomas
7935// Merged Buffer refactorings from base58-native by Stephen Pair
7936// Copyright (c) 2013 BitPay Inc
7937
ebd8d4e8 7938var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
ebd8d4e8
IC
7939var ALPHABET_MAP = {}
7940for(var i = 0; i < ALPHABET.length; i++) {
ab78acc6 7941 ALPHABET_MAP[ALPHABET.charAt(i)] = i
ebd8d4e8 7942}
ab78acc6 7943var BASE = 58
ebd8d4e8
IC
7944
7945function encode(buffer) {
ab78acc6
IC
7946 if (buffer.length === 0) return ''
7947
7948 var i, j, digits = [0]
7949 for (i = 0; i < buffer.length; i++) {
7950 for (j = 0; j < digits.length; j++) digits[j] <<= 8
7951
7952 digits[0] += buffer[i]
ebd8d4e8 7953
ab78acc6
IC
7954 var carry = 0
7955 for (j = 0; j < digits.length; ++j) {
7956 digits[j] += carry
ebd8d4e8 7957
ab78acc6
IC
7958 carry = (digits[j] / BASE) | 0
7959 digits[j] %= BASE
7960 }
7961
7962 while (carry) {
7963 digits.push(carry % BASE)
7964
7965 carry = (carry / BASE) | 0
7966 }
ebd8d4e8
IC
7967 }
7968
7969 // deal with leading zeros
ab78acc6 7970 for (i = 0; buffer[i] === 0 && i < buffer.length - 1; i++) digits.push(0)
ebd8d4e8 7971
ab78acc6
IC
7972 // convert digits to a string
7973 var stringOutput = ""
7974 for (var i = digits.length - 1; i >= 0; i--) {
7975 stringOutput = stringOutput + ALPHABET[digits[i]]
7976 }
7977 return stringOutput
ebd8d4e8
IC
7978}
7979
7980function decode(string) {
ab78acc6 7981 if (string.length === 0) return []
ebd8d4e8 7982
ab78acc6
IC
7983 var i, j, bytes = [0]
7984 for (i = 0; i < string.length; i++) {
7985 var c = string[i]
7986 if (!(c in ALPHABET_MAP)) throw new Error('Non-base58 character')
ebd8d4e8 7987
ab78acc6
IC
7988 for (j = 0; j < bytes.length; j++) bytes[j] *= BASE
7989 bytes[0] += ALPHABET_MAP[c]
ebd8d4e8 7990
ab78acc6
IC
7991 var carry = 0
7992 for (j = 0; j < bytes.length; ++j) {
7993 bytes[j] += carry
ebd8d4e8 7994
ab78acc6
IC
7995 carry = bytes[j] >> 8
7996 bytes[j] &= 0xff
7997 }
ebd8d4e8 7998
ab78acc6
IC
7999 while (carry) {
8000 bytes.push(carry & 0xff)
8001
8002 carry >>= 8
8003 }
ebd8d4e8
IC
8004 }
8005
ab78acc6
IC
8006 // deal with leading zeros
8007 for (i = 0; string[i] === '1' && i < string.length - 1; i++) bytes.push(0)
ebd8d4e8 8008
ab78acc6 8009 return bytes.reverse()
ebd8d4e8
IC
8010}
8011
8012module.exports = {
8013 encode: encode,
8014 decode: decode
8015}
8016
ab78acc6 8017},{}],31:[function(require,module,exports){
ebd8d4e8 8018(function (Buffer){
ab78acc6
IC
8019'use strict'
8020
8021var base58 = require('bs58')
8022var createHash = require('create-hash')
8023
8024// SHA256(SHA256(buffer))
8025function sha256x2 (buffer) {
8026 buffer = createHash('sha256').update(buffer).digest()
8027 return createHash('sha256').update(buffer).digest()
8028}
8029
8030// Encode a buffer as a base58-check encoded string
8031function encode (payload) {
8032 var checksum = sha256x2(payload).slice(0, 4)
8033
8034 return base58.encode(Buffer.concat([
8035 payload,
8036 checksum
8037 ]))
8038}
8039
8040// Decode a base58-check encoded string to a buffer
8041function decode (string) {
8042 var buffer = new Buffer(base58.decode(string))
8043
8044 var payload = buffer.slice(0, -4)
8045 var checksum = buffer.slice(-4)
8046 var newChecksum = sha256x2(payload).slice(0, 4)
8047
8048 for (var i = 0; i < newChecksum.length; ++i) {
8049 if (newChecksum[i] === checksum[i]) continue
8050
8051 throw new Error('Invalid checksum')
ebd8d4e8 8052 }
ab78acc6
IC
8053
8054 return payload
ebd8d4e8
IC
8055}
8056
ab78acc6
IC
8057module.exports = {
8058 encode: encode,
8059 decode: decode
ebd8d4e8
IC
8060}
8061
ab78acc6
IC
8062}).call(this,require("buffer").Buffer)
8063},{"bs58":30,"buffer":7,"create-hash":32}],32:[function(require,module,exports){
ebd8d4e8 8064(function (Buffer){
ab78acc6
IC
8065'use strict';
8066var inherits = require('inherits')
8067var md5 = require('./md5')
8068var rmd160 = require('ripemd160')
8069var sha = require('sha.js')
ebd8d4e8 8070
ab78acc6 8071var Transform = require('stream').Transform
ebd8d4e8 8072
ab78acc6
IC
8073function HashNoConstructor(hash) {
8074 Transform.call(this)
ebd8d4e8 8075
ab78acc6
IC
8076 this._hash = hash
8077 this.buffers = []
8078}
ebd8d4e8 8079
ab78acc6 8080inherits(HashNoConstructor, Transform)
ebd8d4e8 8081
ab78acc6
IC
8082HashNoConstructor.prototype._transform = function (data, _, next) {
8083 this.buffers.push(data)
ebd8d4e8 8084
ab78acc6
IC
8085 next()
8086}
ebd8d4e8 8087
ab78acc6
IC
8088HashNoConstructor.prototype._flush = function (next) {
8089 this.push(this.digest())
8090 next()
8091}
8092
8093HashNoConstructor.prototype.update = function (data, enc) {
8094 if (typeof data === 'string') {
8095 data = new Buffer(data, enc)
ebd8d4e8
IC
8096 }
8097
ab78acc6
IC
8098 this.buffers.push(data)
8099 return this
8100}
8101
8102HashNoConstructor.prototype.digest = function (enc) {
8103 var buf = Buffer.concat(this.buffers)
8104 var r = this._hash(buf)
8105 this.buffers = null
8106
8107 return enc ? r.toString(enc) : r
8108}
8109
8110function Hash(hash) {
8111 Transform.call(this)
8112
8113 this._hash = hash
8114}
8115
8116inherits(Hash, Transform)
8117
8118Hash.prototype._transform = function (data, enc, next) {
8119 if (enc) data = new Buffer(data, enc)
8120
8121 this._hash.update(data)
8122
8123 next()
ebd8d4e8
IC
8124}
8125
ab78acc6
IC
8126Hash.prototype._flush = function (next) {
8127 this.push(this._hash.digest())
8128 this._hash = null
8129
8130 next()
8131}
8132
8133Hash.prototype.update = function (data, enc) {
8134 if (typeof data === 'string') {
8135 data = new Buffer(data, enc)
8136 }
8137
8138 this._hash.update(data)
ebd8d4e8
IC
8139 return this
8140}
8141
ab78acc6
IC
8142Hash.prototype.digest = function (enc) {
8143 var outData = this._hash.digest()
8144
8145 return enc ? outData.toString(enc) : outData
ebd8d4e8
IC
8146}
8147
ab78acc6
IC
8148module.exports = function createHash (alg) {
8149 if ('md5' === alg) return new HashNoConstructor(md5)
8150 if ('rmd160' === alg) return new HashNoConstructor(rmd160)
8151
8152 return new Hash(sha(alg))
8153}
ebd8d4e8 8154
ab78acc6
IC
8155}).call(this,require("buffer").Buffer)
8156},{"./md5":34,"buffer":7,"inherits":35,"ripemd160":36,"sha.js":38,"stream":26}],33:[function(require,module,exports){
ebd8d4e8 8157(function (Buffer){
ab78acc6 8158'use strict';
ebd8d4e8
IC
8159var intSize = 4;
8160var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0);
8161var chrsz = 8;
8162
8163function toArray(buf, bigEndian) {
8164 if ((buf.length % intSize) !== 0) {
8165 var len = buf.length + (intSize - (buf.length % intSize));
8166 buf = Buffer.concat([buf, zeroBuffer], len);
8167 }
8168
8169 var arr = [];
8170 var fn = bigEndian ? buf.readInt32BE : buf.readInt32LE;
8171 for (var i = 0; i < buf.length; i += intSize) {
8172 arr.push(fn.call(buf, i));
8173 }
8174 return arr;
8175}
8176
8177function toBuffer(arr, size, bigEndian) {
8178 var buf = new Buffer(size);
8179 var fn = bigEndian ? buf.writeInt32BE : buf.writeInt32LE;
8180 for (var i = 0; i < arr.length; i++) {
8181 fn.call(buf, arr[i], i * 4, true);
8182 }
8183 return buf;
8184}
8185
8186function hash(buf, fn, hashSize, bigEndian) {
8187 if (!Buffer.isBuffer(buf)) buf = new Buffer(buf);
8188 var arr = fn(toArray(buf, bigEndian), buf.length * chrsz);
8189 return toBuffer(arr, hashSize, bigEndian);
8190}
ab78acc6
IC
8191exports.hash = hash;
8192}).call(this,require("buffer").Buffer)
8193},{"buffer":7}],34:[function(require,module,exports){
8194'use strict';
ebd8d4e8
IC
8195/*
8196 * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
8197 * Digest Algorithm, as defined in RFC 1321.
8198 * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
8199 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8200 * Distributed under the BSD License
8201 * See http://pajhome.org.uk/crypt/md5 for more info.
8202 */
8203
ab78acc6 8204var helpers = require('./helpers');
ebd8d4e8
IC
8205
8206/*
8207 * Calculate the MD5 of an array of little-endian words, and a bit length
8208 */
8209function core_md5(x, len)
8210{
8211 /* append padding */
8212 x[len >> 5] |= 0x80 << ((len) % 32);
8213 x[(((len + 64) >>> 9) << 4) + 14] = len;
8214
8215 var a = 1732584193;
8216 var b = -271733879;
8217 var c = -1732584194;
8218 var d = 271733878;
8219
8220 for(var i = 0; i < x.length; i += 16)
8221 {
8222 var olda = a;
8223 var oldb = b;
8224 var oldc = c;
8225 var oldd = d;
8226
8227 a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
8228 d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
8229 c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
8230 b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
8231 a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
8232 d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
8233 c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
8234 b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
8235 a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
8236 d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
8237 c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
8238 b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
8239 a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
8240 d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
8241 c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
8242 b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
8243
8244 a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
8245 d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
8246 c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
8247 b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
8248 a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
8249 d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
8250 c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
8251 b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
8252 a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
8253 d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
8254 c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
8255 b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
8256 a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
8257 d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
8258 c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
8259 b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
8260
8261 a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
8262 d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
8263 c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
8264 b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
8265 a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
8266 d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
8267 c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
8268 b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
8269 a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
8270 d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
8271 c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
8272 b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
8273 a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
8274 d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
8275 c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
8276 b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
8277
8278 a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
8279 d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
8280 c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
8281 b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
8282 a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
8283 d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
8284 c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
8285 b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
8286 a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
8287 d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
8288 c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
8289 b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
8290 a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
8291 d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
8292 c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
8293 b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
8294
8295 a = safe_add(a, olda);
8296 b = safe_add(b, oldb);
8297 c = safe_add(c, oldc);
8298 d = safe_add(d, oldd);
8299 }
8300 return Array(a, b, c, d);
8301
8302}
8303
8304/*
8305 * These functions implement the four basic operations the algorithm uses.
8306 */
8307function md5_cmn(q, a, b, x, s, t)
8308{
8309 return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
8310}
8311function md5_ff(a, b, c, d, x, s, t)
8312{
8313 return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
8314}
8315function md5_gg(a, b, c, d, x, s, t)
8316{
8317 return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
8318}
8319function md5_hh(a, b, c, d, x, s, t)
8320{
8321 return md5_cmn(b ^ c ^ d, a, b, x, s, t);
8322}
8323function md5_ii(a, b, c, d, x, s, t)
8324{
8325 return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
8326}
8327
8328/*
8329 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
8330 * to work around bugs in some JS interpreters.
8331 */
8332function safe_add(x, y)
8333{
8334 var lsw = (x & 0xFFFF) + (y & 0xFFFF);
8335 var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
8336 return (msw << 16) | (lsw & 0xFFFF);
8337}
8338
8339/*
8340 * Bitwise rotate a 32-bit number to the left.
8341 */
8342function bit_rol(num, cnt)
8343{
8344 return (num << cnt) | (num >>> (32 - cnt));
8345}
8346
8347module.exports = function md5(buf) {
8348 return helpers.hash(buf, core_md5, 16);
8349};
ab78acc6
IC
8350},{"./helpers":33}],35:[function(require,module,exports){
8351arguments[4][12][0].apply(exports,arguments)
8352},{"dup":12}],36:[function(require,module,exports){
ebd8d4e8 8353(function (Buffer){
ebd8d4e8
IC
8354/*
8355CryptoJS v3.1.2
8356code.google.com/p/crypto-js
8357(c) 2009-2013 by Jeff Mott. All rights reserved.
8358code.google.com/p/crypto-js/wiki/License
8359*/
8360/** @preserve
8361(c) 2012 by Cédric Mesnil. All rights reserved.
8362
8363Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
8364
8365 - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8366 - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8367
8368THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
8369*/
8370
ab78acc6 8371// constants table
ebd8d4e8 8372var zl = [
ab78acc6
IC
8373 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8374 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
8375 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
8376 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
8377 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
8378]
8379
ebd8d4e8 8380var zr = [
ab78acc6
IC
8381 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
8382 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
8383 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
8384 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
8385 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
8386]
8387
ebd8d4e8 8388var sl = [
ab78acc6
IC
8389 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
8390 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
8391 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
8392 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
8393 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
8394]
8395
ebd8d4e8 8396var sr = [
ab78acc6
IC
8397 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
8398 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
8399 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
8400 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
8401 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
8402]
ebd8d4e8 8403
ab78acc6
IC
8404var hl = [0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]
8405var hr = [0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]
ebd8d4e8 8406
ab78acc6
IC
8407function bytesToWords (bytes) {
8408 var words = []
ebd8d4e8 8409 for (var i = 0, b = 0; i < bytes.length; i++, b += 8) {
ab78acc6 8410 words[b >>> 5] |= bytes[i] << (24 - b % 32)
ebd8d4e8 8411 }
ab78acc6
IC
8412 return words
8413}
ebd8d4e8 8414
ab78acc6
IC
8415function wordsToBytes (words) {
8416 var bytes = []
ebd8d4e8 8417 for (var b = 0; b < words.length * 32; b += 8) {
ab78acc6 8418 bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF)
ebd8d4e8 8419 }
ab78acc6
IC
8420 return bytes
8421}
ebd8d4e8 8422
ab78acc6
IC
8423function processBlock (H, M, offset) {
8424 // swap endian
ebd8d4e8 8425 for (var i = 0; i < 16; i++) {
ab78acc6
IC
8426 var offset_i = offset + i
8427 var M_offset_i = M[offset_i]
ebd8d4e8
IC
8428
8429 // Swap
8430 M[offset_i] = (
ab78acc6
IC
8431 (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
8432 (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00)
8433 )
ebd8d4e8
IC
8434 }
8435
8436 // Working variables
ab78acc6
IC
8437 var al, bl, cl, dl, el
8438 var ar, br, cr, dr, er
8439
8440 ar = al = H[0]
8441 br = bl = H[1]
8442 cr = cl = H[2]
8443 dr = dl = H[3]
8444 er = el = H[4]
8445
8446 // computation
8447 var t
8448 for (i = 0; i < 80; i += 1) {
8449 t = (al + M[offset + zl[i]]) | 0
8450 if (i < 16) {
8451 t += f1(bl, cl, dl) + hl[0]
8452 } else if (i < 32) {
8453 t += f2(bl, cl, dl) + hl[1]
8454 } else if (i < 48) {
8455 t += f3(bl, cl, dl) + hl[2]
8456 } else if (i < 64) {
8457 t += f4(bl, cl, dl) + hl[3]
ebd8d4e8 8458 } else {// if (i<80) {
ab78acc6
IC
8459 t += f5(bl, cl, dl) + hl[4]
8460 }
8461 t = t | 0
8462 t = rotl(t, sl[i])
8463 t = (t + el) | 0
8464 al = el
8465 el = dl
8466 dl = rotl(cl, 10)
8467 cl = bl
8468 bl = t
8469
8470 t = (ar + M[offset + zr[i]]) | 0
8471 if (i < 16) {
8472 t += f5(br, cr, dr) + hr[0]
8473 } else if (i < 32) {
8474 t += f4(br, cr, dr) + hr[1]
8475 } else if (i < 48) {
8476 t += f3(br, cr, dr) + hr[2]
8477 } else if (i < 64) {
8478 t += f2(br, cr, dr) + hr[3]
ebd8d4e8 8479 } else {// if (i<80) {
ab78acc6 8480 t += f1(br, cr, dr) + hr[4]
ebd8d4e8 8481 }
ebd8d4e8 8482
ab78acc6
IC
8483 t = t | 0
8484 t = rotl(t, sr[i])
8485 t = (t + er) | 0
8486 ar = er
8487 er = dr
8488 dr = rotl(cr, 10)
8489 cr = br
8490 br = t
8491 }
8492
8493 // intermediate hash value
8494 t = (H[1] + cl + dr) | 0
8495 H[1] = (H[2] + dl + er) | 0
8496 H[2] = (H[3] + el + ar) | 0
8497 H[3] = (H[4] + al + br) | 0
8498 H[4] = (H[0] + bl + cr) | 0
8499 H[0] = t
ebd8d4e8
IC
8500}
8501
ab78acc6
IC
8502function f1 (x, y, z) {
8503 return ((x) ^ (y) ^ (z))
ebd8d4e8
IC
8504}
8505
ab78acc6
IC
8506function f2 (x, y, z) {
8507 return (((x) & (y)) | ((~x) & (z)))
ebd8d4e8
IC
8508}
8509
ab78acc6
IC
8510function f3 (x, y, z) {
8511 return (((x) | (~(y))) ^ (z))
ebd8d4e8
IC
8512}
8513
ab78acc6
IC
8514function f4 (x, y, z) {
8515 return (((x) & (z)) | ((y) & (~(z))))
ebd8d4e8
IC
8516}
8517
ab78acc6
IC
8518function f5 (x, y, z) {
8519 return ((x) ^ ((y) | (~(z))))
ebd8d4e8
IC
8520}
8521
ab78acc6
IC
8522function rotl (x, n) {
8523 return (x << n) | (x >>> (32 - n))
8524}
8525
8526function ripemd160 (message) {
8527 var H = [0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]
ebd8d4e8 8528
ab78acc6
IC
8529 if (typeof message === 'string') {
8530 message = new Buffer(message, 'utf8')
8531 }
ebd8d4e8 8532
ab78acc6 8533 var m = bytesToWords(message)
ebd8d4e8 8534
ab78acc6
IC
8535 var nBitsLeft = message.length * 8
8536 var nBitsTotal = message.length * 8
ebd8d4e8
IC
8537
8538 // Add padding
ab78acc6 8539 m[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32)
ebd8d4e8 8540 m[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (
ab78acc6
IC
8541 (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
8542 (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00)
8543 )
ebd8d4e8 8544
ab78acc6
IC
8545 for (var i = 0; i < m.length; i += 16) {
8546 processBlock(H, m, i)
ebd8d4e8
IC
8547 }
8548
ab78acc6
IC
8549 // swap endian
8550 for (i = 0; i < 5; i++) {
8551 // shortcut
8552 var H_i = H[i]
ebd8d4e8
IC
8553
8554 // Swap
ab78acc6
IC
8555 H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
8556 (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00)
ebd8d4e8
IC
8557 }
8558
ab78acc6
IC
8559 var digestbytes = wordsToBytes(H)
8560 return new Buffer(digestbytes)
ebd8d4e8
IC
8561}
8562
ab78acc6
IC
8563module.exports = ripemd160
8564
8565}).call(this,require("buffer").Buffer)
8566},{"buffer":7}],37:[function(require,module,exports){
8567(function (Buffer){
8568// prototype class for hash functions
8569function Hash (blockSize, finalSize) {
8570 this._block = new Buffer(blockSize)
8571 this._finalSize = finalSize
8572 this._blockSize = blockSize
8573 this._len = 0
8574 this._s = 0
8575}
ebd8d4e8 8576
ab78acc6
IC
8577Hash.prototype.update = function (data, enc) {
8578 if (typeof data === 'string') {
8579 enc = enc || 'utf8'
8580 data = new Buffer(data, enc)
8581 }
ebd8d4e8 8582
ab78acc6
IC
8583 var l = this._len += data.length
8584 var s = this._s || 0
8585 var f = 0
8586 var buffer = this._block
ebd8d4e8 8587
ab78acc6
IC
8588 while (s < l) {
8589 var t = Math.min(data.length, f + this._blockSize - (s % this._blockSize))
8590 var ch = (t - f)
ebd8d4e8 8591
ab78acc6
IC
8592 for (var i = 0; i < ch; i++) {
8593 buffer[(s % this._blockSize) + i] = data[i + f]
8594 }
8595
8596 s += ch
8597 f += ch
ebd8d4e8 8598
ab78acc6
IC
8599 if ((s % this._blockSize) === 0) {
8600 this._update(buffer)
8601 }
ebd8d4e8 8602 }
ab78acc6
IC
8603 this._s = s
8604
8605 return this
8606}
ebd8d4e8 8607
ab78acc6
IC
8608Hash.prototype.digest = function (enc) {
8609 // Suppose the length of the message M, in bits, is l
8610 var l = this._len * 8
8611
8612 // Append the bit 1 to the end of the message
8613 this._block[this._len % this._blockSize] = 0x80
8614
8615 // and then k zero bits, where k is the smallest non-negative solution to the equation (l + 1 + k) === finalSize mod blockSize
8616 this._block.fill(0, this._len % this._blockSize + 1)
8617
8618 if (l % (this._blockSize * 8) >= this._finalSize * 8) {
8619 this._update(this._block)
8620 this._block.fill(0)
ebd8d4e8
IC
8621 }
8622
ab78acc6
IC
8623 // to this append the block which is equal to the number l written in binary
8624 // TODO: handle case where l is > Math.pow(2, 29)
8625 this._block.writeInt32BE(l, this._blockSize - 4)
8626
8627 var hash = this._update(this._block) || this._hash()
ebd8d4e8 8628
ab78acc6
IC
8629 return enc ? hash.toString(enc) : hash
8630}
ebd8d4e8 8631
ab78acc6
IC
8632Hash.prototype._update = function () {
8633 throw new Error('_update must be implemented by subclass')
8634}
ebd8d4e8 8635
ab78acc6 8636module.exports = Hash
ebd8d4e8 8637
ab78acc6
IC
8638}).call(this,require("buffer").Buffer)
8639},{"buffer":7}],38:[function(require,module,exports){
8640var exports = module.exports = function SHA (algorithm) {
8641 algorithm = algorithm.toLowerCase()
ebd8d4e8 8642
ab78acc6
IC
8643 var Algorithm = exports[algorithm]
8644 if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
ebd8d4e8 8645
ab78acc6
IC
8646 return new Algorithm()
8647}
8648
8649exports.sha = require('./sha')
8650exports.sha1 = require('./sha1')
8651exports.sha224 = require('./sha224')
8652exports.sha256 = require('./sha256')
8653exports.sha384 = require('./sha384')
8654exports.sha512 = require('./sha512')
8655
8656},{"./sha":39,"./sha1":40,"./sha224":41,"./sha256":42,"./sha384":43,"./sha512":44}],39:[function(require,module,exports){
8657(function (Buffer){
8658/*
8659 * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
8660 * in FIPS PUB 180-1
8661 * This source code is derived from sha1.js of the same repository.
8662 * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
8663 * operation was added.
8664 */
ebd8d4e8 8665
ab78acc6
IC
8666var inherits = require('inherits')
8667var Hash = require('./hash')
ebd8d4e8 8668
ab78acc6 8669var W = new Array(80)
ebd8d4e8 8670
ab78acc6
IC
8671function Sha () {
8672 this.init()
8673 this._w = W
ebd8d4e8 8674
ab78acc6
IC
8675 Hash.call(this, 64, 56)
8676}
ebd8d4e8 8677
ab78acc6 8678inherits(Sha, Hash)
ebd8d4e8 8679
ab78acc6
IC
8680Sha.prototype.init = function () {
8681 this._a = 0x67452301 | 0
8682 this._b = 0xefcdab89 | 0
8683 this._c = 0x98badcfe | 0
8684 this._d = 0x10325476 | 0
8685 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8686
ab78acc6
IC
8687 return this
8688}
8689
8690/*
8691 * Bitwise rotate a 32-bit number to the left.
8692 */
8693function rol (num, cnt) {
8694 return (num << cnt) | (num >>> (32 - cnt))
8695}
8696
8697Sha.prototype._update = function (M) {
8698 var W = this._w
8699
8700 var a = this._a
8701 var b = this._b
8702 var c = this._c
8703 var d = this._d
8704 var e = this._e
ebd8d4e8 8705
ab78acc6
IC
8706 var j = 0, k
8707
8708 /*
8709 * SHA-1 has a bitwise rotate left operation. But, SHA is not
8710 * function calcW() { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8711 */
8712 function calcW () { return W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16] }
8713 function loop (w, f) {
8714 W[j] = w
8715
8716 var t = rol(a, 5) + f + e + w + k
8717
8718 e = d
8719 d = c
8720 c = rol(b, 30)
8721 b = a
8722 a = t
8723 j++
ebd8d4e8
IC
8724 }
8725
ab78acc6
IC
8726 k = 1518500249
8727 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8728 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8729 k = 1859775393
8730 while (j < 40) loop(calcW(), b ^ c ^ d)
8731 k = -1894007588
8732 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8733 k = -899497514
8734 while (j < 80) loop(calcW(), b ^ c ^ d)
8735
8736 this._a = (a + this._a) | 0
8737 this._b = (b + this._b) | 0
8738 this._c = (c + this._c) | 0
8739 this._d = (d + this._d) | 0
8740 this._e = (e + this._e) | 0
ebd8d4e8
IC
8741}
8742
ab78acc6
IC
8743Sha.prototype._hash = function () {
8744 var H = new Buffer(20)
8745
8746 H.writeInt32BE(this._a | 0, 0)
8747 H.writeInt32BE(this._b | 0, 4)
8748 H.writeInt32BE(this._c | 0, 8)
8749 H.writeInt32BE(this._d | 0, 12)
8750 H.writeInt32BE(this._e | 0, 16)
8751
8752 return H
ebd8d4e8
IC
8753}
8754
ab78acc6 8755module.exports = Sha
ebd8d4e8 8756
ebd8d4e8 8757
ab78acc6
IC
8758}).call(this,require("buffer").Buffer)
8759},{"./hash":37,"buffer":7,"inherits":35}],40:[function(require,module,exports){
8760(function (Buffer){
ebd8d4e8
IC
8761/*
8762 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
8763 * in FIPS PUB 180-1
8764 * Version 2.1a Copyright Paul Johnston 2000 - 2002.
8765 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8766 * Distributed under the BSD License
8767 * See http://pajhome.org.uk/crypt/md5 for details.
8768 */
ebd8d4e8 8769
ab78acc6
IC
8770var inherits = require('inherits')
8771var Hash = require('./hash')
ebd8d4e8 8772
ab78acc6 8773var W = new Array(80)
ebd8d4e8 8774
ab78acc6
IC
8775function Sha1 () {
8776 this.init()
8777 this._w = W
ebd8d4e8 8778
ab78acc6
IC
8779 Hash.call(this, 64, 56)
8780}
ebd8d4e8 8781
ab78acc6 8782inherits(Sha1, Hash)
ebd8d4e8 8783
ab78acc6
IC
8784Sha1.prototype.init = function () {
8785 this._a = 0x67452301 | 0
8786 this._b = 0xefcdab89 | 0
8787 this._c = 0x98badcfe | 0
8788 this._d = 0x10325476 | 0
8789 this._e = 0xc3d2e1f0 | 0
ebd8d4e8 8790
ab78acc6
IC
8791 return this
8792}
ebd8d4e8 8793
ab78acc6
IC
8794/*
8795 * Bitwise rotate a 32-bit number to the left.
8796 */
8797function rol (num, cnt) {
8798 return (num << cnt) | (num >>> (32 - cnt))
8799}
ebd8d4e8 8800
ab78acc6
IC
8801Sha1.prototype._update = function (M) {
8802 var W = this._w
ebd8d4e8 8803
ab78acc6
IC
8804 var a = this._a
8805 var b = this._b
8806 var c = this._c
8807 var d = this._d
8808 var e = this._e
ebd8d4e8 8809
ab78acc6 8810 var j = 0, k
ebd8d4e8 8811
ab78acc6
IC
8812 function calcW () { return rol(W[j - 3] ^ W[j - 8] ^ W[j - 14] ^ W[j - 16], 1) }
8813 function loop (w, f) {
8814 W[j] = w
ebd8d4e8 8815
ab78acc6 8816 var t = rol(a, 5) + f + e + w + k
ebd8d4e8 8817
ab78acc6
IC
8818 e = d
8819 d = c
8820 c = rol(b, 30)
8821 b = a
8822 a = t
8823 j++
ebd8d4e8
IC
8824 }
8825
ab78acc6
IC
8826 k = 1518500249
8827 while (j < 16) loop(M.readInt32BE(j * 4), (b & c) | ((~b) & d))
8828 while (j < 20) loop(calcW(), (b & c) | ((~b) & d))
8829 k = 1859775393
8830 while (j < 40) loop(calcW(), b ^ c ^ d)
8831 k = -1894007588
8832 while (j < 60) loop(calcW(), (b & c) | (b & d) | (c & d))
8833 k = -899497514
8834 while (j < 80) loop(calcW(), b ^ c ^ d)
ebd8d4e8 8835
ab78acc6
IC
8836 this._a = (a + this._a) | 0
8837 this._b = (b + this._b) | 0
8838 this._c = (c + this._c) | 0
8839 this._d = (d + this._d) | 0
8840 this._e = (e + this._e) | 0
8841}
ebd8d4e8 8842
ab78acc6
IC
8843Sha1.prototype._hash = function () {
8844 var H = new Buffer(20)
ebd8d4e8 8845
ab78acc6
IC
8846 H.writeInt32BE(this._a | 0, 0)
8847 H.writeInt32BE(this._b | 0, 4)
8848 H.writeInt32BE(this._c | 0, 8)
8849 H.writeInt32BE(this._d | 0, 12)
8850 H.writeInt32BE(this._e | 0, 16)
ebd8d4e8 8851
ab78acc6
IC
8852 return H
8853}
ebd8d4e8 8854
ab78acc6 8855module.exports = Sha1
ebd8d4e8 8856
ab78acc6
IC
8857}).call(this,require("buffer").Buffer)
8858},{"./hash":37,"buffer":7,"inherits":35}],41:[function(require,module,exports){
8859(function (Buffer){
8860/**
8861 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8862 * in FIPS 180-2
8863 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8864 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8865 *
8866 */
ebd8d4e8 8867
ab78acc6
IC
8868var inherits = require('inherits')
8869var Sha256 = require('./sha256')
8870var Hash = require('./hash')
ebd8d4e8 8871
ab78acc6 8872var W = new Array(64)
ebd8d4e8 8873
ab78acc6
IC
8874function Sha224 () {
8875 this.init()
ebd8d4e8 8876
ab78acc6 8877 this._w = W // new Array(64)
ebd8d4e8 8878
ab78acc6
IC
8879 Hash.call(this, 64, 56)
8880}
ebd8d4e8 8881
ab78acc6 8882inherits(Sha224, Sha256)
ebd8d4e8 8883
ab78acc6
IC
8884Sha224.prototype.init = function () {
8885 this._a = 0xc1059ed8 | 0
8886 this._b = 0x367cd507 | 0
8887 this._c = 0x3070dd17 | 0
8888 this._d = 0xf70e5939 | 0
8889 this._e = 0xffc00b31 | 0
8890 this._f = 0x68581511 | 0
8891 this._g = 0x64f98fa7 | 0
8892 this._h = 0xbefa4fa4 | 0
8893
8894 return this
8895}
8896
8897Sha224.prototype._hash = function () {
8898 var H = new Buffer(28)
8899
8900 H.writeInt32BE(this._a, 0)
8901 H.writeInt32BE(this._b, 4)
8902 H.writeInt32BE(this._c, 8)
8903 H.writeInt32BE(this._d, 12)
8904 H.writeInt32BE(this._e, 16)
8905 H.writeInt32BE(this._f, 20)
8906 H.writeInt32BE(this._g, 24)
8907
8908 return H
ebd8d4e8
IC
8909}
8910
ab78acc6 8911module.exports = Sha224
ebd8d4e8 8912
ab78acc6
IC
8913}).call(this,require("buffer").Buffer)
8914},{"./hash":37,"./sha256":42,"buffer":7,"inherits":35}],42:[function(require,module,exports){
8915(function (Buffer){
ebd8d4e8
IC
8916/**
8917 * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
8918 * in FIPS 180-2
8919 * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
8920 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
8921 *
8922 */
8923
ab78acc6
IC
8924var inherits = require('inherits')
8925var Hash = require('./hash')
8926
8927var K = [
8928 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
8929 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
8930 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
8931 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
8932 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
8933 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
8934 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
8935 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
8936 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
8937 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
8938 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
8939 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
8940 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
8941 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
8942 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
8943 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
8944]
8945
8946var W = new Array(64)
8947
8948function Sha256 () {
8949 this.init()
8950
8951 this._w = W // new Array(64)
8952
8953 Hash.call(this, 64, 56)
8954}
8955
8956inherits(Sha256, Hash)
8957
8958Sha256.prototype.init = function () {
8959 this._a = 0x6a09e667 | 0
8960 this._b = 0xbb67ae85 | 0
8961 this._c = 0x3c6ef372 | 0
8962 this._d = 0xa54ff53a | 0
8963 this._e = 0x510e527f | 0
8964 this._f = 0x9b05688c | 0
8965 this._g = 0x1f83d9ab | 0
8966 this._h = 0x5be0cd19 | 0
ebd8d4e8 8967
ab78acc6
IC
8968 return this
8969}
ebd8d4e8 8970
ab78acc6
IC
8971function S (X, n) {
8972 return (X >>> n) | (X << (32 - n))
8973}
ebd8d4e8 8974
ab78acc6
IC
8975function R (X, n) {
8976 return (X >>> n)
8977}
ebd8d4e8 8978
ab78acc6
IC
8979function Ch (x, y, z) {
8980 return ((x & y) ^ ((~x) & z))
8981}
ebd8d4e8 8982
ab78acc6
IC
8983function Maj (x, y, z) {
8984 return ((x & y) ^ (x & z) ^ (y & z))
8985}
ebd8d4e8 8986
ab78acc6
IC
8987function Sigma0256 (x) {
8988 return (S(x, 2) ^ S(x, 13) ^ S(x, 22))
8989}
ebd8d4e8 8990
ab78acc6
IC
8991function Sigma1256 (x) {
8992 return (S(x, 6) ^ S(x, 11) ^ S(x, 25))
8993}
ebd8d4e8 8994
ab78acc6
IC
8995function Gamma0256 (x) {
8996 return (S(x, 7) ^ S(x, 18) ^ R(x, 3))
8997}
ebd8d4e8 8998
ab78acc6
IC
8999function Gamma1256 (x) {
9000 return (S(x, 17) ^ S(x, 19) ^ R(x, 10))
9001}
ebd8d4e8 9002
ab78acc6
IC
9003Sha256.prototype._update = function (M) {
9004 var W = this._w
ebd8d4e8 9005
ab78acc6
IC
9006 var a = this._a | 0
9007 var b = this._b | 0
9008 var c = this._c | 0
9009 var d = this._d | 0
9010 var e = this._e | 0
9011 var f = this._f | 0
9012 var g = this._g | 0
9013 var h = this._h | 0
ebd8d4e8 9014
ab78acc6 9015 var j = 0
ebd8d4e8 9016
ab78acc6
IC
9017 function calcW () { return Gamma1256(W[j - 2]) + W[j - 7] + Gamma0256(W[j - 15]) + W[j - 16] }
9018 function loop (w) {
9019 W[j] = w
ebd8d4e8 9020
ab78acc6
IC
9021 var T1 = h + Sigma1256(e) + Ch(e, f, g) + K[j] + w
9022 var T2 = Sigma0256(a) + Maj(a, b, c)
ebd8d4e8 9023
ab78acc6
IC
9024 h = g
9025 g = f
9026 f = e
9027 e = d + T1
9028 d = c
9029 c = b
9030 b = a
9031 a = T1 + T2
ebd8d4e8 9032
ab78acc6 9033 j++
ebd8d4e8
IC
9034 }
9035
ab78acc6
IC
9036 while (j < 16) loop(M.readInt32BE(j * 4))
9037 while (j < 64) loop(calcW())
ebd8d4e8 9038
ab78acc6
IC
9039 this._a = (a + this._a) | 0
9040 this._b = (b + this._b) | 0
9041 this._c = (c + this._c) | 0
9042 this._d = (d + this._d) | 0
9043 this._e = (e + this._e) | 0
9044 this._f = (f + this._f) | 0
9045 this._g = (g + this._g) | 0
9046 this._h = (h + this._h) | 0
9047}
ebd8d4e8 9048
ab78acc6
IC
9049Sha256.prototype._hash = function () {
9050 var H = new Buffer(32)
ebd8d4e8 9051
ab78acc6
IC
9052 H.writeInt32BE(this._a, 0)
9053 H.writeInt32BE(this._b, 4)
9054 H.writeInt32BE(this._c, 8)
9055 H.writeInt32BE(this._d, 12)
9056 H.writeInt32BE(this._e, 16)
9057 H.writeInt32BE(this._f, 20)
9058 H.writeInt32BE(this._g, 24)
9059 H.writeInt32BE(this._h, 28)
ebd8d4e8 9060
ab78acc6
IC
9061 return H
9062}
ebd8d4e8 9063
ab78acc6 9064module.exports = Sha256
ebd8d4e8 9065
ab78acc6
IC
9066}).call(this,require("buffer").Buffer)
9067},{"./hash":37,"buffer":7,"inherits":35}],43:[function(require,module,exports){
9068(function (Buffer){
9069var inherits = require('inherits')
9070var SHA512 = require('./sha512')
9071var Hash = require('./hash')
ebd8d4e8 9072
ab78acc6 9073var W = new Array(160)
ebd8d4e8 9074
ab78acc6
IC
9075function Sha384 () {
9076 this.init()
9077 this._w = W
ebd8d4e8 9078
ab78acc6
IC
9079 Hash.call(this, 128, 112)
9080}
ebd8d4e8 9081
ab78acc6 9082inherits(Sha384, SHA512)
ebd8d4e8 9083
ab78acc6
IC
9084Sha384.prototype.init = function () {
9085 this._a = 0xcbbb9d5d | 0
9086 this._b = 0x629a292a | 0
9087 this._c = 0x9159015a | 0
9088 this._d = 0x152fecd8 | 0
9089 this._e = 0x67332667 | 0
9090 this._f = 0x8eb44a87 | 0
9091 this._g = 0xdb0c2e0d | 0
9092 this._h = 0x47b5481d | 0
ebd8d4e8 9093
ab78acc6
IC
9094 this._al = 0xc1059ed8 | 0
9095 this._bl = 0x367cd507 | 0
9096 this._cl = 0x3070dd17 | 0
9097 this._dl = 0xf70e5939 | 0
9098 this._el = 0xffc00b31 | 0
9099 this._fl = 0x68581511 | 0
9100 this._gl = 0x64f98fa7 | 0
9101 this._hl = 0xbefa4fa4 | 0
ebd8d4e8 9102
ab78acc6 9103 return this
ebd8d4e8
IC
9104}
9105
ab78acc6
IC
9106Sha384.prototype._hash = function () {
9107 var H = new Buffer(48)
ebd8d4e8 9108
ab78acc6
IC
9109 function writeInt64BE (h, l, offset) {
9110 H.writeInt32BE(h, offset)
9111 H.writeInt32BE(l, offset + 4)
ebd8d4e8 9112 }
ebd8d4e8 9113
ab78acc6
IC
9114 writeInt64BE(this._a, this._al, 0)
9115 writeInt64BE(this._b, this._bl, 8)
9116 writeInt64BE(this._c, this._cl, 16)
9117 writeInt64BE(this._d, this._dl, 24)
9118 writeInt64BE(this._e, this._el, 32)
9119 writeInt64BE(this._f, this._fl, 40)
9120
9121 return H
ebd8d4e8
IC
9122}
9123
ab78acc6 9124module.exports = Sha384
ebd8d4e8 9125
ab78acc6
IC
9126}).call(this,require("buffer").Buffer)
9127},{"./hash":37,"./sha512":44,"buffer":7,"inherits":35}],44:[function(require,module,exports){
ebd8d4e8 9128(function (Buffer){
ab78acc6
IC
9129var inherits = require('inherits')
9130var Hash = require('./hash')
9131
9132var K = [
9133 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
9134 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
9135 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
9136 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
9137 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
9138 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
9139 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
9140 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
9141 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
9142 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
9143 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
9144 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
9145 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
9146 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
9147 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
9148 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
9149 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
9150 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
9151 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
9152 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
9153 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
9154 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
9155 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
9156 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
9157 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
9158 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
9159 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
9160 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
9161 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
9162 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
9163 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
9164 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
9165 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
9166 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
9167 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
9168 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
9169 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
9170 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
9171 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
9172 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
9173]
9174
9175var W = new Array(160)
9176
9177function Sha512 () {
9178 this.init()
9179 this._w = W
9180
9181 Hash.call(this, 128, 112)
9182}
9183
9184inherits(Sha512, Hash)
9185
9186Sha512.prototype.init = function () {
9187 this._a = 0x6a09e667 | 0
9188 this._b = 0xbb67ae85 | 0
9189 this._c = 0x3c6ef372 | 0
9190 this._d = 0xa54ff53a | 0
9191 this._e = 0x510e527f | 0
9192 this._f = 0x9b05688c | 0
9193 this._g = 0x1f83d9ab | 0
9194 this._h = 0x5be0cd19 | 0
9195
9196 this._al = 0xf3bcc908 | 0
9197 this._bl = 0x84caa73b | 0
9198 this._cl = 0xfe94f82b | 0
9199 this._dl = 0x5f1d36f1 | 0
9200 this._el = 0xade682d1 | 0
9201 this._fl = 0x2b3e6c1f | 0
9202 this._gl = 0xfb41bd6b | 0
9203 this._hl = 0x137e2179 | 0
ebd8d4e8 9204
ab78acc6 9205 return this
ebd8d4e8
IC
9206}
9207
ab78acc6
IC
9208function S (X, Xl, n) {
9209 return (X >>> n) | (Xl << (32 - n))
9210}
9211
9212function Ch (x, y, z) {
9213 return ((x & y) ^ ((~x) & z))
9214}
9215
9216function Maj (x, y, z) {
9217 return ((x & y) ^ (x & z) ^ (y & z))
9218}
9219
9220Sha512.prototype._update = function (M) {
9221 var W = this._w
9222
9223 var a = this._a | 0
9224 var b = this._b | 0
9225 var c = this._c | 0
9226 var d = this._d | 0
9227 var e = this._e | 0
9228 var f = this._f | 0
9229 var g = this._g | 0
9230 var h = this._h | 0
9231
9232 var al = this._al | 0
9233 var bl = this._bl | 0
9234 var cl = this._cl | 0
9235 var dl = this._dl | 0
9236 var el = this._el | 0
9237 var fl = this._fl | 0
9238 var gl = this._gl | 0
9239 var hl = this._hl | 0
9240
9241 var i = 0, j = 0
9242 var Wi, Wil
9243 function calcW () {
9244 var x = W[j - 15 * 2]
9245 var xl = W[j - 15 * 2 + 1]
9246 var gamma0 = S(x, xl, 1) ^ S(x, xl, 8) ^ (x >>> 7)
9247 var gamma0l = S(xl, x, 1) ^ S(xl, x, 8) ^ S(xl, x, 7)
9248
9249 x = W[j - 2 * 2]
9250 xl = W[j - 2 * 2 + 1]
9251 var gamma1 = S(x, xl, 19) ^ S(xl, x, 29) ^ (x >>> 6)
9252 var gamma1l = S(xl, x, 19) ^ S(x, xl, 29) ^ S(xl, x, 6)
9253
9254 // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
9255 var Wi7 = W[j - 7 * 2]
9256 var Wi7l = W[j - 7 * 2 + 1]
9257
9258 var Wi16 = W[j - 16 * 2]
9259 var Wi16l = W[j - 16 * 2 + 1]
ebd8d4e8 9260
ab78acc6
IC
9261 Wil = gamma0l + Wi7l
9262 Wi = gamma0 + Wi7 + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0)
9263 Wil = Wil + gamma1l
9264 Wi = Wi + gamma1 + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0)
9265 Wil = Wil + Wi16l
9266 Wi = Wi + Wi16 + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0)
9267 }
9268
9269 function loop () {
9270 W[j] = Wi
9271 W[j + 1] = Wil
ebd8d4e8 9272
ab78acc6
IC
9273 var maj = Maj(a, b, c)
9274 var majl = Maj(al, bl, cl)
ebd8d4e8 9275
ab78acc6
IC
9276 var sigma0h = S(a, al, 28) ^ S(al, a, 2) ^ S(al, a, 7)
9277 var sigma0l = S(al, a, 28) ^ S(a, al, 2) ^ S(a, al, 7)
9278 var sigma1h = S(e, el, 14) ^ S(e, el, 18) ^ S(el, e, 9)
9279 var sigma1l = S(el, e, 14) ^ S(el, e, 18) ^ S(e, el, 9)
ebd8d4e8 9280
ab78acc6
IC
9281 // t1 = h + sigma1 + ch + K[i] + W[i]
9282 var Ki = K[j]
9283 var Kil = K[j + 1]
ebd8d4e8 9284
ab78acc6
IC
9285 var ch = Ch(e, f, g)
9286 var chl = Ch(el, fl, gl)
ebd8d4e8 9287
ab78acc6
IC
9288 var t1l = hl + sigma1l
9289 var t1 = h + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0)
9290 t1l = t1l + chl
9291 t1 = t1 + ch + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0)
9292 t1l = t1l + Kil
9293 t1 = t1 + Ki + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0)
9294 t1l = t1l + Wil
9295 t1 = t1 + Wi + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0)
ebd8d4e8 9296
ab78acc6
IC
9297 // t2 = sigma0 + maj
9298 var t2l = sigma0l + majl
9299 var t2 = sigma0h + maj + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0)
ebd8d4e8 9300
ab78acc6
IC
9301 h = g
9302 hl = gl
9303 g = f
9304 gl = fl
9305 f = e
9306 fl = el
9307 el = (dl + t1l) | 0
9308 e = (d + t1 + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9309 d = c
9310 dl = cl
9311 c = b
9312 cl = bl
9313 b = a
9314 bl = al
9315 al = (t1l + t2l) | 0
9316 a = (t1 + t2 + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0
9317
9318 i++
9319 j += 2
9320 }
9321
9322 while (i < 16) {
9323 Wi = M.readInt32BE(j * 4)
9324 Wil = M.readInt32BE(j * 4 + 4)
9325
9326 loop()
9327 }
9328
9329 while (i < 80) {
9330 calcW()
9331 loop()
9332 }
9333
9334 this._al = (this._al + al) | 0
9335 this._bl = (this._bl + bl) | 0
9336 this._cl = (this._cl + cl) | 0
9337 this._dl = (this._dl + dl) | 0
9338 this._el = (this._el + el) | 0
9339 this._fl = (this._fl + fl) | 0
9340 this._gl = (this._gl + gl) | 0
9341 this._hl = (this._hl + hl) | 0
9342
9343 this._a = (this._a + a + ((this._al >>> 0) < (al >>> 0) ? 1 : 0)) | 0
9344 this._b = (this._b + b + ((this._bl >>> 0) < (bl >>> 0) ? 1 : 0)) | 0
9345 this._c = (this._c + c + ((this._cl >>> 0) < (cl >>> 0) ? 1 : 0)) | 0
9346 this._d = (this._d + d + ((this._dl >>> 0) < (dl >>> 0) ? 1 : 0)) | 0
9347 this._e = (this._e + e + ((this._el >>> 0) < (el >>> 0) ? 1 : 0)) | 0
9348 this._f = (this._f + f + ((this._fl >>> 0) < (fl >>> 0) ? 1 : 0)) | 0
9349 this._g = (this._g + g + ((this._gl >>> 0) < (gl >>> 0) ? 1 : 0)) | 0
9350 this._h = (this._h + h + ((this._hl >>> 0) < (hl >>> 0) ? 1 : 0)) | 0
9351}
9352
9353Sha512.prototype._hash = function () {
9354 var H = new Buffer(64)
9355
9356 function writeInt64BE (h, l, offset) {
9357 H.writeInt32BE(h, offset)
9358 H.writeInt32BE(l, offset + 4)
9359 }
9360
9361 writeInt64BE(this._a, this._al, 0)
9362 writeInt64BE(this._b, this._bl, 8)
9363 writeInt64BE(this._c, this._cl, 16)
9364 writeInt64BE(this._d, this._dl, 24)
9365 writeInt64BE(this._e, this._el, 32)
9366 writeInt64BE(this._f, this._fl, 40)
9367 writeInt64BE(this._g, this._gl, 48)
9368 writeInt64BE(this._h, this._hl, 56)
9369
9370 return H
9371}
9372
9373module.exports = Sha512
9374
9375}).call(this,require("buffer").Buffer)
9376},{"./hash":37,"buffer":7,"inherits":35}],45:[function(require,module,exports){
9377(function (Buffer){
9378'use strict';
9379var createHash = require('create-hash/browser');
9380var inherits = require('inherits')
ebd8d4e8 9381
ab78acc6 9382var Transform = require('stream').Transform
ebd8d4e8 9383
ab78acc6
IC
9384var ZEROS = new Buffer(128)
9385ZEROS.fill(0)
ebd8d4e8 9386
ab78acc6
IC
9387function Hmac(alg, key) {
9388 Transform.call(this)
ebd8d4e8 9389
ab78acc6
IC
9390 if (typeof key === 'string') {
9391 key = new Buffer(key)
9392 }
ebd8d4e8 9393
ab78acc6 9394 var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
ebd8d4e8 9395
ab78acc6
IC
9396 this._alg = alg
9397 this._key = key
ebd8d4e8 9398
ab78acc6
IC
9399 if (key.length > blocksize) {
9400 key = createHash(alg).update(key).digest()
ebd8d4e8 9401
ab78acc6
IC
9402 } else if (key.length < blocksize) {
9403 key = Buffer.concat([key, ZEROS], blocksize)
9404 }
ebd8d4e8 9405
ab78acc6
IC
9406 var ipad = this._ipad = new Buffer(blocksize)
9407 var opad = this._opad = new Buffer(blocksize)
ebd8d4e8 9408
ab78acc6
IC
9409 for (var i = 0; i < blocksize; i++) {
9410 ipad[i] = key[i] ^ 0x36
9411 opad[i] = key[i] ^ 0x5C
9412 }
ebd8d4e8 9413
ab78acc6
IC
9414 this._hash = createHash(alg).update(ipad)
9415}
ebd8d4e8 9416
ab78acc6 9417inherits(Hmac, Transform)
ebd8d4e8 9418
ab78acc6
IC
9419Hmac.prototype.update = function (data, enc) {
9420 this._hash.update(data, enc)
ebd8d4e8 9421
ab78acc6
IC
9422 return this
9423}
ebd8d4e8 9424
ab78acc6
IC
9425Hmac.prototype._transform = function (data, _, next) {
9426 this._hash.update(data)
ebd8d4e8 9427
ab78acc6
IC
9428 next()
9429}
ebd8d4e8 9430
ab78acc6
IC
9431Hmac.prototype._flush = function (next) {
9432 this.push(this.digest())
ebd8d4e8 9433
ab78acc6
IC
9434 next()
9435}
ebd8d4e8 9436
ab78acc6
IC
9437Hmac.prototype.digest = function (enc) {
9438 var h = this._hash.digest()
ebd8d4e8 9439
ab78acc6
IC
9440 return createHash(this._alg).update(this._opad).update(h).digest(enc)
9441}
ebd8d4e8 9442
ab78acc6
IC
9443module.exports = function createHmac(alg, key) {
9444 return new Hmac(alg, key)
9445}
ebd8d4e8 9446
ab78acc6
IC
9447}).call(this,require("buffer").Buffer)
9448},{"buffer":7,"create-hash/browser":32,"inherits":46,"stream":26}],46:[function(require,module,exports){
9449arguments[4][12][0].apply(exports,arguments)
9450},{"dup":12}],47:[function(require,module,exports){
9451var assert = require('assert')
9452var BigInteger = require('bigi')
ebd8d4e8 9453
ab78acc6 9454var Point = require('./point')
ebd8d4e8
IC
9455
9456function Curve(p, a, b, Gx, Gy, n, h) {
9457 this.p = p
9458 this.a = a
9459 this.b = b
9460 this.G = Point.fromAffine(this, Gx, Gy)
9461 this.n = n
9462 this.h = h
9463
9464 this.infinity = new Point(this, null, null, BigInteger.ZERO)
9465
9466 // result caching
9467 this.pOverFour = p.add(BigInteger.ONE).shiftRight(2)
9468}
9469
9470Curve.prototype.pointFromX = function(isOdd, x) {
9471 var alpha = x.pow(3).add(this.a.multiply(x)).add(this.b).mod(this.p)
ab78acc6 9472 var beta = alpha.modPow(this.pOverFour, this.p) // XXX: not compatible with all curves
ebd8d4e8
IC
9473
9474 var y = beta
9475 if (beta.isEven() ^ !isOdd) {
9476 y = this.p.subtract(y) // -y % p
9477 }
9478
9479 return Point.fromAffine(this, x, y)
9480}
9481
9482Curve.prototype.isInfinity = function(Q) {
9483 if (Q === this.infinity) return true
9484
9485 return Q.z.signum() === 0 && Q.y.signum() !== 0
9486}
9487
9488Curve.prototype.isOnCurve = function(Q) {
9489 if (this.isInfinity(Q)) return true
9490
9491 var x = Q.affineX
9492 var y = Q.affineY
9493 var a = this.a
9494 var b = this.b
9495 var p = this.p
9496
9497 // Check that xQ and yQ are integers in the interval [0, p - 1]
9498 if (x.signum() < 0 || x.compareTo(p) >= 0) return false
9499 if (y.signum() < 0 || y.compareTo(p) >= 0) return false
9500
9501 // and check that y^2 = x^3 + ax + b (mod p)
9502 var lhs = y.square().mod(p)
9503 var rhs = x.pow(3).add(a.multiply(x)).add(b).mod(p)
9504 return lhs.equals(rhs)
9505}
9506
9507/**
9508 * Validate an elliptic curve point.
9509 *
9510 * See SEC 1, section 3.2.2.1: Elliptic Curve Public Key Validation Primitive
9511 */
9512Curve.prototype.validate = function(Q) {
9513 // Check Q != O
9514 assert(!this.isInfinity(Q), 'Point is at infinity')
9515 assert(this.isOnCurve(Q), 'Point is not on the curve')
9516
9517 // Check nQ = O (where Q is a scalar multiple of G)
9518 var nQ = Q.multiply(this.n)
9519 assert(this.isInfinity(nQ), 'Point is not a scalar multiple of G')
9520
9521 return true
9522}
9523
9524module.exports = Curve
9525
ab78acc6 9526},{"./point":51,"assert":5,"bigi":3}],48:[function(require,module,exports){
ebd8d4e8
IC
9527module.exports={
9528 "secp128r1": {
9529 "p": "fffffffdffffffffffffffffffffffff",
9530 "a": "fffffffdfffffffffffffffffffffffc",
9531 "b": "e87579c11079f43dd824993c2cee5ed3",
9532 "n": "fffffffe0000000075a30d1b9038a115",
9533 "h": "01",
9534 "Gx": "161ff7528b899b2d0c28607ca52c5b86",
9535 "Gy": "cf5ac8395bafeb13c02da292dded7a83"
9536 },
9537 "secp160k1": {
9538 "p": "fffffffffffffffffffffffffffffffeffffac73",
9539 "a": "00",
9540 "b": "07",
9541 "n": "0100000000000000000001b8fa16dfab9aca16b6b3",
9542 "h": "01",
9543 "Gx": "3b4c382ce37aa192a4019e763036f4f5dd4d7ebb",
9544 "Gy": "938cf935318fdced6bc28286531733c3f03c4fee"
9545 },
9546 "secp160r1": {
9547 "p": "ffffffffffffffffffffffffffffffff7fffffff",
9548 "a": "ffffffffffffffffffffffffffffffff7ffffffc",
9549 "b": "1c97befc54bd7a8b65acf89f81d4d4adc565fa45",
9550 "n": "0100000000000000000001f4c8f927aed3ca752257",
9551 "h": "01",
9552 "Gx": "4a96b5688ef573284664698968c38bb913cbfc82",
9553 "Gy": "23a628553168947d59dcc912042351377ac5fb32"
9554 },
9555 "secp192k1": {
9556 "p": "fffffffffffffffffffffffffffffffffffffffeffffee37",
9557 "a": "00",
9558 "b": "03",
9559 "n": "fffffffffffffffffffffffe26f2fc170f69466a74defd8d",
9560 "h": "01",
9561 "Gx": "db4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d",
9562 "Gy": "9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"
9563 },
9564 "secp192r1": {
9565 "p": "fffffffffffffffffffffffffffffffeffffffffffffffff",
9566 "a": "fffffffffffffffffffffffffffffffefffffffffffffffc",
9567 "b": "64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1",
9568 "n": "ffffffffffffffffffffffff99def836146bc9b1b4d22831",
9569 "h": "01",
9570 "Gx": "188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012",
9571 "Gy": "07192b95ffc8da78631011ed6b24cdd573f977a11e794811"
9572 },
ebd8d4e8
IC
9573 "secp256k1": {
9574 "p": "fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
9575 "a": "00",
9576 "b": "07",
9577 "n": "fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
9578 "h": "01",
9579 "Gx": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
9580 "Gy": "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
9581 },
9582 "secp256r1": {
9583 "p": "ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
9584 "a": "ffffffff00000001000000000000000000000000fffffffffffffffffffffffc",
9585 "b": "5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b",
9586 "n": "ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
9587 "h": "01",
9588 "Gx": "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
9589 "Gy": "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
9590 }
9591}
9592
ab78acc6
IC
9593},{}],49:[function(require,module,exports){
9594var Point = require('./point')
9595var Curve = require('./curve')
ebd8d4e8 9596
ab78acc6 9597var getCurveByName = require('./names')
ebd8d4e8
IC
9598
9599module.exports = {
9600 Curve: Curve,
9601 Point: Point,
9602 getCurveByName: getCurveByName
9603}
9604
ab78acc6
IC
9605},{"./curve":47,"./names":50,"./point":51}],50:[function(require,module,exports){
9606var BigInteger = require('bigi')
ebd8d4e8 9607
ab78acc6
IC
9608var curves = require('./curves')
9609var Curve = require('./curve')
ebd8d4e8
IC
9610
9611function getCurveByName(name) {
9612 var curve = curves[name]
9613 if (!curve) return null
9614
9615 var p = new BigInteger(curve.p, 16)
9616 var a = new BigInteger(curve.a, 16)
9617 var b = new BigInteger(curve.b, 16)
9618 var n = new BigInteger(curve.n, 16)
9619 var h = new BigInteger(curve.h, 16)
9620 var Gx = new BigInteger(curve.Gx, 16)
9621 var Gy = new BigInteger(curve.Gy, 16)
9622
9623 return new Curve(p, a, b, Gx, Gy, n, h)
9624}
9625
9626module.exports = getCurveByName
9627
ab78acc6 9628},{"./curve":47,"./curves":48,"bigi":3}],51:[function(require,module,exports){
ebd8d4e8 9629(function (Buffer){
ab78acc6
IC
9630var assert = require('assert')
9631var BigInteger = require('bigi')
ebd8d4e8
IC
9632
9633var THREE = BigInteger.valueOf(3)
9634
9635function Point(curve, x, y, z) {
9636 assert.notStrictEqual(z, undefined, 'Missing Z coordinate')
9637
9638 this.curve = curve
9639 this.x = x
9640 this.y = y
9641 this.z = z
9642 this._zInv = null
9643
9644 this.compressed = true
9645}
9646
9647Object.defineProperty(Point.prototype, 'zInv', {
9648 get: function() {
9649 if (this._zInv === null) {
9650 this._zInv = this.z.modInverse(this.curve.p)
9651 }
9652
9653 return this._zInv
9654 }
9655})
9656
9657Object.defineProperty(Point.prototype, 'affineX', {
9658 get: function() {
9659 return this.x.multiply(this.zInv).mod(this.curve.p)
9660 }
9661})
9662
9663Object.defineProperty(Point.prototype, 'affineY', {
9664 get: function() {
9665 return this.y.multiply(this.zInv).mod(this.curve.p)
9666 }
9667})
9668
9669Point.fromAffine = function(curve, x, y) {
9670 return new Point(curve, x, y, BigInteger.ONE)
9671}
9672
9673Point.prototype.equals = function(other) {
9674 if (other === this) return true
9675 if (this.curve.isInfinity(this)) return this.curve.isInfinity(other)
9676 if (this.curve.isInfinity(other)) return this.curve.isInfinity(this)
9677
9678 // u = Y2 * Z1 - Y1 * Z2
9679 var u = other.y.multiply(this.z).subtract(this.y.multiply(other.z)).mod(this.curve.p)
9680
9681 if (u.signum() !== 0) return false
9682
9683 // v = X2 * Z1 - X1 * Z2
9684 var v = other.x.multiply(this.z).subtract(this.x.multiply(other.z)).mod(this.curve.p)
9685
9686 return v.signum() === 0
9687}
9688
9689Point.prototype.negate = function() {
9690 var y = this.curve.p.subtract(this.y)
9691
9692 return new Point(this.curve, this.x, y, this.z)
9693}
9694
9695Point.prototype.add = function(b) {
9696 if (this.curve.isInfinity(this)) return b
9697 if (this.curve.isInfinity(b)) return this
9698
9699 var x1 = this.x
9700 var y1 = this.y
9701 var x2 = b.x
9702 var y2 = b.y
9703
9704 // u = Y2 * Z1 - Y1 * Z2
9705 var u = y2.multiply(this.z).subtract(y1.multiply(b.z)).mod(this.curve.p)
9706 // v = X2 * Z1 - X1 * Z2
9707 var v = x2.multiply(this.z).subtract(x1.multiply(b.z)).mod(this.curve.p)
9708
9709 if (v.signum() === 0) {
9710 if (u.signum() === 0) {
9711 return this.twice() // this == b, so double
9712 }
9713
9714 return this.curve.infinity // this = -b, so infinity
9715 }
9716
9717 var v2 = v.square()
9718 var v3 = v2.multiply(v)
9719 var x1v2 = x1.multiply(v2)
9720 var zu2 = u.square().multiply(this.z)
9721
9722 // x3 = v * (z2 * (z1 * u^2 - 2 * x1 * v^2) - v^3)
9723 var x3 = zu2.subtract(x1v2.shiftLeft(1)).multiply(b.z).subtract(v3).multiply(v).mod(this.curve.p)
9724 // y3 = z2 * (3 * x1 * u * v^2 - y1 * v^3 - z1 * u^3) + u * v^3
9725 var y3 = x1v2.multiply(THREE).multiply(u).subtract(y1.multiply(v3)).subtract(zu2.multiply(u)).multiply(b.z).add(u.multiply(v3)).mod(this.curve.p)
9726 // z3 = v^3 * z1 * z2
9727 var z3 = v3.multiply(this.z).multiply(b.z).mod(this.curve.p)
9728
9729 return new Point(this.curve, x3, y3, z3)
9730}
9731
9732Point.prototype.twice = function() {
9733 if (this.curve.isInfinity(this)) return this
9734 if (this.y.signum() === 0) return this.curve.infinity
9735
9736 var x1 = this.x
9737 var y1 = this.y
9738
9739 var y1z1 = y1.multiply(this.z)
9740 var y1sqz1 = y1z1.multiply(y1).mod(this.curve.p)
9741 var a = this.curve.a
9742
9743 // w = 3 * x1^2 + a * z1^2
9744 var w = x1.square().multiply(THREE)
9745
9746 if (a.signum() !== 0) {
9747 w = w.add(this.z.square().multiply(a))
9748 }
9749
9750 w = w.mod(this.curve.p)
9751 // x3 = 2 * y1 * z1 * (w^2 - 8 * x1 * y1^2 * z1)
9752 var x3 = w.square().subtract(x1.shiftLeft(3).multiply(y1sqz1)).shiftLeft(1).multiply(y1z1).mod(this.curve.p)
9753 // y3 = 4 * y1^2 * z1 * (3 * w * x1 - 2 * y1^2 * z1) - w^3
9754 var y3 = w.multiply(THREE).multiply(x1).subtract(y1sqz1.shiftLeft(1)).shiftLeft(2).multiply(y1sqz1).subtract(w.pow(3)).mod(this.curve.p)
9755 // z3 = 8 * (y1 * z1)^3
9756 var z3 = y1z1.pow(3).shiftLeft(3).mod(this.curve.p)
9757
9758 return new Point(this.curve, x3, y3, z3)
9759}
9760
9761// Simple NAF (Non-Adjacent Form) multiplication algorithm
9762// TODO: modularize the multiplication algorithm
9763Point.prototype.multiply = function(k) {
9764 if (this.curve.isInfinity(this)) return this
9765 if (k.signum() === 0) return this.curve.infinity
9766
9767 var e = k
9768 var h = e.multiply(THREE)
9769
9770 var neg = this.negate()
9771 var R = this
9772
9773 for (var i = h.bitLength() - 2; i > 0; --i) {
9774 R = R.twice()
9775
9776 var hBit = h.testBit(i)
9777 var eBit = e.testBit(i)
9778
9779 if (hBit != eBit) {
9780 R = R.add(hBit ? this : neg)
9781 }
9782 }
9783
9784 return R
9785}
9786
9787// Compute this*j + x*k (simultaneous multiplication)
9788Point.prototype.multiplyTwo = function(j, x, k) {
9789 var i
9790
9791 if (j.bitLength() > k.bitLength())
9792 i = j.bitLength() - 1
9793 else
9794 i = k.bitLength() - 1
9795
9796 var R = this.curve.infinity
9797 var both = this.add(x)
9798
9799 while (i >= 0) {
9800 R = R.twice()
9801
9802 var jBit = j.testBit(i)
9803 var kBit = k.testBit(i)
9804
9805 if (jBit) {
9806 if (kBit) {
9807 R = R.add(both)
9808
9809 } else {
9810 R = R.add(this)
9811 }
9812
9813 } else {
9814 if (kBit) {
9815 R = R.add(x)
9816 }
9817 }
9818 --i
9819 }
9820
9821 return R
9822}
9823
9824Point.prototype.getEncoded = function(compressed) {
9825 if (compressed == undefined) compressed = this.compressed
9826 if (this.curve.isInfinity(this)) return new Buffer('00', 'hex') // Infinity point encoded is simply '00'
9827
9828 var x = this.affineX
9829 var y = this.affineY
9830
9831 var buffer
9832
9833 // Determine size of q in bytes
9834 var byteLength = Math.floor((this.curve.p.bitLength() + 7) / 8)
9835
9836 // 0x02/0x03 | X
9837 if (compressed) {
9838 buffer = new Buffer(1 + byteLength)
9839 buffer.writeUInt8(y.isEven() ? 0x02 : 0x03, 0)
9840
9841 // 0x04 | X | Y
9842 } else {
9843 buffer = new Buffer(1 + byteLength + byteLength)
9844 buffer.writeUInt8(0x04, 0)
9845
9846 y.toBuffer(byteLength).copy(buffer, 1 + byteLength)
9847 }
9848
9849 x.toBuffer(byteLength).copy(buffer, 1)
9850
9851 return buffer
9852}
9853
9854Point.decodeFrom = function(curve, buffer) {
9855 var type = buffer.readUInt8(0)
9856 var compressed = (type !== 4)
9857
ebd8d4e8 9858 var byteLength = Math.floor((curve.p.bitLength() + 7) / 8)
ab78acc6 9859 var x = BigInteger.fromBuffer(buffer.slice(1, 1 + byteLength))
ebd8d4e8
IC
9860
9861 var Q
9862 if (compressed) {
9863 assert.equal(buffer.length, byteLength + 1, 'Invalid sequence length')
9864 assert(type === 0x02 || type === 0x03, 'Invalid sequence tag')
9865
9866 var isOdd = (type === 0x03)
9867 Q = curve.pointFromX(isOdd, x)
9868
9869 } else {
9870 assert.equal(buffer.length, 1 + byteLength + byteLength, 'Invalid sequence length')
9871
9872 var y = BigInteger.fromBuffer(buffer.slice(1 + byteLength))
9873 Q = Point.fromAffine(curve, x, y)
9874 }
9875
9876 Q.compressed = compressed
9877 return Q
9878}
9879
9880Point.prototype.toString = function () {
9881 if (this.curve.isInfinity(this)) return '(INFINITY)'
9882
9883 return '(' + this.affineX.toString() + ',' + this.affineY.toString() + ')'
9884}
9885
9886module.exports = Point
9887
ab78acc6
IC
9888}).call(this,require("buffer").Buffer)
9889},{"assert":5,"bigi":3,"buffer":7}],52:[function(require,module,exports){
9890(function (process,global,Buffer){
9891'use strict';
ebd8d4e8 9892
ab78acc6
IC
9893var crypto = global.crypto || global.msCrypto
9894if(crypto && crypto.getRandomValues) {
9895 module.exports = randomBytes;
9896} else {
9897 module.exports = oldBrowser;
9898}
9899function randomBytes(size, cb) {
9900 var bytes = new Buffer(size); //in browserify, this is an extended Uint8Array
9901 /* This will not work in older browsers.
9902 * See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
9903 */
9904
9905 crypto.getRandomValues(bytes);
9906 if (typeof cb === 'function') {
9907 return process.nextTick(function () {
9908 cb(null, bytes);
9909 });
ebd8d4e8 9910 }
ab78acc6
IC
9911 return bytes;
9912}
9913function oldBrowser() {
9914 throw new Error(
9915 'secure random number generation not supported by this browser\n'+
9916 'use chrome, FireFox or Internet Explorer 11'
9917 )
ebd8d4e8
IC
9918}
9919
ab78acc6
IC
9920}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},require("buffer").Buffer)
9921},{"_process":14,"buffer":7}],53:[function(require,module,exports){
9922(function (Buffer){
9923'use strict';
ebd8d4e8 9924
ab78acc6
IC
9925function getFunctionName(fn) {
9926 return fn.name || fn.toString().match(/function (.*?)\s*\(/)[1];
9927}
9928
9929function getTypeTypeName(type) {
9930 if (nativeTypes.Function(type)) {
9931 type = type.toJSON ? type.toJSON() : getFunctionName(type);
ebd8d4e8 9932 }
ab78acc6
IC
9933 if (nativeTypes.Object(type)) return JSON.stringify(type);
9934
9935 return type;
ebd8d4e8
IC
9936}
9937
ab78acc6
IC
9938function getValueTypeName(value) {
9939 if (nativeTypes.Null(value)) return '';
ebd8d4e8 9940
ab78acc6
IC
9941 return getFunctionName(value.constructor);
9942}
9943
9944function tfErrorString(type, value) {
9945 var typeTypeName = getTypeTypeName(type);
9946 var valueTypeName = getValueTypeName(value);
9947
9948 return 'Expected ' + typeTypeName + ', got ' + (valueTypeName && valueTypeName + ' ') + JSON.stringify(value);
9949}
9950
9951function tfPropertyErrorString(type, name, value) {
9952 return tfErrorString('property \"' + name + '\" of type ' + getTypeTypeName(type), value);
9953}
9954
9955var nativeTypes = {
9956 Array: (function (_Array) {
9957 function Array(_x) {
9958 return _Array.apply(this, arguments);
9959 }
9960
9961 Array.toString = function () {
9962 return _Array.toString();
9963 };
9964
9965 return Array;
9966 })(function (value) {
9967 return value !== null && value !== undefined && value.constructor === Array;
9968 }),
9969 Boolean: function Boolean(value) {
9970 return typeof value === 'boolean';
9971 },
9972 Buffer: (function (_Buffer) {
9973 function Buffer(_x2) {
9974 return _Buffer.apply(this, arguments);
9975 }
9976
9977 Buffer.toString = function () {
9978 return _Buffer.toString();
9979 };
9980
9981 return Buffer;
9982 })(function (value) {
9983 return Buffer.isBuffer(value);
9984 }),
9985 Function: function Function(value) {
9986 return typeof value === 'function';
9987 },
9988 Null: function Null(value) {
9989 return value === undefined || value === null;
9990 },
9991 Number: function Number(value) {
9992 return typeof value === 'number';
9993 },
9994 Object: function Object(value) {
9995 return typeof value === 'object';
9996 },
9997 String: function String(value) {
9998 return typeof value === 'string';
9999 },
10000 '': function _() {
10001 return true;
ebd8d4e8 10002 }
ab78acc6
IC
10003};
10004
10005function tJSON(type) {
10006 return type && type.toJSON ? type.toJSON() : type;
ebd8d4e8
IC
10007}
10008
ab78acc6
IC
10009function sJSON(type) {
10010 var json = tJSON(type);
10011 return nativeTypes.Object(json) ? JSON.stringify(json) : json;
ebd8d4e8
IC
10012}
10013
ab78acc6
IC
10014var otherTypes = {
10015 arrayOf: function arrayOf(type) {
10016 function arrayOf(value, strict) {
10017 try {
10018 return nativeTypes.Array(value) && value.every(function (x) {
10019 return typeforce(type, x, strict);
10020 });
10021 } catch (e) {
10022 return false;
10023 }
10024 }
10025 arrayOf.toJSON = function () {
10026 return [tJSON(type)];
10027 };
10028
10029 return arrayOf;
10030 },
10031
10032 maybe: function maybe(type) {
10033 function maybe(value, strict) {
10034 return nativeTypes.Null(value) || typeforce(type, value, strict);
10035 }
10036 maybe.toJSON = function () {
10037 return '?' + sJSON(type);
10038 };
10039
10040 return maybe;
10041 },
10042
10043 object: function object(type) {
10044 function object(value, strict) {
10045 typeforce(nativeTypes.Object, value, strict);
10046
10047 var propertyName, propertyType, propertyValue;
10048
10049 try {
10050 for (propertyName in type) {
10051 propertyType = type[propertyName];
10052 propertyValue = value[propertyName];
10053
10054 typeforce(propertyType, propertyValue, strict);
10055 }
10056 } catch (e) {
10057 throw new TypeError(tfPropertyErrorString(propertyType, propertyName, propertyValue));
10058 }
10059
10060 if (strict) {
10061 for (propertyName in value) {
10062 if (type[propertyName]) continue;
10063
10064 throw new TypeError('Unexpected property "' + propertyName + '"');
10065 }
10066 }
10067
10068 return true;
10069 }
10070 object.toJSON = function () {
10071 return type;
10072 };
10073
10074 return object;
10075 },
10076
10077 oneOf: function oneOf() {
10078 for (var _len = arguments.length, types = Array(_len), _key = 0; _key < _len; _key++) {
10079 types[_key] = arguments[_key];
10080 }
10081
10082 function oneOf(value, strict) {
10083 return types.some(function (type) {
10084 try {
10085 return typeforce(type, value, strict);
10086 } catch (e) {
10087 return false;
10088 }
10089 });
10090 }
10091 oneOf.toJSON = function () {
10092 return types.map(sJSON).join('|');
10093 };
10094
10095 return oneOf;
10096 },
10097
10098 quacksLike: function quacksLike(type) {
10099 function quacksLike(value, strict) {
10100 return type === getValueTypeName(value);
10101 }
10102 quacksLike.toJSON = function () {
10103 return type;
10104 };
10105
10106 return quacksLike;
10107 },
10108
10109 tuple: function tuple() {
10110 for (var _len2 = arguments.length, types = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
10111 types[_key2] = arguments[_key2];
10112 }
10113
10114 function tuple(value, strict) {
10115 return types.every(function (type, i) {
10116 return typeforce(type, value[i], strict);
10117 });
10118 }
10119 tuple.toJSON = function () {
10120 return '(' + types.map(sJSON).join(', ') + ')';
10121 };
10122
10123 return tuple;
10124 },
10125
10126 value: function value(expected) {
10127 function value(actual) {
10128 return actual === expected;
10129 }
10130 value.toJSON = function () {
10131 return expected;
10132 };
10133
10134 return value;
10135 }
10136};
10137
10138function compile(type) {
10139 if (nativeTypes.String(type)) {
10140 if (type[0] === '?') return otherTypes.maybe(compile(type.slice(1)));
10141
10142 return nativeTypes[type] || otherTypes.quacksLike(type);
10143 } else if (type && nativeTypes.Object(type)) {
10144 if (nativeTypes.Array(type)) return otherTypes.arrayOf(compile(type[0]));
10145
10146 var compiled = {};
10147
10148 for (var propertyName in type) {
10149 compiled[propertyName] = compile(type[propertyName]);
10150 }
10151
10152 return otherTypes.object(compiled);
10153 } else if (nativeTypes.Function(type)) {
10154 return type;
10155 }
10156
10157 return otherTypes.value(type);
ebd8d4e8
IC
10158}
10159
ab78acc6
IC
10160function typeforce(_x3, _x4, _x5) {
10161 var _again = true;
10162
10163 _function: while (_again) {
10164 var type = _x3,
10165 value = _x4,
10166 strict = _x5;
10167 _again = false;
10168
10169 if (nativeTypes.Function(type)) {
10170 if (type(value, strict)) return true;
10171
10172 throw new TypeError(tfErrorString(type, value));
10173 }
10174
10175 // JIT
10176 _x3 = compile(type);
10177 _x4 = value;
10178 _x5 = strict;
10179 _again = true;
10180 continue _function;
10181 }
ebd8d4e8
IC
10182}
10183
ab78acc6
IC
10184// assign all types to typeforce function
10185var typeName;
10186Object.keys(nativeTypes).forEach(function (typeName) {
10187 var nativeType = nativeTypes[typeName];
10188 nativeType.toJSON = function () {
10189 return typeName;
10190 };
10191
10192 typeforce[typeName] = nativeType;
10193});
ebd8d4e8 10194
ab78acc6
IC
10195for (typeName in otherTypes) {
10196 typeforce[typeName] = otherTypes[typeName];
10197}
ebd8d4e8 10198
ab78acc6
IC
10199module.exports = typeforce;
10200module.exports.compile = compile;
10201}).call(this,require("buffer").Buffer)
10202},{"buffer":7}],54:[function(require,module,exports){
ebd8d4e8 10203(function (Buffer){
ab78acc6
IC
10204var assert = require('assert')
10205var base58check = require('bs58check')
10206var typeForce = require('typeforce')
10207var networks = require('./networks')
10208var scripts = require('./scripts')
ebd8d4e8 10209
ab78acc6 10210function findScriptTypeByVersion (version) {
ebd8d4e8
IC
10211 for (var networkName in networks) {
10212 var network = networks[networkName]
10213
10214 if (version === network.pubKeyHash) return 'pubkeyhash'
10215 if (version === network.scriptHash) return 'scripthash'
10216 }
10217}
10218
ab78acc6
IC
10219function Address (hash, version) {
10220 typeForce('Buffer', hash)
10221
ebd8d4e8
IC
10222 assert.strictEqual(hash.length, 20, 'Invalid hash length')
10223 assert.strictEqual(version & 0xff, version, 'Invalid version byte')
10224
10225 this.hash = hash
10226 this.version = version
10227}
10228
ab78acc6 10229Address.fromBase58Check = function (string) {
ebd8d4e8
IC
10230 var payload = base58check.decode(string)
10231 var version = payload.readUInt8(0)
10232 var hash = payload.slice(1)
10233
10234 return new Address(hash, version)
10235}
10236
ab78acc6 10237Address.fromOutputScript = function (script, network) {
ebd8d4e8
IC
10238 network = network || networks.bitcoin
10239
ab78acc6
IC
10240 if (scripts.isPubKeyHashOutput(script)) return new Address(script.chunks[2], network.pubKeyHash)
10241 if (scripts.isScriptHashOutput(script)) return new Address(script.chunks[1], network.scriptHash)
ebd8d4e8 10242
ab78acc6 10243 assert(false, script.toASM() + ' has no matching Address')
ebd8d4e8
IC
10244}
10245
ebd8d4e8
IC
10246Address.prototype.toBase58Check = function () {
10247 var payload = new Buffer(21)
10248 payload.writeUInt8(this.version, 0)
10249 this.hash.copy(payload, 1)
10250
10251 return base58check.encode(payload)
10252}
10253
ab78acc6 10254Address.prototype.toOutputScript = function () {
ebd8d4e8
IC
10255 var scriptType = findScriptTypeByVersion(this.version)
10256
10257 if (scriptType === 'pubkeyhash') return scripts.pubKeyHashOutput(this.hash)
10258 if (scriptType === 'scripthash') return scripts.scriptHashOutput(this.hash)
10259
ab78acc6
IC
10260 assert(false, this.toString() + ' has no matching Script')
10261}
10262
10263Address.prototype.toString = Address.prototype.toBase58Check
10264
10265module.exports = Address
10266
10267}).call(this,require("buffer").Buffer)
10268},{"./networks":66,"./scripts":69,"assert":5,"bs58check":31,"buffer":7,"typeforce":53}],55:[function(require,module,exports){
10269var bs58check = require('bs58check')
10270
10271function decode () {
10272 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10273
10274 return bs58check.decode.apply(undefined, arguments)
10275}
10276
10277function encode () {
10278 console.warn('bs58check will be removed in 2.0.0. require("bs58check") instead.')
10279
10280 return bs58check.encode.apply(undefined, arguments)
10281}
10282
10283module.exports = {
10284 decode: decode,
10285 encode: encode
10286}
10287
10288},{"bs58check":31}],56:[function(require,module,exports){
10289(function (Buffer){
10290var assert = require('assert')
10291var bufferutils = require('./bufferutils')
10292var crypto = require('./crypto')
10293
10294var Transaction = require('./transaction')
10295
10296function Block () {
10297 this.version = 1
10298 this.prevHash = null
10299 this.merkleRoot = null
10300 this.timestamp = 0
10301 this.bits = 0
10302 this.nonce = 0
10303}
10304
10305Block.fromBuffer = function (buffer) {
10306 assert(buffer.length >= 80, 'Buffer too small (< 80 bytes)')
10307
10308 var offset = 0
10309 function readSlice (n) {
10310 offset += n
10311 return buffer.slice(offset - n, offset)
10312 }
10313
10314 function readUInt32 () {
10315 var i = buffer.readUInt32LE(offset)
10316 offset += 4
10317 return i
10318 }
10319
10320 var block = new Block()
10321 block.version = readUInt32()
10322 block.prevHash = readSlice(32)
10323 block.merkleRoot = readSlice(32)
10324 block.timestamp = readUInt32()
10325 block.bits = readUInt32()
10326 block.nonce = readUInt32()
10327
10328 if (buffer.length === 80) return block
10329
10330 function readVarInt () {
10331 var vi = bufferutils.readVarInt(buffer, offset)
10332 offset += vi.size
10333 return vi.number
10334 }
10335
10336 // FIXME: poor performance
10337 function readTransaction () {
10338 var tx = Transaction.fromBuffer(buffer.slice(offset), true)
10339
10340 offset += tx.toBuffer().length
10341 return tx
10342 }
10343
10344 var nTransactions = readVarInt()
10345 block.transactions = []
10346
10347 for (var i = 0; i < nTransactions; ++i) {
10348 var tx = readTransaction()
10349 block.transactions.push(tx)
10350 }
10351
10352 return block
10353}
10354
10355Block.fromHex = function (hex) {
10356 return Block.fromBuffer(new Buffer(hex, 'hex'))
10357}
10358
10359Block.prototype.getHash = function () {
10360 return crypto.hash256(this.toBuffer(true))
10361}
10362
10363Block.prototype.getId = function () {
10364 return bufferutils.reverse(this.getHash()).toString('hex')
ebd8d4e8
IC
10365}
10366
ab78acc6
IC
10367Block.prototype.getUTCDate = function () {
10368 var date = new Date(0) // epoch
10369 date.setUTCSeconds(this.timestamp)
ebd8d4e8 10370
ab78acc6
IC
10371 return date
10372}
ebd8d4e8 10373
ab78acc6
IC
10374Block.prototype.toBuffer = function (headersOnly) {
10375 var buffer = new Buffer(80)
ebd8d4e8 10376
ab78acc6
IC
10377 var offset = 0
10378 function writeSlice (slice) {
10379 slice.copy(buffer, offset)
10380 offset += slice.length
10381 }
ebd8d4e8 10382
ab78acc6
IC
10383 function writeUInt32 (i) {
10384 buffer.writeUInt32LE(i, offset)
10385 offset += 4
10386 }
ebd8d4e8 10387
ab78acc6
IC
10388 writeUInt32(this.version)
10389 writeSlice(this.prevHash)
10390 writeSlice(this.merkleRoot)
10391 writeUInt32(this.timestamp)
10392 writeUInt32(this.bits)
10393 writeUInt32(this.nonce)
ebd8d4e8 10394
ab78acc6 10395 if (headersOnly || !this.transactions) return buffer
ebd8d4e8 10396
ab78acc6
IC
10397 var txLenBuffer = bufferutils.varIntBuffer(this.transactions.length)
10398 var txBuffers = this.transactions.map(function (tx) {
10399 return tx.toBuffer()
10400 })
ebd8d4e8 10401
ab78acc6 10402 return Buffer.concat([buffer, txLenBuffer].concat(txBuffers))
ebd8d4e8
IC
10403}
10404
ab78acc6
IC
10405Block.prototype.toHex = function (headersOnly) {
10406 return this.toBuffer(headersOnly).toString('hex')
ebd8d4e8
IC
10407}
10408
ab78acc6
IC
10409module.exports = Block
10410
10411}).call(this,require("buffer").Buffer)
10412},{"./bufferutils":57,"./crypto":58,"./transaction":70,"assert":5,"buffer":7}],57:[function(require,module,exports){
10413(function (Buffer){
10414var assert = require('assert')
10415var opcodes = require('./opcodes')
ebd8d4e8
IC
10416
10417// https://github.com/feross/buffer/blob/master/index.js#L1127
ab78acc6 10418function verifuint (value, max) {
ebd8d4e8
IC
10419 assert(typeof value === 'number', 'cannot write a non-number as a number')
10420 assert(value >= 0, 'specified a negative value for writing an unsigned value')
10421 assert(value <= max, 'value is larger than maximum value for type')
10422 assert(Math.floor(value) === value, 'value has a fractional component')
10423}
10424
ab78acc6 10425function pushDataSize (i) {
ebd8d4e8 10426 return i < opcodes.OP_PUSHDATA1 ? 1
ab78acc6
IC
10427 : i < 0xff ? 2
10428 : i < 0xffff ? 3
10429 : 5
ebd8d4e8
IC
10430}
10431
ab78acc6 10432function readPushDataInt (buffer, offset) {
ebd8d4e8
IC
10433 var opcode = buffer.readUInt8(offset)
10434 var number, size
10435
10436 // ~6 bit
10437 if (opcode < opcodes.OP_PUSHDATA1) {
10438 number = opcode
10439 size = 1
10440
10441 // 8 bit
10442 } else if (opcode === opcodes.OP_PUSHDATA1) {
ab78acc6 10443 if (offset + 2 > buffer.length) return null
ebd8d4e8
IC
10444 number = buffer.readUInt8(offset + 1)
10445 size = 2
10446
10447 // 16 bit
10448 } else if (opcode === opcodes.OP_PUSHDATA2) {
ab78acc6 10449 if (offset + 3 > buffer.length) return null
ebd8d4e8
IC
10450 number = buffer.readUInt16LE(offset + 1)
10451 size = 3
10452
10453 // 32 bit
10454 } else {
ab78acc6 10455 if (offset + 5 > buffer.length) return null
ebd8d4e8
IC
10456 assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
10457
10458 number = buffer.readUInt32LE(offset + 1)
10459 size = 5
ebd8d4e8
IC
10460 }
10461
10462 return {
10463 opcode: opcode,
10464 number: number,
10465 size: size
10466 }
10467}
10468
ab78acc6 10469function readUInt64LE (buffer, offset) {
ebd8d4e8
IC
10470 var a = buffer.readUInt32LE(offset)
10471 var b = buffer.readUInt32LE(offset + 4)
10472 b *= 0x100000000
10473
10474 verifuint(b + a, 0x001fffffffffffff)
10475
10476 return b + a
10477}
10478
ab78acc6 10479function readVarInt (buffer, offset) {
ebd8d4e8
IC
10480 var t = buffer.readUInt8(offset)
10481 var number, size
10482
10483 // 8 bit
10484 if (t < 253) {
10485 number = t
10486 size = 1
10487
10488 // 16 bit
10489 } else if (t < 254) {
10490 number = buffer.readUInt16LE(offset + 1)
10491 size = 3
10492
10493 // 32 bit
10494 } else if (t < 255) {
10495 number = buffer.readUInt32LE(offset + 1)
10496 size = 5
10497
10498 // 64 bit
10499 } else {
10500 number = readUInt64LE(buffer, offset + 1)
10501 size = 9
10502 }
10503
10504 return {
10505 number: number,
10506 size: size
10507 }
10508}
10509
ab78acc6 10510function writePushDataInt (buffer, number, offset) {
ebd8d4e8
IC
10511 var size = pushDataSize(number)
10512
10513 // ~6 bit
10514 if (size === 1) {
10515 buffer.writeUInt8(number, offset)
10516
10517 // 8 bit
10518 } else if (size === 2) {
10519 buffer.writeUInt8(opcodes.OP_PUSHDATA1, offset)
10520 buffer.writeUInt8(number, offset + 1)
10521
10522 // 16 bit
10523 } else if (size === 3) {
10524 buffer.writeUInt8(opcodes.OP_PUSHDATA2, offset)
10525 buffer.writeUInt16LE(number, offset + 1)
10526
10527 // 32 bit
10528 } else {
10529 buffer.writeUInt8(opcodes.OP_PUSHDATA4, offset)
10530 buffer.writeUInt32LE(number, offset + 1)
ebd8d4e8
IC
10531 }
10532
10533 return size
10534}
10535
ab78acc6 10536function writeUInt64LE (buffer, value, offset) {
ebd8d4e8
IC
10537 verifuint(value, 0x001fffffffffffff)
10538
10539 buffer.writeInt32LE(value & -1, offset)
10540 buffer.writeUInt32LE(Math.floor(value / 0x100000000), offset + 4)
10541}
10542
ab78acc6
IC
10543function varIntSize (i) {
10544 return i < 253 ? 1
10545 : i < 0x10000 ? 3
10546 : i < 0x100000000 ? 5
10547 : 9
ebd8d4e8
IC
10548}
10549
ab78acc6 10550function writeVarInt (buffer, number, offset) {
ebd8d4e8
IC
10551 var size = varIntSize(number)
10552
10553 // 8 bit
10554 if (size === 1) {
10555 buffer.writeUInt8(number, offset)
10556
10557 // 16 bit
10558 } else if (size === 3) {
10559 buffer.writeUInt8(253, offset)
10560 buffer.writeUInt16LE(number, offset + 1)
10561
10562 // 32 bit
10563 } else if (size === 5) {
10564 buffer.writeUInt8(254, offset)
10565 buffer.writeUInt32LE(number, offset + 1)
10566
10567 // 64 bit
10568 } else {
10569 buffer.writeUInt8(255, offset)
10570 writeUInt64LE(buffer, number, offset + 1)
10571 }
10572
10573 return size
10574}
10575
ab78acc6
IC
10576function varIntBuffer (i) {
10577 var size = varIntSize(i)
10578 var buffer = new Buffer(size)
10579 writeVarInt(buffer, i, 0)
10580
10581 return buffer
10582}
10583
10584function reverse (buffer) {
10585 var buffer2 = new Buffer(buffer)
10586 Array.prototype.reverse.call(buffer2)
10587 return buffer2
10588}
10589
ebd8d4e8
IC
10590module.exports = {
10591 pushDataSize: pushDataSize,
10592 readPushDataInt: readPushDataInt,
10593 readUInt64LE: readUInt64LE,
10594 readVarInt: readVarInt,
ab78acc6
IC
10595 reverse: reverse,
10596 varIntBuffer: varIntBuffer,
ebd8d4e8
IC
10597 varIntSize: varIntSize,
10598 writePushDataInt: writePushDataInt,
10599 writeUInt64LE: writeUInt64LE,
10600 writeVarInt: writeVarInt
10601}
10602
ab78acc6
IC
10603}).call(this,require("buffer").Buffer)
10604},{"./opcodes":67,"assert":5,"buffer":7}],58:[function(require,module,exports){
10605var createHash = require('create-hash')
ebd8d4e8 10606
ab78acc6 10607function hash160 (buffer) {
ebd8d4e8
IC
10608 return ripemd160(sha256(buffer))
10609}
10610
ab78acc6 10611function hash256 (buffer) {
ebd8d4e8
IC
10612 return sha256(sha256(buffer))
10613}
10614
ab78acc6
IC
10615function ripemd160 (buffer) {
10616 return createHash('rmd160').update(buffer).digest()
ebd8d4e8
IC
10617}
10618
ab78acc6
IC
10619function sha1 (buffer) {
10620 return createHash('sha1').update(buffer).digest()
ebd8d4e8
IC
10621}
10622
ab78acc6
IC
10623function sha256 (buffer) {
10624 return createHash('sha256').update(buffer).digest()
ebd8d4e8
IC
10625}
10626
10627// FIXME: Name not consistent with others
ab78acc6 10628var createHmac = require('create-hmac')
ebd8d4e8 10629
ab78acc6
IC
10630function HmacSHA256 (buffer, secret) {
10631 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10632 return createHmac('sha256', secret).update(buffer).digest()
10633}
ebd8d4e8 10634
ab78acc6
IC
10635function HmacSHA512 (buffer, secret) {
10636 console.warn('Hmac* functions are deprecated for removal in 2.0.0, use node crypto instead')
10637 return createHmac('sha512', secret).update(buffer).digest()
ebd8d4e8
IC
10638}
10639
10640module.exports = {
10641 ripemd160: ripemd160,
10642 sha1: sha1,
10643 sha256: sha256,
10644 hash160: hash160,
10645 hash256: hash256,
10646 HmacSHA256: HmacSHA256,
10647 HmacSHA512: HmacSHA512
10648}
10649
ab78acc6 10650},{"create-hash":32,"create-hmac":45}],59:[function(require,module,exports){
ebd8d4e8 10651(function (Buffer){
ab78acc6
IC
10652var assert = require('assert')
10653var createHmac = require('create-hmac')
10654var typeForce = require('typeforce')
ebd8d4e8 10655
ab78acc6
IC
10656var BigInteger = require('bigi')
10657var ECSignature = require('./ecsignature')
10658
10659var ZERO = new Buffer([0])
10660var ONE = new Buffer([1])
ebd8d4e8
IC
10661
10662// https://tools.ietf.org/html/rfc6979#section-3.2
ab78acc6
IC
10663function deterministicGenerateK (curve, hash, d, checkSig) {
10664 typeForce('Buffer', hash)
10665 typeForce('BigInteger', d)
10666
10667 // FIXME: remove/uncomment for 2.0.0
10668 // typeForce('Function', checkSig)
10669
10670 if (typeof checkSig !== 'function') {
10671 console.warn('deterministicGenerateK requires a checkSig callback in 2.0.0, see #337 for more information')
10672
10673 checkSig = function (k) {
10674 var G = curve.G
10675 var n = curve.n
10676 var e = BigInteger.fromBuffer(hash)
10677
10678 var Q = G.multiply(k)
10679
10680 if (curve.isInfinity(Q))
10681 return false
10682
10683 var r = Q.affineX.mod(n)
10684 if (r.signum() === 0)
10685 return false
10686
10687 var s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10688 if (s.signum() === 0)
10689 return false
10690
10691 return true
10692 }
10693 }
10694
10695 // sanity check
ebd8d4e8 10696 assert.equal(hash.length, 32, 'Hash must be 256 bit')
ebd8d4e8
IC
10697
10698 var x = d.toBuffer(32)
10699 var k = new Buffer(32)
10700 var v = new Buffer(32)
10701
ab78acc6 10702 // Step A, ignored as hash already provided
ebd8d4e8
IC
10703 // Step B
10704 v.fill(1)
10705
10706 // Step C
10707 k.fill(0)
10708
10709 // Step D
ab78acc6
IC
10710 k = createHmac('sha256', k)
10711 .update(v)
10712 .update(ZERO)
10713 .update(x)
10714 .update(hash)
10715 .digest()
ebd8d4e8
IC
10716
10717 // Step E
ab78acc6 10718 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10719
10720 // Step F
ab78acc6
IC
10721 k = createHmac('sha256', k)
10722 .update(v)
10723 .update(ONE)
10724 .update(x)
10725 .update(hash)
10726 .digest()
ebd8d4e8
IC
10727
10728 // Step G
ab78acc6 10729 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10730
10731 // Step H1/H2a, ignored as tlen === qlen (256 bit)
10732 // Step H2b
ab78acc6 10733 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10734
10735 var T = BigInteger.fromBuffer(v)
10736
ab78acc6
IC
10737 // Step H3, repeat until T is within the interval [1, n - 1] and is suitable for ECDSA
10738 while ((T.signum() <= 0) || (T.compareTo(curve.n) >= 0) || !checkSig(T)) {
10739 k = createHmac('sha256', k)
10740 .update(v)
10741 .update(ZERO)
10742 .digest()
10743
10744 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8 10745
ab78acc6
IC
10746 // Step H1/H2a, again, ignored as tlen === qlen (256 bit)
10747 // Step H2b again
10748 v = createHmac('sha256', k).update(v).digest()
ebd8d4e8
IC
10749 T = BigInteger.fromBuffer(v)
10750 }
10751
10752 return T
10753}
10754
ab78acc6
IC
10755function sign (curve, hash, d) {
10756 var r, s
ebd8d4e8 10757
ab78acc6 10758 var e = BigInteger.fromBuffer(hash)
ebd8d4e8
IC
10759 var n = curve.n
10760 var G = curve.G
ebd8d4e8 10761
ab78acc6
IC
10762 deterministicGenerateK(curve, hash, d, function (k) {
10763 var Q = G.multiply(k)
10764
10765 if (curve.isInfinity(Q))
10766 return false
10767
10768 r = Q.affineX.mod(n)
10769 if (r.signum() === 0)
10770 return false
10771
10772 s = k.modInverse(n).multiply(e.add(d.multiply(r))).mod(n)
10773 if (s.signum() === 0)
10774 return false
ebd8d4e8 10775
ab78acc6
IC
10776 return true
10777 })
ebd8d4e8
IC
10778
10779 var N_OVER_TWO = n.shiftRight(1)
10780
10781 // enforce low S values, see bip62: 'low s values in signatures'
10782 if (s.compareTo(N_OVER_TWO) > 0) {
10783 s = n.subtract(s)
10784 }
10785
10786 return new ECSignature(r, s)
10787}
10788
ab78acc6 10789function verifyRaw (curve, e, signature, Q) {
ebd8d4e8
IC
10790 var n = curve.n
10791 var G = curve.G
10792
10793 var r = signature.r
10794 var s = signature.s
10795
ab78acc6
IC
10796 // 1.4.1 Enforce r and s are both integers in the interval [1, n − 1]
10797 if (r.signum() <= 0 || r.compareTo(n) >= 0) return false
10798 if (s.signum() <= 0 || s.compareTo(n) >= 0) return false
ebd8d4e8 10799
ab78acc6 10800 // c = s^-1 mod n
ebd8d4e8
IC
10801 var c = s.modInverse(n)
10802
ab78acc6
IC
10803 // 1.4.4 Compute u1 = es^−1 mod n
10804 // u2 = rs^−1 mod n
ebd8d4e8
IC
10805 var u1 = e.multiply(c).mod(n)
10806 var u2 = r.multiply(c).mod(n)
10807
ab78acc6
IC
10808 // 1.4.5 Compute R = (xR, yR) = u1G + u2Q
10809 var R = G.multiplyTwo(u1, Q, u2)
10810 var v = R.affineX.mod(n)
ebd8d4e8 10811
ab78acc6
IC
10812 // 1.4.5 (cont.) Enforce R is not at infinity
10813 if (curve.isInfinity(R)) return false
10814
10815 // 1.4.8 If v = r, output "valid", and if v != r, output "invalid"
ebd8d4e8
IC
10816 return v.equals(r)
10817}
10818
ab78acc6
IC
10819function verify (curve, hash, signature, Q) {
10820 // 1.4.2 H = Hash(M), already done by the user
10821 // 1.4.3 e = H
10822 var e = BigInteger.fromBuffer(hash)
10823
10824 return verifyRaw(curve, e, signature, Q)
10825}
10826
ebd8d4e8
IC
10827/**
10828 * Recover a public key from a signature.
10829 *
10830 * See SEC 1: Elliptic Curve Cryptography, section 4.1.6, "Public
10831 * Key Recovery Operation".
10832 *
10833 * http://www.secg.org/download/aid-780/sec1-v2.pdf
10834 */
ab78acc6 10835function recoverPubKey (curve, e, signature, i) {
ebd8d4e8
IC
10836 assert.strictEqual(i & 3, i, 'Recovery param is more than two bits')
10837
ab78acc6
IC
10838 var n = curve.n
10839 var G = curve.G
10840
ebd8d4e8
IC
10841 var r = signature.r
10842 var s = signature.s
10843
ab78acc6
IC
10844 assert(r.signum() > 0 && r.compareTo(n) < 0, 'Invalid r value')
10845 assert(s.signum() > 0 && s.compareTo(n) < 0, 'Invalid s value')
10846
ebd8d4e8
IC
10847 // A set LSB signifies that the y-coordinate is odd
10848 var isYOdd = i & 1
10849
10850 // The more significant bit specifies whether we should use the
10851 // first or second candidate key.
10852 var isSecondKey = i >> 1
10853
ebd8d4e8
IC
10854 // 1.1 Let x = r + jn
10855 var x = isSecondKey ? r.add(n) : r
10856 var R = curve.pointFromX(isYOdd, x)
10857
10858 // 1.4 Check that nR is at infinity
10859 var nR = R.multiply(n)
10860 assert(curve.isInfinity(nR), 'nR is not a valid curve point')
10861
10862 // Compute -e from e
10863 var eNeg = e.negate().mod(n)
10864
10865 // 1.6.1 Compute Q = r^-1 (sR - eG)
10866 // Q = r^-1 (sR + -eG)
10867 var rInv = r.modInverse(n)
10868
10869 var Q = R.multiplyTwo(s, G, eNeg).multiply(rInv)
10870 curve.validate(Q)
10871
10872 return Q
10873}
10874
10875/**
10876 * Calculate pubkey extraction parameter.
10877 *
10878 * When extracting a pubkey from a signature, we have to
10879 * distinguish four different cases. Rather than putting this
10880 * burden on the verifier, Bitcoin includes a 2-bit value with the
10881 * signature.
10882 *
10883 * This function simply tries all four cases and returns the value
10884 * that resulted in a successful pubkey recovery.
10885 */
ab78acc6 10886function calcPubKeyRecoveryParam (curve, e, signature, Q) {
ebd8d4e8
IC
10887 for (var i = 0; i < 4; i++) {
10888 var Qprime = recoverPubKey(curve, e, signature, i)
10889
10890 // 1.6.2 Verify Q
10891 if (Qprime.equals(Q)) {
10892 return i
10893 }
10894 }
10895
10896 throw new Error('Unable to find valid recovery factor')
10897}
10898
10899module.exports = {
10900 calcPubKeyRecoveryParam: calcPubKeyRecoveryParam,
10901 deterministicGenerateK: deterministicGenerateK,
10902 recoverPubKey: recoverPubKey,
10903 sign: sign,
10904 verify: verify,
10905 verifyRaw: verifyRaw
10906}
10907
ab78acc6
IC
10908}).call(this,require("buffer").Buffer)
10909},{"./ecsignature":62,"assert":5,"bigi":3,"buffer":7,"create-hmac":45,"typeforce":53}],60:[function(require,module,exports){
ebd8d4e8 10910(function (Buffer){
ab78acc6
IC
10911var assert = require('assert')
10912var base58check = require('bs58check')
10913var ecdsa = require('./ecdsa')
10914var networks = require('./networks')
10915var randomBytes = require('randombytes')
10916var typeForce = require('typeforce')
ebd8d4e8 10917
ab78acc6
IC
10918var BigInteger = require('bigi')
10919var ECPubKey = require('./ecpubkey')
ebd8d4e8 10920
ab78acc6
IC
10921var ecurve = require('ecurve')
10922var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 10923
ab78acc6 10924function ECKey (d, compressed) {
ebd8d4e8 10925 assert(d.signum() > 0, 'Private key must be greater than 0')
ab78acc6 10926 assert(d.compareTo(ECKey.curve.n) < 0, 'Private key must be less than the curve order')
ebd8d4e8 10927
ab78acc6 10928 var Q = ECKey.curve.G.multiply(d)
ebd8d4e8
IC
10929
10930 this.d = d
10931 this.pub = new ECPubKey(Q, compressed)
10932}
10933
ab78acc6
IC
10934// Constants
10935ECKey.curve = secp256k1
10936
ebd8d4e8 10937// Static constructors
ab78acc6 10938ECKey.fromWIF = function (string) {
ebd8d4e8
IC
10939 var payload = base58check.decode(string)
10940 var compressed = false
10941
10942 // Ignore the version byte
10943 payload = payload.slice(1)
10944
10945 if (payload.length === 33) {
10946 assert.strictEqual(payload[32], 0x01, 'Invalid compression flag')
10947
10948 // Truncate the compression flag
10949 payload = payload.slice(0, -1)
10950 compressed = true
10951 }
10952
10953 assert.equal(payload.length, 32, 'Invalid WIF payload length')
10954
10955 var d = BigInteger.fromBuffer(payload)
10956 return new ECKey(d, compressed)
10957}
10958
ab78acc6
IC
10959ECKey.makeRandom = function (compressed, rng) {
10960 rng = rng || randomBytes
ebd8d4e8
IC
10961
10962 var buffer = rng(32)
ab78acc6
IC
10963 typeForce('Buffer', buffer)
10964 assert.equal(buffer.length, 32, 'Expected 256-bit Buffer from RNG')
ebd8d4e8
IC
10965
10966 var d = BigInteger.fromBuffer(buffer)
ab78acc6 10967 d = d.mod(ECKey.curve.n)
ebd8d4e8
IC
10968
10969 return new ECKey(d, compressed)
10970}
10971
10972// Export functions
ab78acc6 10973ECKey.prototype.toWIF = function (network) {
ebd8d4e8
IC
10974 network = network || networks.bitcoin
10975
10976 var bufferLen = this.pub.compressed ? 34 : 33
10977 var buffer = new Buffer(bufferLen)
10978
10979 buffer.writeUInt8(network.wif, 0)
10980 this.d.toBuffer(32).copy(buffer, 1)
10981
10982 if (this.pub.compressed) {
10983 buffer.writeUInt8(0x01, 33)
10984 }
10985
10986 return base58check.encode(buffer)
10987}
10988
10989// Operations
ab78acc6
IC
10990ECKey.prototype.sign = function (hash) {
10991 return ecdsa.sign(ECKey.curve, hash, this.d)
ebd8d4e8
IC
10992}
10993
10994module.exports = ECKey
10995
ab78acc6
IC
10996}).call(this,require("buffer").Buffer)
10997},{"./ecdsa":59,"./ecpubkey":61,"./networks":66,"assert":5,"bigi":3,"bs58check":31,"buffer":7,"ecurve":49,"randombytes":52,"typeforce":53}],61:[function(require,module,exports){
ebd8d4e8 10998(function (Buffer){
ab78acc6
IC
10999var crypto = require('./crypto')
11000var ecdsa = require('./ecdsa')
11001var typeForce = require('typeforce')
11002var networks = require('./networks')
ebd8d4e8 11003
ab78acc6 11004var Address = require('./address')
ebd8d4e8 11005
ab78acc6
IC
11006var ecurve = require('ecurve')
11007var secp256k1 = ecurve.getCurveByName('secp256k1')
ebd8d4e8 11008
ab78acc6
IC
11009function ECPubKey (Q, compressed) {
11010 if (compressed === undefined) {
11011 compressed = true
11012 }
ebd8d4e8 11013
ab78acc6
IC
11014 typeForce('Point', Q)
11015 typeForce('Boolean', compressed)
ebd8d4e8
IC
11016
11017 this.compressed = compressed
11018 this.Q = Q
11019}
11020
ab78acc6
IC
11021// Constants
11022ECPubKey.curve = secp256k1
11023
ebd8d4e8 11024// Static constructors
ab78acc6
IC
11025ECPubKey.fromBuffer = function (buffer) {
11026 var Q = ecurve.Point.decodeFrom(ECPubKey.curve, buffer)
ebd8d4e8
IC
11027 return new ECPubKey(Q, Q.compressed)
11028}
11029
ab78acc6 11030ECPubKey.fromHex = function (hex) {
ebd8d4e8
IC
11031 return ECPubKey.fromBuffer(new Buffer(hex, 'hex'))
11032}
11033
11034// Operations
ab78acc6 11035ECPubKey.prototype.getAddress = function (network) {
ebd8d4e8
IC
11036 network = network || networks.bitcoin
11037
11038 return new Address(crypto.hash160(this.toBuffer()), network.pubKeyHash)
11039}
11040
ab78acc6
IC
11041ECPubKey.prototype.verify = function (hash, signature) {
11042 return ecdsa.verify(ECPubKey.curve, hash, signature, this.Q)
ebd8d4e8
IC
11043}
11044
11045// Export functions
ab78acc6 11046ECPubKey.prototype.toBuffer = function () {
ebd8d4e8
IC
11047 return this.Q.getEncoded(this.compressed)
11048}
11049
ab78acc6 11050ECPubKey.prototype.toHex = function () {
ebd8d4e8
IC
11051 return this.toBuffer().toString('hex')
11052}
11053
11054module.exports = ECPubKey
11055
ab78acc6
IC
11056}).call(this,require("buffer").Buffer)
11057},{"./address":54,"./crypto":58,"./ecdsa":59,"./networks":66,"buffer":7,"ecurve":49,"typeforce":53}],62:[function(require,module,exports){
ebd8d4e8 11058(function (Buffer){
ab78acc6
IC
11059var assert = require('assert')
11060var typeForce = require('typeforce')
11061
11062var BigInteger = require('bigi')
11063
11064function ECSignature (r, s) {
11065 typeForce('BigInteger', r)
11066 typeForce('BigInteger', s)
ebd8d4e8 11067
ebd8d4e8
IC
11068 this.r = r
11069 this.s = s
11070}
11071
ab78acc6 11072ECSignature.parseCompact = function (buffer) {
ebd8d4e8
IC
11073 assert.equal(buffer.length, 65, 'Invalid signature length')
11074 var i = buffer.readUInt8(0) - 27
11075
11076 // At most 3 bits
11077 assert.equal(i, i & 7, 'Invalid signature parameter')
11078 var compressed = !!(i & 4)
11079
11080 // Recovery param only
11081 i = i & 3
11082
11083 var r = BigInteger.fromBuffer(buffer.slice(1, 33))
11084 var s = BigInteger.fromBuffer(buffer.slice(33))
11085
11086 return {
11087 compressed: compressed,
11088 i: i,
11089 signature: new ECSignature(r, s)
11090 }
11091}
11092
ab78acc6 11093ECSignature.fromDER = function (buffer) {
ebd8d4e8
IC
11094 assert.equal(buffer.readUInt8(0), 0x30, 'Not a DER sequence')
11095 assert.equal(buffer.readUInt8(1), buffer.length - 2, 'Invalid sequence length')
11096 assert.equal(buffer.readUInt8(2), 0x02, 'Expected a DER integer')
11097
11098 var rLen = buffer.readUInt8(3)
11099 assert(rLen > 0, 'R length is zero')
11100
11101 var offset = 4 + rLen
11102 assert.equal(buffer.readUInt8(offset), 0x02, 'Expected a DER integer (2)')
11103
11104 var sLen = buffer.readUInt8(offset + 1)
11105 assert(sLen > 0, 'S length is zero')
11106
11107 var rB = buffer.slice(4, offset)
11108 var sB = buffer.slice(offset + 2)
11109 offset += 2 + sLen
11110
11111 if (rLen > 1 && rB.readUInt8(0) === 0x00) {
11112 assert(rB.readUInt8(1) & 0x80, 'R value excessively padded')
11113 }
11114
11115 if (sLen > 1 && sB.readUInt8(0) === 0x00) {
11116 assert(sB.readUInt8(1) & 0x80, 'S value excessively padded')
11117 }
11118
11119 assert.equal(offset, buffer.length, 'Invalid DER encoding')
11120 var r = BigInteger.fromDERInteger(rB)
11121 var s = BigInteger.fromDERInteger(sB)
11122
11123 assert(r.signum() >= 0, 'R value is negative')
11124 assert(s.signum() >= 0, 'S value is negative')
11125
11126 return new ECSignature(r, s)
11127}
11128
ab78acc6
IC
11129// BIP62: 1 byte hashType flag (only 0x01, 0x02, 0x03, 0x81, 0x82 and 0x83 are allowed)
11130ECSignature.parseScriptSignature = function (buffer) {
ebd8d4e8
IC
11131 var hashType = buffer.readUInt8(buffer.length - 1)
11132 var hashTypeMod = hashType & ~0x80
11133
ab78acc6 11134 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
ebd8d4e8
IC
11135
11136 return {
11137 signature: ECSignature.fromDER(buffer.slice(0, -1)),
11138 hashType: hashType
11139 }
11140}
11141
ab78acc6
IC
11142ECSignature.prototype.toCompact = function (i, compressed) {
11143 if (compressed) {
11144 i += 4
11145 }
11146
ebd8d4e8
IC
11147 i += 27
11148
11149 var buffer = new Buffer(65)
11150 buffer.writeUInt8(i, 0)
11151
11152 this.r.toBuffer(32).copy(buffer, 1)
11153 this.s.toBuffer(32).copy(buffer, 33)
11154
11155 return buffer
11156}
11157
ab78acc6 11158ECSignature.prototype.toDER = function () {
ebd8d4e8
IC
11159 var rBa = this.r.toDERInteger()
11160 var sBa = this.s.toDERInteger()
11161
11162 var sequence = []
ab78acc6
IC
11163
11164 // INTEGER
11165 sequence.push(0x02, rBa.length)
ebd8d4e8
IC
11166 sequence = sequence.concat(rBa)
11167
ab78acc6
IC
11168 // INTEGER
11169 sequence.push(0x02, sBa.length)
ebd8d4e8
IC
11170 sequence = sequence.concat(sBa)
11171
ab78acc6
IC
11172 // SEQUENCE
11173 sequence.unshift(0x30, sequence.length)
ebd8d4e8
IC
11174
11175 return new Buffer(sequence)
11176}
11177
ab78acc6
IC
11178ECSignature.prototype.toScriptSignature = function (hashType) {
11179 var hashTypeMod = hashType & ~0x80
11180 assert(hashTypeMod > 0x00 && hashTypeMod < 0x04, 'Invalid hashType ' + hashType)
11181
ebd8d4e8
IC
11182 var hashTypeBuffer = new Buffer(1)
11183 hashTypeBuffer.writeUInt8(hashType, 0)
11184
11185 return Buffer.concat([this.toDER(), hashTypeBuffer])
11186}
11187
11188module.exports = ECSignature
11189
ab78acc6
IC
11190}).call(this,require("buffer").Buffer)
11191},{"assert":5,"bigi":3,"buffer":7,"typeforce":53}],63:[function(require,module,exports){
ebd8d4e8 11192(function (Buffer){
ab78acc6
IC
11193var assert = require('assert')
11194var base58check = require('bs58check')
11195var bcrypto = require('./crypto')
11196var createHmac = require('create-hmac')
11197var typeForce = require('typeforce')
11198var networks = require('./networks')
11199
11200var BigInteger = require('bigi')
11201var ECKey = require('./eckey')
11202var ECPubKey = require('./ecpubkey')
11203
11204var ecurve = require('ecurve')
ebd8d4e8
IC
11205var curve = ecurve.getCurveByName('secp256k1')
11206
ab78acc6 11207function findBIP32NetworkByVersion (version) {
ebd8d4e8
IC
11208 for (var name in networks) {
11209 var network = networks[name]
11210
ab78acc6
IC
11211 if (version === network.bip32.private || version === network.bip32.public) {
11212 return network
ebd8d4e8
IC
11213 }
11214 }
11215
ab78acc6 11216 assert(false, 'Could not find network for ' + version.toString(16))
ebd8d4e8
IC
11217}
11218
ab78acc6 11219function HDNode (K, chainCode, network) {
ebd8d4e8
IC
11220 network = network || networks.bitcoin
11221
ab78acc6
IC
11222 typeForce('Buffer', chainCode)
11223
11224 assert.equal(chainCode.length, 32, 'Expected chainCode length of 32, got ' + chainCode.length)
ebd8d4e8
IC
11225 assert(network.bip32, 'Unknown BIP32 constants for network')
11226
11227 this.chainCode = chainCode
11228 this.depth = 0
11229 this.index = 0
ab78acc6 11230 this.parentFingerprint = 0x00000000
ebd8d4e8
IC
11231 this.network = network
11232
11233 if (K instanceof BigInteger) {
11234 this.privKey = new ECKey(K, true)
11235 this.pubKey = this.privKey.pub
ab78acc6
IC
11236 } else if (K instanceof ECKey) {
11237 assert(K.pub.compressed, 'ECKey must be compressed')
11238 this.privKey = K
11239 this.pubKey = K.pub
11240 } else if (K instanceof ECPubKey) {
11241 assert(K.compressed, 'ECPubKey must be compressed')
11242 this.pubKey = K
ebd8d4e8
IC
11243 } else {
11244 this.pubKey = new ECPubKey(K, true)
11245 }
11246}
11247
11248HDNode.MASTER_SECRET = new Buffer('Bitcoin seed')
11249HDNode.HIGHEST_BIT = 0x80000000
11250HDNode.LENGTH = 78
11251
ab78acc6
IC
11252HDNode.fromSeedBuffer = function (seed, network) {
11253 typeForce('Buffer', seed)
11254
11255 assert(seed.length >= 16, 'Seed should be at least 128 bits')
11256 assert(seed.length <= 64, 'Seed should be at most 512 bits')
11257
11258 var I = createHmac('sha512', HDNode.MASTER_SECRET).update(seed).digest()
ebd8d4e8
IC
11259 var IL = I.slice(0, 32)
11260 var IR = I.slice(32)
11261
11262 // In case IL is 0 or >= n, the master key is invalid
11263 // This is handled by `new ECKey` in the HDNode constructor
11264 var pIL = BigInteger.fromBuffer(IL)
11265
11266 return new HDNode(pIL, IR, network)
11267}
11268
ab78acc6 11269HDNode.fromSeedHex = function (hex, network) {
ebd8d4e8
IC
11270 return HDNode.fromSeedBuffer(new Buffer(hex, 'hex'), network)
11271}
11272
ab78acc6
IC
11273HDNode.fromBase58 = function (string, network) {
11274 return HDNode.fromBuffer(base58check.decode(string), network, true)
ebd8d4e8
IC
11275}
11276
ab78acc6
IC
11277// FIXME: remove in 2.x.y
11278HDNode.fromBuffer = function (buffer, network, __ignoreDeprecation) {
11279 if (!__ignoreDeprecation) {
11280 console.warn('HDNode.fromBuffer() is deprecated for removal in 2.x.y, use fromBase58 instead')
11281 }
11282
ebd8d4e8
IC
11283 assert.strictEqual(buffer.length, HDNode.LENGTH, 'Invalid buffer length')
11284
11285 // 4 byte: version bytes
11286 var version = buffer.readUInt32BE(0)
ab78acc6
IC
11287
11288 if (network) {
11289 assert(version === network.bip32.private || version === network.bip32.public, "Network doesn't match")
11290
11291 // auto-detect
11292 } else {
11293 network = findBIP32NetworkByVersion(version)
11294 }
ebd8d4e8
IC
11295
11296 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ...
11297 var depth = buffer.readUInt8(4)
11298
11299 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
11300 var parentFingerprint = buffer.readUInt32BE(5)
11301 if (depth === 0) {
11302 assert.strictEqual(parentFingerprint, 0x00000000, 'Invalid parent fingerprint')
11303 }
11304
11305 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11306 // This is encoded in MSB order. (0x00000000 if master key)
11307 var index = buffer.readUInt32BE(9)
11308 assert(depth > 0 || index === 0, 'Invalid index')
11309
11310 // 32 bytes: the chain code
11311 var chainCode = buffer.slice(13, 45)
ab78acc6 11312 var data, hd
ebd8d4e8
IC
11313
11314 // 33 bytes: private key data (0x00 + k)
ab78acc6 11315 if (version === network.bip32.private) {
ebd8d4e8 11316 assert.strictEqual(buffer.readUInt8(45), 0x00, 'Invalid private key')
ab78acc6 11317 data = buffer.slice(46, 78)
ebd8d4e8 11318 var d = BigInteger.fromBuffer(data)
ab78acc6 11319 hd = new HDNode(d, chainCode, network)
ebd8d4e8
IC
11320
11321 // 33 bytes: public key data (0x02 + X or 0x03 + X)
11322 } else {
ab78acc6 11323 data = buffer.slice(45, 78)
ebd8d4e8
IC
11324 var Q = ecurve.Point.decodeFrom(curve, data)
11325 assert.equal(Q.compressed, true, 'Invalid public key')
11326
11327 // Verify that the X coordinate in the public point corresponds to a point on the curve.
11328 // If not, the extended public key is invalid.
11329 curve.validate(Q)
11330
ab78acc6 11331 hd = new HDNode(Q, chainCode, network)
ebd8d4e8
IC
11332 }
11333
11334 hd.depth = depth
11335 hd.index = index
11336 hd.parentFingerprint = parentFingerprint
11337
11338 return hd
11339}
11340
ab78acc6
IC
11341// FIXME: remove in 2.x.y
11342HDNode.fromHex = function (hex, network) {
11343 return HDNode.fromBuffer(new Buffer(hex, 'hex'), network)
ebd8d4e8
IC
11344}
11345
ab78acc6
IC
11346HDNode.prototype.getIdentifier = function () {
11347 return bcrypto.hash160(this.pubKey.toBuffer())
ebd8d4e8
IC
11348}
11349
ab78acc6 11350HDNode.prototype.getFingerprint = function () {
ebd8d4e8
IC
11351 return this.getIdentifier().slice(0, 4)
11352}
11353
ab78acc6 11354HDNode.prototype.getAddress = function () {
ebd8d4e8
IC
11355 return this.pubKey.getAddress(this.network)
11356}
11357
ab78acc6
IC
11358HDNode.prototype.neutered = function () {
11359 var neutered = new HDNode(this.pubKey.Q, this.chainCode, this.network)
11360 neutered.depth = this.depth
11361 neutered.index = this.index
11362 neutered.parentFingerprint = this.parentFingerprint
11363
11364 return neutered
11365}
11366
11367HDNode.prototype.toBase58 = function (isPrivate) {
11368 return base58check.encode(this.toBuffer(isPrivate, true))
ebd8d4e8
IC
11369}
11370
ab78acc6
IC
11371// FIXME: remove in 2.x.y
11372HDNode.prototype.toBuffer = function (isPrivate, __ignoreDeprecation) {
11373 if (isPrivate === undefined) {
11374 isPrivate = !!this.privKey
11375
11376 // FIXME: remove in 2.x.y
11377 } else {
11378 console.warn('isPrivate flag is deprecated, please use the .neutered() method instead')
11379 }
11380
11381 if (!__ignoreDeprecation) {
11382 console.warn('HDNode.toBuffer() is deprecated for removal in 2.x.y, use toBase58 instead')
11383 }
ebd8d4e8
IC
11384
11385 // Version
11386 var version = isPrivate ? this.network.bip32.private : this.network.bip32.public
11387 var buffer = new Buffer(HDNode.LENGTH)
11388
11389 // 4 bytes: version bytes
11390 buffer.writeUInt32BE(version, 0)
11391
11392 // Depth
11393 // 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 descendants, ....
11394 buffer.writeUInt8(this.depth, 4)
11395
11396 // 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)
ab78acc6 11397 buffer.writeUInt32BE(this.parentFingerprint, 5)
ebd8d4e8
IC
11398
11399 // 4 bytes: child number. This is the number i in xi = xpar/i, with xi the key being serialized.
11400 // This is encoded in Big endian. (0x00000000 if master key)
11401 buffer.writeUInt32BE(this.index, 9)
11402
11403 // 32 bytes: the chain code
11404 this.chainCode.copy(buffer, 13)
11405
11406 // 33 bytes: the public key or private key data
11407 if (isPrivate) {
ab78acc6 11408 // FIXME: remove in 2.x.y
ebd8d4e8
IC
11409 assert(this.privKey, 'Missing private key')
11410
11411 // 0x00 + k for private keys
11412 buffer.writeUInt8(0, 45)
11413 this.privKey.d.toBuffer(32).copy(buffer, 46)
11414 } else {
ebd8d4e8
IC
11415 // X9.62 encoding for public keys
11416 this.pubKey.toBuffer().copy(buffer, 45)
11417 }
11418
11419 return buffer
11420}
11421
ab78acc6
IC
11422// FIXME: remove in 2.x.y
11423HDNode.prototype.toHex = function (isPrivate) {
ebd8d4e8
IC
11424 return this.toBuffer(isPrivate).toString('hex')
11425}
11426
11427// https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#child-key-derivation-ckd-functions
ab78acc6 11428HDNode.prototype.derive = function (index) {
ebd8d4e8
IC
11429 var isHardened = index >= HDNode.HIGHEST_BIT
11430 var indexBuffer = new Buffer(4)
11431 indexBuffer.writeUInt32BE(index, 0)
11432
11433 var data
11434
11435 // Hardened child
11436 if (isHardened) {
11437 assert(this.privKey, 'Could not derive hardened child key')
11438
11439 // data = 0x00 || ser256(kpar) || ser32(index)
11440 data = Buffer.concat([
11441 this.privKey.d.toBuffer(33),
11442 indexBuffer
11443 ])
11444
11445 // Normal child
11446 } else {
11447 // data = serP(point(kpar)) || ser32(index)
11448 // = serP(Kpar) || ser32(index)
11449 data = Buffer.concat([
11450 this.pubKey.toBuffer(),
11451 indexBuffer
11452 ])
11453 }
11454
ab78acc6 11455 var I = createHmac('sha512', this.chainCode).update(data).digest()
ebd8d4e8
IC
11456 var IL = I.slice(0, 32)
11457 var IR = I.slice(32)
11458
11459 var pIL = BigInteger.fromBuffer(IL)
11460
11461 // In case parse256(IL) >= n, proceed with the next value for i
11462 if (pIL.compareTo(curve.n) >= 0) {
11463 return this.derive(index + 1)
11464 }
11465
11466 // Private parent key -> private child key
11467 var hd
11468 if (this.privKey) {
11469 // ki = parse256(IL) + kpar (mod n)
11470 var ki = pIL.add(this.privKey.d).mod(curve.n)
11471
11472 // In case ki == 0, proceed with the next value for i
11473 if (ki.signum() === 0) {
11474 return this.derive(index + 1)
11475 }
11476
11477 hd = new HDNode(ki, IR, this.network)
11478
11479 // Public parent key -> public child key
11480 } else {
11481 // Ki = point(parse256(IL)) + Kpar
11482 // = G*IL + Kpar
11483 var Ki = curve.G.multiply(pIL).add(this.pubKey.Q)
11484
11485 // In case Ki is the point at infinity, proceed with the next value for i
11486 if (curve.isInfinity(Ki)) {
11487 return this.derive(index + 1)
11488 }
11489
11490 hd = new HDNode(Ki, IR, this.network)
11491 }
11492
11493 hd.depth = this.depth + 1
11494 hd.index = index
11495 hd.parentFingerprint = this.getFingerprint().readUInt32BE(0)
11496
11497 return hd
11498}
11499
ab78acc6 11500HDNode.prototype.deriveHardened = function (index) {
ebd8d4e8
IC
11501 // Only derives hardened private keys by default
11502 return this.derive(index + HDNode.HIGHEST_BIT)
11503}
11504
11505HDNode.prototype.toString = HDNode.prototype.toBase58
11506
11507module.exports = HDNode
11508
ab78acc6
IC
11509}).call(this,require("buffer").Buffer)
11510},{"./crypto":58,"./eckey":60,"./ecpubkey":61,"./networks":66,"assert":5,"bigi":3,"bs58check":31,"buffer":7,"create-hmac":45,"ecurve":49,"typeforce":53}],64:[function(require,module,exports){
ebd8d4e8 11511module.exports = {
ab78acc6
IC
11512 Address: require('./address'),
11513 base58check: require('./base58check'),
11514 Block: require('./block'),
11515 bufferutils: require('./bufferutils'),
11516 crypto: require('./crypto'),
11517 ecdsa: require('./ecdsa'),
11518 ECKey: require('./eckey'),
11519 ECPubKey: require('./ecpubkey'),
11520 ECSignature: require('./ecsignature'),
11521 Message: require('./message'),
11522 opcodes: require('./opcodes'),
11523 HDNode: require('./hdnode'),
11524 Script: require('./script'),
11525 scripts: require('./scripts'),
11526 Transaction: require('./transaction'),
11527 TransactionBuilder: require('./transaction_builder'),
11528 networks: require('./networks'),
11529 Wallet: require('./wallet')
11530}
11531
11532},{"./address":54,"./base58check":55,"./block":56,"./bufferutils":57,"./crypto":58,"./ecdsa":59,"./eckey":60,"./ecpubkey":61,"./ecsignature":62,"./hdnode":63,"./message":65,"./networks":66,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"./transaction_builder":71,"./wallet":72}],65:[function(require,module,exports){
ebd8d4e8 11533(function (Buffer){
ab78acc6
IC
11534var bufferutils = require('./bufferutils')
11535var crypto = require('./crypto')
11536var ecdsa = require('./ecdsa')
11537var networks = require('./networks')
11538
11539var BigInteger = require('bigi')
11540var ECPubKey = require('./ecpubkey')
11541var ECSignature = require('./ecsignature')
11542
11543var ecurve = require('ecurve')
ebd8d4e8
IC
11544var ecparams = ecurve.getCurveByName('secp256k1')
11545
ab78acc6 11546function magicHash (message, network) {
ebd8d4e8
IC
11547 var magicPrefix = new Buffer(network.magicPrefix)
11548 var messageBuffer = new Buffer(message)
ab78acc6 11549 var lengthBuffer = bufferutils.varIntBuffer(messageBuffer.length)
ebd8d4e8
IC
11550
11551 var buffer = Buffer.concat([magicPrefix, lengthBuffer, messageBuffer])
11552 return crypto.hash256(buffer)
11553}
11554
ab78acc6 11555function sign (privKey, message, network) {
ebd8d4e8
IC
11556 network = network || networks.bitcoin
11557
11558 var hash = magicHash(message, network)
11559 var signature = privKey.sign(hash)
11560 var e = BigInteger.fromBuffer(hash)
11561 var i = ecdsa.calcPubKeyRecoveryParam(ecparams, e, signature, privKey.pub.Q)
11562
11563 return signature.toCompact(i, privKey.pub.compressed)
11564}
11565
11566// TODO: network could be implied from address
ab78acc6
IC
11567function verify (address, signature, message, network) {
11568 if (!Buffer.isBuffer(signature)) {
11569 signature = new Buffer(signature, 'base64')
ebd8d4e8 11570 }
ab78acc6 11571
ebd8d4e8
IC
11572 network = network || networks.bitcoin
11573
11574 var hash = magicHash(message, network)
ab78acc6 11575 var parsed = ECSignature.parseCompact(signature)
ebd8d4e8
IC
11576 var e = BigInteger.fromBuffer(hash)
11577 var Q = ecdsa.recoverPubKey(ecparams, e, parsed.signature, parsed.i)
11578
11579 var pubKey = new ECPubKey(Q, parsed.compressed)
ab78acc6 11580 return pubKey.getAddress(network).toString() === address.toString()
ebd8d4e8
IC
11581}
11582
11583module.exports = {
11584 magicHash: magicHash,
11585 sign: sign,
11586 verify: verify
11587}
11588
ab78acc6
IC
11589}).call(this,require("buffer").Buffer)
11590},{"./bufferutils":57,"./crypto":58,"./ecdsa":59,"./ecpubkey":61,"./ecsignature":62,"./networks":66,"bigi":3,"buffer":7,"ecurve":49}],66:[function(require,module,exports){
ebd8d4e8
IC
11591// https://en.bitcoin.it/wiki/List_of_address_prefixes
11592// Dogecoin BIP32 is a proposed standard: https://bitcointalk.org/index.php?topic=409731
11593
11594var networks = {
11595 bitcoin: {
11596 magicPrefix: '\x18Bitcoin Signed Message:\n',
11597 bip32: {
11598 public: 0x0488b21e,
11599 private: 0x0488ade4
11600 },
11601 pubKeyHash: 0x00,
11602 scriptHash: 0x05,
11603 wif: 0x80,
11604 dustThreshold: 546, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/core.h#L151-L162
11605 feePerKb: 10000, // https://github.com/bitcoin/bitcoin/blob/v0.9.2/src/main.cpp#L53
11606 estimateFee: estimateFee('bitcoin')
a9385c1b 11607 },
ab78acc6
IC
11608 testnet: {
11609 magicPrefix: '\x18Bitcoin Signed Message:\n',
a9385c1b 11610 bip32: {
ab78acc6
IC
11611 public: 0x043587cf,
11612 private: 0x04358394
a9385c1b 11613 },
ab78acc6
IC
11614 pubKeyHash: 0x6f,
11615 scriptHash: 0xc4,
11616 wif: 0xef,
11617 dustThreshold: 546,
cb325c58 11618 feePerKb: 10000,
ab78acc6 11619 estimateFee: estimateFee('testnet')
a9385c1b 11620 },
ab78acc6
IC
11621 litecoin: {
11622 magicPrefix: '\x19Litecoin Signed Message:\n',
a9385c1b 11623 bip32: {
ab78acc6
IC
11624 public: 0x019da462,
11625 private: 0x019d9cfe
a9385c1b 11626 },
ab78acc6
IC
11627 pubKeyHash: 0x30,
11628 scriptHash: 0x05,
11629 wif: 0xb0,
11630 dustThreshold: 0, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L360-L365
11631 dustSoftThreshold: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.h#L53
11632 feePerKb: 100000, // https://github.com/litecoin-project/litecoin/blob/v0.8.7.2/src/main.cpp#L56
11633 estimateFee: estimateFee('litecoin')
ebd8d4e8
IC
11634 },
11635 dogecoin: {
11636 magicPrefix: '\x19Dogecoin Signed Message:\n',
11637 bip32: {
11638 public: 0x02facafd,
11639 private: 0x02fac398
11640 },
11641 pubKeyHash: 0x1e,
11642 scriptHash: 0x16,
11643 wif: 0x9e,
11644 dustThreshold: 0, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/core.h#L155-L160
11645 dustSoftThreshold: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.h#L62
11646 feePerKb: 100000000, // https://github.com/dogecoin/dogecoin/blob/v1.7.1/src/main.cpp#L58
11647 estimateFee: estimateFee('dogecoin')
11648 },
ab78acc6
IC
11649 viacoin: {
11650 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8 11651 bip32: {
ab78acc6
IC
11652 public: 0x0488b21e,
11653 private: 0x0488ade4
ebd8d4e8 11654 },
ab78acc6
IC
11655 pubKeyHash: 0x47,
11656 scriptHash: 0x21,
11657 wif: 0xc7,
11658 dustThreshold: 560,
11659 dustSoftThreshold: 100000,
11660 feePerKb: 100000, //
11661 estimateFee: estimateFee('viacoin')
ebd8d4e8 11662 },
ab78acc6
IC
11663 viacointestnet: {
11664 magicPrefix: '\x18Viacoin Signed Message:\n',
ebd8d4e8
IC
11665 bip32: {
11666 public: 0x043587cf,
11667 private: 0x04358394
11668 },
ab78acc6 11669 pubKeyHash: 0x7f,
ebd8d4e8 11670 scriptHash: 0xc4,
ab78acc6
IC
11671 wif: 0xff,
11672 dustThreshold: 560,
11673 dustSoftThreshold: 100000,
11674 feePerKb: 100000,
11675 estimateFee: estimateFee('viacointestnet')
11676 },
11677 gamerscoin: {
11678 magicPrefix: '\x19Gamerscoin Signed Message:\n',
11679 bip32: {
11680 public: 0x019da462,
11681 private: 0x019d9cfe
11682 },
11683 pubKeyHash: 0x26,
11684 scriptHash: 0x05,
11685 wif: 0xA6,
11686 dustThreshold: 0, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L358-L363
11687 dustSoftThreshold: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L51
11688 feePerKb: 100000, // https://github.com/gamers-coin/gamers-coinv3/blob/master/src/main.cpp#L54
11689 estimateFee: estimateFee('gamerscoin')
11690 },
11691 jumbucks: {
11692 magicPrefix: '\x19Jumbucks Signed Message:\n',
11693 bip32: {
11694 public: 0x037a689a,
11695 private: 0x037a6460
11696 },
11697 pubKeyHash: 0x2b,
11698 scriptHash: 0x05,
11699 wif: 0xab,
11700 dustThreshold: 0,
11701 dustSoftThreshold: 10000,
ebd8d4e8 11702 feePerKb: 10000,
ab78acc6
IC
11703 estimateFee: estimateFee('jumbucks')
11704 },
11705 zetacoin: {
11706 magicPrefix: '\x18Zetacoin Signed Message:\n',
11707 bip32: {
11708 public: 0x0488b21e,
11709 private: 0x0488ade4
11710 },
11711 pubKeyHash: 0x50,
11712 scriptHash: 0x09,
11713 wif: 0xe0,
11714 dustThreshold: 546, // https://github.com/zetacoin/zetacoin/blob/master/src/core.h#L159
11715 feePerKb: 10000, // https://github.com/zetacoin/zetacoin/blob/master/src/main.cpp#L54
11716 estimateFee: estimateFee('zetacoin')
ebd8d4e8
IC
11717 }
11718}
11719
ab78acc6
IC
11720function estimateFee (type) {
11721 return function (tx) {
ebd8d4e8
IC
11722 var network = networks[type]
11723 var baseFee = network.feePerKb
11724 var byteSize = tx.toBuffer().length
11725
11726 var fee = baseFee * Math.ceil(byteSize / 1000)
ab78acc6 11727 if (network.dustSoftThreshold === undefined) return fee
ebd8d4e8 11728
ab78acc6 11729 tx.outs.forEach(function (e) {
ebd8d4e8
IC
11730 if (e.value < network.dustSoftThreshold) {
11731 fee += baseFee
11732 }
11733 })
11734
11735 return fee
11736 }
11737}
11738
11739module.exports = networks
11740
ab78acc6 11741},{}],67:[function(require,module,exports){
ebd8d4e8
IC
11742module.exports = {
11743 // push value
ab78acc6
IC
11744 OP_FALSE: 0,
11745 OP_0: 0,
11746 OP_PUSHDATA1: 76,
11747 OP_PUSHDATA2: 77,
11748 OP_PUSHDATA4: 78,
11749 OP_1NEGATE: 79,
11750 OP_RESERVED: 80,
11751 OP_1: 81,
11752 OP_TRUE: 81,
11753 OP_2: 82,
11754 OP_3: 83,
11755 OP_4: 84,
11756 OP_5: 85,
11757 OP_6: 86,
11758 OP_7: 87,
11759 OP_8: 88,
11760 OP_9: 89,
11761 OP_10: 90,
11762 OP_11: 91,
11763 OP_12: 92,
11764 OP_13: 93,
11765 OP_14: 94,
11766 OP_15: 95,
11767 OP_16: 96,
ebd8d4e8
IC
11768
11769 // control
ab78acc6
IC
11770 OP_NOP: 97,
11771 OP_VER: 98,
11772 OP_IF: 99,
11773 OP_NOTIF: 100,
11774 OP_VERIF: 101,
11775 OP_VERNOTIF: 102,
11776 OP_ELSE: 103,
11777 OP_ENDIF: 104,
11778 OP_VERIFY: 105,
11779 OP_RETURN: 106,
ebd8d4e8
IC
11780
11781 // stack ops
ab78acc6
IC
11782 OP_TOALTSTACK: 107,
11783 OP_FROMALTSTACK: 108,
11784 OP_2DROP: 109,
11785 OP_2DUP: 110,
11786 OP_3DUP: 111,
11787 OP_2OVER: 112,
11788 OP_2ROT: 113,
11789 OP_2SWAP: 114,
11790 OP_IFDUP: 115,
11791 OP_DEPTH: 116,
11792 OP_DROP: 117,
11793 OP_DUP: 118,
11794 OP_NIP: 119,
11795 OP_OVER: 120,
11796 OP_PICK: 121,
11797 OP_ROLL: 122,
11798 OP_ROT: 123,
11799 OP_SWAP: 124,
11800 OP_TUCK: 125,
ebd8d4e8
IC
11801
11802 // splice ops
ab78acc6
IC
11803 OP_CAT: 126,
11804 OP_SUBSTR: 127,
11805 OP_LEFT: 128,
11806 OP_RIGHT: 129,
11807 OP_SIZE: 130,
ebd8d4e8
IC
11808
11809 // bit logic
ab78acc6
IC
11810 OP_INVERT: 131,
11811 OP_AND: 132,
11812 OP_OR: 133,
11813 OP_XOR: 134,
11814 OP_EQUAL: 135,
11815 OP_EQUALVERIFY: 136,
11816 OP_RESERVED1: 137,
11817 OP_RESERVED2: 138,
ebd8d4e8
IC
11818
11819 // numeric
ab78acc6
IC
11820 OP_1ADD: 139,
11821 OP_1SUB: 140,
11822 OP_2MUL: 141,
11823 OP_2DIV: 142,
11824 OP_NEGATE: 143,
11825 OP_ABS: 144,
11826 OP_NOT: 145,
11827 OP_0NOTEQUAL: 146,
11828
11829 OP_ADD: 147,
11830 OP_SUB: 148,
11831 OP_MUL: 149,
11832 OP_DIV: 150,
11833 OP_MOD: 151,
11834 OP_LSHIFT: 152,
11835 OP_RSHIFT: 153,
11836
11837 OP_BOOLAND: 154,
11838 OP_BOOLOR: 155,
11839 OP_NUMEQUAL: 156,
11840 OP_NUMEQUALVERIFY: 157,
11841 OP_NUMNOTEQUAL: 158,
11842 OP_LESSTHAN: 159,
11843 OP_GREATERTHAN: 160,
11844 OP_LESSTHANOREQUAL: 161,
11845 OP_GREATERTHANOREQUAL: 162,
11846 OP_MIN: 163,
11847 OP_MAX: 164,
11848
11849 OP_WITHIN: 165,
ebd8d4e8
IC
11850
11851 // crypto
ab78acc6
IC
11852 OP_RIPEMD160: 166,
11853 OP_SHA1: 167,
11854 OP_SHA256: 168,
11855 OP_HASH160: 169,
11856 OP_HASH256: 170,
11857 OP_CODESEPARATOR: 171,
11858 OP_CHECKSIG: 172,
11859 OP_CHECKSIGVERIFY: 173,
11860 OP_CHECKMULTISIG: 174,
11861 OP_CHECKMULTISIGVERIFY: 175,
ebd8d4e8
IC
11862
11863 // expansion
ab78acc6
IC
11864 OP_NOP1: 176,
11865 OP_NOP2: 177,
11866 OP_NOP3: 178,
11867 OP_NOP4: 179,
11868 OP_NOP5: 180,
11869 OP_NOP6: 181,
11870 OP_NOP7: 182,
11871 OP_NOP8: 183,
11872 OP_NOP9: 184,
11873 OP_NOP10: 185,
ebd8d4e8
IC
11874
11875 // template matching params
ab78acc6
IC
11876 OP_PUBKEYHASH: 253,
11877 OP_PUBKEY: 254,
11878 OP_INVALIDOPCODE: 255
ebd8d4e8
IC
11879}
11880
ab78acc6 11881},{}],68:[function(require,module,exports){
ebd8d4e8 11882(function (Buffer){
ab78acc6
IC
11883var assert = require('assert')
11884var bufferutils = require('./bufferutils')
11885var crypto = require('./crypto')
11886var typeForce = require('typeforce')
11887var opcodes = require('./opcodes')
ebd8d4e8 11888
ab78acc6
IC
11889function Script (buffer, chunks) {
11890 typeForce('Buffer', buffer)
11891 typeForce('Array', chunks)
ebd8d4e8
IC
11892
11893 this.buffer = buffer
11894 this.chunks = chunks
11895}
11896
ab78acc6 11897Script.fromASM = function (asm) {
ebd8d4e8 11898 var strChunks = asm.split(' ')
ab78acc6
IC
11899 var chunks = strChunks.map(function (strChunk) {
11900 // opcode
ebd8d4e8
IC
11901 if (strChunk in opcodes) {
11902 return opcodes[strChunk]
11903
ab78acc6 11904 // data chunk
ebd8d4e8
IC
11905 } else {
11906 return new Buffer(strChunk, 'hex')
11907 }
11908 })
11909
11910 return Script.fromChunks(chunks)
11911}
11912
ab78acc6 11913Script.fromBuffer = function (buffer) {
ebd8d4e8 11914 var chunks = []
ebd8d4e8
IC
11915 var i = 0
11916
11917 while (i < buffer.length) {
11918 var opcode = buffer.readUInt8(i)
11919
ab78acc6 11920 // data chunk
ebd8d4e8
IC
11921 if ((opcode > opcodes.OP_0) && (opcode <= opcodes.OP_PUSHDATA4)) {
11922 var d = bufferutils.readPushDataInt(buffer, i)
ab78acc6
IC
11923
11924 // did reading a pushDataInt fail? return non-chunked script
11925 if (d === null) return new Script(buffer, [])
ebd8d4e8
IC
11926 i += d.size
11927
ab78acc6
IC
11928 // attempt to read too much data?
11929 if (i + d.number > buffer.length) return new Script(buffer, [])
11930
ebd8d4e8
IC
11931 var data = buffer.slice(i, i + d.number)
11932 i += d.number
11933
11934 chunks.push(data)
11935
ab78acc6 11936 // opcode
ebd8d4e8
IC
11937 } else {
11938 chunks.push(opcode)
11939
11940 i += 1
11941 }
11942 }
11943
11944 return new Script(buffer, chunks)
11945}
11946
ab78acc6
IC
11947Script.fromChunks = function (chunks) {
11948 typeForce('Array', chunks)
ebd8d4e8 11949
ab78acc6
IC
11950 var bufferSize = chunks.reduce(function (accum, chunk) {
11951 // data chunk
ebd8d4e8
IC
11952 if (Buffer.isBuffer(chunk)) {
11953 return accum + bufferutils.pushDataSize(chunk.length) + chunk.length
11954 }
11955
ab78acc6 11956 // opcode
ebd8d4e8
IC
11957 return accum + 1
11958 }, 0.0)
11959
11960 var buffer = new Buffer(bufferSize)
11961 var offset = 0
11962
ab78acc6
IC
11963 chunks.forEach(function (chunk) {
11964 // data chunk
ebd8d4e8
IC
11965 if (Buffer.isBuffer(chunk)) {
11966 offset += bufferutils.writePushDataInt(buffer, chunk.length, offset)
11967
11968 chunk.copy(buffer, offset)
11969 offset += chunk.length
11970
ab78acc6 11971 // opcode
ebd8d4e8
IC
11972 } else {
11973 buffer.writeUInt8(chunk, offset)
11974 offset += 1
11975 }
11976 })
11977
11978 assert.equal(offset, buffer.length, 'Could not decode chunks')
11979 return new Script(buffer, chunks)
11980}
11981
ab78acc6 11982Script.fromHex = function (hex) {
ebd8d4e8
IC
11983 return Script.fromBuffer(new Buffer(hex, 'hex'))
11984}
11985
ebd8d4e8
IC
11986Script.EMPTY = Script.fromChunks([])
11987
ab78acc6 11988Script.prototype.getHash = function () {
ebd8d4e8
IC
11989 return crypto.hash160(this.buffer)
11990}
11991
11992// FIXME: doesn't work for data chunks, maybe time to use buffertools.compare...
ab78acc6
IC
11993Script.prototype.without = function (needle) {
11994 return Script.fromChunks(this.chunks.filter(function (op) {
ebd8d4e8
IC
11995 return op !== needle
11996 }))
11997}
11998
ebd8d4e8
IC
11999var reverseOps = []
12000for (var op in opcodes) {
12001 var code = opcodes[op]
12002 reverseOps[code] = op
12003}
12004
ab78acc6
IC
12005Script.prototype.toASM = function () {
12006 return this.chunks.map(function (chunk) {
12007 // data chunk
ebd8d4e8
IC
12008 if (Buffer.isBuffer(chunk)) {
12009 return chunk.toString('hex')
12010
ab78acc6 12011 // opcode
ebd8d4e8
IC
12012 } else {
12013 return reverseOps[chunk]
12014 }
12015 }).join(' ')
12016}
12017
ab78acc6 12018Script.prototype.toBuffer = function () {
ebd8d4e8
IC
12019 return this.buffer
12020}
12021
ab78acc6 12022Script.prototype.toHex = function () {
ebd8d4e8
IC
12023 return this.toBuffer().toString('hex')
12024}
12025
12026module.exports = Script
12027
ab78acc6
IC
12028}).call(this,require("buffer").Buffer)
12029},{"./bufferutils":57,"./crypto":58,"./opcodes":67,"assert":5,"buffer":7,"typeforce":53}],69:[function(require,module,exports){
ebd8d4e8 12030(function (Buffer){
ab78acc6
IC
12031var assert = require('assert')
12032var ops = require('./opcodes')
12033var typeForce = require('typeforce')
ebd8d4e8 12034
ab78acc6 12035var ecurve = require('ecurve')
ebd8d4e8
IC
12036var curve = ecurve.getCurveByName('secp256k1')
12037
ab78acc6
IC
12038var ECSignature = require('./ecsignature')
12039var Script = require('./script')
ebd8d4e8 12040
ab78acc6 12041function isCanonicalPubKey (buffer) {
ebd8d4e8
IC
12042 if (!Buffer.isBuffer(buffer)) return false
12043
12044 try {
ebd8d4e8
IC
12045 ecurve.Point.decodeFrom(curve, buffer)
12046 } catch (e) {
ab78acc6
IC
12047 if (!(e.message.match(/Invalid sequence (length|tag)/)))
12048 throw e
ebd8d4e8
IC
12049
12050 return false
12051 }
12052
12053 return true
12054}
12055
ab78acc6 12056function isCanonicalSignature (buffer) {
ebd8d4e8
IC
12057 if (!Buffer.isBuffer(buffer)) return false
12058
12059 try {
12060 ECSignature.parseScriptSignature(buffer)
ab78acc6
IC
12061 } catch (e) {
12062 if (!(e.message.match(/Not a DER sequence|Invalid sequence length|Expected a DER integer|R length is zero|S length is zero|R value excessively padded|S value excessively padded|R value is negative|S value is negative|Invalid hashType/))) {
12063 throw e
12064 }
ebd8d4e8
IC
12065
12066 return false
12067 }
12068
12069 return true
12070}
12071
ab78acc6
IC
12072function isPubKeyHashInput (script) {
12073 return script.chunks.length === 2 &&
12074 isCanonicalSignature(script.chunks[0]) &&
12075 isCanonicalPubKey(script.chunks[1])
ebd8d4e8
IC
12076}
12077
ab78acc6
IC
12078function isPubKeyHashOutput (script) {
12079 return script.chunks.length === 5 &&
12080 script.chunks[0] === ops.OP_DUP &&
12081 script.chunks[1] === ops.OP_HASH160 &&
12082 Buffer.isBuffer(script.chunks[2]) &&
12083 script.chunks[2].length === 20 &&
12084 script.chunks[3] === ops.OP_EQUALVERIFY &&
12085 script.chunks[4] === ops.OP_CHECKSIG
ebd8d4e8
IC
12086}
12087
ab78acc6
IC
12088function isPubKeyInput (script) {
12089 return script.chunks.length === 1 &&
12090 isCanonicalSignature(script.chunks[0])
ebd8d4e8
IC
12091}
12092
ab78acc6
IC
12093function isPubKeyOutput (script) {
12094 return script.chunks.length === 2 &&
12095 isCanonicalPubKey(script.chunks[0]) &&
12096 script.chunks[1] === ops.OP_CHECKSIG
ebd8d4e8
IC
12097}
12098
ab78acc6
IC
12099function isScriptHashInput (script, allowIncomplete) {
12100 if (script.chunks.length < 2) return false
ebd8d4e8 12101
ab78acc6 12102 var lastChunk = script.chunks[script.chunks.length - 1]
ebd8d4e8
IC
12103 if (!Buffer.isBuffer(lastChunk)) return false
12104
ab78acc6
IC
12105 var scriptSig = Script.fromChunks(script.chunks.slice(0, -1))
12106 var redeemScript = Script.fromBuffer(lastChunk)
ebd8d4e8 12107
ab78acc6
IC
12108 // is redeemScript a valid script?
12109 if (redeemScript.chunks.length === 0) return false
12110
12111 return classifyInput(scriptSig, allowIncomplete) === classifyOutput(redeemScript)
ebd8d4e8
IC
12112}
12113
ab78acc6
IC
12114function isScriptHashOutput (script) {
12115 return script.chunks.length === 3 &&
12116 script.chunks[0] === ops.OP_HASH160 &&
12117 Buffer.isBuffer(script.chunks[1]) &&
12118 script.chunks[1].length === 20 &&
12119 script.chunks[2] === ops.OP_EQUAL
ebd8d4e8
IC
12120}
12121
ab78acc6
IC
12122// allowIncomplete is to account for combining signatures
12123// See https://github.com/bitcoin/bitcoin/blob/f425050546644a36b0b8e0eb2f6934a3e0f6f80f/src/script/sign.cpp#L195-L197
12124function isMultisigInput (script, allowIncomplete) {
12125 if (script.chunks.length < 2) return false
12126 if (script.chunks[0] !== ops.OP_0) return false
12127
12128 if (allowIncomplete) {
12129 return script.chunks.slice(1).every(function (chunk) {
12130 return chunk === ops.OP_0 || isCanonicalSignature(chunk)
12131 })
12132 }
12133
12134 return script.chunks.slice(1).every(isCanonicalSignature)
ebd8d4e8
IC
12135}
12136
ab78acc6
IC
12137function isMultisigOutput (script) {
12138 if (script.chunks.length < 4) return false
12139 if (script.chunks[script.chunks.length - 1] !== ops.OP_CHECKMULTISIG) return false
ebd8d4e8 12140
ab78acc6
IC
12141 var mOp = script.chunks[0]
12142 if (mOp === ops.OP_0) return false
12143 if (mOp < ops.OP_1) return false
12144 if (mOp > ops.OP_16) return false
ebd8d4e8 12145
ab78acc6
IC
12146 var nOp = script.chunks[script.chunks.length - 2]
12147 if (nOp === ops.OP_0) return false
12148 if (nOp < ops.OP_1) return false
12149 if (nOp > ops.OP_16) return false
ebd8d4e8 12150
ab78acc6
IC
12151 var m = mOp - (ops.OP_1 - 1)
12152 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8
IC
12153 if (n < m) return false
12154
ab78acc6 12155 var pubKeys = script.chunks.slice(1, -2)
ebd8d4e8
IC
12156 if (n < pubKeys.length) return false
12157
12158 return pubKeys.every(isCanonicalPubKey)
12159}
12160
ab78acc6
IC
12161function isNullDataOutput (script) {
12162 return script.chunks[0] === ops.OP_RETURN
12163}
12164
12165function classifyOutput (script) {
12166 typeForce('Script', script)
12167
12168 if (isPubKeyHashOutput(script)) {
12169 return 'pubkeyhash'
12170 } else if (isScriptHashOutput(script)) {
12171 return 'scripthash'
12172 } else if (isMultisigOutput(script)) {
12173 return 'multisig'
12174 } else if (isPubKeyOutput(script)) {
12175 return 'pubkey'
12176 } else if (isNullDataOutput(script)) {
12177 return 'nulldata'
12178 }
12179
12180 return 'nonstandard'
12181}
12182
12183function classifyInput (script, allowIncomplete) {
12184 typeForce('Script', script)
12185
12186 if (isPubKeyHashInput(script)) {
12187 return 'pubkeyhash'
12188 } else if (isMultisigInput(script, allowIncomplete)) {
12189 return 'multisig'
12190 } else if (isScriptHashInput(script, allowIncomplete)) {
12191 return 'scripthash'
12192 } else if (isPubKeyInput(script)) {
12193 return 'pubkey'
12194 }
12195
12196 return 'nonstandard'
ebd8d4e8
IC
12197}
12198
12199// Standard Script Templates
12200// {pubKey} OP_CHECKSIG
ab78acc6 12201function pubKeyOutput (pubKey) {
ebd8d4e8
IC
12202 return Script.fromChunks([
12203 pubKey.toBuffer(),
ab78acc6 12204 ops.OP_CHECKSIG
ebd8d4e8
IC
12205 ])
12206}
12207
12208// OP_DUP OP_HASH160 {pubKeyHash} OP_EQUALVERIFY OP_CHECKSIG
ab78acc6
IC
12209function pubKeyHashOutput (hash) {
12210 typeForce('Buffer', hash)
ebd8d4e8
IC
12211
12212 return Script.fromChunks([
ab78acc6
IC
12213 ops.OP_DUP,
12214 ops.OP_HASH160,
ebd8d4e8 12215 hash,
ab78acc6
IC
12216 ops.OP_EQUALVERIFY,
12217 ops.OP_CHECKSIG
ebd8d4e8
IC
12218 ])
12219}
12220
12221// OP_HASH160 {scriptHash} OP_EQUAL
ab78acc6
IC
12222function scriptHashOutput (hash) {
12223 typeForce('Buffer', hash)
ebd8d4e8
IC
12224
12225 return Script.fromChunks([
ab78acc6 12226 ops.OP_HASH160,
ebd8d4e8 12227 hash,
ab78acc6 12228 ops.OP_EQUAL
ebd8d4e8
IC
12229 ])
12230}
12231
12232// m [pubKeys ...] n OP_CHECKMULTISIG
ab78acc6
IC
12233function multisigOutput (m, pubKeys) {
12234 typeForce(['ECPubKey'], pubKeys)
12235
ebd8d4e8
IC
12236 assert(pubKeys.length >= m, 'Not enough pubKeys provided')
12237
ab78acc6 12238 var pubKeyBuffers = pubKeys.map(function (pubKey) {
ebd8d4e8
IC
12239 return pubKey.toBuffer()
12240 })
12241 var n = pubKeys.length
12242
12243 return Script.fromChunks([].concat(
ab78acc6 12244 (ops.OP_1 - 1) + m,
ebd8d4e8 12245 pubKeyBuffers,
ab78acc6
IC
12246 (ops.OP_1 - 1) + n,
12247 ops.OP_CHECKMULTISIG
ebd8d4e8
IC
12248 ))
12249}
12250
12251// {signature}
ab78acc6
IC
12252function pubKeyInput (signature) {
12253 typeForce('Buffer', signature)
ebd8d4e8
IC
12254
12255 return Script.fromChunks([signature])
12256}
12257
12258// {signature} {pubKey}
ab78acc6
IC
12259function pubKeyHashInput (signature, pubKey) {
12260 typeForce('Buffer', signature)
ebd8d4e8
IC
12261
12262 return Script.fromChunks([signature, pubKey.toBuffer()])
12263}
12264
12265// <scriptSig> {serialized scriptPubKey script}
ab78acc6 12266function scriptHashInput (scriptSig, scriptPubKey) {
ebd8d4e8
IC
12267 return Script.fromChunks([].concat(
12268 scriptSig.chunks,
12269 scriptPubKey.toBuffer()
12270 ))
12271}
12272
12273// OP_0 [signatures ...]
ab78acc6 12274function multisigInput (signatures, scriptPubKey) {
ebd8d4e8 12275 if (scriptPubKey) {
ab78acc6
IC
12276 assert(isMultisigOutput(scriptPubKey))
12277
12278 var mOp = scriptPubKey.chunks[0]
12279 var nOp = scriptPubKey.chunks[scriptPubKey.chunks.length - 2]
12280 var m = mOp - (ops.OP_1 - 1)
12281 var n = nOp - (ops.OP_1 - 1)
ebd8d4e8 12282
ab78acc6
IC
12283 assert(signatures.length >= m, 'Not enough signatures provided')
12284 assert(signatures.length <= n, 'Too many signatures provided')
ebd8d4e8
IC
12285 }
12286
ab78acc6
IC
12287 return Script.fromChunks([].concat(ops.OP_0, signatures))
12288}
12289
12290function nullDataOutput (data) {
12291 return Script.fromChunks([ops.OP_RETURN, data])
ebd8d4e8
IC
12292}
12293
12294module.exports = {
ab78acc6
IC
12295 isCanonicalPubKey: isCanonicalPubKey,
12296 isCanonicalSignature: isCanonicalSignature,
12297 isPubKeyHashInput: isPubKeyHashInput,
12298 isPubKeyHashOutput: isPubKeyHashOutput,
12299 isPubKeyInput: isPubKeyInput,
12300 isPubKeyOutput: isPubKeyOutput,
12301 isScriptHashInput: isScriptHashInput,
12302 isScriptHashOutput: isScriptHashOutput,
12303 isMultisigInput: isMultisigInput,
12304 isMultisigOutput: isMultisigOutput,
12305 isNullDataOutput: isNullDataOutput,
ebd8d4e8 12306 classifyOutput: classifyOutput,
ab78acc6
IC
12307 classifyInput: classifyInput,
12308 pubKeyOutput: pubKeyOutput,
ebd8d4e8 12309 pubKeyHashOutput: pubKeyHashOutput,
ab78acc6
IC
12310 scriptHashOutput: scriptHashOutput,
12311 multisigOutput: multisigOutput,
ebd8d4e8 12312 pubKeyInput: pubKeyInput,
ab78acc6 12313 pubKeyHashInput: pubKeyHashInput,
ebd8d4e8 12314 scriptHashInput: scriptHashInput,
ab78acc6
IC
12315 multisigInput: multisigInput,
12316 dataOutput: function (data) {
12317 console.warn('dataOutput is deprecated, use nullDataOutput by 2.0.0')
12318 return nullDataOutput(data)
12319 },
12320 nullDataOutput: nullDataOutput
ebd8d4e8
IC
12321}
12322
ab78acc6
IC
12323}).call(this,require("buffer").Buffer)
12324},{"./ecsignature":62,"./opcodes":67,"./script":68,"assert":5,"buffer":7,"ecurve":49,"typeforce":53}],70:[function(require,module,exports){
ebd8d4e8 12325(function (Buffer){
ab78acc6
IC
12326var assert = require('assert')
12327var bufferutils = require('./bufferutils')
12328var crypto = require('./crypto')
12329var typeForce = require('typeforce')
12330var opcodes = require('./opcodes')
12331var scripts = require('./scripts')
12332
12333var Address = require('./address')
12334var ECSignature = require('./ecsignature')
12335var Script = require('./script')
12336
12337function Transaction () {
12338 this.version = 1
12339 this.locktime = 0
12340 this.ins = []
12341 this.outs = []
12342}
ebd8d4e8
IC
12343
12344Transaction.DEFAULT_SEQUENCE = 0xffffffff
12345Transaction.SIGHASH_ALL = 0x01
12346Transaction.SIGHASH_NONE = 0x02
12347Transaction.SIGHASH_SINGLE = 0x03
12348Transaction.SIGHASH_ANYONECANPAY = 0x80
12349
ab78acc6
IC
12350Transaction.fromBuffer = function (buffer, __disableAssert) {
12351 var offset = 0
12352 function readSlice (n) {
12353 offset += n
12354 return buffer.slice(offset - n, offset)
12355 }
12356
12357 function readUInt32 () {
12358 var i = buffer.readUInt32LE(offset)
12359 offset += 4
12360 return i
12361 }
12362
12363 function readUInt64 () {
12364 var i = bufferutils.readUInt64LE(buffer, offset)
12365 offset += 8
12366 return i
12367 }
12368
12369 function readVarInt () {
12370 var vi = bufferutils.readVarInt(buffer, offset)
12371 offset += vi.size
12372 return vi.number
12373 }
12374
12375 function readScript () {
12376 return Script.fromBuffer(readSlice(readVarInt()))
12377 }
12378
12379 function readGenerationScript () {
12380 return new Script(readSlice(readVarInt()), [])
12381 }
12382
12383 var tx = new Transaction()
12384 tx.version = readUInt32()
12385
12386 var vinLen = readVarInt()
12387 for (var i = 0; i < vinLen; ++i) {
12388 var hash = readSlice(32)
12389
12390 if (Transaction.isCoinbaseHash(hash)) {
12391 tx.ins.push({
12392 hash: hash,
12393 index: readUInt32(),
12394 script: readGenerationScript(),
12395 sequence: readUInt32()
12396 })
12397 } else {
12398 tx.ins.push({
12399 hash: hash,
12400 index: readUInt32(),
12401 script: readScript(),
12402 sequence: readUInt32()
12403 })
12404 }
12405 }
12406
12407 var voutLen = readVarInt()
12408 for (i = 0; i < voutLen; ++i) {
12409 tx.outs.push({
12410 value: readUInt64(),
12411 script: readScript()
12412 })
12413 }
12414
12415 tx.locktime = readUInt32()
12416
12417 if (!__disableAssert) {
12418 assert.equal(offset, buffer.length, 'Transaction has unexpected data')
12419 }
12420
12421 return tx
12422}
12423
12424Transaction.fromHex = function (hex) {
12425 return Transaction.fromBuffer(new Buffer(hex, 'hex'))
12426}
12427
12428Transaction.isCoinbaseHash = function (buffer) {
12429 return Array.prototype.every.call(buffer, function (x) {
12430 return x === 0
12431 })
ebd8d4e8
IC
12432}
12433
12434/**
ab78acc6 12435 * Create a new txIn.
ebd8d4e8
IC
12436 *
12437 * Can be called with any of:
12438 *
12439 * - A transaction and an index
12440 * - A transaction hash and an index
12441 *
12442 * Note that this method does not sign the created input.
12443 */
ab78acc6
IC
12444Transaction.prototype.addInput = function (hash, index, sequence, script) {
12445 if (sequence === undefined || sequence === null) {
12446 sequence = Transaction.DEFAULT_SEQUENCE
12447 }
ebd8d4e8 12448
ab78acc6 12449 script = script || Script.EMPTY
ebd8d4e8 12450
ab78acc6 12451 if (typeof hash === 'string') {
ebd8d4e8 12452 // TxId hex is big-endian, we need little-endian
ab78acc6
IC
12453 hash = bufferutils.reverse(new Buffer(hash, 'hex'))
12454 } else if (hash instanceof Transaction) {
12455 hash = hash.getHash()
ebd8d4e8
IC
12456 }
12457
ab78acc6
IC
12458 typeForce('Buffer', hash)
12459 typeForce('Number', index)
12460 typeForce('Number', sequence)
12461 typeForce('Script', script)
12462
ebd8d4e8 12463 assert.equal(hash.length, 32, 'Expected hash length of 32, got ' + hash.length)
ebd8d4e8 12464
ab78acc6 12465 // Add the input and return the input's index
ebd8d4e8
IC
12466 return (this.ins.push({
12467 hash: hash,
12468 index: index,
ab78acc6 12469 script: script,
ebd8d4e8
IC
12470 sequence: sequence
12471 }) - 1)
12472}
12473
12474/**
ab78acc6 12475 * Create a new txOut.
ebd8d4e8
IC
12476 *
12477 * Can be called with:
12478 *
12479 * - A base58 address string and a value
12480 * - An Address object and a value
12481 * - A scriptPubKey Script and a value
12482 */
ab78acc6 12483Transaction.prototype.addOutput = function (scriptPubKey, value) {
ebd8d4e8
IC
12484 // Attempt to get a valid address if it's a base58 address string
12485 if (typeof scriptPubKey === 'string') {
12486 scriptPubKey = Address.fromBase58Check(scriptPubKey)
12487 }
12488
12489 // Attempt to get a valid script if it's an Address object
12490 if (scriptPubKey instanceof Address) {
ab78acc6 12491 scriptPubKey = scriptPubKey.toOutputScript()
ebd8d4e8
IC
12492 }
12493
ab78acc6
IC
12494 typeForce('Script', scriptPubKey)
12495 typeForce('Number', value)
12496
12497 // Add the output and return the output's index
ebd8d4e8
IC
12498 return (this.outs.push({
12499 script: scriptPubKey,
ab78acc6 12500 value: value
ebd8d4e8
IC
12501 }) - 1)
12502}
12503
ab78acc6
IC
12504Transaction.prototype.clone = function () {
12505 var newTx = new Transaction()
12506 newTx.version = this.version
12507 newTx.locktime = this.locktime
12508
12509 newTx.ins = this.ins.map(function (txIn) {
12510 return {
12511 hash: txIn.hash,
12512 index: txIn.index,
12513 script: txIn.script,
12514 sequence: txIn.sequence
12515 }
12516 })
12517
12518 newTx.outs = this.outs.map(function (txOut) {
12519 return {
12520 script: txOut.script,
12521 value: txOut.value
12522 }
12523 })
12524
12525 return newTx
12526}
12527
12528/**
12529 * Hash transaction for signing a specific input.
12530 *
12531 * Bitcoin uses a different hash for each signed transaction input. This
12532 * method copies the transaction, makes the necessary changes based on the
12533 * hashType, serializes and finally hashes the result. This hash can then be
12534 * used to sign the transaction input in question.
12535 */
12536Transaction.prototype.hashForSignature = function (inIndex, prevOutScript, hashType) {
12537 // FIXME: remove in 2.x.y
12538 if (arguments[0] instanceof Script) {
12539 console.warn('hashForSignature(prevOutScript, inIndex, ...) has been deprecated. Use hashForSignature(inIndex, prevOutScript, ...)')
12540
12541 // swap the arguments (must be stored in tmp, arguments is special)
12542 var tmp = arguments[0]
12543 inIndex = arguments[1]
12544 prevOutScript = tmp
12545 }
12546
12547 typeForce('Number', inIndex)
12548 typeForce('Script', prevOutScript)
12549 typeForce('Number', hashType)
12550
12551 assert(inIndex >= 0, 'Invalid vin index')
12552 assert(inIndex < this.ins.length, 'Invalid vin index')
12553
12554 var txTmp = this.clone()
12555 var hashScript = prevOutScript.without(opcodes.OP_CODESEPARATOR)
12556
12557 // Blank out other inputs' signatures
12558 txTmp.ins.forEach(function (txIn) {
12559 txIn.script = Script.EMPTY
12560 })
12561 txTmp.ins[inIndex].script = hashScript
12562
12563 var hashTypeModifier = hashType & 0x1f
12564
12565 if (hashTypeModifier === Transaction.SIGHASH_NONE) {
12566 assert(false, 'SIGHASH_NONE not yet supported')
12567 } else if (hashTypeModifier === Transaction.SIGHASH_SINGLE) {
12568 assert(false, 'SIGHASH_SINGLE not yet supported')
12569 }
12570
12571 if (hashType & Transaction.SIGHASH_ANYONECANPAY) {
12572 assert(false, 'SIGHASH_ANYONECANPAY not yet supported')
12573 }
12574
12575 var hashTypeBuffer = new Buffer(4)
12576 hashTypeBuffer.writeInt32LE(hashType, 0)
12577
12578 var buffer = Buffer.concat([txTmp.toBuffer(), hashTypeBuffer])
12579 return crypto.hash256(buffer)
12580}
12581
12582Transaction.prototype.getHash = function () {
12583 return crypto.hash256(this.toBuffer())
12584}
12585
12586Transaction.prototype.getId = function () {
12587 // TxHash is little-endian, we need big-endian
12588 return bufferutils.reverse(this.getHash()).toString('hex')
12589}
12590
ebd8d4e8 12591Transaction.prototype.toBuffer = function () {
ab78acc6
IC
12592 function scriptSize (script) {
12593 var length = script.buffer.length
ebd8d4e8 12594
ab78acc6
IC
12595 return bufferutils.varIntSize(length) + length
12596 }
ebd8d4e8
IC
12597
12598 var buffer = new Buffer(
12599 8 +
12600 bufferutils.varIntSize(this.ins.length) +
12601 bufferutils.varIntSize(this.outs.length) +
ab78acc6
IC
12602 this.ins.reduce(function (sum, input) { return sum + 40 + scriptSize(input.script) }, 0) +
12603 this.outs.reduce(function (sum, output) { return sum + 8 + scriptSize(output.script) }, 0)
ebd8d4e8
IC
12604 )
12605
12606 var offset = 0
ab78acc6 12607 function writeSlice (slice) {
ebd8d4e8
IC
12608 slice.copy(buffer, offset)
12609 offset += slice.length
12610 }
ab78acc6
IC
12611
12612 function writeUInt32 (i) {
ebd8d4e8
IC
12613 buffer.writeUInt32LE(i, offset)
12614 offset += 4
12615 }
ab78acc6
IC
12616
12617 function writeUInt64 (i) {
ebd8d4e8
IC
12618 bufferutils.writeUInt64LE(buffer, i, offset)
12619 offset += 8
12620 }
ab78acc6
IC
12621
12622 function writeVarInt (i) {
ebd8d4e8
IC
12623 var n = bufferutils.writeVarInt(buffer, i, offset)
12624 offset += n
12625 }
12626
12627 writeUInt32(this.version)
12628 writeVarInt(this.ins.length)
12629
ab78acc6
IC
12630 this.ins.forEach(function (txIn) {
12631 writeSlice(txIn.hash)
12632 writeUInt32(txIn.index)
12633 writeVarInt(txIn.script.buffer.length)
12634 writeSlice(txIn.script.buffer)
12635 writeUInt32(txIn.sequence)
ebd8d4e8
IC
12636 })
12637
12638 writeVarInt(this.outs.length)
ab78acc6
IC
12639 this.outs.forEach(function (txOut) {
12640 writeUInt64(txOut.value)
12641 writeVarInt(txOut.script.buffer.length)
12642 writeSlice(txOut.script.buffer)
ebd8d4e8
IC
12643 })
12644
12645 writeUInt32(this.locktime)
12646
12647 return buffer
12648}
12649
ab78acc6 12650Transaction.prototype.toHex = function () {
ebd8d4e8
IC
12651 return this.toBuffer().toString('hex')
12652}
12653
ab78acc6
IC
12654Transaction.prototype.setInputScript = function (index, script) {
12655 typeForce('Number', index)
12656 typeForce('Script', script)
12657
12658 this.ins[index].script = script
12659}
12660
12661// FIXME: remove in 2.x.y
12662Transaction.prototype.sign = function (index, privKey, hashType) {
12663 console.warn('Transaction.prototype.sign is deprecated. Use TransactionBuilder instead.')
12664
12665 var prevOutScript = privKey.pub.getAddress().toOutputScript()
12666 var signature = this.signInput(index, prevOutScript, privKey, hashType)
12667
12668 var scriptSig = scripts.pubKeyHashInput(signature, privKey.pub)
12669 this.setInputScript(index, scriptSig)
12670}
12671
12672// FIXME: remove in 2.x.y
12673Transaction.prototype.signInput = function (index, prevOutScript, privKey, hashType) {
12674 console.warn('Transaction.prototype.signInput is deprecated. Use TransactionBuilder instead.')
12675
12676 hashType = hashType || Transaction.SIGHASH_ALL
12677
12678 var hash = this.hashForSignature(index, prevOutScript, hashType)
12679 var signature = privKey.sign(hash)
12680
12681 return signature.toScriptSignature(hashType)
12682}
12683
12684// FIXME: remove in 2.x.y
12685Transaction.prototype.validateInput = function (index, prevOutScript, pubKey, buffer) {
12686 console.warn('Transaction.prototype.validateInput is deprecated. Use TransactionBuilder instead.')
12687
12688 var parsed = ECSignature.parseScriptSignature(buffer)
12689 var hash = this.hashForSignature(index, prevOutScript, parsed.hashType)
12690
12691 return pubKey.verify(hash, parsed.signature)
12692}
12693
12694module.exports = Transaction
12695
12696}).call(this,require("buffer").Buffer)
12697},{"./address":54,"./bufferutils":57,"./crypto":58,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"assert":5,"buffer":7,"typeforce":53}],71:[function(require,module,exports){
12698(function (Buffer){
12699var assert = require('assert')
12700var ops = require('./opcodes')
12701var scripts = require('./scripts')
12702
12703var ECPubKey = require('./ecpubkey')
12704var ECSignature = require('./ecsignature')
12705var Script = require('./script')
12706var Transaction = require('./transaction')
12707
12708function extractInput (txIn) {
12709 var redeemScript
12710 var scriptSig = txIn.script
12711 var prevOutScript
12712 var prevOutType = scripts.classifyInput(scriptSig, true)
12713 var scriptType
12714
12715 // Re-classify if scriptHash
12716 if (prevOutType === 'scripthash') {
12717 redeemScript = Script.fromBuffer(scriptSig.chunks.slice(-1)[0])
12718 prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
12719
12720 scriptSig = Script.fromChunks(scriptSig.chunks.slice(0, -1))
12721 scriptType = scripts.classifyInput(scriptSig, true)
12722 } else {
12723 scriptType = prevOutType
12724 }
12725
12726 // Extract hashType, pubKeys and signatures
12727 var hashType, parsed, pubKeys, signatures
12728
12729 switch (scriptType) {
12730 case 'pubkeyhash': {
12731 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12732 hashType = parsed.hashType
12733 pubKeys = [ECPubKey.fromBuffer(scriptSig.chunks[1])]
12734 signatures = [parsed.signature]
12735 prevOutScript = pubKeys[0].getAddress().toOutputScript()
12736
12737 break
12738 }
12739
12740 case 'pubkey': {
12741 parsed = ECSignature.parseScriptSignature(scriptSig.chunks[0])
12742 hashType = parsed.hashType
12743 signatures = [parsed.signature]
12744
12745 if (redeemScript) {
12746 pubKeys = [ECPubKey.fromBuffer(redeemScript.chunks[0])]
12747 }
12748
12749 break
12750 }
12751
12752 case 'multisig': {
12753 signatures = scriptSig.chunks.slice(1).map(function (chunk) {
12754 if (chunk === ops.OP_0) return chunk
12755
12756 var parsed = ECSignature.parseScriptSignature(chunk)
12757 hashType = parsed.hashType
12758
12759 return parsed.signature
12760 })
12761
12762 if (redeemScript) {
12763 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12764 }
12765
12766 break
12767 }
12768 }
12769
12770 return {
12771 hashType: hashType,
12772 prevOutScript: prevOutScript,
12773 prevOutType: prevOutType,
12774 pubKeys: pubKeys,
12775 redeemScript: redeemScript,
12776 scriptType: scriptType,
12777 signatures: signatures
12778 }
12779}
12780
12781function TransactionBuilder () {
12782 this.prevTxMap = {}
12783 this.prevOutScripts = {}
12784 this.prevOutTypes = {}
12785
12786 this.inputs = []
12787 this.tx = new Transaction()
12788}
12789
12790TransactionBuilder.fromTransaction = function (transaction) {
12791 var txb = new TransactionBuilder()
12792
12793 // Copy other transaction fields
12794 txb.tx.version = transaction.version
12795 txb.tx.locktime = transaction.locktime
12796
12797 // Extract/add inputs
12798 transaction.ins.forEach(function (txIn) {
12799 txb.addInput(txIn.hash, txIn.index, txIn.sequence)
12800 })
12801
12802 // Extract/add outputs
12803 transaction.outs.forEach(function (txOut) {
12804 txb.addOutput(txOut.script, txOut.value)
12805 })
12806
12807 // Extract/add signatures
12808 txb.inputs = transaction.ins.map(function (txIn) {
12809 // TODO: remove me after testcase added
12810 assert(!Transaction.isCoinbaseHash(txIn.hash), 'coinbase inputs not supported')
12811
12812 // Ignore empty scripts
12813 if (txIn.script.buffer.length === 0) return {}
12814
12815 return extractInput(txIn)
12816 })
12817
12818 return txb
12819}
12820
12821TransactionBuilder.prototype.addInput = function (prevTx, index, sequence, prevOutScript) {
12822 var prevOutHash
12823
12824 // txId
12825 if (typeof prevTx === 'string') {
12826 prevOutHash = new Buffer(prevTx, 'hex')
12827
12828 // TxId hex is big-endian, we want little-endian hash
12829 Array.prototype.reverse.call(prevOutHash)
12830
12831 // Transaction
12832 } else if (prevTx instanceof Transaction) {
12833 prevOutHash = prevTx.getHash()
12834 prevOutScript = prevTx.outs[index].script
12835
12836 // txHash
12837 } else {
12838 prevOutHash = prevTx
12839 }
12840
12841 var input = {}
12842 if (prevOutScript) {
12843 var prevOutType = scripts.classifyOutput(prevOutScript)
12844
12845 // if we can, extract pubKey information
12846 switch (prevOutType) {
12847 case 'multisig': {
12848 input.pubKeys = prevOutScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
12849 break
12850 }
12851
12852 case 'pubkey': {
12853 input.pubKeys = prevOutScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
12854 break
12855 }
12856 }
12857
12858 if (prevOutType !== 'scripthash') {
12859 input.scriptType = prevOutType
12860 }
12861
12862 input.prevOutScript = prevOutScript
12863 input.prevOutType = prevOutType
12864 }
12865
12866 assert(this.inputs.every(function (input2) {
12867 if (input2.hashType === undefined) return true
12868
12869 return input2.hashType & Transaction.SIGHASH_ANYONECANPAY
12870 }), 'No, this would invalidate signatures')
12871
12872 var prevOut = prevOutHash.toString('hex') + ':' + index
12873 assert(!(prevOut in this.prevTxMap), 'Transaction is already an input')
12874
12875 var vin = this.tx.addInput(prevOutHash, index, sequence)
12876 this.inputs[vin] = input
12877 this.prevTxMap[prevOut] = vin
12878
12879 return vin
12880}
12881
12882TransactionBuilder.prototype.addOutput = function (scriptPubKey, value) {
12883 assert(this.inputs.every(function (input) {
12884 if (input.hashType === undefined) return true
ebd8d4e8 12885
ab78acc6
IC
12886 return (input.hashType & 0x1f) === Transaction.SIGHASH_SINGLE
12887 }), 'No, this would invalidate signatures')
ebd8d4e8 12888
ab78acc6
IC
12889 return this.tx.addOutput(scriptPubKey, value)
12890}
ebd8d4e8 12891
ab78acc6
IC
12892TransactionBuilder.prototype.build = function () {
12893 return this.__build(false)
12894}
12895TransactionBuilder.prototype.buildIncomplete = function () {
12896 return this.__build(true)
12897}
ebd8d4e8 12898
ab78acc6
IC
12899var canSignTypes = {
12900 'pubkeyhash': true,
12901 'multisig': true,
12902 'pubkey': true
12903}
ebd8d4e8 12904
ab78acc6
IC
12905TransactionBuilder.prototype.__build = function (allowIncomplete) {
12906 if (!allowIncomplete) {
12907 assert(this.tx.ins.length > 0, 'Transaction has no inputs')
12908 assert(this.tx.outs.length > 0, 'Transaction has no outputs')
ebd8d4e8
IC
12909 }
12910
ab78acc6 12911 var tx = this.tx.clone()
ebd8d4e8 12912
ab78acc6
IC
12913 // Create script signatures from signature meta-data
12914 this.inputs.forEach(function (input, index) {
12915 var scriptType = input.scriptType
12916 var scriptSig
ebd8d4e8 12917
ab78acc6
IC
12918 if (!allowIncomplete) {
12919 assert(!!scriptType, 'Transaction is not complete')
12920 assert(scriptType in canSignTypes, scriptType + ' not supported')
12921 assert(input.signatures, 'Transaction is missing signatures')
12922 }
ebd8d4e8 12923
ab78acc6
IC
12924 if (input.signatures) {
12925 switch (scriptType) {
12926 case 'pubkeyhash': {
12927 var pkhSignature = input.signatures[0].toScriptSignature(input.hashType)
12928 scriptSig = scripts.pubKeyHashInput(pkhSignature, input.pubKeys[0])
12929 break
12930 }
ebd8d4e8 12931
ab78acc6
IC
12932 case 'multisig': {
12933 // Array.prototype.map is sparse-compatible
12934 var msSignatures = input.signatures.map(function (signature) {
12935 return signature && signature.toScriptSignature(input.hashType)
12936 })
ebd8d4e8 12937
ab78acc6
IC
12938 // fill in blanks with OP_0
12939 if (allowIncomplete) {
12940 for (var i = 0; i < msSignatures.length; ++i) {
12941 if (msSignatures[i]) continue
ebd8d4e8 12942
ab78acc6
IC
12943 msSignatures[i] = ops.OP_0
12944 }
12945 } else {
12946 // Array.prototype.filter returns non-sparse array
12947 msSignatures = msSignatures.filter(function (x) { return x })
12948 }
ebd8d4e8 12949
ab78acc6
IC
12950 var redeemScript = allowIncomplete ? undefined : input.redeemScript
12951 scriptSig = scripts.multisigInput(msSignatures, redeemScript)
12952 break
12953 }
ebd8d4e8 12954
ab78acc6
IC
12955 case 'pubkey': {
12956 var pkSignature = input.signatures[0].toScriptSignature(input.hashType)
12957 scriptSig = scripts.pubKeyInput(pkSignature)
12958 break
12959 }
12960 }
ebd8d4e8 12961 }
ebd8d4e8 12962
ab78acc6
IC
12963 // did we build a scriptSig?
12964 if (scriptSig) {
12965 // wrap as scriptHash if necessary
12966 if (input.prevOutType === 'scripthash') {
12967 scriptSig = scripts.scriptHashInput(scriptSig, input.redeemScript)
12968 }
12969
12970 tx.setInputScript(index, scriptSig)
ebd8d4e8
IC
12971 }
12972 })
12973
ab78acc6 12974 return tx
ebd8d4e8
IC
12975}
12976
ab78acc6
IC
12977TransactionBuilder.prototype.sign = function (index, privKey, redeemScript, hashType) {
12978 assert(index in this.inputs, 'No input at index: ' + index)
12979 hashType = hashType || Transaction.SIGHASH_ALL
ebd8d4e8 12980
ab78acc6
IC
12981 var input = this.inputs[index]
12982 var canSign = input.hashType &&
12983 input.prevOutScript &&
12984 input.prevOutType &&
12985 input.pubKeys &&
12986 input.scriptType &&
12987 input.signatures
ebd8d4e8 12988
ab78acc6
IC
12989 // are we almost ready to sign?
12990 if (canSign) {
12991 // if redeemScript was provided, enforce consistency
12992 if (redeemScript) {
12993 assert.deepEqual(input.redeemScript, redeemScript, 'Inconsistent redeemScript')
12994 }
ebd8d4e8 12995
ab78acc6 12996 assert.equal(input.hashType, hashType, 'Inconsistent hashType')
ebd8d4e8 12997
ab78acc6
IC
12998 // no? prepare
12999 } else {
13000 // must be pay-to-scriptHash?
13001 if (redeemScript) {
13002 // if we have a prevOutScript, enforce scriptHash equality to the redeemScript
13003 if (input.prevOutScript) {
13004 assert.equal(input.prevOutType, 'scripthash', 'PrevOutScript must be P2SH')
13005
13006 var scriptHash = input.prevOutScript.chunks[1]
13007 assert.deepEqual(scriptHash, redeemScript.getHash(), 'RedeemScript does not match ' + scriptHash.toString('hex'))
13008 }
ebd8d4e8 13009
ab78acc6
IC
13010 var scriptType = scripts.classifyOutput(redeemScript)
13011 assert(scriptType in canSignTypes, 'RedeemScript not supported (' + scriptType + ')')
ebd8d4e8 13012
ab78acc6
IC
13013 var pubKeys = []
13014 switch (scriptType) {
13015 case 'multisig': {
13016 pubKeys = redeemScript.chunks.slice(1, -2).map(ECPubKey.fromBuffer)
13017 break
13018 }
ebd8d4e8 13019
ab78acc6
IC
13020 case 'pubkeyhash': {
13021 var pkh1 = redeemScript.chunks[2]
13022 var pkh2 = privKey.pub.getAddress().hash
ebd8d4e8 13023
ab78acc6
IC
13024 assert.deepEqual(pkh1, pkh2, 'privateKey cannot sign for this input')
13025 pubKeys = [privKey.pub]
13026 break
13027 }
ebd8d4e8 13028
ab78acc6
IC
13029 case 'pubkey': {
13030 pubKeys = redeemScript.chunks.slice(0, 1).map(ECPubKey.fromBuffer)
13031 break
13032 }
13033 }
ebd8d4e8 13034
ab78acc6
IC
13035 if (!input.prevOutScript) {
13036 input.prevOutScript = scripts.scriptHashOutput(redeemScript.getHash())
13037 input.prevOutType = 'scripthash'
13038 }
ebd8d4e8 13039
ab78acc6
IC
13040 input.pubKeys = pubKeys
13041 input.redeemScript = redeemScript
13042 input.scriptType = scriptType
ebd8d4e8 13043
ab78acc6
IC
13044 // cannot be pay-to-scriptHash
13045 } else {
13046 assert.notEqual(input.prevOutType, 'scripthash', 'PrevOutScript is P2SH, missing redeemScript')
ebd8d4e8 13047
ab78acc6
IC
13048 // can we otherwise sign this?
13049 if (input.scriptType) {
13050 assert(input.pubKeys, input.scriptType + ' not supported')
ebd8d4e8 13051
ab78acc6
IC
13052 // we know nothin' Jon Snow, assume pubKeyHash
13053 } else {
13054 input.prevOutScript = privKey.pub.getAddress().toOutputScript()
13055 input.prevOutType = 'pubkeyhash'
13056 input.pubKeys = [privKey.pub]
13057 input.scriptType = input.prevOutType
13058 }
13059 }
ebd8d4e8 13060
ab78acc6
IC
13061 input.hashType = hashType
13062 input.signatures = input.signatures || []
13063 }
13064
13065 var signatureScript = input.redeemScript || input.prevOutScript
13066 var signatureHash = this.tx.hashForSignature(index, signatureScript, hashType)
13067
13068 // enforce signature order matches public keys
13069 if (input.scriptType === 'multisig' && input.redeemScript && input.signatures.length !== input.pubKeys.length) {
13070 // maintain a local copy of unmatched signatures
13071 var unmatched = input.signatures.slice()
13072
13073 input.signatures = input.pubKeys.map(function (pubKey) {
13074 var match
13075
13076 // check for any matching signatures
13077 unmatched.some(function (signature, i) {
13078 if (!pubKey.verify(signatureHash, signature)) return false
13079 match = signature
13080
13081 // remove matched signature from unmatched
13082 unmatched.splice(i, 1)
13083
13084 return true
13085 })
13086
13087 return match || undefined
13088 })
13089 }
13090
13091 // enforce in order signing of public keys
13092 assert(input.pubKeys.some(function (pubKey, i) {
13093 if (!privKey.pub.Q.equals(pubKey.Q)) return false
13094
13095 assert(!input.signatures[i], 'Signature already exists')
13096 var signature = privKey.sign(signatureHash)
13097 input.signatures[i] = signature
13098
13099 return true
13100 }, this), 'privateKey cannot sign for this input')
ebd8d4e8
IC
13101}
13102
ab78acc6 13103module.exports = TransactionBuilder
ebd8d4e8 13104
ab78acc6
IC
13105}).call(this,require("buffer").Buffer)
13106},{"./ecpubkey":61,"./ecsignature":62,"./opcodes":67,"./script":68,"./scripts":69,"./transaction":70,"assert":5,"buffer":7}],72:[function(require,module,exports){
ebd8d4e8 13107(function (Buffer){
ab78acc6
IC
13108var assert = require('assert')
13109var bufferutils = require('./bufferutils')
13110var typeForce = require('typeforce')
13111var networks = require('./networks')
13112var randomBytes = require('randombytes')
ebd8d4e8 13113
ab78acc6
IC
13114var Address = require('./address')
13115var HDNode = require('./hdnode')
13116var TransactionBuilder = require('./transaction_builder')
13117var Script = require('./script')
ebd8d4e8 13118
ab78acc6
IC
13119function Wallet (seed, network) {
13120 console.warn('Wallet is deprecated and will be removed in 2.0.0, see #296')
13121
13122 seed = seed || randomBytes(32)
ebd8d4e8
IC
13123 network = network || networks.bitcoin
13124
13125 // Stored in a closure to make accidental serialization less likely
ab78acc6
IC
13126 var masterKey = HDNode.fromSeedBuffer(seed, network)
13127
13128 // HD first-level child derivation method should be hardened
13129 // See https://bitcointalk.org/index.php?topic=405179.msg4415254#msg4415254
13130 var accountZero = masterKey.deriveHardened(0)
13131 var externalAccount = accountZero.derive(0)
13132 var internalAccount = accountZero.derive(1)
ebd8d4e8 13133
ebd8d4e8
IC
13134 this.addresses = []
13135 this.changeAddresses = []
ab78acc6
IC
13136 this.network = network
13137 this.unspents = []
ebd8d4e8 13138
ab78acc6
IC
13139 // FIXME: remove in 2.0.0
13140 this.unspentMap = {}
ebd8d4e8 13141
ab78acc6
IC
13142 // FIXME: remove in 2.0.0
13143 var me = this
13144 this.newMasterKey = function (seed) {
13145 console.warn('newMasterKey is deprecated, please make a new Wallet instance instead')
13146
13147 seed = seed || randomBytes(32)
13148 masterKey = HDNode.fromSeedBuffer(seed, network)
ebd8d4e8 13149
ab78acc6 13150 accountZero = masterKey.deriveHardened(0)
ebd8d4e8
IC
13151 externalAccount = accountZero.derive(0)
13152 internalAccount = accountZero.derive(1)
13153
13154 me.addresses = []
13155 me.changeAddresses = []
13156
ab78acc6
IC
13157 me.unspents = []
13158 me.unspentMap = {}
ebd8d4e8
IC
13159 }
13160
ab78acc6
IC
13161 this.getMasterKey = function () {
13162 return masterKey
ebd8d4e8 13163 }
ab78acc6
IC
13164 this.getAccountZero = function () {
13165 return accountZero
ebd8d4e8 13166 }
ab78acc6
IC
13167 this.getExternalAccount = function () {
13168 return externalAccount
13169 }
13170 this.getInternalAccount = function () {
13171 return internalAccount
ebd8d4e8 13172 }
ab78acc6 13173}
ebd8d4e8 13174
ab78acc6
IC
13175Wallet.prototype.createTransaction = function (to, value, options) {
13176 // FIXME: remove in 2.0.0
13177 if (typeof options !== 'object') {
13178 if (options !== undefined) {
13179 console.warn('Non options object parameters are deprecated, use options object instead')
ebd8d4e8 13180
ab78acc6
IC
13181 options = {
13182 fixedFee: arguments[2],
13183 changeAddress: arguments[3]
13184 }
ebd8d4e8 13185 }
ebd8d4e8
IC
13186 }
13187
ab78acc6 13188 options = options || {}
ebd8d4e8 13189
ab78acc6 13190 assert(value > this.network.dustThreshold, value + ' must be above dust threshold (' + this.network.dustThreshold + ' Satoshis)')
ebd8d4e8 13191
ab78acc6
IC
13192 var changeAddress = options.changeAddress
13193 var fixedFee = options.fixedFee
13194 var minConf = options.minConf === undefined ? 0 : options.minConf // FIXME: change minConf:1 by default in 2.0.0
ebd8d4e8 13195
ab78acc6
IC
13196 // filter by minConf, then pending and sort by descending value
13197 var unspents = this.unspents.filter(function (unspent) {
13198 return unspent.confirmations >= minConf
13199 }).filter(function (unspent) {
13200 return !unspent.pending
13201 }).sort(function (o1, o2) {
13202 return o2.value - o1.value
13203 })
ebd8d4e8 13204
ab78acc6
IC
13205 var accum = 0
13206 var addresses = []
13207 var subTotal = value
ebd8d4e8 13208
ab78acc6
IC
13209 var txb = new TransactionBuilder()
13210 txb.addOutput(to, value)
ebd8d4e8 13211
ab78acc6
IC
13212 for (var i = 0; i < unspents.length; ++i) {
13213 var unspent = unspents[i]
13214 addresses.push(unspent.address)
ebd8d4e8 13215
ab78acc6
IC
13216 txb.addInput(unspent.txHash, unspent.index)
13217
13218 var fee = fixedFee === undefined ? estimatePaddedFee(txb.buildIncomplete(), this.network) : fixedFee
ebd8d4e8 13219
ab78acc6
IC
13220 accum += unspent.value
13221 subTotal = value + fee
13222
13223 if (accum >= subTotal) {
13224 var change = accum - subTotal
13225
13226 if (change > this.network.dustThreshold) {
13227 txb.addOutput(changeAddress || this.getChangeAddress(), change)
ebd8d4e8 13228 }
ebd8d4e8 13229
ab78acc6 13230 break
ebd8d4e8
IC
13231 }
13232 }
13233
ab78acc6 13234 assert(accum >= subTotal, 'Not enough funds (incl. fee): ' + accum + ' < ' + subTotal)
ebd8d4e8 13235
ab78acc6
IC
13236 return this.signWith(txb, addresses).build()
13237}
ebd8d4e8 13238
ab78acc6
IC
13239// FIXME: remove in 2.0.0
13240Wallet.prototype.processPendingTx = function (tx) {
13241 this.__processTx(tx, true)
13242}
ebd8d4e8 13243
ab78acc6
IC
13244// FIXME: remove in 2.0.0
13245Wallet.prototype.processConfirmedTx = function (tx) {
13246 this.__processTx(tx, false)
13247}
ebd8d4e8 13248
ab78acc6
IC
13249// FIXME: remove in 2.0.0
13250Wallet.prototype.__processTx = function (tx, isPending) {
13251 console.warn('processTransaction is considered harmful, see issue #260 for more information')
ebd8d4e8 13252
ab78acc6
IC
13253 var txId = tx.getId()
13254 var txHash = tx.getHash()
ebd8d4e8 13255
ab78acc6
IC
13256 tx.outs.forEach(function (txOut, i) {
13257 var address
ebd8d4e8 13258
ab78acc6
IC
13259 try {
13260 address = Address.fromOutputScript(txOut.script, this.network).toString()
13261 } catch (e) {
13262 if (!(e.message.match(/has no matching Address/)))
13263 throw e
13264 }
13265
13266 var myAddresses = this.addresses.concat(this.changeAddresses)
13267 if (myAddresses.indexOf(address) > -1) {
13268 var lookup = txId + ':' + i
13269 if (lookup in this.unspentMap) return
13270
13271 // its unique, add it
13272 var unspent = {
13273 address: address,
13274 confirmations: 0, // no way to determine this without more information
13275 index: i,
13276 txHash: txHash,
13277 txId: txId,
13278 value: txOut.value,
13279 pending: isPending
ebd8d4e8 13280 }
ebd8d4e8 13281
ab78acc6
IC
13282 this.unspentMap[lookup] = unspent
13283 this.unspents.push(unspent)
13284 }
13285 }, this)
ebd8d4e8 13286
ab78acc6
IC
13287 tx.ins.forEach(function (txIn) {
13288 // copy and convert to big-endian hex
13289 var txInId = bufferutils.reverse(txIn.hash).toString('hex')
ebd8d4e8 13290
ab78acc6
IC
13291 var lookup = txInId + ':' + txIn.index
13292 if (!(lookup in this.unspentMap)) return
ebd8d4e8 13293
ab78acc6 13294 var unspent = this.unspentMap[lookup]
ebd8d4e8 13295
ab78acc6
IC
13296 if (isPending) {
13297 unspent.pending = true
13298 unspent.spent = true
13299 } else {
13300 delete this.unspentMap[lookup]
ebd8d4e8 13301
ab78acc6
IC
13302 this.unspents = this.unspents.filter(function (unspent2) {
13303 return unspent !== unspent2
13304 })
13305 }
13306 }, this)
13307}
ebd8d4e8 13308
ab78acc6
IC
13309Wallet.prototype.generateAddress = function () {
13310 var k = this.addresses.length
13311 var address = this.getExternalAccount().derive(k).getAddress()
ebd8d4e8 13312
ab78acc6 13313 this.addresses.push(address.toString())
ebd8d4e8 13314
ab78acc6
IC
13315 return this.getReceiveAddress()
13316}
ebd8d4e8 13317
ab78acc6
IC
13318Wallet.prototype.generateChangeAddress = function () {
13319 var k = this.changeAddresses.length
13320 var address = this.getInternalAccount().derive(k).getAddress()
ebd8d4e8 13321
ab78acc6 13322 this.changeAddresses.push(address.toString())
ebd8d4e8 13323
ab78acc6
IC
13324 return this.getChangeAddress()
13325}
ebd8d4e8 13326
ab78acc6
IC
13327Wallet.prototype.getAddress = function () {
13328 if (this.addresses.length === 0) {
13329 this.generateAddress()
ebd8d4e8
IC
13330 }
13331
ab78acc6
IC
13332 return this.addresses[this.addresses.length - 1]
13333}
ebd8d4e8 13334
ab78acc6
IC
13335Wallet.prototype.getBalance = function (minConf) {
13336 minConf = minConf || 0
ebd8d4e8 13337
ab78acc6
IC
13338 return this.unspents.filter(function (unspent) {
13339 return unspent.confirmations >= minConf
13340
13341 // FIXME: remove spent filter in 2.0.0
13342 }).filter(function (unspent) {
13343 return !unspent.spent
13344 }).reduce(function (accum, unspent) {
13345 return accum + unspent.value
13346 }, 0)
13347}
ebd8d4e8 13348
ab78acc6
IC
13349Wallet.prototype.getChangeAddress = function () {
13350 if (this.changeAddresses.length === 0) {
13351 this.generateChangeAddress()
ebd8d4e8
IC
13352 }
13353
ab78acc6
IC
13354 return this.changeAddresses[this.changeAddresses.length - 1]
13355}
13356
13357Wallet.prototype.getInternalPrivateKey = function (index) {
13358 return this.getInternalAccount().derive(index).privKey
13359}
13360
13361Wallet.prototype.getPrivateKey = function (index) {
13362 return this.getExternalAccount().derive(index).privKey
13363}
13364
13365Wallet.prototype.getPrivateKeyForAddress = function (address) {
13366 var index
ebd8d4e8 13367
ab78acc6
IC
13368 if ((index = this.addresses.indexOf(address)) > -1) {
13369 return this.getPrivateKey(index)
ebd8d4e8
IC
13370 }
13371
ab78acc6
IC
13372 if ((index = this.changeAddresses.indexOf(address)) > -1) {
13373 return this.getInternalPrivateKey(index)
ebd8d4e8
IC
13374 }
13375
ab78acc6
IC
13376 assert(false, 'Unknown address. Make sure the address is from the keychain and has been generated')
13377}
ebd8d4e8 13378
ab78acc6
IC
13379Wallet.prototype.getUnspentOutputs = function (minConf) {
13380 minConf = minConf || 0
ebd8d4e8 13381
ab78acc6
IC
13382 return this.unspents.filter(function (unspent) {
13383 return unspent.confirmations >= minConf
ebd8d4e8 13384
ab78acc6
IC
13385 // FIXME: remove spent filter in 2.0.0
13386 }).filter(function (unspent) {
13387 return !unspent.spent
13388 }).map(function (unspent) {
13389 return {
13390 address: unspent.address,
13391 confirmations: unspent.confirmations,
13392 index: unspent.index,
13393 txId: unspent.txId,
13394 value: unspent.value,
13395
13396 // FIXME: remove in 2.0.0
13397 hash: unspent.txId,
13398 pending: unspent.pending
13399 }
13400 })
13401}
ebd8d4e8 13402
ab78acc6
IC
13403Wallet.prototype.setUnspentOutputs = function (unspents) {
13404 this.unspentMap = {}
13405 this.unspents = unspents.map(function (unspent) {
13406 // FIXME: remove unspent.hash in 2.0.0
13407 var txId = unspent.txId || unspent.hash
13408 var index = unspent.index
ebd8d4e8 13409
ab78acc6
IC
13410 // FIXME: remove in 2.0.0
13411 if (unspent.hash !== undefined) {
13412 console.warn('unspent.hash is deprecated, use unspent.txId instead')
13413 }
ebd8d4e8 13414
ab78acc6
IC
13415 // FIXME: remove in 2.0.0
13416 if (index === undefined) {
13417 console.warn('unspent.outputIndex is deprecated, use unspent.index instead')
13418 index = unspent.outputIndex
13419 }
ebd8d4e8 13420
ab78acc6
IC
13421 typeForce('String', txId)
13422 typeForce('Number', index)
13423 typeForce('Number', unspent.value)
13424
13425 assert.equal(txId.length, 64, 'Expected valid txId, got ' + txId)
13426 assert.doesNotThrow(function () {
13427 Address.fromBase58Check(unspent.address)
13428 }, 'Expected Base58 Address, got ' + unspent.address)
13429 assert(isFinite(index), 'Expected finite index, got ' + index)
13430
13431 // FIXME: remove branch in 2.0.0
13432 if (unspent.confirmations !== undefined) {
13433 typeForce('Number', unspent.confirmations)
ebd8d4e8 13434 }
ebd8d4e8 13435
ab78acc6 13436 var txHash = bufferutils.reverse(new Buffer(txId, 'hex'))
ebd8d4e8 13437
ab78acc6
IC
13438 unspent = {
13439 address: unspent.address,
13440 confirmations: unspent.confirmations || 0,
13441 index: index,
13442 txHash: txHash,
13443 txId: txId,
13444 value: unspent.value,
ebd8d4e8 13445
ab78acc6
IC
13446 // FIXME: remove in 2.0.0
13447 pending: unspent.pending || false
13448 }
13449
13450 // FIXME: remove in 2.0.0
13451 this.unspentMap[txId + ':' + index] = unspent
13452
13453 return unspent
13454 }, this)
13455}
13456
13457Wallet.prototype.signWith = function (tx, addresses) {
13458 addresses.forEach(function (address, i) {
13459 var privKey = this.getPrivateKeyForAddress(address)
13460
13461 tx.sign(i, privKey)
13462 }, this)
13463
13464 return tx
13465}
13466
13467function estimatePaddedFee (tx, network) {
13468 var tmpTx = tx.clone()
13469 tmpTx.addOutput(Script.EMPTY, network.dustSoftThreshold || 0)
13470
13471 return network.estimateFee(tmpTx)
ebd8d4e8
IC
13472}
13473
ab78acc6
IC
13474// FIXME: 1.0.0 shims, remove in 2.0.0
13475Wallet.prototype.getReceiveAddress = Wallet.prototype.getAddress
13476Wallet.prototype.createTx = Wallet.prototype.createTransaction
13477
ebd8d4e8
IC
13478module.exports = Wallet
13479
ab78acc6
IC
13480}).call(this,require("buffer").Buffer)
13481},{"./address":54,"./bufferutils":57,"./hdnode":63,"./networks":66,"./script":68,"./transaction_builder":71,"assert":5,"buffer":7,"randombytes":52,"typeforce":53}]},{},[64])(64)
13482});</script>
d5dc92fd
IC
13483 <script>bitcoin.networks.shadow = {
13484 magicPrefix: '\x19ShadowCash Signed Message:\n',
13485 bip32: {
13486 public: 0xEE80286A,
13487 private: 0xEE8031E8
13488 },
13489 pubKeyHash: 0x3f,
13490 scriptHash: 0x7d,
13491 wif: 0xbf,
13492 dustThreshold: 0,
13493 feePerKb: 1000,
13494 estimateFee: function() { return "unused in this app" },
13495};
13496
13497bitcoin.networks.shadowtn = {
13498 magicPrefix: '\x19ShadowCash Signed Message:\n',
13499 bip32: {
13500 public: 0x76C0FDFB,
13501 private: 0x76C1077A
13502 },
13503 pubKeyHash: 0x7f,
13504 scriptHash: 0xc4,
13505 wif: 0xff,
13506 dustThreshold: 0,
13507 feePerKb: 1000,
13508 estimateFee: function() { return "unused in this app" },
13509};
5c434a8a
CM
13510
13511bitcoin.networks.clam = {
13512 bip32: {
13513 public: 0xa8c26d64,
13514 private: 0xa8c17826
13515 },
13516 pubKeyHash: 0x89,
13517 wif: 0x85,
13518};
5493efc3 13519
13520bitcoin.networks.dash = {
13521 bip32: {
13522 public: 0x0488b21e,
13523 private: 0x0488ade4
13524 },
68151a47 13525 pubKeyHash: 0x4c,
5493efc3 13526 scriptHash: 0x10,
13527 wif: 0xcc,
13528};
13529
07ac4350 13530bitcoin.networks.namecoin = {
13531 bip32: {
13532 public: 0x0488b21e,
13533 private: 0x0488ade4
13534 },
13535 pubKeyHash: 0x34,
13536 //scriptHash: 0x10,
13537 wif: 0x80,
13538};
13539
13540bitcoin.networks.peercoin = {
13541 bip32: {
13542 public: 0x0488b21e,
13543 private: 0x0488ade4
13544 },
13545 pubKeyHash: 0x37,
13546 //scriptHash: 0x10,
13547 wif: 0xb7,
13548};
13549
d5dc92fd 13550</script>
ab78acc6 13551 <script>// Select components from sjcl to suit the crypto operations bip39 requires.
80c4dd2a
IC
13552
13553//// base.js
13554
13555/** @fileOverview Javascript cryptography implementation.
13556 *
13557 * Crush to remove comments, shorten variable names and
13558 * generally reduce transmission size.
13559 *
13560 * @author Emily Stark
13561 * @author Mike Hamburg
13562 * @author Dan Boneh
13563 */
13564
13565"use strict";
13566/*jslint indent: 2, bitwise: false, nomen: false, plusplus: false, white: false, regexp: false */
13567/*global document, window, escape, unescape, module, require, Uint32Array */
13568
13569/** @namespace The Stanford Javascript Crypto Library, top-level namespace. */
13570var sjcl = {
13571 /** @namespace Symmetric ciphers. */
13572 cipher: {},
13573
13574 /** @namespace Hash functions. Right now only SHA256 is implemented. */
13575 hash: {},
13576
13577 /** @namespace Key exchange functions. Right now only SRP is implemented. */
13578 keyexchange: {},
13579
13580 /** @namespace Block cipher modes of operation. */
13581 mode: {},
13582
13583 /** @namespace Miscellaneous. HMAC and PBKDF2. */
13584 misc: {},
13585
13586 /**
13587 * @namespace Bit array encoders and decoders.
13588 *
13589 * @description
13590 * The members of this namespace are functions which translate between
13591 * SJCL's bitArrays and other objects (usually strings). Because it
13592 * isn't always clear which direction is encoding and which is decoding,
13593 * the method names are "fromBits" and "toBits".
13594 */
13595 codec: {},
13596
13597 /** @namespace Exceptions. */
13598 exception: {
13599 /** @constructor Ciphertext is corrupt. */
13600 corrupt: function(message) {
13601 this.toString = function() { return "CORRUPT: "+this.message; };
13602 this.message = message;
13603 },
13604
13605 /** @constructor Invalid parameter. */
13606 invalid: function(message) {
13607 this.toString = function() { return "INVALID: "+this.message; };
13608 this.message = message;
13609 },
13610
13611 /** @constructor Bug or missing feature in SJCL. @constructor */
13612 bug: function(message) {
13613 this.toString = function() { return "BUG: "+this.message; };
13614 this.message = message;
13615 },
13616
13617 /** @constructor Something isn't ready. */
13618 notReady: function(message) {
13619 this.toString = function() { return "NOT READY: "+this.message; };
13620 this.message = message;
ebd8d4e8 13621 }
80c4dd2a
IC
13622 }
13623};
13624
13625if(typeof module !== 'undefined' && module.exports){
13626 module.exports = sjcl;
13627}
13628if (typeof define === "function") {
13629 define([], function () {
13630 return sjcl;
13631 });
13632}
13633
13634
13635//// bitArray.js
13636
13637/** @fileOverview Arrays of bits, encoded as arrays of Numbers.
13638 *
13639 * @author Emily Stark
13640 * @author Mike Hamburg
13641 * @author Dan Boneh
13642 */
13643
13644/** @namespace Arrays of bits, encoded as arrays of Numbers.
13645 *
13646 * @description
13647 * <p>
13648 * These objects are the currency accepted by SJCL's crypto functions.
13649 * </p>
13650 *
13651 * <p>
13652 * Most of our crypto primitives operate on arrays of 4-byte words internally,
13653 * but many of them can take arguments that are not a multiple of 4 bytes.
13654 * This library encodes arrays of bits (whose size need not be a multiple of 8
13655 * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an
13656 * array of words, 32 bits at a time. Since the words are double-precision
13657 * floating point numbers, they fit some extra data. We use this (in a private,
13658 * possibly-changing manner) to encode the number of bits actually present
13659 * in the last word of the array.
13660 * </p>
13661 *
13662 * <p>
13663 * Because bitwise ops clear this out-of-band data, these arrays can be passed
13664 * to ciphers like AES which want arrays of words.
13665 * </p>
13666 */
13667sjcl.bitArray = {
13668 /**
13669 * Array slices in units of bits.
13670 * @param {bitArray} a The array to slice.
13671 * @param {Number} bstart The offset to the start of the slice, in bits.
13672 * @param {Number} bend The offset to the end of the slice, in bits. If this is undefined,
13673 * slice until the end of the array.
13674 * @return {bitArray} The requested slice.
13675 */
13676 bitSlice: function (a, bstart, bend) {
13677 a = sjcl.bitArray._shiftRight(a.slice(bstart/32), 32 - (bstart & 31)).slice(1);
13678 return (bend === undefined) ? a : sjcl.bitArray.clamp(a, bend-bstart);
13679 },
13680
13681 /**
13682 * Extract a number packed into a bit array.
13683 * @param {bitArray} a The array to slice.
13684 * @param {Number} bstart The offset to the start of the slice, in bits.
13685 * @param {Number} length The length of the number to extract.
13686 * @return {Number} The requested slice.
13687 */
13688 extract: function(a, bstart, blength) {
13689 // FIXME: this Math.floor is not necessary at all, but for some reason
13690 // seems to suppress a bug in the Chromium JIT.
13691 var x, sh = Math.floor((-bstart-blength) & 31);
13692 if ((bstart + blength - 1 ^ bstart) & -32) {
13693 // it crosses a boundary
13694 x = (a[bstart/32|0] << (32 - sh)) ^ (a[bstart/32+1|0] >>> sh);
13695 } else {
13696 // within a single word
13697 x = a[bstart/32|0] >>> sh;
ebd8d4e8 13698 }
80c4dd2a
IC
13699 return x & ((1<<blength) - 1);
13700 },
13701
13702 /**
13703 * Concatenate two bit arrays.
13704 * @param {bitArray} a1 The first array.
13705 * @param {bitArray} a2 The second array.
13706 * @return {bitArray} The concatenation of a1 and a2.
13707 */
13708 concat: function (a1, a2) {
13709 if (a1.length === 0 || a2.length === 0) {
13710 return a1.concat(a2);
13711 }
13712
13713 var last = a1[a1.length-1], shift = sjcl.bitArray.getPartial(last);
13714 if (shift === 32) {
13715 return a1.concat(a2);
13716 } else {
13717 return sjcl.bitArray._shiftRight(a2, shift, last|0, a1.slice(0,a1.length-1));
ebd8d4e8 13718 }
80c4dd2a
IC
13719 },
13720
13721 /**
13722 * Find the length of an array of bits.
13723 * @param {bitArray} a The array.
13724 * @return {Number} The length of a, in bits.
13725 */
13726 bitLength: function (a) {
13727 var l = a.length, x;
13728 if (l === 0) { return 0; }
13729 x = a[l - 1];
13730 return (l-1) * 32 + sjcl.bitArray.getPartial(x);
13731 },
13732
13733 /**
13734 * Truncate an array.
13735 * @param {bitArray} a The array.
13736 * @param {Number} len The length to truncate to, in bits.
13737 * @return {bitArray} A new array, truncated to len bits.
13738 */
13739 clamp: function (a, len) {
13740 if (a.length * 32 < len) { return a; }
13741 a = a.slice(0, Math.ceil(len / 32));
13742 var l = a.length;
13743 len = len & 31;
13744 if (l > 0 && len) {
13745 a[l-1] = sjcl.bitArray.partial(len, a[l-1] & 0x80000000 >> (len-1), 1);
13746 }
13747 return a;
13748 },
13749
13750 /**
13751 * Make a partial word for a bit array.
13752 * @param {Number} len The number of bits in the word.
13753 * @param {Number} x The bits.
13754 * @param {Number} [0] _end Pass 1 if x has already been shifted to the high side.
13755 * @return {Number} The partial word.
13756 */
13757 partial: function (len, x, _end) {
13758 if (len === 32) { return x; }
13759 return (_end ? x|0 : x << (32-len)) + len * 0x10000000000;
13760 },
13761
13762 /**
13763 * Get the number of bits used by a partial word.
13764 * @param {Number} x The partial word.
13765 * @return {Number} The number of bits used by the partial word.
13766 */
13767 getPartial: function (x) {
13768 return Math.round(x/0x10000000000) || 32;
13769 },
13770
13771 /**
13772 * Compare two arrays for equality in a predictable amount of time.
13773 * @param {bitArray} a The first array.
13774 * @param {bitArray} b The second array.
13775 * @return {boolean} true if a == b; false otherwise.
13776 */
13777 equal: function (a, b) {
13778 if (sjcl.bitArray.bitLength(a) !== sjcl.bitArray.bitLength(b)) {
13779 return false;
ebd8d4e8 13780 }
80c4dd2a
IC
13781 var x = 0, i;
13782 for (i=0; i<a.length; i++) {
13783 x |= a[i]^b[i];
ebd8d4e8 13784 }
80c4dd2a
IC
13785 return (x === 0);
13786 },
13787
13788 /** Shift an array right.
13789 * @param {bitArray} a The array to shift.
13790 * @param {Number} shift The number of bits to shift.
13791 * @param {Number} [carry=0] A byte to carry in
13792 * @param {bitArray} [out=[]] An array to prepend to the output.
13793 * @private
13794 */
13795 _shiftRight: function (a, shift, carry, out) {
13796 var i, last2=0, shift2;
13797 if (out === undefined) { out = []; }
13798
13799 for (; shift >= 32; shift -= 32) {
13800 out.push(carry);
13801 carry = 0;
13802 }
13803 if (shift === 0) {
13804 return out.concat(a);
13805 }
13806
13807 for (i=0; i<a.length; i++) {
13808 out.push(carry | a[i]>>>shift);
13809 carry = a[i] << (32-shift);
13810 }
13811 last2 = a.length ? a[a.length-1] : 0;
13812 shift2 = sjcl.bitArray.getPartial(last2);
13813 out.push(sjcl.bitArray.partial(shift+shift2 & 31, (shift + shift2 > 32) ? carry : out.pop(),1));
13814 return out;
13815 },
13816
13817 /** xor a block of 4 words together.
13818 * @private
13819 */
13820 _xor4: function(x,y) {
13821 return [x[0]^y[0],x[1]^y[1],x[2]^y[2],x[3]^y[3]];
13822 },
13823
13824 /** byteswap a word array inplace.
13825 * (does not handle partial words)
13826 * @param {sjcl.bitArray} a word array
13827 * @return {sjcl.bitArray} byteswapped array
13828 */
13829 byteswapM: function(a) {
13830 var i, v, m = 0xff00;
13831 for (i = 0; i < a.length; ++i) {
13832 v = a[i];
13833 a[i] = (v >>> 24) | ((v >>> 8) & m) | ((v & m) << 8) | (v << 24);
ebd8d4e8 13834 }
80c4dd2a
IC
13835 return a;
13836 }
13837};
13838
13839
13840//// codecString.js
13841
13842/** @fileOverview Bit array codec implementations.
13843 *
13844 * @author Emily Stark
13845 * @author Mike Hamburg
13846 * @author Dan Boneh
13847 */
13848
13849/** @namespace UTF-8 strings */
13850sjcl.codec.utf8String = {
13851 /** Convert from a bitArray to a UTF-8 string. */
13852 fromBits: function (arr) {
13853 var out = "", bl = sjcl.bitArray.bitLength(arr), i, tmp;
13854 for (i=0; i<bl/8; i++) {
13855 if ((i&3) === 0) {
13856 tmp = arr[i/4];
13857 }
13858 out += String.fromCharCode(tmp >>> 24);
13859 tmp <<= 8;
ebd8d4e8 13860 }
80c4dd2a
IC
13861 return decodeURIComponent(escape(out));
13862 },
13863
13864 /** Convert from a UTF-8 string to a bitArray. */
13865 toBits: function (str) {
13866 str = unescape(encodeURIComponent(str));
13867 var out = [], i, tmp=0;
13868 for (i=0; i<str.length; i++) {
13869 tmp = tmp << 8 | str.charCodeAt(i);
13870 if ((i&3) === 3) {
13871 out.push(tmp);
13872 tmp = 0;
13873 }
ebd8d4e8 13874 }
80c4dd2a
IC
13875 if (i&3) {
13876 out.push(sjcl.bitArray.partial(8*(i&3), tmp));
ebd8d4e8 13877 }
80c4dd2a
IC
13878 return out;
13879 }
13880};
13881
13882
13883//// codecHex.js
13884
13885/** @fileOverview Bit array codec implementations.
13886 *
13887 * @author Emily Stark
13888 * @author Mike Hamburg
13889 * @author Dan Boneh
13890 */
13891
13892/** @namespace Hexadecimal */
13893sjcl.codec.hex = {
13894 /** Convert from a bitArray to a hex string. */
13895 fromBits: function (arr) {
13896 var out = "", i;
13897 for (i=0; i<arr.length; i++) {
13898 out += ((arr[i]|0)+0xF00000000000).toString(16).substr(4);
ebd8d4e8 13899 }
80c4dd2a
IC
13900 return out.substr(0, sjcl.bitArray.bitLength(arr)/4);//.replace(/(.{8})/g, "$1 ");
13901 },
13902 /** Convert from a hex string to a bitArray. */
13903 toBits: function (str) {
13904 var i, out=[], len;
13905 str = str.replace(/\s|0x/g, "");
13906 len = str.length;
13907 str = str + "00000000";
13908 for (i=0; i<str.length; i+=8) {
13909 out.push(parseInt(str.substr(i,8),16)^0);
ebd8d4e8 13910 }
80c4dd2a
IC
13911 return sjcl.bitArray.clamp(out, len*4);
13912 }
13913};
13914
13915
13916//// sha512.js
13917
13918/** @fileOverview Javascript SHA-512 implementation.
13919 *
13920 * This implementation was written for CryptoJS by Jeff Mott and adapted for
13921 * SJCL by Stefan Thomas.
13922 *
13923 * CryptoJS (c) 2009–2012 by Jeff Mott. All rights reserved.
13924 * Released with New BSD License
13925 *
13926 * @author Emily Stark
13927 * @author Mike Hamburg
13928 * @author Dan Boneh
13929 * @author Jeff Mott
13930 * @author Stefan Thomas
13931 */
13932
13933/**
13934 * Context for a SHA-512 operation in progress.
13935 * @constructor
13936 * @class Secure Hash Algorithm, 512 bits.
13937 */
13938sjcl.hash.sha512 = function (hash) {
13939 if (!this._key[0]) { this._precompute(); }
13940 if (hash) {
13941 this._h = hash._h.slice(0);
13942 this._buffer = hash._buffer.slice(0);
13943 this._length = hash._length;
13944 } else {
13945 this.reset();
13946 }
13947};
13948
13949/**
13950 * Hash a string or an array of words.
13951 * @static
13952 * @param {bitArray|String} data the data to hash.
13953 * @return {bitArray} The hash value, an array of 16 big-endian words.
13954 */
13955sjcl.hash.sha512.hash = function (data) {
13956 return (new sjcl.hash.sha512()).update(data).finalize();
13957};
13958
13959sjcl.hash.sha512.prototype = {
13960 /**
13961 * The hash's block size, in bits.
13962 * @constant
13963 */
13964 blockSize: 1024,
13965
13966 /**
13967 * Reset the hash state.
13968 * @return this
13969 */
13970 reset:function () {
13971 this._h = this._init.slice(0);
13972 this._buffer = [];
13973 this._length = 0;
13974 return this;
13975 },
13976
13977 /**
13978 * Input several words to the hash.
13979 * @param {bitArray|String} data the data to hash.
13980 * @return this
13981 */
13982 update: function (data) {
13983 if (typeof data === "string") {
13984 data = sjcl.codec.utf8String.toBits(data);
ebd8d4e8 13985 }
80c4dd2a
IC
13986 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
13987 ol = this._length,
13988 nl = this._length = ol + sjcl.bitArray.bitLength(data);
13989 for (i = 1024+ol & -1024; i <= nl; i+= 1024) {
13990 this._block(b.splice(0,32));
ebd8d4e8 13991 }
80c4dd2a
IC
13992 return this;
13993 },
13994
13995 /**
13996 * Complete hashing and output the hash value.
13997 * @return {bitArray} The hash value, an array of 16 big-endian words.
13998 */
13999 finalize:function () {
14000 var i, b = this._buffer, h = this._h;
14001
14002 // Round out and push the buffer
14003 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14004
14005 // Round out the buffer to a multiple of 32 words, less the 4 length words.
14006 for (i = b.length + 4; i & 31; i++) {
14007 b.push(0);
ebd8d4e8 14008 }
80c4dd2a
IC
14009
14010 // append the length
14011 b.push(0);
14012 b.push(0);
14013 b.push(Math.floor(this._length / 0x100000000));
14014 b.push(this._length | 0);
14015
14016 while (b.length) {
14017 this._block(b.splice(0,32));
ebd8d4e8 14018 }
80c4dd2a
IC
14019
14020 this.reset();
14021 return h;
14022 },
14023
14024 /**
14025 * The SHA-512 initialization vector, to be precomputed.
14026 * @private
14027 */
14028 _init:[],
14029
14030 /**
14031 * Least significant 24 bits of SHA512 initialization values.
14032 *
14033 * Javascript only has 53 bits of precision, so we compute the 40 most
14034 * significant bits and add the remaining 24 bits as constants.
14035 *
14036 * @private
14037 */
14038 _initr: [ 0xbcc908, 0xcaa73b, 0x94f82b, 0x1d36f1, 0xe682d1, 0x3e6c1f, 0x41bd6b, 0x7e2179 ],
14039
14040 /*
14041 _init:
14042 [0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b, 0xa54ff53a, 0x5f1d36f1,
14043 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f, 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179],
14044 */
14045
14046 /**
14047 * The SHA-512 hash key, to be precomputed.
14048 * @private
14049 */
14050 _key:[],
14051
14052 /**
14053 * Least significant 24 bits of SHA512 key values.
14054 * @private
14055 */
14056 _keyr:
14057 [0x28ae22, 0xef65cd, 0x4d3b2f, 0x89dbbc, 0x48b538, 0x05d019, 0x194f9b, 0x6d8118,
14058 0x030242, 0x706fbe, 0xe4b28c, 0xffb4e2, 0x7b896f, 0x1696b1, 0xc71235, 0x692694,
14059 0xf14ad2, 0x4f25e3, 0x8cd5b5, 0xac9c65, 0x2b0275, 0xa6e483, 0x41fbd4, 0x1153b5,
14060 0x66dfab, 0xb43210, 0xfb213f, 0xef0ee4, 0xa88fc2, 0x0aa725, 0x03826f, 0x0e6e70,
14061 0xd22ffc, 0x26c926, 0xc42aed, 0x95b3df, 0xaf63de, 0x77b2a8, 0xedaee6, 0x82353b,
14062 0xf10364, 0x423001, 0xf89791, 0x54be30, 0xef5218, 0x65a910, 0x71202a, 0xbbd1b8,
14063 0xd2d0c8, 0x41ab53, 0x8eeb99, 0x9b48a8, 0xc95a63, 0x418acb, 0x63e373, 0xb2b8a3,
14064 0xefb2fc, 0x172f60, 0xf0ab72, 0x6439ec, 0x631e28, 0x82bde9, 0xc67915, 0x72532b,
14065 0x26619c, 0xc0c207, 0xe0eb1e, 0x6ed178, 0x176fba, 0xc898a6, 0xf90dae, 0x1c471b,
14066 0x047d84, 0xc72493, 0xc9bebc, 0x100d4c, 0x3e42b6, 0x657e2a, 0xd6faec, 0x475817],
14067
14068 /*
14069 _key:
14070 [0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
14071 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019, 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
14072 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
14073 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
14074 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3, 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
14075 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
14076 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
14077 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725, 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
14078 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
14079 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
14080 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001, 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
14081 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
14082 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
14083 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb, 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
14084 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
14085 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
14086 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207, 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
14087 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
14088 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
14089 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a, 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817],
14090 */
14091
14092 /**
14093 * Function to precompute _init and _key.
14094 * @private
14095 */
14096 _precompute: function () {
14097 // XXX: This code is for precomputing the SHA256 constants, change for
14098 // SHA512 and re-enable.
14099 var i = 0, prime = 2, factor;
14100
14101 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14102 function frac2(x) { return (x-Math.floor(x)) * 0x10000000000 & 0xff; }
14103
14104 outer: for (; i<80; prime++) {
14105 for (factor=2; factor*factor <= prime; factor++) {
14106 if (prime % factor === 0) {
14107 // not a prime
14108 continue outer;
ebd8d4e8 14109 }
80c4dd2a
IC
14110 }
14111
14112 if (i<8) {
14113 this._init[i*2] = frac(Math.pow(prime, 1/2));
14114 this._init[i*2+1] = (frac2(Math.pow(prime, 1/2)) << 24) | this._initr[i];
14115 }
14116 this._key[i*2] = frac(Math.pow(prime, 1/3));
14117 this._key[i*2+1] = (frac2(Math.pow(prime, 1/3)) << 24) | this._keyr[i];
14118 i++;
ebd8d4e8 14119 }
80c4dd2a
IC
14120 },
14121
14122 /**
14123 * Perform one cycle of SHA-512.
14124 * @param {bitArray} words one block of words.
14125 * @private
14126 */
14127 _block:function (words) {
14128 var i, wrh, wrl,
14129 w = words.slice(0),
14130 h = this._h,
14131 k = this._key,
14132 h0h = h[ 0], h0l = h[ 1], h1h = h[ 2], h1l = h[ 3],
14133 h2h = h[ 4], h2l = h[ 5], h3h = h[ 6], h3l = h[ 7],
14134 h4h = h[ 8], h4l = h[ 9], h5h = h[10], h5l = h[11],
14135 h6h = h[12], h6l = h[13], h7h = h[14], h7l = h[15];
14136
14137 // Working variables
14138 var ah = h0h, al = h0l, bh = h1h, bl = h1l,
14139 ch = h2h, cl = h2l, dh = h3h, dl = h3l,
14140 eh = h4h, el = h4l, fh = h5h, fl = h5l,
14141 gh = h6h, gl = h6l, hh = h7h, hl = h7l;
14142
14143 for (i=0; i<80; i++) {
14144 // load up the input word for this round
14145 if (i<16) {
14146 wrh = w[i * 2];
14147 wrl = w[i * 2 + 1];
14148 } else {
14149 // Gamma0
14150 var gamma0xh = w[(i-15) * 2];
14151 var gamma0xl = w[(i-15) * 2 + 1];
14152 var gamma0h =
14153 ((gamma0xl << 31) | (gamma0xh >>> 1)) ^
14154 ((gamma0xl << 24) | (gamma0xh >>> 8)) ^
14155 (gamma0xh >>> 7);
14156 var gamma0l =
14157 ((gamma0xh << 31) | (gamma0xl >>> 1)) ^
14158 ((gamma0xh << 24) | (gamma0xl >>> 8)) ^
14159 ((gamma0xh << 25) | (gamma0xl >>> 7));
14160
14161 // Gamma1
14162 var gamma1xh = w[(i-2) * 2];
14163 var gamma1xl = w[(i-2) * 2 + 1];
14164 var gamma1h =
14165 ((gamma1xl << 13) | (gamma1xh >>> 19)) ^
14166 ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
14167 (gamma1xh >>> 6);
14168 var gamma1l =
14169 ((gamma1xh << 13) | (gamma1xl >>> 19)) ^
14170 ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
14171 ((gamma1xh << 26) | (gamma1xl >>> 6));
14172
14173 // Shortcuts
14174 var wr7h = w[(i-7) * 2];
14175 var wr7l = w[(i-7) * 2 + 1];
14176
14177 var wr16h = w[(i-16) * 2];
14178 var wr16l = w[(i-16) * 2 + 1];
14179
14180 // W(round) = gamma0 + W(round - 7) + gamma1 + W(round - 16)
14181 wrl = gamma0l + wr7l;
14182 wrh = gamma0h + wr7h + ((wrl >>> 0) < (gamma0l >>> 0) ? 1 : 0);
14183 wrl += gamma1l;
14184 wrh += gamma1h + ((wrl >>> 0) < (gamma1l >>> 0) ? 1 : 0);
14185 wrl += wr16l;
14186 wrh += wr16h + ((wrl >>> 0) < (wr16l >>> 0) ? 1 : 0);
14187 }
14188
14189 w[i*2] = wrh |= 0;
14190 w[i*2 + 1] = wrl |= 0;
14191
14192 // Ch
14193 var chh = (eh & fh) ^ (~eh & gh);
14194 var chl = (el & fl) ^ (~el & gl);
14195
14196 // Maj
14197 var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
14198 var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
14199
14200 // Sigma0
14201 var sigma0h = ((al << 4) | (ah >>> 28)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
14202 var sigma0l = ((ah << 4) | (al >>> 28)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
14203
14204 // Sigma1
14205 var sigma1h = ((el << 18) | (eh >>> 14)) ^ ((el << 14) | (eh >>> 18)) ^ ((eh << 23) | (el >>> 9));
14206 var sigma1l = ((eh << 18) | (el >>> 14)) ^ ((eh << 14) | (el >>> 18)) ^ ((el << 23) | (eh >>> 9));
14207
14208 // K(round)
14209 var krh = k[i*2];
14210 var krl = k[i*2+1];
14211
14212 // t1 = h + sigma1 + ch + K(round) + W(round)
14213 var t1l = hl + sigma1l;
14214 var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);
14215 t1l += chl;
14216 t1h += chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);
14217 t1l += krl;
14218 t1h += krh + ((t1l >>> 0) < (krl >>> 0) ? 1 : 0);
14219 t1l = t1l + wrl|0; // FF32..FF34 perf issue https://bugzilla.mozilla.org/show_bug.cgi?id=1054972
14220 t1h += wrh + ((t1l >>> 0) < (wrl >>> 0) ? 1 : 0);
14221
14222 // t2 = sigma0 + maj
14223 var t2l = sigma0l + majl;
14224 var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);
14225
14226 // Update working variables
14227 hh = gh;
14228 hl = gl;
14229 gh = fh;
14230 gl = fl;
14231 fh = eh;
14232 fl = el;
14233 el = (dl + t1l) | 0;
14234 eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14235 dh = ch;
14236 dl = cl;
14237 ch = bh;
14238 cl = bl;
14239 bh = ah;
14240 bl = al;
14241 al = (t1l + t2l) | 0;
14242 ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;
14243 }
14244
14245 // Intermediate hash
14246 h0l = h[1] = (h0l + al) | 0;
14247 h[0] = (h0h + ah + ((h0l >>> 0) < (al >>> 0) ? 1 : 0)) | 0;
14248 h1l = h[3] = (h1l + bl) | 0;
14249 h[2] = (h1h + bh + ((h1l >>> 0) < (bl >>> 0) ? 1 : 0)) | 0;
14250 h2l = h[5] = (h2l + cl) | 0;
14251 h[4] = (h2h + ch + ((h2l >>> 0) < (cl >>> 0) ? 1 : 0)) | 0;
14252 h3l = h[7] = (h3l + dl) | 0;
14253 h[6] = (h3h + dh + ((h3l >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;
14254 h4l = h[9] = (h4l + el) | 0;
14255 h[8] = (h4h + eh + ((h4l >>> 0) < (el >>> 0) ? 1 : 0)) | 0;
14256 h5l = h[11] = (h5l + fl) | 0;
14257 h[10] = (h5h + fh + ((h5l >>> 0) < (fl >>> 0) ? 1 : 0)) | 0;
14258 h6l = h[13] = (h6l + gl) | 0;
14259 h[12] = (h6h + gh + ((h6l >>> 0) < (gl >>> 0) ? 1 : 0)) | 0;
14260 h7l = h[15] = (h7l + hl) | 0;
14261 h[14] = (h7h + hh + ((h7l >>> 0) < (hl >>> 0) ? 1 : 0)) | 0;
14262 }
14263};
14264
14265
14266//// hmac.js
14267
14268/** @fileOverview HMAC implementation.
14269 *
14270 * @author Emily Stark
14271 * @author Mike Hamburg
14272 * @author Dan Boneh
14273 */
14274
14275/** HMAC with the specified hash function.
14276 * @constructor
14277 * @param {bitArray} key the key for HMAC.
14278 * @param {Object} [hash=sjcl.hash.sha256] The hash function to use.
14279 */
14280sjcl.misc.hmac = function (key, Hash) {
14281 this._hash = Hash = Hash || sjcl.hash.sha256;
14282 var exKey = [[],[]], i,
14283 bs = Hash.prototype.blockSize / 32;
14284 this._baseHash = [new Hash(), new Hash()];
14285
14286 if (key.length > bs) {
14287 key = Hash.hash(key);
14288 }
14289
14290 for (i=0; i<bs; i++) {
14291 exKey[0][i] = key[i]^0x36363636;
14292 exKey[1][i] = key[i]^0x5C5C5C5C;
14293 }
14294
14295 this._baseHash[0].update(exKey[0]);
14296 this._baseHash[1].update(exKey[1]);
14297 this._resultHash = new Hash(this._baseHash[0]);
14298};
14299
14300/** HMAC with the specified hash function. Also called encrypt since it's a prf.
14301 * @param {bitArray|String} data The data to mac.
14302 */
14303sjcl.misc.hmac.prototype.encrypt = sjcl.misc.hmac.prototype.mac = function (data) {
14304 if (!this._updated) {
14305 this.update(data);
14306 return this.digest(data);
14307 } else {
14308 throw new sjcl.exception.invalid("encrypt on already updated hmac called!");
14309 }
14310};
14311
14312sjcl.misc.hmac.prototype.reset = function () {
14313 this._resultHash = new this._hash(this._baseHash[0]);
14314 this._updated = false;
14315};
14316
14317sjcl.misc.hmac.prototype.update = function (data) {
14318 this._updated = true;
14319 this._resultHash.update(data);
14320};
14321
14322sjcl.misc.hmac.prototype.digest = function () {
14323 var w = this._resultHash.finalize(), result = new (this._hash)(this._baseHash[1]).update(w).finalize();
14324
14325 this.reset();
14326
14327 return result;
14328};
14329
14330
14331//// pbkdf2.js
14332
14333
14334/** @fileOverview Password-based key-derivation function, version 2.0.
14335 *
14336 * @author Emily Stark
14337 * @author Mike Hamburg
14338 * @author Dan Boneh
14339 */
14340
14341/** Password-Based Key-Derivation Function, version 2.0.
14342 *
14343 * Generate keys from passwords using PBKDF2-HMAC-SHA256.
14344 *
14345 * This is the method specified by RSA's PKCS #5 standard.
14346 *
14347 * @param {bitArray|String} password The password.
14348 * @param {bitArray|String} salt The salt. Should have lots of entropy.
14349 * @param {Number} [count=1000] The number of iterations. Higher numbers make the function slower but more secure.
14350 * @param {Number} [length] The length of the derived key. Defaults to the
14351 output size of the hash function.
14352 * @param {Object} [Prff=sjcl.misc.hmac] The pseudorandom function family.
14353 * @return {bitArray} the derived key.
14354 */
14355sjcl.misc.pbkdf2 = function (password, salt, count, length, Prff) {
14356 count = count || 1000;
14357
14358 if (length < 0 || count < 0) {
14359 throw sjcl.exception.invalid("invalid params to pbkdf2");
14360 }
14361
14362 if (typeof password === "string") {
14363 password = sjcl.codec.utf8String.toBits(password);
14364 }
14365
14366 if (typeof salt === "string") {
14367 salt = sjcl.codec.utf8String.toBits(salt);
14368 }
14369
14370 Prff = Prff || sjcl.misc.hmac;
14371
14372 var prf = new Prff(password),
14373 u, ui, i, j, k, out = [], b = sjcl.bitArray;
14374
14375 for (k = 1; 32 * out.length < (length || 1); k++) {
14376 u = ui = prf.encrypt(b.concat(salt,[k]));
14377
14378 for (i=1; i<count; i++) {
14379 ui = prf.encrypt(ui);
14380 for (j=0; j<ui.length; j++) {
14381 u[j] ^= ui[j];
14382 }
ebd8d4e8 14383 }
80c4dd2a
IC
14384
14385 out = out.concat(u);
14386 }
14387
14388 if (length) { out = b.clamp(out, length); }
14389
14390 return out;
14391};
14392
14393
14394//// sha256.js
14395
14396/** @fileOverview Javascript SHA-256 implementation.
14397 *
14398 * An older version of this implementation is available in the public
14399 * domain, but this one is (c) Emily Stark, Mike Hamburg, Dan Boneh,
14400 * Stanford University 2008-2010 and BSD-licensed for liability
14401 * reasons.
14402 *
14403 * Special thanks to Aldo Cortesi for pointing out several bugs in
14404 * this code.
14405 *
14406 * @author Emily Stark
14407 * @author Mike Hamburg
14408 * @author Dan Boneh
14409 */
14410
14411/**
14412 * Context for a SHA-256 operation in progress.
14413 * @constructor
14414 * @class Secure Hash Algorithm, 256 bits.
14415 */
14416sjcl.hash.sha256 = function (hash) {
14417 if (!this._key[0]) { this._precompute(); }
14418 if (hash) {
14419 this._h = hash._h.slice(0);
14420 this._buffer = hash._buffer.slice(0);
14421 this._length = hash._length;
14422 } else {
14423 this.reset();
14424 }
14425};
14426
14427/**
14428 * Hash a string or an array of words.
14429 * @static
14430 * @param {bitArray|String} data the data to hash.
14431 * @return {bitArray} The hash value, an array of 16 big-endian words.
14432 */
14433sjcl.hash.sha256.hash = function (data) {
14434 return (new sjcl.hash.sha256()).update(data).finalize();
14435};
14436
14437sjcl.hash.sha256.prototype = {
14438 /**
14439 * The hash's block size, in bits.
14440 * @constant
14441 */
14442 blockSize: 512,
14443
14444 /**
14445 * Reset the hash state.
14446 * @return this
14447 */
14448 reset:function () {
14449 this._h = this._init.slice(0);
14450 this._buffer = [];
14451 this._length = 0;
14452 return this;
14453 },
14454
14455 /**
14456 * Input several words to the hash.
14457 * @param {bitArray|String} data the data to hash.
14458 * @return this
14459 */
14460 update: function (data) {
14461 if (typeof data === "string") {
14462 data = sjcl.codec.utf8String.toBits(data);
14463 }
14464 var i, b = this._buffer = sjcl.bitArray.concat(this._buffer, data),
14465 ol = this._length,
14466 nl = this._length = ol + sjcl.bitArray.bitLength(data);
14467 for (i = 512+ol & -512; i <= nl; i+= 512) {
14468 this._block(b.splice(0,16));
ebd8d4e8 14469 }
3af2954a 14470 return this;
80c4dd2a
IC
14471 },
14472
14473 /**
14474 * Complete hashing and output the hash value.
14475 * @return {bitArray} The hash value, an array of 8 big-endian words.
14476 */
14477 finalize:function () {
14478 var i, b = this._buffer, h = this._h;
14479
14480 // Round out and push the buffer
14481 b = sjcl.bitArray.concat(b, [sjcl.bitArray.partial(1,1)]);
14482
14483 // Round out the buffer to a multiple of 16 words, less the 2 length words.
14484 for (i = b.length + 2; i & 15; i++) {
14485 b.push(0);
14486 }
14487
14488 // append the length
14489 b.push(Math.floor(this._length / 0x100000000));
14490 b.push(this._length | 0);
14491
14492 while (b.length) {
14493 this._block(b.splice(0,16));
14494 }
14495
14496 this.reset();
14497 return h;
14498 },
14499
14500 /**
14501 * The SHA-256 initialization vector, to be precomputed.
14502 * @private
14503 */
14504 _init:[],
14505 /*
14506 _init:[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a,0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19],
14507 */
14508
14509 /**
14510 * The SHA-256 hash key, to be precomputed.
14511 * @private
14512 */
14513 _key:[],
14514 /*
14515 _key:
14516 [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
14517 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
14518 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
14519 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
14520 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
14521 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
14522 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
14523 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2],
14524 */
14525
14526
14527 /**
14528 * Function to precompute _init and _key.
14529 * @private
14530 */
14531 _precompute: function () {
14532 var i = 0, prime = 2, factor;
14533
14534 function frac(x) { return (x-Math.floor(x)) * 0x100000000 | 0; }
14535
14536 outer: for (; i<64; prime++) {
14537 for (factor=2; factor*factor <= prime; factor++) {
14538 if (prime % factor === 0) {
14539 // not a prime
14540 continue outer;
ebd8d4e8 14541 }
80c4dd2a
IC
14542 }
14543
14544 if (i<8) {
14545 this._init[i] = frac(Math.pow(prime, 1/2));
14546 }
14547 this._key[i] = frac(Math.pow(prime, 1/3));
14548 i++;
ebd8d4e8 14549 }
80c4dd2a
IC
14550 },
14551
14552 /**
14553 * Perform one cycle of SHA-256.
14554 * @param {bitArray} words one block of words.
14555 * @private
14556 */
14557 _block:function (words) {
14558 var i, tmp, a, b,
14559 w = words.slice(0),
14560 h = this._h,
14561 k = this._key,
14562 h0 = h[0], h1 = h[1], h2 = h[2], h3 = h[3],
14563 h4 = h[4], h5 = h[5], h6 = h[6], h7 = h[7];
14564
14565 /* Rationale for placement of |0 :
14566 * If a value can overflow is original 32 bits by a factor of more than a few
14567 * million (2^23 ish), there is a possibility that it might overflow the
14568 * 53-bit mantissa and lose precision.
14569 *
14570 * To avoid this, we clamp back to 32 bits by |'ing with 0 on any value that
14571 * propagates around the loop, and on the hash state h[]. I don't believe
14572 * that the clamps on h4 and on h0 are strictly necessary, but it's close
14573 * (for h4 anyway), and better safe than sorry.
14574 *
14575 * The clamps on h[] are necessary for the output to be correct even in the
14576 * common case and for short inputs.
14577 */
14578 for (i=0; i<64; i++) {
14579 // load up the input word for this round
14580 if (i<16) {
14581 tmp = w[i];
14582 } else {
14583 a = w[(i+1 ) & 15];
14584 b = w[(i+14) & 15];
14585 tmp = w[i&15] = ((a>>>7 ^ a>>>18 ^ a>>>3 ^ a<<25 ^ a<<14) +
14586 (b>>>17 ^ b>>>19 ^ b>>>10 ^ b<<15 ^ b<<13) +
14587 w[i&15] + w[(i+9) & 15]) | 0;
14588 }
14589
14590 tmp = (tmp + h7 + (h4>>>6 ^ h4>>>11 ^ h4>>>25 ^ h4<<26 ^ h4<<21 ^ h4<<7) + (h6 ^ h4&(h5^h6)) + k[i]); // | 0;
14591
14592 // shift register
14593 h7 = h6; h6 = h5; h5 = h4;
14594 h4 = h3 + tmp | 0;
14595 h3 = h2; h2 = h1; h1 = h0;
14596
14597 h0 = (tmp + ((h1&h2) ^ (h3&(h1^h2))) + (h1>>>2 ^ h1>>>13 ^ h1>>>22 ^ h1<<30 ^ h1<<19 ^ h1<<10)) | 0;
14598 }
14599
14600 h[0] = h[0]+h0 | 0;
14601 h[1] = h[1]+h1 | 0;
14602 h[2] = h[2]+h2 | 0;
14603 h[3] = h[3]+h3 | 0;
14604 h[4] = h[4]+h4 | 0;
14605 h[5] = h[5]+h5 | 0;
14606 h[6] = h[6]+h6 | 0;
14607 h[7] = h[7]+h7 | 0;
14608 }
14609};
dc55c6b0 14610</script>
ab78acc6 14611 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
3af2954a 14612WORDLISTS["english"] = [
ebd8d4e8
IC
14613"abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse",
14614"access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act",
14615"action","actor","actress","actual","adapt","add","addict","address","adjust","admit",
14616"adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent",
14617"agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert",
14618"alien","all","alley","allow","almost","alone","alpha","already","also","alter",
14619"always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger",
14620"angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique",
14621"anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic",
14622"area","arena","argue","arm","armed","armor","army","around","arrange","arrest",
14623"arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset",
14624"assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction",
14625"audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake",
14626"aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge",
14627"bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain",
14628"barrel","base","basic","basket","battle","beach","bean","beauty","because","become",
14629"beef","before","begin","behave","behind","believe","below","belt","bench","benefit",
14630"best","betray","better","between","beyond","bicycle","bid","bike","bind","biology",
14631"bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless",
14632"blind","blood","blossom","blouse","blue","blur","blush","board","boat","body",
14633"boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss",
14634"bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread",
14635"breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze",
14636"broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb",
14637"bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy",
14638"butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call",
14639"calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas",
14640"canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry",
14641"cart","case","cash","casino","castle","casual","cat","catalog","catch","category",
14642"cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century",
14643"cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase",
14644"chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child",
14645"chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle",
14646"citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk",
14647"clever","click","client","cliff","climb","clinic","clip","clock","clog","close",
14648"cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut",
14649"code","coffee","coil","coin","collect","color","column","combine","come","comfort",
14650"comic","common","company","concert","conduct","confirm","congress","connect","consider","control",
14651"convince","cook","cool","copper","copy","coral","core","corn","correct","cost",
14652"cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle",
14653"craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek",
14654"crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial",
14655"cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup",
14656"cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad",
14657"damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal",
14658"debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense",
14659"define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny",
14660"depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk",
14661"despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond",
14662"diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur",
14663"direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance",
14664"divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain",
14665"donate","donkey","donor","door","dose","double","dove","draft","dragon","drama",
14666"drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop",
14667"drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf",
14668"dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo",
14669"ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow",
14670"elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody",
14671"embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless",
14672"endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough",
14673"enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip",
14674"era","erase","erode","erosion","error","erupt","escape","essay","essence","estate",
14675"eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange",
14676"excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit",
14677"exotic","expand","expect","expire","explain","expose","express","extend","extra","eye",
14678"eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame",
14679"family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father",
14680"fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female",
14681"fence","festival","fetch","fever","few","fiber","fiction","field","figure","file",
14682"film","filter","final","find","fine","finger","finish","fire","firm","first",
14683"fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor",
14684"flee","flight","flip","float","flock","floor","flower","fluid","flush","fly",
14685"foam","focus","fog","foil","fold","follow","food","foot","force","forest",
14686"forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile",
14687"frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen",
14688"fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy",
14689"gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp",
14690"gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture",
14691"ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance",
14692"glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue",
14693"goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown",
14694"grab","grace","grain","grant","grape","grass","gravity","great","green","grid",
14695"grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt",
14696"guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy",
14697"harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health",
14698"heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden",
14699"high","hill","hint","hip","hire","history","hobby","hockey","hold","hole",
14700"holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital",
14701"host","hotel","hour","hover","hub","huge","human","humble","humor","hundred",
14702"hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea",
14703"identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune",
14704"impact","impose","improve","impulse","inch","include","income","increase","index","indicate",
14705"indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury",
14706"inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install",
14707"intact","interest","into","invest","invite","involve","iron","island","isolate","issue",
14708"item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel",
14709"job","join","joke","journey","joy","judge","juice","jump","jungle","junior",
14710"junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney",
14711"kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife",
14712"knock","know","lab","label","labor","ladder","lady","lake","lamp","language",
14713"laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit",
14714"layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal",
14715"legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level",
14716"liar","liberty","library","license","life","lift","light","like","limb","limit",
14717"link","lion","liquid","list","little","live","lizard","load","loan","lobster",
14718"local","lock","logic","lonely","long","loop","lottery","loud","lounge","love",
14719"loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad",
14720"magic","magnet","maid","mail","main","major","make","mammal","man","manage",
14721"mandate","mango","mansion","manual","maple","marble","march","margin","marine","market",
14722"marriage","mask","mass","master","match","material","math","matrix","matter","maximum",
14723"maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt",
14724"member","memory","mention","menu","mercy","merge","merit","merry","mesh","message",
14725"metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor",
14726"minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile",
14727"model","modify","mom","moment","monitor","monkey","monster","month","moon","moral",
14728"more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie",
14729"much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual",
14730"myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature",
14731"near","neck","need","negative","neglect","neither","nephew","nerve","nest","net",
14732"network","neutral","never","news","next","nice","night","noble","noise","nominee",
14733"noodle","normal","north","nose","notable","note","nothing","notice","novel","now",
14734"nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe",
14735"obtain","obvious","occur","ocean","october","odor","off","offer","office","often",
14736"oil","okay","old","olive","olympic","omit","once","one","onion","online",
14737"only","open","opera","opinion","oppose","option","orange","orbit","orchard","order",
14738"ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output",
14739"outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact",
14740"paddle","page","pair","palace","palm","panda","panel","panic","panther","paper",
14741"parade","parent","park","parrot","party","pass","patch","path","patient","patrol",
14742"pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen",
14743"penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo",
14744"phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot",
14745"pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate",
14746"play","please","pledge","pluck","plug","plunge","poem","poet","point","polar",
14747"pole","police","pond","pony","pool","popular","portion","position","possible","post",
14748"potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare",
14749"present","pretty","prevent","price","pride","primary","print","priority","prison","private",
14750"prize","problem","process","produce","profit","program","project","promote","proof","property",
14751"prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin",
14752"punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle",
14753"pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit",
14754"raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp",
14755"ranch","random","range","rapid","rare","rate","rather","raven","raw","razor",
14756"ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle",
14757"reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release",
14758"relief","rely","remain","remember","remind","remove","render","renew","rent","reopen",
14759"repair","repeat","replace","report","require","rescue","resemble","resist","resource","response",
14760"result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib",
14761"ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot",
14762"ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket",
14763"romance","roof","rookie","room","rose","rotate","rough","round","route","royal",
14764"rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness",
14765"safe","sail","salad","salmon","salon","salt","salute","same","sample","sand",
14766"satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter",
14767"scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script",
14768"scrub","sea","search","season","seat","second","secret","section","security","seed",
14769"seek","segment","select","sell","seminar","senior","sense","sentence","series","service",
14770"session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell",
14771"sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop",
14772"short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side",
14773"siege","sight","sign","silent","silk","silly","silver","similar","simple","since",
14774"sing","siren","sister","situate","six","size","skate","sketch","ski","skill",
14775"skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight",
14776"slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth",
14777"snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda",
14778"soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry",
14779"sort","soul","sound","soup","source","south","space","spare","spatial","spawn",
14780"speak","special","speed","spell","spend","sphere","spice","spider","spike","spin",
14781"spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring",
14782"spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp",
14783"stand","start","state","stay","steak","steel","stem","step","stereo","stick",
14784"still","sting","stock","stomach","stone","stool","story","stove","strategy","street",
14785"strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway",
14786"success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny",
14787"sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey",
14788"suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim",
14789"swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag",
14790"tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi",
14791"teach","team","tell","ten","tenant","tennis","tent","term","test","text",
14792"thank","that","theme","then","theory","there","they","thing","this","thought",
14793"three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber",
14794"time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler",
14795"toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool",
14796"tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist",
14797"toward","tower","town","toy","track","trade","traffic","tragic","train","transfer",
14798"trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick",
14799"trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust",
14800"truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle",
14801"twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella",
14802"unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform",
14803"unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade",
14804"uphold","upon","upper","upset","urban","urge","usage","use","used","useful",
14805"useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van",
14806"vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue",
14807"verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory",
14808"video","view","village","vintage","violin","virtual","virus","visa","visit","visual",
14809"vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage",
14810"wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash",
14811"wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather",
14812"web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat",
14813"wheel","when","where","whip","whisper","wide","width","wife","wild","will",
14814"win","window","wine","wing","wink","winner","winter","wire","wisdom","wise",
14815"wish","witness","wolf","woman","wonder","wood","wool","word","work","world",
14816"worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year",
14817"yellow","you","young","youth","zebra","zero","zone","zoo"]
0515eeec
IC
14818</script>
14819 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
14820WORDLISTS["japanese"] = [
14821"あいこくしん", "あいさつ", "あいだ", "あおぞら", "あかちゃん", "あきる", "あけがた", "あける", "あこがれる", "あさい",
14822"あさひ", "あしあと", "あじわう", "あずかる", "あずき", "あそぶ", "あたえる", "あたためる", "あたりまえ", "あたる",
14823"あつい", "あつかう", "あっしゅく", "あつまり", "あつめる", "あてな", "あてはまる", "あひる", "あぶら", "あぶる",
14824"あふれる", "あまい", "あまど", "あまやかす", "あまり", "あみもの", "あめりか", "あやまる", "あゆむ", "あらいぐま",
14825"あらし", "あらすじ", "あらためる", "あらゆる", "あらわす", "ありがとう", "あわせる", "あわてる", "あんい", "あんがい",
14826"あんこ", "あんぜん", "あんてい", "あんない", "あんまり", "いいだす", "いおん", "いがい", "いがく", "いきおい",
14827"いきなり", "いきもの", "いきる", "いくじ", "いくぶん", "いけばな", "いけん", "いこう", "いこく", "いこつ",
14828"いさましい", "いさん", "いしき", "いじゅう", "いじょう", "いじわる", "いずみ", "いずれ", "いせい", "いせえび",
14829"いせかい", "いせき", "いぜん", "いそうろう", "いそがしい", "いだい", "いだく", "いたずら", "いたみ", "いたりあ",
14830"いちおう", "いちじ", "いちど", "いちば", "いちぶ", "いちりゅう", "いつか", "いっしゅん", "いっせい", "いっそう",
14831"いったん", "いっち", "いってい", "いっぽう", "いてざ", "いてん", "いどう", "いとこ", "いない", "いなか",
14832"いねむり", "いのち", "いのる", "いはつ", "いばる", "いはん", "いびき", "いひん", "いふく", "いへん",
14833"いほう", "いみん", "いもうと", "いもたれ", "いもり", "いやがる", "いやす", "いよかん", "いよく", "いらい",
14834"いらすと", "いりぐち", "いりょう", "いれい", "いれもの", "いれる", "いろえんぴつ", "いわい", "いわう", "いわかん",
14835"いわば", "いわゆる", "いんげんまめ", "いんさつ", "いんしょう", "いんよう", "うえき", "うえる", "うおざ", "うがい",
14836"うかぶ", "うかべる", "うきわ", "うくらいな", "うくれれ", "うけたまわる", "うけつけ", "うけとる", "うけもつ", "うける",
14837"うごかす", "うごく", "うこん", "うさぎ", "うしなう", "うしろがみ", "うすい", "うすぎ", "うすぐらい", "うすめる",
14838"うせつ", "うちあわせ", "うちがわ", "うちき", "うちゅう", "うっかり", "うつくしい", "うったえる", "うつる", "うどん",
14839"うなぎ", "うなじ", "うなずく", "うなる", "うねる", "うのう", "うぶげ", "うぶごえ", "うまれる", "うめる",
14840"うもう", "うやまう", "うよく", "うらがえす", "うらぐち", "うらない", "うりあげ", "うりきれ", "うるさい", "うれしい",
14841"うれゆき", "うれる", "うろこ", "うわき", "うわさ", "うんこう", "うんちん", "うんてん", "うんどう", "えいえん",
14842"えいが", "えいきょう", "えいご", "えいせい", "えいぶん", "えいよう", "えいわ", "えおり", "えがお", "えがく",
14843"えきたい", "えくせる", "えしゃく", "えすて", "えつらん", "えのぐ", "えほうまき", "えほん", "えまき", "えもじ",
14844"えもの", "えらい", "えらぶ", "えりあ", "えんえん", "えんかい", "えんぎ", "えんげき", "えんしゅう", "えんぜつ",
14845"えんそく", "えんちょう", "えんとつ", "おいかける", "おいこす", "おいしい", "おいつく", "おうえん", "おうさま", "おうじ",
14846"おうせつ", "おうたい", "おうふく", "おうべい", "おうよう", "おえる", "おおい", "おおう", "おおどおり", "おおや",
14847"おおよそ", "おかえり", "おかず", "おがむ", "おかわり", "おぎなう", "おきる", "おくさま", "おくじょう", "おくりがな",
14848"おくる", "おくれる", "おこす", "おこなう", "おこる", "おさえる", "おさない", "おさめる", "おしいれ", "おしえる",
14849"おじぎ", "おじさん", "おしゃれ", "おそらく", "おそわる", "おたがい", "おたく", "おだやか", "おちつく", "おっと",
14850"おつり", "おでかけ", "おとしもの", "おとなしい", "おどり", "おどろかす", "おばさん", "おまいり", "おめでとう", "おもいで",
14851"おもう", "おもたい", "おもちゃ", "おやつ", "おやゆび", "およぼす", "おらんだ", "おろす", "おんがく", "おんけい",
14852"おんしゃ", "おんせん", "おんだん", "おんちゅう", "おんどけい", "かあつ", "かいが", "がいき", "がいけん", "がいこう",
14853"かいさつ", "かいしゃ", "かいすいよく", "かいぜん", "かいぞうど", "かいつう", "かいてん", "かいとう", "かいふく", "がいへき",
14854"かいほう", "かいよう", "がいらい", "かいわ", "かえる", "かおり", "かかえる", "かがく", "かがし", "かがみ",
14855"かくご", "かくとく", "かざる", "がぞう", "かたい", "かたち", "がちょう", "がっきゅう", "がっこう", "がっさん",
14856"がっしょう", "かなざわし", "かのう", "がはく", "かぶか", "かほう", "かほご", "かまう", "かまぼこ", "かめれおん",
14857"かゆい", "かようび", "からい", "かるい", "かろう", "かわく", "かわら", "がんか", "かんけい", "かんこう",
14858"かんしゃ", "かんそう", "かんたん", "かんち", "がんばる", "きあい", "きあつ", "きいろ", "ぎいん", "きうい",
14859"きうん", "きえる", "きおう", "きおく", "きおち", "きおん", "きかい", "きかく", "きかんしゃ", "ききて",
14860"きくばり", "きくらげ", "きけんせい", "きこう", "きこえる", "きこく", "きさい", "きさく", "きさま", "きさらぎ",
14861"ぎじかがく", "ぎしき", "ぎじたいけん", "ぎじにってい", "ぎじゅつしゃ", "きすう", "きせい", "きせき", "きせつ", "きそう",
14862"きぞく", "きぞん", "きたえる", "きちょう", "きつえん", "ぎっちり", "きつつき", "きつね", "きてい", "きどう",
14863"きどく", "きない", "きなが", "きなこ", "きぬごし", "きねん", "きのう", "きのした", "きはく", "きびしい",
14864"きひん", "きふく", "きぶん", "きぼう", "きほん", "きまる", "きみつ", "きむずかしい", "きめる", "きもだめし",
14865"きもち", "きもの", "きゃく", "きやく", "ぎゅうにく", "きよう", "きょうりゅう", "きらい", "きらく", "きりん",
14866"きれい", "きれつ", "きろく", "ぎろん", "きわめる", "ぎんいろ", "きんかくじ", "きんじょ", "きんようび", "ぐあい",
14867"くいず", "くうかん", "くうき", "くうぐん", "くうこう", "ぐうせい", "くうそう", "ぐうたら", "くうふく", "くうぼ",
14868"くかん", "くきょう", "くげん", "ぐこう", "くさい", "くさき", "くさばな", "くさる", "くしゃみ", "くしょう",
14869"くすのき", "くすりゆび", "くせげ", "くせん", "ぐたいてき", "くださる", "くたびれる", "くちこみ", "くちさき", "くつした",
14870"ぐっすり", "くつろぐ", "くとうてん", "くどく", "くなん", "くねくね", "くのう", "くふう", "くみあわせ", "くみたてる",
14871"くめる", "くやくしょ", "くらす", "くらべる", "くるま", "くれる", "くろう", "くわしい", "ぐんかん", "ぐんしょく",
14872"ぐんたい", "ぐんて", "けあな", "けいかく", "けいけん", "けいこ", "けいさつ", "げいじゅつ", "けいたい", "げいのうじん",
14873"けいれき", "けいろ", "けおとす", "けおりもの", "げきか", "げきげん", "げきだん", "げきちん", "げきとつ", "げきは",
14874"げきやく", "げこう", "げこくじょう", "げざい", "けさき", "げざん", "けしき", "けしごむ", "けしょう", "げすと",
14875"けたば", "けちゃっぷ", "けちらす", "けつあつ", "けつい", "けつえき", "けっこん", "けつじょ", "けっせき", "けってい",
14876"けつまつ", "げつようび", "げつれい", "けつろん", "げどく", "けとばす", "けとる", "けなげ", "けなす", "けなみ",
14877"けぬき", "げねつ", "けねん", "けはい", "げひん", "けぶかい", "げぼく", "けまり", "けみかる", "けむし",
14878"けむり", "けもの", "けらい", "けろけろ", "けわしい", "けんい", "けんえつ", "けんお", "けんか", "げんき",
14879"けんげん", "けんこう", "けんさく", "けんしゅう", "けんすう", "げんそう", "けんちく", "けんてい", "けんとう", "けんない",
14880"けんにん", "げんぶつ", "けんま", "けんみん", "けんめい", "けんらん", "けんり", "こあくま", "こいぬ", "こいびと",
14881"ごうい", "こうえん", "こうおん", "こうかん", "ごうきゅう", "ごうけい", "こうこう", "こうさい", "こうじ", "こうすい",
14882"ごうせい", "こうそく", "こうたい", "こうちゃ", "こうつう", "こうてい", "こうどう", "こうない", "こうはい", "ごうほう",
14883"ごうまん", "こうもく", "こうりつ", "こえる", "こおり", "ごかい", "ごがつ", "ごかん", "こくご", "こくさい",
14884"こくとう", "こくない", "こくはく", "こぐま", "こけい", "こける", "ここのか", "こころ", "こさめ", "こしつ",
14885"こすう", "こせい", "こせき", "こぜん", "こそだて", "こたい", "こたえる", "こたつ", "こちょう", "こっか",
14886"こつこつ", "こつばん", "こつぶ", "こてい", "こてん", "ことがら", "ことし", "ことば", "ことり", "こなごな",
14887"こねこね", "このまま", "このみ", "このよ", "ごはん", "こひつじ", "こふう", "こふん", "こぼれる", "ごまあぶら",
14888"こまかい", "ごますり", "こまつな", "こまる", "こむぎこ", "こもじ", "こもち", "こもの", "こもん", "こやく",
14889"こやま", "こゆう", "こゆび", "こよい", "こよう", "こりる", "これくしょん", "ころっけ", "こわもて", "こわれる",
14890"こんいん", "こんかい", "こんき", "こんしゅう", "こんすい", "こんだて", "こんとん", "こんなん", "こんびに", "こんぽん",
14891"こんまけ", "こんや", "こんれい", "こんわく", "ざいえき", "さいかい", "さいきん", "ざいげん", "ざいこ", "さいしょ",
14892"さいせい", "ざいたく", "ざいちゅう", "さいてき", "ざいりょう", "さうな", "さかいし", "さがす", "さかな", "さかみち",
14893"さがる", "さぎょう", "さくし", "さくひん", "さくら", "さこく", "さこつ", "さずかる", "ざせき", "さたん",
14894"さつえい", "ざつおん", "ざっか", "ざつがく", "さっきょく", "ざっし", "さつじん", "ざっそう", "さつたば", "さつまいも",
14895"さてい", "さといも", "さとう", "さとおや", "さとし", "さとる", "さのう", "さばく", "さびしい", "さべつ",
14896"さほう", "さほど", "さます", "さみしい", "さみだれ", "さむけ", "さめる", "さやえんどう", "さゆう", "さよう",
14897"さよく", "さらだ", "ざるそば", "さわやか", "さわる", "さんいん", "さんか", "さんきゃく", "さんこう", "さんさい",
14898"ざんしょ", "さんすう", "さんせい", "さんそ", "さんち", "さんま", "さんみ", "さんらん", "しあい", "しあげ",
14899"しあさって", "しあわせ", "しいく", "しいん", "しうち", "しえい", "しおけ", "しかい", "しかく", "じかん",
14900"しごと", "しすう", "じだい", "したうけ", "したぎ", "したて", "したみ", "しちょう", "しちりん", "しっかり",
14901"しつじ", "しつもん", "してい", "してき", "してつ", "じてん", "じどう", "しなぎれ", "しなもの", "しなん",
14902"しねま", "しねん", "しのぐ", "しのぶ", "しはい", "しばかり", "しはつ", "しはらい", "しはん", "しひょう",
14903"しふく", "じぶん", "しへい", "しほう", "しほん", "しまう", "しまる", "しみん", "しむける", "じむしょ",
14904"しめい", "しめる", "しもん", "しゃいん", "しゃうん", "しゃおん", "じゃがいも", "しやくしょ", "しゃくほう", "しゃけん",
14905"しゃこ", "しゃざい", "しゃしん", "しゃせん", "しゃそう", "しゃたい", "しゃちょう", "しゃっきん", "じゃま", "しゃりん",
14906"しゃれい", "じゆう", "じゅうしょ", "しゅくはく", "じゅしん", "しゅっせき", "しゅみ", "しゅらば", "じゅんばん", "しょうかい",
14907"しょくたく", "しょっけん", "しょどう", "しょもつ", "しらせる", "しらべる", "しんか", "しんこう", "じんじゃ", "しんせいじ",
14908"しんちく", "しんりん", "すあげ", "すあし", "すあな", "ずあん", "すいえい", "すいか", "すいとう", "ずいぶん",
14909"すいようび", "すうがく", "すうじつ", "すうせん", "すおどり", "すきま", "すくう", "すくない", "すける", "すごい",
14910"すこし", "ずさん", "すずしい", "すすむ", "すすめる", "すっかり", "ずっしり", "ずっと", "すてき", "すてる",
14911"すねる", "すのこ", "すはだ", "すばらしい", "ずひょう", "ずぶぬれ", "すぶり", "すふれ", "すべて", "すべる",
14912"ずほう", "すぼん", "すまい", "すめし", "すもう", "すやき", "すらすら", "するめ", "すれちがう", "すろっと",
14913"すわる", "すんぜん", "すんぽう", "せあぶら", "せいかつ", "せいげん", "せいじ", "せいよう", "せおう", "せかいかん",
14914"せきにん", "せきむ", "せきゆ", "せきらんうん", "せけん", "せこう", "せすじ", "せたい", "せたけ", "せっかく",
14915"せっきゃく", "ぜっく", "せっけん", "せっこつ", "せっさたくま", "せつぞく", "せつだん", "せつでん", "せっぱん", "せつび",
14916"せつぶん", "せつめい", "せつりつ", "せなか", "せのび", "せはば", "せびろ", "せぼね", "せまい", "せまる",
14917"せめる", "せもたれ", "せりふ", "ぜんあく", "せんい", "せんえい", "せんか", "せんきょ", "せんく", "せんげん",
14918"ぜんご", "せんさい", "せんしゅ", "せんすい", "せんせい", "せんぞ", "せんたく", "せんちょう", "せんてい", "せんとう",
14919"せんぬき", "せんねん", "せんぱい", "ぜんぶ", "ぜんぽう", "せんむ", "せんめんじょ", "せんもん", "せんやく", "せんゆう",
14920"せんよう", "ぜんら", "ぜんりゃく", "せんれい", "せんろ", "そあく", "そいとげる", "そいね", "そうがんきょう", "そうき",
14921"そうご", "そうしん", "そうだん", "そうなん", "そうび", "そうめん", "そうり", "そえもの", "そえん", "そがい",
14922"そげき", "そこう", "そこそこ", "そざい", "そしな", "そせい", "そせん", "そそぐ", "そだてる", "そつう",
14923"そつえん", "そっかん", "そつぎょう", "そっけつ", "そっこう", "そっせん", "そっと", "そとがわ", "そとづら", "そなえる",
14924"そなた", "そふぼ", "そぼく", "そぼろ", "そまつ", "そまる", "そむく", "そむりえ", "そめる", "そもそも",
14925"そよかぜ", "そらまめ", "そろう", "そんかい", "そんけい", "そんざい", "そんしつ", "そんぞく", "そんちょう", "ぞんび",
14926"ぞんぶん", "そんみん", "たあい", "たいいん", "たいうん", "たいえき", "たいおう", "だいがく", "たいき", "たいぐう",
14927"たいけん", "たいこ", "たいざい", "だいじょうぶ", "だいすき", "たいせつ", "たいそう", "だいたい", "たいちょう", "たいてい",
14928"だいどころ", "たいない", "たいねつ", "たいのう", "たいはん", "だいひょう", "たいふう", "たいへん", "たいほ", "たいまつばな",
14929"たいみんぐ", "たいむ", "たいめん", "たいやき", "たいよう", "たいら", "たいりょく", "たいる", "たいわん", "たうえ",
14930"たえる", "たおす", "たおる", "たおれる", "たかい", "たかね", "たきび", "たくさん", "たこく", "たこやき",
14931"たさい", "たしざん", "だじゃれ", "たすける", "たずさわる", "たそがれ", "たたかう", "たたく", "ただしい", "たたみ",
14932"たちばな", "だっかい", "だっきゃく", "だっこ", "だっしゅつ", "だったい", "たてる", "たとえる", "たなばた", "たにん",
14933"たぬき", "たのしみ", "たはつ", "たぶん", "たべる", "たぼう", "たまご", "たまる", "だむる", "ためいき",
14934"ためす", "ためる", "たもつ", "たやすい", "たよる", "たらす", "たりきほんがん", "たりょう", "たりる", "たると",
14935"たれる", "たれんと", "たろっと", "たわむれる", "だんあつ", "たんい", "たんおん", "たんか", "たんき", "たんけん",
14936"たんご", "たんさん", "たんじょうび", "だんせい", "たんそく", "たんたい", "だんち", "たんてい", "たんとう", "だんな",
14937"たんにん", "だんねつ", "たんのう", "たんぴん", "だんぼう", "たんまつ", "たんめい", "だんれつ", "だんろ", "だんわ",
14938"ちあい", "ちあん", "ちいき", "ちいさい", "ちえん", "ちかい", "ちから", "ちきゅう", "ちきん", "ちけいず",
14939"ちけん", "ちこく", "ちさい", "ちしき", "ちしりょう", "ちせい", "ちそう", "ちたい", "ちたん", "ちちおや",
14940"ちつじょ", "ちてき", "ちてん", "ちぬき", "ちぬり", "ちのう", "ちひょう", "ちへいせん", "ちほう", "ちまた",
14941"ちみつ", "ちみどろ", "ちめいど", "ちゃんこなべ", "ちゅうい", "ちゆりょく", "ちょうし", "ちょさくけん", "ちらし", "ちらみ",
14942"ちりがみ", "ちりょう", "ちるど", "ちわわ", "ちんたい", "ちんもく", "ついか", "ついたち", "つうか", "つうじょう",
14943"つうはん", "つうわ", "つかう", "つかれる", "つくね", "つくる", "つけね", "つける", "つごう", "つたえる",
14944"つづく", "つつじ", "つつむ", "つとめる", "つながる", "つなみ", "つねづね", "つのる", "つぶす", "つまらない",
14945"つまる", "つみき", "つめたい", "つもり", "つもる", "つよい", "つるぼ", "つるみく", "つわもの", "つわり",
14946"てあし", "てあて", "てあみ", "ていおん", "ていか", "ていき", "ていけい", "ていこく", "ていさつ", "ていし",
14947"ていせい", "ていたい", "ていど", "ていねい", "ていひょう", "ていへん", "ていぼう", "てうち", "ておくれ", "てきとう",
14948"てくび", "でこぼこ", "てさぎょう", "てさげ", "てすり", "てそう", "てちがい", "てちょう", "てつがく", "てつづき",
14949"でっぱ", "てつぼう", "てつや", "でぬかえ", "てぬき", "てぬぐい", "てのひら", "てはい", "てぶくろ", "てふだ",
14950"てほどき", "てほん", "てまえ", "てまきずし", "てみじか", "てみやげ", "てらす", "てれび", "てわけ", "てわたし",
14951"でんあつ", "てんいん", "てんかい", "てんき", "てんぐ", "てんけん", "てんごく", "てんさい", "てんし", "てんすう",
14952"でんち", "てんてき", "てんとう", "てんない", "てんぷら", "てんぼうだい", "てんめつ", "てんらんかい", "でんりょく", "でんわ",
14953"どあい", "といれ", "どうかん", "とうきゅう", "どうぐ", "とうし", "とうむぎ", "とおい", "とおか", "とおく",
14954"とおす", "とおる", "とかい", "とかす", "ときおり", "ときどき", "とくい", "とくしゅう", "とくてん", "とくに",
14955"とくべつ", "とけい", "とける", "とこや", "とさか", "としょかん", "とそう", "とたん", "とちゅう", "とっきゅう",
14956"とっくん", "とつぜん", "とつにゅう", "とどける", "ととのえる", "とない", "となえる", "となり", "とのさま", "とばす",
14957"どぶがわ", "とほう", "とまる", "とめる", "ともだち", "ともる", "どようび", "とらえる", "とんかつ", "どんぶり",
14958"ないかく", "ないこう", "ないしょ", "ないす", "ないせん", "ないそう", "なおす", "ながい", "なくす", "なげる",
14959"なこうど", "なさけ", "なたでここ", "なっとう", "なつやすみ", "ななおし", "なにごと", "なにもの", "なにわ", "なのか",
14960"なふだ", "なまいき", "なまえ", "なまみ", "なみだ", "なめらか", "なめる", "なやむ", "ならう", "ならび",
14961"ならぶ", "なれる", "なわとび", "なわばり", "にあう", "にいがた", "にうけ", "におい", "にかい", "にがて",
14962"にきび", "にくしみ", "にくまん", "にげる", "にさんかたんそ", "にしき", "にせもの", "にちじょう", "にちようび", "にっか",
14963"にっき", "にっけい", "にっこう", "にっさん", "にっしょく", "にっすう", "にっせき", "にってい", "になう", "にほん",
14964"にまめ", "にもつ", "にやり", "にゅういん", "にりんしゃ", "にわとり", "にんい", "にんか", "にんき", "にんげん",
14965"にんしき", "にんずう", "にんそう", "にんたい", "にんち", "にんてい", "にんにく", "にんぷ", "にんまり", "にんむ",
14966"にんめい", "にんよう", "ぬいくぎ", "ぬかす", "ぬぐいとる", "ぬぐう", "ぬくもり", "ぬすむ", "ぬまえび", "ぬめり",
14967"ぬらす", "ぬんちゃく", "ねあげ", "ねいき", "ねいる", "ねいろ", "ねぐせ", "ねくたい", "ねくら", "ねこぜ",
14968"ねこむ", "ねさげ", "ねすごす", "ねそべる", "ねだん", "ねつい", "ねっしん", "ねつぞう", "ねったいぎょ", "ねぶそく",
14969"ねふだ", "ねぼう", "ねほりはほり", "ねまき", "ねまわし", "ねみみ", "ねむい", "ねむたい", "ねもと", "ねらう",
14970"ねわざ", "ねんいり", "ねんおし", "ねんかん", "ねんきん", "ねんぐ", "ねんざ", "ねんし", "ねんちゃく", "ねんど",
14971"ねんぴ", "ねんぶつ", "ねんまつ", "ねんりょう", "ねんれい", "のいず", "のおづま", "のがす", "のきなみ", "のこぎり",
14972"のこす", "のこる", "のせる", "のぞく", "のぞむ", "のたまう", "のちほど", "のっく", "のばす", "のはら",
14973"のべる", "のぼる", "のみもの", "のやま", "のらいぬ", "のらねこ", "のりもの", "のりゆき", "のれん", "のんき",
14974"ばあい", "はあく", "ばあさん", "ばいか", "ばいく", "はいけん", "はいご", "はいしん", "はいすい", "はいせん",
14975"はいそう", "はいち", "ばいばい", "はいれつ", "はえる", "はおる", "はかい", "ばかり", "はかる", "はくしゅ",
14976"はけん", "はこぶ", "はさみ", "はさん", "はしご", "ばしょ", "はしる", "はせる", "ぱそこん", "はそん",
14977"はたん", "はちみつ", "はつおん", "はっかく", "はづき", "はっきり", "はっくつ", "はっけん", "はっこう", "はっさん",
14978"はっしん", "はったつ", "はっちゅう", "はってん", "はっぴょう", "はっぽう", "はなす", "はなび", "はにかむ", "はぶらし",
14979"はみがき", "はむかう", "はめつ", "はやい", "はやし", "はらう", "はろうぃん", "はわい", "はんい", "はんえい",
14980"はんおん", "はんかく", "はんきょう", "ばんぐみ", "はんこ", "はんしゃ", "はんすう", "はんだん", "ぱんち", "ぱんつ",
14981"はんてい", "はんとし", "はんのう", "はんぱ", "はんぶん", "はんぺん", "はんぼうき", "はんめい", "はんらん", "はんろん",
14982"ひいき", "ひうん", "ひえる", "ひかく", "ひかり", "ひかる", "ひかん", "ひくい", "ひけつ", "ひこうき",
14983"ひこく", "ひさい", "ひさしぶり", "ひさん", "びじゅつかん", "ひしょ", "ひそか", "ひそむ", "ひたむき", "ひだり",
14984"ひたる", "ひつぎ", "ひっこし", "ひっし", "ひつじゅひん", "ひっす", "ひつぜん", "ぴったり", "ぴっちり", "ひつよう",
14985"ひてい", "ひとごみ", "ひなまつり", "ひなん", "ひねる", "ひはん", "ひびく", "ひひょう", "ひほう", "ひまわり",
14986"ひまん", "ひみつ", "ひめい", "ひめじし", "ひやけ", "ひやす", "ひよう", "びょうき", "ひらがな", "ひらく",
14987"ひりつ", "ひりょう", "ひるま", "ひるやすみ", "ひれい", "ひろい", "ひろう", "ひろき", "ひろゆき", "ひんかく",
14988"ひんけつ", "ひんこん", "ひんしゅ", "ひんそう", "ぴんち", "ひんぱん", "びんぼう", "ふあん", "ふいうち", "ふうけい",
14989"ふうせん", "ぷうたろう", "ふうとう", "ふうふ", "ふえる", "ふおん", "ふかい", "ふきん", "ふくざつ", "ふくぶくろ",
14990"ふこう", "ふさい", "ふしぎ", "ふじみ", "ふすま", "ふせい", "ふせぐ", "ふそく", "ぶたにく", "ふたん",
14991"ふちょう", "ふつう", "ふつか", "ふっかつ", "ふっき", "ふっこく", "ぶどう", "ふとる", "ふとん", "ふのう",
14992"ふはい", "ふひょう", "ふへん", "ふまん", "ふみん", "ふめつ", "ふめん", "ふよう", "ふりこ", "ふりる",
14993"ふるい", "ふんいき", "ぶんがく", "ぶんぐ", "ふんしつ", "ぶんせき", "ふんそう", "ぶんぽう", "へいあん", "へいおん",
14994"へいがい", "へいき", "へいげん", "へいこう", "へいさ", "へいしゃ", "へいせつ", "へいそ", "へいたく", "へいてん",
14995"へいねつ", "へいわ", "へきが", "へこむ", "べにいろ", "べにしょうが", "へらす", "へんかん", "べんきょう", "べんごし",
14996"へんさい", "へんたい", "べんり", "ほあん", "ほいく", "ぼうぎょ", "ほうこく", "ほうそう", "ほうほう", "ほうもん",
14997"ほうりつ", "ほえる", "ほおん", "ほかん", "ほきょう", "ぼきん", "ほくろ", "ほけつ", "ほけん", "ほこう",
14998"ほこる", "ほしい", "ほしつ", "ほしゅ", "ほしょう", "ほせい", "ほそい", "ほそく", "ほたて", "ほたる",
14999"ぽちぶくろ", "ほっきょく", "ほっさ", "ほったん", "ほとんど", "ほめる", "ほんい", "ほんき", "ほんけ", "ほんしつ",
15000"ほんやく", "まいにち", "まかい", "まかせる", "まがる", "まける", "まこと", "まさつ", "まじめ", "ますく",
15001"まぜる", "まつり", "まとめ", "まなぶ", "まぬけ", "まねく", "まほう", "まもる", "まゆげ", "まよう",
15002"まろやか", "まわす", "まわり", "まわる", "まんが", "まんきつ", "まんぞく", "まんなか", "みいら", "みうち",
15003"みえる", "みがく", "みかた", "みかん", "みけん", "みこん", "みじかい", "みすい", "みすえる", "みせる",
15004"みっか", "みつかる", "みつける", "みてい", "みとめる", "みなと", "みなみかさい", "みねらる", "みのう", "みのがす",
15005"みほん", "みもと", "みやげ", "みらい", "みりょく", "みわく", "みんか", "みんぞく", "むいか", "むえき",
15006"むえん", "むかい", "むかう", "むかえ", "むかし", "むぎちゃ", "むける", "むげん", "むさぼる", "むしあつい",
15007"むしば", "むじゅん", "むしろ", "むすう", "むすこ", "むすぶ", "むすめ", "むせる", "むせん", "むちゅう",
15008"むなしい", "むのう", "むやみ", "むよう", "むらさき", "むりょう", "むろん", "めいあん", "めいうん", "めいえん",
15009"めいかく", "めいきょく", "めいさい", "めいし", "めいそう", "めいぶつ", "めいれい", "めいわく", "めぐまれる", "めざす",
15010"めした", "めずらしい", "めだつ", "めまい", "めやす", "めんきょ", "めんせき", "めんどう", "もうしあげる", "もうどうけん",
15011"もえる", "もくし", "もくてき", "もくようび", "もちろん", "もどる", "もらう", "もんく", "もんだい", "やおや",
15012"やける", "やさい", "やさしい", "やすい", "やすたろう", "やすみ", "やせる", "やそう", "やたい", "やちん",
15013"やっと", "やっぱり", "やぶる", "やめる", "ややこしい", "やよい", "やわらかい", "ゆうき", "ゆうびんきょく", "ゆうべ",
15014"ゆうめい", "ゆけつ", "ゆしゅつ", "ゆせん", "ゆそう", "ゆたか", "ゆちゃく", "ゆでる", "ゆにゅう", "ゆびわ",
15015"ゆらい", "ゆれる", "ようい", "ようか", "ようきゅう", "ようじ", "ようす", "ようちえん", "よかぜ", "よかん",
15016"よきん", "よくせい", "よくぼう", "よけい", "よごれる", "よさん", "よしゅう", "よそう", "よそく", "よっか",
15017"よてい", "よどがわく", "よねつ", "よやく", "よゆう", "よろこぶ", "よろしい", "らいう", "らくがき", "らくご",
15018"らくさつ", "らくだ", "らしんばん", "らせん", "らぞく", "らたい", "らっか", "られつ", "りえき", "りかい",
15019"りきさく", "りきせつ", "りくぐん", "りくつ", "りけん", "りこう", "りせい", "りそう", "りそく", "りてん",
15020"りねん", "りゆう", "りゅうがく", "りよう", "りょうり", "りょかん", "りょくちゃ", "りょこう", "りりく", "りれき",
15021"りろん", "りんご", "るいけい", "るいさい", "るいじ", "るいせき", "るすばん", "るりがわら", "れいかん", "れいぎ",
15022"れいせい", "れいぞうこ", "れいとう", "れいぼう", "れきし", "れきだい", "れんあい", "れんけい", "れんこん", "れんさい",
15023"れんしゅう", "れんぞく", "れんらく", "ろうか", "ろうご", "ろうじん", "ろうそく", "ろくが", "ろこつ", "ろじうら",
15024"ろしゅつ", "ろせん", "ろてん", "ろめん", "ろれつ", "ろんぎ", "ろんぱ", "ろんぶん", "ろんり", "わかす",
15025"わかめ", "わかやま", "わかれる", "わしつ", "わじまし", "わすれもの", "わらう", "われる"]
15026</script>
15027 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15028WORDLISTS["spanish"] = [
15029"ábaco", "abdomen", "abeja", "abierto", "abogado", "abono", "aborto", "abrazo", "abrir", "abuelo",
15030"abuso", "acabar", "academia", "acceso", "acción", "aceite", "acelga", "acento", "aceptar", "ácido",
15031"aclarar", "acné", "acoger", "acoso", "activo", "acto", "actriz", "actuar", "acudir", "acuerdo",
15032"acusar", "adicto", "admitir", "adoptar", "adorno", "aduana", "adulto", "aéreo", "afectar", "afición",
15033"afinar", "afirmar", "ágil", "agitar", "agonía", "agosto", "agotar", "agregar", "agrio", "agua",
15034"agudo", "águila", "aguja", "ahogo", "ahorro", "aire", "aislar", "ajedrez", "ajeno", "ajuste",
15035"alacrán", "alambre", "alarma", "alba", "álbum", "alcalde", "aldea", "alegre", "alejar", "alerta",
15036"aleta", "alfiler", "alga", "algodón", "aliado", "aliento", "alivio", "alma", "almeja", "almíbar",
15037"altar", "alteza", "altivo", "alto", "altura", "alumno", "alzar", "amable", "amante", "amapola",
15038"amargo", "amasar", "ámbar", "ámbito", "ameno", "amigo", "amistad", "amor", "amparo", "amplio",
15039"ancho", "anciano", "ancla", "andar", "andén", "anemia", "ángulo", "anillo", "ánimo", "anís",
15040"anotar", "antena", "antiguo", "antojo", "anual", "anular", "anuncio", "añadir", "añejo", "año",
15041"apagar", "aparato", "apetito", "apio", "aplicar", "apodo", "aporte", "apoyo", "aprender", "aprobar",
15042"apuesta", "apuro", "arado", "araña", "arar", "árbitro", "árbol", "arbusto", "archivo", "arco",
15043"arder", "ardilla", "arduo", "área", "árido", "aries", "armonía", "arnés", "aroma", "arpa",
15044"arpón", "arreglo", "arroz", "arruga", "arte", "artista", "asa", "asado", "asalto", "ascenso",
15045"asegurar", "aseo", "asesor", "asiento", "asilo", "asistir", "asno", "asombro", "áspero", "astilla",
15046"astro", "astuto", "asumir", "asunto", "atajo", "ataque", "atar", "atento", "ateo", "ático",
15047"atleta", "átomo", "atraer", "atroz", "atún", "audaz", "audio", "auge", "aula", "aumento",
15048"ausente", "autor", "aval", "avance", "avaro", "ave", "avellana", "avena", "avestruz", "avión",
15049"aviso", "ayer", "ayuda", "ayuno", "azafrán", "azar", "azote", "azúcar", "azufre", "azul",
15050"baba", "babor", "bache", "bahía", "baile", "bajar", "balanza", "balcón", "balde", "bambú",
15051"banco", "banda", "baño", "barba", "barco", "barniz", "barro", "báscula", "bastón", "basura",
15052"batalla", "batería", "batir", "batuta", "baúl", "bazar", "bebé", "bebida", "bello", "besar",
15053"beso", "bestia", "bicho", "bien", "bingo", "blanco", "bloque", "blusa", "boa", "bobina",
15054"bobo", "boca", "bocina", "boda", "bodega", "boina", "bola", "bolero", "bolsa", "bomba",
15055"bondad", "bonito", "bono", "bonsái", "borde", "borrar", "bosque", "bote", "botín", "bóveda",
15056"bozal", "bravo", "brazo", "brecha", "breve", "brillo", "brinco", "brisa", "broca", "broma",
15057"bronce", "brote", "bruja", "brusco", "bruto", "buceo", "bucle", "bueno", "buey", "bufanda",
15058"bufón", "búho", "buitre", "bulto", "burbuja", "burla", "burro", "buscar", "butaca", "buzón",
15059"caballo", "cabeza", "cabina", "cabra", "cacao", "cadáver", "cadena", "caer", "café", "caída",
15060"caimán", "caja", "cajón", "cal", "calamar", "calcio", "caldo", "calidad", "calle", "calma",
15061"calor", "calvo", "cama", "cambio", "camello", "camino", "campo", "cáncer", "candil", "canela",
15062"canguro", "canica", "canto", "caña", "cañón", "caoba", "caos", "capaz", "capitán", "capote",
15063"captar", "capucha", "cara", "carbón", "cárcel", "careta", "carga", "cariño", "carne", "carpeta",
15064"carro", "carta", "casa", "casco", "casero", "caspa", "castor", "catorce", "catre", "caudal",
15065"causa", "cazo", "cebolla", "ceder", "cedro", "celda", "célebre", "celoso", "célula", "cemento",
15066"ceniza", "centro", "cerca", "cerdo", "cereza", "cero", "cerrar", "certeza", "césped", "cetro",
15067"chacal", "chaleco", "champú", "chancla", "chapa", "charla", "chico", "chiste", "chivo", "choque",
15068"choza", "chuleta", "chupar", "ciclón", "ciego", "cielo", "cien", "cierto", "cifra", "cigarro",
15069"cima", "cinco", "cine", "cinta", "ciprés", "circo", "ciruela", "cisne", "cita", "ciudad",
15070"clamor", "clan", "claro", "clase", "clave", "cliente", "clima", "clínica", "cobre", "cocción",
15071"cochino", "cocina", "coco", "código", "codo", "cofre", "coger", "cohete", "cojín", "cojo",
15072"cola", "colcha", "colegio", "colgar", "colina", "collar", "colmo", "columna", "combate", "comer",
15073"comida", "cómodo", "compra", "conde", "conejo", "conga", "conocer", "consejo", "contar", "copa",
15074"copia", "corazón", "corbata", "corcho", "cordón", "corona", "correr", "coser", "cosmos", "costa",
15075"cráneo", "cráter", "crear", "crecer", "creído", "crema", "cría", "crimen", "cripta", "crisis",
15076"cromo", "crónica", "croqueta", "crudo", "cruz", "cuadro", "cuarto", "cuatro", "cubo", "cubrir",
15077"cuchara", "cuello", "cuento", "cuerda", "cuesta", "cueva", "cuidar", "culebra", "culpa", "culto",
15078"cumbre", "cumplir", "cuna", "cuneta", "cuota", "cupón", "cúpula", "curar", "curioso", "curso",
15079"curva", "cutis", "dama", "danza", "dar", "dardo", "dátil", "deber", "débil", "década",
15080"decir", "dedo", "defensa", "definir", "dejar", "delfín", "delgado", "delito", "demora", "denso",
15081"dental", "deporte", "derecho", "derrota", "desayuno", "deseo", "desfile", "desnudo", "destino", "desvío",
15082"detalle", "detener", "deuda", "día", "diablo", "diadema", "diamante", "diana", "diario", "dibujo",
15083"dictar", "diente", "dieta", "diez", "difícil", "digno", "dilema", "diluir", "dinero", "directo",
15084"dirigir", "disco", "diseño", "disfraz", "diva", "divino", "doble", "doce", "dolor", "domingo",
15085"don", "donar", "dorado", "dormir", "dorso", "dos", "dosis", "dragón", "droga", "ducha",
15086"duda", "duelo", "dueño", "dulce", "dúo", "duque", "durar", "dureza", "duro", "ébano",
15087"ebrio", "echar", "eco", "ecuador", "edad", "edición", "edificio", "editor", "educar", "efecto",
15088"eficaz", "eje", "ejemplo", "elefante", "elegir", "elemento", "elevar", "elipse", "élite", "elixir",
15089"elogio", "eludir", "embudo", "emitir", "emoción", "empate", "empeño", "empleo", "empresa", "enano",
15090"encargo", "enchufe", "encía", "enemigo", "enero", "enfado", "enfermo", "engaño", "enigma", "enlace",
15091"enorme", "enredo", "ensayo", "enseñar", "entero", "entrar", "envase", "envío", "época", "equipo",
15092"erizo", "escala", "escena", "escolar", "escribir", "escudo", "esencia", "esfera", "esfuerzo", "espada",
15093"espejo", "espía", "esposa", "espuma", "esquí", "estar", "este", "estilo", "estufa", "etapa",
15094"eterno", "ética", "etnia", "evadir", "evaluar", "evento", "evitar", "exacto", "examen", "exceso",
15095"excusa", "exento", "exigir", "exilio", "existir", "éxito", "experto", "explicar", "exponer", "extremo",
15096"fábrica", "fábula", "fachada", "fácil", "factor", "faena", "faja", "falda", "fallo", "falso",
15097"faltar", "fama", "familia", "famoso", "faraón", "farmacia", "farol", "farsa", "fase", "fatiga",
15098"fauna", "favor", "fax", "febrero", "fecha", "feliz", "feo", "feria", "feroz", "fértil",
15099"fervor", "festín", "fiable", "fianza", "fiar", "fibra", "ficción", "ficha", "fideo", "fiebre",
15100"fiel", "fiera", "fiesta", "figura", "fijar", "fijo", "fila", "filete", "filial", "filtro",
15101"fin", "finca", "fingir", "finito", "firma", "flaco", "flauta", "flecha", "flor", "flota",
15102"fluir", "flujo", "flúor", "fobia", "foca", "fogata", "fogón", "folio", "folleto", "fondo",
15103"forma", "forro", "fortuna", "forzar", "fosa", "foto", "fracaso", "frágil", "franja", "frase",
15104"fraude", "freír", "freno", "fresa", "frío", "frito", "fruta", "fuego", "fuente", "fuerza",
15105"fuga", "fumar", "función", "funda", "furgón", "furia", "fusil", "fútbol", "futuro", "gacela",
15106"gafas", "gaita", "gajo", "gala", "galería", "gallo", "gamba", "ganar", "gancho", "ganga",
15107"ganso", "garaje", "garza", "gasolina", "gastar", "gato", "gavilán", "gemelo", "gemir", "gen",
15108"género", "genio", "gente", "geranio", "gerente", "germen", "gesto", "gigante", "gimnasio", "girar",
15109"giro", "glaciar", "globo", "gloria", "gol", "golfo", "goloso", "golpe", "goma", "gordo",
15110"gorila", "gorra", "gota", "goteo", "gozar", "grada", "gráfico", "grano", "grasa", "gratis",
15111"grave", "grieta", "grillo", "gripe", "gris", "grito", "grosor", "grúa", "grueso", "grumo",
15112"grupo", "guante", "guapo", "guardia", "guerra", "guía", "guiño", "guion", "guiso", "guitarra",
15113"gusano", "gustar", "haber", "hábil", "hablar", "hacer", "hacha", "hada", "hallar", "hamaca",
15114"harina", "haz", "hazaña", "hebilla", "hebra", "hecho", "helado", "helio", "hembra", "herir",
15115"hermano", "héroe", "hervir", "hielo", "hierro", "hígado", "higiene", "hijo", "himno", "historia",
15116"hocico", "hogar", "hoguera", "hoja", "hombre", "hongo", "honor", "honra", "hora", "hormiga",
15117"horno", "hostil", "hoyo", "hueco", "huelga", "huerta", "hueso", "huevo", "huida", "huir",
15118"humano", "húmedo", "humilde", "humo", "hundir", "huracán", "hurto", "icono", "ideal", "idioma",
15119"ídolo", "iglesia", "iglú", "igual", "ilegal", "ilusión", "imagen", "imán", "imitar", "impar",
15120"imperio", "imponer", "impulso", "incapaz", "índice", "inerte", "infiel", "informe", "ingenio", "inicio",
15121"inmenso", "inmune", "innato", "insecto", "instante", "interés", "íntimo", "intuir", "inútil", "invierno",
15122"ira", "iris", "ironía", "isla", "islote", "jabalí", "jabón", "jamón", "jarabe", "jardín",
15123"jarra", "jaula", "jazmín", "jefe", "jeringa", "jinete", "jornada", "joroba", "joven", "joya",
15124"juerga", "jueves", "juez", "jugador", "jugo", "juguete", "juicio", "junco", "jungla", "junio",
15125"juntar", "júpiter", "jurar", "justo", "juvenil", "juzgar", "kilo", "koala", "labio", "lacio",
15126"lacra", "lado", "ladrón", "lagarto", "lágrima", "laguna", "laico", "lamer", "lámina", "lámpara",
15127"lana", "lancha", "langosta", "lanza", "lápiz", "largo", "larva", "lástima", "lata", "látex",
15128"latir", "laurel", "lavar", "lazo", "leal", "lección", "leche", "lector", "leer", "legión",
15129"legumbre", "lejano", "lengua", "lento", "leña", "león", "leopardo", "lesión", "letal", "letra",
15130"leve", "leyenda", "libertad", "libro", "licor", "líder", "lidiar", "lienzo", "liga", "ligero",
15131"lima", "límite", "limón", "limpio", "lince", "lindo", "línea", "lingote", "lino", "linterna",
15132"líquido", "liso", "lista", "litera", "litio", "litro", "llaga", "llama", "llanto", "llave",
15133"llegar", "llenar", "llevar", "llorar", "llover", "lluvia", "lobo", "loción", "loco", "locura",
15134"lógica", "logro", "lombriz", "lomo", "lonja", "lote", "lucha", "lucir", "lugar", "lujo",
15135"luna", "lunes", "lupa", "lustro", "luto", "luz", "maceta", "macho", "madera", "madre",
15136"maduro", "maestro", "mafia", "magia", "mago", "maíz", "maldad", "maleta", "malla", "malo",
15137"mamá", "mambo", "mamut", "manco", "mando", "manejar", "manga", "maniquí", "manjar", "mano",
15138"manso", "manta", "mañana", "mapa", "máquina", "mar", "marco", "marea", "marfil", "margen",
15139"marido", "mármol", "marrón", "martes", "marzo", "masa", "máscara", "masivo", "matar", "materia",
15140"matiz", "matriz", "máximo", "mayor", "mazorca", "mecha", "medalla", "medio", "médula", "mejilla",
15141"mejor", "melena", "melón", "memoria", "menor", "mensaje", "mente", "menú", "mercado", "merengue",
15142"mérito", "mes", "mesón", "meta", "meter", "método", "metro", "mezcla", "miedo", "miel",
15143"miembro", "miga", "mil", "milagro", "militar", "millón", "mimo", "mina", "minero", "mínimo",
15144"minuto", "miope", "mirar", "misa", "miseria", "misil", "mismo", "mitad", "mito", "mochila",
15145"moción", "moda", "modelo", "moho", "mojar", "molde", "moler", "molino", "momento", "momia",
15146"monarca", "moneda", "monja", "monto", "moño", "morada", "morder", "moreno", "morir", "morro",
15147"morsa", "mortal", "mosca", "mostrar", "motivo", "mover", "móvil", "mozo", "mucho", "mudar",
15148"mueble", "muela", "muerte", "muestra", "mugre", "mujer", "mula", "muleta", "multa", "mundo",
15149"muñeca", "mural", "muro", "músculo", "museo", "musgo", "música", "muslo", "nácar", "nación",
15150"nadar", "naipe", "naranja", "nariz", "narrar", "nasal", "natal", "nativo", "natural", "náusea",
15151"naval", "nave", "navidad", "necio", "néctar", "negar", "negocio", "negro", "neón", "nervio",
15152"neto", "neutro", "nevar", "nevera", "nicho", "nido", "niebla", "nieto", "niñez", "niño",
15153"nítido", "nivel", "nobleza", "noche", "nómina", "noria", "norma", "norte", "nota", "noticia",
15154"novato", "novela", "novio", "nube", "nuca", "núcleo", "nudillo", "nudo", "nuera", "nueve",
15155"nuez", "nulo", "número", "nutria", "oasis", "obeso", "obispo", "objeto", "obra", "obrero",
15156"observar", "obtener", "obvio", "oca", "ocaso", "océano", "ochenta", "ocho", "ocio", "ocre",
15157"octavo", "octubre", "oculto", "ocupar", "ocurrir", "odiar", "odio", "odisea", "oeste", "ofensa",
15158"oferta", "oficio", "ofrecer", "ogro", "oído", "oír", "ojo", "ola", "oleada", "olfato",
15159"olivo", "olla", "olmo", "olor", "olvido", "ombligo", "onda", "onza", "opaco", "opción",
15160"ópera", "opinar", "oponer", "optar", "óptica", "opuesto", "oración", "orador", "oral", "órbita",
15161"orca", "orden", "oreja", "órgano", "orgía", "orgullo", "oriente", "origen", "orilla", "oro",
15162"orquesta", "oruga", "osadía", "oscuro", "osezno", "oso", "ostra", "otoño", "otro", "oveja",
15163"óvulo", "óxido", "oxígeno", "oyente", "ozono", "pacto", "padre", "paella", "página", "pago",
15164"país", "pájaro", "palabra", "palco", "paleta", "pálido", "palma", "paloma", "palpar", "pan",
15165"panal", "pánico", "pantera", "pañuelo", "papá", "papel", "papilla", "paquete", "parar", "parcela",
15166"pared", "parir", "paro", "párpado", "parque", "párrafo", "parte", "pasar", "paseo", "pasión",
15167"paso", "pasta", "pata", "patio", "patria", "pausa", "pauta", "pavo", "payaso", "peatón",
15168"pecado", "pecera", "pecho", "pedal", "pedir", "pegar", "peine", "pelar", "peldaño", "pelea",
15169"peligro", "pellejo", "pelo", "peluca", "pena", "pensar", "peñón", "peón", "peor", "pepino",
15170"pequeño", "pera", "percha", "perder", "pereza", "perfil", "perico", "perla", "permiso", "perro",
15171"persona", "pesa", "pesca", "pésimo", "pestaña", "pétalo", "petróleo", "pez", "pezuña", "picar",
15172"pichón", "pie", "piedra", "pierna", "pieza", "pijama", "pilar", "piloto", "pimienta", "pino",
15173"pintor", "pinza", "piña", "piojo", "pipa", "pirata", "pisar", "piscina", "piso", "pista",
15174"pitón", "pizca", "placa", "plan", "plata", "playa", "plaza", "pleito", "pleno", "plomo",
15175"pluma", "plural", "pobre", "poco", "poder", "podio", "poema", "poesía", "poeta", "polen",
15176"policía", "pollo", "polvo", "pomada", "pomelo", "pomo", "pompa", "poner", "porción", "portal",
15177"posada", "poseer", "posible", "poste", "potencia", "potro", "pozo", "prado", "precoz", "pregunta",
15178"premio", "prensa", "preso", "previo", "primo", "príncipe", "prisión", "privar", "proa", "probar",
15179"proceso", "producto", "proeza", "profesor", "programa", "prole", "promesa", "pronto", "propio", "próximo",
15180"prueba", "público", "puchero", "pudor", "pueblo", "puerta", "puesto", "pulga", "pulir", "pulmón",
15181"pulpo", "pulso", "puma", "punto", "puñal", "puño", "pupa", "pupila", "puré", "quedar",
15182"queja", "quemar", "querer", "queso", "quieto", "química", "quince", "quitar", "rábano", "rabia",
15183"rabo", "ración", "radical", "raíz", "rama", "rampa", "rancho", "rango", "rapaz", "rápido",
15184"rapto", "rasgo", "raspa", "rato", "rayo", "raza", "razón", "reacción", "realidad", "rebaño",
15185"rebote", "recaer", "receta", "rechazo", "recoger", "recreo", "recto", "recurso", "red", "redondo",
15186"reducir", "reflejo", "reforma", "refrán", "refugio", "regalo", "regir", "regla", "regreso", "rehén",
15187"reino", "reír", "reja", "relato", "relevo", "relieve", "relleno", "reloj", "remar", "remedio",
15188"remo", "rencor", "rendir", "renta", "reparto", "repetir", "reposo", "reptil", "res", "rescate",
15189"resina", "respeto", "resto", "resumen", "retiro", "retorno", "retrato", "reunir", "revés", "revista",
15190"rey", "rezar", "rico", "riego", "rienda", "riesgo", "rifa", "rígido", "rigor", "rincón",
15191"riñón", "río", "riqueza", "risa", "ritmo", "rito", "rizo", "roble", "roce", "rociar",
15192"rodar", "rodeo", "rodilla", "roer", "rojizo", "rojo", "romero", "romper", "ron", "ronco",
15193"ronda", "ropa", "ropero", "rosa", "rosca", "rostro", "rotar", "rubí", "rubor", "rudo",
15194"rueda", "rugir", "ruido", "ruina", "ruleta", "rulo", "rumbo", "rumor", "ruptura", "ruta",
15195"rutina", "sábado", "saber", "sabio", "sable", "sacar", "sagaz", "sagrado", "sala", "saldo",
15196"salero", "salir", "salmón", "salón", "salsa", "salto", "salud", "salvar", "samba", "sanción",
15197"sandía", "sanear", "sangre", "sanidad", "sano", "santo", "sapo", "saque", "sardina", "sartén",
15198"sastre", "satán", "sauna", "saxofón", "sección", "seco", "secreto", "secta", "sed", "seguir",
15199"seis", "sello", "selva", "semana", "semilla", "senda", "sensor", "señal", "señor", "separar",
15200"sepia", "sequía", "ser", "serie", "sermón", "servir", "sesenta", "sesión", "seta", "setenta",
15201"severo", "sexo", "sexto", "sidra", "siesta", "siete", "siglo", "signo", "sílaba", "silbar",
15202"silencio", "silla", "símbolo", "simio", "sirena", "sistema", "sitio", "situar", "sobre", "socio",
15203"sodio", "sol", "solapa", "soldado", "soledad", "sólido", "soltar", "solución", "sombra", "sondeo",
15204"sonido", "sonoro", "sonrisa", "sopa", "soplar", "soporte", "sordo", "sorpresa", "sorteo", "sostén",
15205"sótano", "suave", "subir", "suceso", "sudor", "suegra", "suelo", "sueño", "suerte", "sufrir",
15206"sujeto", "sultán", "sumar", "superar", "suplir", "suponer", "supremo", "sur", "surco", "sureño",
15207"surgir", "susto", "sutil", "tabaco", "tabique", "tabla", "tabú", "taco", "tacto", "tajo",
15208"talar", "talco", "talento", "talla", "talón", "tamaño", "tambor", "tango", "tanque", "tapa",
15209"tapete", "tapia", "tapón", "taquilla", "tarde", "tarea", "tarifa", "tarjeta", "tarot", "tarro",
15210"tarta", "tatuaje", "tauro", "taza", "tazón", "teatro", "techo", "tecla", "técnica", "tejado",
15211"tejer", "tejido", "tela", "teléfono", "tema", "temor", "templo", "tenaz", "tender", "tener",
15212"tenis", "tenso", "teoría", "terapia", "terco", "término", "ternura", "terror", "tesis", "tesoro",
15213"testigo", "tetera", "texto", "tez", "tibio", "tiburón", "tiempo", "tienda", "tierra", "tieso",
15214"tigre", "tijera", "tilde", "timbre", "tímido", "timo", "tinta", "tío", "típico", "tipo",
15215"tira", "tirón", "titán", "títere", "título", "tiza", "toalla", "tobillo", "tocar", "tocino",
15216"todo", "toga", "toldo", "tomar", "tono", "tonto", "topar", "tope", "toque", "tórax",
15217"torero", "tormenta", "torneo", "toro", "torpedo", "torre", "torso", "tortuga", "tos", "tosco",
15218"toser", "tóxico", "trabajo", "tractor", "traer", "tráfico", "trago", "traje", "tramo", "trance",
15219"trato", "trauma", "trazar", "trébol", "tregua", "treinta", "tren", "trepar", "tres", "tribu",
15220"trigo", "tripa", "triste", "triunfo", "trofeo", "trompa", "tronco", "tropa", "trote", "trozo",
15221"truco", "trueno", "trufa", "tubería", "tubo", "tuerto", "tumba", "tumor", "túnel", "túnica",
15222"turbina", "turismo", "turno", "tutor", "ubicar", "úlcera", "umbral", "unidad", "unir", "universo",
15223"uno", "untar", "uña", "urbano", "urbe", "urgente", "urna", "usar", "usuario", "útil",
15224"utopía", "uva", "vaca", "vacío", "vacuna", "vagar", "vago", "vaina", "vajilla", "vale",
15225"válido", "valle", "valor", "válvula", "vampiro", "vara", "variar", "varón", "vaso", "vecino",
15226"vector", "vehículo", "veinte", "vejez", "vela", "velero", "veloz", "vena", "vencer", "venda",
15227"veneno", "vengar", "venir", "venta", "venus", "ver", "verano", "verbo", "verde", "vereda",
15228"verja", "verso", "verter", "vía", "viaje", "vibrar", "vicio", "víctima", "vida", "vídeo",
15229"vidrio", "viejo", "viernes", "vigor", "vil", "villa", "vinagre", "vino", "viñedo", "violín",
15230"viral", "virgo", "virtud", "visor", "víspera", "vista", "vitamina", "viudo", "vivaz", "vivero",
15231"vivir", "vivo", "volcán", "volumen", "volver", "voraz", "votar", "voto", "voz", "vuelo",
15232"vulgar", "yacer", "yate", "yegua", "yema", "yerno", "yeso", "yodo", "yoga", "yogur",
15233"zafiro", "zanja", "zapato", "zarza", "zona", "zorro", "zumo", "zurdo"]
15234</script>
15235 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15236WORDLISTS["chinese_simplified"] = [
15237"的", "一", "是", "在", "不", "了", "有", "和", "人", "这",
15238"中", "大", "为", "上", "个", "国", "我", "以", "要", "他",
15239"时", "来", "用", "们", "生", "到", "作", "地", "于", "出",
15240"就", "分", "对", "成", "会", "可", "主", "发", "年", "动",
15241"同", "工", "也", "能", "下", "过", "子", "说", "产", "种",
15242"面", "而", "方", "后", "多", "定", "行", "学", "法", "所",
15243"民", "得", "经", "十", "三", "之", "进", "着", "等", "部",
15244"度", "家", "电", "力", "里", "如", "水", "化", "高", "自",
15245"二", "理", "起", "小", "物", "现", "实", "加", "量", "都",
15246"两", "体", "制", "机", "当", "使", "点", "从", "业", "本",
15247"去", "把", "性", "好", "应", "开", "它", "合", "还", "因",
15248"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15249"那", "社", "义", "事", "平", "形", "相", "全", "表", "间",
15250"样", "与", "关", "各", "重", "新", "线", "内", "数", "正",
15251"心", "反", "你", "明", "看", "原", "又", "么", "利", "比",
15252"或", "但", "质", "气", "第", "向", "道", "命", "此", "变",
15253"条", "只", "没", "结", "解", "问", "意", "建", "月", "公",
15254"无", "系", "军", "很", "情", "者", "最", "立", "代", "想",
15255"已", "通", "并", "提", "直", "题", "党", "程", "展", "五",
15256"果", "料", "象", "员", "革", "位", "入", "常", "文", "总",
15257"次", "品", "式", "活", "设", "及", "管", "特", "件", "长",
15258"求", "老", "头", "基", "资", "边", "流", "路", "级", "少",
15259"图", "山", "统", "接", "知", "较", "将", "组", "见", "计",
15260"别", "她", "手", "角", "期", "根", "论", "运", "农", "指",
15261"几", "九", "区", "强", "放", "决", "西", "被", "干", "做",
15262"必", "战", "先", "回", "则", "任", "取", "据", "处", "队",
15263"南", "给", "色", "光", "门", "即", "保", "治", "北", "造",
15264"百", "规", "热", "领", "七", "海", "口", "东", "导", "器",
15265"压", "志", "世", "金", "增", "争", "济", "阶", "油", "思",
15266"术", "极", "交", "受", "联", "什", "认", "六", "共", "权",
15267"收", "证", "改", "清", "美", "再", "采", "转", "更", "单",
15268"风", "切", "打", "白", "教", "速", "花", "带", "安", "场",
15269"身", "车", "例", "真", "务", "具", "万", "每", "目", "至",
15270"达", "走", "积", "示", "议", "声", "报", "斗", "完", "类",
15271"八", "离", "华", "名", "确", "才", "科", "张", "信", "马",
15272"节", "话", "米", "整", "空", "元", "况", "今", "集", "温",
15273"传", "土", "许", "步", "群", "广", "石", "记", "需", "段",
15274"研", "界", "拉", "林", "律", "叫", "且", "究", "观", "越",
15275"织", "装", "影", "算", "低", "持", "音", "众", "书", "布",
15276"复", "容", "儿", "须", "际", "商", "非", "验", "连", "断",
15277"深", "难", "近", "矿", "千", "周", "委", "素", "技", "备",
15278"半", "办", "青", "省", "列", "习", "响", "约", "支", "般",
15279"史", "感", "劳", "便", "团", "往", "酸", "历", "市", "克",
15280"何", "除", "消", "构", "府", "称", "太", "准", "精", "值",
15281"号", "率", "族", "维", "划", "选", "标", "写", "存", "候",
15282"毛", "亲", "快", "效", "斯", "院", "查", "江", "型", "眼",
15283"王", "按", "格", "养", "易", "置", "派", "层", "片", "始",
15284"却", "专", "状", "育", "厂", "京", "识", "适", "属", "圆",
15285"包", "火", "住", "调", "满", "县", "局", "照", "参", "红",
15286"细", "引", "听", "该", "铁", "价", "严", "首", "底", "液",
15287"官", "德", "随", "病", "苏", "失", "尔", "死", "讲", "配",
15288"女", "黄", "推", "显", "谈", "罪", "神", "艺", "呢", "席",
15289"含", "企", "望", "密", "批", "营", "项", "防", "举", "球",
15290"英", "氧", "势", "告", "李", "台", "落", "木", "帮", "轮",
15291"破", "亚", "师", "围", "注", "远", "字", "材", "排", "供",
15292"河", "态", "封", "另", "施", "减", "树", "溶", "怎", "止",
15293"案", "言", "士", "均", "武", "固", "叶", "鱼", "波", "视",
15294"仅", "费", "紧", "爱", "左", "章", "早", "朝", "害", "续",
15295"轻", "服", "试", "食", "充", "兵", "源", "判", "护", "司",
15296"足", "某", "练", "差", "致", "板", "田", "降", "黑", "犯",
15297"负", "击", "范", "继", "兴", "似", "余", "坚", "曲", "输",
15298"修", "故", "城", "夫", "够", "送", "笔", "船", "占", "右",
15299"财", "吃", "富", "春", "职", "觉", "汉", "画", "功", "巴",
15300"跟", "虽", "杂", "飞", "检", "吸", "助", "升", "阳", "互",
15301"初", "创", "抗", "考", "投", "坏", "策", "古", "径", "换",
15302"未", "跑", "留", "钢", "曾", "端", "责", "站", "简", "述",
15303"钱", "副", "尽", "帝", "射", "草", "冲", "承", "独", "令",
15304"限", "阿", "宣", "环", "双", "请", "超", "微", "让", "控",
15305"州", "良", "轴", "找", "否", "纪", "益", "依", "优", "顶",
15306"础", "载", "倒", "房", "突", "坐", "粉", "敌", "略", "客",
15307"袁", "冷", "胜", "绝", "析", "块", "剂", "测", "丝", "协",
15308"诉", "念", "陈", "仍", "罗", "盐", "友", "洋", "错", "苦",
15309"夜", "刑", "移", "频", "逐", "靠", "混", "母", "短", "皮",
15310"终", "聚", "汽", "村", "云", "哪", "既", "距", "卫", "停",
15311"烈", "央", "察", "烧", "迅", "境", "若", "印", "洲", "刻",
15312"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15313"侵", "吧", "甲", "游", "久", "菜", "味", "旧", "模", "湖",
15314"货", "损", "预", "阻", "毫", "普", "稳", "乙", "妈", "植",
15315"息", "扩", "银", "语", "挥", "酒", "守", "拿", "序", "纸",
15316"医", "缺", "雨", "吗", "针", "刘", "啊", "急", "唱", "误",
15317"训", "愿", "审", "附", "获", "茶", "鲜", "粮", "斤", "孩",
15318"脱", "硫", "肥", "善", "龙", "演", "父", "渐", "血", "欢",
15319"械", "掌", "歌", "沙", "刚", "攻", "谓", "盾", "讨", "晚",
15320"粒", "乱", "燃", "矛", "乎", "杀", "药", "宁", "鲁", "贵",
15321"钟", "煤", "读", "班", "伯", "香", "介", "迫", "句", "丰",
15322"培", "握", "兰", "担", "弦", "蛋", "沉", "假", "穿", "执",
15323"答", "乐", "谁", "顺", "烟", "缩", "征", "脸", "喜", "松",
15324"脚", "困", "异", "免", "背", "星", "福", "买", "染", "井",
15325"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "静", "补",
15326"评", "翻", "肉", "践", "尼", "衣", "宽", "扬", "棉", "希",
15327"伤", "操", "垂", "秋", "宜", "氢", "套", "督", "振", "架",
15328"亮", "末", "宪", "庆", "编", "牛", "触", "映", "雷", "销",
15329"诗", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15330"绿", "晶", "厚", "盟", "衡", "鸡", "孙", "延", "危", "胶",
15331"屋", "乡", "临", "陆", "顾", "掉", "呀", "灯", "岁", "措",
15332"束", "耐", "剧", "玉", "赵", "跳", "哥", "季", "课", "凯",
15333"胡", "额", "款", "绍", "卷", "齐", "伟", "蒸", "殖", "永",
15334"宗", "苗", "川", "炉", "岩", "弱", "零", "杨", "奏", "沿",
15335"露", "杆", "探", "滑", "镇", "饭", "浓", "航", "怀", "赶",
15336"库", "夺", "伊", "灵", "税", "途", "灭", "赛", "归", "召",
15337"鼓", "播", "盘", "裁", "险", "康", "唯", "录", "菌", "纯",
15338"借", "糖", "盖", "横", "符", "私", "努", "堂", "域", "枪",
15339"润", "幅", "哈", "竟", "熟", "虫", "泽", "脑", "壤", "碳",
15340"欧", "遍", "侧", "寨", "敢", "彻", "虑", "斜", "薄", "庭",
15341"纳", "弹", "饲", "伸", "折", "麦", "湿", "暗", "荷", "瓦",
15342"塞", "床", "筑", "恶", "户", "访", "塔", "奇", "透", "梁",
15343"刀", "旋", "迹", "卡", "氯", "遇", "份", "毒", "泥", "退",
15344"洗", "摆", "灰", "彩", "卖", "耗", "夏", "择", "忙", "铜",
15345"献", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15346"阵", "阴", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15347"楼", "避", "谋", "吨", "野", "猪", "旗", "累", "偏", "典",
15348"馆", "索", "秦", "脂", "潮", "爷", "豆", "忽", "托", "惊",
15349"塑", "遗", "愈", "朱", "替", "纤", "粗", "倾", "尚", "痛",
15350"楚", "谢", "奋", "购", "磨", "君", "池", "旁", "碎", "骨",
15351"监", "捕", "弟", "暴", "割", "贯", "殊", "释", "词", "亡",
15352"壁", "顿", "宝", "午", "尘", "闻", "揭", "炮", "残", "冬",
15353"桥", "妇", "警", "综", "招", "吴", "付", "浮", "遭", "徐",
15354"您", "摇", "谷", "赞", "箱", "隔", "订", "男", "吹", "园",
15355"纷", "唐", "败", "宋", "玻", "巨", "耕", "坦", "荣", "闭",
15356"湾", "键", "凡", "驻", "锅", "救", "恩", "剥", "凝", "碱",
15357"齿", "截", "炼", "麻", "纺", "禁", "废", "盛", "版", "缓",
15358"净", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15359"庄", "街", "藏", "姑", "贸", "腐", "奴", "啦", "惯", "乘",
15360"伙", "恢", "匀", "纱", "扎", "辩", "耳", "彪", "臣", "亿",
15361"璃", "抵", "脉", "秀", "萨", "俄", "网", "舞", "店", "喷",
15362"纵", "寸", "汗", "挂", "洪", "贺", "闪", "柬", "爆", "烯",
15363"津", "稻", "墙", "软", "勇", "像", "滚", "厘", "蒙", "芳",
15364"肯", "坡", "柱", "荡", "腿", "仪", "旅", "尾", "轧", "冰",
15365"贡", "登", "黎", "削", "钻", "勒", "逃", "障", "氨", "郭",
15366"峰", "币", "港", "伏", "轨", "亩", "毕", "擦", "莫", "刺",
15367"浪", "秘", "援", "株", "健", "售", "股", "岛", "甘", "泡",
15368"睡", "童", "铸", "汤", "阀", "休", "汇", "舍", "牧", "绕",
15369"炸", "哲", "磷", "绩", "朋", "淡", "尖", "启", "陷", "柴",
15370"呈", "徒", "颜", "泪", "稍", "忘", "泵", "蓝", "拖", "洞",
15371"授", "镜", "辛", "壮", "锋", "贫", "虚", "弯", "摩", "泰",
15372"幼", "廷", "尊", "窗", "纲", "弄", "隶", "疑", "氏", "宫",
15373"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "违",
15374"夹", "腰", "缘", "珠", "穷", "森", "枝", "竹", "沟", "催",
15375"绳", "忆", "邦", "剩", "幸", "浆", "栏", "拥", "牙", "贮",
15376"礼", "滤", "钠", "纹", "罢", "拍", "咱", "喊", "袖", "埃",
15377"勤", "罚", "焦", "潜", "伍", "墨", "欲", "缝", "姓", "刊",
15378"饱", "仿", "奖", "铝", "鬼", "丽", "跨", "默", "挖", "链",
15379"扫", "喝", "袋", "炭", "污", "幕", "诸", "弧", "励", "梅",
15380"奶", "洁", "灾", "舟", "鉴", "苯", "讼", "抱", "毁", "懂",
15381"寒", "智", "埔", "寄", "届", "跃", "渡", "挑", "丹", "艰",
15382"贝", "碰", "拔", "爹", "戴", "码", "梦", "芽", "熔", "赤",
15383"渔", "哭", "敬", "颗", "奔", "铅", "仲", "虎", "稀", "妹",
15384"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "仓", "魏",
15385"锐", "晓", "氮", "兼", "隐", "碍", "赫", "拨", "忠", "肃",
15386"缸", "牵", "抢", "博", "巧", "壳", "兄", "杜", "讯", "诚",
15387"碧", "祥", "柯", "页", "巡", "矩", "悲", "灌", "龄", "伦",
15388"票", "寻", "桂", "铺", "圣", "恐", "恰", "郑", "趣", "抬",
15389"荒", "腾", "贴", "柔", "滴", "猛", "阔", "辆", "妻", "填",
15390"撤", "储", "签", "闹", "扰", "紫", "砂", "递", "戏", "吊",
15391"陶", "伐", "喂", "疗", "瓶", "婆", "抚", "臂", "摸", "忍",
15392"虾", "蜡", "邻", "胸", "巩", "挤", "偶", "弃", "槽", "劲",
15393"乳", "邓", "吉", "仁", "烂", "砖", "租", "乌", "舰", "伴",
15394"瓜", "浅", "丙", "暂", "燥", "橡", "柳", "迷", "暖", "牌",
15395"秧", "胆", "详", "簧", "踏", "瓷", "谱", "呆", "宾", "糊",
15396"洛", "辉", "愤", "竞", "隙", "怒", "粘", "乃", "绪", "肩",
15397"籍", "敏", "涂", "熙", "皆", "侦", "悬", "掘", "享", "纠",
15398"醒", "狂", "锁", "淀", "恨", "牲", "霸", "爬", "赏", "逆",
15399"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鸭",
15400"趋", "凤", "晨", "畜", "辈", "秩", "卵", "署", "梯", "炎",
15401"滩", "棋", "驱", "筛", "峡", "冒", "啥", "寿", "译", "浸",
15402"泉", "帽", "迟", "硅", "疆", "贷", "漏", "稿", "冠", "嫩",
15403"胁", "芯", "牢", "叛", "蚀", "奥", "鸣", "岭", "羊", "凭",
15404"串", "塘", "绘", "酵", "融", "盆", "锡", "庙", "筹", "冻",
15405"辅", "摄", "袭", "筋", "拒", "僚", "旱", "钾", "鸟", "漆",
15406"沈", "眉", "疏", "添", "棒", "穗", "硝", "韩", "逼", "扭",
15407"侨", "凉", "挺", "碗", "栽", "炒", "杯", "患", "馏", "劝",
15408"豪", "辽", "勃", "鸿", "旦", "吏", "拜", "狗", "埋", "辊",
15409"掩", "饮", "搬", "骂", "辞", "勾", "扣", "估", "蒋", "绒",
15410"雾", "丈", "朵", "姆", "拟", "宇", "辑", "陕", "雕", "偿",
15411"蓄", "崇", "剪", "倡", "厅", "咬", "驶", "薯", "刷", "斥",
15412"番", "赋", "奉", "佛", "浇", "漫", "曼", "扇", "钙", "桃",
15413"扶", "仔", "返", "俗", "亏", "腔", "鞋", "棱", "覆", "框",
15414"悄", "叔", "撞", "骗", "勘", "旺", "沸", "孤", "吐", "孟",
15415"渠", "屈", "疾", "妙", "惜", "仰", "狠", "胀", "谐", "抛",
15416"霉", "桑", "岗", "嘛", "衰", "盗", "渗", "脏", "赖", "涌",
15417"甜", "曹", "阅", "肌", "哩", "厉", "烃", "纬", "毅", "昨",
15418"伪", "症", "煮", "叹", "钉", "搭", "茎", "笼", "酷", "偷",
15419"弓", "锥", "恒", "杰", "坑", "鼻", "翼", "纶", "叙", "狱",
15420"逮", "罐", "络", "棚", "抑", "膨", "蔬", "寺", "骤", "穆",
15421"冶", "枯", "册", "尸", "凸", "绅", "坯", "牺", "焰", "轰",
15422"欣", "晋", "瘦", "御", "锭", "锦", "丧", "旬", "锻", "垄",
15423"搜", "扑", "邀", "亭", "酯", "迈", "舒", "脆", "酶", "闲",
15424"忧", "酚", "顽", "羽", "涨", "卸", "仗", "陪", "辟", "惩",
15425"杭", "姚", "肚", "捉", "飘", "漂", "昆", "欺", "吾", "郎",
15426"烷", "汁", "呵", "饰", "萧", "雅", "邮", "迁", "燕", "撒",
15427"姻", "赴", "宴", "烦", "债", "帐", "斑", "铃", "旨", "醇",
15428"董", "饼", "雏", "姿", "拌", "傅", "腹", "妥", "揉", "贤",
15429"拆", "歪", "葡", "胺", "丢", "浩", "徽", "昂", "垫", "挡",
15430"览", "贪", "慰", "缴", "汪", "慌", "冯", "诺", "姜", "谊",
15431"凶", "劣", "诬", "耀", "昏", "躺", "盈", "骑", "乔", "溪",
15432"丛", "卢", "抹", "闷", "咨", "刮", "驾", "缆", "悟", "摘",
15433"铒", "掷", "颇", "幻", "柄", "惠", "惨", "佳", "仇", "腊",
15434"窝", "涤", "剑", "瞧", "堡", "泼", "葱", "罩", "霍", "捞",
15435"胎", "苍", "滨", "俩", "捅", "湘", "砍", "霞", "邵", "萄",
15436"疯", "淮", "遂", "熊", "粪", "烘", "宿", "档", "戈", "驳",
15437"嫂", "裕", "徙", "箭", "捐", "肠", "撑", "晒", "辨", "殿",
15438"莲", "摊", "搅", "酱", "屏", "疫", "哀", "蔡", "堵", "沫",
15439"皱", "畅", "叠", "阁", "莱", "敲", "辖", "钩", "痕", "坝",
15440"巷", "饿", "祸", "丘", "玄", "溜", "曰", "逻", "彭", "尝",
15441"卿", "妨", "艇", "吞", "韦", "怨", "矮", "歇" ]
15442</script>
15443 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15444WORDLISTS["chinese_traditional"] = [
15445"的", "一", "是", "在", "不", "了", "有", "和", "人", "這",
15446"中", "大", "為", "上", "個", "國", "我", "以", "要", "他",
15447"時", "來", "用", "們", "生", "到", "作", "地", "於", "出",
15448"就", "分", "對", "成", "會", "可", "主", "發", "年", "動",
15449"同", "工", "也", "能", "下", "過", "子", "說", "產", "種",
15450"面", "而", "方", "後", "多", "定", "行", "學", "法", "所",
15451"民", "得", "經", "十", "三", "之", "進", "著", "等", "部",
15452"度", "家", "電", "力", "裡", "如", "水", "化", "高", "自",
15453"二", "理", "起", "小", "物", "現", "實", "加", "量", "都",
15454"兩", "體", "制", "機", "當", "使", "點", "從", "業", "本",
15455"去", "把", "性", "好", "應", "開", "它", "合", "還", "因",
15456"由", "其", "些", "然", "前", "外", "天", "政", "四", "日",
15457"那", "社", "義", "事", "平", "形", "相", "全", "表", "間",
15458"樣", "與", "關", "各", "重", "新", "線", "內", "數", "正",
15459"心", "反", "你", "明", "看", "原", "又", "麼", "利", "比",
15460"或", "但", "質", "氣", "第", "向", "道", "命", "此", "變",
15461"條", "只", "沒", "結", "解", "問", "意", "建", "月", "公",
15462"無", "系", "軍", "很", "情", "者", "最", "立", "代", "想",
15463"已", "通", "並", "提", "直", "題", "黨", "程", "展", "五",
15464"果", "料", "象", "員", "革", "位", "入", "常", "文", "總",
15465"次", "品", "式", "活", "設", "及", "管", "特", "件", "長",
15466"求", "老", "頭", "基", "資", "邊", "流", "路", "級", "少",
15467"圖", "山", "統", "接", "知", "較", "將", "組", "見", "計",
15468"別", "她", "手", "角", "期", "根", "論", "運", "農", "指",
15469"幾", "九", "區", "強", "放", "決", "西", "被", "幹", "做",
15470"必", "戰", "先", "回", "則", "任", "取", "據", "處", "隊",
15471"南", "給", "色", "光", "門", "即", "保", "治", "北", "造",
15472"百", "規", "熱", "領", "七", "海", "口", "東", "導", "器",
15473"壓", "志", "世", "金", "增", "爭", "濟", "階", "油", "思",
15474"術", "極", "交", "受", "聯", "什", "認", "六", "共", "權",
15475"收", "證", "改", "清", "美", "再", "採", "轉", "更", "單",
15476"風", "切", "打", "白", "教", "速", "花", "帶", "安", "場",
15477"身", "車", "例", "真", "務", "具", "萬", "每", "目", "至",
15478"達", "走", "積", "示", "議", "聲", "報", "鬥", "完", "類",
15479"八", "離", "華", "名", "確", "才", "科", "張", "信", "馬",
15480"節", "話", "米", "整", "空", "元", "況", "今", "集", "溫",
15481"傳", "土", "許", "步", "群", "廣", "石", "記", "需", "段",
15482"研", "界", "拉", "林", "律", "叫", "且", "究", "觀", "越",
15483"織", "裝", "影", "算", "低", "持", "音", "眾", "書", "布",
15484"复", "容", "兒", "須", "際", "商", "非", "驗", "連", "斷",
15485"深", "難", "近", "礦", "千", "週", "委", "素", "技", "備",
15486"半", "辦", "青", "省", "列", "習", "響", "約", "支", "般",
15487"史", "感", "勞", "便", "團", "往", "酸", "歷", "市", "克",
15488"何", "除", "消", "構", "府", "稱", "太", "準", "精", "值",
15489"號", "率", "族", "維", "劃", "選", "標", "寫", "存", "候",
15490"毛", "親", "快", "效", "斯", "院", "查", "江", "型", "眼",
15491"王", "按", "格", "養", "易", "置", "派", "層", "片", "始",
15492"卻", "專", "狀", "育", "廠", "京", "識", "適", "屬", "圓",
15493"包", "火", "住", "調", "滿", "縣", "局", "照", "參", "紅",
15494"細", "引", "聽", "該", "鐵", "價", "嚴", "首", "底", "液",
15495"官", "德", "隨", "病", "蘇", "失", "爾", "死", "講", "配",
15496"女", "黃", "推", "顯", "談", "罪", "神", "藝", "呢", "席",
15497"含", "企", "望", "密", "批", "營", "項", "防", "舉", "球",
15498"英", "氧", "勢", "告", "李", "台", "落", "木", "幫", "輪",
15499"破", "亞", "師", "圍", "注", "遠", "字", "材", "排", "供",
15500"河", "態", "封", "另", "施", "減", "樹", "溶", "怎", "止",
15501"案", "言", "士", "均", "武", "固", "葉", "魚", "波", "視",
15502"僅", "費", "緊", "愛", "左", "章", "早", "朝", "害", "續",
15503"輕", "服", "試", "食", "充", "兵", "源", "判", "護", "司",
15504"足", "某", "練", "差", "致", "板", "田", "降", "黑", "犯",
15505"負", "擊", "范", "繼", "興", "似", "餘", "堅", "曲", "輸",
15506"修", "故", "城", "夫", "夠", "送", "筆", "船", "佔", "右",
15507"財", "吃", "富", "春", "職", "覺", "漢", "畫", "功", "巴",
15508"跟", "雖", "雜", "飛", "檢", "吸", "助", "昇", "陽", "互",
15509"初", "創", "抗", "考", "投", "壞", "策", "古", "徑", "換",
15510"未", "跑", "留", "鋼", "曾", "端", "責", "站", "簡", "述",
15511"錢", "副", "盡", "帝", "射", "草", "衝", "承", "獨", "令",
15512"限", "阿", "宣", "環", "雙", "請", "超", "微", "讓", "控",
15513"州", "良", "軸", "找", "否", "紀", "益", "依", "優", "頂",
15514"礎", "載", "倒", "房", "突", "坐", "粉", "敵", "略", "客",
15515"袁", "冷", "勝", "絕", "析", "塊", "劑", "測", "絲", "協",
15516"訴", "念", "陳", "仍", "羅", "鹽", "友", "洋", "錯", "苦",
15517"夜", "刑", "移", "頻", "逐", "靠", "混", "母", "短", "皮",
15518"終", "聚", "汽", "村", "雲", "哪", "既", "距", "衛", "停",
15519"烈", "央", "察", "燒", "迅", "境", "若", "印", "洲", "刻",
15520"括", "激", "孔", "搞", "甚", "室", "待", "核", "校", "散",
15521"侵", "吧", "甲", "遊", "久", "菜", "味", "舊", "模", "湖",
15522"貨", "損", "預", "阻", "毫", "普", "穩", "乙", "媽", "植",
15523"息", "擴", "銀", "語", "揮", "酒", "守", "拿", "序", "紙",
15524"醫", "缺", "雨", "嗎", "針", "劉", "啊", "急", "唱", "誤",
15525"訓", "願", "審", "附", "獲", "茶", "鮮", "糧", "斤", "孩",
15526"脫", "硫", "肥", "善", "龍", "演", "父", "漸", "血", "歡",
15527"械", "掌", "歌", "沙", "剛", "攻", "謂", "盾", "討", "晚",
15528"粒", "亂", "燃", "矛", "乎", "殺", "藥", "寧", "魯", "貴",
15529"鐘", "煤", "讀", "班", "伯", "香", "介", "迫", "句", "豐",
15530"培", "握", "蘭", "擔", "弦", "蛋", "沉", "假", "穿", "執",
15531"答", "樂", "誰", "順", "煙", "縮", "徵", "臉", "喜", "松",
15532"腳", "困", "異", "免", "背", "星", "福", "買", "染", "井",
15533"概", "慢", "怕", "磁", "倍", "祖", "皇", "促", "靜", "補",
15534"評", "翻", "肉", "踐", "尼", "衣", "寬", "揚", "棉", "希",
15535"傷", "操", "垂", "秋", "宜", "氫", "套", "督", "振", "架",
15536"亮", "末", "憲", "慶", "編", "牛", "觸", "映", "雷", "銷",
15537"詩", "座", "居", "抓", "裂", "胞", "呼", "娘", "景", "威",
15538"綠", "晶", "厚", "盟", "衡", "雞", "孫", "延", "危", "膠",
15539"屋", "鄉", "臨", "陸", "顧", "掉", "呀", "燈", "歲", "措",
15540"束", "耐", "劇", "玉", "趙", "跳", "哥", "季", "課", "凱",
15541"胡", "額", "款", "紹", "卷", "齊", "偉", "蒸", "殖", "永",
15542"宗", "苗", "川", "爐", "岩", "弱", "零", "楊", "奏", "沿",
15543"露", "桿", "探", "滑", "鎮", "飯", "濃", "航", "懷", "趕",
15544"庫", "奪", "伊", "靈", "稅", "途", "滅", "賽", "歸", "召",
15545"鼓", "播", "盤", "裁", "險", "康", "唯", "錄", "菌", "純",
15546"借", "糖", "蓋", "橫", "符", "私", "努", "堂", "域", "槍",
15547"潤", "幅", "哈", "竟", "熟", "蟲", "澤", "腦", "壤", "碳",
15548"歐", "遍", "側", "寨", "敢", "徹", "慮", "斜", "薄", "庭",
15549"納", "彈", "飼", "伸", "折", "麥", "濕", "暗", "荷", "瓦",
15550"塞", "床", "築", "惡", "戶", "訪", "塔", "奇", "透", "梁",
15551"刀", "旋", "跡", "卡", "氯", "遇", "份", "毒", "泥", "退",
15552"洗", "擺", "灰", "彩", "賣", "耗", "夏", "擇", "忙", "銅",
15553"獻", "硬", "予", "繁", "圈", "雪", "函", "亦", "抽", "篇",
15554"陣", "陰", "丁", "尺", "追", "堆", "雄", "迎", "泛", "爸",
15555"樓", "避", "謀", "噸", "野", "豬", "旗", "累", "偏", "典",
15556"館", "索", "秦", "脂", "潮", "爺", "豆", "忽", "托", "驚",
15557"塑", "遺", "愈", "朱", "替", "纖", "粗", "傾", "尚", "痛",
15558"楚", "謝", "奮", "購", "磨", "君", "池", "旁", "碎", "骨",
15559"監", "捕", "弟", "暴", "割", "貫", "殊", "釋", "詞", "亡",
15560"壁", "頓", "寶", "午", "塵", "聞", "揭", "炮", "殘", "冬",
15561"橋", "婦", "警", "綜", "招", "吳", "付", "浮", "遭", "徐",
15562"您", "搖", "谷", "贊", "箱", "隔", "訂", "男", "吹", "園",
15563"紛", "唐", "敗", "宋", "玻", "巨", "耕", "坦", "榮", "閉",
15564"灣", "鍵", "凡", "駐", "鍋", "救", "恩", "剝", "凝", "鹼",
15565"齒", "截", "煉", "麻", "紡", "禁", "廢", "盛", "版", "緩",
15566"淨", "睛", "昌", "婚", "涉", "筒", "嘴", "插", "岸", "朗",
15567"莊", "街", "藏", "姑", "貿", "腐", "奴", "啦", "慣", "乘",
15568"夥", "恢", "勻", "紗", "扎", "辯", "耳", "彪", "臣", "億",
15569"璃", "抵", "脈", "秀", "薩", "俄", "網", "舞", "店", "噴",
15570"縱", "寸", "汗", "掛", "洪", "賀", "閃", "柬", "爆", "烯",
15571"津", "稻", "牆", "軟", "勇", "像", "滾", "厘", "蒙", "芳",
15572"肯", "坡", "柱", "盪", "腿", "儀", "旅", "尾", "軋", "冰",
15573"貢", "登", "黎", "削", "鑽", "勒", "逃", "障", "氨", "郭",
15574"峰", "幣", "港", "伏", "軌", "畝", "畢", "擦", "莫", "刺",
15575"浪", "秘", "援", "株", "健", "售", "股", "島", "甘", "泡",
15576"睡", "童", "鑄", "湯", "閥", "休", "匯", "舍", "牧", "繞",
15577"炸", "哲", "磷", "績", "朋", "淡", "尖", "啟", "陷", "柴",
15578"呈", "徒", "顏", "淚", "稍", "忘", "泵", "藍", "拖", "洞",
15579"授", "鏡", "辛", "壯", "鋒", "貧", "虛", "彎", "摩", "泰",
15580"幼", "廷", "尊", "窗", "綱", "弄", "隸", "疑", "氏", "宮",
15581"姐", "震", "瑞", "怪", "尤", "琴", "循", "描", "膜", "違",
15582"夾", "腰", "緣", "珠", "窮", "森", "枝", "竹", "溝", "催",
15583"繩", "憶", "邦", "剩", "幸", "漿", "欄", "擁", "牙", "貯",
15584"禮", "濾", "鈉", "紋", "罷", "拍", "咱", "喊", "袖", "埃",
15585"勤", "罰", "焦", "潛", "伍", "墨", "欲", "縫", "姓", "刊",
15586"飽", "仿", "獎", "鋁", "鬼", "麗", "跨", "默", "挖", "鏈",
15587"掃", "喝", "袋", "炭", "污", "幕", "諸", "弧", "勵", "梅",
15588"奶", "潔", "災", "舟", "鑑", "苯", "訟", "抱", "毀", "懂",
15589"寒", "智", "埔", "寄", "屆", "躍", "渡", "挑", "丹", "艱",
15590"貝", "碰", "拔", "爹", "戴", "碼", "夢", "芽", "熔", "赤",
15591"漁", "哭", "敬", "顆", "奔", "鉛", "仲", "虎", "稀", "妹",
15592"乏", "珍", "申", "桌", "遵", "允", "隆", "螺", "倉", "魏",
15593"銳", "曉", "氮", "兼", "隱", "礙", "赫", "撥", "忠", "肅",
15594"缸", "牽", "搶", "博", "巧", "殼", "兄", "杜", "訊", "誠",
15595"碧", "祥", "柯", "頁", "巡", "矩", "悲", "灌", "齡", "倫",
15596"票", "尋", "桂", "鋪", "聖", "恐", "恰", "鄭", "趣", "抬",
15597"荒", "騰", "貼", "柔", "滴", "猛", "闊", "輛", "妻", "填",
15598"撤", "儲", "簽", "鬧", "擾", "紫", "砂", "遞", "戲", "吊",
15599"陶", "伐", "餵", "療", "瓶", "婆", "撫", "臂", "摸", "忍",
15600"蝦", "蠟", "鄰", "胸", "鞏", "擠", "偶", "棄", "槽", "勁",
15601"乳", "鄧", "吉", "仁", "爛", "磚", "租", "烏", "艦", "伴",
15602"瓜", "淺", "丙", "暫", "燥", "橡", "柳", "迷", "暖", "牌",
15603"秧", "膽", "詳", "簧", "踏", "瓷", "譜", "呆", "賓", "糊",
15604"洛", "輝", "憤", "競", "隙", "怒", "粘", "乃", "緒", "肩",
15605"籍", "敏", "塗", "熙", "皆", "偵", "懸", "掘", "享", "糾",
15606"醒", "狂", "鎖", "淀", "恨", "牲", "霸", "爬", "賞", "逆",
15607"玩", "陵", "祝", "秒", "浙", "貌", "役", "彼", "悉", "鴨",
15608"趨", "鳳", "晨", "畜", "輩", "秩", "卵", "署", "梯", "炎",
15609"灘", "棋", "驅", "篩", "峽", "冒", "啥", "壽", "譯", "浸",
15610"泉", "帽", "遲", "矽", "疆", "貸", "漏", "稿", "冠", "嫩",
15611"脅", "芯", "牢", "叛", "蝕", "奧", "鳴", "嶺", "羊", "憑",
15612"串", "塘", "繪", "酵", "融", "盆", "錫", "廟", "籌", "凍",
15613"輔", "攝", "襲", "筋", "拒", "僚", "旱", "鉀", "鳥", "漆",
15614"沈", "眉", "疏", "添", "棒", "穗", "硝", "韓", "逼", "扭",
15615"僑", "涼", "挺", "碗", "栽", "炒", "杯", "患", "餾", "勸",
15616"豪", "遼", "勃", "鴻", "旦", "吏", "拜", "狗", "埋", "輥",
15617"掩", "飲", "搬", "罵", "辭", "勾", "扣", "估", "蔣", "絨",
15618"霧", "丈", "朵", "姆", "擬", "宇", "輯", "陝", "雕", "償",
15619"蓄", "崇", "剪", "倡", "廳", "咬", "駛", "薯", "刷", "斥",
15620"番", "賦", "奉", "佛", "澆", "漫", "曼", "扇", "鈣", "桃",
15621"扶", "仔", "返", "俗", "虧", "腔", "鞋", "棱", "覆", "框",
15622"悄", "叔", "撞", "騙", "勘", "旺", "沸", "孤", "吐", "孟",
15623"渠", "屈", "疾", "妙", "惜", "仰", "狠", "脹", "諧", "拋",
15624"黴", "桑", "崗", "嘛", "衰", "盜", "滲", "臟", "賴", "湧",
15625"甜", "曹", "閱", "肌", "哩", "厲", "烴", "緯", "毅", "昨",
15626"偽", "症", "煮", "嘆", "釘", "搭", "莖", "籠", "酷", "偷",
15627"弓", "錐", "恆", "傑", "坑", "鼻", "翼", "綸", "敘", "獄",
15628"逮", "罐", "絡", "棚", "抑", "膨", "蔬", "寺", "驟", "穆",
15629"冶", "枯", "冊", "屍", "凸", "紳", "坯", "犧", "焰", "轟",
15630"欣", "晉", "瘦", "禦", "錠", "錦", "喪", "旬", "鍛", "壟",
15631"搜", "撲", "邀", "亭", "酯", "邁", "舒", "脆", "酶", "閒",
15632"憂", "酚", "頑", "羽", "漲", "卸", "仗", "陪", "闢", "懲",
15633"杭", "姚", "肚", "捉", "飄", "漂", "昆", "欺", "吾", "郎",
15634"烷", "汁", "呵", "飾", "蕭", "雅", "郵", "遷", "燕", "撒",
15635"姻", "赴", "宴", "煩", "債", "帳", "斑", "鈴", "旨", "醇",
15636"董", "餅", "雛", "姿", "拌", "傅", "腹", "妥", "揉", "賢",
15637"拆", "歪", "葡", "胺", "丟", "浩", "徽", "昂", "墊", "擋",
15638"覽", "貪", "慰", "繳", "汪", "慌", "馮", "諾", "姜", "誼",
15639"兇", "劣", "誣", "耀", "昏", "躺", "盈", "騎", "喬", "溪",
15640"叢", "盧", "抹", "悶", "諮", "刮", "駕", "纜", "悟", "摘",
15641"鉺", "擲", "頗", "幻", "柄", "惠", "慘", "佳", "仇", "臘",
15642"窩", "滌", "劍", "瞧", "堡", "潑", "蔥", "罩", "霍", "撈",
15643"胎", "蒼", "濱", "倆", "捅", "湘", "砍", "霞", "邵", "萄",
15644"瘋", "淮", "遂", "熊", "糞", "烘", "宿", "檔", "戈", "駁",
15645"嫂", "裕", "徙", "箭", "捐", "腸", "撐", "曬", "辨", "殿",
15646"蓮", "攤", "攪", "醬", "屏", "疫", "哀", "蔡", "堵", "沫",
15647"皺", "暢", "疊", "閣", "萊", "敲", "轄", "鉤", "痕", "壩",
15648"巷", "餓", "禍", "丘", "玄", "溜", "曰", "邏", "彭", "嘗",
15649"卿", "妨", "艇", "吞", "韋", "怨", "矮", "歇" ]
15650</script>
15651 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15652WORDLISTS["french"] = [
15653"abaisser", "abandon", "abdiquer", "abeille", "abolir", "aborder", "aboutir", "aboyer", "abrasif", "abreuver",
15654"abriter", "abroger", "abrupt", "absence", "absolu", "absurde", "abusif", "abyssal", "académie", "acajou",
15655"acarien", "accabler", "accepter", "acclamer", "accolade", "accroche", "accuser", "acerbe", "achat", "acheter",
15656"aciduler", "acier", "acompte", "acquérir", "acronyme", "acteur", "actif", "actuel", "adepte", "adéquat",
15657"adhésif", "adjectif", "adjuger", "admettre", "admirer", "adopter", "adorer", "adoucir", "adresse", "adroit",
15658"adulte", "adverbe", "aérer", "aéronef", "affaire", "affecter", "affiche", "affreux", "affubler", "agacer",
15659"agencer", "agile", "agiter", "agrafer", "agréable", "agrume", "aider", "aiguille", "ailier", "aimable",
15660"aisance", "ajouter", "ajuster", "alarmer", "alchimie", "alerte", "algèbre", "algue", "aliéner", "aliment",
15661"alléger", "alliage", "allouer", "allumer", "alourdir", "alpaga", "altesse", "alvéole", "amateur", "ambigu",
15662"ambre", "aménager", "amertume", "amidon", "amiral", "amorcer", "amour", "amovible", "amphibie", "ampleur",
15663"amusant", "analyse", "anaphore", "anarchie", "anatomie", "ancien", "anéantir", "angle", "angoisse", "anguleux",
15664"animal", "annexer", "annonce", "annuel", "anodin", "anomalie", "anonyme", "anormal", "antenne", "antidote",
15665"anxieux", "apaiser", "apéritif", "aplanir", "apologie", "appareil", "appeler", "apporter", "appuyer", "aquarium",
15666"aqueduc", "arbitre", "arbuste", "ardeur", "ardoise", "argent", "arlequin", "armature", "armement", "armoire",
15667"armure", "arpenter", "arracher", "arriver", "arroser", "arsenic", "artériel", "article", "aspect", "asphalte",
15668"aspirer", "assaut", "asservir", "assiette", "associer", "assurer", "asticot", "astre", "astuce", "atelier",
15669"atome", "atrium", "atroce", "attaque", "attentif", "attirer", "attraper", "aubaine", "auberge", "audace",
15670"audible", "augurer", "aurore", "automne", "autruche", "avaler", "avancer", "avarice", "avenir", "averse",
15671"aveugle", "aviateur", "avide", "avion", "aviser", "avoine", "avouer", "avril", "axial", "axiome",
15672"badge", "bafouer", "bagage", "baguette", "baignade", "balancer", "balcon", "baleine", "balisage", "bambin",
15673"bancaire", "bandage", "banlieue", "bannière", "banquier", "barbier", "baril", "baron", "barque", "barrage",
15674"bassin", "bastion", "bataille", "bateau", "batterie", "baudrier", "bavarder", "belette", "bélier", "belote",
15675"bénéfice", "berceau", "berger", "berline", "bermuda", "besace", "besogne", "bétail", "beurre", "biberon",
15676"bicycle", "bidule", "bijou", "bilan", "bilingue", "billard", "binaire", "biologie", "biopsie", "biotype",
15677"biscuit", "bison", "bistouri", "bitume", "bizarre", "blafard", "blague", "blanchir", "blessant", "blinder",
15678"blond", "bloquer", "blouson", "bobard", "bobine", "boire", "boiser", "bolide", "bonbon", "bondir",
15679"bonheur", "bonifier", "bonus", "bordure", "borne", "botte", "boucle", "boueux", "bougie", "boulon",
15680"bouquin", "bourse", "boussole", "boutique", "boxeur", "branche", "brasier", "brave", "brebis", "brèche",
15681"breuvage", "bricoler", "brigade", "brillant", "brioche", "brique", "brochure", "broder", "bronzer", "brousse",
15682"broyeur", "brume", "brusque", "brutal", "bruyant", "buffle", "buisson", "bulletin", "bureau", "burin",
15683"bustier", "butiner", "butoir", "buvable", "buvette", "cabanon", "cabine", "cachette", "cadeau", "cadre",
15684"caféine", "caillou", "caisson", "calculer", "calepin", "calibre", "calmer", "calomnie", "calvaire", "camarade",
15685"caméra", "camion", "campagne", "canal", "caneton", "canon", "cantine", "canular", "capable", "caporal",
15686"caprice", "capsule", "capter", "capuche", "carabine", "carbone", "caresser", "caribou", "carnage", "carotte",
15687"carreau", "carton", "cascade", "casier", "casque", "cassure", "causer", "caution", "cavalier", "caverne",
15688"caviar", "cédille", "ceinture", "céleste", "cellule", "cendrier", "censurer", "central", "cercle", "cérébral",
15689"cerise", "cerner", "cerveau", "cesser", "chagrin", "chaise", "chaleur", "chambre", "chance", "chapitre",
15690"charbon", "chasseur", "chaton", "chausson", "chavirer", "chemise", "chenille", "chéquier", "chercher", "cheval",
15691"chien", "chiffre", "chignon", "chimère", "chiot", "chlorure", "chocolat", "choisir", "chose", "chouette",
15692"chrome", "chute", "cigare", "cigogne", "cimenter", "cinéma", "cintrer", "circuler", "cirer", "cirque",
15693"citerne", "citoyen", "citron", "civil", "clairon", "clameur", "claquer", "classe", "clavier", "client",
15694"cligner", "climat", "clivage", "cloche", "clonage", "cloporte", "cobalt", "cobra", "cocasse", "cocotier",
15695"coder", "codifier", "coffre", "cogner", "cohésion", "coiffer", "coincer", "colère", "colibri", "colline",
15696"colmater", "colonel", "combat", "comédie", "commande", "compact", "concert", "conduire", "confier", "congeler",
15697"connoter", "consonne", "contact", "convexe", "copain", "copie", "corail", "corbeau", "cordage", "corniche",
15698"corpus", "correct", "cortège", "cosmique", "costume", "coton", "coude", "coupure", "courage", "couteau",
15699"couvrir", "coyote", "crabe", "crainte", "cravate", "crayon", "créature", "créditer", "crémeux", "creuser",
15700"crevette", "cribler", "crier", "cristal", "critère", "croire", "croquer", "crotale", "crucial", "cruel",
15701"crypter", "cubique", "cueillir", "cuillère", "cuisine", "cuivre", "culminer", "cultiver", "cumuler", "cupide",
15702"curatif", "curseur", "cyanure", "cycle", "cylindre", "cynique", "daigner", "damier", "danger", "danseur",
15703"dauphin", "débattre", "débiter", "déborder", "débrider", "débutant", "décaler", "décembre", "déchirer", "décider",
15704"déclarer", "décorer", "décrire", "décupler", "dédale", "déductif", "déesse", "défensif", "défiler", "défrayer",
15705"dégager", "dégivrer", "déglutir", "dégrafer", "déjeuner", "délice", "déloger", "demander", "demeurer", "démolir",
15706"dénicher", "dénouer", "dentelle", "dénuder", "départ", "dépenser", "déphaser", "déplacer", "déposer", "déranger",
15707"dérober", "désastre", "descente", "désert", "désigner", "désobéir", "dessiner", "destrier", "détacher", "détester",
15708"détourer", "détresse", "devancer", "devenir", "deviner", "devoir", "diable", "dialogue", "diamant", "dicter",
15709"différer", "digérer", "digital", "digne", "diluer", "dimanche", "diminuer", "dioxyde", "directif", "diriger",
15710"discuter", "disposer", "dissiper", "distance", "divertir", "diviser", "docile", "docteur", "dogme", "doigt",
15711"domaine", "domicile", "dompter", "donateur", "donjon", "donner", "dopamine", "dortoir", "dorure", "dosage",
15712"doseur", "dossier", "dotation", "douanier", "double", "douceur", "douter", "doyen", "dragon", "draper",
15713"dresser", "dribbler", "droiture", "duperie", "duplexe", "durable", "durcir", "dynastie", "éblouir", "écarter",
15714"écharpe", "échelle", "éclairer", "éclipse", "éclore", "écluse", "école", "économie", "écorce", "écouter",
15715"écraser", "écrémer", "écrivain", "écrou", "écume", "écureuil", "édifier", "éduquer", "effacer", "effectif",
15716"effigie", "effort", "effrayer", "effusion", "égaliser", "égarer", "éjecter", "élaborer", "élargir", "électron",
15717"élégant", "éléphant", "élève", "éligible", "élitisme", "éloge", "élucider", "éluder", "emballer", "embellir",
15718"embryon", "émeraude", "émission", "emmener", "émotion", "émouvoir", "empereur", "employer", "emporter", "emprise",
15719"émulsion", "encadrer", "enchère", "enclave", "encoche", "endiguer", "endosser", "endroit", "enduire", "énergie",
15720"enfance", "enfermer", "enfouir", "engager", "engin", "englober", "énigme", "enjamber", "enjeu", "enlever",
15721"ennemi", "ennuyeux", "enrichir", "enrobage", "enseigne", "entasser", "entendre", "entier", "entourer", "entraver",
15722"énumérer", "envahir", "enviable", "envoyer", "enzyme", "éolien", "épaissir", "épargne", "épatant", "épaule",
15723"épicerie", "épidémie", "épier", "épilogue", "épine", "épisode", "épitaphe", "époque", "épreuve", "éprouver",
15724"épuisant", "équerre", "équipe", "ériger", "érosion", "erreur", "éruption", "escalier", "espadon", "espèce",
15725"espiègle", "espoir", "esprit", "esquiver", "essayer", "essence", "essieu", "essorer", "estime", "estomac",
15726"estrade", "étagère", "étaler", "étanche", "étatique", "éteindre", "étendoir", "éternel", "éthanol", "éthique",
15727"ethnie", "étirer", "étoffer", "étoile", "étonnant", "étourdir", "étrange", "étroit", "étude", "euphorie",
15728"évaluer", "évasion", "éventail", "évidence", "éviter", "évolutif", "évoquer", "exact", "exagérer", "exaucer",
15729"exceller", "excitant", "exclusif", "excuse", "exécuter", "exemple", "exercer", "exhaler", "exhorter", "exigence",
15730"exiler", "exister", "exotique", "expédier", "explorer", "exposer", "exprimer", "exquis", "extensif", "extraire",
15731"exulter", "fable", "fabuleux", "facette", "facile", "facture", "faiblir", "falaise", "fameux", "famille",
15732"farceur", "farfelu", "farine", "farouche", "fasciner", "fatal", "fatigue", "faucon", "fautif", "faveur",
15733"favori", "fébrile", "féconder", "fédérer", "félin", "femme", "fémur", "fendoir", "féodal", "fermer",
15734"féroce", "ferveur", "festival", "feuille", "feutre", "février", "fiasco", "ficeler", "fictif", "fidèle",
15735"figure", "filature", "filetage", "filière", "filleul", "filmer", "filou", "filtrer", "financer", "finir",
15736"fiole", "firme", "fissure", "fixer", "flairer", "flamme", "flasque", "flatteur", "fléau", "flèche",
15737"fleur", "flexion", "flocon", "flore", "fluctuer", "fluide", "fluvial", "folie", "fonderie", "fongible",
15738"fontaine", "forcer", "forgeron", "formuler", "fortune", "fossile", "foudre", "fougère", "fouiller", "foulure",
15739"fourmi", "fragile", "fraise", "franchir", "frapper", "frayeur", "frégate", "freiner", "frelon", "frémir",
15740"frénésie", "frère", "friable", "friction", "frisson", "frivole", "froid", "fromage", "frontal", "frotter",
15741"fruit", "fugitif", "fuite", "fureur", "furieux", "furtif", "fusion", "futur", "gagner", "galaxie",
15742"galerie", "gambader", "garantir", "gardien", "garnir", "garrigue", "gazelle", "gazon", "géant", "gélatine",
15743"gélule", "gendarme", "général", "génie", "genou", "gentil", "géologie", "géomètre", "géranium", "germe",
15744"gestuel", "geyser", "gibier", "gicler", "girafe", "givre", "glace", "glaive", "glisser", "globe",
15745"gloire", "glorieux", "golfeur", "gomme", "gonfler", "gorge", "gorille", "goudron", "gouffre", "goulot",
15746"goupille", "gourmand", "goutte", "graduel", "graffiti", "graine", "grand", "grappin", "gratuit", "gravir",
15747"grenat", "griffure", "griller", "grimper", "grogner", "gronder", "grotte", "groupe", "gruger", "grutier",
15748"gruyère", "guépard", "guerrier", "guide", "guimauve", "guitare", "gustatif", "gymnaste", "gyrostat", "habitude",
15749"hachoir", "halte", "hameau", "hangar", "hanneton", "haricot", "harmonie", "harpon", "hasard", "hélium",
15750"hématome", "herbe", "hérisson", "hermine", "héron", "hésiter", "heureux", "hiberner", "hibou", "hilarant",
15751"histoire", "hiver", "homard", "hommage", "homogène", "honneur", "honorer", "honteux", "horde", "horizon",
15752"horloge", "hormone", "horrible", "houleux", "housse", "hublot", "huileux", "humain", "humble", "humide",
15753"humour", "hurler", "hydromel", "hygiène", "hymne", "hypnose", "idylle", "ignorer", "iguane", "illicite",
15754"illusion", "image", "imbiber", "imiter", "immense", "immobile", "immuable", "impact", "impérial", "implorer",
15755"imposer", "imprimer", "imputer", "incarner", "incendie", "incident", "incliner", "incolore", "indexer", "indice",
15756"inductif", "inédit", "ineptie", "inexact", "infini", "infliger", "informer", "infusion", "ingérer", "inhaler",
15757"inhiber", "injecter", "injure", "innocent", "inoculer", "inonder", "inscrire", "insecte", "insigne", "insolite",
15758"inspirer", "instinct", "insulter", "intact", "intense", "intime", "intrigue", "intuitif", "inutile", "invasion",
15759"inventer", "inviter", "invoquer", "ironique", "irradier", "irréel", "irriter", "isoler", "ivoire", "ivresse",
15760"jaguar", "jaillir", "jambe", "janvier", "jardin", "jauger", "jaune", "javelot", "jetable", "jeton",
15761"jeudi", "jeunesse", "joindre", "joncher", "jongler", "joueur", "jouissif", "journal", "jovial", "joyau",
15762"joyeux", "jubiler", "jugement", "junior", "jupon", "juriste", "justice", "juteux", "juvénile", "kayak",
15763"kimono", "kiosque", "label", "labial", "labourer", "lacérer", "lactose", "lagune", "laine", "laisser",
15764"laitier", "lambeau", "lamelle", "lampe", "lanceur", "langage", "lanterne", "lapin", "largeur", "larme",
15765"laurier", "lavabo", "lavoir", "lecture", "légal", "léger", "légume", "lessive", "lettre", "levier",
15766"lexique", "lézard", "liasse", "libérer", "libre", "licence", "licorne", "liège", "lièvre", "ligature",
15767"ligoter", "ligue", "limer", "limite", "limonade", "limpide", "linéaire", "lingot", "lionceau", "liquide",
15768"lisière", "lister", "lithium", "litige", "littoral", "livreur", "logique", "lointain", "loisir", "lombric",
15769"loterie", "louer", "lourd", "loutre", "louve", "loyal", "lubie", "lucide", "lucratif", "lueur",
15770"lugubre", "luisant", "lumière", "lunaire", "lundi", "luron", "lutter", "luxueux", "machine", "magasin",
15771"magenta", "magique", "maigre", "maillon", "maintien", "mairie", "maison", "majorer", "malaxer", "maléfice",
15772"malheur", "malice", "mallette", "mammouth", "mandater", "maniable", "manquant", "manteau", "manuel", "marathon",
15773"marbre", "marchand", "mardi", "maritime", "marqueur", "marron", "marteler", "mascotte", "massif", "matériel",
15774"matière", "matraque", "maudire", "maussade", "mauve", "maximal", "méchant", "méconnu", "médaille", "médecin",
15775"méditer", "méduse", "meilleur", "mélange", "mélodie", "membre", "mémoire", "menacer", "mener", "menhir",
15776"mensonge", "mentor", "mercredi", "mérite", "merle", "messager", "mesure", "métal", "météore", "méthode",
15777"métier", "meuble", "miauler", "microbe", "miette", "mignon", "migrer", "milieu", "million", "mimique",
15778"mince", "minéral", "minimal", "minorer", "minute", "miracle", "miroiter", "missile", "mixte", "mobile",
15779"moderne", "moelleux", "mondial", "moniteur", "monnaie", "monotone", "monstre", "montagne", "monument", "moqueur",
15780"morceau", "morsure", "mortier", "moteur", "motif", "mouche", "moufle", "moulin", "mousson", "mouton",
15781"mouvant", "multiple", "munition", "muraille", "murène", "murmure", "muscle", "muséum", "musicien", "mutation",
15782"muter", "mutuel", "myriade", "myrtille", "mystère", "mythique", "nageur", "nappe", "narquois", "narrer",
15783"natation", "nation", "nature", "naufrage", "nautique", "navire", "nébuleux", "nectar", "néfaste", "négation",
15784"négliger", "négocier", "neige", "nerveux", "nettoyer", "neurone", "neutron", "neveu", "niche", "nickel",
15785"nitrate", "niveau", "noble", "nocif", "nocturne", "noirceur", "noisette", "nomade", "nombreux", "nommer",
15786"normatif", "notable", "notifier", "notoire", "nourrir", "nouveau", "novateur", "novembre", "novice", "nuage",
15787"nuancer", "nuire", "nuisible", "numéro", "nuptial", "nuque", "nutritif", "obéir", "objectif", "obliger",
15788"obscur", "observer", "obstacle", "obtenir", "obturer", "occasion", "occuper", "océan", "octobre", "octroyer",
15789"octupler", "oculaire", "odeur", "odorant", "offenser", "officier", "offrir", "ogive", "oiseau", "oisillon",
15790"olfactif", "olivier", "ombrage", "omettre", "onctueux", "onduler", "onéreux", "onirique", "opale", "opaque",
15791"opérer", "opinion", "opportun", "opprimer", "opter", "optique", "orageux", "orange", "orbite", "ordonner",
15792"oreille", "organe", "orgueil", "orifice", "ornement", "orque", "ortie", "osciller", "osmose", "ossature",
15793"otarie", "ouragan", "ourson", "outil", "outrager", "ouvrage", "ovation", "oxyde", "oxygène", "ozone",
15794"paisible", "palace", "palmarès", "palourde", "palper", "panache", "panda", "pangolin", "paniquer", "panneau",
15795"panorama", "pantalon", "papaye", "papier", "papoter", "papyrus", "paradoxe", "parcelle", "paresse", "parfumer",
15796"parler", "parole", "parrain", "parsemer", "partager", "parure", "parvenir", "passion", "pastèque", "paternel",
15797"patience", "patron", "pavillon", "pavoiser", "payer", "paysage", "peigne", "peintre", "pelage", "pélican",
15798"pelle", "pelouse", "peluche", "pendule", "pénétrer", "pénible", "pensif", "pénurie", "pépite", "péplum",
15799"perdrix", "perforer", "période", "permuter", "perplexe", "persil", "perte", "peser", "pétale", "petit",
15800"pétrir", "peuple", "pharaon", "phobie", "phoque", "photon", "phrase", "physique", "piano", "pictural",
15801"pièce", "pierre", "pieuvre", "pilote", "pinceau", "pipette", "piquer", "pirogue", "piscine", "piston",
15802"pivoter", "pixel", "pizza", "placard", "plafond", "plaisir", "planer", "plaque", "plastron", "plateau",
15803"pleurer", "plexus", "pliage", "plomb", "plonger", "pluie", "plumage", "pochette", "poésie", "poète",
15804"pointe", "poirier", "poisson", "poivre", "polaire", "policier", "pollen", "polygone", "pommade", "pompier",
15805"ponctuel", "pondérer", "poney", "portique", "position", "posséder", "posture", "potager", "poteau", "potion",
15806"pouce", "poulain", "poumon", "pourpre", "poussin", "pouvoir", "prairie", "pratique", "précieux", "prédire",
15807"préfixe", "prélude", "prénom", "présence", "prétexte", "prévoir", "primitif", "prince", "prison", "priver",
15808"problème", "procéder", "prodige", "profond", "progrès", "proie", "projeter", "prologue", "promener", "propre",
15809"prospère", "protéger", "prouesse", "proverbe", "prudence", "pruneau", "psychose", "public", "puceron", "puiser",
15810"pulpe", "pulsar", "punaise", "punitif", "pupitre", "purifier", "puzzle", "pyramide", "quasar", "querelle",
15811"question", "quiétude", "quitter", "quotient", "racine", "raconter", "radieux", "ragondin", "raideur", "raisin",
15812"ralentir", "rallonge", "ramasser", "rapide", "rasage", "ratisser", "ravager", "ravin", "rayonner", "réactif",
15813"réagir", "réaliser", "réanimer", "recevoir", "réciter", "réclamer", "récolter", "recruter", "reculer", "recycler",
15814"rédiger", "redouter", "refaire", "réflexe", "réformer", "refrain", "refuge", "régalien", "région", "réglage",
15815"régulier", "réitérer", "rejeter", "rejouer", "relatif", "relever", "relief", "remarque", "remède", "remise",
15816"remonter", "remplir", "remuer", "renard", "renfort", "renifler", "renoncer", "rentrer", "renvoi", "replier",
15817"reporter", "reprise", "reptile", "requin", "réserve", "résineux", "résoudre", "respect", "rester", "résultat",
15818"rétablir", "retenir", "réticule", "retomber", "retracer", "réunion", "réussir", "revanche", "revivre", "révolte",
15819"révulsif", "richesse", "rideau", "rieur", "rigide", "rigoler", "rincer", "riposter", "risible", "risque",
15820"rituel", "rival", "rivière", "rocheux", "romance", "rompre", "ronce", "rondin", "roseau", "rosier",
15821"rotatif", "rotor", "rotule", "rouge", "rouille", "rouleau", "routine", "royaume", "ruban", "rubis",
15822"ruche", "ruelle", "rugueux", "ruiner", "ruisseau", "ruser", "rustique", "rythme", "sabler", "saboter",
15823"sabre", "sacoche", "safari", "sagesse", "saisir", "salade", "salive", "salon", "saluer", "samedi",
15824"sanction", "sanglier", "sarcasme", "sardine", "saturer", "saugrenu", "saumon", "sauter", "sauvage", "savant",
15825"savonner", "scalpel", "scandale", "scélérat", "scénario", "sceptre", "schéma", "science", "scinder", "score",
15826"scrutin", "sculpter", "séance", "sécable", "sécher", "secouer", "sécréter", "sédatif", "séduire", "seigneur",
15827"séjour", "sélectif", "semaine", "sembler", "semence", "séminal", "sénateur", "sensible", "sentence", "séparer",
15828"séquence", "serein", "sergent", "sérieux", "serrure", "sérum", "service", "sésame", "sévir", "sevrage",
15829"sextuple", "sidéral", "siècle", "siéger", "siffler", "sigle", "signal", "silence", "silicium", "simple",
15830"sincère", "sinistre", "siphon", "sirop", "sismique", "situer", "skier", "social", "socle", "sodium",
15831"soigneux", "soldat", "soleil", "solitude", "soluble", "sombre", "sommeil", "somnoler", "sonde", "songeur",
15832"sonnette", "sonore", "sorcier", "sortir", "sosie", "sottise", "soucieux", "soudure", "souffle", "soulever",
15833"soupape", "source", "soutirer", "souvenir", "spacieux", "spatial", "spécial", "sphère", "spiral", "stable",
15834"station", "sternum", "stimulus", "stipuler", "strict", "studieux", "stupeur", "styliste", "sublime", "substrat",
15835"subtil", "subvenir", "succès", "sucre", "suffixe", "suggérer", "suiveur", "sulfate", "superbe", "supplier",
15836"surface", "suricate", "surmener", "surprise", "sursaut", "survie", "suspect", "syllabe", "symbole", "symétrie",
15837"synapse", "syntaxe", "système", "tabac", "tablier", "tactile", "tailler", "talent", "talisman", "talonner",
15838"tambour", "tamiser", "tangible", "tapis", "taquiner", "tarder", "tarif", "tartine", "tasse", "tatami",
15839"tatouage", "taupe", "taureau", "taxer", "témoin", "temporel", "tenaille", "tendre", "teneur", "tenir",
15840"tension", "terminer", "terne", "terrible", "tétine", "texte", "thème", "théorie", "thérapie", "thorax",
15841"tibia", "tiède", "timide", "tirelire", "tiroir", "tissu", "titane", "titre", "tituber", "toboggan",
15842"tolérant", "tomate", "tonique", "tonneau", "toponyme", "torche", "tordre", "tornade", "torpille", "torrent",
15843"torse", "tortue", "totem", "toucher", "tournage", "tousser", "toxine", "traction", "trafic", "tragique",
15844"trahir", "train", "trancher", "travail", "trèfle", "tremper", "trésor", "treuil", "triage", "tribunal",
15845"tricoter", "trilogie", "triomphe", "tripler", "triturer", "trivial", "trombone", "tronc", "tropical", "troupeau",
15846"tuile", "tulipe", "tumulte", "tunnel", "turbine", "tuteur", "tutoyer", "tuyau", "tympan", "typhon",
15847"typique", "tyran", "ubuesque", "ultime", "ultrason", "unanime", "unifier", "union", "unique", "unitaire",
15848"univers", "uranium", "urbain", "urticant", "usage", "usine", "usuel", "usure", "utile", "utopie",
15849"vacarme", "vaccin", "vagabond", "vague", "vaillant", "vaincre", "vaisseau", "valable", "valise", "vallon",
15850"valve", "vampire", "vanille", "vapeur", "varier", "vaseux", "vassal", "vaste", "vecteur", "vedette",
15851"végétal", "véhicule", "veinard", "véloce", "vendredi", "vénérer", "venger", "venimeux", "ventouse", "verdure",
15852"vérin", "vernir", "verrou", "verser", "vertu", "veston", "vétéran", "vétuste", "vexant", "vexer",
15853"viaduc", "viande", "victoire", "vidange", "vidéo", "vignette", "vigueur", "vilain", "village", "vinaigre",
15854"violon", "vipère", "virement", "virtuose", "virus", "visage", "viseur", "vision", "visqueux", "visuel",
15855"vital", "vitesse", "viticole", "vitrine", "vivace", "vivipare", "vocation", "voguer", "voile", "voisin",
15856"voiture", "volaille", "volcan", "voltiger", "volume", "vorace", "vortex", "voter", "vouloir", "voyage",
15857"voyelle", "wagon", "xénon", "yacht", "zèbre", "zénith", "zeste", "zoologie"]
15858</script>
15859 <script>WORDLISTS = typeof WORDLISTS == "undefined" ? {} : WORDLISTS;
15860WORDLISTS["italian"] = [
15861"abaco", "abbaglio", "abbinato", "abete", "abisso", "abolire", "abrasivo", "abrogato", "accadere", "accenno",
15862"accusato", "acetone", "achille", "acido", "acqua", "acre", "acrilico", "acrobata", "acuto", "adagio",
15863"addebito", "addome", "adeguato", "aderire", "adipe", "adottare", "adulare", "affabile", "affetto", "affisso",
15864"affranto", "aforisma", "afoso", "africano", "agave", "agente", "agevole", "aggancio", "agire", "agitare",
15865"agonismo", "agricolo", "agrumeto", "aguzzo", "alabarda", "alato", "albatro", "alberato", "albo", "albume",
15866"alce", "alcolico", "alettone", "alfa", "algebra", "aliante", "alibi", "alimento", "allagato", "allegro",
15867"allievo", "allodola", "allusivo", "almeno", "alogeno", "alpaca", "alpestre", "altalena", "alterno", "alticcio",
15868"altrove", "alunno", "alveolo", "alzare", "amalgama", "amanita", "amarena", "ambito", "ambrato", "ameba",
15869"america", "ametista", "amico", "ammasso", "ammenda", "ammirare", "ammonito", "amore", "ampio", "ampliare",
15870"amuleto", "anacardo", "anagrafe", "analista", "anarchia", "anatra", "anca", "ancella", "ancora", "andare",
15871"andrea", "anello", "angelo", "angolare", "angusto", "anima", "annegare", "annidato", "anno", "annuncio",
15872"anonimo", "anticipo", "anzi", "apatico", "apertura", "apode", "apparire", "appetito", "appoggio", "approdo",
15873"appunto", "aprile", "arabica", "arachide", "aragosta", "araldica", "arancio", "aratura", "arazzo", "arbitro",
15874"archivio", "ardito", "arenile", "argento", "argine", "arguto", "aria", "armonia", "arnese", "arredato",
15875"arringa", "arrosto", "arsenico", "arso", "artefice", "arzillo", "asciutto", "ascolto", "asepsi", "asettico",
15876"asfalto", "asino", "asola", "aspirato", "aspro", "assaggio", "asse", "assoluto", "assurdo", "asta",
15877"astenuto", "astice", "astratto", "atavico", "ateismo", "atomico", "atono", "attesa", "attivare", "attorno",
15878"attrito", "attuale", "ausilio", "austria", "autista", "autonomo", "autunno", "avanzato", "avere", "avvenire",
15879"avviso", "avvolgere", "azione", "azoto", "azzimo", "azzurro", "babele", "baccano", "bacino", "baco",
15880"badessa", "badilata", "bagnato", "baita", "balcone", "baldo", "balena", "ballata", "balzano", "bambino",
15881"bandire", "baraonda", "barbaro", "barca", "baritono", "barlume", "barocco", "basilico", "basso", "batosta",
15882"battuto", "baule", "bava", "bavosa", "becco", "beffa", "belgio", "belva", "benda", "benevole",
15883"benigno", "benzina", "bere", "berlina", "beta", "bibita", "bici", "bidone", "bifido", "biga",
15884"bilancia", "bimbo", "binocolo", "biologo", "bipede", "bipolare", "birbante", "birra", "biscotto", "bisesto",
15885"bisnonno", "bisonte", "bisturi", "bizzarro", "blando", "blatta", "bollito", "bonifico", "bordo", "bosco",
15886"botanico", "bottino", "bozzolo", "braccio", "bradipo", "brama", "branca", "bravura", "bretella", "brevetto",
15887"brezza", "briglia", "brillante", "brindare", "broccolo", "brodo", "bronzina", "brullo", "bruno", "bubbone",
15888"buca", "budino", "buffone", "buio", "bulbo", "buono", "burlone", "burrasca", "bussola", "busta",
15889"cadetto", "caduco", "calamaro", "calcolo", "calesse", "calibro", "calmo", "caloria", "cambusa", "camerata",
15890"camicia", "cammino", "camola", "campale", "canapa", "candela", "cane", "canino", "canotto", "cantina",
15891"capace", "capello", "capitolo", "capogiro", "cappero", "capra", "capsula", "carapace", "carcassa", "cardo",
15892"carisma", "carovana", "carretto", "cartolina", "casaccio", "cascata", "caserma", "caso", "cassone", "castello",
15893"casuale", "catasta", "catena", "catrame", "cauto", "cavillo", "cedibile", "cedrata", "cefalo", "celebre",
15894"cellulare", "cena", "cenone", "centesimo", "ceramica", "cercare", "certo", "cerume", "cervello", "cesoia",
15895"cespo", "ceto", "chela", "chiaro", "chicca", "chiedere", "chimera", "china", "chirurgo", "chitarra",
15896"ciao", "ciclismo", "cifrare", "cigno", "cilindro", "ciottolo", "circa", "cirrosi", "citrico", "cittadino",
15897"ciuffo", "civetta", "civile", "classico", "clinica", "cloro", "cocco", "codardo", "codice", "coerente",
15898"cognome", "collare", "colmato", "colore", "colposo", "coltivato", "colza", "coma", "cometa", "commando",
15899"comodo", "computer", "comune", "conciso", "condurre", "conferma", "congelare", "coniuge", "connesso", "conoscere",
15900"consumo", "continuo", "convegno", "coperto", "copione", "coppia", "copricapo", "corazza", "cordata", "coricato",
15901"cornice", "corolla", "corpo", "corredo", "corsia", "cortese", "cosmico", "costante", "cottura", "covato",
15902"cratere", "cravatta", "creato", "credere", "cremoso", "crescita", "creta", "criceto", "crinale", "crisi",
15903"critico", "croce", "cronaca", "crostata", "cruciale", "crusca", "cucire", "cuculo", "cugino", "cullato",
15904"cupola", "curatore", "cursore", "curvo", "cuscino", "custode", "dado", "daino", "dalmata", "damerino",
15905"daniela", "dannoso", "danzare", "datato", "davanti", "davvero", "debutto", "decennio", "deciso", "declino",
15906"decollo", "decreto", "dedicato", "definito", "deforme", "degno", "delegare", "delfino", "delirio", "delta",
15907"demenza", "denotato", "dentro", "deposito", "derapata", "derivare", "deroga", "descritto", "deserto", "desiderio",
15908"desumere", "detersivo", "devoto", "diametro", "dicembre", "diedro", "difeso", "diffuso", "digerire", "digitale",
15909"diluvio", "dinamico", "dinnanzi", "dipinto", "diploma", "dipolo", "diradare", "dire", "dirotto", "dirupo",
15910"disagio", "discreto", "disfare", "disgelo", "disposto", "distanza", "disumano", "dito", "divano", "divelto",
15911"dividere", "divorato", "doblone", "docente", "doganale", "dogma", "dolce", "domato", "domenica", "dominare",
15912"dondolo", "dono", "dormire", "dote", "dottore", "dovuto", "dozzina", "drago", "druido", "dubbio",
15913"dubitare", "ducale", "duna", "duomo", "duplice", "duraturo", "ebano", "eccesso", "ecco", "eclissi",
15914"economia", "edera", "edicola", "edile", "editoria", "educare", "egemonia", "egli", "egoismo", "egregio",
15915"elaborato", "elargire", "elegante", "elencato", "eletto", "elevare", "elfico", "elica", "elmo", "elsa",
15916"eluso", "emanato", "emblema", "emesso", "emiro", "emotivo", "emozione", "empirico", "emulo", "endemico",
15917"enduro", "energia", "enfasi", "enoteca", "entrare", "enzima", "epatite", "epilogo", "episodio", "epocale",
15918"eppure", "equatore", "erario", "erba", "erboso", "erede", "eremita", "erigere", "ermetico", "eroe",
15919"erosivo", "errante", "esagono", "esame", "esanime", "esaudire", "esca", "esempio", "esercito", "esibito",
15920"esigente", "esistere", "esito", "esofago", "esortato", "esoso", "espanso", "espresso", "essenza", "esso",
15921"esteso", "estimare", "estonia", "estroso", "esultare", "etilico", "etnico", "etrusco", "etto", "euclideo",
15922"europa", "evaso", "evidenza", "evitato", "evoluto", "evviva", "fabbrica", "faccenda", "fachiro", "falco",
15923"famiglia", "fanale", "fanfara", "fango", "fantasma", "fare", "farfalla", "farinoso", "farmaco", "fascia",
15924"fastoso", "fasullo", "faticare", "fato", "favoloso", "febbre", "fecola", "fede", "fegato", "felpa",
15925"feltro", "femmina", "fendere", "fenomeno", "fermento", "ferro", "fertile", "fessura", "festivo", "fetta",
15926"feudo", "fiaba", "fiducia", "fifa", "figurato", "filo", "finanza", "finestra", "finire", "fiore",
15927"fiscale", "fisico", "fiume", "flacone", "flamenco", "flebo", "flemma", "florido", "fluente", "fluoro",
15928"fobico", "focaccia", "focoso", "foderato", "foglio", "folata", "folclore", "folgore", "fondente", "fonetico",
15929"fonia", "fontana", "forbito", "forchetta", "foresta", "formica", "fornaio", "foro", "fortezza", "forzare",
15930"fosfato", "fosso", "fracasso", "frana", "frassino", "fratello", "freccetta", "frenata", "fresco", "frigo",
15931"frollino", "fronde", "frugale", "frutta", "fucilata", "fucsia", "fuggente", "fulmine", "fulvo", "fumante",
15932"fumetto", "fumoso", "fune", "funzione", "fuoco", "furbo", "furgone", "furore", "fuso", "futile",
15933"gabbiano", "gaffe", "galateo", "gallina", "galoppo", "gambero", "gamma", "garanzia", "garbo", "garofano",
15934"garzone", "gasdotto", "gasolio", "gastrico", "gatto", "gaudio", "gazebo", "gazzella", "geco", "gelatina",
15935"gelso", "gemello", "gemmato", "gene", "genitore", "gennaio", "genotipo", "gergo", "ghepardo", "ghiaccio",
15936"ghisa", "giallo", "gilda", "ginepro", "giocare", "gioiello", "giorno", "giove", "girato", "girone",
15937"gittata", "giudizio", "giurato", "giusto", "globulo", "glutine", "gnomo", "gobba", "golf", "gomito",
15938"gommone", "gonfio", "gonna", "governo", "gracile", "grado", "grafico", "grammo", "grande", "grattare",
15939"gravoso", "grazia", "greca", "gregge", "grifone", "grigio", "grinza", "grotta", "gruppo", "guadagno",
15940"guaio", "guanto", "guardare", "gufo", "guidare", "ibernato", "icona", "identico", "idillio", "idolo",
15941"idra", "idrico", "idrogeno", "igiene", "ignaro", "ignorato", "ilare", "illeso", "illogico", "illudere",
15942"imballo", "imbevuto", "imbocco", "imbuto", "immane", "immerso", "immolato", "impacco", "impeto", "impiego",
15943"importo", "impronta", "inalare", "inarcare", "inattivo", "incanto", "incendio", "inchino", "incisivo", "incluso",
15944"incontro", "incrocio", "incubo", "indagine", "india", "indole", "inedito", "infatti", "infilare", "inflitto",
15945"ingaggio", "ingegno", "inglese", "ingordo", "ingrosso", "innesco", "inodore", "inoltrare", "inondato", "insano",
15946"insetto", "insieme", "insonnia", "insulina", "intasato", "intero", "intonaco", "intuito", "inumidire", "invalido",
15947"invece", "invito", "iperbole", "ipnotico", "ipotesi", "ippica", "iride", "irlanda", "ironico", "irrigato",
15948"irrorare", "isolato", "isotopo", "isterico", "istituto", "istrice", "italia", "iterare", "labbro", "labirinto",
15949"lacca", "lacerato", "lacrima", "lacuna", "laddove", "lago", "lampo", "lancetta", "lanterna", "lardoso",
15950"larga", "laringe", "lastra", "latenza", "latino", "lattuga", "lavagna", "lavoro", "legale", "leggero",
15951"lembo", "lentezza", "lenza", "leone", "lepre", "lesivo", "lessato", "lesto", "letterale", "leva",
15952"levigato", "libero", "lido", "lievito", "lilla", "limatura", "limitare", "limpido", "lineare", "lingua",
15953"liquido", "lira", "lirica", "lisca", "lite", "litigio", "livrea", "locanda", "lode", "logica",
15954"lombare", "londra", "longevo", "loquace", "lorenzo", "loto", "lotteria", "luce", "lucidato", "lumaca",
15955"luminoso", "lungo", "lupo", "luppolo", "lusinga", "lusso", "lutto", "macabro", "macchina", "macero",
15956"macinato", "madama", "magico", "maglia", "magnete", "magro", "maiolica", "malafede", "malgrado", "malinteso",
15957"malsano", "malto", "malumore", "mana", "mancia", "mandorla", "mangiare", "manifesto", "mannaro", "manovra",
15958"mansarda", "mantide", "manubrio", "mappa", "maratona", "marcire", "maretta", "marmo", "marsupio", "maschera",
15959"massaia", "mastino", "materasso", "matricola", "mattone", "maturo", "mazurca", "meandro", "meccanico", "mecenate",
15960"medesimo", "meditare", "mega", "melassa", "melis", "melodia", "meninge", "meno", "mensola", "mercurio",
15961"merenda", "merlo", "meschino", "mese", "messere", "mestolo", "metallo", "metodo", "mettere", "miagolare",
15962"mica", "micelio", "michele", "microbo", "midollo", "miele", "migliore", "milano", "milite", "mimosa",
15963"minerale", "mini", "minore", "mirino", "mirtillo", "miscela", "missiva", "misto", "misurare", "mitezza",
15964"mitigare", "mitra", "mittente", "mnemonico", "modello", "modifica", "modulo", "mogano", "mogio", "mole",
15965"molosso", "monastero", "monco", "mondina", "monetario", "monile", "monotono", "monsone", "montato", "monviso",
15966"mora", "mordere", "morsicato", "mostro", "motivato", "motosega", "motto", "movenza", "movimento", "mozzo",
15967"mucca", "mucosa", "muffa", "mughetto", "mugnaio", "mulatto", "mulinello", "multiplo", "mummia", "munto",
15968"muovere", "murale", "musa", "muscolo", "musica", "mutevole", "muto", "nababbo", "nafta", "nanometro",
15969"narciso", "narice", "narrato", "nascere", "nastrare", "naturale", "nautica", "naviglio", "nebulosa", "necrosi",
15970"negativo", "negozio", "nemmeno", "neofita", "neretto", "nervo", "nessuno", "nettuno", "neutrale", "neve",
15971"nevrotico", "nicchia", "ninfa", "nitido", "nobile", "nocivo", "nodo", "nome", "nomina", "nordico",
15972"normale", "norvegese", "nostrano", "notare", "notizia", "notturno", "novella", "nucleo", "nulla", "numero",
15973"nuovo", "nutrire", "nuvola", "nuziale", "oasi", "obbedire", "obbligo", "obelisco", "oblio", "obolo",
15974"obsoleto", "occasione", "occhio", "occidente", "occorrere", "occultare", "ocra", "oculato", "odierno", "odorare",
15975"offerta", "offrire", "offuscato", "oggetto", "oggi", "ognuno", "olandese", "olfatto", "oliato", "oliva",
15976"ologramma", "oltre", "omaggio", "ombelico", "ombra", "omega", "omissione", "ondoso", "onere", "onice",
15977"onnivoro", "onorevole", "onta", "operato", "opinione", "opposto", "oracolo", "orafo", "ordine", "orecchino",
15978"orefice", "orfano", "organico", "origine", "orizzonte", "orma", "ormeggio", "ornativo", "orologio", "orrendo",
15979"orribile", "ortensia", "ortica", "orzata", "orzo", "osare", "oscurare", "osmosi", "ospedale", "ospite",
15980"ossa", "ossidare", "ostacolo", "oste", "otite", "otre", "ottagono", "ottimo", "ottobre", "ovale",
15981"ovest", "ovino", "oviparo", "ovocito", "ovunque", "ovviare", "ozio", "pacchetto", "pace", "pacifico",
15982"padella", "padrone", "paese", "paga", "pagina", "palazzina", "palesare", "pallido", "palo", "palude",
15983"pandoro", "pannello", "paolo", "paonazzo", "paprica", "parabola", "parcella", "parere", "pargolo", "pari",
15984"parlato", "parola", "partire", "parvenza", "parziale", "passivo", "pasticca", "patacca", "patologia", "pattume",
15985"pavone", "peccato", "pedalare", "pedonale", "peggio", "peloso", "penare", "pendice", "penisola", "pennuto",
15986"penombra", "pensare", "pentola", "pepe", "pepita", "perbene", "percorso", "perdonato", "perforare", "pergamena",
15987"periodo", "permesso", "perno", "perplesso", "persuaso", "pertugio", "pervaso", "pesatore", "pesista", "peso",
15988"pestifero", "petalo", "pettine", "petulante", "pezzo", "piacere", "pianta", "piattino", "piccino", "picozza",
15989"piega", "pietra", "piffero", "pigiama", "pigolio", "pigro", "pila", "pilifero", "pillola", "pilota",
15990"pimpante", "pineta", "pinna", "pinolo", "pioggia", "piombo", "piramide", "piretico", "pirite", "pirolisi",
15991"pitone", "pizzico", "placebo", "planare", "plasma", "platano", "plenario", "pochezza", "poderoso", "podismo",
15992"poesia", "poggiare", "polenta", "poligono", "pollice", "polmonite", "polpetta", "polso", "poltrona", "polvere",
15993"pomice", "pomodoro", "ponte", "popoloso", "porfido", "poroso", "porpora", "porre", "portata", "posa",
15994"positivo", "possesso", "postulato", "potassio", "potere", "pranzo", "prassi", "pratica", "precluso", "predica",
15995"prefisso", "pregiato", "prelievo", "premere", "prenotare", "preparato", "presenza", "pretesto", "prevalso", "prima",
15996"principe", "privato", "problema", "procura", "produrre", "profumo", "progetto", "prolunga", "promessa", "pronome",
15997"proposta", "proroga", "proteso", "prova", "prudente", "prugna", "prurito", "psiche", "pubblico", "pudica",
15998"pugilato", "pugno", "pulce", "pulito", "pulsante", "puntare", "pupazzo", "pupilla", "puro", "quadro",
15999"qualcosa", "quasi", "querela", "quota", "raccolto", "raddoppio", "radicale", "radunato", "raffica", "ragazzo",
16000"ragione", "ragno", "ramarro", "ramingo", "ramo", "randagio", "rantolare", "rapato", "rapina", "rappreso",
16001"rasatura", "raschiato", "rasente", "rassegna", "rastrello", "rata", "ravveduto", "reale", "recepire", "recinto",
16002"recluta", "recondito", "recupero", "reddito", "redimere", "regalato", "registro", "regola", "regresso", "relazione",
16003"remare", "remoto", "renna", "replica", "reprimere", "reputare", "resa", "residente", "responso", "restauro",
16004"rete", "retina", "retorica", "rettifica", "revocato", "riassunto", "ribadire", "ribelle", "ribrezzo", "ricarica",
16005"ricco", "ricevere", "riciclato", "ricordo", "ricreduto", "ridicolo", "ridurre", "rifasare", "riflesso", "riforma",
16006"rifugio", "rigare", "rigettato", "righello", "rilassato", "rilevato", "rimanere", "rimbalzo", "rimedio", "rimorchio",
16007"rinascita", "rincaro", "rinforzo", "rinnovo", "rinomato", "rinsavito", "rintocco", "rinuncia", "rinvenire", "riparato",
16008"ripetuto", "ripieno", "riportare", "ripresa", "ripulire", "risata", "rischio", "riserva", "risibile", "riso",
16009"rispetto", "ristoro", "risultato", "risvolto", "ritardo", "ritegno", "ritmico", "ritrovo", "riunione", "riva",
16010"riverso", "rivincita", "rivolto", "rizoma", "roba", "robotico", "robusto", "roccia", "roco", "rodaggio",
16011"rodere", "roditore", "rogito", "rollio", "romantico", "rompere", "ronzio", "rosolare", "rospo", "rotante",
16012"rotondo", "rotula", "rovescio", "rubizzo", "rubrica", "ruga", "rullino", "rumine", "rumoroso", "ruolo",
16013"rupe", "russare", "rustico", "sabato", "sabbiare", "sabotato", "sagoma", "salasso", "saldatura", "salgemma",
16014"salivare", "salmone", "salone", "saltare", "saluto", "salvo", "sapere", "sapido", "saporito", "saraceno",
16015"sarcasmo", "sarto", "sassoso", "satellite", "satira", "satollo", "saturno", "savana", "savio", "saziato",
16016"sbadiglio", "sbalzo", "sbancato", "sbarra", "sbattere", "sbavare", "sbendare", "sbirciare", "sbloccato", "sbocciato",
16017"sbrinare", "sbruffone", "sbuffare", "scabroso", "scadenza", "scala", "scambiare", "scandalo", "scapola", "scarso",
16018"scatenare", "scavato", "scelto", "scenico", "scettro", "scheda", "schiena", "sciarpa", "scienza", "scindere",
16019"scippo", "sciroppo", "scivolo", "sclerare", "scodella", "scolpito", "scomparto", "sconforto", "scoprire", "scorta",
16020"scossone", "scozzese", "scriba", "scrollare", "scrutinio", "scuderia", "scultore", "scuola", "scuro", "scusare",
16021"sdebitare", "sdoganare", "seccatura", "secondo", "sedano", "seggiola", "segnalato", "segregato", "seguito", "selciato",
16022"selettivo", "sella", "selvaggio", "semaforo", "sembrare", "seme", "seminato", "sempre", "senso", "sentire",
16023"sepolto", "sequenza", "serata", "serbato", "sereno", "serio", "serpente", "serraglio", "servire", "sestina",
16024"setola", "settimana", "sfacelo", "sfaldare", "sfamato", "sfarzoso", "sfaticato", "sfera", "sfida", "sfilato",
16025"sfinge", "sfocato", "sfoderare", "sfogo", "sfoltire", "sforzato", "sfratto", "sfruttato", "sfuggito", "sfumare",
16026"sfuso", "sgabello", "sgarbato", "sgonfiare", "sgorbio", "sgrassato", "sguardo", "sibilo", "siccome", "sierra",
16027"sigla", "signore", "silenzio", "sillaba", "simbolo", "simpatico", "simulato", "sinfonia", "singolo", "sinistro",
16028"sino", "sintesi", "sinusoide", "sipario", "sisma", "sistole", "situato", "slitta", "slogatura", "sloveno",
16029"smarrito", "smemorato", "smentito", "smeraldo", "smilzo", "smontare", "smottato", "smussato", "snellire", "snervato",
16030"snodo", "sobbalzo", "sobrio", "soccorso", "sociale", "sodale", "soffitto", "sogno", "soldato", "solenne",
16031"solido", "sollazzo", "solo", "solubile", "solvente", "somatico", "somma", "sonda", "sonetto", "sonnifero",
16032"sopire", "soppeso", "sopra", "sorgere", "sorpasso", "sorriso", "sorso", "sorteggio", "sorvolato", "sospiro",
16033"sosta", "sottile", "spada", "spalla", "spargere", "spatola", "spavento", "spazzola", "specie", "spedire",
16034"spegnere", "spelatura", "speranza", "spessore", "spettrale", "spezzato", "spia", "spigoloso", "spillato", "spinoso",
16035"spirale", "splendido", "sportivo", "sposo", "spranga", "sprecare", "spronato", "spruzzo", "spuntino", "squillo",
16036"sradicare", "srotolato", "stabile", "stacco", "staffa", "stagnare", "stampato", "stantio", "starnuto", "stasera",
16037"statuto", "stelo", "steppa", "sterzo", "stiletto", "stima", "stirpe", "stivale", "stizzoso", "stonato",
16038"storico", "strappo", "stregato", "stridulo", "strozzare", "strutto", "stuccare", "stufo", "stupendo", "subentro",
16039"succoso", "sudore", "suggerito", "sugo", "sultano", "suonare", "superbo", "supporto", "surgelato", "surrogato",
16040"sussurro", "sutura", "svagare", "svedese", "sveglio", "svelare", "svenuto", "svezia", "sviluppo", "svista",
16041"svizzera", "svolta", "svuotare", "tabacco", "tabulato", "tacciare", "taciturno", "tale", "talismano", "tampone",
16042"tannino", "tara", "tardivo", "targato", "tariffa", "tarpare", "tartaruga", "tasto", "tattico", "taverna",
16043"tavolata", "tazza", "teca", "tecnico", "telefono", "temerario", "tempo", "temuto", "tendone", "tenero",
16044"tensione", "tentacolo", "teorema", "terme", "terrazzo", "terzetto", "tesi", "tesserato", "testato", "tetro",
16045"tettoia", "tifare", "tigella", "timbro", "tinto", "tipico", "tipografo", "tiraggio", "tiro", "titanio",
16046"titolo", "titubante", "tizio", "tizzone", "toccare", "tollerare", "tolto", "tombola", "tomo", "tonfo",
16047"tonsilla", "topazio", "topologia", "toppa", "torba", "tornare", "torrone", "tortora", "toscano", "tossire",
16048"tostatura", "totano", "trabocco", "trachea", "trafila", "tragedia", "tralcio", "tramonto", "transito", "trapano",
16049"trarre", "trasloco", "trattato", "trave", "treccia", "tremolio", "trespolo", "tributo", "tricheco", "trifoglio",
16050"trillo", "trincea", "trio", "tristezza", "triturato", "trivella", "tromba", "trono", "troppo", "trottola",
16051"trovare", "truccato", "tubatura", "tuffato", "tulipano", "tumulto", "tunisia", "turbare", "turchino", "tuta",
16052"tutela", "ubicato", "uccello", "uccisore", "udire", "uditivo", "uffa", "ufficio", "uguale", "ulisse",
16053"ultimato", "umano", "umile", "umorismo", "uncinetto", "ungere", "ungherese", "unicorno", "unificato", "unisono",
16054"unitario", "unte", "uovo", "upupa", "uragano", "urgenza", "urlo", "usanza", "usato", "uscito",
16055"usignolo", "usuraio", "utensile", "utilizzo", "utopia", "vacante", "vaccinato", "vagabondo", "vagliato", "valanga",
16056"valgo", "valico", "valletta", "valoroso", "valutare", "valvola", "vampata", "vangare", "vanitoso", "vano",
16057"vantaggio", "vanvera", "vapore", "varano", "varcato", "variante", "vasca", "vedetta", "vedova", "veduto",
16058"vegetale", "veicolo", "velcro", "velina", "velluto", "veloce", "venato", "vendemmia", "vento", "verace",
16059"verbale", "vergogna", "verifica", "vero", "verruca", "verticale", "vescica", "vessillo", "vestale", "veterano",
16060"vetrina", "vetusto", "viandante", "vibrante", "vicenda", "vichingo", "vicinanza", "vidimare", "vigilia", "vigneto",
16061"vigore", "vile", "villano", "vimini", "vincitore", "viola", "vipera", "virgola", "virologo", "virulento",
16062"viscoso", "visione", "vispo", "vissuto", "visura", "vita", "vitello", "vittima", "vivanda", "vivido",
16063"viziare", "voce", "voga", "volatile", "volere", "volpe", "voragine", "vulcano", "zampogna", "zanna",
16064"zappato", "zattera", "zavorra", "zefiro", "zelante", "zelo", "zenzero", "zerbino", "zibetto", "zinco",
16065"zircone", "zitto", "zolla", "zotico", "zucchero", "zufolo", "zulu", "zuppa"]
dc55c6b0 16066</script>
ab78acc6 16067 <script>/*
3af2954a
IC
16068 * Copyright (c) 2013 Pavol Rusnak
16069 *
16070 * Permission is hereby granted, free of charge, to any person obtaining a copy of
16071 * this software and associated documentation files (the "Software"), to deal in
16072 * the Software without restriction, including without limitation the rights to
16073 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
16074 * of the Software, and to permit persons to whom the Software is furnished to do
16075 * so, subject to the following conditions:
16076 *
16077 * The above copyright notice and this permission notice shall be included in all
16078 * copies or substantial portions of the Software.
16079 *
16080 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16081 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16082 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16083 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
16084 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
16085 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16086 */
16087
16088/*
16089 * Javascript port from python by Ian Coleman
16090 *
80c4dd2a
IC
16091 * Requires code from sjcl
16092 * https://github.com/bitwiseshiftleft/sjcl
3af2954a
IC
16093 */
16094
16095var Mnemonic = function(language) {
16096
16097 var PBKDF2_ROUNDS = 2048;
16098 var RADIX = 2048;
16099
16100 var self = this;
16101 var wordlist = [];
16102
80c4dd2a
IC
16103 var hmacSHA512 = function(key) {
16104 var hasher = new sjcl.misc.hmac(key, sjcl.hash.sha512);
16105 this.encrypt = function() {
16106 return hasher.encrypt.apply(hasher, arguments);
16107 };
16108 };
16109
3af2954a
IC
16110 function init() {
16111 wordlist = WORDLISTS[language];
16112 if (wordlist.length != RADIX) {
16113 err = 'Wordlist should contain ' + RADIX + ' words, but it contains ' + wordlist.length + ' words.';
16114 throw err;
16115 }
16116 }
16117
16118 self.generate = function(strength) {
16119 strength = strength || 128;
16120 var r = strength % 32;
16121 if (r > 0) {
16122 throw 'Strength should be divisible by 32, but it is not (' + r + ').';
16123 }
16124 var hasStrongCrypto = 'crypto' in window && window['crypto'] !== null;
16125 if (!hasStrongCrypto) {
16126 throw 'Mnemonic should be generated with strong randomness, but crypto.getRandomValues is unavailable';
16127 }
16128 var buffer = new Uint8Array(strength / 8);
16129 var data = crypto.getRandomValues(buffer);
16130 return self.toMnemonic(data);
16131 }
16132
80c4dd2a
IC
16133 self.toMnemonic = function(byteArray) {
16134 if (byteArray.length % 4 > 0) {
16135 throw 'Data length in bits should be divisible by 32, but it is not (' + byteArray.length + ' bytes = ' + byteArray.length*8 + ' bits).'
3af2954a
IC
16136 }
16137
16138 //h = hashlib.sha256(data).hexdigest()
80c4dd2a
IC
16139 var data = byteArrayToWordArray(byteArray);
16140 var hash = sjcl.hash.sha256.hash(data);
16141 var h = sjcl.codec.hex.fromBits(hash);
3af2954a
IC
16142
16143 // b is a binary string, eg '00111010101100...'
16144 //b = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8) + \
16145 // bin(int(h, 16))[2:].zfill(256)[:len(data) * 8 / 32]
16146 //
16147 // a = bin(int(binascii.hexlify(data), 16))[2:].zfill(len(data) * 8)
16148 // c = bin(int(h, 16))[2:].zfill(256)
16149 // d = c[:len(data) * 8 / 32]
80c4dd2a
IC
16150 var a = byteArrayToBinaryString(byteArray);
16151 var c = zfill(hexStringToBinaryString(h), 256);
16152 var d = c.substring(0, byteArray.length * 8 / 32);
3af2954a
IC
16153 // b = line1 + line2
16154 var b = a + d;
16155
16156 var result = [];
16157 var blen = b.length / 11;
16158 for (var i=0; i<blen; i++) {
16159 var idx = parseInt(b.substring(i * 11, (i + 1) * 11), 2);
16160 result.push(wordlist[idx]);
16161 }
0515eeec 16162 return self.joinWords(result);
3af2954a
IC
16163 }
16164
16165 self.check = function(mnemonic) {
0515eeec 16166 var mnemonic = self.splitWords(mnemonic);
18abe53b 16167 if (mnemonic.length == 0 || mnemonic.length % 3 > 0) {
3af2954a
IC
16168 return false
16169 }
16170 // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic)
16171 var idx = [];
16172 for (var i=0; i<mnemonic.length; i++) {
16173 var word = mnemonic[i];
16174 var wordIndex = wordlist.indexOf(word);
16175 if (wordIndex == -1) {
16176 return false;
16177 }
16178 var binaryIndex = zfill(wordIndex.toString(2), 11);
16179 idx.push(binaryIndex);
16180 }
16181 var b = idx.join('');
16182 var l = b.length;
16183 //d = b[:l / 33 * 32]
16184 //h = b[-l / 33:]
16185 var d = b.substring(0, l / 33 * 32);
16186 var h = b.substring(l - l / 33, l);
16187 //nd = binascii.unhexlify(hex(int(d, 2))[2:].rstrip('L').zfill(l / 33 * 8))
80c4dd2a 16188 var nd = binaryStringToWordArray(d);
3af2954a 16189 //nh = bin(int(hashlib.sha256(nd).hexdigest(), 16))[2:].zfill(256)[:l / 33]
80c4dd2a
IC
16190 var ndHash = sjcl.hash.sha256.hash(nd);
16191 var ndHex = sjcl.codec.hex.fromBits(ndHash);
16192 var ndBstr = zfill(hexStringToBinaryString(ndHex), 256);
3af2954a
IC
16193 var nh = ndBstr.substring(0,l/33);
16194 return h == nh;
16195 }
16196
16197 self.toSeed = function(mnemonic, passphrase) {
16198 passphrase = passphrase || '';
0515eeec 16199 mnemonic = self.joinWords(self.splitWords(self.normalizeString(mnemonic))); // removes blanks
3af2954a
IC
16200 passphrase = self.normalizeString(passphrase)
16201 passphrase = "mnemonic" + passphrase;
80c4dd2a
IC
16202 var mnemonicBits = sjcl.codec.utf8String.toBits(mnemonic);
16203 var passphraseBits = sjcl.codec.utf8String.toBits(passphrase);
16204 var result = sjcl.misc.pbkdf2(mnemonicBits, passphraseBits, PBKDF2_ROUNDS, 512, hmacSHA512);
16205 var hashHex = sjcl.codec.hex.fromBits(result);
16206 return hashHex;
3af2954a
IC
16207 }
16208
0515eeec
IC
16209 self.splitWords = function(mnemonic) {
16210 return mnemonic.split(/\s/g).filter(function(x) { return x.length; });
16211 }
16212
16213 self.joinWords = function(words) {
16214 // Set space correctly depending on the language
16215 // see https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md#japanese
16216 var space = " ";
16217 if (language == "japanese") {
16218 space = "\u3000"; // ideographic space
16219 }
16220 return words.join(space);
16221 }
16222
3af2954a
IC
16223 self.normalizeString = function(str) {
16224 if (typeof str.normalize == "function") {
16225 return str.normalize("NFKD");
16226 }
16227 else {
16228 // TODO decide how to handle this in the future.
16229 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
16230 return str;
16231 }
16232 }
16233
80c4dd2a
IC
16234 function byteArrayToWordArray(data) {
16235 var a = [];
16236 for (var i=0; i<data.length/4; i++) {
16237 v = 0;
16238 v += data[i*4 + 0] << 8 * 3;
16239 v += data[i*4 + 1] << 8 * 2;
16240 v += data[i*4 + 2] << 8 * 1;
16241 v += data[i*4 + 3] << 8 * 0;
16242 a.push(v);
16243 }
16244 return a;
16245 }
16246
3af2954a
IC
16247 function byteArrayToBinaryString(data) {
16248 var bin = "";
16249 for (var i=0; i<data.length; i++) {
16250 bin += zfill(data[i].toString(2), 8);
16251 }
16252 return bin;
16253 }
16254
80c4dd2a
IC
16255 function hexStringToBinaryString(hexString) {
16256 binaryString = "";
16257 for (var i=0; i<hexString.length; i++) {
16258 binaryString += zfill(parseInt(hexString[i], 16).toString(2),4);
16259 }
16260 return binaryString;
16261 }
16262
16263 function binaryStringToWordArray(binary) {
16264 var aLen = binary.length / 32;
16265 var a = [];
16266 for (var i=0; i<aLen; i++) {
16267 var valueStr = binary.substring(0,32);
3af2954a 16268 var value = parseInt(valueStr, 2);
80c4dd2a
IC
16269 a.push(value);
16270 binary = binary.slice(32);
3af2954a 16271 }
80c4dd2a 16272 return a;
3af2954a
IC
16273 }
16274
16275 // Pad a numeric string on the left with zero digits until the given width
16276 // is reached.
16277 // Note this differs to the python implementation because it does not
16278 // handle numbers starting with a sign.
16279 function zfill(source, length) {
16280 source = source.toString();
16281 while (source.length < length) {
16282 source = '0' + source;
16283 }
16284 return source;
16285 }
16286
16287 init();
ebd8d4e8 16288
3af2954a 16289}
dc55c6b0 16290</script>
95f04905
IC
16291 <script>/*
16292 JavaScript BigInteger library version 0.9.1
16293 http://silentmatt.com/biginteger/
18abe53b 16294
95f04905
IC
16295 Copyright (c) 2009 Matthew Crumley <email@matthewcrumley.com>
16296 Copyright (c) 2010,2011 by John Tobey <John.Tobey@gmail.com>
16297 Licensed under the MIT license.
c6624d51 16298
95f04905
IC
16299 Support for arbitrary internal representation base was added by
16300 Vitaly Magerya.
16301*/
18abe53b 16302
95f04905
IC
16303/*
16304 File: biginteger.js
18abe53b 16305
95f04905 16306 Exports:
18abe53b 16307
95f04905
IC
16308 <BigInteger>
16309*/
16310(function(exports) {
16311"use strict";
16312/*
16313 Class: BigInteger
16314 An arbitrarily-large integer.
18abe53b 16315
95f04905
IC
16316 <BigInteger> objects should be considered immutable. None of the "built-in"
16317 methods modify *this* or their arguments. All properties should be
16318 considered private.
18abe53b 16319
95f04905
IC
16320 All the methods of <BigInteger> instances can be called "statically". The
16321 static versions are convenient if you don't already have a <BigInteger>
16322 object.
18abe53b 16323
95f04905 16324 As an example, these calls are equivalent.
18abe53b 16325
95f04905
IC
16326 > BigInteger(4).multiply(5); // returns BigInteger(20);
16327 > BigInteger.multiply(4, 5); // returns BigInteger(20);
18abe53b 16328
95f04905
IC
16329 > var a = 42;
16330 > var a = BigInteger.toJSValue("0b101010"); // Not completely useless...
16331*/
c6624d51 16332
95f04905 16333var CONSTRUCT = {}; // Unique token to call "private" version of constructor
c6624d51
IC
16334
16335/*
16336 Constructor: BigInteger()
16337 Convert a value to a <BigInteger>.
16338
16339 Although <BigInteger()> is the constructor for <BigInteger> objects, it is
16340 best not to call it as a constructor. If *n* is a <BigInteger> object, it is
16341 simply returned as-is. Otherwise, <BigInteger()> is equivalent to <parse>
16342 without a radix argument.
16343
16344 > var n0 = BigInteger(); // Same as <BigInteger.ZERO>
16345 > var n1 = BigInteger("123"); // Create a new <BigInteger> with value 123
16346 > var n2 = BigInteger(123); // Create a new <BigInteger> with value 123
16347 > var n3 = BigInteger(n2); // Return n2, unchanged
16348
16349 The constructor form only takes an array and a sign. *n* must be an
16350 array of numbers in little-endian order, where each digit is between 0
16351 and BigInteger.base. The second parameter sets the sign: -1 for
16352 negative, +1 for positive, or 0 for zero. The array is *not copied and
16353 may be modified*. If the array contains only zeros, the sign parameter
16354 is ignored and is forced to zero.
16355
16356 > new BigInteger([5], -1): create a new BigInteger with value -5
16357
16358 Parameters:
16359
16360 n - Value to convert to a <BigInteger>.
16361
16362 Returns:
16363
16364 A <BigInteger> value.
16365
16366 See Also:
16367
16368 <parse>, <BigInteger>
16369*/
16370function BigInteger(n, s, token) {
16371 if (token !== CONSTRUCT) {
16372 if (n instanceof BigInteger) {
16373 return n;
16374 }
16375 else if (typeof n === "undefined") {
16376 return ZERO;
16377 }
16378 return BigInteger.parse(n);
16379 }
16380
16381 n = n || []; // Provide the nullary constructor for subclasses.
16382 while (n.length && !n[n.length - 1]) {
16383 --n.length;
16384 }
16385 this._d = n;
16386 this._s = n.length ? (s || 1) : 0;
16387}
16388
16389BigInteger._construct = function(n, s) {
16390 return new BigInteger(n, s, CONSTRUCT);
16391};
16392
16393// Base-10 speedup hacks in parse, toString, exp10 and log functions
16394// require base to be a power of 10. 10^7 is the largest such power
16395// that won't cause a precision loss when digits are multiplied.
16396var BigInteger_base = 10000000;
16397var BigInteger_base_log10 = 7;
16398
16399BigInteger.base = BigInteger_base;
16400BigInteger.base_log10 = BigInteger_base_log10;
16401
16402var ZERO = new BigInteger([], 0, CONSTRUCT);
16403// Constant: ZERO
16404// <BigInteger> 0.
16405BigInteger.ZERO = ZERO;
16406
16407var ONE = new BigInteger([1], 1, CONSTRUCT);
16408// Constant: ONE
16409// <BigInteger> 1.
16410BigInteger.ONE = ONE;
16411
16412var M_ONE = new BigInteger(ONE._d, -1, CONSTRUCT);
16413// Constant: M_ONE
16414// <BigInteger> -1.
16415BigInteger.M_ONE = M_ONE;
16416
16417// Constant: _0
16418// Shortcut for <ZERO>.
16419BigInteger._0 = ZERO;
16420
16421// Constant: _1
16422// Shortcut for <ONE>.
16423BigInteger._1 = ONE;
16424
16425/*
16426 Constant: small
16427 Array of <BigIntegers> from 0 to 36.
16428
16429 These are used internally for parsing, but useful when you need a "small"
16430 <BigInteger>.
16431
16432 See Also:
16433
16434 <ZERO>, <ONE>, <_0>, <_1>
16435*/
16436BigInteger.small = [
16437 ZERO,
16438 ONE,
16439 /* Assuming BigInteger_base > 36 */
16440 new BigInteger( [2], 1, CONSTRUCT),
16441 new BigInteger( [3], 1, CONSTRUCT),
16442 new BigInteger( [4], 1, CONSTRUCT),
16443 new BigInteger( [5], 1, CONSTRUCT),
16444 new BigInteger( [6], 1, CONSTRUCT),
16445 new BigInteger( [7], 1, CONSTRUCT),
16446 new BigInteger( [8], 1, CONSTRUCT),
16447 new BigInteger( [9], 1, CONSTRUCT),
16448 new BigInteger([10], 1, CONSTRUCT),
16449 new BigInteger([11], 1, CONSTRUCT),
16450 new BigInteger([12], 1, CONSTRUCT),
16451 new BigInteger([13], 1, CONSTRUCT),
16452 new BigInteger([14], 1, CONSTRUCT),
16453 new BigInteger([15], 1, CONSTRUCT),
16454 new BigInteger([16], 1, CONSTRUCT),
16455 new BigInteger([17], 1, CONSTRUCT),
16456 new BigInteger([18], 1, CONSTRUCT),
16457 new BigInteger([19], 1, CONSTRUCT),
16458 new BigInteger([20], 1, CONSTRUCT),
16459 new BigInteger([21], 1, CONSTRUCT),
16460 new BigInteger([22], 1, CONSTRUCT),
16461 new BigInteger([23], 1, CONSTRUCT),
16462 new BigInteger([24], 1, CONSTRUCT),
16463 new BigInteger([25], 1, CONSTRUCT),
16464 new BigInteger([26], 1, CONSTRUCT),
16465 new BigInteger([27], 1, CONSTRUCT),
16466 new BigInteger([28], 1, CONSTRUCT),
16467 new BigInteger([29], 1, CONSTRUCT),
16468 new BigInteger([30], 1, CONSTRUCT),
16469 new BigInteger([31], 1, CONSTRUCT),
16470 new BigInteger([32], 1, CONSTRUCT),
16471 new BigInteger([33], 1, CONSTRUCT),
16472 new BigInteger([34], 1, CONSTRUCT),
16473 new BigInteger([35], 1, CONSTRUCT),
16474 new BigInteger([36], 1, CONSTRUCT)
16475];
16476
16477// Used for parsing/radix conversion
16478BigInteger.digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
16479
16480/*
16481 Method: toString
16482 Convert a <BigInteger> to a string.
16483
16484 When *base* is greater than 10, letters are upper case.
16485
16486 Parameters:
16487
16488 base - Optional base to represent the number in (default is base 10).
16489 Must be between 2 and 36 inclusive, or an Error will be thrown.
16490
16491 Returns:
16492
16493 The string representation of the <BigInteger>.
16494*/
16495BigInteger.prototype.toString = function(base) {
16496 base = +base || 10;
16497 if (base < 2 || base > 36) {
16498 throw new Error("illegal radix " + base + ".");
16499 }
16500 if (this._s === 0) {
16501 return "0";
16502 }
16503 if (base === 10) {
16504 var str = this._s < 0 ? "-" : "";
16505 str += this._d[this._d.length - 1].toString();
16506 for (var i = this._d.length - 2; i >= 0; i--) {
16507 var group = this._d[i].toString();
16508 while (group.length < BigInteger_base_log10) group = '0' + group;
16509 str += group;
16510 }
16511 return str;
16512 }
16513 else {
16514 var numerals = BigInteger.digits;
16515 base = BigInteger.small[base];
16516 var sign = this._s;
16517
16518 var n = this.abs();
16519 var digits = [];
16520 var digit;
16521
16522 while (n._s !== 0) {
16523 var divmod = n.divRem(base);
16524 n = divmod[0];
16525 digit = divmod[1];
16526 // TODO: This could be changed to unshift instead of reversing at the end.
16527 // Benchmark both to compare speeds.
16528 digits.push(numerals[digit.valueOf()]);
16529 }
16530 return (sign < 0 ? "-" : "") + digits.reverse().join("");
16531 }
16532};
16533
16534// Verify strings for parsing
16535BigInteger.radixRegex = [
16536 /^$/,
16537 /^$/,
16538 /^[01]*$/,
16539 /^[012]*$/,
16540 /^[0-3]*$/,
16541 /^[0-4]*$/,
16542 /^[0-5]*$/,
16543 /^[0-6]*$/,
16544 /^[0-7]*$/,
16545 /^[0-8]*$/,
16546 /^[0-9]*$/,
16547 /^[0-9aA]*$/,
16548 /^[0-9abAB]*$/,
16549 /^[0-9abcABC]*$/,
16550 /^[0-9a-dA-D]*$/,
16551 /^[0-9a-eA-E]*$/,
16552 /^[0-9a-fA-F]*$/,
16553 /^[0-9a-gA-G]*$/,
16554 /^[0-9a-hA-H]*$/,
16555 /^[0-9a-iA-I]*$/,
16556 /^[0-9a-jA-J]*$/,
16557 /^[0-9a-kA-K]*$/,
16558 /^[0-9a-lA-L]*$/,
16559 /^[0-9a-mA-M]*$/,
16560 /^[0-9a-nA-N]*$/,
16561 /^[0-9a-oA-O]*$/,
16562 /^[0-9a-pA-P]*$/,
16563 /^[0-9a-qA-Q]*$/,
16564 /^[0-9a-rA-R]*$/,
16565 /^[0-9a-sA-S]*$/,
16566 /^[0-9a-tA-T]*$/,
16567 /^[0-9a-uA-U]*$/,
16568 /^[0-9a-vA-V]*$/,
16569 /^[0-9a-wA-W]*$/,
16570 /^[0-9a-xA-X]*$/,
16571 /^[0-9a-yA-Y]*$/,
16572 /^[0-9a-zA-Z]*$/
16573];
16574
16575/*
16576 Function: parse
16577 Parse a string into a <BigInteger>.
16578
16579 *base* is optional but, if provided, must be from 2 to 36 inclusive. If
16580 *base* is not provided, it will be guessed based on the leading characters
16581 of *s* as follows:
16582
16583 - "0x" or "0X": *base* = 16
16584 - "0c" or "0C": *base* = 8
16585 - "0b" or "0B": *base* = 2
16586 - else: *base* = 10
16587
16588 If no base is provided, or *base* is 10, the number can be in exponential
16589 form. For example, these are all valid:
16590
16591 > BigInteger.parse("1e9"); // Same as "1000000000"
16592 > BigInteger.parse("1.234*10^3"); // Same as 1234
16593 > BigInteger.parse("56789 * 10 ** -2"); // Same as 567
16594
16595 If any characters fall outside the range defined by the radix, an exception
16596 will be thrown.
16597
16598 Parameters:
16599
16600 s - The string to parse.
16601 base - Optional radix (default is to guess based on *s*).
16602
16603 Returns:
16604
16605 a <BigInteger> instance.
16606*/
16607BigInteger.parse = function(s, base) {
16608 // Expands a number in exponential form to decimal form.
16609 // expandExponential("-13.441*10^5") === "1344100";
16610 // expandExponential("1.12300e-1") === "0.112300";
16611 // expandExponential(1000000000000000000000000000000) === "1000000000000000000000000000000";
16612 function expandExponential(str) {
16613 str = str.replace(/\s*[*xX]\s*10\s*(\^|\*\*)\s*/, "e");
16614
16615 return str.replace(/^([+\-])?(\d+)\.?(\d*)[eE]([+\-]?\d+)$/, function(x, s, n, f, c) {
16616 c = +c;
16617 var l = c < 0;
16618 var i = n.length + c;
16619 x = (l ? n : f).length;
16620 c = ((c = Math.abs(c)) >= x ? c - x + l : 0);
16621 var z = (new Array(c + 1)).join("0");
16622 var r = n + f;
16623 return (s || "") + (l ? r = z + r : r += z).substr(0, i += l ? z.length : 0) + (i < r.length ? "." + r.substr(i) : "");
16624 });
16625 }
16626
16627 s = s.toString();
16628 if (typeof base === "undefined" || +base === 10) {
16629 s = expandExponential(s);
16630 }
16631
16632 var prefixRE;
16633 if (typeof base === "undefined") {
16634 prefixRE = '0[xcb]';
16635 }
16636 else if (base == 16) {
16637 prefixRE = '0x';
16638 }
16639 else if (base == 8) {
16640 prefixRE = '0c';
16641 }
16642 else if (base == 2) {
16643 prefixRE = '0b';
16644 }
16645 else {
16646 prefixRE = '';
16647 }
16648 var parts = new RegExp('^([+\\-]?)(' + prefixRE + ')?([0-9a-z]*)(?:\\.\\d*)?$', 'i').exec(s);
16649 if (parts) {
16650 var sign = parts[1] || "+";
16651 var baseSection = parts[2] || "";
16652 var digits = parts[3] || "";
16653
16654 if (typeof base === "undefined") {
16655 // Guess base
16656 if (baseSection === "0x" || baseSection === "0X") { // Hex
16657 base = 16;
16658 }
16659 else if (baseSection === "0c" || baseSection === "0C") { // Octal
16660 base = 8;
16661 }
16662 else if (baseSection === "0b" || baseSection === "0B") { // Binary
16663 base = 2;
16664 }
16665 else {
16666 base = 10;
16667 }
16668 }
16669 else if (base < 2 || base > 36) {
16670 throw new Error("Illegal radix " + base + ".");
16671 }
16672
16673 base = +base;
16674
16675 // Check for digits outside the range
16676 if (!(BigInteger.radixRegex[base].test(digits))) {
16677 throw new Error("Bad digit for radix " + base);
16678 }
16679
16680 // Strip leading zeros, and convert to array
16681 digits = digits.replace(/^0+/, "").split("");
16682 if (digits.length === 0) {
16683 return ZERO;
16684 }
16685
16686 // Get the sign (we know it's not zero)
16687 sign = (sign === "-") ? -1 : 1;
16688
16689 // Optimize 10
16690 if (base == 10) {
16691 var d = [];
16692 while (digits.length >= BigInteger_base_log10) {
16693 d.push(parseInt(digits.splice(digits.length-BigInteger.base_log10, BigInteger.base_log10).join(''), 10));
16694 }
16695 d.push(parseInt(digits.join(''), 10));
16696 return new BigInteger(d, sign, CONSTRUCT);
16697 }
16698
16699 // Do the conversion
16700 var d = ZERO;
16701 base = BigInteger.small[base];
16702 var small = BigInteger.small;
16703 for (var i = 0; i < digits.length; i++) {
16704 d = d.multiply(base).add(small[parseInt(digits[i], 36)]);
16705 }
16706 return new BigInteger(d._d, sign, CONSTRUCT);
16707 }
16708 else {
16709 throw new Error("Invalid BigInteger format: " + s);
16710 }
16711};
16712
16713/*
16714 Function: add
16715 Add two <BigIntegers>.
16716
16717 Parameters:
16718
16719 n - The number to add to *this*. Will be converted to a <BigInteger>.
16720
16721 Returns:
16722
16723 The numbers added together.
16724
16725 See Also:
16726
16727 <subtract>, <multiply>, <quotient>, <next>
16728*/
16729BigInteger.prototype.add = function(n) {
16730 if (this._s === 0) {
16731 return BigInteger(n);
16732 }
16733
16734 n = BigInteger(n);
16735 if (n._s === 0) {
16736 return this;
16737 }
16738 if (this._s !== n._s) {
16739 n = n.negate();
16740 return this.subtract(n);
16741 }
16742
16743 var a = this._d;
16744 var b = n._d;
16745 var al = a.length;
16746 var bl = b.length;
16747 var sum = new Array(Math.max(al, bl) + 1);
16748 var size = Math.min(al, bl);
16749 var carry = 0;
16750 var digit;
16751
16752 for (var i = 0; i < size; i++) {
16753 digit = a[i] + b[i] + carry;
16754 sum[i] = digit % BigInteger_base;
16755 carry = (digit / BigInteger_base) | 0;
16756 }
16757 if (bl > al) {
16758 a = b;
16759 al = bl;
16760 }
16761 for (i = size; carry && i < al; i++) {
16762 digit = a[i] + carry;
16763 sum[i] = digit % BigInteger_base;
16764 carry = (digit / BigInteger_base) | 0;
16765 }
16766 if (carry) {
16767 sum[i] = carry;
16768 }
16769
16770 for ( ; i < al; i++) {
16771 sum[i] = a[i];
16772 }
16773
16774 return new BigInteger(sum, this._s, CONSTRUCT);
16775};
16776
16777/*
16778 Function: negate
16779 Get the additive inverse of a <BigInteger>.
16780
16781 Returns:
16782
16783 A <BigInteger> with the same magnatude, but with the opposite sign.
16784
16785 See Also:
16786
16787 <abs>
16788*/
16789BigInteger.prototype.negate = function() {
16790 return new BigInteger(this._d, (-this._s) | 0, CONSTRUCT);
16791};
16792
16793/*
16794 Function: abs
16795 Get the absolute value of a <BigInteger>.
16796
16797 Returns:
16798
16799 A <BigInteger> with the same magnatude, but always positive (or zero).
16800
16801 See Also:
16802
16803 <negate>
16804*/
16805BigInteger.prototype.abs = function() {
16806 return (this._s < 0) ? this.negate() : this;
16807};
16808
16809/*
16810 Function: subtract
16811 Subtract two <BigIntegers>.
16812
16813 Parameters:
16814
16815 n - The number to subtract from *this*. Will be converted to a <BigInteger>.
16816
16817 Returns:
16818
16819 The *n* subtracted from *this*.
16820
16821 See Also:
16822
16823 <add>, <multiply>, <quotient>, <prev>
16824*/
16825BigInteger.prototype.subtract = function(n) {
16826 if (this._s === 0) {
16827 return BigInteger(n).negate();
16828 }
16829
16830 n = BigInteger(n);
16831 if (n._s === 0) {
16832 return this;
16833 }
16834 if (this._s !== n._s) {
16835 n = n.negate();
16836 return this.add(n);
16837 }
16838
16839 var m = this;
16840 // negative - negative => -|a| - -|b| => -|a| + |b| => |b| - |a|
16841 if (this._s < 0) {
16842 m = new BigInteger(n._d, 1, CONSTRUCT);
16843 n = new BigInteger(this._d, 1, CONSTRUCT);
16844 }
16845
16846 // Both are positive => a - b
16847 var sign = m.compareAbs(n);
16848 if (sign === 0) {
16849 return ZERO;
16850 }
16851 else if (sign < 0) {
16852 // swap m and n
16853 var t = n;
16854 n = m;
16855 m = t;
16856 }
16857
16858 // a > b
16859 var a = m._d;
16860 var b = n._d;
16861 var al = a.length;
16862 var bl = b.length;
16863 var diff = new Array(al); // al >= bl since a > b
16864 var borrow = 0;
16865 var i;
16866 var digit;
16867
16868 for (i = 0; i < bl; i++) {
16869 digit = a[i] - borrow - b[i];
16870 if (digit < 0) {
16871 digit += BigInteger_base;
16872 borrow = 1;
16873 }
16874 else {
16875 borrow = 0;
16876 }
16877 diff[i] = digit;
16878 }
16879 for (i = bl; i < al; i++) {
16880 digit = a[i] - borrow;
16881 if (digit < 0) {
16882 digit += BigInteger_base;
16883 }
16884 else {
16885 diff[i++] = digit;
16886 break;
16887 }
16888 diff[i] = digit;
16889 }
16890 for ( ; i < al; i++) {
16891 diff[i] = a[i];
16892 }
16893
16894 return new BigInteger(diff, sign, CONSTRUCT);
16895};
16896
16897(function() {
16898 function addOne(n, sign) {
16899 var a = n._d;
16900 var sum = a.slice();
16901 var carry = true;
16902 var i = 0;
16903
16904 while (true) {
16905 var digit = (a[i] || 0) + 1;
16906 sum[i] = digit % BigInteger_base;
16907 if (digit <= BigInteger_base - 1) {
16908 break;
16909 }
16910 ++i;
16911 }
16912
16913 return new BigInteger(sum, sign, CONSTRUCT);
16914 }
16915
16916 function subtractOne(n, sign) {
16917 var a = n._d;
16918 var sum = a.slice();
16919 var borrow = true;
16920 var i = 0;
16921
16922 while (true) {
16923 var digit = (a[i] || 0) - 1;
16924 if (digit < 0) {
16925 sum[i] = digit + BigInteger_base;
16926 }
16927 else {
16928 sum[i] = digit;
16929 break;
16930 }
16931 ++i;
16932 }
16933
16934 return new BigInteger(sum, sign, CONSTRUCT);
16935 }
16936
16937 /*
16938 Function: next
16939 Get the next <BigInteger> (add one).
16940
16941 Returns:
16942
16943 *this* + 1.
16944
16945 See Also:
16946
16947 <add>, <prev>
16948 */
16949 BigInteger.prototype.next = function() {
16950 switch (this._s) {
16951 case 0:
16952 return ONE;
16953 case -1:
16954 return subtractOne(this, -1);
16955 // case 1:
16956 default:
16957 return addOne(this, 1);
16958 }
16959 };
16960
16961 /*
16962 Function: prev
16963 Get the previous <BigInteger> (subtract one).
16964
16965 Returns:
16966
16967 *this* - 1.
16968
16969 See Also:
16970
16971 <next>, <subtract>
16972 */
16973 BigInteger.prototype.prev = function() {
16974 switch (this._s) {
16975 case 0:
16976 return M_ONE;
16977 case -1:
16978 return addOne(this, -1);
16979 // case 1:
16980 default:
16981 return subtractOne(this, 1);
16982 }
16983 };
16984})();
16985
16986/*
16987 Function: compareAbs
16988 Compare the absolute value of two <BigIntegers>.
16989
16990 Calling <compareAbs> is faster than calling <abs> twice, then <compare>.
16991
16992 Parameters:
16993
16994 n - The number to compare to *this*. Will be converted to a <BigInteger>.
16995
16996 Returns:
16997
16998 -1, 0, or +1 if *|this|* is less than, equal to, or greater than *|n|*.
16999
17000 See Also:
17001
17002 <compare>, <abs>
17003*/
17004BigInteger.prototype.compareAbs = function(n) {
17005 if (this === n) {
17006 return 0;
17007 }
17008
17009 if (!(n instanceof BigInteger)) {
17010 if (!isFinite(n)) {
17011 return(isNaN(n) ? n : -1);
17012 }
17013 n = BigInteger(n);
17014 }
17015
17016 if (this._s === 0) {
17017 return (n._s !== 0) ? -1 : 0;
17018 }
17019 if (n._s === 0) {
17020 return 1;
17021 }
17022
17023 var l = this._d.length;
17024 var nl = n._d.length;
17025 if (l < nl) {
17026 return -1;
17027 }
17028 else if (l > nl) {
17029 return 1;
17030 }
17031
17032 var a = this._d;
17033 var b = n._d;
17034 for (var i = l-1; i >= 0; i--) {
17035 if (a[i] !== b[i]) {
17036 return a[i] < b[i] ? -1 : 1;
17037 }
17038 }
17039
17040 return 0;
17041};
17042
17043/*
17044 Function: compare
17045 Compare two <BigIntegers>.
17046
17047 Parameters:
17048
17049 n - The number to compare to *this*. Will be converted to a <BigInteger>.
17050
17051 Returns:
17052
17053 -1, 0, or +1 if *this* is less than, equal to, or greater than *n*.
17054
17055 See Also:
17056
17057 <compareAbs>, <isPositive>, <isNegative>, <isUnit>
17058*/
17059BigInteger.prototype.compare = function(n) {
17060 if (this === n) {
17061 return 0;
17062 }
17063
17064 n = BigInteger(n);
17065
17066 if (this._s === 0) {
17067 return -n._s;
17068 }
17069
17070 if (this._s === n._s) { // both positive or both negative
17071 var cmp = this.compareAbs(n);
17072 return cmp * this._s;
17073 }
17074 else {
17075 return this._s;
17076 }
17077};
17078
17079/*
17080 Function: isUnit
17081 Return true iff *this* is either 1 or -1.
17082
17083 Returns:
17084
17085 true if *this* compares equal to <BigInteger.ONE> or <BigInteger.M_ONE>.
17086
17087 See Also:
17088
17089 <isZero>, <isNegative>, <isPositive>, <compareAbs>, <compare>,
17090 <BigInteger.ONE>, <BigInteger.M_ONE>
17091*/
17092BigInteger.prototype.isUnit = function() {
17093 return this === ONE ||
17094 this === M_ONE ||
17095 (this._d.length === 1 && this._d[0] === 1);
17096};
17097
17098/*
17099 Function: multiply
17100 Multiply two <BigIntegers>.
17101
17102 Parameters:
17103
17104 n - The number to multiply *this* by. Will be converted to a
17105 <BigInteger>.
17106
17107 Returns:
17108
17109 The numbers multiplied together.
17110
17111 See Also:
17112
17113 <add>, <subtract>, <quotient>, <square>
17114*/
17115BigInteger.prototype.multiply = function(n) {
17116 // TODO: Consider adding Karatsuba multiplication for large numbers
17117 if (this._s === 0) {
17118 return ZERO;
17119 }
17120
17121 n = BigInteger(n);
17122 if (n._s === 0) {
17123 return ZERO;
17124 }
17125 if (this.isUnit()) {
17126 if (this._s < 0) {
17127 return n.negate();
17128 }
17129 return n;
17130 }
17131 if (n.isUnit()) {
17132 if (n._s < 0) {
17133 return this.negate();
17134 }
17135 return this;
17136 }
17137 if (this === n) {
17138 return this.square();
17139 }
17140
17141 var r = (this._d.length >= n._d.length);
17142 var a = (r ? this : n)._d; // a will be longer than b
17143 var b = (r ? n : this)._d;
17144 var al = a.length;
17145 var bl = b.length;
17146
17147 var pl = al + bl;
17148 var partial = new Array(pl);
17149 var i;
17150 for (i = 0; i < pl; i++) {
17151 partial[i] = 0;
17152 }
17153
17154 for (i = 0; i < bl; i++) {
17155 var carry = 0;
17156 var bi = b[i];
17157 var jlimit = al + i;
17158 var digit;
17159 for (var j = i; j < jlimit; j++) {
17160 digit = partial[j] + bi * a[j - i] + carry;
17161 carry = (digit / BigInteger_base) | 0;
17162 partial[j] = (digit % BigInteger_base) | 0;
17163 }
17164 if (carry) {
17165 digit = partial[j] + carry;
17166 carry = (digit / BigInteger_base) | 0;
17167 partial[j] = digit % BigInteger_base;
17168 }
17169 }
17170 return new BigInteger(partial, this._s * n._s, CONSTRUCT);
17171};
17172
17173// Multiply a BigInteger by a single-digit native number
17174// Assumes that this and n are >= 0
17175// This is not really intended to be used outside the library itself
17176BigInteger.prototype.multiplySingleDigit = function(n) {
17177 if (n === 0 || this._s === 0) {
17178 return ZERO;
17179 }
17180 if (n === 1) {
17181 return this;
17182 }
17183
17184 var digit;
17185 if (this._d.length === 1) {
17186 digit = this._d[0] * n;
17187 if (digit >= BigInteger_base) {
17188 return new BigInteger([(digit % BigInteger_base)|0,
17189 (digit / BigInteger_base)|0], 1, CONSTRUCT);
17190 }
17191 return new BigInteger([digit], 1, CONSTRUCT);
17192 }
17193
17194 if (n === 2) {
17195 return this.add(this);
17196 }
17197 if (this.isUnit()) {
17198 return new BigInteger([n], 1, CONSTRUCT);
17199 }
17200
17201 var a = this._d;
17202 var al = a.length;
17203
17204 var pl = al + 1;
17205 var partial = new Array(pl);
17206 for (var i = 0; i < pl; i++) {
17207 partial[i] = 0;
17208 }
17209
17210 var carry = 0;
17211 for (var j = 0; j < al; j++) {
17212 digit = n * a[j] + carry;
17213 carry = (digit / BigInteger_base) | 0;
17214 partial[j] = (digit % BigInteger_base) | 0;
17215 }
17216 if (carry) {
17217 partial[j] = carry;
17218 }
17219
17220 return new BigInteger(partial, 1, CONSTRUCT);
17221};
17222
17223/*
17224 Function: square
17225 Multiply a <BigInteger> by itself.
17226
17227 This is slightly faster than regular multiplication, since it removes the
17228 duplicated multiplcations.
17229
17230 Returns:
17231
17232 > this.multiply(this)
17233
17234 See Also:
17235 <multiply>
17236*/
17237BigInteger.prototype.square = function() {
17238 // Normally, squaring a 10-digit number would take 100 multiplications.
17239 // Of these 10 are unique diagonals, of the remaining 90 (100-10), 45 are repeated.
17240 // This procedure saves (N*(N-1))/2 multiplications, (e.g., 45 of 100 multiplies).
17241 // Based on code by Gary Darby, Intellitech Systems Inc., www.DelphiForFun.org
17242
17243 if (this._s === 0) {
17244 return ZERO;
17245 }
17246 if (this.isUnit()) {
17247 return ONE;
17248 }
17249
17250 var digits = this._d;
17251 var length = digits.length;
17252 var imult1 = new Array(length + length + 1);
17253 var product, carry, k;
17254 var i;
17255
17256 // Calculate diagonal
17257 for (i = 0; i < length; i++) {
17258 k = i * 2;
17259 product = digits[i] * digits[i];
17260 carry = (product / BigInteger_base) | 0;
17261 imult1[k] = product % BigInteger_base;
17262 imult1[k + 1] = carry;
17263 }
17264
17265 // Calculate repeating part
17266 for (i = 0; i < length; i++) {
17267 carry = 0;
17268 k = i * 2 + 1;
17269 for (var j = i + 1; j < length; j++, k++) {
17270 product = digits[j] * digits[i] * 2 + imult1[k] + carry;
17271 carry = (product / BigInteger_base) | 0;
17272 imult1[k] = product % BigInteger_base;
17273 }
17274 k = length + i;
17275 var digit = carry + imult1[k];
17276 carry = (digit / BigInteger_base) | 0;
17277 imult1[k] = digit % BigInteger_base;
17278 imult1[k + 1] += carry;
17279 }
17280
17281 return new BigInteger(imult1, 1, CONSTRUCT);
17282};
17283
17284/*
17285 Function: quotient
17286 Divide two <BigIntegers> and truncate towards zero.
17287
17288 <quotient> throws an exception if *n* is zero.
17289
17290 Parameters:
17291
17292 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17293
17294 Returns:
17295
17296 The *this* / *n*, truncated to an integer.
17297
17298 See Also:
17299
17300 <add>, <subtract>, <multiply>, <divRem>, <remainder>
17301*/
17302BigInteger.prototype.quotient = function(n) {
17303 return this.divRem(n)[0];
17304};
17305
17306/*
17307 Function: divide
17308 Deprecated synonym for <quotient>.
17309*/
17310BigInteger.prototype.divide = BigInteger.prototype.quotient;
17311
17312/*
17313 Function: remainder
17314 Calculate the remainder of two <BigIntegers>.
17315
17316 <remainder> throws an exception if *n* is zero.
17317
17318 Parameters:
17319
17320 n - The remainder after *this* is divided *this* by *n*. Will be
17321 converted to a <BigInteger>.
17322
17323 Returns:
17324
17325 *this* % *n*.
17326
17327 See Also:
17328
17329 <divRem>, <quotient>
17330*/
17331BigInteger.prototype.remainder = function(n) {
17332 return this.divRem(n)[1];
17333};
17334
17335/*
17336 Function: divRem
17337 Calculate the integer quotient and remainder of two <BigIntegers>.
17338
17339 <divRem> throws an exception if *n* is zero.
17340
17341 Parameters:
17342
17343 n - The number to divide *this* by. Will be converted to a <BigInteger>.
17344
17345 Returns:
17346
17347 A two-element array containing the quotient and the remainder.
17348
17349 > a.divRem(b)
17350
17351 is exactly equivalent to
17352
17353 > [a.quotient(b), a.remainder(b)]
17354
17355 except it is faster, because they are calculated at the same time.
17356
17357 See Also:
17358
17359 <quotient>, <remainder>
17360*/
17361BigInteger.prototype.divRem = function(n) {
17362 n = BigInteger(n);
17363 if (n._s === 0) {
17364 throw new Error("Divide by zero");
17365 }
17366 if (this._s === 0) {
17367 return [ZERO, ZERO];
17368 }
17369 if (n._d.length === 1) {
17370 return this.divRemSmall(n._s * n._d[0]);
17371 }
17372
17373 // Test for easy cases -- |n1| <= |n2|
17374 switch (this.compareAbs(n)) {
17375 case 0: // n1 == n2
17376 return [this._s === n._s ? ONE : M_ONE, ZERO];
17377 case -1: // |n1| < |n2|
17378 return [ZERO, this];
17379 }
17380
17381 var sign = this._s * n._s;
17382 var a = n.abs();
17383 var b_digits = this._d;
17384 var b_index = b_digits.length;
17385 var digits = n._d.length;
17386 var quot = [];
17387 var guess;
17388
17389 var part = new BigInteger([], 0, CONSTRUCT);
17390
17391 while (b_index) {
17392 part._d.unshift(b_digits[--b_index]);
17393 part = new BigInteger(part._d, 1, CONSTRUCT);
17394
17395 if (part.compareAbs(n) < 0) {
17396 quot.push(0);
17397 continue;
17398 }
17399 if (part._s === 0) {
17400 guess = 0;
17401 }
17402 else {
17403 var xlen = part._d.length, ylen = a._d.length;
17404 var highx = part._d[xlen-1]*BigInteger_base + part._d[xlen-2];
17405 var highy = a._d[ylen-1]*BigInteger_base + a._d[ylen-2];
17406 if (part._d.length > a._d.length) {
17407 // The length of part._d can either match a._d length,
17408 // or exceed it by one.
17409 highx = (highx+1)*BigInteger_base;
17410 }
17411 guess = Math.ceil(highx/highy);
17412 }
17413 do {
17414 var check = a.multiplySingleDigit(guess);
17415 if (check.compareAbs(part) <= 0) {
17416 break;
17417 }
17418 guess--;
17419 } while (guess);
17420
17421 quot.push(guess);
17422 if (!guess) {
17423 continue;
17424 }
17425 var diff = part.subtract(check);
17426 part._d = diff._d.slice();
17427 }
17428
17429 return [new BigInteger(quot.reverse(), sign, CONSTRUCT),
17430 new BigInteger(part._d, this._s, CONSTRUCT)];
17431};
17432
17433// Throws an exception if n is outside of (-BigInteger.base, -1] or
17434// [1, BigInteger.base). It's not necessary to call this, since the
17435// other division functions will call it if they are able to.
17436BigInteger.prototype.divRemSmall = function(n) {
17437 var r;
17438 n = +n;
17439 if (n === 0) {
17440 throw new Error("Divide by zero");
17441 }
17442
17443 var n_s = n < 0 ? -1 : 1;
17444 var sign = this._s * n_s;
17445 n = Math.abs(n);
17446
17447 if (n < 1 || n >= BigInteger_base) {
17448 throw new Error("Argument out of range");
17449 }
17450
17451 if (this._s === 0) {
17452 return [ZERO, ZERO];
17453 }
17454
17455 if (n === 1 || n === -1) {
17456 return [(sign === 1) ? this.abs() : new BigInteger(this._d, sign, CONSTRUCT), ZERO];
17457 }
17458
17459 // 2 <= n < BigInteger_base
17460
17461 // divide a single digit by a single digit
17462 if (this._d.length === 1) {
17463 var q = new BigInteger([(this._d[0] / n) | 0], 1, CONSTRUCT);
17464 r = new BigInteger([(this._d[0] % n) | 0], 1, CONSTRUCT);
17465 if (sign < 0) {
17466 q = q.negate();
17467 }
17468 if (this._s < 0) {
17469 r = r.negate();
17470 }
17471 return [q, r];
17472 }
17473
17474 var digits = this._d.slice();
17475 var quot = new Array(digits.length);
17476 var part = 0;
17477 var diff = 0;
17478 var i = 0;
17479 var guess;
17480
17481 while (digits.length) {
17482 part = part * BigInteger_base + digits[digits.length - 1];
17483 if (part < n) {
17484 quot[i++] = 0;
17485 digits.pop();
17486 diff = BigInteger_base * diff + part;
17487 continue;
17488 }
17489 if (part === 0) {
17490 guess = 0;
17491 }
17492 else {
17493 guess = (part / n) | 0;
17494 }
17495
17496 var check = n * guess;
17497 diff = part - check;
17498 quot[i++] = guess;
17499 if (!guess) {
17500 digits.pop();
17501 continue;
17502 }
17503
17504 digits.pop();
17505 part = diff;
17506 }
17507
17508 r = new BigInteger([diff], 1, CONSTRUCT);
17509 if (this._s < 0) {
17510 r = r.negate();
17511 }
17512 return [new BigInteger(quot.reverse(), sign, CONSTRUCT), r];
17513};
17514
17515/*
17516 Function: isEven
17517 Return true iff *this* is divisible by two.
17518
17519 Note that <BigInteger.ZERO> is even.
17520
17521 Returns:
17522
17523 true if *this* is even, false otherwise.
17524
17525 See Also:
17526
17527 <isOdd>
17528*/
17529BigInteger.prototype.isEven = function() {
17530 var digits = this._d;
17531 return this._s === 0 || digits.length === 0 || (digits[0] % 2) === 0;
17532};
17533
17534/*
17535 Function: isOdd
17536 Return true iff *this* is not divisible by two.
17537
17538 Returns:
17539
17540 true if *this* is odd, false otherwise.
17541
17542 See Also:
17543
17544 <isEven>
17545*/
17546BigInteger.prototype.isOdd = function() {
17547 return !this.isEven();
17548};
17549
17550/*
17551 Function: sign
17552 Get the sign of a <BigInteger>.
17553
17554 Returns:
17555
17556 * -1 if *this* < 0
17557 * 0 if *this* == 0
17558 * +1 if *this* > 0
17559
17560 See Also:
17561
17562 <isZero>, <isPositive>, <isNegative>, <compare>, <BigInteger.ZERO>
17563*/
17564BigInteger.prototype.sign = function() {
17565 return this._s;
17566};
17567
17568/*
17569 Function: isPositive
17570 Return true iff *this* > 0.
17571
17572 Returns:
17573
17574 true if *this*.compare(<BigInteger.ZERO>) == 1.
17575
17576 See Also:
17577
17578 <sign>, <isZero>, <isNegative>, <isUnit>, <compare>, <BigInteger.ZERO>
17579*/
17580BigInteger.prototype.isPositive = function() {
17581 return this._s > 0;
17582};
17583
17584/*
17585 Function: isNegative
17586 Return true iff *this* < 0.
17587
17588 Returns:
17589
17590 true if *this*.compare(<BigInteger.ZERO>) == -1.
17591
17592 See Also:
17593
17594 <sign>, <isPositive>, <isZero>, <isUnit>, <compare>, <BigInteger.ZERO>
17595*/
17596BigInteger.prototype.isNegative = function() {
17597 return this._s < 0;
17598};
17599
17600/*
17601 Function: isZero
17602 Return true iff *this* == 0.
17603
17604 Returns:
17605
17606 true if *this*.compare(<BigInteger.ZERO>) == 0.
17607
17608 See Also:
17609
17610 <sign>, <isPositive>, <isNegative>, <isUnit>, <BigInteger.ZERO>
17611*/
17612BigInteger.prototype.isZero = function() {
17613 return this._s === 0;
17614};
17615
17616/*
17617 Function: exp10
17618 Multiply a <BigInteger> by a power of 10.
17619
17620 This is equivalent to, but faster than
17621
17622 > if (n >= 0) {
17623 > return this.multiply(BigInteger("1e" + n));
17624 > }
17625 > else { // n <= 0
17626 > return this.quotient(BigInteger("1e" + -n));
17627 > }
17628
17629 Parameters:
17630
17631 n - The power of 10 to multiply *this* by. *n* is converted to a
17632 javascipt number and must be no greater than <BigInteger.MAX_EXP>
17633 (0x7FFFFFFF), or an exception will be thrown.
17634
17635 Returns:
17636
17637 *this* * (10 ** *n*), truncated to an integer if necessary.
17638
17639 See Also:
17640
17641 <pow>, <multiply>
17642*/
17643BigInteger.prototype.exp10 = function(n) {
17644 n = +n;
17645 if (n === 0) {
17646 return this;
17647 }
17648 if (Math.abs(n) > Number(MAX_EXP)) {
17649 throw new Error("exponent too large in BigInteger.exp10");
17650 }
17651 // Optimization for this == 0. This also keeps us from having to trim zeros in the positive n case
17652 if (this._s === 0) {
17653 return ZERO;
17654 }
17655 if (n > 0) {
17656 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17657
17658 for (; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17659 k._d.unshift(0);
17660 }
17661 if (n == 0)
17662 return k;
17663 k._s = 1;
17664 k = k.multiplySingleDigit(Math.pow(10, n));
17665 return (this._s < 0 ? k.negate() : k);
17666 } else if (-n >= this._d.length*BigInteger_base_log10) {
17667 return ZERO;
17668 } else {
17669 var k = new BigInteger(this._d.slice(), this._s, CONSTRUCT);
17670
17671 for (n = -n; n >= BigInteger_base_log10; n -= BigInteger_base_log10) {
17672 k._d.shift();
17673 }
17674 return (n == 0) ? k : k.divRemSmall(Math.pow(10, n))[0];
17675 }
17676};
17677
17678/*
17679 Function: pow
17680 Raise a <BigInteger> to a power.
17681
17682 In this implementation, 0**0 is 1.
17683
17684 Parameters:
17685
17686 n - The exponent to raise *this* by. *n* must be no greater than
17687 <BigInteger.MAX_EXP> (0x7FFFFFFF), or an exception will be thrown.
17688
17689 Returns:
17690
17691 *this* raised to the *nth* power.
17692
17693 See Also:
17694
17695 <modPow>
17696*/
17697BigInteger.prototype.pow = function(n) {
17698 if (this.isUnit()) {
17699 if (this._s > 0) {
17700 return this;
17701 }
17702 else {
17703 return BigInteger(n).isOdd() ? this : this.negate();
17704 }
17705 }
17706
17707 n = BigInteger(n);
17708 if (n._s === 0) {
17709 return ONE;
17710 }
17711 else if (n._s < 0) {
17712 if (this._s === 0) {
17713 throw new Error("Divide by zero");
17714 }
17715 else {
17716 return ZERO;
17717 }
17718 }
17719 if (this._s === 0) {
17720 return ZERO;
17721 }
17722 if (n.isUnit()) {
17723 return this;
17724 }
17725
17726 if (n.compareAbs(MAX_EXP) > 0) {
17727 throw new Error("exponent too large in BigInteger.pow");
17728 }
17729 var x = this;
17730 var aux = ONE;
17731 var two = BigInteger.small[2];
17732
17733 while (n.isPositive()) {
17734 if (n.isOdd()) {
17735 aux = aux.multiply(x);
17736 if (n.isUnit()) {
17737 return aux;
17738 }
17739 }
17740 x = x.square();
17741 n = n.quotient(two);
17742 }
17743
17744 return aux;
17745};
17746
17747/*
17748 Function: modPow
17749 Raise a <BigInteger> to a power (mod m).
17750
17751 Because it is reduced by a modulus, <modPow> is not limited by
17752 <BigInteger.MAX_EXP> like <pow>.
17753
17754 Parameters:
17755
17756 exponent - The exponent to raise *this* by. Must be positive.
17757 modulus - The modulus.
17758
17759 Returns:
17760
17761 *this* ^ *exponent* (mod *modulus*).
17762
17763 See Also:
17764
17765 <pow>, <mod>
17766*/
17767BigInteger.prototype.modPow = function(exponent, modulus) {
17768 var result = ONE;
17769 var base = this;
17770
17771 while (exponent.isPositive()) {
17772 if (exponent.isOdd()) {
17773 result = result.multiply(base).remainder(modulus);
17774 }
17775
17776 exponent = exponent.quotient(BigInteger.small[2]);
17777 if (exponent.isPositive()) {
17778 base = base.square().remainder(modulus);
17779 }
17780 }
17781
17782 return result;
17783};
17784
17785/*
17786 Function: log
17787 Get the natural logarithm of a <BigInteger> as a native JavaScript number.
17788
17789 This is equivalent to
17790
17791 > Math.log(this.toJSValue())
17792
17793 but handles values outside of the native number range.
17794
17795 Returns:
17796
17797 log( *this* )
17798
17799 See Also:
17800
17801 <toJSValue>
17802*/
17803BigInteger.prototype.log = function() {
17804 switch (this._s) {
17805 case 0: return -Infinity;
17806 case -1: return NaN;
17807 default: // Fall through.
17808 }
17809
17810 var l = this._d.length;
17811
17812 if (l*BigInteger_base_log10 < 30) {
17813 return Math.log(this.valueOf());
17814 }
17815
17816 var N = Math.ceil(30/BigInteger_base_log10);
17817 var firstNdigits = this._d.slice(l - N);
17818 return Math.log((new BigInteger(firstNdigits, 1, CONSTRUCT)).valueOf()) + (l - N) * Math.log(BigInteger_base);
17819};
17820
17821/*
17822 Function: valueOf
17823 Convert a <BigInteger> to a native JavaScript integer.
17824
17825 This is called automatically by JavaScipt to convert a <BigInteger> to a
17826 native value.
17827
17828 Returns:
17829
17830 > parseInt(this.toString(), 10)
17831
17832 See Also:
17833
17834 <toString>, <toJSValue>
17835*/
17836BigInteger.prototype.valueOf = function() {
17837 return parseInt(this.toString(), 10);
17838};
17839
17840/*
17841 Function: toJSValue
17842 Convert a <BigInteger> to a native JavaScript integer.
17843
17844 This is the same as valueOf, but more explicitly named.
17845
17846 Returns:
17847
17848 > parseInt(this.toString(), 10)
17849
17850 See Also:
17851
17852 <toString>, <valueOf>
17853*/
17854BigInteger.prototype.toJSValue = function() {
17855 return parseInt(this.toString(), 10);
17856};
17857
17858var MAX_EXP = BigInteger(0x7FFFFFFF);
17859// Constant: MAX_EXP
17860// The largest exponent allowed in <pow> and <exp10> (0x7FFFFFFF or 2147483647).
17861BigInteger.MAX_EXP = MAX_EXP;
17862
17863(function() {
17864 function makeUnary(fn) {
17865 return function(a) {
17866 return fn.call(BigInteger(a));
17867 };
17868 }
17869
17870 function makeBinary(fn) {
17871 return function(a, b) {
17872 return fn.call(BigInteger(a), BigInteger(b));
17873 };
17874 }
17875
17876 function makeTrinary(fn) {
17877 return function(a, b, c) {
17878 return fn.call(BigInteger(a), BigInteger(b), BigInteger(c));
17879 };
17880 }
17881
17882 (function() {
17883 var i, fn;
17884 var unary = "toJSValue,isEven,isOdd,sign,isZero,isNegative,abs,isUnit,square,negate,isPositive,toString,next,prev,log".split(",");
17885 var binary = "compare,remainder,divRem,subtract,add,quotient,divide,multiply,pow,compareAbs".split(",");
17886 var trinary = ["modPow"];
17887
17888 for (i = 0; i < unary.length; i++) {
17889 fn = unary[i];
17890 BigInteger[fn] = makeUnary(BigInteger.prototype[fn]);
17891 }
17892
17893 for (i = 0; i < binary.length; i++) {
17894 fn = binary[i];
17895 BigInteger[fn] = makeBinary(BigInteger.prototype[fn]);
17896 }
17897
17898 for (i = 0; i < trinary.length; i++) {
17899 fn = trinary[i];
17900 BigInteger[fn] = makeTrinary(BigInteger.prototype[fn]);
17901 }
17902
17903 BigInteger.exp10 = function(x, n) {
17904 return BigInteger(x).exp10(n);
17905 };
17906 })();
17907})();
17908
17909exports.BigInteger = BigInteger;
17910})(typeof exports !== 'undefined' ? exports : this);
95f04905
IC
17911</script>
17912 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.zxcvbn = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
17913var adjacency_graphs;adjacency_graphs={qwerty:{"!":["`~",null,null,"2@","qQ",null],'"':[";:","[{","]}",null,null,"/?"],"#":["2@",null,null,"4$","eE","wW"],$:["3#",null,null,"5%","rR","eE"],"%":["4$",null,null,"6^","tT","rR"],"&":["6^",null,null,"8*","uU","yY"],"'":[";:","[{","]}",null,null,"/?"],"(":["8*",null,null,"0)","oO","iI"],")":["9(",null,null,"-_","pP","oO"],"*":["7&",null,null,"9(","iI","uU"],"+":["-_",null,null,null,"]}","[{"],",":["mM","kK","lL",".>",null,null],"-":["0)",null,null,"=+","[{","pP"],".":[",<","lL",";:","/?",null,null],"/":[".>",";:","'\"",null,null,null],0:["9(",null,null,"-_","pP","oO"],1:["`~",null,null,"2@","qQ",null],2:["1!",null,null,"3#","wW","qQ"],3:["2@",null,null,"4$","eE","wW"],4:["3#",null,null,"5%","rR","eE"],5:["4$",null,null,"6^","tT","rR"],6:["5%",null,null,"7&","yY","tT"],7:["6^",null,null,"8*","uU","yY"],8:["7&",null,null,"9(","iI","uU"],9:["8*",null,null,"0)","oO","iI"],":":["lL","pP","[{","'\"","/?",".>"],";":["lL","pP","[{","'\"","/?",".>"],"<":["mM","kK","lL",".>",null,null],"=":["-_",null,null,null,"]}","[{"],">":[",<","lL",";:","/?",null,null],"?":[".>",";:","'\"",null,null,null],"@":["1!",null,null,"3#","wW","qQ"],A:[null,"qQ","wW","sS","zZ",null],B:["vV","gG","hH","nN",null,null],C:["xX","dD","fF","vV",null,null],D:["sS","eE","rR","fF","cC","xX"],E:["wW","3#","4$","rR","dD","sS"],F:["dD","rR","tT","gG","vV","cC"],G:["fF","tT","yY","hH","bB","vV"],H:["gG","yY","uU","jJ","nN","bB"],I:["uU","8*","9(","oO","kK","jJ"],J:["hH","uU","iI","kK","mM","nN"],K:["jJ","iI","oO","lL",",<","mM"],L:["kK","oO","pP",";:",".>",",<"],M:["nN","jJ","kK",",<",null,null],N:["bB","hH","jJ","mM",null,null],O:["iI","9(","0)","pP","lL","kK"],P:["oO","0)","-_","[{",";:","lL"],Q:[null,"1!","2@","wW","aA",null],R:["eE","4$","5%","tT","fF","dD"],S:["aA","wW","eE","dD","xX","zZ"],T:["rR","5%","6^","yY","gG","fF"],U:["yY","7&","8*","iI","jJ","hH"],V:["cC","fF","gG","bB",null,null],W:["qQ","2@","3#","eE","sS","aA"],X:["zZ","sS","dD","cC",null,null],Y:["tT","6^","7&","uU","hH","gG"],Z:[null,"aA","sS","xX",null,null],"[":["pP","-_","=+","]}","'\"",";:"],"\\":["]}",null,null,null,null,null],"]":["[{","=+",null,"\\|",null,"'\""],"^":["5%",null,null,"7&","yY","tT"],_:["0)",null,null,"=+","[{","pP"],"`":[null,null,null,"1!",null,null],a:[null,"qQ","wW","sS","zZ",null],b:["vV","gG","hH","nN",null,null],c:["xX","dD","fF","vV",null,null],d:["sS","eE","rR","fF","cC","xX"],e:["wW","3#","4$","rR","dD","sS"],f:["dD","rR","tT","gG","vV","cC"],g:["fF","tT","yY","hH","bB","vV"],h:["gG","yY","uU","jJ","nN","bB"],i:["uU","8*","9(","oO","kK","jJ"],j:["hH","uU","iI","kK","mM","nN"],k:["jJ","iI","oO","lL",",<","mM"],l:["kK","oO","pP",";:",".>",",<"],m:["nN","jJ","kK",",<",null,null],n:["bB","hH","jJ","mM",null,null],o:["iI","9(","0)","pP","lL","kK"],p:["oO","0)","-_","[{",";:","lL"],q:[null,"1!","2@","wW","aA",null],r:["eE","4$","5%","tT","fF","dD"],s:["aA","wW","eE","dD","xX","zZ"],t:["rR","5%","6^","yY","gG","fF"],u:["yY","7&","8*","iI","jJ","hH"],v:["cC","fF","gG","bB",null,null],w:["qQ","2@","3#","eE","sS","aA"],x:["zZ","sS","dD","cC",null,null],y:["tT","6^","7&","uU","hH","gG"],z:[null,"aA","sS","xX",null,null],"{":["pP","-_","=+","]}","'\"",";:"],"|":["]}",null,null,null,null,null],"}":["[{","=+",null,"\\|",null,"'\""],"~":[null,null,null,"1!",null,null]},dvorak:{"!":["`~",null,null,"2@","'\"",null],'"':[null,"1!","2@",",<","aA",null],"#":["2@",null,null,"4$",".>",",<"],$:["3#",null,null,"5%","pP",".>"],"%":["4$",null,null,"6^","yY","pP"],"&":["6^",null,null,"8*","gG","fF"],"'":[null,"1!","2@",",<","aA",null],"(":["8*",null,null,"0)","rR","cC"],")":["9(",null,null,"[{","lL","rR"],"*":["7&",null,null,"9(","cC","gG"],"+":["/?","]}",null,"\\|",null,"-_"],",":["'\"","2@","3#",".>","oO","aA"],"-":["sS","/?","=+",null,null,"zZ"],".":[",<","3#","4$","pP","eE","oO"],"/":["lL","[{","]}","=+","-_","sS"],0:["9(",null,null,"[{","lL","rR"],1:["`~",null,null,"2@","'\"",null],2:["1!",null,null,"3#",",<","'\""],3:["2@",null,null,"4$",".>",",<"],4:["3#",null,null,"5%","pP",".>"],5:["4$",null,null,"6^","yY","pP"],6:["5%",null,null,"7&","fF","yY"],7:["6^",null,null,"8*","gG","fF"],8:["7&",null,null,"9(","cC","gG"],9:["8*",null,null,"0)","rR","cC"],":":[null,"aA","oO","qQ",null,null],";":[null,"aA","oO","qQ",null,null],"<":["'\"","2@","3#",".>","oO","aA"],"=":["/?","]}",null,"\\|",null,"-_"],">":[",<","3#","4$","pP","eE","oO"],"?":["lL","[{","]}","=+","-_","sS"],"@":["1!",null,null,"3#",",<","'\""],A:[null,"'\"",",<","oO",";:",null],B:["xX","dD","hH","mM",null,null],C:["gG","8*","9(","rR","tT","hH"],D:["iI","fF","gG","hH","bB","xX"],E:["oO",".>","pP","uU","jJ","qQ"],F:["yY","6^","7&","gG","dD","iI"],G:["fF","7&","8*","cC","hH","dD"],H:["dD","gG","cC","tT","mM","bB"],I:["uU","yY","fF","dD","xX","kK"],J:["qQ","eE","uU","kK",null,null],K:["jJ","uU","iI","xX",null,null],L:["rR","0)","[{","/?","sS","nN"],M:["bB","hH","tT","wW",null,null],N:["tT","rR","lL","sS","vV","wW"],O:["aA",",<",".>","eE","qQ",";:"],P:[".>","4$","5%","yY","uU","eE"],Q:[";:","oO","eE","jJ",null,null],R:["cC","9(","0)","lL","nN","tT"],S:["nN","lL","/?","-_","zZ","vV"],T:["hH","cC","rR","nN","wW","mM"],U:["eE","pP","yY","iI","kK","jJ"],V:["wW","nN","sS","zZ",null,null],W:["mM","tT","nN","vV",null,null],X:["kK","iI","dD","bB",null,null],Y:["pP","5%","6^","fF","iI","uU"],Z:["vV","sS","-_",null,null,null],"[":["0)",null,null,"]}","/?","lL"],"\\":["=+",null,null,null,null,null],"]":["[{",null,null,null,"=+","/?"],"^":["5%",null,null,"7&","fF","yY"],_:["sS","/?","=+",null,null,"zZ"],"`":[null,null,null,"1!",null,null],a:[null,"'\"",",<","oO",";:",null],b:["xX","dD","hH","mM",null,null],c:["gG","8*","9(","rR","tT","hH"],d:["iI","fF","gG","hH","bB","xX"],e:["oO",".>","pP","uU","jJ","qQ"],f:["yY","6^","7&","gG","dD","iI"],g:["fF","7&","8*","cC","hH","dD"],h:["dD","gG","cC","tT","mM","bB"],i:["uU","yY","fF","dD","xX","kK"],j:["qQ","eE","uU","kK",null,null],k:["jJ","uU","iI","xX",null,null],l:["rR","0)","[{","/?","sS","nN"],m:["bB","hH","tT","wW",null,null],n:["tT","rR","lL","sS","vV","wW"],o:["aA",",<",".>","eE","qQ",";:"],p:[".>","4$","5%","yY","uU","eE"],q:[";:","oO","eE","jJ",null,null],r:["cC","9(","0)","lL","nN","tT"],s:["nN","lL","/?","-_","zZ","vV"],t:["hH","cC","rR","nN","wW","mM"],u:["eE","pP","yY","iI","kK","jJ"],v:["wW","nN","sS","zZ",null,null],w:["mM","tT","nN","vV",null,null],x:["kK","iI","dD","bB",null,null],y:["pP","5%","6^","fF","iI","uU"],z:["vV","sS","-_",null,null,null],"{":["0)",null,null,"]}","/?","lL"],"|":["=+",null,null,null,null,null],"}":["[{",null,null,null,"=+","/?"],"~":[null,null,null,"1!",null,null]},keypad:{"*":["/",null,null,null,"-","+","9","8"],"+":["9","*","-",null,null,null,null,"6"],"-":["*",null,null,null,null,null,"+","9"],".":["0","2","3",null,null,null,null,null],"/":[null,null,null,null,"*","9","8","7"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6",null,null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","+",null,null,"3","2"],7:[null,null,null,"/","8","5","4",null],8:["7",null,"/","*","9","6","5","4"],9:["8","/","*","-","+",null,"6","5"]},mac_keypad:{"*":["/",null,null,null,null,null,"-","9"],"+":["6","9","-",null,null,null,null,"3"],"-":["9","/","*",null,null,null,"+","6"],".":["0","2","3",null,null,null,null,null],"/":["=",null,null,null,"*","-","9","8"],0:[null,"1","2","3",".",null,null,null],1:[null,null,"4","5","2","0",null,null],2:["1","4","5","6","3",".","0",null],3:["2","5","6","+",null,null,".","0"],4:[null,null,"7","8","5","2","1",null],5:["4","7","8","9","6","3","2","1"],6:["5","8","9","-","+",null,"3","2"],7:[null,null,null,"=","8","5","4",null],8:["7",null,"=","/","9","6","5","4"],9:["8","=","/","*","-","+","6","5"],"=":[null,null,null,null,"/","9","8","7"]}},module.exports=adjacency_graphs;
17914
17915},{}],2:[function(require,module,exports){
17916var feedback,scoring;scoring=require("./scoring"),feedback={default_feedback:{warning:"",suggestions:["Use a few words, avoid common phrases","No need for symbols, digits, or uppercase letters"]},get_feedback:function(e,s){var a,t,r,n,o,i;if(0===s.length)return this.default_feedback;if(e>2)return{warning:"",suggestions:[]};for(n=s[0],i=s.slice(1),t=0,r=i.length;t<r;t++)o=i[t],o.token.length>n.token.length&&(n=o);return feedback=this.get_match_feedback(n,1===s.length),a="Add another word or two. Uncommon words are better.",null!=feedback?(feedback.suggestions.unshift(a),null==feedback.warning&&(feedback.warning="")):feedback={warning:"",suggestions:[a]},feedback},get_match_feedback:function(e,s){var a,t;switch(e.pattern){case"dictionary":return this.get_dictionary_match_feedback(e,s);case"spatial":return a=e.graph.toUpperCase(),t=1===e.turns?"Straight rows of keys are easy to guess":"Short keyboard patterns are easy to guess",{warning:t,suggestions:["Use a longer keyboard pattern with more turns"]};case"repeat":return t=1===e.base_token.length?'Repeats like "aaa" are easy to guess':'Repeats like "abcabcabc" are only slightly harder to guess than "abc"',{warning:t,suggestions:["Avoid repeated words and characters"]};case"sequence":return{warning:"Sequences like abc or 6543 are easy to guess",suggestions:["Avoid sequences"]};case"regex":if("recent_year"===e.regex_name)return{warning:"Recent years are easy to guess",suggestions:["Avoid recent years","Avoid years that are associated with you"]};break;case"date":return{warning:"Dates are often easy to guess",suggestions:["Avoid dates and years that are associated with you"]}}},get_dictionary_match_feedback:function(e,s){var a,t,r,n,o;return n="passwords"===e.dictionary_name?!s||e.l33t||e.reversed?e.guesses_log10<=4?"This is similar to a commonly used password":void 0:e.rank<=10?"This is a top-10 common password":e.rank<=100?"This is a top-100 common password":"This is a very common password":"english"===e.dictionary_name?s?"A word by itself is easy to guess":void 0:"surnames"===(a=e.dictionary_name)||"male_names"===a||"female_names"===a?s?"Names and surnames by themselves are easy to guess":"Common names and surnames are easy to guess":"",r=[],o=e.token,o.match(scoring.START_UPPER)?r.push("Capitalization doesn't help very much"):o.match(scoring.ALL_UPPER)&&o.toLowerCase()!==o&&r.push("All-uppercase is almost as easy to guess as all-lowercase"),e.reversed&&e.token.length>=4&&r.push("Reversed words aren't much harder to guess"),e.l33t&&r.push("Predictable substitutions like '@' instead of 'a' don't help very much"),t={warning:n,suggestions:r}}},module.exports=feedback;
17917
17918},{"./scoring":6}],3:[function(require,module,exports){
17919var frequency_lists;frequency_lists={passwords:"123456,password,12345678,qwerty,123456789,12345,1234,111111,1234567,dragon,123123,baseball,abc123,football,monkey,letmein,shadow,master,696969,mustang,666666,qwertyuiop,123321,1234567890,pussy,superman,654321,1qaz2wsx,7777777,fuckyou,qazwsx,jordan,123qwe,000000,killer,trustno1,hunter,harley,zxcvbnm,asdfgh,buster,batman,soccer,tigger,charlie,sunshine,iloveyou,fuckme,ranger,hockey,computer,starwars,asshole,pepper,klaster,112233,zxcvbn,freedom,princess,maggie,pass,ginger,11111111,131313,fuck,love,cheese,159753,summer,chelsea,dallas,biteme,matrix,yankees,6969,corvette,austin,access,thunder,merlin,secret,diamond,hello,hammer,fucker,1234qwer,silver,gfhjkm,internet,samantha,golfer,scooter,test,orange,cookie,q1w2e3r4t5,maverick,sparky,phoenix,mickey,bigdog,snoopy,guitar,whatever,chicken,camaro,mercedes,peanut,ferrari,falcon,cowboy,welcome,sexy,samsung,steelers,smokey,dakota,arsenal,boomer,eagles,tigers,marina,nascar,booboo,gateway,yellow,porsche,monster,spider,diablo,hannah,bulldog,junior,london,purple,compaq,lakers,iceman,qwer1234,hardcore,cowboys,money,banana,ncc1701,boston,tennis,q1w2e3r4,coffee,scooby,123654,nikita,yamaha,mother,barney,brandy,chester,fuckoff,oliver,player,forever,rangers,midnight,chicago,bigdaddy,redsox,angel,badboy,fender,jasper,slayer,rabbit,natasha,marine,bigdick,wizard,marlboro,raiders,prince,casper,fishing,flower,jasmine,iwantu,panties,adidas,winter,winner,gandalf,password1,enter,ghbdtn,1q2w3e4r,golden,cocacola,jordan23,winston,madison,angels,panther,blowme,sexsex,bigtits,spanky,bitch,sophie,asdfasdf,horny,thx1138,toyota,tiger,dick,canada,12344321,blowjob,8675309,muffin,liverpoo,apples,qwerty123,passw0rd,abcd1234,pokemon,123abc,slipknot,qazxsw,123456a,scorpion,qwaszx,butter,startrek,rainbow,asdfghjkl,razz,newyork,redskins,gemini,cameron,qazwsxedc,florida,liverpool,turtle,sierra,viking,booger,butthead,doctor,rocket,159357,dolphins,captain,bandit,jaguar,packers,pookie,peaches,789456,asdf,dolphin,helpme,blue,theman,maxwell,qwertyui,shithead,lovers,maddog,giants,nirvana,metallic,hotdog,rosebud,mountain,warrior,stupid,elephant,suckit,success,bond007,jackass,alexis,porn,lucky,scorpio,samson,q1w2e3,azerty,rush2112,driver,freddy,1q2w3e4r5t,sydney,gators,dexter,red123,123456q,12345a,bubba,creative,voodoo,golf,trouble,america,nissan,gunner,garfield,bullshit,asdfghjk,5150,fucking,apollo,1qazxsw2,2112,eminem,legend,airborne,bear,beavis,apple,brooklyn,godzilla,skippy,4815162342,buddy,qwert,kitten,magic,shelby,beaver,phantom,asdasd,xavier,braves,darkness,blink182,copper,platinum,qweqwe,tomcat,01012011,girls,bigboy,102030,animal,police,online,11223344,voyager,lifehack,12qwaszx,fish,sniper,315475,trinity,blazer,heaven,lover,snowball,playboy,loveme,bubbles,hooters,cricket,willow,donkey,topgun,nintendo,saturn,destiny,pakistan,pumpkin,digital,sergey,redwings,explorer,tits,private,runner,therock,guinness,lasvegas,beatles,789456123,fire,cassie,christin,qwerty1,celtic,asdf1234,andrey,broncos,007007,babygirl,eclipse,fluffy,cartman,michigan,carolina,testing,alexande,birdie,pantera,cherry,vampire,mexico,dickhead,buffalo,genius,montana,beer,minecraft,maximus,flyers,lovely,stalker,metallica,doggie,snickers,speedy,bronco,lol123,paradise,yankee,horses,magnum,dreams,147258369,lacrosse,ou812,goober,enigma,qwertyu,scotty,pimpin,bollocks,surfer,cock,poohbear,genesis,star,asd123,qweasdzxc,racing,hello1,hawaii,eagle1,viper,poopoo,einstein,boobies,12345q,bitches,drowssap,simple,badger,alaska,action,jester,drummer,111222,spitfire,forest,maryjane,champion,diesel,svetlana,friday,hotrod,147258,chevy,lucky1,westside,security,google,badass,tester,shorty,thumper,hitman,mozart,zaq12wsx,boobs,reddog,010203,lizard,a123456,123456789a,ruslan,eagle,1232323q,scarface,qwerty12,147852,a12345,buddha,porno,420420,spirit,money1,stargate,qwe123,naruto,mercury,liberty,12345qwert,semperfi,suzuki,popcorn,spooky,marley,scotland,kitty,cherokee,vikings,simpsons,rascal,qweasd,hummer,loveyou,michael1,patches,russia,jupiter,penguin,passion,cumshot,vfhbyf,honda,vladimir,sandman,passport,raider,bastard,123789,infinity,assman,bulldogs,fantasy,sucker,1234554321,horney,domino,budlight,disney,ironman,usuckballz1,softball,brutus,redrum,bigred,mnbvcxz,fktrcfylh,karina,marines,digger,kawasaki,cougar,fireman,oksana,monday,cunt,justice,nigger,super,wildcats,tinker,logitech,dancer,swordfis,avalon,everton,alexandr,motorola,patriots,hentai,madonna,pussy1,ducati,colorado,connor,juventus,galore,smooth,freeuser,warcraft,boogie,titanic,wolverin,elizabet,arizona,valentin,saints,asdfg,accord,test123,password123,christ,yfnfif,stinky,slut,spiderma,naughty,chopper,hello123,ncc1701d,extreme,skyline,poop,zombie,pearljam,123qweasd,froggy,awesome,vision,pirate,fylhtq,dreamer,bullet,predator,empire,123123a,kirill,charlie1,panthers,penis,skipper,nemesis,rasdzv3,peekaboo,rolltide,cardinal,psycho,danger,mookie,happy1,wanker,chevelle,manutd,goblue,9379992,hobbes,vegeta,fyfcnfcbz,852456,picard,159951,windows,loverboy,victory,vfrcbv,bambam,serega,123654789,turkey,tweety,galina,hiphop,rooster,changeme,berlin,taurus,suckme,polina,electric,avatar,134679,maksim,raptor,alpha1,hendrix,newport,bigcock,brazil,spring,a1b2c3,madmax,alpha,britney,sublime,darkside,bigman,wolfpack,classic,hercules,ronaldo,letmein1,1q2w3e,741852963,spiderman,blizzard,123456789q,cheyenne,cjkysirj,tiger1,wombat,bubba1,pandora,zxc123,holiday,wildcat,devils,horse,alabama,147852369,caesar,12312,buddy1,bondage,pussycat,pickle,shaggy,catch22,leather,chronic,a1b2c3d4,admin,qqq111,qaz123,airplane,kodiak,freepass,billybob,sunset,katana,phpbb,chocolat,snowman,angel1,stingray,firebird,wolves,zeppelin,detroit,pontiac,gundam,panzer,vagina,outlaw,redhead,tarheels,greenday,nastya,01011980,hardon,engineer,dragon1,hellfire,serenity,cobra,fireball,lickme,darkstar,1029384756,01011,mustang1,flash,124578,strike,beauty,pavilion,01012000,bobafett,dbrnjhbz,bigmac,bowling,chris1,ytrewq,natali,pyramid,rulez,welcome1,dodgers,apache,swimming,whynot,teens,trooper,fuckit,defender,precious,135790,packard,weasel,popeye,lucifer,cancer,icecream,142536,raven,swordfish,presario,viktor,rockstar,blonde,james1,wutang,spike,pimp,atlanta,airforce,thailand,casino,lennon,mouse,741852,hacker,bluebird,hawkeye,456123,theone,catfish,sailor,goldfish,nfnmzyf,tattoo,pervert,barbie,maxima,nipples,machine,trucks,wrangler,rocks,tornado,lights,cadillac,bubble,pegasus,madman,longhorn,browns,target,666999,eatme,qazwsx123,microsoft,dilbert,christia,baller,lesbian,shooter,xfiles,seattle,qazqaz,cthutq,amateur,prelude,corona,freaky,malibu,123qweasdzxc,assassin,246810,atlantis,integra,pussies,iloveu,lonewolf,dragons,monkey1,unicorn,software,bobcat,stealth,peewee,openup,753951,srinivas,zaqwsx,valentina,shotgun,trigger,veronika,bruins,coyote,babydoll,joker,dollar,lestat,rocky1,hottie,random,butterfly,wordpass,smiley,sweety,snake,chipper,woody,samurai,devildog,gizmo,maddie,soso123aljg,mistress,freedom1,flipper,express,hjvfirf,moose,cessna,piglet,polaris,teacher,montreal,cookies,wolfgang,scully,fatboy,wicked,balls,tickle,bunny,dfvgbh,foobar,transam,pepsi,fetish,oicu812,basketba,toshiba,hotstuff,sunday,booty,gambit,31415926,impala,stephani,jessica1,hooker,lancer,knicks,shamrock,fuckyou2,stinger,314159,redneck,deftones,squirt,siemens,blaster,trucker,subaru,renegade,ibanez,manson,swinger,reaper,blondie,mylove,galaxy,blahblah,enterpri,travel,1234abcd,babylon5,indiana,skeeter,master1,sugar,ficken,smoke,bigone,sweetpea,fucked,trfnthbyf,marino,escort,smitty,bigfoot,babes,larisa,trumpet,spartan,valera,babylon,asdfghj,yankees1,bigboobs,stormy,mister,hamlet,aardvark,butterfl,marathon,paladin,cavalier,manchester,skater,indigo,hornet,buckeyes,01011990,indians,karate,hesoyam,toronto,diamonds,chiefs,buckeye,1qaz2wsx3edc,highland,hotsex,charger,redman,passwor,maiden,drpepper,storm,pornstar,garden,12345678910,pencil,sherlock,timber,thuglife,insane,pizza,jungle,jesus1,aragorn,1a2b3c,hamster,david1,triumph,techno,lollol,pioneer,catdog,321654,fktrctq,morpheus,141627,pascal,shadow1,hobbit,wetpussy,erotic,consumer,blabla,justme,stones,chrissy,spartak,goforit,burger,pitbull,adgjmptw,italia,barcelona,hunting,colors,kissme,virgin,overlord,pebbles,sundance,emerald,doggy,racecar,irina,element,1478963,zipper,alpine,basket,goddess,poison,nipple,sakura,chichi,huskers,13579,pussys,q12345,ultimate,ncc1701e,blackie,nicola,rommel,matthew1,caserta,omega,geronimo,sammy1,trojan,123qwe123,philips,nugget,tarzan,chicks,aleksandr,bassman,trixie,portugal,anakin,dodger,bomber,superfly,madness,q1w2e3r4t5y6,loser,123asd,fatcat,ybrbnf,soldier,warlock,wrinkle1,desire,sexual,babe,seminole,alejandr,951753,11235813,westham,andrei,concrete,access14,weed,letmein2,ladybug,naked,christop,trombone,tintin,bluesky,rhbcnbyf,qazxswedc,onelove,cdtnkfyf,whore,vfvjxrf,titans,stallion,truck,hansolo,blue22,smiles,beagle,panama,kingkong,flatron,inferno,mongoose,connect,poiuyt,snatch,qawsed,juice,blessed,rocker,snakes,turbo,bluemoon,sex4me,finger,jamaica,a1234567,mulder,beetle,fuckyou1,passat,immortal,plastic,123454321,anthony1,whiskey,dietcoke,suck,spunky,magic1,monitor,cactus,exigen,planet,ripper,teen,spyder,apple1,nolimit,hollywoo,sluts,sticky,trunks,1234321,14789632,pickles,sailing,bonehead,ghbdtnbr,delta,charlott,rubber,911911,112358,molly1,yomama,hongkong,jumper,william1,ilovesex,faster,unreal,cumming,memphis,1123581321,nylons,legion,sebastia,shalom,pentium,geheim,werewolf,funtime,ferret,orion,curious,555666,niners,cantona,sprite,philly,pirates,abgrtyu,lollipop,eternity,boeing,super123,sweets,cooldude,tottenha,green1,jackoff,stocking,7895123,moomoo,martini,biscuit,drizzt,colt45,fossil,makaveli,snapper,satan666,maniac,salmon,patriot,verbatim,nasty,shasta,asdzxc,shaved,blackcat,raistlin,qwerty12345,punkrock,cjkywt,01012010,4128,waterloo,crimson,twister,oxford,musicman,seinfeld,biggie,condor,ravens,megadeth,wolfman,cosmos,sharks,banshee,keeper,foxtrot,gn56gn56,skywalke,velvet,black1,sesame,dogs,squirrel,privet,sunrise,wolverine,sucks,legolas,grendel,ghost,cats,carrot,frosty,lvbnhbq,blades,stardust,frog,qazwsxed,121314,coolio,brownie,groovy,twilight,daytona,vanhalen,pikachu,peanuts,licker,hershey,jericho,intrepid,ninja,1234567a,zaq123,lobster,goblin,punisher,strider,shogun,kansas,amadeus,seven7,jason1,neptune,showtime,muscle,oldman,ekaterina,rfrfirf,getsome,showme,111222333,obiwan,skittles,danni,tanker,maestro,tarheel,anubis,hannibal,anal,newlife,gothic,shark,fighter,blue123,blues,123456z,princes,slick,chaos,thunder1,sabine,1q2w3e4r5t6y,python,test1,mirage,devil,clover,tequila,chelsea1,surfing,delete,potato,chubby,panasonic,sandiego,portland,baggins,fusion,sooners,blackdog,buttons,californ,moscow,playtime,mature,1a2b3c4d,dagger,dima,stimpy,asdf123,gangster,warriors,iverson,chargers,byteme,swallow,liquid,lucky7,dingdong,nymets,cracker,mushroom,456852,crusader,bigguy,miami,dkflbvbh,bugger,nimrod,tazman,stranger,newpass,doodle,powder,gotcha,guardian,dublin,slapshot,septembe,147896325,pepsi1,milano,grizzly,woody1,knights,photos,2468,nookie,charly,rammstein,brasil,123321123,scruffy,munchkin,poopie,123098,kittycat,latino,walnut,1701,thegame,viper1,1passwor,kolobok,picasso,robert1,barcelon,bananas,trance,auburn,coltrane,eatshit,goodluck,starcraft,wheels,parrot,postal,blade,wisdom,pink,gorilla,katerina,pass123,andrew1,shaney14,dumbass,osiris,fuck_inside,oakland,discover,ranger1,spanking,lonestar,bingo,meridian,ping,heather1,dookie,stonecol,megaman,192837465,rjntyjr,ledzep,lowrider,25802580,richard1,firefly,griffey,racerx,paradox,ghjcnj,gangsta,zaq1xsw2,tacobell,weezer,sirius,halflife,buffett,shiloh,123698745,vertigo,sergei,aliens,sobaka,keyboard,kangaroo,sinner,soccer1,0.0.000,bonjour,socrates,chucky,hotboy,sprint,0007,sarah1,scarlet,celica,shazam,formula1,sommer,trebor,qwerasdf,jeep,mailcreated5240,bollox,asshole1,fuckface,honda1,rebels,vacation,lexmark,penguins,12369874,ragnarok,formula,258456,tempest,vfhecz,tacoma,qwertz,colombia,flames,rockon,duck,prodigy,wookie,dodgeram,mustangs,123qaz,sithlord,smoker,server,bang,incubus,scoobydo,oblivion,molson,kitkat,titleist,rescue,zxcv1234,carpet,1122,bigballs,tardis,jimbob,xanadu,blueeyes,shaman,mersedes,pooper,pussy69,golfing,hearts,mallard,12312312,kenwood,patrick1,dogg,cowboys1,oracle,123zxc,nuttertools,102938,topper,1122334455,shemale,sleepy,gremlin,yourmom,123987,gateway1,printer,monkeys,peterpan,mikey,kingston,cooler,analsex,jimbo,pa55word,asterix,freckles,birdman,frank1,defiant,aussie,stud,blondes,tatyana,445566,aspirine,mariners,jackal,deadhead,katrin,anime,rootbeer,frogger,polo,scooter1,hallo,noodles,thomas1,parola,shaolin,celine,11112222,plymouth,creampie,justdoit,ohyeah,fatass,assfuck,amazon,1234567q,kisses,magnus,camel,nopass,bosco,987456,6751520,harley1,putter,champs,massive,spidey,lightnin,camelot,letsgo,gizmodo,aezakmi,bones,caliente,12121,goodtime,thankyou,raiders1,brucelee,redalert,aquarius,456654,catherin,smokin,pooh,mypass,astros,roller,porkchop,sapphire,qwert123,kevin1,a1s2d3f4,beckham,atomic,rusty1,vanilla,qazwsxedcrfv,hunter1,kaktus,cxfcnmt,blacky,753159,elvis1,aggies,blackjac,bangkok,scream,123321q,iforgot,power1,kasper,abc12,buster1,slappy,shitty,veritas,chevrole,amber1,01012001,vader,amsterdam,jammer,primus,spectrum,eduard,granny,horny1,sasha1,clancy,usa123,satan,diamond1,hitler,avenger,1221,spankme,123456qwerty,simba,smudge,scrappy,labrador,john316,syracuse,front242,falcons,husker,candyman,commando,gator,pacman,delta1,pancho,krishna,fatman,clitoris,pineappl,lesbians,8j4ye3uz,barkley,vulcan,punkin,boner,celtics,monopoly,flyboy,romashka,hamburg,123456aa,lick,gangbang,223344,area51,spartans,aaa111,tricky,snuggles,drago,homerun,vectra,homer1,hermes,topcat,cuddles,infiniti,1234567890q,cosworth,goose,phoenix1,killer1,ivanov,bossman,qawsedrf,peugeot,exigent,doberman,durango,brandon1,plumber,telefon,horndog,laguna,rbhbkk,dawg,webmaster,breeze,beast,porsche9,beefcake,leopard,redbull,oscar1,topdog,godsmack,theking,pics,omega1,speaker,viktoria,fuckers,bowler,starbuck,gjkbyf,valhalla,anarchy,blacks,herbie,kingpin,starfish,nokia,loveit,achilles,906090,labtec,ncc1701a,fitness,jordan1,brando,arsenal1,bull,kicker,napass,desert,sailboat,bohica,tractor,hidden,muppet,jackson1,jimmy1,terminator,phillies,pa55w0rd,terror,farside,swingers,legacy,frontier,butthole,doughboy,jrcfyf,tuesday,sabbath,daniel1,nebraska,homers,qwertyuio,azamat,fallen,agent007,striker,camels,iguana,looker,pinkfloy,moloko,qwerty123456,dannyboy,luckydog,789654,pistol,whocares,charmed,skiing,select,franky,puppy,daniil,vladik,vette,vfrcbvrf,ihateyou,nevada,moneys,vkontakte,mandingo,puppies,666777,mystic,zidane,kotenok,dilligaf,budman,bunghole,zvezda,123457,triton,golfball,technics,trojans,panda,laptop,rookie,01011991,15426378,aberdeen,gustav,jethro,enterprise,igor,stripper,filter,hurrican,rfnthbyf,lespaul,gizmo1,butch,132435,dthjybrf,1366613,excalibu,963852,nofear,momoney,possum,cutter,oilers,moocow,cupcake,gbpltw,batman1,splash,svetik,super1,soleil,bogdan,melissa1,vipers,babyboy,tdutybq,lancelot,ccbill,keystone,passwort,flamingo,firefox,dogman,vortex,rebel,noodle,raven1,zaphod,killme,pokemon1,coolman,danila,designer,skinny,kamikaze,deadman,gopher,doobie,warhammer,deeznuts,freaks,engage,chevy1,steve1,apollo13,poncho,hammers,azsxdc,dracula,000007,sassy,bitch1,boots,deskjet,12332,macdaddy,mighty,rangers1,manchest,sterlin,casey1,meatball,mailman,sinatra,cthulhu,summer1,bubbas,cartoon,bicycle,eatpussy,truelove,sentinel,tolkien,breast,capone,lickit,summit,123456k,peter1,daisy1,kitty1,123456789z,crazy1,jamesbon,texas1,sexygirl,362436,sonic,billyboy,redhot,microsof,microlab,daddy1,rockets,iloveyo,fernand,gordon24,danie,cutlass,polska,star69,titties,pantyhos,01011985,thekid,aikido,gofish,mayday,1234qwe,coke,anfield,sony,lansing,smut,scotch,sexx,catman,73501505,hustler,saun,dfkthbz,passwor1,jenny1,azsxdcfv,cheers,irish1,gabrie,tinman,orioles,1225,charlton,fortuna,01011970,airbus,rustam,xtreme,bigmoney,zxcasd,retard,grumpy,huskies,boxing,4runner,kelly1,ultima,warlord,fordf150,oranges,rotten,asdfjkl,superstar,denali,sultan,bikini,saratoga,thor,figaro,sixers,wildfire,vladislav,128500,sparta,mayhem,greenbay,chewie,music1,number1,cancun,fabie,mellon,poiuytrewq,cloud9,crunch,bigtime,chicken1,piccolo,bigbird,321654987,billy1,mojo,01011981,maradona,sandro,chester1,bizkit,rjirfrgbde,789123,rightnow,jasmine1,hyperion,treasure,meatloaf,armani,rovers,jarhead,01011986,cruise,coconut,dragoon,utopia,davids,cosmo,rfhbyf,reebok,1066,charli,giorgi,sticks,sayang,pass1234,exodus,anaconda,zaqxsw,illini,woofwoof,emily1,sandy1,packer,poontang,govols,jedi,tomato,beaner,cooter,creamy,lionking,happy123,albatros,poodle,kenworth,dinosaur,greens,goku,happyday,eeyore,tsunami,cabbage,holyshit,turkey50,memorex,chaser,bogart,orgasm,tommy1,volley,whisper,knopka,ericsson,walleye,321123,pepper1,katie1,chickens,tyler1,corrado,twisted,100000,zorro,clemson,zxcasdqwe,tootsie,milana,zenith,fktrcfylhf,shania,frisco,polniypizdec0211,crazybab,junebug,fugazi,rereirf,vfvekz,1001,sausage,vfczyz,koshka,clapton,justin1,anhyeuem,condom,fubar,hardrock,skywalker,tundra,cocks,gringo,150781,canon,vitalik,aspire,stocks,samsung1,applepie,abc12345,arjay,gandalf1,boob,pillow,sparkle,gmoney,rockhard,lucky13,samiam,everest,hellyeah,bigsexy,skorpion,rfrnec,hedgehog,australi,candle,slacker,dicks,voyeur,jazzman,america1,bobby1,br0d3r,wolfie,vfksirf,1qa2ws3ed,13243546,fright,yosemite,temp,karolina,fart,barsik,surf,cheetah,baddog,deniska,starship,bootie,milena,hithere,kume,greatone,dildo,50cent,0.0.0.000,albion,amanda1,midget,lion,maxell,football1,cyclone,freeporn,nikola,bonsai,kenshin,slider,balloon,roadkill,killbill,222333,jerkoff,78945612,dinamo,tekken,rambler,goliath,cinnamon,malaka,backdoor,fiesta,packers1,rastaman,fletch,sojdlg123aljg,stefano,artemis,calico,nyjets,damnit,robotech,duchess,rctybz,hooter,keywest,18436572,hal9000,mechanic,pingpong,operator,presto,sword,rasputin,spank,bristol,faggot,shado,963852741,amsterda,321456,wibble,carrera,alibaba,majestic,ramses,duster,route66,trident,clipper,steeler,wrestlin,divine,kipper,gotohell,kingfish,snake1,passwords,buttman,pompey,viagra,zxcvbnm1,spurs,332211,slutty,lineage2,oleg,macross,pooter,brian1,qwert1,charles1,slave,jokers,yzerman,swimmer,ne1469,nwo4life,solnce,seamus,lolipop,pupsik,moose1,ivanova,secret1,matador,love69,420247,ktyjxrf,subway,cinder,vermont,pussie,chico,florian,magick,guiness,allsop,ghetto,flash1,a123456789,typhoon,dfkthf,depeche,skydive,dammit,seeker,fuckthis,crysis,kcj9wx5n,umbrella,r2d2c3po,123123q,snoopdog,critter,theboss,ding,162534,splinter,kinky,cyclops,jayhawk,456321,caramel,qwer123,underdog,caveman,onlyme,grapes,feather,hotshot,fuckher,renault,george1,sex123,pippen,000001,789987,floppy,cunts,megapass,1000,pornos,usmc,kickass,great1,quattro,135246,wassup,helloo,p0015123,nicole1,chivas,shannon1,bullseye,java,fishes,blackhaw,jamesbond,tunafish,juggalo,dkflbckfd,123789456,dallas1,translator,122333,beanie,alucard,gfhjkm123,supersta,magicman,ashley1,cohiba,xbox360,caligula,12131415,facial,7753191,dfktynbyf,cobra1,cigars,fang,klingon,bob123,safari,looser,10203,deepthroat,malina,200000,tazmania,gonzo,goalie,jacob1,monaco,cruiser,misfit,vh5150,tommyboy,marino13,yousuck,sharky,vfhufhbnf,horizon,absolut,brighton,123456r,death1,kungfu,maxx,forfun,mamapapa,enter1,budweise,banker,getmoney,kostya,qazwsx12,bigbear,vector,fallout,nudist,gunners,royals,chainsaw,scania,trader,blueboy,walrus,eastside,kahuna,qwerty1234,love123,steph,01011989,cypress,champ,undertaker,ybrjkfq,europa,snowboar,sabres,moneyman,chrisbln,minime,nipper,groucho,whitey,viewsonic,penthous,wolf359,fabric,flounder,coolguy,whitesox,passme,smegma,skidoo,thanatos,fucku2,snapple,dalejr,mondeo,thesims,mybaby,panasoni,sinbad,thecat,topher,frodo,sneakers,q123456,z1x2c3,alfa,chicago1,taylor1,ghjcnjnfr,cat123,olivier,cyber,titanium,0420,madison1,jabroni,dang,hambone,intruder,holly1,gargoyle,sadie1,static,poseidon,studly,newcastl,sexxxx,poppy,johannes,danzig,beastie,musica,buckshot,sunnyday,adonis,bluedog,bonkers,2128506,chrono,compute,spawn,01011988,turbo1,smelly,wapbbs,goldstar,ferrari1,778899,quantum,pisces,boomboom,gunnar,1024,test1234,florida1,nike,superman1,multiplelo,custom,motherlode,1qwerty,westwood,usnavy,apple123,daewoo,korn,stereo,sasuke,sunflowe,watcher,dharma,555777,mouse1,assholes,babyblue,123qwerty,marius,walmart,snoop,starfire,tigger1,paintbal,knickers,aaliyah,lokomotiv,theend,winston1,sapper,rover,erotica,scanner,racer,zeus,sexy69,doogie,bayern,joshua1,newbie,scott1,losers,droopy,outkast,martin1,dodge1,wasser,ufkbyf,rjycnfynby,thirteen,12345z,112211,hotred,deejay,hotpussy,192837,jessic,philippe,scout,panther1,cubbies,havefun,magpie,fghtkm,avalanch,newyork1,pudding,leonid,harry1,cbr600,audia4,bimmer,fucku,01011984,idontknow,vfvfgfgf,1357,aleksey,builder,01011987,zerocool,godfather,mylife,donuts,allmine,redfish,777888,sascha,nitram,bounce,333666,smokes,1x2zkg8w,rodman,stunner,zxasqw12,hoosier,hairy,beretta,insert,123456s,rtyuehe,francesc,tights,cheese1,micron,quartz,hockey1,gegcbr,searay,jewels,bogey,paintball,celeron,padres,bing,syncmaster,ziggy,simon1,beaches,prissy,diehard,orange1,mittens,aleksandra,queens,02071986,biggles,thongs,southpark,artur,twinkle,gretzky,rabota,cambiami,monalisa,gollum,chuckles,spike1,gladiator,whisky,spongebob,sexy1,03082006,mazafaka,meathead,4121,ou8122,barefoot,12345678q,cfitymrf,bigass,a1s2d3,kosmos,blessing,titty,clevelan,terrapin,ginger1,johnboy,maggot,clarinet,deeznutz,336699,stumpy,stoney,footbal,traveler,volvo,bucket,snapon,pianoman,hawkeyes,futbol,casanova,tango,goodboy,scuba,honey1,sexyman,warthog,mustard,abc1234,nickel,10203040,meowmeow,1012,boricua,prophet,sauron,12qwas,reefer,andromeda,crystal1,joker1,90210,goofy,loco,lovesex,triangle,whatsup,mellow,bengals,monster1,maste,01011910,lover1,love1,123aaa,sunshin,smeghead,hokies,sting,welder,rambo,cerberus,bunny1,rockford,monke,1q2w3e4r5,goldwing,gabriell,buzzard,crjhgbjy,james007,rainman,groove,tiberius,purdue,nokia6300,hayabusa,shou,jagger,diver,zigzag,poochie,usarmy,phish,redwood,redwing,12345679,salamander,silver1,abcd123,sputnik,boobie,ripple,eternal,12qw34er,thegreat,allstar,slinky,gesperrt,mishka,whiskers,pinhead,overkill,sweet1,rhfcjnrf,montgom240,sersolution,jamie1,starman,proxy,swords,nikolay,bacardi,rasta,badgirl,rebecca1,wildman,penny1,spaceman,1007,10101,logan1,hacked,bulldog1,helmet,windsor,buffy1,runescape,trapper,123451,banane,dbrnjh,ripken,12345qwe,frisky,shun,fester,oasis,lightning,ib6ub9,cicero,kool,pony,thedog,784512,01011992,megatron,illusion,edward1,napster,11223,squash,roadking,woohoo,19411945,hoosiers,01091989,tracker,bagira,midway,leavemealone,br549,14725836,235689,menace,rachel1,feng,laser,stoned,realmadrid,787898,balloons,tinkerbell,5551212,maria1,pobeda,heineken,sonics,moonlight,optimus,comet,orchid,02071982,jaybird,kashmir,12345678a,chuang,chunky,peach,mortgage,rulezzz,saleen,chuckie,zippy,fishing1,gsxr750,doghouse,maxim,reader,shai,buddah,benfica,chou,salomon,meister,eraser,blackbir,bigmike,starter,pissing,angus,deluxe,eagles1,hardcock,135792468,mian,seahawks,godfathe,bookworm,gregor,intel,talisman,blackjack,babyface,hawaiian,dogfood,zhong,01011975,sancho,ludmila,medusa,mortimer,123456654321,roadrunn,just4me,stalin,01011993,handyman,alphabet,pizzas,calgary,clouds,password2,cgfhnfr,f**k,cubswin,gong,lexus,max123,xxx123,digital1,gfhjkm1,7779311,missy1,michae,beautifu,gator1,1005,pacers,buddie,chinook,heckfy,dutchess,sally1,breasts,beowulf,darkman,jenn,tiffany1,zhei,quan,qazwsx1,satana,shang,idontkno,smiths,puddin,nasty1,teddybea,valkyrie,passwd,chao,boxster,killers,yoda,cheater,inuyasha,beast1,wareagle,foryou,dragonball,mermaid,bhbirf,teddy1,dolphin1,misty1,delphi,gromit,sponge,qazzaq,fytxrf,gameover,diao,sergi,beamer,beemer,kittykat,rancid,manowar,adam12,diggler,assword,austin1,wishbone,gonavy,sparky1,fisting,thedude,sinister,1213,venera,novell,salsero,jayden,fuckoff1,linda1,vedder,02021987,1pussy,redline,lust,jktymrf,02011985,dfcbkbq,dragon12,chrome,gamecube,titten,cong,bella1,leng,02081988,eureka,bitchass,147369,banner,lakota,123321a,mustafa,preacher,hotbox,02041986,z1x2c3v4,playstation,01011977,claymore,electra,checkers,zheng,qing,armagedon,02051986,wrestle,svoboda,bulls,nimbus,alenka,madina,newpass6,onetime,aa123456,bartman,02091987,silverad,electron,12345t,devil666,oliver1,skylar,rhtdtlrj,gobucks,johann,12011987,milkman,02101985,camper,thunderb,bigbutt,jammin,davide,cheeks,goaway,lighter,claudi,thumbs,pissoff,ghostrider,cocaine,teng,squall,lotus,hootie,blackout,doitnow,subzero,02031986,marine1,02021988,pothead,123456qw,skate,1369,peng,antoni,neng,miao,bcfields,1492,marika,794613,musashi,tulips,nong,piao,chai,ruan,southpar,02061985,nude,mandarin,654123,ninjas,cannabis,jetski,xerxes,zhuang,kleopatra,dickie,bilbo,pinky,morgan1,1020,1017,dieter,baseball1,tottenham,quest,yfnfkmz,dirtbike,1234567890a,mango,jackson5,ipswich,iamgod,02011987,tdutybz,modena,qiao,slippery,qweasd123,bluefish,samtron,toon,111333,iscool,02091986,petrov,fuzzy,zhou,1357924680,mollydog,deng,02021986,1236987,pheonix,zhun,ghblehjr,othello,starcraf,000111,sanfran,a11111,cameltoe,badman,vasilisa,jiang,1qaz2ws,luan,sveta,12qw12,akira,chuai,369963,cheech,beatle,pickup,paloma,01011983,caravan,elizaveta,gawker,banzai,pussey,mullet,seng,bingo1,bearcat,flexible,farscape,borussia,zhuai,templar,guitar1,toolman,yfcntymrf,chloe1,xiang,slave1,guai,nuggets,02081984,mantis,slim,scorpio1,fyutkbyf,thedoors,02081987,02061986,123qq123,zappa,fergie,7ugd5hip2j,huai,asdfzxcv,sunflower,pussyman,deadpool,bigtit,01011982,love12,lassie,skyler,gatorade,carpedie,jockey,mancity,spectre,02021984,cameron1,artemka,reng,02031984,iomega,jing,moritz,spice,rhino,spinner,heater,zhai,hover,talon,grease,qiong,corleone,ltybcrf,tian,cowboy1,hippie,chimera,ting,alex123,02021985,mickey1,corsair,sonoma,aaron1,xxxpass,bacchus,webmaste,chuo,xyz123,chrysler,spurs1,artem,shei,cosmic,01020304,deutsch,gabriel1,123455,oceans,987456321,binladen,latinas,a12345678,speedo,buttercu,02081989,21031988,merlot,millwall,ceng,kotaku,jiong,dragonba,2580,stonecold,snuffy,01011999,02011986,hellos,blaze,maggie1,slapper,istanbul,bonjovi,babylove,mazda,bullfrog,phoeni,meng,porsche1,nomore,02061989,bobdylan,capslock,orion1,zaraza,teddybear,ntktajy,myname,rong,wraith,mets,niao,02041984,smokie,chevrolet,dialog,gfhjkmgfhjkm,dotcom,vadim,monarch,athlon,mikey1,hamish,pian,liang,coolness,chui,thoma,ramones,ciccio,chippy,eddie1,house1,ning,marker,cougars,jackpot,barbados,reds,pdtplf,knockers,cobalt,amateurs,dipshit,napoli,kilroy,pulsar,jayhawks,daemon,alexey,weng,shuang,9293709b13,shiner,eldorado,soulmate,mclaren,golfer1,andromed,duan,50spanks,sexyboy,dogshit,02021983,shuo,kakashka,syzygy,111111a,yeahbaby,qiang,netscape,fulham,120676,gooner,zhui,rainbow6,laurent,dog123,halifax,freeway,carlitos,147963,eastwood,microphone,monkey12,1123,persik,coldbeer,geng,nuan,danny1,fgtkmcby,entropy,gadget,just4fun,sophi,baggio,carlito,1234567891,02021989,02041983,specialk,piramida,suan,bigblue,salasana,hopeful,mephisto,bailey1,hack,annie1,generic,violetta,spencer1,arcadia,02051983,hondas,9562876,trainer,jones1,smashing,liao,159632,iceberg,rebel1,snooker,temp123,zang,matteo,fastball,q2w3e4r5,bamboo,fuckyo,shutup,astro,buddyboy,nikitos,redbird,maxxxx,shitface,02031987,kuai,kissmyass,sahara,radiohea,1234asdf,wildcard,maxwell1,patric,plasma,heynow,bruno1,shao,bigfish,misfits,sassy1,sheng,02011988,02081986,testpass,nanook,cygnus,licking,slavik,pringles,xing,1022,ninja1,submit,dundee,tiburon,pinkfloyd,yummy,shuai,guang,chopin,obelix,insomnia,stroker,1a2s3d4f,1223,playboy1,lazarus,jorda,spider1,homerj,sleeper,02041982,darklord,cang,02041988,02041987,tripod,magician,jelly,telephon,15975,vsjasnel12,pasword,iverson3,pavlov,homeboy,gamecock,amigo,brodie,budapest,yjdsqgfhjkm,reckless,02011980,pang,tiger123,2469,mason1,orient,01011979,zong,cdtnbr,maksimka,1011,bushido,taxman,giorgio,sphinx,kazantip,02101984,concorde,verizon,lovebug,georg,sam123,seadoo,qazwsxedc123,jiao,jezebel,pharmacy,abnormal,jellybea,maxime,puffy,islander,bunnies,jiggaman,drakon,010180,pluto,zhjckfd,12365,classics,crusher,mordor,hooligan,strawberry,02081985,scrabble,hawaii50,1224,wg8e3wjf,cthtuf,premium,arrow,123456qwe,mazda626,ramrod,tootie,rhjrjlbk,ghost1,1211,bounty,niang,02071984,goat,killer12,sweetnes,porno1,masamune,426hemi,corolla,mariposa,hjccbz,doomsday,bummer,blue12,zhao,bird33,excalibur,samsun,kirsty,buttfuck,kfhbcf,zhuo,marcello,ozzy,02021982,dynamite,655321,master12,123465,lollypop,stepan,1qa2ws,spiker,goirish,callum,michael2,moonbeam,attila,henry1,lindros,andrea1,sporty,lantern,12365478,nextel,violin,volcom,998877,water1,imation,inspiron,dynamo,citadel,placebo,clowns,tiao,02061988,tripper,dabears,haggis,merlin1,02031985,anthrax,amerika,iloveme,vsegda,burrito,bombers,snowboard,forsaken,katarina,a1a2a3,woofer,tigger2,fullmoon,tiger2,spock,hannah1,snoopy1,sexxxy,sausages,stanislav,cobain,robotics,exotic,green123,mobydick,senators,pumpkins,fergus,asddsa,147741,258852,windsurf,reddevil,vfitymrf,nevermind,nang,woodland,4417,mick,shui,q1q2q3,wingman,69696,superb,zuan,ganesh,pecker,zephyr,anastasiya,icu812,larry1,02081982,broker,zalupa,mihail,vfibyf,dogger,7007,paddle,varvara,schalke,1z2x3c,presiden,yankees2,tuning,poopy,02051982,concord,vanguard,stiffy,rjhjktdf,felix1,wrench,firewall,boxer,bubba69,popper,02011984,temppass,gobears,cuan,tipper,fuckme1,kamila,thong,puss,bigcat,drummer1,02031982,sowhat,digimon,tigers1,rang,jingle,bian,uranus,soprano,mandy1,dusty1,fandango,aloha,pumpkin1,postman,02061980,dogcat,bombay,pussy123,onetwo,highheel,pippo,julie1,laura1,pepito,beng,smokey1,stylus,stratus,reload,duckie,karen1,jimbo1,225588,369258,krusty,snappy,asdf12,electro,111qqq,kuang,fishin,clit,abstr,christma,qqqqq1,1234560,carnage,guyver,boxers,kittens,zeng,1000000,qwerty11,toaster,cramps,yugioh,02061987,icehouse,zxcvbnm123,pineapple,namaste,harrypotter,mygirl,falcon1,earnhard,fender1,spikes,nutmeg,01081989,dogboy,02091983,369852,softail,mypassword,prowler,bigboss,1112,harvest,heng,jubilee,killjoy,basset,keng,zaqxswcde,redsox1,biao,titan,misfit99,robot,wifey,kidrock,02101987,gameboy,enrico,1z2x3c4v,broncos1,arrows,havana,banger,cookie1,chriss,123qw,platypus,cindy1,lumber,pinball,foxy,london1,1023,05051987,02041985,password12,superma,longbow,radiohead,nigga,12051988,spongebo,qwert12345,abrakadabra,dodgers1,02101989,chillin,niceguy,pistons,hookup,santafe,bigben,jets,1013,vikings1,mankind,viktoriya,beardog,hammer1,02071980,reddwarf,magelan,longjohn,jennife,gilles,carmex2,02071987,stasik,bumper,doofus,slamdunk,pixies,garion,steffi,alessandro,beerman,niceass,warrior1,honolulu,134679852,visa,johndeer,mother1,windmill,boozer,oatmeal,aptiva,busty,delight,tasty,slick1,bergkamp,badgers,guitars,puffin,02091981,nikki1,irishman,miller1,zildjian,123000,airwolf,magnet,anai,install,02041981,02061983,astra,romans,megan1,mudvayne,freebird,muscles,dogbert,02091980,02091984,snowflak,01011900,mang,joseph1,nygiants,playstat,junior1,vjcrdf,qwer12,webhompas,giraffe,pelican,jefferso,comanche,bruiser,monkeybo,kjkszpj,123456l,micro,albany,02051987,angel123,epsilon,aladin,death666,hounddog,josephin,altima,chilly,02071988,78945,ultra,02041979,gasman,thisisit,pavel,idunno,kimmie,05051985,paulie,ballin,medion,moondog,manolo,pallmall,climber,fishbone,genesis1,153624,toffee,tbone,clippers,krypton,jerry1,picturs,compass,111111q,02051988,1121,02081977,sairam,getout,333777,cobras,22041987,bigblock,severin,booster,norwich,whiteout,ctrhtn,123456m,02061984,hewlett,shocker,fuckinside,02031981,chase1,white1,versace,123456789s,basebal,iloveyou2,bluebell,08031986,anthon,stubby,foreve,undertak,werder,saiyan,mama123,medic,chipmunk,mike123,mazdarx7,qwe123qwe,bowwow,kjrjvjnbd,celeb,choochoo,demo,lovelife,02051984,colnago,lithium,02051989,15051981,zzzxxx,welcom,anastasi,fidelio,franc,26061987,roadster,stone55,drifter,hookem,hellboy,1234qw,cbr900rr,sinned,good123654,storm1,gypsy,zebra,zachary1,toejam,buceta,02021979,testing1,redfox,lineage,mike1,highbury,koroleva,nathan1,washingt,02061982,02091985,vintage,redbaron,dalshe,mykids,11051987,macbeth,julien,james123,krasotka,111000,10011986,987123,pipeline,tatarin,sensei,codered,komodo,frogman,7894561230,nascar24,juicy,01031988,redrose,mydick,pigeon,tkbpfdtnf,smirnoff,1215,spam,winner1,flyfish,moskva,81fukkc,21031987,olesya,starligh,summer99,13041988,fishhead,freesex,super12,06061986,azazel,scoobydoo,02021981,cabron,yogibear,sheba1,konstantin,tranny,chilli,terminat,ghbywtccf,slowhand,soccer12,cricket1,fuckhead,1002,seagull,achtung,blam,bigbob,bdsm,nostromo,survivor,cnfybckfd,lemonade,boomer1,rainbow1,rober,irinka,cocksuck,peaches1,itsme,sugar1,zodiac,upyours,dinara,135791,sunny1,chiara,johnson1,02041989,solitude,habibi,sushi,markiz,smoke1,rockies,catwoman,johnny1,qwerty7,bearcats,username,01011978,wanderer,ohshit,02101986,sigma,stephen1,paradigm,02011989,flanker,sanity,jsbach,spotty,bologna,fantasia,chevys,borabora,cocker,74108520,123ewq,12021988,01061990,gtnhjdbx,02071981,01011960,sundevil,3000gt,mustang6,gagging,maggi,armstron,yfnfkb,13041987,revolver,02021976,trouble1,madcat,jeremy1,jackass1,volkswag,30051985,corndog,pool6123,marines1,03041991,pizza1,piggy,sissy,02031979,sunfire,angelus,undead,24061986,14061991,wildbill,shinobi,45m2do5bs,123qwer,21011989,cleopatr,lasvega,hornets,amorcit,11081989,coventry,nirvana1,destin,sidekick,20061988,02081983,gbhfvblf,sneaky,bmw325,22021989,nfytxrf,sekret,kalina,zanzibar,hotone,qazws,wasabi,heidi1,highlander,blues1,hitachi,paolo,23041987,slayer1,simba1,02011981,tinkerbe,kieran,01121986,172839,boiler,1125,bluesman,waffle,asdfgh01,threesom,conan,1102,reflex,18011987,nautilus,everlast,fatty,vader1,01071986,cyborg,ghbdtn123,birddog,rubble,02071983,suckers,02021973,skyhawk,12qw12qw,dakota1,joebob,nokia6233,woodie,longdong,lamer,troll,ghjcnjgfhjkm,420000,boating,nitro,armada,messiah,1031,penguin1,02091989,americ,02071989,redeye,asdqwe123,07071987,monty1,goten,spikey,sonata,635241,tokiohotel,sonyericsson,citroen,compaq1,1812,umpire,belmont,jonny,pantera1,nudes,palmtree,14111986,fenway,bighead,razor,gryphon,andyod22,aaaaa1,taco,10031988,enterme,malachi,dogface,reptile,01041985,dindom,handball,marseille,candy1,19101987,torino,tigge,matthias,viewsoni,13031987,stinker,evangelion,24011985,123456123,rampage,sandrine,02081980,thecrow,astral,28041987,sprinter,private1,seabee,shibby,02101988,25081988,fearless,junkie,01091987,aramis,antelope,draven,fuck1,mazda6,eggman,02021990,barselona,buddy123,19061987,fyfnjkbq,nancy1,12121990,10071987,sluggo,kille,hotties,irishka,zxcasdqwe123,shamus,fairlane,honeybee,soccer10,13061986,fantomas,17051988,10051987,20111986,gladiato,karachi,gambler,gordo,01011995,biatch,matthe,25800852,papito,excite,buffalo1,bobdole,cheshire,player1,28021992,thewho,10101986,pinky1,mentor,tomahawk,brown1,03041986,bismillah,bigpoppa,ijrjkfl,01121988,runaway,08121986,skibum,studman,helper,squeak,holycow,manfred,harlem,glock,gideon,987321,14021985,yellow1,wizard1,margarit,success1,medved,sf49ers,lambda,pasadena,johngalt,quasar,1776,02031980,coldplay,amand,playa,bigpimp,04041991,capricorn,elefant,sweetness,bruce1,luca,dominik,10011990,biker,09051945,datsun,elcamino,trinitro,malice,audi,voyager1,02101983,joe123,carpente,spartan1,mario1,glamour,diaper,12121985,22011988,winter1,asimov,callisto,nikolai,pebble,02101981,vendetta,david123,boytoy,11061985,02031989,iloveyou1,stupid1,cayman,casper1,zippo,yamahar1,wildwood,foxylady,calibra,02041980,27061988,dungeon,leedsutd,30041986,11051990,bestbuy,antares,dominion,24680,01061986,skillet,enforcer,derparol,01041988,196969,29071983,f00tball,purple1,mingus,25031987,21031990,remingto,giggles,klaste,3x7pxr,01011994,coolcat,29051989,megane,20031987,02051980,04041988,synergy,0000007,macman,iforget,adgjmp,vjqgfhjkm,28011987,rfvfcenhf,16051989,25121987,16051987,rogue,mamamia,08051990,20091991,1210,carnival,bolitas,paris1,dmitriy,dimas,05051989,papillon,knuckles,29011985,hola,tophat,28021990,100500,cutiepie,devo,415263,ducks,ghjuhfvvf,asdqwe,22021986,freefall,parol,02011983,zarina,buste,vitamin,warez,bigones,17061988,baritone,jamess,twiggy,mischief,bitchy,hetfield,1003,dontknow,grinch,sasha_007,18061990,12031985,12031987,calimero,224466,letmei,15011987,acmilan,alexandre,02031977,08081988,whiteboy,21051991,barney1,02071978,money123,18091985,bigdawg,02031988,cygnusx1,zoloto,31011987,firefigh,blowfish,screamer,lfybbk,20051988,chelse,11121986,01031989,harddick,sexylady,30031988,02041974,auditt,pizdec,kojak,kfgjxrf,20091988,123456ru,wp2003wp,1204,15051990,slugger,kordell1,03031986,swinging,01011974,02071979,rockie,dimples,1234123,1dragon,trucking,rusty2,roger1,marijuana,kerouac,02051978,08031985,paco,thecure,keepout,kernel,noname123,13121985,francisc,bozo,02011982,22071986,02101979,obsidian,12345qw,spud,tabasco,02051985,jaguars,dfktynby,kokomo,popova,notused,sevens,4200,magneto,02051976,roswell,15101986,21101986,lakeside,bigbang,aspen,little1,14021986,loki,suckmydick,strawber,carlos1,nokian73,dirty1,joshu,25091987,16121987,02041975,advent,17011987,slimshady,whistler,10101990,stryker,22031984,15021985,01031985,blueball,26031988,ksusha,bahamut,robocop,w_pass,chris123,impreza,prozac,bookie,bricks,13021990,alice1,cassandr,11111q,john123,4ever,korova,02051973,142857,25041988,paramedi,eclipse1,salope,07091990,1124,darkangel,23021986,999666,nomad,02051981,smackdow,01021990,yoyoma,argentin,moonligh,57chevy,bootys,hardone,capricor,galant,spanker,dkflbr,24111989,magpies,krolik,21051988,cevthrb,cheddar,22041988,bigbooty,scuba1,qwedsa,duffman,bukkake,acura,johncena,sexxy,p@ssw0rd,258369,cherries,12345s,asgard,leopold,fuck123,mopar,lalakers,dogpound,matrix1,crusty,spanner,kestrel,fenris,universa,peachy,assasin,lemmein,eggplant,hejsan,canucks,wendy1,doggy1,aikman,tupac,turnip,godlike,fussball,golden1,19283746,april1,django,petrova,captain1,vincent1,ratman,taekwondo,chocha,serpent,perfect1,capetown,vampir,amore,gymnast,timeout,nbvjatq,blue32,ksenia,k.lvbkf,nazgul,budweiser,clutch,mariya,sylveste,02051972,beaker,cartman1,q11111,sexxx,forever1,loser1,marseill,magellan,vehpbr,sexgod,jktxrf,hallo123,132456,liverpool1,southpaw,seneca,camden,357159,camero,tenchi,johndoe,145236,roofer,741963,vlad,02041978,fktyrf,zxcv123,wingnut,wolfpac,notebook,pufunga7782,brandy1,biteme1,goodgirl,redhat,02031978,challeng,millenium,hoops,maveric,noname,angus1,gaell,onion,olympus,sabrina1,ricard,sixpack,gratis,gagged,camaross,hotgirls,flasher,02051977,bubba123,goldfing,moonshin,gerrard,volkov,sonyfuck,mandrake,258963,tracer,lakers1,asians,susan1,money12,helmut,boater,diablo2,1234zxcv,dogwood,bubbles1,happy2,randy1,aries,beach1,marcius2,navigator,goodie,hellokitty,fkbyjxrf,earthlink,lookout,jumbo,opendoor,stanley1,marie1,12345m,07071977,ashle,wormix,murzik,02081976,lakewood,bluejays,loveya,commande,gateway2,peppe,01011976,7896321,goth,oreo,slammer,rasmus,faith1,knight1,stone1,redskin,ironmaiden,gotmilk,destiny1,dejavu,1master,midnite,timosha,espresso,delfin,toriamos,oberon,ceasar,markie,1a2s3d,ghhh47hj7649,vjkjrj,daddyo,dougie,disco,auggie,lekker,therock1,ou8123,start1,noway,p4ssw0rd,shadow12,333444,saigon,2fast4u,capecod,23skidoo,qazxcv,beater,bremen,aaasss,roadrunner,peace1,12345qwer,02071975,platon,bordeaux,vbkfirf,135798642,test12,supernov,beatles1,qwert40,optimist,vanessa1,prince1,ilovegod,nightwish,natasha1,alchemy,bimbo,blue99,patches1,gsxr1000,richar,hattrick,hott,solaris,proton,nevets,enternow,beavis1,amigos,159357a,ambers,lenochka,147896,suckdick,shag,intercourse,blue1234,spiral,02061977,tosser,ilove,02031975,cowgirl,canuck,q2w3e4,munch,spoons,waterboy,123567,evgeniy,savior,zasada,redcar,mamacita,terefon,globus,doggies,htubcnhfwbz,1008,cuervo,suslik,azertyui,limewire,houston1,stratfor,steaua,coors,tennis1,12345qwerty,stigmata,derf,klondike,patrici,marijuan,hardball,odyssey,nineinch,boston1,pass1,beezer,sandr,charon,power123,a1234,vauxhall,875421,awesome1,reggae,boulder,funstuff,iriska,krokodil,rfntymrf,sterva,champ1,bball,peeper,m123456,toolbox,cabernet,sheepdog,magic32,pigpen,02041977,holein1,lhfrjy,banan,dabomb,natalie1,jennaj,montana1,joecool,funky,steven1,ringo,junio,sammy123,qqqwww,baltimor,footjob,geezer,357951,mash4077,cashmone,pancake,monic,grandam,bongo,yessir,gocubs,nastia,vancouve,barley,dragon69,watford,ilikepie,02071976,laddie,123456789m,hairball,toonarmy,pimpdadd,cvthnm,hunte,davinci,lback,sophie1,firenze,q1234567,admin1,bonanza,elway7,daman,strap,azert,wxcvbn,afrika,theforce,123456t,idefix,wolfen,houdini,scheisse,default,beech,maserati,02061976,sigmachi,dylan1,bigdicks,eskimo,mizzou,02101976,riccardo,egghead,111777,kronos,ghbrjk,chaos1,jomama,rfhnjirf,rodeo,dolemite,cafc91,nittany,pathfind,mikael,password9,vqsablpzla,purpl,gabber,modelsne,myxworld,hellsing,punker,rocknrol,fishon,fuck69,02041976,lolol,twinkie,tripleh,cirrus,redbone,killer123,biggun,allegro,gthcbr,smith1,wanking,bootsy,barry1,mohawk,koolaid,5329,futurama,samoht,klizma,996633,lobo,honeys,peanut1,556677,zxasqw,joemama,javelin,samm,223322,sandra1,flicks,montag,nataly,3006,tasha1,1235789,dogbone,poker1,p0o9i8u7,goodday,smoothie,toocool,max333,metroid,archange,vagabond,billabon,22061941,tyson1,02031973,darkange,skateboard,evolutio,morrowind,wizards,frodo1,rockin,cumslut,plastics,zaqwsxcde,5201314,doit,outback,bumble,dominiqu,persona,nevermore,alinka,02021971,forgetit,sexo,all4one,c2h5oh,petunia,sheeba,kenny1,elisabet,aolsucks,woodstoc,pumper,02011975,fabio,granada,scrapper,123459,minimoni,q123456789,breaker,1004,02091976,ncc74656,slimshad,friendster,austin31,wiseguy,donner,dilbert1,132465,blackbird,buffet,jellybean,barfly,behappy,01011971,carebear,fireblad,02051975,boxcar,cheeky,kiteboy,hello12,panda1,elvisp,opennow,doktor,alex12,02101977,pornking,flamengo,02091975,snowbird,lonesome,robin1,11111a,weed420,baracuda,bleach,12345abc,nokia1,metall,singapor,mariner,herewego,dingo,tycoon,cubs,blunts,proview,123456789d,kamasutra,lagnaf,vipergts,navyseal,starwar,masterbate,wildone,peterbil,cucumber,butkus,123qwert,climax,deniro,gotribe,cement,scooby1,summer69,harrier,shodan,newyear,02091977,starwars1,romeo1,sedona,harald,doubled,sasha123,bigguns,salami,awnyce,kiwi,homemade,pimping,azzer,bradley1,warhamme,linkin,dudeman,qwe321,pinnacle,maxdog,flipflop,lfitymrf,fucker1,acidburn,esquire,sperma,fellatio,jeepster,thedon,sexybitch,pookey,spliff,widget,vfntvfnbrf,trinity1,mutant,samuel1,meliss,gohome,1q2q3q,mercede,comein,grin,cartoons,paragon,henrik,rainyday,pacino,senna,bigdog1,alleycat,12345qaz,narnia,mustang2,tanya1,gianni,apollo11,wetter,clovis,escalade,rainbows,freddy1,smart1,daisydog,s123456,cocksucker,pushkin,lefty,sambo,fyutkjxtr,hiziad,boyz,whiplash,orchard,newark,adrenalin,1598753,bootsie,chelle,trustme,chewy,golfgti,tuscl,ambrosia,5wr2i7h8,penetration,shonuf,jughead,payday,stickman,gotham,kolokol,johnny5,kolbasa,stang,puppydog,charisma,gators1,mone,jakarta,draco,nightmar,01011973,inlove,laetitia,02091973,tarpon,nautica,meadow,0192837465,luckyone,14881488,chessie,goldeney,tarakan,69camaro,bungle,wordup,interne,fuckme2,515000,dragonfl,sprout,02081974,gerbil,bandit1,02071971,melanie1,phialpha,camber,kathy1,adriano,gonzo1,10293847,bigjohn,bismarck,7777777a,scamper,12348765,rabbits,222777,bynthytn,dima123,alexander1,mallorca,dragster,favorite6,beethove,burner,cooper1,fosters,hello2,normandy,777999,sebring,1michael,lauren1,blake1,killa,02091971,nounours,trumpet1,thumper1,playball,xantia,rugby1,rocknroll,guillaum,angela1,strelok,prosper,buttercup,masterp,dbnfkbr,cambridg,venom,treefrog,lumina,1234566,supra,sexybabe,freee,shen,frogs,driller,pavement,grace1,dicky,checker,smackdown,pandas,cannibal,asdffdsa,blue42,zyjxrf,nthvbyfnjh,melrose,neon,jabber,gamma,369258147,aprilia,atticus,benessere,catcher,skipper1,azertyuiop,sixty9,thierry,treetop,jello,melons,123456789qwe,tantra,buzzer,catnip,bouncer,computer1,sexyone,ananas,young1,olenka,sexman,mooses,kittys,sephiroth,contra,hallowee,skylark,sparkles,777333,1qazxsw23edc,lucas1,q1w2e3r,gofast,hannes,amethyst,ploppy,flower2,hotass,amatory,volleyba,dixie1,bettyboo,ticklish,02061974,frenchy,phish1,murphy1,trustno,02061972,leinad,mynameis,spooge,jupiter1,hyundai,frosch,junkmail,abacab,marbles,32167,casio,sunshine1,wayne1,longhair,caster,snicker,02101973,gannibal,skinhead,hansol,gatsby,segblue2,montecar,plato,gumby,kaboom,matty,bosco1,888999,jazzy,panter,jesus123,charlie2,giulia,candyass,sex69,travis1,farmboy,special1,02041973,letsdoit,password01,allison1,abcdefg1,notredam,ilikeit,789654123,liberty1,rugger,uptown,alcatraz,123456w,airman,007bond,navajo,kenobi,terrier,stayout,grisha,frankie1,fluff,1qazzaq1,1234561,virginie,1234568,tango1,werdna,octopus,fitter,dfcbkbcf,blacklab,115599,montrose,allen1,supernova,frederik,ilovepussy,justice1,radeon,playboy2,blubber,sliver,swoosh,motocros,lockdown,pearls,thebear,istheman,pinetree,biit,1234rewq,rustydog,tampabay,titts,babycake,jehovah,vampire1,streaming,collie,camil,fidelity,calvin1,stitch,gatit,restart,puppy1,budgie,grunt,capitals,hiking,dreamcas,zorro1,321678,riffraff,makaka,playmate,napalm,rollin,amstel,zxcvb123,samanth,rumble,fuckme69,jimmys,951357,pizzaman,1234567899,tralala,delpiero,alexi,yamato,itisme,1million,vfndtq,kahlua,londo,wonderboy,carrots,tazz,ratboy,rfgecnf,02081973,nico,fujitsu,tujhrf,sergbest,blobby,02051970,sonic1,1357911,smirnov,video1,panhead,bucky,02031974,44332211,duffer,cashmoney,left4dead,bagpuss,salman,01011972,titfuck,66613666,england1,malish,dresden,lemans,darina,zapper,123456as,123456qqq,met2002,02041972,redstar,blue23,1234509876,pajero,booyah,please1,tetsuo,semper,finder,hanuman,sunlight,123456n,02061971,treble,cupoi,password99,dimitri,3ip76k2,popcorn1,lol12345,stellar,nympho,shark1,keith1,saskia,bigtruck,revoluti,rambo1,asd222,feelgood,phat,gogators,bismark,cola,puck,furball,burnout,slonik,bowtie,mommy1,icecube,fabienn,mouser,papamama,rolex,giants1,blue11,trooper1,momdad,iklo,morten,rhubarb,gareth,123456d,blitz,canada1,r2d2,brest,tigercat,usmarine,lilbit,benny1,azrael,lebowski,12345r,madagaskar,begemot,loverman,dragonballz,italiano,mazda3,naughty1,onions,diver1,cyrano,capcom,asdfg123,forlife,fisherman,weare138,requiem,mufasa,alpha123,piercing,hellas,abracadabra,duckman,caracas,macintos,02011971,jordan2,crescent,fduecn,hogtied,eatmenow,ramjet,18121812,kicksass,whatthe,discus,rfhfvtkmrf,rufus1,sqdwfe,mantle,vegitto,trek,dan123,paladin1,rudeboy,liliya,lunchbox,riversid,acapulco,libero,dnsadm,maison,toomuch,boobear,hemlock,sextoy,pugsley,misiek,athome,migue,altoids,marcin,123450,rhfcfdbwf,jeter2,rhinos,rjhjkm,mercury1,ronaldinho,shampoo,makayla,kamilla,masterbating,tennesse,holger,john1,matchbox,hores,poptart,parlament,goodyear,asdfgh1,02081970,hardwood,alain,erection,hfytnrb,highlife,implants,benjami,dipper,jeeper,bendover,supersonic,babybear,laserjet,gotenks,bama,natedogg,aol123,pokemo,rabbit1,raduga,sopranos,cashflow,menthol,pharao,hacking,334455,ghjcnbnenrf,lizzy,muffin1,pooky,penis1,flyer,gramma,dipset,becca,ireland1,diana1,donjuan,pong,ziggy1,alterego,simple1,cbr900,logger,111555,claudia1,cantona7,matisse,ljxtymrf,victori,harle,mamas,encore,mangos,iceman1,diamon,alexxx,tiamat,5000,desktop,mafia,smurf,princesa,shojou,blueberr,welkom,maximka,123890,123q123,tammy1,bobmarley,clips,demon666,ismail,termite,laser1,missie,altair,donna1,bauhaus,trinitron,mogwai,flyers88,juniper,nokia5800,boroda,jingles,qwerasdfzxcv,shakur,777666,legos,mallrats,1qazxsw,goldeneye,tamerlan,julia1,backbone,spleen,49ers,shady,darkone,medic1,justi,giggle,cloudy,aisan,douche,parkour,bluejay,huskers1,redwine,1qw23er4,satchmo,1231234,nineball,stewart1,ballsack,probes,kappa,amiga,flipper1,dortmund,963258,trigun,1237895,homepage,blinky,screwy,gizzmo,belkin,chemist,coolhand,chachi,braves1,thebest,greedisgood,pro100,banana1,101091m,123456g,wonderfu,barefeet,8inches,1111qqqq,kcchiefs,qweasdzxc123,metal1,jennifer1,xian,asdasd123,pollux,cheerleaers,fruity,mustang5,turbos,shopper,photon,espana,hillbill,oyster,macaroni,gigabyte,jesper,motown,tuxedo,buster12,triplex,cyclones,estrell,mortis,holla,456987,fiddle,sapphic,jurassic,thebeast,ghjcnjq,baura,spock1,metallica1,karaoke,nemrac58,love1234,02031970,flvbybcnhfnjh,frisbee,diva,ajax,feathers,flower1,soccer11,allday,mierda,pearl1,amature,marauder,333555,redheads,womans,egorka,godbless,159263,nimitz,aaaa1111,sashka,madcow,socce,greywolf,baboon,pimpdaddy,123456789r,reloaded,lancia,rfhfylfi,dicker,placid,grimace,22446688,olemiss,whores,culinary,wannabe,maxi,1234567aa,amelie,riley1,trample,phantom1,baberuth,bramble,asdfqwer,vides,4you,abc123456,taichi,aztnm,smother,outsider,hakr,blackhawk,bigblack,girlie,spook,valeriya,gianluca,freedo,1q2q3q4q,handbag,lavalamp,cumm,pertinant,whatup,nokia123,redlight,patrik,111aaa,poppy1,dfytxrf,aviator,sweeps,kristin1,cypher,elway,yinyang,access1,poophead,tucson,noles1,monterey,waterfal,dank,dougal,918273,suede,minnesot,legman,bukowski,ganja,mammoth,riverrat,asswipe,daredevi,lian,arizona1,kamikadze,alex1234,smile1,angel2,55bgates,bellagio,0001,wanrltw,stiletto,lipton,arsena,biohazard,bbking,chappy,tetris,as123456,darthvad,lilwayne,nopassword,7412369,123456789987654321,natchez,glitter,14785236,mytime,rubicon,moto,pyon,wazzup,tbird,shane1,nightowl,getoff,beckham7,trueblue,hotgirl,nevermin,deathnote,13131,taffy,bigal,copenhag,apricot,gallaries,dtkjcbgtl,totoro,onlyone,civicsi,jesse1,baby123,sierra1,festus,abacus,sickboy,fishtank,fungus,charle,golfpro,teensex,mario66,seaside,aleksei,rosewood,blackberry,1020304050,bedlam,schumi,deerhunt,contour,darkelf,surveyor,deltas,pitchers,741258963,dipstick,funny1,lizzard,112233445566,jupiter2,softtail,titman,greenman,z1x2c3v4b5,smartass,12345677,notnow,myworld,nascar1,chewbacc,nosferatu,downhill,dallas22,kuan,blazers,whales,soldat,craving,powerman,yfcntyf,hotrats,cfvceyu,qweasdzx,princess1,feline,qqwwee,chitown,1234qaz,mastermind,114477,dingbat,care1839,standby,kismet,atreides,dogmeat,icarus,monkeyboy,alex1,mouses,nicetits,sealteam,chopper1,crispy,winter99,rrpass1,myporn,myspace1,corazo,topolino,ass123,lawman,muffy,orgy,1love,passord,hooyah,ekmzyf,pretzel,amonra,nestle,01011950,jimbeam,happyman,z12345,stonewal,helios,manunited,harcore,dick1,gaymen,2hot4u,light1,qwerty13,kakashi,pjkjnj,alcatel,taylo,allah,buddydog,ltkmaby,mongo,blonds,start123,audia6,123456v,civilwar,bellaco,turtles,mustan,deadspin,aaa123,fynjirf,lucky123,tortoise,amor,summe,waterski,zulu,drag0n,dtxyjcnm,gizmos,strife,interacial,pusyy,goose1,bear1,equinox,matri,jaguar1,tobydog,sammys,nachos,traktor,bryan1,morgoth,444555,dasani,miami1,mashka,xxxxxx1,ownage,nightwin,hotlips,passmast,cool123,skolko,eldiablo,manu,1357908642,screwyou,badabing,foreplay,hydro,kubrick,seductive,demon1,comeon,galileo,aladdin,metoo,happines,902100,mizuno,caddy,bizzare,girls1,redone,ohmygod,sable,bonovox,girlies,hamper,opus,gizmodo1,aaabbb,pizzahut,999888,rocky2,anton1,kikimora,peavey,ocelot,a1a2a3a4,2wsx3edc,jackie1,solace,sprocket,galary,chuck1,volvo1,shurik,poop123,locutus,virago,wdtnjxtr,tequier,bisexual,doodles,makeitso,fishy,789632145,nothing1,fishcake,sentry,libertad,oaktree,fivestar,adidas1,vegitta,mississi,spiffy,carme,neutron,vantage,agassi,boners,123456789v,hilltop,taipan,barrage,kenneth1,fister,martian,willem,lfybkf,bluestar,moonman,ntktdbpjh,paperino,bikers,daffy,benji,quake,dragonfly,suckcock,danilka,lapochka,belinea,calypso,asshol,camero1,abraxas,mike1234,womam,q1q2q3q4q5,youknow,maxpower,pic's,audi80,sonora,raymond1,tickler,tadpole,belair,crazyman,finalfantasy,999000,jonatha,paisley,kissmyas,morgana,monste,mantra,spunk,magic123,jonesy,mark1,alessand,741258,baddest,ghbdtnrfrltkf,zxccxz,tictac,augustin,racers,7grout,foxfire,99762000,openit,nathanie,1z2x3c4v5b,seadog,gangbanged,lovehate,hondacbr,harpoon,mamochka,fisherma,bismilla,locust,wally1,spiderman1,saffron,utjhubq,123456987,20spanks,safeway,pisser,bdfyjd,kristen1,bigdick1,magenta,vfhujif,anfisa,friday13,qaz123wsx,0987654321q,tyrant,guan,meggie,kontol,nurlan,ayanami,rocket1,yaroslav,websol76,mutley,hugoboss,websolutions,elpaso,gagarin,badboys,sephirot,918273645,newuser,qian,edcrfv,booger1,852258,lockout,timoxa94,mazda323,firedog,sokolova,skydiver,jesus777,1234567890z,soulfly,canary,malinka,guillerm,hookers,dogfart,surfer1,osprey,india123,rhjkbr,stoppedby,nokia5530,123456789o,blue1,werter,divers,3000,123456f,alpina,cali,whoknows,godspeed,986532,foreskin,fuzzy1,heyyou,didier,slapnuts,fresno,rosebud1,sandman1,bears1,blade1,honeybun,queen1,baronn,pakista,philipp,9111961,topsecret,sniper1,214365,slipper,letsfuck,pippen33,godawgs,mousey,qw123456,scrotum,loveis,lighthou,bp2002,nancy123,jeffrey1,susieq,buddy2,ralphie,trout1,willi,antonov,sluttey,rehbwf,marty1,darian,losangeles,letme1n,12345d,pusssy,godiva,ender,golfnut,leonidas,a1b2c3d4e5,puffer,general1,wizzard,lehjxrf,racer1,bigbucks,cool12,buddys,zinger,esprit,vbienrf,josep,tickling,froggie,987654321a,895623,daddys,crumbs,gucci,mikkel,opiate,tracy1,christophe,came11,777555,petrovich,humbug,dirtydog,allstate,horatio,wachtwoord,creepers,squirts,rotary,bigd,georgia1,fujifilm,2sweet,dasha,yorkie,slimjim,wiccan,kenzie,system1,skunk,b12345,getit,pommes,daredevil,sugars,bucker,piston,lionheart,1bitch,515051,catfight,recon,icecold,fantom,vodafone,kontakt,boris1,vfcnth,canine,01011961,valleywa,faraon,chickenwing101,qq123456,livewire,livelife,roosters,jeepers,ilya1234,coochie,pavlik,dewalt,dfhdfhf,architec,blackops,1qaz2wsx3edc4rfv,rhfcjnf,wsxedc,teaser,sebora,25252,rhino1,ankara,swifty,decimal,redleg,shanno,nermal,candies,smirnova,dragon01,photo1,ranetki,a1s2d3f4g5,axio,wertzu,maurizio,6uldv8,zxcvasdf,punkass,flowe,graywolf,peddler,3rjs1la7qe,mpegs,seawolf,ladyboy,pianos,piggies,vixen,alexus,orpheus,gdtrfb,z123456,macgyver,hugetits,ralph1,flathead,maurici,mailru,goofball,nissan1,nikon,stopit,odin,big1,smooch,reboot,famil,bullit,anthony7,gerhard,methos,124038,morena,eagle2,jessica2,zebras,getlost,gfynthf,123581321,sarajevo,indon,comets,tatjana,rfgbnjirf,joystick,batman12,123456c,sabre,beerme,victory1,kitties,1475369,badboy1,booboo1,comcast,slava,squid,saxophon,lionhear,qaywsx,bustle,nastena,roadway,loader,hillside,starlight,24681012,niggers,access99,bazooka,molly123,blackice,bandi,cocacol,nfhfrfy,timur,muschi,horse1,quant4307s,squerting,oscars,mygirls,flashman,tangerin,goofy1,p0o9i8,housewifes,newness,monkey69,escorpio,password11,hippo,warcraft3,qazxsw123,qpalzm,ribbit,ghbdtndctv,bogota,star123,258000,lincoln1,bigjim,lacoste,firestorm,legenda,indain,ludacris,milamber,1009,evangeli,letmesee,a111111,hooters1,bigred1,shaker,husky,a4tech,cnfkrth,argyle,rjhjdf,nataha,0o9i8u7y,gibson1,sooners1,glendale,archery,hoochie,stooge,aaaaaa1,scorpions,school1,vegas1,rapier,mike23,bassoon,groupd2013,macaco,baker1,labia,freewill,santiag,silverado,butch1,vflfufcrfh,monica1,rugrat,cornhole,aerosmit,bionicle,gfgfvfvf,daniel12,virgo,fmale,favorite2,detroit1,pokey,shredder,baggies,wednesda,cosmo1,mimosa,sparhawk,firehawk,romario,911turbo,funtimes,fhntvrf,nexus6,159753456,timothy1,bajingan,terry1,frenchie,raiden,1mustang,babemagnet,74123698,nadejda,truffles,rapture,douglas1,lamborghini,motocross,rjcvjc,748596,skeeter1,dante1,angel666,telecom,carsten,pietro,bmw318,astro1,carpediem,samir,orang,helium,scirocco,fuzzball,rushmore,rebelz,hotspur,lacrimosa,chevys10,madonna1,domenico,yfnfirf,jachin,shelby1,bloke,dawgs,dunhill,atlanta1,service1,mikado,devilman,angelit,reznor,euphoria,lesbain,checkmat,browndog,phreak,blaze1,crash1,farida,mutter,luckyme,horsemen,vgirl,jediknig,asdas,cesare,allnight,rockey,starlite,truck1,passfan,close-up,samue,cazzo,wrinkles,homely,eatme1,sexpot,snapshot,dima1995,asthma,thetruth,ducky,blender,priyanka,gaucho,dutchman,sizzle,kakarot,651550,passcode,justinbieber,666333,elodie,sanjay,110442,alex01,lotus1,2300mj,lakshmi,zoomer,quake3,12349876,teapot,12345687,ramada,pennywis,striper,pilot1,chingon,optima,nudity,ethan1,euclid,beeline,loyola,biguns,zaq12345,bravo1,disney1,buffa,assmunch,vivid,6661313,wellingt,aqwzsx,madala11,9874123,sigmar,pictere,tiptop,bettyboop,dinero,tahiti,gregory1,bionic,speed1,fubar1,lexus1,denis1,hawthorn,saxman,suntzu,bernhard,dominika,camaro1,hunter12,balboa,bmw2002,seville,diablo1,vfhbyjxrf,1234abc,carling,lockerroom,punani,darth,baron1,vaness,1password,libido,picher,232425,karamba,futyn007,daydream,11001001,dragon123,friends1,bopper,rocky123,chooch,asslover,shimmer,riddler,openme,tugboat,sexy123,midori,gulnara,christo,swatch,laker,offroad,puddles,hackers,mannheim,manager1,horseman,roman1,dancer1,komputer,pictuers,nokia5130,ejaculation,lioness,123456y,evilone,nastenka,pushok,javie,lilman,3141592,mjolnir,toulouse,pussy2,bigworm,smoke420,fullback,extensa,dreamcast,belize,delboy,willie1,casablanca,csyjxtr,ricky1,bonghit,salvator,basher,pussylover,rosie1,963258741,vivitron,cobra427,meonly,armageddon,myfriend,zardoz,qwedsazxc,kraken,fzappa,starfox,333999,illmatic,capoeira,weenie,ramzes,freedom2,toasty,pupkin,shinigami,fhvfutljy,nocturne,churchil,thumbnils,tailgate,neworder,sexymama,goarmy,cerebus,michelle1,vbifyz,surfsup,earthlin,dabulls,basketbal,aligator,mojojojo,saibaba,welcome2,wifes,wdtnjr,12345w,slasher,papabear,terran,footman,hocke,153759,texans,tom123,sfgiants,billabong,aassdd,monolith,xxx777,l3tm31n,ticktock,newone,hellno,japanees,contortionist,admin123,scout1,alabama1,divx1,rochard,privat,radar1,bigdad,fhctybq,tortuga,citrus,avanti,fantasy1,woodstock,s12345,fireman1,embalmer,woodwork,bonzai,konyor,newstart,jigga,panorama,goats,smithy,rugrats,hotmama,daedalus,nonstop,fruitbat,lisenok,quaker,violator,12345123,my3sons,cajun,fraggle,gayboy,oldfart,vulva,knickerless,orgasms,undertow,binky,litle,kfcnjxrf,masturbation,bunnie,alexis1,planner,transexual,sparty,leeloo,monies,fozzie,stinger1,landrove,anakonda,scoobie,yamaha1,henti,star12,rfhlbyfk,beyonce,catfood,cjytxrf,zealots,strat,fordtruc,archangel,silvi,sativa,boogers,miles1,bigjoe,tulip,petite,greentea,shitter,jonboy,voltron,morticia,evanescence,3edc4rfv,longshot,windows1,serge,aabbcc,starbucks,sinful,drywall,prelude1,www123,camel1,homebrew,marlins,123412,letmeinn,domini,swampy,plokij,fordf350,webcam,michele1,bolivi,27731828,wingzero,qawsedrftg,shinji,sverige,jasper1,piper1,cummer,iiyama,gocats,amour,alfarome,jumanji,mike69,fantasti,1monkey,w00t88,shawn1,lorien,1a2s3d4f5g,koleso,murph,natascha,sunkist,kennwort,emine,grinder,m12345,q1q2q3q4,cheeba,money2,qazwsxedc1,diamante,prosto,pdiddy,stinky1,gabby1,luckys,franci,pornographic,moochie,gfhjdjp,samdog,empire1,comicbookdb,emili,motdepasse,iphone,braveheart,reeses,nebula,sanjose,bubba2,kickflip,arcangel,superbow,porsche911,xyzzy,nigger1,dagobert,devil1,alatam,monkey2,barbara1,12345v,vfpfafrf,alessio,babemagn,aceman,arrakis,kavkaz,987789,jasons,berserk,sublime1,rogue1,myspace,buckwhea,csyekz,pussy4me,vette1,boots1,boingo,arnaud,budlite,redstorm,paramore,becky1,imtheman,chango,marley1,milkyway,666555,giveme,mahalo,lux2000,lucian,paddy,praxis,shimano,bigpenis,creeper,newproject2004,rammstei,j3qq4h7h2v,hfljcnm,lambchop,anthony2,bugman,gfhjkm12,dreamer1,stooges,cybersex,diamant,cowboyup,maximus1,sentra,615243,goethe,manhatta,fastcar,selmer,1213141516,yfnfitymrf,denni,chewey,yankee1,elektra,123456789p,trousers,fishface,topspin,orwell,vorona,sodapop,motherfu,ibilltes,forall,kookie,ronald1,balrog,maximilian,mypasswo,sonny1,zzxxcc,tkfkdg,magoo,mdogg,heeled,gitara,lesbos,marajade,tippy,morozova,enter123,lesbean,pounded,asd456,fialka,scarab,sharpie,spanky1,gstring,sachin,12345asd,princeto,hellohel,ursitesux,billows,1234kekc,kombat,cashew,duracell,kseniya,sevenof9,kostik,arthur1,corvet07,rdfhnbhf,songoku,tiberian,needforspeed,1qwert,dropkick,kevin123,panache,libra,a123456a,kjiflm,vfhnsirf,cntgfy,iamcool,narut,buffer,sk8ordie,urlaub,fireblade,blanked,marishka,gemini1,altec,gorillaz,chief1,revival47,ironman1,space1,ramstein,doorknob,devilmaycry,nemesis1,sosiska,pennstat,monday1,pioner,shevchenko,detectiv,evildead,blessed1,aggie,coffees,tical,scotts,bullwink,marsel,krypto,adrock,rjitxrf,asmodeus,rapunzel,theboys,hotdogs,deepthro,maxpayne,veronic,fyyeirf,otter,cheste,abbey1,thanos,bedrock,bartok,google1,xxxzzz,rodent,montecarlo,hernande,mikayla,123456789l,bravehea,12locked,ltymub,pegasus1,ameteur,saltydog,faisal,milfnew,momsuck,everques,ytngfhjkz,m0nkey,businessbabe,cooki,custard,123456ab,lbvjxrf,outlaws,753357,qwerty78,udacha,insider,chees,fuckmehard,shotokan,katya,seahorse,vtldtlm,turtle1,mike12,beebop,heathe,everton1,darknes,barnie,rbcekz,alisher,toohot,theduke,555222,reddog1,breezy,bulldawg,monkeyman,baylee,losangel,mastermi,apollo1,aurelie,zxcvb12345,cayenne,bastet,wsxzaq,geibcnbr,yello,fucmy69,redwall,ladybird,bitchs,cccccc1,rktjgfnhf,ghjdthrf,quest1,oedipus,linus,impalass,fartman,12345k,fokker,159753a,optiplex,bbbbbb1,realtor,slipkno,santacru,rowdy,jelena,smeller,3984240,ddddd1,sexyme,janet1,3698741,eatme69,cazzone,today1,poobear,ignatius,master123,newpass1,heather2,snoopdogg,blondinka,pass12,honeydew,fuckthat,890098890,lovem,goldrush,gecko,biker1,llama,pendejo,avalanche,fremont,snowman1,gandolf,chowder,1a2b3c4d5e,flyguy,magadan,1fuck,pingvin,nokia5230,ab1234,lothar,lasers,bignuts,renee1,royboy,skynet,12340987,1122334,dragrace,lovely1,22334455,booter,12345612,corvett,123456qq,capital1,videoes,funtik,wyvern,flange,sammydog,hulkster,13245768,not4you,vorlon,omegared,l58jkdjp!,filippo,123mudar,samadams,petrus,chris12,charlie123,123456789123,icetea,sunderla,adrian1,123qweas,kazanova,aslan,monkey123,fktyeirf,goodsex,123ab,lbtest,banaan,bluenose,837519,asd12345,waffenss,whateve,1a2a3a4a,trailers,vfhbirf,bhbcrf,klaatu,turk182,monsoon,beachbum,sunbeam,succes,clyde1,viking1,rawhide,bubblegum,princ,mackenzi,hershey1,222555,dima55,niggaz,manatee,aquila,anechka,pamel,bugsbunn,lovel,sestra,newport1,althor,hornyman,wakeup,zzz111,phishy,cerber,torrent,thething,solnishko,babel,buckeye1,peanu,ethernet,uncencored,baraka,665544,chris2,rb26dett,willy1,choppers,texaco,biggirl,123456b,anna2614,sukebe,caralho,callofduty,rt6ytere,jesus7,angel12,1money,timelord,allblack,pavlova,romanov,tequiero,yitbos,lookup,bulls23,snowflake,dickweed,barks,lever,irisha,firestar,fred1234,ghjnjnbg,danman,gatito,betty1,milhouse,kbctyjr,masterbaiting,delsol,papit,doggys,123698741,bdfyjdf,invictus,bloods,kayla1,yourmama,apple2,angelok,bigboy1,pontiac1,verygood,yeshua,twins2,porn4me,141516,rasta69,james2,bosshog,candys,adventur,stripe,djkjlz,dokken,austin316,skins,hogwarts,vbhevbh,navigato,desperado,xxx666,cneltyn,vasiliy,hazmat,daytek,eightbal,fred1,four20,74227422,fabia,aerosmith,manue,wingchun,boohoo,hombre,sanity72,goatboy,fuckm,partizan,avrora,utahjazz,submarin,pussyeat,heinlein,control1,costaric,smarty,chuan,triplets,snowy,snafu,teacher1,vangogh,vandal,evergree,cochise,qwerty99,pyramid1,saab900,sniffer,qaz741,lebron23,mark123,wolvie,blackbelt,yoshi,feeder,janeway,nutella,fuking,asscock,deepak,poppie,bigshow,housewife,grils,tonto,cynthia1,temptress,irakli,belle1,russell1,manders,frank123,seabass,gforce,songbird,zippy1,naught,brenda1,chewy1,hotshit,topaz,43046721,girfriend,marinka,jakester,thatsme,planeta,falstaff,patrizia,reborn,riptide,cherry1,shuan,nogard,chino,oasis1,qwaszx12,goodlife,davis1,1911a1,harrys,shitfuck,12345678900,russian7,007700,bulls1,porshe,danil,dolphi,river1,sabaka,gobigred,deborah1,volkswagen,miamo,alkaline,muffdive,1letmein,fkbyrf,goodguy,hallo1,nirvan,ozzie,cannonda,cvbhyjdf,marmite,germany1,joeblow,radio1,love11,raindrop,159852,jacko,newday,fathead,elvis123,caspe,citibank,sports1,deuce,boxter,fakepass,golfman,snowdog,birthday4,nonmembe,niklas,parsifal,krasota,theshit,1235813,maganda,nikita1,omicron,cassie1,columbo,buick,sigma1,thistle,bassin,rickster,apteka,sienna,skulls,miamor,coolgirl,gravis,1qazxc,virgini,hunter2,akasha,batma,motorcyc,bambino,tenerife,fordf250,zhuan,iloveporn,markiza,hotbabes,becool,fynjybyf,wapapapa,forme,mamont,pizda,dragonz,sharon1,scrooge,mrbill,pfloyd,leeroy,natedog,ishmael,777111,tecumseh,carajo,nfy.irf,0000000000o,blackcock,fedorov,antigone,feanor,novikova,bobert,peregrin,spartan117,pumkin,rayman,manuals,tooltime,555333,bonethug,marina1,bonnie1,tonyhawk,laracroft,mahalkita,18273645,terriers,gamer,hoser,littlema,molotok,glennwei,lemon1,caboose,tater,12345654321,brians,fritz1,mistral,jigsaw,fuckshit,hornyguy,southside,edthom,antonio1,bobmarle,pitures,ilikesex,crafty,nexus,boarder,fulcrum,astonvil,yanks1,yngwie,account1,zooropa,hotlegs,sammi,gumbo,rover1,perkele,maurolarastefy,lampard,357753,barracud,dmband,abcxyz,pathfinder,335577,yuliya,micky,jayman,asdfg12345,1596321,halcyon,rerfhtre,feniks,zaxscd,gotyoass,jaycee,samson1,jamesb,vibrate,grandpri,camino,colossus,davidb,mamo4ka,nicky1,homer123,pinguin,watermelon,shadow01,lasttime,glider,823762,helen1,pyramids,tulane,osama,rostov,john12,scoote,bhbyrf,gohan,galeries,joyful,bigpussy,tonka,mowgli,astalavista,zzz123,leafs,dalejr8,unicorn1,777000,primal,bigmama,okmijn,killzone,qaz12345,snookie,zxcvvcxz,davidc,epson,rockman,ceaser,beanbag,katten,3151020,duckhunt,segreto,matros,ragnar,699669,sexsexse,123123z,fuckyeah,bigbutts,gbcmrf,element1,marketin,saratov,elbereth,blaster1,yamahar6,grime,masha,juneau,1230123,pappy,lindsay1,mooner,seattle1,katzen,lucent,polly1,lagwagon,pixie,misiaczek,666666a,smokedog,lakers24,eyeball,ironhors,ametuer,volkodav,vepsrf,kimmy,gumby1,poi098,ovation,1q2w3,drinker,penetrating,summertime,1dallas,prima,modles,takamine,hardwork,macintosh,tahoe,passthie,chiks,sundown,flowers1,boromir,music123,phaedrus,albert1,joung,malakas,gulliver,parker1,balder,sonne,jessie1,domainlock2005,express1,vfkbyf,youandme,raketa,koala,dhjnvytyjub,nhfrnjh,testibil,ybrbnjc,987654321q,axeman,pintail,pokemon123,dogggg,shandy,thesaint,11122233,x72jhhu3z,theclash,raptors,zappa1,djdjxrf,hell666,friday1,vivaldi,pluto1,lance1,guesswho,jeadmi,corgan,skillz,skippy1,mango1,gymnastic,satori,362514,theedge,cxfcnkbdfz,sparkey,deicide,bagels,lololol,lemmings,r4e3w2q1,silve,staind,schnuffi,dazzle,basebal1,leroy1,bilbo1,luckie,qwerty2,goodfell,hermione,peaceout,davidoff,yesterda,killah,flippy,chrisb,zelda1,headless,muttley,fuckof,tittys,catdaddy,photog,beeker,reaver,ram1500,yorktown,bolero,tryagain,arman,chicco,learjet,alexei,jenna1,go2hell,12s3t4p55,momsanaladventure,mustang9,protoss,rooter,ginola,dingo1,mojave,erica1,1qazse4,marvin1,redwolf,sunbird,dangerou,maciek,girsl,hawks1,packard1,excellen,dashka,soleda,toonces,acetate,nacked,jbond007,alligator,debbie1,wellhung,monkeyma,supers,rigger,larsson,vaseline,rjnzhf,maripos,123456asd,cbr600rr,doggydog,cronic,jason123,trekker,flipmode,druid,sonyvaio,dodges,mayfair,mystuff,fun4me,samanta,sofiya,magics,1ranger,arcane,sixtynin,222444,omerta,luscious,gbyudby,bobcats,envision,chance1,seaweed,holdem,tomate,mensch,slicer,acura1,goochi,qweewq,punter,repoman,tomboy,never1,cortina,gomets,147896321,369852147,dogma,bhjxrf,loglatin,eragon,strato,gazelle,growler,885522,klaudia,payton34,fuckem,butchie,scorpi,lugano,123456789k,nichola,chipper1,spide,uhbujhbq,rsalinas,vfylfhby,longhorns,bugatti,everquest,!qaz2wsx,blackass,999111,snakeman,p455w0rd,fanatic,family1,pfqxbr,777vlad,mysecret,marat,phoenix2,october1,genghis,panties1,cooker,citron,ace123,1234569,gramps,blackcoc,kodiak1,hickory,ivanhoe,blackboy,escher,sincity,beaks,meandyou,spaniel,canon1,timmy1,lancaste,polaroid,edinburg,fuckedup,hotman,cueball,golfclub,gopack,bookcase,worldcup,dkflbvbhjdbx,twostep,17171717aa,letsplay,zolushka,stella1,pfkegf,kingtut,67camaro,barracuda,wiggles,gjhjkm,prancer,patata,kjifhf,theman1,romanova,sexyass,copper1,dobber,sokolov,pomidor,algernon,cadman,amoremio,william2,silly1,bobbys,hercule,hd764nw5d7e1vb1,defcon,deutschland,robinhood,alfalfa,machoman,lesbens,pandora1,easypay,tomservo,nadezhda,goonies,saab9000,jordyn,f15eagle,dbrecz,12qwerty,greatsex,thrawn,blunted,baywatch,doggystyle,loloxx,chevy2,january1,kodak,bushel,78963214,ub6ib9,zz8807zpl,briefs,hawker,224488,first1,bonzo,brent1,erasure,69213124,sidewind,soccer13,622521,mentos,kolibri,onepiece,united1,ponyboy,keksa12,wayer,mypussy,andrej,mischa,mille,bruno123,garter,bigpun,talgat,familia,jazzy1,mustang8,newjob,747400,bobber,blackbel,hatteras,ginge,asdfjkl;,camelot1,blue44,rebbyt34,ebony1,vegas123,myboys,aleksander,ijrjkflrf,lopata,pilsner,lotus123,m0nk3y,andreev,freiheit,balls1,drjynfrnt,mazda1,waterpolo,shibumi,852963,123bbb,cezer121,blondie1,volkova,rattler,kleenex,ben123,sanane,happydog,satellit,qazplm,qazwsxedcrfvtgb,meowmix,badguy,facefuck,spice1,blondy,major1,25000,anna123,654321a,sober1,deathrow,patterso,china1,naruto1,hawkeye1,waldo1,butchy,crayon,5tgb6yhn,klopik,crocodil,mothra,imhorny,pookie1,splatter,slippy,lizard1,router,buratino,yahweh,123698,dragon11,123qwe456,peepers,trucker1,ganjaman,1hxboqg2,cheyanne,storys,sebastie,zztop,maddison,4rfv3edc,darthvader,jeffro,iloveit,victor1,hotty,delphin,lifeisgood,gooseman,shifty,insertions,dude123,abrupt,123masha,boogaloo,chronos,stamford,pimpster,kthjxrf,getmein,amidala,flubber,fettish,grapeape,dantes,oralsex,jack1,foxcg33,winchest,francis1,getin,archon,cliffy,blueman,1basebal,sport1,emmitt22,porn123,bignasty,morga,123hfjdk147,ferrar,juanito,fabiol,caseydog,steveo,peternorth,paroll,kimchi,bootleg,gaijin,secre,acacia,eatme2,amarillo,monkey11,rfhfgep,tylers,a1a2a3a4a5,sweetass,blower,rodina,babushka,camilo,cimbom,tiffan,vfnbkmlf,ohbaby,gotigers,lindsey1,dragon13,romulus,qazxsw12,zxcvbn1,dropdead,hitman47,snuggle,eleven11,bloopers,357mag,avangard,bmw320,ginscoot,dshade,masterkey,voodoo1,rootedit,caramba,leahcim,hannover,8phrowz622,tim123,cassius,000000a,angelito,zzzzz1,badkarma,star1,malaga,glenwood,footlove,golf1,summer12,helpme1,fastcars,titan1,police1,polinka,k.jdm,marusya,augusto,shiraz,pantyhose,donald1,blaise,arabella,brigada,c3por2d2,peter01,marco1,hellow,dillweed,uzumymw,geraldin,loveyou2,toyota1,088011,gophers,indy500,slainte,5hsu75kpot,teejay,renat,racoon,sabrin,angie1,shiznit,harpua,sexyred,latex,tucker1,alexandru,wahoo,teamwork,deepblue,goodison,rundmc,r2d2c3p0,puppys,samba,ayrton,boobed,999777,topsecre,blowme1,123321z,loudog,random1,pantie,drevil,mandolin,121212q,hottub,brother1,failsafe,spade1,matvey,open1234,carmen1,priscill,schatzi,kajak,gooddog,trojans1,gordon1,kayak,calamity,argent,ufhvjybz,seviyi,penfold,assface,dildos,hawkwind,crowbar,yanks,ruffles,rastus,luv2epus,open123,aquafina,dawns,jared1,teufel,12345c,vwgolf,pepsi123,amores,passwerd,01478520,boliva,smutty,headshot,password3,davidd,zydfhm,gbgbcmrf,pornpass,insertion,ceckbr,test2,car123,checkit,dbnfkbq,niggas,nyyankee,muskrat,nbuhtyjr,gunner1,ocean1,fabienne,chrissy1,wendys,loveme89,batgirl,cerveza,igorek,steel1,ragman,boris123,novifarm,sexy12,qwerty777,mike01,giveitup,123456abc,fuckall,crevice,hackerz,gspot,eight8,assassins,texass,swallows,123458,baldur,moonshine,labatt,modem,sydney1,voland,dbnfkz,hotchick,jacker,princessa,dawgs1,holiday1,booper,reliant,miranda1,jamaica1,andre1,badnaamhere,barnaby,tiger7,david12,margaux,corsica,085tzzqi,universi,thewall,nevermor,martin6,qwerty77,cipher,apples1,0102030405,seraphim,black123,imzadi,gandon,ducati99,1shadow,dkflbvbhjdyf,44magnum,bigbad,feedme,samantha1,ultraman,redneck1,jackdog,usmc0311,fresh1,monique1,tigre,alphaman,cool1,greyhoun,indycar,crunchy,55chevy,carefree,willow1,063dyjuy,xrated,assclown,federica,hilfiger,trivia,bronco1,mamita,100200300,simcity,lexingky,akatsuki,retsam,johndeere,abudfv,raster,elgato,businka,satanas,mattingl,redwing1,shamil,patate,mannn,moonstar,evil666,b123456,bowl300,tanechka,34523452,carthage,babygir,santino,bondarenko,jesuss,chico1,numlock,shyguy,sound1,kirby1,needit,mostwanted,427900,funky1,steve123,passions,anduril,kermit1,prospero,lusty,barakuda,dream1,broodwar,porky,christy1,mahal,yyyyyy1,allan1,1sexy,flintsto,capri,cumeater,heretic,robert2,hippos,blindax,marykay,collecti,kasumi,1qaz!qaz,112233q,123258,chemistr,coolboy,0o9i8u,kabuki,righton,tigress,nessie,sergej,andrew12,yfafyz,ytrhjvfyn,angel7,victo,mobbdeep,lemming,transfor,1725782,myhouse,aeynbr,muskie,leno4ka,westham1,cvbhyjd,daffodil,pussylicker,pamela1,stuffer,warehous,tinker1,2w3e4r,pluton,louise1,polarbea,253634,prime1,anatoliy,januar,wysiwyg,cobraya,ralphy,whaler,xterra,cableguy,112233a,porn69,jamesd,aqualung,jimmy123,lumpy,luckyman,kingsize,golfing1,alpha7,leeds1,marigold,lol1234,teabag,alex11,10sne1,saopaulo,shanny,roland1,basser,3216732167,carol1,year2005,morozov,saturn1,joseluis,bushed,redrock,memnoch,lalaland,indiana1,lovegod,gulnaz,buffalos,loveyou1,anteater,pattaya,jaydee,redshift,bartek,summerti,coffee1,ricochet,incest,schastie,rakkaus,h2opolo,suikoden,perro,dance1,loveme1,whoopass,vladvlad,boober,flyers1,alessia,gfcgjhn,pipers,papaya,gunsling,coolone,blackie1,gonads,gfhjkzytn,foxhound,qwert12,gangrel,ghjvtntq,bluedevi,mywife,summer01,hangman,licorice,patter,vfr750,thorsten,515253,ninguna,dakine,strange1,mexic,vergeten,12345432,8phrowz624,stampede,floyd1,sailfish,raziel,ananda,giacomo,freeme,crfprf,74185296,allstars,master01,solrac,gfnhbjn,bayliner,bmw525,3465xxx,catter,single1,michael3,pentium4,nitrox,mapet123456,halibut,killroy,xxxxx1,phillip1,poopsie,arsenalfc,buffys,kosova,all4me,32165498,arslan,opensesame,brutis,charles2,pochta,nadegda,backspac,mustang0,invis,gogeta,654321q,adam25,niceday,truckin,gfdkbr,biceps,sceptre,bigdave,lauras,user345,sandys,shabba,ratdog,cristiano,natha,march13,gumball,getsdown,wasdwasd,redhead1,dddddd1,longlegs,13572468,starsky,ducksoup,bunnys,omsairam,whoami,fred123,danmark,flapper,swanky,lakings,yfhenj,asterios,rainier,searcher,dapper,ltdjxrf,horsey,seahawk,shroom,tkfkdgo,aquaman,tashkent,number9,messi10,1asshole,milenium,illumina,vegita,jodeci,buster01,bareback,goldfinger,fire1,33rjhjds,sabian,thinkpad,smooth1,sully,bonghits,sushi1,magnavox,colombi,voiture,limpone,oldone,aruba,rooster1,zhenya,nomar5,touchdow,limpbizkit,rhfcfdxbr,baphomet,afrodita,bball1,madiso,ladles,lovefeet,matthew2,theworld,thunderbird,dolly1,123rrr,forklift,alfons,berkut,speedy1,saphire,oilman,creatine,pussylov,bastard1,456258,wicked1,filimon,skyline1,fucing,yfnfkbz,hot123,abdulla,nippon,nolimits,billiard,booty1,buttplug,westlife,coolbean,aloha1,lopas,asasin,1212121,october2,whodat,good4u,d12345,kostas,ilya1992,regal,pioneer1,volodya,focus1,bastos,nbvjif,fenix,anita1,vadimka,nickle,jesusc,123321456,teste,christ1,essendon,evgenii,celticfc,adam1,forumwp,lovesme,26exkp,chillout,burly,thelast1,marcus1,metalgear,test11,ronaldo7,socrate,world1,franki,mommie,vicecity,postov1000,charlie3,oldschool,333221,legoland,antoshka,counterstrike,buggy,mustang3,123454,qwertzui,toons,chesty,bigtoe,tigger12,limpopo,rerehepf,diddle,nokia3250,solidsnake,conan1,rockroll,963369,titanic1,qwezxc,cloggy,prashant,katharin,maxfli,takashi,cumonme,michael9,mymother,pennstate,khalid,48151623,fightclub,showboat,mateusz,elrond,teenie,arrow1,mammamia,dustydog,dominator,erasmus,zxcvb1,1a2a3a,bones1,dennis1,galaxie,pleaseme,whatever1,junkyard,galadriel,charlies,2wsxzaq1,crimson1,behemoth,teres,master11,fairway,shady1,pass99,1batman,joshua12,baraban,apelsin,mousepad,melon,twodogs,123321qwe,metalica,ryjgrf,pipiska,rerfhfxf,lugnut,cretin,iloveu2,powerade,aaaaaaa1,omanko,kovalenko,isabe,chobits,151nxjmt,shadow11,zcxfcnkbdf,gy3yt2rgls,vfhbyrf,159753123,bladerunner,goodone,wonton,doodie,333666999,fuckyou123,kitty123,chisox,orlando1,skateboa,red12345,destroye,snoogans,satan1,juancarlo,goheels,jetson,scottt,fuckup,aleksa,gfhfljrc,passfind,oscar123,derrick1,hateme,viper123,pieman,audi100,tuffy,andover,shooter1,10000,makarov,grant1,nighthaw,13576479,browneye,batigol,nfvfhf,chocolate1,7hrdnw23,petter,bantam,morlii,jediknight,brenden,argonaut,goodstuf,wisconsi,315920,abigail1,dirtbag,splurge,k123456,lucky777,valdepen,gsxr600,322223,ghjnjrjk,zaq1xsw2cde3,schwanz,walter1,letmein22,nomads,124356,codeblue,nokian70,fucke,footbal1,agyvorc,aztecs,passw0r,smuggles,femmes,ballgag,krasnodar,tamuna,schule,sixtynine,empires,erfolg,dvader,ladygaga,elite1,venezuel,nitrous,kochamcie,olivia1,trustn01,arioch,sting1,131415,tristar,555000,maroon,135799,marsik,555556,fomoco,natalka,cwoui,tartan,davecole,nosferat,hotsauce,dmitry,horus,dimasik,skazka,boss302,bluebear,vesper,ultras,tarantul,asd123asd,azteca,theflash,8ball,1footbal,titlover,lucas123,number6,sampson1,789852,party1,dragon99,adonai,carwash,metropol,psychnau,vthctltc,hounds,firework,blink18,145632,wildcat1,satchel,rice80,ghtktcnm,sailor1,cubano,anderso,rocks1,mike11,famili,dfghjc,besiktas,roygbiv,nikko,bethan,minotaur,rakesh,orange12,hfleuf,jackel,myangel,favorite7,1478520,asssss,agnieszka,haley1,raisin,htubyf,1buster,cfiekz,derevo,1a2a3a4a5a,baltika,raffles,scruffy1,clitlick,louis1,buddha1,fy.nrf,walker1,makoto,shadow2,redbeard,vfvfvskfhfve,mycock,sandydog,lineman,network1,favorite8,longdick,mustangg,mavericks,indica,1killer,cisco1,angelofwar,blue69,brianna1,bubbaa,slayer666,level42,baldrick,brutus1,lowdown,haribo,lovesexy,500000,thissuck,picker,stephy,1fuckme,characte,telecast,1bigdog,repytwjdf,thematrix,hammerhe,chucha,ganesha,gunsmoke,georgi,sheltie,1harley,knulla,sallas,westie,dragon7,conker,crappie,margosha,lisboa,3e2w1q,shrike,grifter,ghjcnjghjcnj,asdfg1,mnbvcxz1,myszka,posture,boggie,rocketman,flhtyfkby,twiztid,vostok,pi314159,force1,televizor,gtkmvtym,samhain,imcool,jadzia,dreamers,strannik,k2trix,steelhea,nikitin,commodor,brian123,chocobo,whopper,ibilljpf,megafon,ararat,thomas12,ghbrjkbcn,q1234567890,hibernia,kings1,jim123,redfive,68camaro,iawgk2,xavier1,1234567u,d123456,ndirish,airborn,halfmoon,fluffy1,ranchero,sneaker,soccer2,passion1,cowman,birthday1,johnn,razzle,glock17,wsxqaz,nubian,lucky2,jelly1,henderso,eric1,123123e,boscoe01,fuck0ff,simpson1,sassie,rjyjgkz,nascar3,watashi,loredana,janus,wilso,conman,david2,mothe,iloveher,snikers,davidj,fkmnthyfnbdf,mettss,ratfink,123456h,lostsoul,sweet16,brabus,wobble,petra1,fuckfest,otters,sable1,svetka,spartacu,bigstick,milashka,1lover,pasport,champagn,papichul,hrvatska,hondacivic,kevins,tacit,moneybag,gohogs,rasta1,246813579,ytyfdbcnm,gubber,darkmoon,vitaliy,233223,playboys,tristan1,joyce1,oriflame,mugwump,access2,autocad,thematri,qweqwe123,lolwut,ibill01,multisyn,1233211,pelikan,rob123,chacal,1234432,griffon,pooch,dagestan,geisha,satriani,anjali,rocketma,gixxer,pendrago,vincen,hellokit,killyou,ruger,doodah,bumblebe,badlands,galactic,emachines,foghorn,jackso,jerem,avgust,frontera,123369,daisymae,hornyboy,welcome123,tigger01,diabl,angel13,interex,iwantsex,rockydog,kukolka,sawdust,online1,3234412,bigpapa,jewboy,3263827,dave123,riches,333222,tony1,toggle,farter,124816,tities,balle,brasilia,southsid,micke,ghbdtn12,patit,ctdfcnjgjkm,olds442,zzzzzz1,nelso,gremlins,gypsy1,carter1,slut69,farcry,7415963,michael8,birdie1,charl,123456789abc,100001,aztec,sinjin,bigpimpi,closeup,atlas1,nvidia,doggone,classic1,manana,malcolm1,rfkbyf,hotbabe,rajesh,dimebag,ganjubas,rodion,jagr68,seren,syrinx,funnyman,karapuz,123456789n,bloomin,admin18533362,biggdogg,ocarina,poopy1,hellome,internet1,booties,blowjobs,matt1,donkey1,swede,1jennife,evgeniya,lfhbyf,coach1,444777,green12,patryk,pinewood,justin12,271828,89600506779,notredame,tuborg,lemond,sk8ter,million1,wowser,pablo1,st0n3,jeeves,funhouse,hiroshi,gobucs,angeleye,bereza,winter12,catalin,qazedc,andros,ramazan,vampyre,sweethea,imperium,murat,jamest,flossy,sandeep,morgen,salamandra,bigdogg,stroller,njdevils,nutsack,vittorio,%%passwo,playful,rjyatnrf,tookie,ubnfhf,michi,777444,shadow13,devils1,radiance,toshiba1,beluga,amormi,dandfa,trust1,killemall,smallville,polgara,billyb,landscap,steves,exploite,zamboni,damage11,dzxtckfd,trader12,pokey1,kobe08,damager,egorov,dragon88,ckfdbr,lisa69,blade2,audis4,nelson1,nibbles,23176djivanfros,mutabor,artofwar,matvei,metal666,hrfzlz,schwinn,poohbea,seven77,thinker,123456789qwerty,sobriety,jakers,karamelka,vbkfyf,volodin,iddqd,dale03,roberto1,lizaveta,qqqqqq1,cathy1,08154711,davidm,quixote,bluenote,tazdevil,katrina1,bigfoot1,bublik,marma,olechka,fatpussy,marduk,arina,nonrev67,qqqq1111,camill,wtpfhm,truffle,fairview,mashina,voltaire,qazxswedcvfr,dickface,grassy,lapdance,bosstone,crazy8,yackwin,mobil,danielit,mounta1n,player69,bluegill,mewtwo,reverb,cnthdf,pablito,a123321,elena1,warcraft1,orland,ilovemyself,rfntyjr,joyride,schoo,dthjxrf,thetachi,goodtimes,blacksun,humpty,chewbacca,guyute,123xyz,lexicon,blue45,qwe789,galatasaray,centrino,hendrix1,deimos,saturn5,craig1,vlad1996,sarah123,tupelo,ljrnjh,hotwife,bingos,1231231,nicholas1,flamer,pusher,1233210,heart1,hun999,jiggy,giddyup,oktober,123456zxc,budda,galahad,glamur,samwise,oneton,bugsbunny,dominic1,scooby2,freetime,internat,159753852,sc00ter,wantit,mazinger,inflames,laracrof,greedo,014789,godofwar,repytwjd,water123,fishnet,venus1,wallace1,tenpin,paula1,1475963,mania,novikov,qwertyasdfgh,goldmine,homies,777888999,8balls,holeinon,paper1,samael,013579,mansur,nikit,ak1234,blueline,polska1,hotcock,laredo,windstar,vbkbwbz,raider1,newworld,lfybkrf,catfish1,shorty1,piranha,treacle,royale,2234562,smurfs,minion,cadence,flapjack,123456p,sydne,135531,robinhoo,nasdaq,decatur,cyberonline,newage,gemstone,jabba,touchme,hooch,pigdog,indahous,fonzie,zebra1,juggle,patrick2,nihongo,hitomi,oldnavy,qwerfdsa,ukraina,shakti,allure,kingrich,diane1,canad,piramide,hottie1,clarion,college1,5641110,connect1,therion,clubber,velcro,dave1,astra1,13579-,astroboy,skittle,isgreat,photoes,cvzefh1gkc,001100,2cool4u,7555545,ginger12,2wsxcde3,camaro69,invader,domenow,asd1234,colgate,qwertasdfg,jack123,pass01,maxman,bronte,whkzyc,peter123,bogie,yecgaa,abc321,1qay2wsx,enfield,camaroz2,trashman,bonefish,system32,azsxdcfvgb,peterose,iwantyou,dick69,temp1234,blastoff,capa200,connie1,blazin,12233445,sexybaby,123456j,brentfor,pheasant,hommer,jerryg,thunders,august1,lager,kapusta,boobs1,nokia5300,rocco1,xytfu7,stars1,tugger,123sas,blingbling,1bubba,0wnsyo0,1george,baile,richard2,habana,1diamond,sensatio,1golfer,maverick1,1chris,clinton1,michael7,dragons1,sunrise1,pissant,fatim,mopar1,levani,rostik,pizzapie,987412365,oceans11,748159263,cum4me,palmetto,4r3e2w1q,paige1,muncher,arsehole,kratos,gaffer,banderas,billys,prakash,crabby,bungie,silver12,caddis,spawn1,xboxlive,sylvania,littlebi,524645,futura,valdemar,isacs155,prettygirl,big123,555444,slimer,chicke,newstyle,skypilot,sailormoon,fatluvr69,jetaime,sitruc,jesuschrist,sameer,bear12,hellion,yendor,country1,etnies,conejo,jedimast,darkknight,toobad,yxcvbn,snooks,porn4life,calvary,alfaromeo,ghostman,yannick,fnkfynblf,vatoloco,homebase,5550666,barret,1111111111zz,odysseus,edwardss,favre4,jerrys,crybaby,xsw21qaz,firestor,spanks,indians1,squish,kingair,babycakes,haters,sarahs,212223,teddyb,xfactor,cumload,rhapsody,death123,three3,raccoon,thomas2,slayer66,1q2q3q4q5q,thebes,mysterio,thirdeye,orkiox.,nodoubt,bugsy,schweiz,dima1996,angels1,darkwing,jeronimo,moonpie,ronaldo9,peaches2,mack10,manish,denise1,fellowes,carioca,taylor12,epaulson,makemoney,oc247ngucz,kochanie,3edcvfr4,vulture,1qw23e,1234567z,munchie,picard1,xthtgfirf,sportste,psycho1,tahoe1,creativ,perils,slurred,hermit,scoob,diesel1,cards1,wipeout,weeble,integra1,out3xf,powerpc,chrism,kalle,ariadne,kailua,phatty,dexter1,fordman,bungalow,paul123,compa,train1,thejoker,jys6wz,pussyeater,eatmee,sludge,dominus,denisa,tagheuer,yxcvbnm,bill1,ghfdlf,300zx,nikita123,carcass,semaj,ramone,muenchen,animal1,greeny,annemari,dbrf134,jeepcj7,mollys,garten,sashok,ironmaid,coyotes,astoria,george12,westcoast,primetim,123456o,panchito,rafae,japan1,framer,auralo,tooshort,egorova,qwerty22,callme,medicina,warhawk,w1w2w3w4,cristia,merli,alex22,kawaii,chatte,wargames,utvols,muaddib,trinket,andreas1,jjjjj1,cleric,scooters,cuntlick,gggggg1,slipknot1,235711,handcuff,stussy,guess1,leiceste,ppppp1,passe,lovegun,chevyman,hugecock,driver1,buttsex,psychnaut1,cyber1,black2,alpha12,melbourn,man123,metalman,yjdsqujl,blondi,bungee,freak1,stomper,caitlin1,nikitina,flyaway,prikol,begood,desperad,aurelius,john1234,whosyourdaddy,slimed123,bretagne,den123,hotwheel,king123,roodypoo,izzicam,save13tx,warpten,nokia3310,samolet,ready1,coopers,scott123,bonito,1aaaaa,yomomma,dawg1,rache,itworks,asecret,fencer,451236,polka,olivetti,sysadmin,zepplin,sanjuan,479373,lickem,hondacrx,pulamea,future1,naked1,sexyguy,w4g8at,lollol1,declan,runner1,rumple,daddy123,4snz9g,grandprix,calcio,whatthefuck,nagrom,asslick,pennst,negrit,squiggy,1223334444,police22,giovann,toronto1,tweet,yardbird,seagate,truckers,554455,scimitar,pescator,slydog,gaysex,dogfish,fuck777,12332112,qazxswed,morkovka,daniela1,imback,horny69,789123456,123456789w,jimmy2,bagger,ilove69,nikolaus,atdhfkm,rebirth,1111aaaa,pervasive,gjgeufq,dte4uw,gfhnbpfy,skeletor,whitney1,walkman,delorean,disco1,555888,as1234,ishikawa,fuck12,reaper1,dmitrii,bigshot,morrisse,purgen,qwer4321,itachi,willys,123123qwe,kisska,roma123,trafford,sk84life,326159487,pedros,idiom,plover,bebop,159875321,jailbird,arrowhea,qwaszx123,zaxscdvf,catlover,bakers,13579246,bones69,vermont1,helloyou,simeon,chevyz71,funguy,stargaze,parolparol,steph1,bubby,apathy,poppet,laxman,kelly123,goodnews,741236,boner1,gaetano,astonvilla,virtua,luckyboy,rocheste,hello2u,elohim,trigger1,cstrike,pepsicola,miroslav,96385274,fistfuck,cheval,magyar,svetlanka,lbfyjxrf,mamedov,123123123q,ronaldo1,scotty1,1nicole,pittbull,fredd,bbbbb1,dagwood,gfhkfvtyn,ghblehrb,logan5,1jordan,sexbomb,omega2,montauk,258741,dtythf,gibbon,winamp,thebomb,millerli,852654,gemin,baldy,halflife2,dragon22,mulberry,morrigan,hotel6,zorglub,surfin,951159,excell,arhangel,emachine,moses1,968574,reklama,bulldog2,cuties,barca,twingo,saber,elite11,redtruck,casablan,ashish,moneyy,pepper12,cnhtktw,rjcnbr,arschloch,phenix,cachorro,sunita,madoka,joselui,adams1,mymoney,hemicuda,fyutkjr,jake12,chicas,eeeee1,sonnyboy,smarties,birdy,kitten1,cnfcbr,island1,kurosaki,taekwond,konfetka,bennett1,omega3,jackson2,fresca,minako,octavian,kban667,feyenoord,muaythai,jakedog,fktrcfylhjdyf,1357911q,phuket,sexslave,fktrcfylhjdbx,asdfjk,89015173454,qwerty00,kindbud,eltoro,sex6969,nyknicks,12344321q,caballo,evenflow,hoddle,love22,metro1,mahalko,lawdog,tightass,manitou,buckie,whiskey1,anton123,335533,password4,primo,ramair,timbo,brayden,stewie,pedro1,yorkshir,ganster,hellothe,tippy1,direwolf,genesi,rodrig,enkeli,vaz21099,sorcerer,winky,oneshot,boggle,serebro,badger1,japanes,comicbook,kamehame,alcat,denis123,echo45,sexboy,gr8ful,hondo,voetbal,blue33,2112rush,geneviev,danni1,moosey,polkmn,matthew7,ironhead,hot2trot,ashley12,sweeper,imogen,blue21,retep,stealth1,guitarra,bernard1,tatian,frankfur,vfnhbwf,slacking,haha123,963741,asdasdas,katenok,airforce1,123456789qaz,shotgun1,12qwasz,reggie1,sharo,976431,pacifica,dhip6a,neptun,kardon,spooky1,beaut,555555a,toosweet,tiedup,11121314,startac,lover69,rediska,pirata,vfhrbp,1234qwerty,energize,hansolo1,playbo,larry123,oemdlg,cnjvfnjkju,a123123,alexan,gohawks,antonius,fcbayern,mambo,yummy1,kremlin,ellen1,tremere,vfiekz,bellevue,charlie9,izabella,malishka,fermat,rotterda,dawggy,becket,chasey,kramer1,21125150,lolit,cabrio,schlong,arisha,verity,3some,favorit,maricon,travelle,hotpants,red1234,garrett1,home123,knarf,seven777,figment,asdewq,canseco,good2go,warhol,thomas01,pionee,al9agd,panacea,chevy454,brazzers,oriole,azerty123,finalfan,patricio,northsta,rebelde,bulldo,stallone,boogie1,7uftyx,cfhfnjd,compusa,cornholi,config,deere,hoopster,sepultura,grasshop,babygurl,lesbo,diceman,proverbs,reddragon,nurbek,tigerwoo,superdup,buzzsaw,kakaroto,golgo13,edwar,123qaz123,butter1,sssss1,texas2,respekt,ou812ic,123456qaz,55555a,doctor1,mcgwire,maria123,aol999,cinders,aa1234,joness,ghbrjkmyj,makemone,sammyboy,567765,380zliki,theraven,testme,mylene,elvira26,indiglo,tiramisu,shannara,baby1,123666,gfhreh,papercut,johnmish,orange8,bogey1,mustang7,bagpipes,dimarik,vsijyjr,4637324,ravage,cogito,seven11,natashka,warzone,hr3ytm,4free,bigdee,000006,243462536,bigboi,123333,trouts,sandy123,szevasz,monica2,guderian,newlife1,ratchet,r12345,razorbac,12345i,piazza31,oddjob,beauty1,fffff1,anklet,nodrog,pepit,olivi,puravida,robert12,transam1,portman,bubbadog,steelers1,wilson1,eightball,mexico1,superboy,4rfv5tgb,mzepab,samurai1,fuckslut,colleen1,girdle,vfrcbvec,q1w2e3r4t,soldier1,19844891,alyssa1,a12345a,fidelis,skelter,nolove,mickeymouse,frehley,password69,watermel,aliska,soccer15,12345e,ladybug1,abulafia,adagio,tigerlil,takehana,hecate,bootneck,junfan,arigato,wonkette,bobby123,trustnoone,phantasm,132465798,brianjo,w12345,t34vfrc1991,deadeye,1robert,1daddy,adida,check1,grimlock,muffi,airwalk,prizrak,onclick,longbeac,ernie1,eadgbe,moore1,geniu,shadow123,bugaga,jonathan1,cjrjkjdf,orlova,buldog,talon1,westport,aenima,541233432442,barsuk,chicago2,kellys,hellbent,toughguy,iskander,skoal,whatisit,jake123,scooter2,fgjrfkbgcbc,ghandi,love13,adelphia,vjhrjdrf,adrenali,niunia,jemoeder,rainbo,all4u8,anime1,freedom7,seraph,789321,tommys,antman,firetruc,neogeo,natas,bmwm3,froggy1,paul1,mamit,bayview,gateways,kusanagi,ihateu,frederi,rock1,centurion,grizli,biggin,fish1,stalker1,3girls,ilovepor,klootzak,lollo,redsox04,kirill123,jake1,pampers,vasya,hammers1,teacup,towing,celtic1,ishtar,yingyang,4904s677075,dahc1,patriot1,patrick9,redbirds,doremi,rebecc,yoohoo,makarova,epiphone,rfgbnfy,milesd,blister,chelseafc,katana1,blackrose,1james,primrose,shock5,hard1,scooby12,c6h12o6,dustoff,boing,chisel,kamil,1william,defiant1,tyvugq,mp8o6d,aaa340,nafets,sonnet,flyhigh,242526,crewcom,love23,strike1,stairway,katusha,salamand,cupcake1,password0,007james,sunnie,multisync,harley01,tequila1,fred12,driver8,q8zo8wzq,hunter01,mozzer,temporar,eatmeraw,mrbrownxx,kailey,sycamore,flogger,tincup,rahasia,ganymede,bandera,slinger,1111122222,vander,woodys,1cowboy,khaled,jamies,london12,babyboo,tzpvaw,diogenes,budice,mavrick,135797531,cheeta,macros,squonk,blackber,topfuel,apache1,falcon16,darkjedi,cheeze,vfhvtkfl,sparco,change1,gfhfif,freestyl,kukuruza,loveme2,12345f,kozlov,sherpa,marbella,44445555,bocephus,1winner,alvar,hollydog,gonefish,iwantin,barman,godislove,amanda18,rfpfynbg,eugen,abcdef1,redhawk,thelema,spoonman,baller1,harry123,475869,tigerman,cdtnjxrf,marillio,scribble,elnino,carguy,hardhead,l2g7k3,troopers,selen,dragon76,antigua,ewtosi,ulysse,astana,paroli,cristo,carmex,marjan,bassfish,letitbe,kasparov,jay123,19933991,blue13,eyecandy,scribe,mylord,ukflbjkec,ellie1,beaver1,destro,neuken,halfpint,ameli,lilly1,satanic,xngwoj,12345trewq,asdf1,bulldogg,asakura,jesucrist,flipside,packers4,biggy,kadett,biteme69,bobdog,silverfo,saint1,bobbo,packman,knowledg,foolio,fussbal,12345g,kozerog,westcoas,minidisc,nbvcxw,martini1,alastair,rasengan,superbee,memento,porker,lena123,florenc,kakadu,bmw123,getalife,bigsky,monkee,people1,schlampe,red321,memyself,0147896325,12345678900987654321,soccer14,realdeal,gfgjxrf,bella123,juggs,doritos,celtics1,peterbilt,ghbdtnbrb,gnusmas,xcountry,ghbdtn1,batman99,deusex,gtnhjdf,blablabl,juster,marimba,love2,rerjkrf,alhambra,micros,siemens1,assmaste,moonie,dashadasha,atybrc,eeeeee1,wildrose,blue55,davidl,xrp23q,skyblue,leo123,ggggg1,bestfriend,franny,1234rmvb,fun123,rules1,sebastien,chester2,hakeem,winston2,fartripper,atlant,07831505,iluvsex,q1a2z3,larrys,009900,ghjkju,capitan,rider1,qazxsw21,belochka,andy123,hellya,chicca,maximal,juergen,password1234,howard1,quetzal,daniel123,qpwoeiruty,123555,bharat,ferrari3,numbnuts,savant,ladydog,phipsi,lovepussy,etoile,power2,mitten,britneys,chilidog,08522580,2fchbg,kinky1,bluerose,loulo,ricardo1,doqvq3,kswbdu,013cpfza,timoha,ghbdtnghbdtn,3stooges,gearhead,browns1,g00ber,super7,greenbud,kitty2,pootie,toolshed,gamers,coffe,ibill123,freelove,anasazi,sister1,jigger,natash,stacy1,weronika,luzern,soccer7,hoopla,dmoney,valerie1,canes,razdvatri,washere,greenwoo,rfhjkbyf,anselm,pkxe62,maribe,daniel2,maxim1,faceoff,carbine,xtkjdtr,buddy12,stratos,jumpman,buttocks,aqswdefr,pepsis,sonechka,steeler1,lanman,nietzsch,ballz,biscuit1,wrxsti,goodfood,juventu,federic,mattman,vika123,strelec,jledfyxbr,sideshow,4life,fredderf,bigwilly,12347890,12345671,sharik,bmw325i,fylhtqrf,dannon4,marky,mrhappy,drdoom,maddog1,pompier,cerbera,goobers,howler,jenny69,evely,letitrid,cthuttdyf,felip,shizzle,golf12,t123456,yamah,bluearmy,squishy,roxan,10inches,dollface,babygirl1,blacksta,kaneda,lexingto,canadien,222888,kukushka,sistema,224422,shadow69,ppspankp,mellons,barbie1,free4all,alfa156,lostone,2w3e4r5t,painkiller,robbie1,binger,8dihc6,jaspe,rellik,quark,sogood,hoopstar,number2,snowy1,dad2ownu,cresta,qwe123asd,hjvfyjdf,gibsonsg,qbg26i,dockers,grunge,duckling,lfiekz,cuntsoup,kasia1,1tigger,woaini,reksio,tmoney,firefighter,neuron,audia3,woogie,powerboo,powermac,fatcock,12345666,upnfmc,lustful,porn1,gotlove,amylee,kbytqrf,11924704,25251325,sarasota,sexme,ozzie1,berliner,nigga1,guatemal,seagulls,iloveyou!,chicken2,qwerty21,010203040506,1pillow,libby1,vodoley,backlash,piglets,teiubesc,019283,vonnegut,perico,thunde,buckey,gtxtymrf,manunite,iiiii1,lost4815162342,madonn,270873_,britney1,kevlar,piano1,boondock,colt1911,salamat,doma77ns,anuradha,cnhjqrf,rottweil,newmoon,topgun1,mauser,fightclu,birthday21,reviewpa,herons,aassddff,lakers32,melissa2,vredina,jiujitsu,mgoblue,shakey,moss84,12345zxcvb,funsex,benji1,garci,113322,chipie,windex,nokia5310,pwxd5x,bluemax,cosita,chalupa,trotsky,new123,g3ujwg,newguy,canabis,gnaget,happydays,felixx,1patrick,cumface,sparkie,kozlova,123234,newports,broncos7,golf18,recycle,hahah,harrypot,cachondo,open4me,miria,guessit,pepsione,knocker,usmc1775,countach,playe,wiking,landrover,cracksevi,drumline,a7777777,smile123,manzana,panty,liberta,pimp69,dolfan,quality1,schnee,superson,elaine22,webhompass,mrbrownx,deepsea,4wheel,mamasita,rockport,rollie,myhome,jordan12,kfvgjxrf,hockey12,seagrave,ford1,chelsea2,samsara,marissa1,lamesa,mobil1,piotrek,tommygun,yyyyy1,wesley1,billy123,homersim,julies,amanda12,shaka,maldini,suzenet,springst,iiiiii1,yakuza,111111aa,westwind,helpdesk,annamari,bringit,hopefull,hhhhhhh1,saywhat,mazdarx8,bulova,jennife1,baikal,gfhjkmxbr,victoria1,gizmo123,alex99,defjam,2girls,sandrock,positivo,shingo,syncmast,opensesa,silicone,fuckina,senna1,karlos,duffbeer,montagne,gehrig,thetick,pepino,hamburge,paramedic,scamp,smokeweed,fabregas,phantoms,venom121293,2583458,badone,porno69,manwhore,vfvf123,notagain,vbktyf,rfnthbyrf,wildblue,kelly001,dragon66,camell,curtis1,frolova,1212123,dothedew,tyler123,reddrago,planetx,promethe,gigolo,1001001,thisone,eugeni,blackshe,cruzazul,incognito,puller,joonas,quick1,spirit1,gazza,zealot,gordito,hotrod1,mitch1,pollito,hellcat,mythos,duluth,383pdjvl,easy123,hermos,binkie,its420,lovecraf,darien,romina,doraemon,19877891,syclone,hadoken,transpor,ichiro,intell,gargamel,dragon2,wavpzt,557744,rjw7x4,jennys,kickit,rjynfrn,likeit,555111,corvus,nec3520,133113,mookie1,bochum,samsung2,locoman0,154ugeiu,vfvfbgfgf,135792,[start],tenni,20001,vestax,hufmqw,neveragain,wizkid,kjgfnf,nokia6303,tristen,saltanat,louie1,gandalf2,sinfonia,alpha3,tolstoy,ford150,f00bar,1hello,alici,lol12,riker1,hellou,333888,1hunter,qw1234,vibrator,mets86,43211234,gonzale,cookies1,sissy1,john11,bubber,blue01,cup2006,gtkmvtyb,nazareth,heybaby,suresh,teddie,mozilla,rodeo1,madhouse,gamera,123123321,naresh,dominos,foxtrot1,taras,powerup,kipling,jasonb,fidget,galena,meatman,alpacino,bookmark,farting,humper,titsnass,gorgon,castaway,dianka,anutka,gecko1,fucklove,connery,wings1,erika1,peoria,moneymaker,ichabod,heaven1,paperboy,phaser,breakers,nurse1,westbrom,alex13,brendan1,123asd123,almera,grubber,clarkie,thisisme,welkom01,51051051051,crypto,freenet,pflybwf,black12,testme2,changeit,autobahn,attica,chaoss,denver1,tercel,gnasher23,master2,vasilii,sherman1,gomer,bigbuck,derek1,qwerzxcv,jumble,dragon23,art131313,numark,beasty,cxfcnmttcnm,updown,starion,glist,sxhq65,ranger99,monkey7,shifter,wolves1,4r5t6y,phone1,favorite5,skytommy,abracada,1martin,102030405060,gatech,giulio,blacktop,cheer1,africa1,grizzly1,inkjet,shemales,durango1,booner,11223344q,supergirl,vanyarespekt,dickless,srilanka,weaponx,6string,nashvill,spicey,boxer1,fabien,2sexy2ho,bowhunt,jerrylee,acrobat,tawnee,ulisse,nolimit8,l8g3bkde,pershing,gordo1,allover,gobrowns,123432,123444,321456987,spoon1,hhhhh1,sailing1,gardenia,teache,sexmachine,tratata,pirate1,niceone,jimbos,314159265,qsdfgh,bobbyy,ccccc1,carla1,vjkjltw,savana,biotech,frigid,123456789g,dragon10,yesiam,alpha06,oakwood,tooter,winsto,radioman,vavilon,asnaeb,google123,nariman,kellyb,dthyjcnm,password6,parol1,golf72,skate1,lthtdj,1234567890s,kennet,rossia,lindas,nataliya,perfecto,eminem1,kitana,aragorn1,rexona,arsenalf,planot,coope,testing123,timex,blackbox,bullhead,barbarian,dreamon,polaris1,cfvjktn,frdfhbev,gametime,slipknot666,nomad1,hfgcjlbz,happy69,fiddler,brazil1,joeboy,indianali,113355,obelisk,telemark,ghostrid,preston1,anonim,wellcome,verizon1,sayangku,censor,timeport,dummies,adult1,nbnfybr,donger,thales,iamgay,sexy1234,deadlift,pidaras,doroga,123qwe321,portuga,asdfgh12,happys,cadr14nu,pi3141,maksik,dribble,cortland,darken,stepanova,bommel,tropic,sochi2014,bluegras,shahid,merhaba,nacho,2580456,orange44,kongen,3cudjz,78girl,my3kids,marcopol,deadmeat,gabbie,saruman,jeepman,freddie1,katie123,master99,ronal,ballbag,centauri,killer7,xqgann,pinecone,jdeere,geirby,aceshigh,55832811,pepsimax,rayden,razor1,tallyho,ewelina,coldfire,florid,glotest,999333,sevenup,bluefin,limaperu,apostol,bobbins,charmed1,michelin,sundin,centaur,alphaone,christof,trial1,lions1,45645,just4you,starflee,vicki1,cougar1,green2,jellyfis,batman69,games1,hihje863,crazyzil,w0rm1,oklick,dogbite,yssup,sunstar,paprika,postov10,124578963,x24ik3,kanada,buckster,iloveamy,bear123,smiler,nx74205,ohiostat,spacey,bigbill,doudo,nikolaeva,hcleeb,sex666,mindy1,buster11,deacons,boness,njkcnsq,candy2,cracker1,turkey1,qwertyu1,gogreen,tazzzz,edgewise,ranger01,qwerty6,blazer1,arian,letmeinnow,cigar1,jjjjjj1,grigio,frien,tenchu,f9lmwd,imissyou,filipp,heathers,coolie,salem1,woodduck,scubadiv,123kat,raffaele,nikolaev,dapzu455,skooter,9inches,lthgfhjkm,gr8one,ffffff1,zujlrf,amanda69,gldmeo,m5wkqf,rfrltkf,televisi,bonjou,paleale,stuff1,cumalot,fuckmenow,climb7,mark1234,t26gn4,oneeye,george2,utyyflbq,hunting1,tracy71,ready2go,hotguy,accessno,charger1,rudedog,kmfdm,goober1,sweetie1,wtpmjgda,dimensio,ollie1,pickles1,hellraiser,mustdie,123zzz,99887766,stepanov,verdun,tokenbad,anatol,bartende,cidkid86,onkelz,timmie,mooseman,patch1,12345678c,marta1,dummy1,bethany1,myfamily,history1,178500,lsutiger,phydeaux,moren,dbrnjhjdbx,gnbxrf,uniden,drummers,abpbrf,godboy,daisy123,hogan1,ratpack,irland,tangerine,greddy,flore,sqrunch,billyjoe,q55555,clemson1,98745632,marios,ishot,angelin,access12,naruto12,lolly,scxakv,austin12,sallad,cool99,rockit,mongo1,mark22,ghbynth,ariadna,senha,docto,tyler2,mobius,hammarby,192168,anna12,claire1,pxx3eftp,secreto,greeneye,stjabn,baguvix,satana666,rhbcnbyjxrf,dallastx,garfiel,michaelj,1summer,montan,1234ab,filbert,squids,fastback,lyudmila,chucho,eagleone,kimberle,ar3yuk3,jake01,nokids,soccer22,1066ad,ballon,cheeto,review69,madeira,taylor2,sunny123,chubbs,lakeland,striker1,porche,qwertyu8,digiview,go1234,ferari,lovetits,aditya,minnow,green3,matman,cellphon,fortytwo,minni,pucara,69a20a,roman123,fuente,12e3e456,paul12,jacky,demian,littleman,jadakiss,vlad1997,franca,282860,midian,nunzio,xaccess2,colibri,jessica0,revilo,654456,harvey1,wolf1,macarena,corey1,husky1,arsen,milleniu,852147,crowes,redcat,combat123654,hugger,psalms,quixtar,ilovemom,toyot,ballss,ilovekim,serdar,james23,avenger1,serendip,malamute,nalgas,teflon,shagger,letmein6,vyjujnjxbt,assa1234,student1,dixiedog,gznybwf13,fuckass,aq1sw2de3,robroy,hosehead,sosa21,123345,ias100,teddy123,poppin,dgl70460,zanoza,farhan,quicksilver,1701d,tajmahal,depechemode,paulchen,angler,tommy2,recoil,megamanx,scarecro,nicole2,152535,rfvtgb,skunky,fatty1,saturno,wormwood,milwauke,udbwsk,sexlover,stefa,7bgiqk,gfnhbr,omar10,bratan,lbyfvj,slyfox,forest1,jambo,william3,tempus,solitari,lucydog,murzilka,qweasdzxc1,vehpbkrf,12312345,fixit,woobie,andre123,123456789x,lifter,zinaida,soccer17,andone,foxbat,torsten,apple12,teleport,123456i,leglover,bigcocks,vologda,dodger1,martyn,d6o8pm,naciona,eagleeye,maria6,rimshot,bentley1,octagon,barbos,masaki,gremio,siemen,s1107d,mujeres,bigtits1,cherr,saints1,mrpink,simran,ghzybr,ferrari2,secret12,tornado1,kocham,picolo,deneme,onelove1,rolan,fenster,1fuckyou,cabbie,pegaso,nastyboy,password5,aidana,mine2306,mike13,wetone,tigger69,ytreza,bondage1,myass,golova,tolik,happyboy,poilkj,nimda2k,rammer,rubies,hardcore1,jetset,hoops1,jlaudio,misskitt,1charlie,google12,theone1,phred,porsch,aalborg,luft4,charlie5,password7,gnosis,djgabbab,1daniel,vinny,borris,cumulus,member1,trogdor,darthmau,andrew2,ktjybl,relisys,kriste,rasta220,chgobndg,weener,qwerty66,fritter,followme,freeman1,ballen,blood1,peache,mariso,trevor1,biotch,gtfullam,chamonix,friendste,alligato,misha1,1soccer,18821221,venkat,superd,molotov,bongos,mpower,acun3t1x,dfcmrf,h4x3d,rfhfufylf,tigran,booyaa,plastic1,monstr,rfnhby,lookatme,anabolic,tiesto,simon123,soulman,canes1,skyking,tomcat1,madona,bassline,dasha123,tarheel1,dutch1,xsw23edc,qwerty123456789,imperator,slaveboy,bateau,paypal,house123,pentax,wolf666,drgonzo,perros,digger1,juninho,hellomoto,bladerun,zzzzzzz1,keebler,take8422,fffffff1,ginuwine,israe,caesar1,crack1,precious1,garand,magda1,zigazaga,321ewq,johnpaul,mama1234,iceman69,sanjeev,treeman,elric,rebell,1thunder,cochon,deamon,zoltan,straycat,uhbyuj,luvfur,mugsy,primer,wonder1,teetime,candycan,pfchfytw,fromage,gitler,salvatio,piggy1,23049307,zafira,chicky,sergeev,katze,bangers,andriy,jailbait,vaz2107,ghbhjlf,dbjktnnf,aqswde,zaratustra,asroma,1pepper,alyss,kkkkk1,ryan1,radish,cozumel,waterpol,pentium1,rosebowl,farmall,steinway,dbrekz,baranov,jkmuf,another1,chinacat,qqqqqqq1,hadrian,devilmaycry4,ratbag,teddy2,love21,pullings,packrat,robyn1,boobo,qw12er34,tribe1,rosey,celestia,nikkie,fortune12,olga123,danthema,gameon,vfrfhjys,dilshod,henry14,jenova,redblue,chimaera,pennywise,sokrates,danimal,qqaazz,fuaqz4,killer2,198200,tbone1,kolyan,wabbit,lewis1,maxtor,egoist,asdfas,spyglass,omegas,jack12,nikitka,esperanz,doozer,matematika,wwwww1,ssssss1,poiu0987,suchka,courtney1,gungho,alpha2,fktyjxrf,summer06,bud420,devildriver,heavyd,saracen,foucault,choclate,rjdfktyrj,goblue1,monaro,jmoney,dcpugh,efbcapa201,qqh92r,pepsicol,bbb747,ch5nmk,honeyb,beszoptad,tweeter,intheass,iseedeadpeople,123dan,89231243658s,farside1,findme,smiley1,55556666,sartre,ytcnjh,kacper,costarica,134679258,mikeys,nolimit9,vova123,withyou,5rxypn,love143,freebie,rescue1,203040,michael6,12monkey,redgreen,steff,itstime,naveen,good12345,acidrain,1dawg,miramar,playas,daddio,orion2,852741,studmuff,kobe24,senha123,stephe,mehmet,allalone,scarface1,helloworld,smith123,blueyes,vitali,memphis1,mybitch,colin1,159874,1dick,podaria,d6wnro,brahms,f3gh65,dfcbkmtd,xxxman,corran,ugejvp,qcfmtz,marusia,totem,arachnid,matrix2,antonell,fgntrf,zemfira,christos,surfing1,naruto123,plato1,56qhxs,madzia,vanille,043aaa,asq321,mutton,ohiostate,golde,cdznjckfd,rhfcysq,green5,elephan,superdog,jacqueli,bollock,lolitas,nick12,1orange,maplelea,july23,argento,waldorf,wolfer,pokemon12,zxcvbnmm,flicka,drexel,outlawz,harrie,atrain,juice2,falcons1,charlie6,19391945,tower1,dragon21,hotdamn,dirtyboy,love4ever,1ginger,thunder2,virgo1,alien1,bubblegu,4wwvte,123456789qqq,realtime,studio54,passss,vasilek,awsome,giorgia,bigbass,2002tii,sunghile,mosdef,simbas,count0,uwrl7c,summer05,lhepmz,ranger21,sugarbea,principe,5550123,tatanka,9638v,cheerios,majere,nomercy,jamesbond007,bh90210,7550055,jobber,karaganda,pongo,trickle,defamer,6chid8,1q2a3z,tuscan,nick123,.adgjm,loveyo,hobbes1,note1234,shootme,171819,loveporn,9788960,monty123,fabrice,macduff,monkey13,shadowfa,tweeker,hanna1,madball,telnet,loveu2,qwedcxzas,thatsit,vfhcbr,ptfe3xxp,gblfhfcs,ddddddd1,hakkinen,liverune,deathsta,misty123,suka123,recon1,inferno1,232629,polecat,sanibel,grouch,hitech,hamradio,rkfdbfnehf,vandam,nadin,fastlane,shlong,iddqdidkfa,ledzeppelin,sexyfeet,098123,stacey1,negras,roofing,lucifer1,ikarus,tgbyhn,melnik,barbaria,montego,twisted1,bigal1,jiggle,darkwolf,acerview,silvio,treetops,bishop1,iwanna,pornsite,happyme,gfccdjhl,114411,veritech,batterse,casey123,yhntgb,mailto,milli,guster,q12345678,coronet,sleuth,fuckmeha,armadill,kroshka,geordie,lastochka,pynchon,killall,tommy123,sasha1996,godslove,hikaru,clticic,cornbrea,vfkmdbyf,passmaster,123123123a,souris,nailer,diabolo,skipjack,martin12,hinata,mof6681,brookie,dogfight,johnso,karpov,326598,rfvbrflpt,travesti,caballer,galaxy1,wotan,antoha,art123,xakep1234,ricflair,pervert1,p00kie,ambulanc,santosh,berserker,larry33,bitch123,a987654321,dogstar,angel22,cjcbcrf,redhouse,toodles,gold123,hotspot,kennedy1,glock21,chosen1,schneide,mainman,taffy1,3ki42x,4zqauf,ranger2,4meonly,year2000,121212a,kfylsi,netzwerk,diese,picasso1,rerecz,225522,dastan,swimmer1,brooke1,blackbea,oneway,ruslana,dont4get,phidelt,chrisp,gjyxbr,xwing,kickme,shimmy,kimmy1,4815162342lost,qwerty5,fcporto,jazzbo,mierd,252627,basses,sr20det,00133,florin,howdy1,kryten,goshen,koufax,cichlid,imhotep,andyman,wrest666,saveme,dutchy,anonymou,semprini,siempre,mocha1,forest11,wildroid,aspen1,sesam,kfgekz,cbhbec,a55555,sigmanu,slash1,giggs11,vatech,marias,candy123,jericho1,kingme,123a123,drakula,cdjkjxm,mercur,oneman,hoseman,plumper,ilovehim,lancers,sergey1,takeshi,goodtogo,cranberr,ghjcnj123,harvick,qazxs,1972chev,horsesho,freedom3,letmein7,saitek,anguss,vfvfgfgfz,300000,elektro,toonporn,999111999q,mamuka,q9umoz,edelweis,subwoofer,bayside,disturbe,volition,lucky3,12345678z,3mpz4r,march1,atlantida,strekoza,seagrams,090909t,yy5rbfsc,jack1234,sammy12,sampras,mark12,eintrach,chaucer,lllll1,nochance,whitepower,197000,lbvekz,passer,torana,12345as,pallas,koolio,12qw34,nokia8800,findout,1thomas,mmmmm1,654987,mihaela,chinaman,superduper,donnas,ringo1,jeroen,gfdkjdf,professo,cdtnrf,tranmere,tanstaaf,himera,ukflbfnjh,667788,alex32,joschi,w123456,okidoki,flatline,papercli,super8,doris1,2good4u,4z34l0ts,pedigree,freeride,gsxr1100,wulfgar,benjie,ferdinan,king1,charlie7,djdxbr,fhntvbq,ripcurl,2wsx1qaz,kingsx,desade,sn00py,loveboat,rottie,evgesha,4money,dolittle,adgjmpt,buzzers,brett1,makita,123123qweqwe,rusalka,sluts1,123456e,jameson1,bigbaby,1z2z3z,ckjybr,love4u,fucker69,erhfbyf,jeanluc,farhad,fishfood,merkin,giant1,golf69,rfnfcnhjaf,camera1,stromb,smoothy,774411,nylon,juice1,rfn.irf,newyor,123456789t,marmot,star11,jennyff,jester1,hisashi,kumquat,alex777,helicopt,merkur,dehpye,cummin,zsmj2v,kristjan,april12,englan,honeypot,badgirls,uzumaki,keines,p12345,guita,quake1,duncan1,juicer,milkbone,hurtme,123456789b,qq123456789,schwein,p3wqaw,54132442,qwertyytrewq,andreeva,ruffryde,punkie,abfkrf,kristinka,anna1987,ooooo1,335533aa,umberto,amber123,456123789,456789123,beelch,manta,peeker,1112131415,3141592654,gipper,wrinkle5,katies,asd123456,james11,78n3s5af,michael0,daboss,jimmyb,hotdog1,david69,852123,blazed,sickan,eljefe,2n6wvq,gobills,rfhfcm,squeaker,cabowabo,luebri,karups,test01,melkor,angel777,smallvil,modano,olorin,4rkpkt,leslie1,koffie,shadows1,littleon,amiga1,topeka,summer20,asterix1,pitstop,aloysius,k12345,magazin,joker69,panocha,pass1word,1233214,ironpony,368ejhih,88keys,pizza123,sonali,57np39,quake2,1234567890qw,1020304,sword1,fynjif,abcde123,dfktyjr,rockys,grendel1,harley12,kokakola,super2,azathoth,lisa123,shelley1,girlss,ibragim,seven1,jeff24,1bigdick,dragan,autobot,t4nvp7,omega123,900000,hecnfv,889988,nitro1,doggie1,fatjoe,811pahc,tommyt,savage1,pallino,smitty1,jg3h4hfn,jamielee,1qazwsx,zx123456,machine1,asdfgh123,guinnes,789520,sharkman,jochen,legend1,sonic2,extreme1,dima12,photoman,123459876,nokian95,775533,vaz2109,april10,becks,repmvf,pooker,qwer12345,themaster,nabeel,monkey10,gogetit,hockey99,bbbbbbb1,zinedine,dolphin2,anelka,1superma,winter01,muggsy,horny2,669966,kuleshov,jesusis,calavera,bullet1,87t5hdf,sleepers,winkie,vespa,lightsab,carine,magister,1spider,shitbird,salavat,becca1,wc18c2,shirak,galactus,zaskar,barkley1,reshma,dogbreat,fullsail,asasa,boeder,12345ta,zxcvbnm12,lepton,elfquest,tony123,vkaxcs,savatage,sevilia1,badkitty,munkey,pebbles1,diciembr,qapmoc,gabriel2,1qa2ws3e,cbcmrb,welldone,nfyufh,kaizen,jack11,manisha,grommit,g12345,maverik,chessman,heythere,mixail,jjjjjjj1,sylvia1,fairmont,harve,skully,global1,youwish,pikachu1,badcat,zombie1,49527843,ultra1,redrider,offsprin,lovebird,153426,stymie,aq1sw2,sorrento,0000001,r3ady41t,webster1,95175,adam123,coonass,159487,slut1,gerasim,monkey99,slutwife,159963,1pass1page,hobiecat,bigtymer,all4you,maggie2,olamide,comcast1,infinit,bailee,vasileva,.ktxrf,asdfghjkl1,12345678912,setter,fuckyou7,nnagqx,lifesuck,draken,austi,feb2000,cable1,1234qwerasdf,hax0red,zxcv12,vlad7788,nosaj,lenovo,underpar,huskies1,lovegirl,feynman,suerte,babaloo,alskdjfhg,oldsmobi,bomber1,redrover,pupuce,methodman,phenom,cutegirl,countyli,gretsch,godisgood,bysunsu,hardhat,mironova,123qwe456rty,rusty123,salut,187211,555666777,11111z,mahesh,rjntyjxtr,br00klyn,dunce1,timebomb,bovine,makelove,littlee,shaven,rizwan,patrick7,42042042,bobbijo,rustem,buttmunc,dongle,tiger69,bluecat,blackhol,shirin,peaces,cherub,cubase,longwood,lotus7,gwju3g,bruin,pzaiu8,green11,uyxnyd,seventee,dragon5,tinkerbel,bluess,bomba,fedorova,joshua2,bodyshop,peluche,gbpacker,shelly1,d1i2m3a4,ghtpbltyn,talons,sergeevna,misato,chrisc,sexmeup,brend,olddog,davros,hazelnut,bridget1,hzze929b,readme,brethart,wild1,ghbdtnbr1,nortel,kinger,royal1,bucky1,allah1,drakkar,emyeuanh,gallaghe,hardtime,jocker,tanman,flavio,abcdef123,leviatha,squid1,skeet,sexse,123456x,mom4u4mm,lilred,djljktq,ocean11,cadaver,baxter1,808state,fighton,primavera,1andrew,moogle,limabean,goddess1,vitalya,blue56,258025,bullride,cicci,1234567d,connor1,gsxr11,oliveoil,leonard1,legsex,gavrik,rjnjgtc,mexicano,2bad4u,goodfellas,ornw6d,mancheste,hawkmoon,zlzfrh,schorsch,g9zns4,bashful,rossi46,stephie,rfhfntkm,sellout,123fuck,stewar1,solnze,00007,thor5200,compaq12,didit,bigdeal,hjlbyf,zebulon,wpf8eu,kamran,emanuele,197500,carvin,ozlq6qwm,3syqo15hil,pennys,epvjb6,asdfghjkl123,198000,nfbcbz,jazzer,asfnhg66,zoloft,albundy,aeiou,getlaid,planet1,gjkbyjxrf,alex2000,brianb,moveon,maggie11,eieio,vcradq,shaggy1,novartis,cocoloco,dunamis,554uzpad,sundrop,1qwertyu,alfie,feliks,briand,123www,red456,addams,fhntv1998,goodhead,theway,javaman,angel01,stratoca,lonsdale,15987532,bigpimpin,skater1,issue43,muffie,yasmina,slowride,crm114,sanity729,himmel,carolcox,bustanut,parabola,masterlo,computador,crackhea,dynastar,rockbott,doggysty,wantsome,bigten,gaelle,juicy1,alaska1,etower,sixnine,suntan,froggies,nokia7610,hunter11,njnets,alicante,buttons1,diosesamo,elizabeth1,chiron,trustnoo,amatuers,tinytim,mechta,sammy2,cthulu,trs8f7,poonam,m6cjy69u35,cookie12,blue25,jordans,santa1,kalinka,mikey123,lebedeva,12345689,kissss,queenbee,vjybnjh,ghostdog,cuckold,bearshare,rjcntyrj,alinochka,ghjcnjrdfibyj,aggie1,teens1,3qvqod,dauren,tonino,hpk2qc,iqzzt580,bears85,nascar88,theboy,njqcw4,masyanya,pn5jvw,intranet,lollone,shadow99,00096462,techie,cvtifhbrb,redeemed,gocanes,62717315,topman,intj3a,cobrajet,antivirus,whyme,berserke,ikilz083,airedale,brandon2,hopkig,johanna1,danil8098,gojira,arthu,vision1,pendragon,milen,chrissie,vampiro,mudder,chris22,blowme69,omega7,surfers,goterps,italy1,baseba11,diego1,gnatsum,birdies,semenov,joker123,zenit2011,wojtek,cab4ma99,watchmen,damia,forgotte,fdm7ed,strummer,freelanc,cingular,orange77,mcdonalds,vjhjpjdf,kariya,tombston,starlet,hawaii1,dantheman,megabyte,nbvjirf,anjing,ybrjkftdbx,hotmom,kazbek,pacific1,sashimi,asd12,coorslig,yvtte545,kitte,elysium,klimenko,cobblers,kamehameha,only4me,redriver,triforce,sidorov,vittoria,fredi,dank420,m1234567,fallout2,989244342a,crazy123,crapola,servus,volvos,1scooter,griffin1,autopass,ownzyou,deviant,george01,2kgwai,boeing74,simhrq,hermosa,hardcor,griffy,rolex1,hackme,cuddles1,master3,bujhtr,aaron123,popolo,blader,1sexyred,gerry1,cronos,ffvdj474,yeehaw,bob1234,carlos2,mike77,buckwheat,ramesh,acls2h,monster2,montess,11qq22ww,lazer,zx123456789,chimpy,masterch,sargon,lochness,archana,1234qwert,hbxfhl,sarahb,altoid,zxcvbn12,dakot,caterham,dolomite,chazz,r29hqq,longone,pericles,grand1,sherbert,eagle3,pudge,irontree,synapse,boome,nogood,summer2,pooki,gangsta1,mahalkit,elenka,lbhtrnjh,dukedog,19922991,hopkins1,evgenia,domino1,x123456,manny1,tabbycat,drake1,jerico,drahcir,kelly2,708090a,facesit,11c645df,mac123,boodog,kalani,hiphop1,critters,hellothere,tbirds,valerka,551scasi,love777,paloalto,mrbrown,duke3d,killa1,arcturus,spider12,dizzy1,smudger,goddog,75395,spammy,1357997531,78678,datalife,zxcvbn123,1122112211,london22,23dp4x,rxmtkp,biggirls,ownsu,lzbs2twz,sharps,geryfe,237081a,golakers,nemesi,sasha1995,pretty1,mittens1,d1lakiss,speedrac,gfhjkmm,sabbat,hellrais,159753258,qwertyuiop123,playgirl,crippler,salma,strat1,celest,hello5,omega5,cheese12,ndeyl5,edward12,soccer3,cheerio,davido,vfrcbr,gjhjctyjr,boscoe,inessa,shithole,ibill,qwepoi,201jedlz,asdlkj,davidk,spawn2,ariel1,michael4,jamie123,romantik,micro1,pittsbur,canibus,katja,muhtar,thomas123,studboy,masahiro,rebrov,patrick8,hotboys,sarge1,1hammer,nnnnn1,eistee,datalore,jackdani,sasha2010,mwq6qlzo,cmfnpu,klausi,cnhjbntkm,andrzej,ilovejen,lindaa,hunter123,vvvvv1,novembe,hamster1,x35v8l,lacey1,1silver,iluvporn,valter,herson,alexsandr,cojones,backhoe,womens,777angel,beatit,klingon1,ta8g4w,luisito,benedikt,maxwel,inspecto,zaq12ws,wladimir,bobbyd,peterj,asdfg12,hellspawn,bitch69,nick1234,golfer23,sony123,jello1,killie,chubby1,kodaira52,yanochka,buckfast,morris1,roaddogg,snakeeye,sex1234,mike22,mmouse,fucker11,dantist,brittan,vfrfhjdf,doc123,plokijuh,emerald1,batman01,serafim,elementa,soccer9,footlong,cthuttdbx,hapkido,eagle123,getsmart,getiton,batman2,masons,mastiff,098890,cfvfhf,james7,azalea,sherif,saun24865709,123red,cnhtrjpf,martina1,pupper,michael5,alan12,shakir,devin1,ha8fyp,palom,mamulya,trippy,deerhunter,happyone,monkey77,3mta3,123456789f,crownvic,teodor,natusik,0137485,vovchik,strutter,triumph1,cvetok,moremone,sonnen,screwbal,akira1,sexnow,pernille,independ,poopies,samapi,kbcbxrf,master22,swetlana,urchin,viper2,magica,slurpee,postit,gilgames,kissarmy,clubpenguin,limpbizk,timber1,celin,lilkim,fuckhard,lonely1,mom123,goodwood,extasy,sdsadee23,foxglove,malibog,clark1,casey2,shell1,odense,balefire,dcunited,cubbie,pierr,solei,161718,bowling1,areyukesc,batboy,r123456,1pionee,marmelad,maynard1,cn42qj,cfvehfq,heathrow,qazxcvbn,connecti,secret123,newfie,xzsawq21,tubitzen,nikusha,enigma1,yfcnz123,1austin,michaelc,splunge,wanger,phantom2,jason2,pain4me,primetime21,babes1,liberte,sugarray,undergro,zonker,labatts,djhjyf,watch1,eagle5,madison2,cntgfirf,sasha2,masterca,fiction7,slick50,bruins1,sagitari,12481632,peniss,insuranc,2b8riedt,12346789,mrclean,ssptx452,tissot,q1w2e3r4t5y6u7,avatar1,comet1,spacer,vbrjkf,pass11,wanker1,14vbqk9p,noshit,money4me,sayana,fish1234,seaways,pipper,romeo123,karens,wardog,ab123456,gorilla1,andrey123,lifesucks,jamesr,4wcqjn,bearman,glock22,matt11,dflbvrf,barbi,maine1,dima1997,sunnyboy,6bjvpe,bangkok1,666666q,rafiki,letmein0,0raziel0,dalla,london99,wildthin,patrycja,skydog,qcactw,tmjxn151,yqlgr667,jimmyd,stripclub,deadwood,863abgsg,horses1,qn632o,scatman,sonia1,subrosa,woland,kolya,charlie4,moleman,j12345,summer11,angel11,blasen,sandal,mynewpas,retlaw,cambria,mustang4,nohack04,kimber45,fatdog,maiden1,bigload,necron,dupont24,ghost123,turbo2,.ktymrf,radagast,balzac,vsevolod,pankaj,argentum,2bigtits,mamabear,bumblebee,mercury7,maddie1,chomper,jq24nc,snooky,pussylic,1lovers,taltos,warchild,diablo66,jojo12,sumerki,aventura,gagger,annelies,drumset,cumshots,azimut,123580,clambake,bmw540,birthday54,psswrd,paganini,wildwest,filibert,teaseme,1test,scampi,thunder5,antosha,purple12,supersex,hhhhhh1,brujah,111222333a,13579a,bvgthfnjh,4506802a,killians,choco,qqqwwweee,raygun,1grand,koetsu13,sharp1,mimi92139,fastfood,idontcare,bluered,chochoz,4z3al0ts,target1,sheffiel,labrat,stalingrad,147123,cubfan,corvett1,holden1,snapper1,4071505,amadeo,pollo,desperados,lovestory,marcopolo,mumbles,familyguy,kimchee,marcio,support1,tekila,shygirl1,trekkie,submissi,ilaria,salam,loveu,wildstar,master69,sales1,netware,homer2,arseniy,gerrity1,raspberr,atreyu,stick1,aldric,tennis12,matahari,alohomora,dicanio,michae1,michaeld,666111,luvbug,boyscout,esmerald,mjordan,admiral1,steamboa,616913,ybhdfyf,557711,555999,sunray,apokalipsis,theroc,bmw330,buzzy,chicos,lenusik,shadowma,eagles05,444222,peartree,qqq123,sandmann,spring1,430799,phatass,andi03,binky1,arsch,bamba,kenny123,fabolous,loser123,poop12,maman,phobos,tecate,myxworld4,metros,cocorico,nokia6120,johnny69,hater,spanked,313233,markos,love2011,mozart1,viktoriy,reccos,331234,hornyone,vitesse,1um83z,55555q,proline,v12345,skaven,alizee,bimini,fenerbahce,543216,zaqqaz,poi123,stabilo,brownie1,1qwerty1,dinesh,baggins1,1234567t,davidkin,friend1,lietuva,octopuss,spooks,12345qq,myshit,buttface,paradoxx,pop123,golfin,sweet69,rfghbp,sambuca,kayak1,bogus1,girlz,dallas12,millers,123456zx,operatio,pravda,eternal1,chase123,moroni,proust,blueduck,harris1,redbarch,996699,1010101,mouche,millenni,1123456,score1,1234565,1234576,eae21157,dave12,pussyy,gfif1991,1598741,hoppy,darrian,snoogins,fartface,ichbins,vfkbyrf,rusrap,2741001,fyfrjylf,aprils,favre,thisis,bannana,serval,wiggum,satsuma,matt123,ivan123,gulmira,123zxc123,oscar2,acces,annie2,dragon0,emiliano,allthat,pajaro,amandine,rawiswar,sinead,tassie,karma1,piggys,nokias,orions,origami,type40,mondo,ferrets,monker,biteme2,gauntlet,arkham,ascona,ingram01,klem1,quicksil,bingo123,blue66,plazma,onfire,shortie,spjfet,123963,thered,fire777,lobito,vball,1chicken,moosehea,elefante,babe23,jesus12,parallax,elfstone,number5,shrooms,freya,hacker1,roxette,snoops,number7,fellini,dtlmvf,chigger,mission1,mitsubis,kannan,whitedog,james01,ghjgecr,rfnfgekmnf,everythi,getnaked,prettybo,sylvan,chiller,carrera4,cowbo,biochem,azbuka,qwertyuiop1,midnight1,informat,audio1,alfred1,0range,sucker1,scott2,russland,1eagle,torben,djkrjlfd,rocky6,maddy1,bonobo,portos,chrissi,xjznq5,dexte,vdlxuc,teardrop,pktmxr,iamtheone,danijela,eyphed,suzuki1,etvww4,redtail,ranger11,mowerman,asshole2,coolkid,adriana1,bootcamp,longcut,evets,npyxr5,bighurt,bassman1,stryder,giblet,nastja,blackadd,topflite,wizar,cumnow,technolo,bassboat,bullitt,kugm7b,maksimus,wankers,mine12,sunfish,pimpin1,shearer9,user1,vjzgjxnf,tycobb,80070633pc,stanly,vitaly,shirley1,cinzia,carolyn1,angeliqu,teamo,qdarcv,aa123321,ragdoll,bonit,ladyluck,wiggly,vitara,jetbalance,12345600,ozzman,dima12345,mybuddy,shilo,satan66,erebus,warrio,090808qwe,stupi,bigdan,paul1234,chiapet,brooks1,philly1,dually,gowest,farmer1,1qa2ws3ed4rf,alberto1,beachboy,barne,aa12345,aliyah,radman,benson1,dfkthbq,highball,bonou2,i81u812,workit,darter,redhook,csfbr5yy,buttlove,episode1,ewyuza,porthos,lalal,abcd12,papero,toosexy,keeper1,silver7,jujitsu,corset,pilot123,simonsay,pinggolf,katerinka,kender,drunk1,fylhjvtlf,rashmi,nighthawk,maggy,juggernaut,larryb,cabibble,fyabcf,247365,gangstar,jaybee,verycool,123456789qw,forbidde,prufrock,12345zxc,malaika,blackbur,docker,filipe,koshechka,gemma1,djamaal,dfcbkmtdf,gangst,9988aa,ducks1,pthrfkj,puertorico,muppets,griffins,whippet,sauber,timofey,larinso,123456789zxc,quicken,qsefth,liteon,headcase,bigdadd,zxc321,maniak,jamesc,bassmast,bigdogs,1girls,123xxx,trajan,lerochka,noggin,mtndew,04975756,domin,wer123,fumanchu,lambada,thankgod,june22,kayaking,patchy,summer10,timepass,poiu1234,kondor,kakka,lament,zidane10,686xqxfg,l8v53x,caveman1,nfvthkfy,holymoly,pepita,alex1996,mifune,fighter1,asslicker,jack22,abc123abc,zaxxon,midnigh,winni,psalm23,punky,monkey22,password13,mymusic,justyna,annushka,lucky5,briann,495rus19,withlove,almaz,supergir,miata,bingbong,bradpitt,kamasutr,yfgjktjy,vanman,pegleg,amsterdam1,123a321,letmein9,shivan,korona,bmw520,annette1,scotsman,gandal,welcome12,sc00by,qpwoei,fred69,m1sf1t,hamburg1,1access,dfkmrbhbz,excalibe,boobies1,fuckhole,karamel,starfuck,star99,breakfas,georgiy,ywvxpz,smasher,fatcat1,allanon,12345n,coondog,whacko,avalon1,scythe,saab93,timon,khorne,atlast,nemisis,brady12,blenheim,52678677,mick7278,9skw5g,fleetwoo,ruger1,kissass,pussy7,scruff,12345l,bigfun,vpmfsz,yxkck878,evgeny,55667788,lickher,foothill,alesis,poppies,77777778,californi,mannie,bartjek,qhxbij,thehulk,xirt2k,angelo4ek,rfkmrekznjh,tinhorse,1david,sparky12,night1,luojianhua,bobble,nederland,rosemari,travi,minou,ciscokid,beehive,565hlgqo,alpine1,samsung123,trainman,xpress,logistic,vw198m2n,hanter,zaqwsx123,qwasz,mariachi,paska,kmg365,kaulitz,sasha12,north1,polarbear,mighty1,makeksa11,123456781,one4all,gladston,notoriou,polniypizdec110211,gosia,grandad,xholes,timofei,invalidp,speaker1,zaharov,maggiema,loislane,gonoles,br5499,discgolf,kaskad,snooper,newman1,belial,demigod,vicky1,pridurok,alex1990,tardis1,cruzer,hornie,sacramen,babycat,burunduk,mark69,oakland1,me1234,gmctruck,extacy,sexdog,putang,poppen,billyd,1qaz2w,loveable,gimlet,azwebitalia,ragtop,198500,qweas,mirela,rock123,11bravo,sprewell,tigrenok,jaredleto,vfhbif,blue2,rimjob,catwalk,sigsauer,loqse,doromich,jack01,lasombra,jonny5,newpassword,profesor,garcia1,123as123,croucher,demeter,4_life,rfhfvtkm,superman2,rogues,assword1,russia1,jeff1,mydream,z123456789,rascal1,darre,kimberl,pickle1,ztmfcq,ponchik,lovesporn,hikari,gsgba368,pornoman,chbjun,choppy,diggity,nightwolf,viktori,camar,vfhecmrf,alisa1,minstrel,wishmaster,mulder1,aleks,gogirl,gracelan,8womys,highwind,solstice,dbrnjhjdyf,nightman,pimmel,beertje,ms6nud,wwfwcw,fx3tuo,poopface,asshat,dirtyd,jiminy,luv2fuck,ptybnxtvgbjy,dragnet,pornogra,10inch,scarlet1,guido1,raintree,v123456,1aaaaaaa,maxim1935,hotwater,gadzooks,playaz,harri,brando1,defcon1,ivanna,123654a,arsenal2,candela,nt5d27,jaime1,duke1,burton1,allstar1,dragos,newpoint,albacore,1236987z,verygoodbot,1wildcat,fishy1,ptktysq,chris11,puschel,itdxtyrj,7kbe9d,serpico,jazzie,1zzzzz,kindbuds,wenef45313,1compute,tatung,sardor,gfyfcjybr,test99,toucan,meteora,lysander,asscrack,jowgnx,hevnm4,suckthis,masha123,karinka,marit,oqglh565,dragon00,vvvbbb,cheburashka,vfrfrf,downlow,unforgiven,p3e85tr,kim123,sillyboy,gold1,golfvr6,quicksan,irochka,froglegs,shortsto,caleb1,tishka,bigtitts,smurfy,bosto,dropzone,nocode,jazzbass,digdug,green7,saltlake,therat,dmitriev,lunita,deaddog,summer0,1212qq,bobbyg,mty3rh,isaac1,gusher,helloman,sugarbear,corvair,extrem,teatime,tujazopi,titanik,efyreg,jo9k2jw2,counchac,tivoli,utjvtnhbz,bebit,jacob6,clayton1,incubus1,flash123,squirter,dima2010,cock1,rawks,komatsu,forty2,98741236,cajun1,madelein,mudhoney,magomed,q111111,qaswed,consense,12345b,bakayaro,silencer,zoinks,bigdic,werwolf,pinkpuss,96321478,alfie1,ali123,sarit,minette,musics,chato,iaapptfcor,cobaka,strumpf,datnigga,sonic123,yfnecbr,vjzctvmz,pasta1,tribbles,crasher,htlbcrf,1tiger,shock123,bearshar,syphon,a654321,cubbies1,jlhanes,eyespy,fucktheworld,carrie1,bmw325is,suzuk,mander,dorina,mithril,hondo1,vfhnbyb,sachem,newton1,12345x,7777755102q,230857z,xxxsex,scubapro,hayastan,spankit,delasoul,searock6,fallout3,nilrem,24681357,pashka,voluntee,pharoh,willo,india1,badboy69,roflmao,gunslinger,lovergir,mama12,melange,640xwfkv,chaton,darkknig,bigman1,aabbccdd,harleyd,birdhouse,giggsy,hiawatha,tiberium,joker7,hello1234,sloopy,tm371855,greendog,solar1,bignose,djohn11,espanol,oswego,iridium,kavitha,pavell,mirjam,cyjdsvujljv,alpha5,deluge,hamme,luntik,turismo,stasya,kjkbnf,caeser,schnecke,tweety1,tralfaz,lambrett,prodigy1,trstno1,pimpshit,werty1,karman,bigboob,pastel,blackmen,matthew8,moomin,q1w2e,gilly,primaver,jimmyg,house2,elviss,15975321,1jessica,monaliza,salt55,vfylfhbyrf,harley11,tickleme,murder1,nurgle,kickass1,theresa1,fordtruck,pargolf,managua,inkognito,sherry1,gotit,friedric,metro2033,slk230,freeport,cigarett,492529,vfhctkm,thebeach,twocats,bakugan,yzerman1,charlieb,motoko,skiman,1234567w,pussy3,love77,asenna,buffie,260zntpc,kinkos,access20,mallard1,fuckyou69,monami,rrrrr1,bigdog69,mikola,1boomer,godzila,ginger2,dima2000,skorpion39,dima1234,hawkdog79,warrior2,ltleirf,supra1,jerusale,monkey01,333z333,666888,kelsey1,w8gkz2x1,fdfnfh,msnxbi,qwe123rty,mach1,monkey3,123456789qq,c123456,nezabudka,barclays,nisse,dasha1,12345678987654321,dima1993,oldspice,frank2,rabbitt,prettyboy,ov3ajy,iamthema,kawasak,banjo1,gtivr6,collants,gondor,hibees,cowboys2,codfish,buster2,purzel,rubyred,kayaker,bikerboy,qguvyt,masher,sseexx,kenshiro,moonglow,semenova,rosari,eduard1,deltaforce,grouper,bongo1,tempgod,1taylor,goldsink,qazxsw1,1jesus,m69fg2w,maximili,marysia,husker1,kokanee,sideout,googl,south1,plumber1,trillian,00001,1357900,farkle,1xxxxx,pascha,emanuela,bagheera,hound1,mylov,newjersey,swampfox,sakic19,torey,geforce,wu4etd,conrail,pigman,martin2,ber02,nascar2,angel69,barty,kitsune,cornet,yes90125,goomba,daking,anthea,sivart,weather1,ndaswf,scoubidou,masterchief,rectum,3364068,oranges1,copter,1samanth,eddies,mimoza,ahfywbz,celtic88,86mets,applemac,amanda11,taliesin,1angel,imhere,london11,bandit12,killer666,beer1,06225930,psylocke,james69,schumach,24pnz6kc,endymion,wookie1,poiu123,birdland,smoochie,lastone,rclaki,olive1,pirat,thunder7,chris69,rocko,151617,djg4bb4b,lapper,ajcuivd289,colole57,shadow7,dallas21,ajtdmw,executiv,dickies,omegaman,jason12,newhaven,aaaaaas,pmdmscts,s456123789,beatri,applesauce,levelone,strapon,benladen,creaven,ttttt1,saab95,f123456,pitbul,54321a,sex12345,robert3,atilla,mevefalkcakk,1johnny,veedub,lilleke,nitsuj,5t6y7u8i,teddys,bluefox,nascar20,vwjetta,buffy123,playstation3,loverr,qweasd12,lover2,telekom,benjamin1,alemania,neutrino,rockz,valjean,testicle,trinity3,realty,firestarter,794613852,ardvark,guadalup,philmont,arnold1,holas,zw6syj,birthday299,dover1,sexxy1,gojets,741236985,cance,blue77,xzibit,qwerty88,komarova,qweszxc,footer,rainger,silverst,ghjcnb,catmando,tatooine,31217221027711,amalgam,69dude,qwerty321,roscoe1,74185,cubby,alfa147,perry1,darock,katmandu,darknight,knicks1,freestuff,45454,kidman,4tlved,axlrose,cutie1,quantum1,joseph10,ichigo,pentium3,rfhectkm,rowdy1,woodsink,justforfun,sveta123,pornografia,mrbean,bigpig,tujheirf,delta9,portsmou,hotbod,kartal,10111213,fkbyf001,pavel1,pistons1,necromancer,verga,c7lrwu,doober,thegame1,hatesyou,sexisfun,1melissa,tuczno18,bowhunte,gobama,scorch,campeon,bruce2,fudge1,herpderp,bacon1,redsky,blackeye,19966991,19992000,ripken8,masturba,34524815,primax,paulina1,vp6y38,427cobra,4dwvjj,dracon,fkg7h4f3v6,longview,arakis,panama1,honda2,lkjhgfdsaz,razors,steels,fqkw5m,dionysus,mariajos,soroka,enriqu,nissa,barolo,king1234,hshfd4n279,holland1,flyer1,tbones,343104ky,modems,tk421,ybrbnrf,pikapp,sureshot,wooddoor,florida2,mrbungle,vecmrf,catsdogs,axolotl,nowayout,francoi,chris21,toenail,hartland,asdjkl,nikkii,onlyyou,buckskin,fnord,flutie,holen1,rincewind,lefty1,ducky1,199000,fvthbrf,redskin1,ryno23,lostlove,19mtpgam19,abercrom,benhur,jordan11,roflcopter,ranma,phillesh,avondale,igromania,p4ssword,jenny123,tttttt1,spycams,cardigan,2112yyz,sleepy1,paris123,mopars,lakers34,hustler1,james99,matrix3,popimp,12pack,eggbert,medvedev,testit,performa,logitec,marija,sexybeast,supermanboy,iwantit,rjktcj,jeffer,svarog,halo123,whdbtp,nokia3230,heyjoe,marilyn1,speeder,ibxnsm,prostock,bennyboy,charmin,codydog,parol999,ford9402,jimmer,crayola,159357258,alex77,joey1,cayuga,phish420,poligon,specops,tarasova,caramelo,draconis,dimon,cyzkhw,june29,getbent,1guitar,jimjam,dictiona,shammy,flotsam,0okm9ijn,crapper,technic,fwsadn,rhfdxtyrj,zaq11qaz,anfield1,159753q,curious1,hip-hop,1iiiii,gfhjkm2,cocteau,liveevil,friskie,crackhead,b1afra,elektrik,lancer1,b0ll0cks,jasond,z1234567,tempest1,alakazam,asdfasd,duffy1,oneday,dinkle,qazedctgb,kasimir,happy7,salama,hondaciv,nadezda,andretti,cannondale,sparticu,znbvjd,blueice,money01,finster,eldar,moosie,pappa,delta123,neruda,bmw330ci,jeanpaul,malibu1,alevtina,sobeit,travolta,fullmetal,enamorad,mausi,boston12,greggy,smurf1,ratrace,ichiban,ilovepus,davidg,wolf69,villa1,cocopuff,football12,starfury,zxc12345,forfree,fairfiel,dreams1,tayson,mike2,dogday,hej123,oldtimer,sanpedro,clicker,mollycat,roadstar,golfe,lvbnhbq1,topdevice,a1b2c,sevastopol,calli,milosc,fire911,pink123,team3x,nolimit5,snickers1,annies,09877890,jewel1,steve69,justin11,autechre,killerbe,browncow,slava1,christer,fantomen,redcloud,elenberg,beautiful1,passw0rd1,nazira,advantag,cockring,chaka,rjpzdrf,99941,az123456,biohazar,energie,bubble1,bmw323,tellme,printer1,glavine,1starwar,coolbeans,april17,carly1,quagmire,admin2,djkujuhfl,pontoon,texmex,carlos12,thermo,vaz2106,nougat,bob666,1hockey,1john,cricke,qwerty10,twinz,totalwar,underwoo,tijger,lildevil,123q321,germania,freddd,1scott,beefy,5t4r3e2w1q,fishbait,nobby,hogger,dnstuff,jimmyc,redknapp,flame1,tinfloor,balla,nfnfhby,yukon1,vixens,batata,danny123,1zxcvbnm,gaetan,homewood,greats,tester1,green99,1fucker,sc0tland,starss,glori,arnhem,goatman,1234asd,supertra,bill123,elguapo,sexylegs,jackryan,usmc69,innow,roaddog,alukard,winter11,crawler,gogiants,rvd420,alessandr,homegrow,gobbler,esteba,valeriy,happy12,1joshua,hawking,sicnarf,waynes,iamhappy,bayadera,august2,sashas,gotti,dragonfire,pencil1,halogen,borisov,bassingw,15975346,zachar,sweetp,soccer99,sky123,flipyou,spots3,xakepy,cyclops1,dragon77,rattolo58,motorhea,piligrim,helloween,dmb2010,supermen,shad0w,eatcum,sandokan,pinga,ufkfrnbrf,roksana,amista,pusser,sony1234,azerty1,1qasw2,ghbdt,q1w2e3r4t5y6u7i8,ktutylf,brehznev,zaebali,shitass,creosote,gjrtvjy,14938685,naughtyboy,pedro123,21crack,maurice1,joesakic,nicolas1,matthew9,lbyfhf,elocin,hfcgbplzq,pepper123,tiktak,mycroft,ryan11,firefly1,arriva,cyecvevhbr,loreal,peedee,jessica8,lisa01,anamari,pionex,ipanema,airbag,frfltvbz,123456789aa,epwr49,casper12,sweethear,sanandreas,wuschel,cocodog,france1,119911,redroses,erevan,xtvgbjy,bigfella,geneve,volvo850,evermore,amy123,moxie,celebs,geeman,underwor,haslo1,joy123,hallow,chelsea0,12435687,abarth,12332145,tazman1,roshan,yummie,genius1,chrisd,ilovelife,seventy7,qaz1wsx2,rocket88,gaurav,bobbyboy,tauchen,roberts1,locksmit,masterof,www111,d9ungl,volvos40,asdasd1,golfers,jillian1,7xm5rq,arwpls4u,gbhcf2,elloco,football2,muerte,bob101,sabbath1,strider1,killer66,notyou,lawnboy,de7mdf,johnnyb,voodoo2,sashaa,homedepo,bravos,nihao123,braindea,weedhead,rajeev,artem1,camille1,rockss,bobbyb,aniston,frnhbcf,oakridge,biscayne,cxfcnm,dressage,jesus3,kellyann,king69,juillet,holliste,h00ters,ripoff,123645,1999ar,eric12,123777,tommi,dick12,bilder,chris99,rulezz,getpaid,chicubs,ender1,byajhvfnbrf,milkshak,sk8board,freakshow,antonella,monolit,shelb,hannah01,masters1,pitbull1,1matthew,luvpussy,agbdlcid,panther2,alphas,euskadi,8318131,ronnie1,7558795,sweetgirl,cookie59,sequoia,5552555,ktyxbr,4500455,money7,severus,shinobu,dbityrf,phisig,rogue2,fractal,redfred,sebastian1,nelli,b00mer,cyberman,zqjphsyf6ctifgu,oldsmobile,redeemer,pimpi,lovehurts,1slayer,black13,rtynfdh,airmax,g00gle,1panther,artemon,nopasswo,fuck1234,luke1,trinit,666000,ziadma,oscardog,davex,hazel1,isgood,demond,james5,construc,555551,january2,m1911a1,flameboy,merda,nathan12,nicklaus,dukester,hello99,scorpio7,leviathan,dfcbktr,pourquoi,vfrcbv123,shlomo,rfcgth,rocky3,ignatz,ajhneyf,roger123,squeek,4815162342a,biskit,mossimo,soccer21,gridlock,lunker,popstar,ghhh47hj764,chutney,nitehawk,vortec,gamma1,codeman,dragula,kappasig,rainbow2,milehigh,blueballs,ou8124me,rulesyou,collingw,mystere,aster,astrovan,firetruck,fische,crawfish,hornydog,morebeer,tigerpaw,radost,144000,1chance,1234567890qwe,gracie1,myopia,oxnard,seminoles,evgeni,edvard,partytim,domani,tuffy1,jaimatadi,blackmag,kzueirf,peternor,mathew1,maggie12,henrys,k1234567,fasted,pozitiv,cfdtkbq,jessica7,goleafs,bandito,girl78,sharingan,skyhigh,bigrob,zorros,poopers,oldschoo,pentium2,gripper,norcal,kimba,artiller,moneymak,00197400,272829,shadow1212,thebull,handbags,all4u2c,bigman2,civics,godisgoo,section8,bandaid,suzanne1,zorba,159123,racecars,i62gbq,rambo123,ironroad,johnson2,knobby,twinboys,sausage1,kelly69,enter2,rhjirf,yessss,james12,anguilla,boutit,iggypop,vovochka,06060,budwiser,romuald,meditate,good1,sandrin,herkules,lakers8,honeybea,11111111a,miche,rangers9,lobster1,seiko,belova,midcon,mackdadd,bigdaddy1,daddie,sepultur,freddy12,damon1,stormy1,hockey2,bailey12,hedimaptfcor,dcowboys,sadiedog,thuggin,horny123,josie1,nikki2,beaver69,peewee1,mateus,viktorija,barrys,cubswin1,matt1234,timoxa,rileydog,sicilia,luckycat,candybar,julian1,abc456,pussylip,phase1,acadia,catty,246800,evertonf,bojangle,qzwxec,nikolaj,fabrizi,kagome,noncapa0,marle,popol,hahaha1,cossie,carla10,diggers,spankey,sangeeta,cucciolo,breezer,starwar1,cornholio,rastafari,spring99,yyyyyyy1,webstar,72d5tn,sasha1234,inhouse,gobuffs,civic1,redstone,234523,minnie1,rivaldo,angel5,sti2000,xenocide,11qq11,1phoenix,herman1,holly123,tallguy,sharks1,madri,superbad,ronin,jalal123,hardbody,1234567r,assman1,vivahate,buddylee,38972091,bonds25,40028922,qrhmis,wp2005,ceejay,pepper01,51842543,redrum1,renton,varadero,tvxtjk7r,vetteman,djhvbrc,curly1,fruitcak,jessicas,maduro,popmart,acuari,dirkpitt,buick1,bergerac,golfcart,pdtpljxrf,hooch1,dudelove,d9ebk7,123452000,afdjhbn,greener,123455432,parachut,mookie12,123456780,jeepcj5,potatoe,sanya,qwerty2010,waqw3p,gotika,freaky1,chihuahu,buccanee,ecstacy,crazyboy,slickric,blue88,fktdnbyf,2004rj,delta4,333222111,calient,ptbdhw,1bailey,blitz1,sheila1,master23,hoagie,pyf8ah,orbita,daveyboy,prono1,delta2,heman,1horny,tyrik123,ostrov,md2020,herve,rockfish,el546218,rfhbyjxrf,chessmaster,redmoon,lenny1,215487,tomat,guppy,amekpass,amoeba,my3girls,nottingh,kavita,natalia1,puccini,fabiana,8letters,romeos,netgear,casper2,taters,gowings,iforgot1,pokesmot,pollit,lawrun,petey1,rosebuds,007jr,gthtcnhjqrf,k9dls02a,neener,azertyu,duke11,manyak,tiger01,petros,supermar,mangas,twisty,spotter,takagi,dlanod,qcmfd454,tusymo,zz123456,chach,navyblue,gilbert1,2kash6zq,avemaria,1hxboqg2s,viviane,lhbjkjubz2957704,nowwowtg,1a2b3c4,m0rn3,kqigb7,superpuper,juehtw,gethigh,theclown,makeme,pradeep,sergik,deion21,nurik,devo2706,nbvibt,roman222,kalima,nevaeh,martin7,anathema,florian1,tamwsn3sja,dinmamma,133159,123654q,slicks,pnp0c08,yojimbo,skipp,kiran,pussyfuck,teengirl,apples12,myballs,angeli,1234a,125678,opelastra,blind1,armagedd,fish123,pitufo,chelseaf,thedevil,nugget1,cunt69,beetle1,carter15,apolon,collant,password00,fishboy,djkrjdf,deftone,celti,three11,cyrus1,lefthand,skoal1,ferndale,aries1,fred01,roberta1,chucks,cornbread,lloyd1,icecrea,cisco123,newjerse,vfhrbpf,passio,volcom1,rikimaru,yeah11,djembe,facile,a1l2e3x4,batman7,nurbol,lorenzo1,monica69,blowjob1,998899,spank1,233391,n123456,1bear,bellsout,999998,celtic67,sabre1,putas,y9enkj,alfabeta,heatwave,honey123,hard4u,insane1,xthysq,magnum1,lightsaber,123qweqwe,fisher1,pixie1,precios,benfic,thegirls,bootsman,4321rewq,nabokov,hightime,djghjc,1chelsea,junglist,august16,t3fkvkmj,1232123,lsdlsd12,chuckie1,pescado,granit,toogood,cathouse,natedawg,bmw530,123kid,hajime,198400,engine1,wessonnn,kingdom1,novembre,1rocks,kingfisher,qwerty89,jordan22,zasranec,megat,sucess,installutil,fetish01,yanshi1982,1313666,1314520,clemence,wargod,time1,newzealand,snaker,13324124,cfrehf,hepcat,mazahaka,bigjay,denisov,eastwest,1yellow,mistydog,cheetos,1596357,ginger11,mavrik,bubby1,bhbyf,pyramide,giusepp,luthien,honda250,andrewjackie,kentavr,lampoon,zaq123wsx,sonicx,davidh,1ccccc,gorodok,windsong,programm,blunt420,vlad1995,zxcvfdsa,tarasov,mrskin,sachas,mercedes1,koteczek,rawdog,honeybear,stuart1,kaktys,richard7,55555n,azalia,hockey10,scouter,francy,1xxxxxx,julie456,tequilla,penis123,schmoe,tigerwoods,1ferrari,popov,snowdrop,matthieu,smolensk,cornflak,jordan01,love2000,23wesdxc,kswiss,anna2000,geniusnet,baby2000,33ds5x,waverly,onlyone4,networkingpe,raven123,blesse,gocards,wow123,pjflkork,juicey,poorboy,freeee,billybo,shaheen,zxcvbnm.,berlit,truth1,gepard,ludovic,gunther1,bobby2,bob12345,sunmoon,septembr,bigmac1,bcnjhbz,seaking,all4u,12qw34er56ty,bassie,nokia5228,7355608,sylwia,charvel,billgate,davion,chablis,catsmeow,kjiflrf,amylynn,rfvbkkf,mizredhe,handjob,jasper12,erbol,solara,bagpipe,biffer,notime,erlan,8543852,sugaree,oshkosh,fedora,bangbus,5lyedn,longball,teresa1,bootyman,aleksand,qazwsxedc12,nujbhc,tifosi,zpxvwy,lights1,slowpoke,tiger12,kstate,password10,alex69,collins1,9632147,doglover,baseball2,security1,grunts,orange2,godloves,213qwe879,julieb,1qazxsw23edcvfr4,noidea,8uiazp,betsy1,junior2,parol123,123456zz,piehonkii,kanker,bunky,hingis,reese1,qaz123456,sidewinder,tonedup,footsie,blackpoo,jalapeno,mummy1,always1,josh1,rockyboy,plucky,chicag,nadroj,blarney,blood123,wheaties,packer1,ravens1,mrjones,gfhjkm007,anna2010,awatar,guitar12,hashish,scale1,tomwaits,amrita,fantasma,rfpfym,pass2,tigris,bigair,slicker,sylvi,shilpa,cindylou,archie1,bitches1,poppys,ontime,horney1,camaroz28,alladin,bujhm,cq2kph,alina1,wvj5np,1211123a,tetons,scorelan,concordi,morgan2,awacs,shanty,tomcat14,andrew123,bear69,vitae,fred99,chingy,octane,belgario,fatdaddy,rhodan,password23,sexxes,boomtown,joshua01,war3demo,my2kids,buck1,hot4you,monamour,12345aa,yumiko,parool,carlton1,neverland,rose12,right1,sociald,grouse,brandon0,cat222,alex00,civicex,bintang,malkav,arschloc,dodgeviper,qwerty666,goduke,dante123,boss1,ontheroc,corpsman,love14,uiegu451,hardtail,irondoor,ghjrehfnehf,36460341,konijn,h2slca,kondom25,123456ss,cfytxrf,btnjey,nando,freemail,comander,natas666,siouxsie,hummer1,biomed,dimsum,yankees0,diablo666,lesbian1,pot420,jasonm,glock23,jennyb,itsmine,lena2010,whattheh,beandip,abaddon,kishore,signup,apogee,biteme12,suzieq,vgfun4,iseeyou,rifleman,qwerta,4pussy,hawkman,guest1,june17,dicksuck,bootay,cash12,bassale,ktybyuhfl,leetch,nescafe,7ovtgimc,clapton1,auror,boonie,tracker1,john69,bellas,cabinboy,yonkers,silky1,ladyffesta,drache,kamil1,davidp,bad123,snoopy12,sanche,werthvfy,achille,nefertiti,gerald1,slage33,warszawa,macsan26,mason123,kotopes,welcome8,nascar99,kiril,77778888,hairy1,monito,comicsans,81726354,killabee,arclight,yuo67,feelme,86753099,nnssnn,monday12,88351132,88889999,websters,subito,asdf12345,vaz2108,zvbxrpl,159753456852,rezeda,multimed,noaccess,henrique,tascam,captiva,zadrot,hateyou,sophie12,123123456,snoop1,charlie8,birmingh,hardline,libert,azsxdcf,89172735872,rjpthju,bondar,philips1,olegnaruto,myword,yakman,stardog,banana12,1234567890w,farout,annick,duke01,rfj422,billard,glock19,shaolin1,master10,cinderel,deltaone,manning1,biggreen,sidney1,patty1,goforit1,766rglqy,sevendus,aristotl,armagedo,blumen,gfhfyjz,kazakov,lekbyxxx,accord1,idiota,soccer16,texas123,victoire,ololo,chris01,bobbbb,299792458,eeeeeee1,confiden,07070,clarks,techno1,kayley,stang1,wwwwww1,uuuuu1,neverdie,jasonr,cavscout,481516234,mylove1,shaitan,1qazxcvb,barbaros,123456782000,123wer,thissucks,7seven,227722,faerie,hayduke,dbacks,snorkel,zmxncbv,tiger99,unknown1,melmac,polo1234,sssssss1,1fire,369147,bandung,bluejean,nivram,stanle,ctcnhf,soccer20,blingbli,dirtball,alex2112,183461,skylin,boobman,geronto,brittany1,yyz2112,gizmo69,ktrcec,dakota12,chiken,sexy11,vg08k714,bernadet,1bulldog,beachs,hollyb,maryjoy,margo1,danielle1,chakra,alexand,hullcity,matrix12,sarenna,pablos,antler,supercar,chomsky,german1,airjordan,545ettvy,camaron,flight1,netvideo,tootall,valheru,481516,1234as,skimmer,redcross,inuyash,uthvfy,1012nw,edoardo,bjhgfi,golf11,9379992a,lagarto,socball,boopie,krazy,.adgjmptw,gaydar,kovalev,geddylee,firstone,turbodog,loveee,135711,badbo,trapdoor,opopop11,danny2,max2000,526452,kerry1,leapfrog,daisy2,134kzbip,1andrea,playa1,peekab00,heskey,pirrello,gsewfmck,dimon4ik,puppie,chelios,554433,hypnodanny,fantik,yhwnqc,ghbdtngjrf,anchorag,buffett1,fanta,sappho,024680,vialli,chiva,lucylu,hashem,exbntkm,thema,23jordan,jake11,wildside,smartie,emerica,2wj2k9oj,ventrue,timoth,lamers,baerchen,suspende,boobis,denman85,1adam12,otello,king12,dzakuni,qsawbbs,isgay,porno123,jam123,daytona1,tazzie,bunny123,amaterasu,jeffre,crocus,mastercard,bitchedup,chicago7,aynrand,intel1,tamila,alianza,mulch,merlin12,rose123,alcapone,mircea,loveher,joseph12,chelsea6,dorothy1,wolfgar,unlimite,arturik,qwerty3,paddy1,piramid,linda123,cooool,millie1,warlock1,forgotit,tort02,ilikeyou,avensis,loveislife,dumbass1,clint1,2110se,drlove,olesia,kalinina,sergey123,123423,alicia1,markova,tri5a3,media1,willia1,xxxxxxx1,beercan,smk7366,jesusislord,motherfuck,smacker,birthday5,jbaby,harley2,hyper1,a9387670a,honey2,corvet,gjmptw,rjhjkmbien,apollon,madhuri,3a5irt,cessna17,saluki,digweed,tamia1,yja3vo,cfvlehfr,1111111q,martyna,stimpy1,anjana,yankeemp,jupiler,idkfa,1blue,fromv,afric,3xbobobo,liverp00l,nikon1,amadeus1,acer123,napoleo,david7,vbhjckfdf,mojo69,percy1,pirates1,grunt1,alenushka,finbar,zsxdcf,mandy123,1fred,timewarp,747bbb,druids,julia123,123321qq,spacebar,dreads,fcbarcelona,angela12,anima,christopher1,stargazer,123123s,hockey11,brewski,marlbor,blinker,motorhead,damngood,werthrf,letmein3,moremoney,killer99,anneke,eatit,pilatus,andrew01,fiona1,maitai,blucher,zxgdqn,e5pftu,nagual,panic1,andron,openwide,alphabeta,alison1,chelsea8,fende,mmm666,1shot2,a19l1980,123456@,1black,m1chael,vagner,realgood,maxxx,vekmnbr,stifler,2509mmh,tarkan,sherzod,1234567b,gunners1,artem2010,shooby,sammie1,p123456,piggie,abcde12345,nokia6230,moldir,piter,1qaz3edc,frequenc,acuransx,1star,nikeair,alex21,dapimp,ranjan,ilovegirls,anastasiy,berbatov,manso,21436587,leafs1,106666,angelochek,ingodwetrust,123456aaa,deano,korsar,pipetka,thunder9,minka,himura,installdevic,1qqqqq,digitalprodu,suckmeoff,plonker,headers,vlasov,ktr1996,windsor1,mishanya,garfield1,korvin,littlebit,azaz09,vandamme,scripto,s4114d,passward,britt1,r1chard,ferrari5,running1,7xswzaq,falcon2,pepper76,trademan,ea53g5,graham1,volvos80,reanimator,micasa,1234554321q,kairat,escorpion,sanek94,karolina1,kolovrat,karen2,1qaz@wsx,racing1,splooge,sarah2,deadman1,creed1,nooner,minicoop,oceane,room112,charme,12345ab,summer00,wetcunt,drewman,nastyman,redfire,appels,merlin69,dolfin,bornfree,diskette,ohwell,12345678qwe,jasont,madcap,cobra2,dolemit1,whatthehell,juanit,voldemar,rocke,bianc,elendil,vtufgjkbc,hotwheels,spanis,sukram,pokerface,k1ller,freakout,dontae,realmadri,drumss,gorams,258789,snakey,jasonn,whitewolf,befree,johnny99,pooka,theghost,kennys,vfvektxrf,toby1,jumpman23,deadlock,barbwire,stellina,alexa1,dalamar,mustanggt,northwes,tesoro,chameleo,sigtau,satoshi,george11,hotcum,cornell1,golfer12,geek01d,trololo,kellym,megapolis,pepsi2,hea666,monkfish,blue52,sarajane,bowler1,skeets,ddgirls,hfccbz,bailey01,isabella1,dreday,moose123,baobab,crushme,000009,veryhot,roadie,meanone,mike18,henriett,dohcvtec,moulin,gulnur,adastra,angel9,western1,natura,sweetpe,dtnfkm,marsbar,daisys,frogger1,virus1,redwood1,streetball,fridolin,d78unhxq,midas,michelob,cantik,sk2000,kikker,macanudo,rambone,fizzle,20000,peanuts1,cowpie,stone32,astaroth,dakota01,redso,mustard1,sexylove,giantess,teaparty,bobbin,beerbong,monet1,charles3,anniedog,anna1988,cameleon,longbeach,tamere,qpful542,mesquite,waldemar,12345zx,iamhere,lowboy,canard,granp,daisymay,love33,moosejaw,nivek,ninjaman,shrike01,aaa777,88002000600,vodolei,bambush,falcor,harley69,alphaomega,severine,grappler,bosox,twogirls,gatorman,vettes,buttmunch,chyna,excelsio,crayfish,birillo,megumi,lsia9dnb9y,littlebo,stevek,hiroyuki,firehous,master5,briley2,gangste,chrisk,camaleon,bulle,troyboy,froinlaven,mybutt,sandhya,rapala,jagged,crazycat,lucky12,jetman,wavmanuk,1heather,beegee,negril,mario123,funtime1,conehead,abigai,mhorgan,patagoni,travel1,backspace,frenchfr,mudcat,dashenka,baseball3,rustys,741852kk,dickme,baller23,griffey1,suckmycock,fuhrfzgc,jenny2,spuds,berlin1,justfun,icewind,bumerang,pavlusha,minecraft123,shasta1,ranger12,123400,twisters,buthead,miked,finance1,dignity7,hello9,lvjdp383,jgthfnjh,dalmatio,paparoach,miller31,2bornot2b,fathe,monterre,theblues,satans,schaap,jasmine2,sibelius,manon,heslo,jcnhjd,shane123,natasha2,pierrot,bluecar,iloveass,harriso,red12,london20,job314,beholder,reddawg,fuckyou!,pussylick,bologna1,austintx,ole4ka,blotto,onering,jearly,balbes,lightbul,bighorn,crossfir,lee123,prapor,1ashley,gfhjkm22,wwe123,09090,sexsite,marina123,jagua,witch1,schmoo,parkview,dragon3,chilango,ultimo,abramova,nautique,2bornot2,duende,1arthur,nightwing,surfboar,quant4307,15s9pu03,karina1,shitball,walleye1,wildman1,whytesha,1morgan,my2girls,polic,baranova,berezuckiy,kkkkkk1,forzima,fornow,qwerty02,gokart,suckit69,davidlee,whatnow,edgard,tits1,bayshore,36987412,ghbphfr,daddyy,explore1,zoidberg,5qnzjx,morgane,danilov,blacksex,mickey12,balsam,83y6pv,sarahc,slaye,all4u2,slayer69,nadia1,rlzwp503,4cranker,kaylie,numberon,teremok,wolf12,deeppurple,goodbeer,aaa555,66669999,whatif,harmony1,ue8fpw,3tmnej,254xtpss,dusty197,wcksdypk,zerkalo,dfnheirf,motorol,digita,whoareyou,darksoul,manics,rounders,killer11,d2000lb,cegthgfhjkm,catdog1,beograd,pepsico,julius1,123654987,softbal,killer23,weasel1,lifeson,q123456q,444555666,bunches,andy1,darby1,service01,bear11,jordan123,amega,duncan21,yensid,lerxst,rassvet,bronco2,fortis,pornlove,paiste,198900,asdflkjh,1236547890,futur,eugene1,winnipeg261,fk8bhydb,seanjohn,brimston,matthe1,bitchedu,crisco,302731,roxydog,woodlawn,volgograd,ace1210,boy4u2ownnyc,laura123,pronger,parker12,z123456z,andrew13,longlife,sarang,drogba,gobruins,soccer4,holida,espace,almira,murmansk,green22,safina,wm00022,1chevy,schlumpf,doroth,ulises,golf99,hellyes,detlef,mydog,erkina,bastardo,mashenka,sucram,wehttam,generic1,195000,spaceboy,lopas123,scammer,skynyrd,daddy2,titani,ficker,cr250r,kbnthfnehf,takedown,sticky1,davidruiz,desant,nremtp,painter1,bogies,agamemno,kansas1,smallfry,archi,2b4dnvsx,1player,saddie,peapod,6458zn7a,qvw6n2,gfxqx686,twice2,sh4d0w3d,mayfly,375125,phitau,yqmbevgk,89211375759,kumar1,pfhfpf,toyboy,way2go,7pvn4t,pass69,chipster,spoony,buddycat,diamond3,rincewin,hobie,david01,billbo,hxp4life,matild,pokemon2,dimochka,clown1,148888,jenmt3,cuxldv,cqnwhy,cde34rfv,simone1,verynice,toobig,pasha123,mike00,maria2,lolpop,firewire,dragon9,martesana,a1234567890,birthday3,providen,kiska,pitbulls,556655,misawa,damned69,martin11,goldorak,gunship,glory1,winxclub,sixgun,splodge,agent1,splitter,dome69,ifghjb,eliza1,snaiper,wutang36,phoenix7,666425,arshavin,paulaner,namron,m69fg1w,qwert1234,terrys,zesyrmvu,joeman,scoots,dwml9f,625vrobg,sally123,gostoso,symow8,pelota,c43qpul5rz,majinbuu,lithium1,bigstuff,horndog1,kipelov,kringle,1beavis,loshara,octobe,jmzacf,12342000,qw12qw,runescape1,chargers1,krokus,piknik,jessy,778811,gjvbljh,474jdvff,pleaser,misskitty,breaker1,7f4df451,dayan,twinky,yakumo,chippers,matia,tanith,len2ski1,manni,nichol1,f00b4r,nokia3110,standart,123456789i,shami,steffie,larrywn,chucker,john99,chamois,jjjkkk,penmouse,ktnj2010,gooners,hemmelig,rodney1,merlin01,bearcat1,1yyyyy,159753z,1fffff,1ddddd,thomas11,gjkbyrf,ivanka,f1f2f3,petrovna,phunky,conair,brian2,creative1,klipsch,vbitymrf,freek,breitlin,cecili,westwing,gohabsgo,tippmann,1steve,quattro6,fatbob,sp00ky,rastas,1123581,redsea,rfnmrf,jerky1,1aaaaaa,spk666,simba123,qwert54321,123abcd,beavis69,fyfyfc,starr1,1236547,peanutbutter,sintra,12345abcde,1357246,abcde1,climbon,755dfx,mermaids,monte1,serkan,geilesau,777win,jasonc,parkside,imagine1,rockhead,producti,playhard,principa,spammer,gagher,escada,tsv1860,dbyjuhfl,cruiser1,kennyg,montgome,2481632,pompano,cum123,angel6,sooty,bear01,april6,bodyhamm,pugsly,getrich,mikes,pelusa,fosgate,jasonp,rostislav,kimberly1,128mo,dallas11,gooner1,manuel1,cocacola1,imesh,5782790,password8,daboys,1jones,intheend,e3w2q1,whisper1,madone,pjcgujrat,1p2o3i,jamesp,felicida,nemrac,phikap,firecat,jrcfyjxrf,matt12,bigfan,doedel,005500,jasonx,1234567k,badfish,goosey,utjuhfabz,wilco,artem123,igor123,spike123,jor23dan,dga9la,v2jmsz,morgan12,avery1,dogstyle,natasa,221195ws,twopac,oktober7,karthik,poop1,mightymo,davidr,zermatt,jehova,aezakmi1,dimwit,monkey5,serega123,qwerty111,blabl,casey22,boy123,1clutch,asdfjkl1,hariom,bruce10,jeep95,1smith,sm9934,karishma,bazzzz,aristo,669e53e1,nesterov,kill666,fihdfv,1abc2,anna1,silver11,mojoman,telefono,goeagles,sd3lpgdr,rfhfynby,melinda1,llcoolj,idteul,bigchief,rocky13,timberwo,ballers,gatekeep,kashif,hardass,anastasija,max777,vfuyjkbz,riesling,agent99,kappas,dalglish,tincan,orange3,turtoise,abkbvjy,mike24,hugedick,alabala,geolog,aziza,devilboy,habanero,waheguru,funboy,freedom5,natwest,seashore,impaler,qwaszx1,pastas,bmw535,tecktonik,mika00,jobsearc,pinche,puntang,aw96b6,1corvett,skorpio,foundati,zzr1100,gembird,vfnhjcrby,soccer18,vaz2110,peterp,archer1,cross1,samedi,dima1992,hunter99,lipper,hotbody,zhjckfdf,ducati1,trailer1,04325956,cheryl1,benetton,kononenko,sloneczko,rfgtkmrf,nashua,balalaika,ampere,eliston,dorsai,digge,flyrod,oxymoron,minolta,ironmike,majortom,karimov,fortun,putaria,an83546921an13,blade123,franchis,mxaigtg5,dynxyu,devlt4,brasi,terces,wqmfuh,nqdgxz,dale88,minchia,seeyou,housepen,1apple,1buddy,mariusz,bighouse,tango2,flimflam,nicola1,qwertyasd,tomek1,shumaher,kartoshka,bassss,canaries,redman1,123456789as,preciosa,allblacks,navidad,tommaso,beaudog,forrest1,green23,ryjgjxrf,go4it,ironman2,badnews,butterba,1grizzly,isaeva,rembrand,toront,1richard,bigjon,yfltymrf,1kitty,4ng62t,littlejo,wolfdog,ctvtyjd,spain1,megryan,tatertot,raven69,4809594q,tapout,stuntman,a131313,lagers,hotstuf,lfdbl11,stanley2,advokat,boloto,7894561,dooker,adxel187,cleodog,4play,0p9o8i,masterb,bimota,charlee,toystory,6820055,6666667,crevette,6031769,corsa,bingoo,dima1990,tennis11,samuri,avocado,melissa6,unicor,habari,metart,needsex,cockman,hernan,3891576,3334444,amigo1,gobuffs2,mike21,allianz,2835493,179355,midgard,joey123,oneluv,ellis1,towncar,shonuff,scouse,tool69,thomas19,chorizo,jblaze,lisa1,dima1999,sophia1,anna1989,vfvekbxrf,krasavica,redlegs,jason25,tbontb,katrine,eumesmo,vfhufhbnrf,1654321,asdfghj1,motdepas,booga,doogle,1453145,byron1,158272,kardinal,tanne,fallen1,abcd12345,ufyljy,n12345,kucing,burberry,bodger,1234578,februar,1234512,nekkid,prober,harrison1,idlewild,rfnz90,foiegras,pussy21,bigstud,denzel,tiffany2,bigwill,1234567890zzz,hello69,compute1,viper9,hellspaw,trythis,gococks,dogballs,delfi,lupine,millenia,newdelhi,charlest,basspro,1mike,joeblack,975310,1rosebud,batman11,misterio,fucknut,charlie0,august11,juancho,ilonka,jigei743ks,adam1234,889900,goonie,alicat,ggggggg1,1zzzzzzz,sexywife,northstar,chris23,888111,containe,trojan1,jason5,graikos,1ggggg,1eeeee,tigers01,indigo1,hotmale,jacob123,mishima,richard3,cjxb2014,coco123,meagain,thaman,wallst,edgewood,bundas,1power,matilda1,maradon,hookedup,jemima,r3vi3wpass,2004-10-,mudman,taz123,xswzaq,emerson1,anna21,warlord1,toering,pelle,tgwdvu,masterb8,wallstre,moppel,priora,ghjcnjrdfif,yoland,12332100,1j9e7f6f,jazzzz,yesman,brianm,42qwerty42,12345698,darkmanx,nirmal,john31,bb123456,neuspeed,billgates,moguls,fj1200,hbhlair,shaun1,ghbdfn,305pwzlr,nbu3cd,susanb,pimpdad,mangust6403,joedog,dawidek,gigante,708090,703751,700007,ikalcr,tbivbn,697769,marvi,iyaayas,karen123,jimmyboy,dozer1,e6z8jh,bigtime1,getdown,kevin12,brookly,zjduc3,nolan1,cobber,yr8wdxcq,liebe,m1garand,blah123,616879,action1,600000,sumitomo,albcaz,asian1,557799,dave69,556699,sasa123,streaker,michel1,karate1,buddy7,daulet,koks888,roadtrip,wapiti,oldguy,illini1,1234qq,mrspock,kwiatek,buterfly,august31,jibxhq,jackin,taxicab,tristram,talisker,446655,444666,chrisa,freespace,vfhbfyyf,chevell,444333,notyours,442244,christian1,seemore,sniper12,marlin1,joker666,multik,devilish,crf450,cdfoli,eastern1,asshead,duhast,voyager2,cyberia,1wizard,cybernet,iloveme1,veterok,karandash,392781,looksee,diddy,diabolic,foofight,missey,herbert1,bmw318i,premier1,zsfmpv,eric1234,dun6sm,fuck11,345543,spudman,lurker,bitem,lizzy1,ironsink,minami,339311,s7fhs127,sterne,332233,plankton,galax,azuywe,changepa,august25,mouse123,sikici,killer69,xswqaz,quovadis,gnomik,033028pw,777777a,barrakuda,spawn666,goodgod,slurp,morbius,yelnats,cujo31,norman1,fastone,earwig,aureli,wordlife,bnfkbz,yasmi,austin123,timberla,missy2,legalize,netcom,liljon,takeit,georgin,987654321z,warbird,vitalina,all4u3,mmmmmm1,bichon,ellobo,wahoos,fcazmj,aksarben,lodoss,satnam,vasili,197800,maarten,sam138989,0u812,ankita,walte,prince12,anvils,bestia,hoschi,198300,univer,jack10,ktyecbr,gr00vy,hokie,wolfman1,fuckwit,geyser,emmanue,ybrjkftd,qwerty33,karat,dblock,avocat,bobbym,womersle,1please,nostra,dayana,billyray,alternat,iloveu1,qwerty69,rammstein1,mystikal,winne,drawde,executor,craxxxs,ghjcnjnf,999888777,welshman,access123,963214785,951753852,babe69,fvcnthlfv,****me,666999666,testing2,199200,nintendo64,oscarr,guido8,zhanna,gumshoe,jbird,159357456,pasca,123452345,satan6,mithrand,fhbirf,aa1111aa,viggen,ficktjuv,radial9,davids1,rainbow7,futuro,hipho,platin,poppy123,rhenjq,fulle,rosit,chicano,scrumpy,lumpy1,seifer,uvmrysez,autumn1,xenon,susie1,7u8i9o0p,gamer1,sirene,muffy1,monkeys1,kalinin,olcrackmaster,hotmove,uconn,gshock,merson,lthtdyz,pizzaboy,peggy1,pistache,pinto1,fishka,ladydi,pandor,baileys,hungwell,redboy,rookie1,amanda01,passwrd,clean1,matty1,tarkus,jabba1,bobster,beer30,solomon1,moneymon,sesamo,fred11,sunnysid,jasmine5,thebears,putamadre,workhard,flashbac,counter1,liefde,magnat,corky1,green6,abramov,lordik,univers,shortys,david3,vip123,gnarly,1234567s,billy2,honkey,deathstar,grimmy,govinda,direktor,12345678s,linus1,shoppin,rekbrjdf,santeria,prett,berty75,mohican,daftpunk,uekmyfhf,chupa,strats,ironbird,giants56,salisbur,koldun,summer04,pondscum,jimmyj,miata1,george3,redshoes,weezie,bartman1,0p9o8i7u,s1lver,dorkus,125478,omega9,sexisgood,mancow,patric1,jetta1,074401,ghjuhtcc,gfhjk,bibble,terry2,123213,medicin,rebel2,hen3ry,4freedom,aldrin,lovesyou,browny,renwod,winnie1,belladon,1house,tyghbn,blessme,rfhfrfnbwf,haylee,deepdive,booya,phantasy,gansta,cock69,4mnveh,gazza1,redapple,structur,anakin1,manolito,steve01,poolman,chloe123,vlad1998,qazwsxe,pushit,random123,ontherocks,o236nq,brain1,dimedrol,agape,rovnogod,1balls,knigh,alliso,love01,wolf01,flintstone,beernuts,tuffguy,isengard,highfive,alex23,casper99,rubina,getreal,chinita,italian1,airsoft,qwerty23,muffdiver,willi1,grace123,orioles1,redbull1,chino1,ziggy123,breadman,estefan,ljcneg,gotoit,logan123,wideglid,mancity1,treess,qwe123456,kazumi,qweasdqwe,oddworld,naveed,protos,towson,a801016,godislov,at_asp,bambam1,soccer5,dark123,67vette,carlos123,hoser1,scouser,wesdxc,pelus,dragon25,pflhjn,abdula,1freedom,policema,tarkin,eduardo1,mackdad,gfhjkm11,lfplhfgthvf,adilet,zzzzxxxx,childre,samarkand,cegthgegth,shama,fresher,silvestr,greaser,allout,plmokn,sexdrive,nintendo1,fantasy7,oleander,fe126fd,crumpet,pingzing,dionis,hipster,yfcnz,requin,calliope,jerome1,housecat,abc123456789,doghot,snake123,augus,brillig,chronic1,gfhjkbot,expediti,noisette,master7,caliban,whitetai,favorite3,lisamari,educatio,ghjhjr,saber1,zcegth,1958proman,vtkrbq,milkdud,imajica,thehip,bailey10,hockey19,dkflbdjcnjr,j123456,bernar,aeiouy,gamlet,deltachi,endzone,conni,bcgfybz,brandi1,auckland2010,7653ajl1,mardigra,testuser,bunko18,camaro67,36936,greenie,454dfmcq,6xe8j2z4,mrgreen,ranger5,headhunt,banshee1,moonunit,zyltrc,hello3,pussyboy,stoopid,tigger11,yellow12,drums1,blue02,kils123,junkman,banyan,jimmyjam,tbbucs,sportster,badass1,joshie,braves10,lajolla,1amanda,antani,78787,antero,19216801,chich,rhett32,sarahm,beloit,sucker69,corkey,nicosnn,rccola,caracol,daffyduc,bunny2,mantas,monkies,hedonist,cacapipi,ashton1,sid123,19899891,patche,greekgod,cbr1000,leader1,19977991,ettore,chongo,113311,picass,cfif123,rhtfnbd,frances1,andy12,minnette,bigboy12,green69,alices,babcia,partyboy,javabean,freehand,qawsed123,xxx111,harold1,passwo,jonny1,kappa1,w2dlww3v5p,1merlin,222999,tomjones,jakeman,franken,markhegarty,john01,carole1,daveman,caseys,apeman,mookey,moon123,claret,titans1,residentevil,campari,curitiba,dovetail,aerostar,jackdaniels,basenji,zaq12w,glencoe,biglove,goober12,ncc170,far7766,monkey21,eclipse9,1234567v,vanechka,aristote,grumble,belgorod,abhishek,neworleans,pazzword,dummie,sashadog,diablo11,mst3000,koala1,maureen1,jake99,isaiah1,funkster,gillian1,ekaterina20,chibears,astra123,4me2no,winte,skippe,necro,windows9,vinograd,demolay,vika2010,quiksilver,19371ayj,dollar1,shecky,qzwxecrv,butterfly1,merrill1,scoreland,1crazy,megastar,mandragora,track1,dedhed,jacob2,newhope,qawsedrftgyh,shack1,samvel,gatita,shyster,clara1,telstar,office1,crickett,truls,nirmala,joselito,chrisl,lesnik,aaaabbbb,austin01,leto2010,bubbie,aaa12345,widder,234432,salinger,mrsmith,qazsedcft,newshoes,skunks,yt1300,bmw316,arbeit,smoove,123321qweewq,123qazwsx,22221111,seesaw,0987654321a,peach1,1029384756q,sereda,gerrard8,shit123,batcave,energy1,peterb,mytruck,peter12,alesya,tomato1,spirou,laputaxx,magoo1,omgkremidia,knight12,norton1,vladislava,shaddy,austin11,jlbyjxrf,kbdthgekm,punheta,fetish69,exploiter,roger2,manstein,gtnhjd,32615948worms,dogbreath,ujkjdjkjvrf,vodka1,ripcord,fatrat,kotek1,tiziana,larrybir,thunder3,nbvfnb,9kyq6fge,remembe,likemike,gavin1,shinigam,yfcnfcmz,13245678,jabbar,vampyr,ane4ka,lollipo,ashwin,scuderia,limpdick,deagle,3247562,vishenka,fdhjhf,alex02,volvov70,mandys,bioshock,caraca,tombraider,matrix69,jeff123,13579135,parazit,black3,noway1,diablos,hitmen,garden1,aminor,decembe,august12,b00ger,006900,452073t,schach,hitman1,mariner1,vbnmrf,paint1,742617000027,bitchboy,pfqxjyjr,5681392,marryher,sinnet,malik1,muffin12,aninha,piolin,lady12,traffic1,cbvjyf,6345789,june21,ivan2010,ryan123,honda99,gunny,coorslight,asd321,hunter69,7224763,sonofgod,dolphins1,1dolphin,pavlenko,woodwind,lovelov,pinkpant,gblfhfcbyf,hotel1,justinbiebe,vinter,jeff1234,mydogs,1pizza,boats1,parrothe,shawshan,brooklyn1,cbrown,1rocky,hemi426,dragon64,redwings1,porsches,ghostly,hubbahub,buttnut,b929ezzh,sorokina,flashg,fritos,b7mguk,metatron,treehous,vorpal,8902792,marcu,free123,labamba,chiefs1,zxc123zxc,keli_14,hotti,1steeler,money4,rakker,foxwoods,free1,ahjkjd,sidorova,snowwhit,neptune1,mrlover,trader1,nudelamb,baloo,power7,deltasig,bills1,trevo,7gorwell,nokia6630,nokia5320,madhatte,1cowboys,manga1,namtab,sanjar,fanny1,birdman1,adv12775,carlo1,dude1998,babyhuey,nicole11,madmike,ubvyfpbz,qawsedr,lifetec,skyhook,stalker123,toolong,robertso,ripazha,zippy123,1111111a,manol,dirtyman,analslut,jason3,dutches,minhasenha,cerise,fenrir,jayjay1,flatbush,franka,bhbyjxrf,26429vadim,lawntrax,198700,fritzy,nikhil,ripper1,harami,truckman,nemvxyheqdd5oqxyxyzi,gkfytnf,bugaboo,cableman,hairpie,xplorer,movado,hotsex69,mordred,ohyeah1,patrick3,frolov,katieh,4311111q,mochaj,presari,bigdo,753951852,freedom4,kapitan,tomas1,135795,sweet123,pokers,shagme,tane4ka,sentinal,ufgyndmv,jonnyb,skate123,123456798,123456788,very1,gerrit,damocles,dollarbi,caroline1,lloyds,pizdets,flatland,92702689,dave13,meoff,ajnjuhfabz,achmed,madison9,744744z,amonte,avrillavigne,elaine1,norma1,asseater,everlong,buddy23,cmgang1,trash1,mitsu,flyman,ulugbek,june27,magistr,fittan,sebora64,dingos,sleipnir,caterpil,cindys,212121qaz,partys,dialer,gjytltkmybr,qweqaz,janvier,rocawear,lostboy,aileron,sweety1,everest1,pornman,boombox,potter1,blackdic,44448888,eric123,112233aa,2502557i,novass,nanotech,yourname,x12345,indian1,15975300,1234567l,carla51,chicago0,coleta,cxzdsaewq,qqwweerr,marwan,deltic,hollys,qwerasd,pon32029,rainmake,nathan0,matveeva,legioner,kevink,riven,tombraid,blitzen,a54321,jackyl,chinese1,shalimar,oleg1995,beaches1,tommylee,eknock,berli,monkey23,badbob,pugwash,likewhoa,jesus2,yujyd360,belmar,shadow22,utfp5e,angelo1,minimax,pooder,cocoa1,moresex,tortue,lesbia,panthe,snoopy2,drumnbass,alway,gmcz71,6jhwmqku,leppard,dinsdale,blair1,boriqua,money111,virtuagirl,267605,rattlesn,1sunshin,monica12,veritas1,newmexic,millertime,turandot,rfvxfnrf,jaydog,kakawka,bowhunter,booboo12,deerpark,erreway,taylorma,rfkbybyf,wooglin,weegee,rexdog,iamhorny,cazzo1,vhou812,bacardi1,dctktyyfz,godpasi,peanut12,bertha1,fuckyoubitch,ghosty,altavista,jertoot,smokeit,ghjcnbvtyz,fhnehxbr,rolsen,qazxcdews,maddmaxx,redrocke,qazokm,spencer2,thekiller,asdf11,123sex,tupac1,p1234567,dbrown,1biteme,tgo4466,316769,sunghi,shakespe,frosty1,gucci1,arcana,bandit01,lyubov,poochy,dartmout,magpies1,sunnyd,mouseman,summer07,chester7,shalini,danbury,pigboy,dave99,deniss,harryb,ashley11,pppppp1,01081988m,balloon1,tkachenko,bucks1,master77,pussyca,tricky1,zzxxccvv,zoulou,doomer,mukesh,iluv69,supermax,todays,thefox,don123,dontask,diplom,piglett,shiney,fahbrf,qaz12wsx,temitope,reggin,project1,buffy2,inside1,lbpfqyth,vanilla1,lovecock,u4slpwra,fylh.irf,123211,7ertu3ds,necroman,chalky,artist1,simpso,4x7wjr,chaos666,lazyacres,harley99,ch33s3,marusa,eagle7,dilligas,computadora,lucky69,denwer,nissan350z,unforgiv,oddball,schalke0,aztec1,borisova,branden1,parkave,marie123,germa,lafayett,878kckxy,405060,cheeseca,bigwave,fred22,andreea,poulet,mercutio,psycholo,andrew88,o4izdmxu,sanctuar,newhome,milion,suckmydi,rjvgm.nth,warior,goodgame,1qwertyuiop,6339cndh,scorpio2,macker,southbay,crabcake,toadie,paperclip,fatkid,maddo,cliff1,rastafar,maries,twins1,geujdrf,anjela,wc4fun,dolina,mpetroff,rollout,zydeco,shadow3,pumpki,steeda,volvo240,terras,blowjo,blue2000,incognit,badmojo,gambit1,zhukov,station1,aaronb,graci,duke123,clipper1,qazxsw2,ledzeppe,kukareku,sexkitte,cinco,007008,lakers12,a1234b,acmilan1,afhfjy,starrr,slutty3,phoneman,kostyan,bonzo1,sintesi07,ersatz,cloud1,nephilim,nascar03,rey619,kairos,123456789e,hardon1,boeing1,juliya,hfccdtn,vgfun8,polizei,456838,keithb,minouche,ariston,savag,213141,clarkken,microwav,london2,santacla,campeo,qr5mx7,464811,mynuts,bombo,1mickey,lucky8,danger1,ironside,carter12,wyatt1,borntorun,iloveyou123,jose1,pancake1,tadmichaels,monsta,jugger,hunnie,triste,heat7777,ilovejesus,queeny,luckycharm,lieben,gordolee85,jtkirk,forever21,jetlag,skylane,taucher,neworlea,holera,000005,anhnhoem,melissa7,mumdad,massimiliano,dima1994,nigel1,madison3,slicky,shokolad,serenit,jmh1978,soccer123,chris3,drwho,rfpzdrf,1qasw23ed,free4me,wonka,sasquatc,sanan,maytag,verochka,bankone,molly12,monopoli,xfqybr,lamborgini,gondolin,candycane,needsome,jb007,scottie1,brigit,0147258369,kalamazo,lololyo123,bill1234,ilovejes,lol123123,popkorn,april13,567rntvm,downunde,charle1,angelbab,guildwars,homeworld,qazxcvbnm,superma1,dupa123,kryptoni,happyy,artyom,stormie,cool11,calvin69,saphir,konovalov,jansport,october8,liebling,druuna,susans,megans,tujhjdf,wmegrfux,jumbo1,ljb4dt7n,012345678910,kolesnik,speculum,at4gftlw,kurgan,93pn75,cahek0980,dallas01,godswill,fhifdby,chelsea4,jump23,barsoom,catinhat,urlacher,angel99,vidadi1,678910,lickme69,topaz1,westend,loveone,c12345,gold12,alex1959,mamon,barney12,1maggie,alex12345,lp2568cskt,s1234567,gjikbdctyf,anthony0,browns99,chips1,sunking,widespre,lalala1,tdutif,fucklife,master00,alino4ka,stakan,blonde1,phoebus,tenore,bvgthbz,brunos,suzjv8,uvdwgt,revenant,1banana,veroniqu,sexfun,sp1der,4g3izhox,isakov,shiva1,scooba,bluefire,wizard12,dimitris,funbags,perseus,hoodoo,keving,malboro,157953,a32tv8ls,latics,animate,mossad,yejntb,karting,qmpq39zr,busdrive,jtuac3my,jkne9y,sr20dett,4gxrzemq,keylargo,741147,rfktylfhm,toast1,skins1,xcalibur,gattone,seether,kameron,glock9mm,julio1,delenn,gameday,tommyd,str8edge,bulls123,66699,carlsberg,woodbird,adnama,45auto,codyman,truck2,1w2w3w4w,pvjegu,method1,luetdi,41d8cd98f00b,bankai,5432112345,94rwpe,reneee,chrisx,melvins,775577,sam2000,scrappy1,rachid,grizzley,margare,morgan01,winstons,gevorg,gonzal,crawdad,gfhfdjp,babilon,noneya,pussy11,barbell,easyride,c00li0,777771,311music,karla1,golions,19866891,peejay,leadfoot,hfvbkm,kr9z40sy,cobra123,isotwe,grizz,sallys,****you,aaa123a,dembel,foxs14,hillcres,webman,mudshark,alfredo1,weeded,lester1,hovepark,ratface,000777fffa,huskie,wildthing,elbarto,waikiki,masami,call911,goose2,regin,dovajb,agricola,cjytxrj,andy11,penny123,family01,a121212,1braves,upupa68,happy100,824655,cjlove,firsttim,kalel,redhair,dfhtymt,sliders,bananna,loverbo,fifa2008,crouton,chevy350,panties2,kolya1,alyona,hagrid,spagetti,q2w3e4r,867530,narkoman,nhfdvfnjkju123,1ccccccc,napolean,0072563,allay,w8sted,wigwam,jamesk,state1,parovoz,beach69,kevinb,rossella,logitech1,celula,gnocca,canucks1,loginova,marlboro1,aaaa1,kalleanka,mester,mishutka,milenko,alibek,jersey1,peterc,1mouse,nedved,blackone,ghfplybr,682regkh,beejay,newburgh,ruffian,clarets,noreaga,xenophon,hummerh2,tenshi,smeagol,soloyo,vfhnby,ereiamjh,ewq321,goomie,sportin,cellphone,sonnie,jetblack,saudan,gblfhfc,matheus,uhfvjnf,alicja,jayman1,devon1,hexagon,bailey2,vtufajy,yankees7,salty1,908070,killemal,gammas,eurocard,sydney12,tuesday1,antietam,wayfarer,beast666,19952009sa,aq12ws,eveli,hockey21,haloreach,dontcare,xxxx1,andrea11,karlmarx,jelszo,tylerb,protools,timberwolf,ruffneck,pololo,1bbbbb,waleed,sasami,twinss,fairlady,illuminati,alex007,sucks1,homerjay,scooter7,tarbaby,barmaley,amistad,vanes,randers,tigers12,dreamer2,goleafsg,googie,bernie1,as12345,godeep,james3,phanto,gwbush,cumlover,2196dc,studioworks,995511,golf56,titova,kaleka,itali,socks1,kurwamac,daisuke,hevonen,woody123,daisie,wouter,henry123,gostosa,guppie,porpoise,iamsexy,276115,paula123,1020315,38gjgeuftd,rjrfrjkf,knotty,idiot1,sasha12345,matrix13,securit,radical1,ag764ks,jsmith,coolguy1,secretar,juanas,sasha1988,itout,00000001,tiger11,1butthea,putain,cavalo,basia1,kobebryant,1232323,12345asdfg,sunsh1ne,cyfqgth,tomkat,dorota,dashit,pelmen,5t6y7u,whipit,smokeone,helloall,bonjour1,snowshoe,nilknarf,x1x2x3,lammas,1234599,lol123456,atombomb,ironchef,noclue,alekseev,gwbush1,silver2,12345678m,yesican,fahjlbnf,chapstic,alex95,open1,tiger200,lisichka,pogiako,cbr929,searchin,tanya123,alex1973,phil413,alex1991,dominati,geckos,freddi,silenthill,egroeg,vorobey,antoxa,dark666,shkola,apple22,rebellio,shamanking,7f8srt,cumsucker,partagas,bill99,22223333,arnster55,fucknuts,proxima,silversi,goblues,parcells,vfrcbvjdf,piloto,avocet,emily2,1597530,miniskir,himitsu,pepper2,juiceman,venom1,bogdana,jujube,quatro,botafogo,mama2010,junior12,derrickh,asdfrewq,miller2,chitarra,silverfox,napol,prestigio,devil123,mm111qm,ara123,max33484,sex2000,primo1,sephan,anyuta,alena2010,viborg,verysexy,hibiscus,terps,josefin,oxcart,spooker,speciali,raffaello,partyon,vfhvtkflrf,strela,a123456z,worksuck,glasss,lomonosov,dusty123,dukeblue,1winter,sergeeva,lala123,john22,cmc09,sobolev,bettylou,dannyb,gjkrjdybr,hagakure,iecnhbr,awsedr,pmdmsctsk,costco,alekseeva,fktrcttd,bazuka,flyingv,garuda,buffy16,gutierre,beer12,stomatolog,ernies,palmeiras,golf123,love269,n.kmgfy,gjkysqgbpltw,youare,joeboo,baksik,lifeguar,111a111,nascar8,mindgame,dude1,neopets,frdfkfyu,june24,phoenix8,penelopa,merlin99,mercenar,badluck,mishel,bookert,deadsexy,power9,chinchil,1234567m,alex10,skunk1,rfhkcjy,sammycat,wright1,randy2,marakesh,temppassword,elmer251,mooki,patrick0,bonoedge,1tits,chiar,kylie1,graffix,milkman1,cornel,mrkitty,nicole12,ticketmaster,beatles4,number20,ffff1,terps1,superfre,yfdbufnjh,jake1234,flblfc,1111qq,zanuda,jmol01,wpoolejr,polopol,nicolett,omega13,cannonba,123456789.,sandy69,ribeye,bo243ns,marilena,bogdan123,milla,redskins1,19733791,alias1,movie1,ducat,marzena,shadowru,56565,coolman1,pornlover,teepee,spiff,nafanya,gateway3,fuckyou0,hasher,34778,booboo69,staticx,hang10,qq12345,garnier,bosco123,1234567qw,carson1,samso,1xrg4kcq,cbr929rr,allan123,motorbik,andrew22,pussy101,miroslava,cytujdbr,camp0017,cobweb,snusmumrik,salmon1,cindy2,aliya,serendipity,co437at,tincouch,timmy123,hunter22,st1100,vvvvvv1,blanka,krondor,sweeti,nenit,kuzmich,gustavo1,bmw320i,alex2010,trees1,kyliem,essayons,april26,kumari,sprin,fajita,appletre,fghbjhb,1green,katieb,steven2,corrado1,satelite,1michell,123456789c,cfkfvfylhf,acurarsx,slut543,inhere,bob2000,pouncer,k123456789,fishie,aliso,audia8,bluetick,soccer69,jordan99,fromhell,mammoth1,fighting54,mike25,pepper11,extra1,worldwid,chaise,vfr800,sordfish,almat,nofate,listopad,hellgate,dctvghbdf,jeremia,qantas,lokiju,honker,sprint1,maral,triniti,compaq3,sixsix6,married1,loveman,juggalo1,repvtyrj,zxcasdqw,123445,whore1,123678,monkey6,west123,warcraf,pwnage,mystery1,creamyou,ant123,rehjgfnrf,corona1,coleman1,steve121,alderaan,barnaul,celeste1,junebug1,bombshel,gretzky9,tankist,targa,cachou,vaz2101,playgolf,boneyard,strateg,romawka,iforgotit,pullup,garbage1,irock,archmage,shaft1,oceano,sadies,alvin1,135135ab,psalm69,lmfao,ranger02,zaharova,33334444,perkman,realman,salguod,cmoney,astonmartin,glock1,greyfox,viper99,helpm,blackdick,46775575,family5,shazbot,dewey1,qwertyas,shivani,black22,mailman1,greenday1,57392632,red007,stanky,sanchez1,tysons,daruma,altosax,krayzie,85852008,1forever,98798798,irock.,123456654,142536789,ford22,brick1,michela,preciou,crazy4u,01telemike01,nolife,concac,safety1,annie123,brunswic,destini,123456qwer,madison0,snowball1,137946,1133557799,jarule,scout2,songohan,thedead,00009999,murphy01,spycam,hirsute,aurinko,associat,1miller,baklan,hermes1,2183rm,martie,kangoo,shweta,yvonne1,westsid,jackpot1,rotciv,maratik,fabrika,claude1,nursultan,noentry,ytnhjufnm,electra1,ghjcnjnfr1,puneet,smokey01,integrit,bugeye,trouble2,14071789,paul01,omgwtf,dmh415,ekilpool,yourmom1,moimeme,sparky11,boludo,ruslan123,kissme1,demetrio,appelsin,asshole3,raiders2,bunns,fynjybj,billygoa,p030710p$e4o,macdonal,248ujnfk,acorns,schmidt1,sparrow1,vinbylrj,weasle,jerom,ycwvrxxh,skywalk,gerlinde,solidus,postal1,poochie1,1charles,rhianna,terorist,rehnrf,omgwtfbbq,assfucke,deadend,zidan,jimboy,vengence,maroon5,7452tr,dalejr88,sombra,anatole,elodi,amazonas,147789,q12345q,gawker1,juanma,kassidy,greek1,bruces,bilbob,mike44,0o9i8u7y6t,kaligula,agentx,familie,anders1,pimpjuice,0128um,birthday10,lawncare,hownow,grandorgue,juggerna,scarfac,kensai,swatteam,123four,motorbike,repytxbr,other1,celicagt,pleomax,gen0303,godisgreat,icepick,lucifer666,heavy1,tea4two,forsure,02020,shortdog,webhead,chris13,palenque,3techsrl,knights1,orenburg,prong,nomarg,wutang1,80637852730,laika,iamfree,12345670,pillow1,12343412,bigears,peterg,stunna,rocky5,12123434,damir,feuerwehr,7418529630,danone,yanina,valenci,andy69,111222q,silvia1,1jjjjj,loveforever,passwo1,stratocaster,8928190a,motorolla,lateralu,ujujkm,chubba,ujkjdf,signon,123456789zx,serdce,stevo,wifey200,ololo123,popeye1,1pass,central1,melena,luxor,nemezida,poker123,ilovemusic,qaz1234,noodles1,lakeshow,amarill,ginseng,billiam,trento,321cba,fatback,soccer33,master13,marie2,newcar,bigtop,dark1,camron,nosgoth,155555,biglou,redbud,jordan7,159789,diversio,actros,dazed,drizzit,hjcnjd,wiktoria,justic,gooses,luzifer,darren1,chynna,tanuki,11335577,icculus,boobss,biggi,firstson,ceisi123,gatewa,hrothgar,jarhead1,happyjoy,felipe1,bebop1,medman,athena1,boneman,keiths,djljgfl,dicklick,russ120,mylady,zxcdsa,rock12,bluesea,kayaks,provista,luckies,smile4me,bootycal,enduro,123123f,heartbre,ern3sto,apple13,bigpappa,fy.njxrf,bigtom,cool69,perrito,quiet1,puszek,cious,cruella,temp1,david26,alemap,aa123123,teddies,tricolor,smokey12,kikiriki,mickey01,robert01,super5,ranman,stevenso,deliciou,money777,degauss,mozar,susanne1,asdasd12,shitbag,mommy123,wrestle1,imfree,fuckyou12,barbaris,florent,ujhijr,f8yruxoj,tefjps,anemone,toltec,2gether,left4dead2,ximen,gfkmvf,dunca,emilys,diana123,16473a,mark01,bigbro,annarbor,nikita2000,11aa11,tigres,llllll1,loser2,fbi11213,jupite,qwaszxqw,macabre,123ert,rev2000,mooooo,klapaucius,bagel1,chiquit,iyaoyas,bear101,irocz28,vfktymrfz,smokey2,love99,rfhnbyf,dracul,keith123,slicko,peacock1,orgasmic,thesnake,solder,wetass,doofer,david5,rhfcyjlfh,swanny,tammys,turkiye,tubaman,estefani,firehose,funnyguy,servo,grace17,pippa1,arbiter,jimmy69,nfymrf,asdf67nm,rjcnzy,demon123,thicknes,sexysex,kristall,michail,encarta,banderos,minty,marchenko,de1987ma,mo5kva,aircav,naomi1,bonni,tatoo,cronaldo,49ers1,mama1963,1truck,telecaster,punksnotdead,erotik,1eagles,1fender,luv269,acdeehan,tanner1,freema,1q3e5t7u,linksys,tiger6,megaman1,neophyte,australia1,mydaddy,1jeffrey,fgdfgdfg,gfgekz,1986irachka,keyman,m0b1l3,dfcz123,mikeyg,playstation2,abc125,slacker1,110491g,lordsoth,bhavani,ssecca,dctvghbdtn,niblick,hondacar,baby01,worldcom,4034407,51094didi,3657549,3630000,3578951,sweetpussy,majick,supercoo,robert11,abacabb,panda123,gfhjkm13,ford4x4,zippo1,lapin,1726354,lovesong,dude11,moebius,paravoz,1357642,matkhau,solnyshko,daniel4,multiplelog,starik,martusia,iamtheman,greentre,jetblue,motorrad,vfrcbvev,redoak,dogma1,gnorman,komlos,tonka1,1010220,666satan,losenord,lateralus,absinthe,command1,jigga1,iiiiiii1,pants1,jungfrau,926337,ufhhbgjnnth,yamakasi,888555,sunny7,gemini69,alone1,zxcvbnmz,cabezon,skyblues,zxc1234,456123a,zero00,caseih,azzurra,legolas1,menudo,murcielago,785612,779977,benidorm,viperman,dima1985,piglet1,hemligt,hotfeet,7elephants,hardup,gamess,a000000,267ksyjf,kaitlynn,sharkie,sisyphus,yellow22,667766,redvette,666420,mets69,ac2zxdty,hxxrvwcy,cdavis,alan1,noddy,579300,druss,eatshit1,555123,appleseed,simpleplan,kazak,526282,fynfyfyfhbde,birthday6,dragon6,1pookie,bluedevils,omg123,hj8z6e,x5dxwp,455445,batman23,termin,chrisbrown,animals1,lucky9,443322,kzktxrf,takayuki,fermer,assembler,zomu9q,sissyboy,sergant,felina,nokia6230i,eminem12,croco,hunt4red,festina,darknigh,cptnz062,ndshnx4s,twizzler,wnmaz7sd,aamaax,gfhfcjkmrf,alabama123,barrynov,happy5,punt0it,durandal,8xuuobe4,cmu9ggzh,bruno12,316497,crazyfrog,vfvfktyf,apple3,kasey1,mackdaddy,anthon1,sunnys,angel3,cribbage,moon1,donal,bryce1,pandabear,mwss474,whitesta,freaker,197100,bitche,p2ssw0rd,turnb,tiktonik,moonlite,ferret1,jackas,ferrum,bearclaw,liberty2,1diablo,caribe,snakeeyes,janbam,azonic,rainmaker,vetalik,bigeasy,baby1234,sureno13,blink1,kluivert,calbears,lavanda,198600,dhtlbyf,medvedeva,fox123,whirling,bonscott,freedom9,october3,manoman,segredo,cerulean,robinso,bsmith,flatus,dannon,password21,rrrrrr1,callista,romai,rainman1,trantor,mickeymo,bulldog7,g123456,pavlin,pass22,snowie,hookah,7ofnine,bubba22,cabible,nicerack,moomoo1,summer98,yoyo123,milan1,lieve27,mustang69,jackster,exocet,nadege,qaz12,bahama,watson1,libras,eclipse2,bahram,bapezm,up9x8rww,ghjcnjz,themaste,deflep27,ghost16,gattaca,fotograf,junior123,gilber,gbjyth,8vjzus,rosco1,begonia,aldebara,flower12,novastar,buzzman,manchild,lopez1,mama11,william7,yfcnz1,blackstar,spurs123,moom4242,1amber,iownyou,tightend,07931505,paquito,1johnson,smokepot,pi31415,snowmass,ayacdc,jessicam,giuliana,5tgbnhy6,harlee,giuli,bigwig,tentacle,scoubidou2,benelli,vasilina,nimda,284655,jaihind,lero4ka,1tommy,reggi,ididit,jlbyjxtcndj,mike26,qbert,wweraw,lukasz,loosee123,palantir,flint1,mapper,baldie,saturne,virgin1,meeeee,elkcit,iloveme2,blue15,themoon,radmir,number3,shyanne,missle,hannelor,jasmina,karin1,lewie622,ghjcnjqgfhjkm,blasters,oiseau,sheela,grinders,panget,rapido,positiv,twink,fltkbyf,kzsfj874,daniel01,enjoyit,nofags,doodad,rustler,squealer,fortunat,peace123,khushi,devils2,7inches,candlebo,topdawg,armen,soundman,zxcqweasd,april7,gazeta,netman,hoppers,bear99,ghbjhbntn,mantle7,bigbo,harpo,jgordon,bullshi,vinny1,krishn,star22,thunderc,galinka,phish123,tintable,nightcrawler,tigerboy,rbhgbx,messi,basilisk,masha1998,nina123,yomamma,kayla123,geemoney,0000000000d,motoman,a3jtni,ser123,owen10,italien,vintelok,12345rewq,nightime,jeepin,ch1tt1ck,mxyzptlk,bandido,ohboy,doctorj,hussar,superted,parfilev,grundle,1jack,livestrong,chrisj,matthew3,access22,moikka,fatone,miguelit,trivium,glenn1,smooches,heiko,dezember,spaghett,stason,molokai,bossdog,guitarma,waderh,boriska,photosho,path13,hfrtnf,audre,junior24,monkey24,silke,vaz21093,bigblue1,trident1,candide,arcanum,klinker,orange99,bengals1,rosebu,mjujuj,nallepuh,mtwapa1a,ranger69,level1,bissjop,leica,1tiffany,rutabega,elvis77,kellie1,sameas,barada,karabas,frank12,queenb,toutoune,surfcity,samanth1,monitor1,littledo,kazakova,fodase,mistral1,april22,carlit,shakal,batman123,fuckoff2,alpha01,5544332211,buddy3,towtruck,kenwood1,vfiekmrf,jkl123,pypsik,ranger75,sitges,toyman,bartek1,ladygirl,booman,boeing77,installsqlst,222666,gosling,bigmack,223311,bogos,kevin2,gomez1,xohzi3g4,kfnju842,klubnika,cubalibr,123456789101,kenpo,0147852369,raptor1,tallulah,boobys,jjones,1q2s3c,moogie,vid2600,almas,wombat1,extra300,xfiles1,green77,sexsex1,heyjude,sammyy,missy123,maiyeuem,nccpl25282,thicluv,sissie,raven3,fldjrfn,buster22,broncos2,laurab,letmein4,harrydog,solovey,fishlips,asdf4321,ford123,superjet,norwegen,movieman,psw333333,intoit,postbank,deepwate,ola123,geolog323,murphys,eshort,a3eilm2s2y,kimota,belous,saurus,123321qaz,i81b4u,aaa12,monkey20,buckwild,byabybnb,mapleleafs,yfcnzyfcnz,baby69,summer03,twista,246890,246824,ltcnhjth,z1z2z3,monika1,sad123,uto29321,bathory,villan,funkey,poptarts,spam967888,705499fh,sebast,porn1234,earn381,1porsche,whatthef,123456789y,polo12,brillo,soreilly,waters1,eudora,allochka,is_a_bot,winter00,bassplay,531879fiz,onemore,bjarne,red911,kot123,artur1,qazxdr,c0rvette,diamond7,matematica,klesko,beaver12,2enter,seashell,panam,chaching,edward2,browni,xenogear,cornfed,aniram,chicco22,darwin1,ancella2,sophie2,vika1998,anneli,shawn41,babie,resolute,pandora2,william8,twoone,coors1,jesusis1,teh012,cheerlea,renfield,tessa1,anna1986,madness1,bkmlfh,19719870,liebherr,ck6znp42,gary123,123654z,alsscan,eyedoc,matrix7,metalgea,chinito,4iter,falcon11,7jokx7b9du,bigfeet,tassadar,retnuh,muscle1,klimova,darion,batistuta,bigsur,1herbier,noonie,ghjrehjh,karimova,faustus,snowwhite,1manager,dasboot,michael12,analfuck,inbed,dwdrums,jaysoncj,maranell,bsheep75,164379,rolodex,166666,rrrrrrr1,almaz666,167943,russel1,negrito,alianz,goodpussy,veronik,1w2q3r4e,efremov,emb377,sdpass,william6,alanfahy,nastya1995,panther5,automag,123qwe12,vfvf2011,fishe,1peanut,speedie,qazwsx1234,pass999,171204j,ketamine,sheena1,energizer,usethis1,123abc123,buster21,thechamp,flvbhfk,frank69,chane,hopeful1,claybird,pander,anusha,bigmaxxx,faktor,housebed,dimidrol,bigball,shashi,derby1,fredy,dervish,bootycall,80988218126,killerb,cheese2,pariss,mymail,dell123,catbert,christa1,chevytru,gjgjdf,00998877,overdriv,ratten,golf01,nyyanks,dinamite,bloembol,gismo,magnus1,march2,twinkles,ryan22,duckey,118a105b,kitcat,brielle,poussin,lanzarot,youngone,ssvegeta,hero63,battle1,kiler,fktrcfylh1,newera,vika1996,dynomite,oooppp,beer4me,foodie,ljhjuf,sonshine,godess,doug1,constanc,thinkbig,steve2,damnyou,autogod,www333,kyle1,ranger7,roller1,harry2,dustin1,hopalong,tkachuk,b00bies,bill2,deep111,stuffit,fire69,redfish1,andrei123,graphix,1fishing,kimbo1,mlesp31,ifufkbyf,gurkan,44556,emily123,busman,and123,8546404,paladine,1world,bulgakov,4294967296,bball23,1wwwww,mycats,elain,delta6,36363,emilyb,color1,6060842,cdtnkfyrf,hedonism,gfgfrfhkj,5551298,scubad,gostate,sillyme,hdbiker,beardown,fishers,sektor,00000007,newbaby,rapid1,braves95,gator2,nigge,anthony3,sammmy,oou812,heffer,phishin,roxanne1,yourass,hornet1,albator,2521659,underwat,tanusha,dianas,3f3fpht7op,dragon20,bilbobag,cheroke,radiatio,dwarf1,majik,33st33,dochka,garibald,robinh,sham69,temp01,wakeboar,violet1,1w2w3w,registr,tonite,maranello,1593570,parolamea,galatasara,loranthos,1472583,asmodean,1362840,scylla,doneit,jokerr,porkypig,kungen,mercator,koolhaas,come2me,debbie69,calbear,liverpoolfc,yankees4,12344321a,kennyb,madma,85200258,dustin23,thomas13,tooling,mikasa,mistic,crfnbyf,112233445,sofia1,heinz57,colts1,price1,snowey,joakim,mark11,963147,cnhfcnm,kzinti,1bbbbbbb,rubberdu,donthate,rupert1,sasha1992,regis1,nbuhbwf,fanboy,sundial,sooner1,wayout,vjnjhjkf,deskpro,arkangel,willie12,mikeyb,celtic1888,luis1,buddy01,duane1,grandma1,aolcom,weeman,172839456,basshead,hornball,magnu,pagedown,molly2,131517,rfvtgbyhn,astonmar,mistery,madalina,cash1,1happy,shenlong,matrix01,nazarova,369874125,800500,webguy,rse2540,ashley2,briank,789551,786110,chunli,j0nathan,greshnik,courtne,suckmyco,mjollnir,789632147,asdfg1234,754321,odelay,ranma12,zebedee,artem777,bmw318is,butt1,rambler1,yankees9,alabam,5w76rnqp,rosies,mafioso,studio1,babyruth,tranzit,magical123,gfhjkm135,12345$,soboleva,709394,ubique,drizzt1,elmers,teamster,pokemons,1472583690,1597532486,shockers,merckx,melanie2,ttocs,clarisse,earth1,dennys,slobber,flagman,farfalla,troika,4fa82hyx,hakan,x4ww5qdr,cumsuck,leather1,forum1,july20,barbel,zodiak,samuel12,ford01,rushfan,bugsy1,invest1,tumadre,screwme,a666666,money5,henry8,tiddles,sailaway,starburs,100years,killer01,comando,hiromi,ranetka,thordog,blackhole,palmeira,verboten,solidsna,q1w1e1,humme,kevinc,gbrfxe,gevaudan,hannah11,peter2,vangar,sharky7,talktome,jesse123,chuchi,pammy,!qazxsw2,siesta,twenty1,wetwilly,477041,natural1,sun123,daniel3,intersta,shithead1,hellyea,bonethugs,solitair,bubbles2,father1,nick01,444000,adidas12,dripik,cameron2,442200,a7nz8546,respublika,fkojn6gb,428054,snoppy,rulez1,haslo,rachael1,purple01,zldej102,ab12cd34,cytuehjxrf,madhu,astroman,preteen,handsoff,mrblonde,biggio,testin,vfdhif,twolves,unclesam,asmara,kpydskcw,lg2wmgvr,grolsch,biarritz,feather1,williamm,s62i93,bone1,penske,337733,336633,taurus1,334433,billet,diamondd,333000,nukem,fishhook,godogs,thehun,lena1982,blue00,smelly1,unb4g9ty,65pjv22,applegat,mikehunt,giancarlo,krillin,felix123,december1,soapy,46doris,nicole23,bigsexy1,justin10,pingu,bambou,falcon12,dgthtl,1surfer,qwerty01,estrellit,nfqcjy,easygo,konica,qazqwe,1234567890m,stingers,nonrev,3e4r5t,champio,bbbbbb99,196400,allen123,seppel,simba2,rockme,zebra3,tekken3,endgame,sandy2,197300,fitte,monkey00,eldritch,littleone,rfyfgkz,1member,66chevy,oohrah,cormac,hpmrbm41,197600,grayfox,elvis69,celebrit,maxwell7,rodders,krist,1camaro,broken1,kendall1,silkcut,katenka,angrick,maruni,17071994a,tktyf,kruemel,snuffles,iro4ka,baby12,alexis01,marryme,vlad1994,forward1,culero,badaboom,malvin,hardtoon,hatelove,molley,knopo4ka,duchess1,mensuck,cba321,kickbutt,zastava,wayner,fuckyou6,eddie123,cjkysir,john33,dragonfi,cody1,jabell,cjhjrf,badseed,sweden1,marihuana,brownlov,elland,nike1234,kwiettie,jonnyboy,togepi,billyk,robert123,bb334,florenci,ssgoku,198910,bristol1,bob007,allister,yjdujhjl,gauloise,198920,bellaboo,9lives,aguilas,wltfg4ta,foxyroxy,rocket69,fifty50,babalu,master21,malinois,kaluga,gogosox,obsessio,yeahrigh,panthers1,capstan,liza2000,leigh1,paintball1,blueskie,cbr600f3,bagdad,jose98,mandreki,shark01,wonderbo,muledeer,xsvnd4b2,hangten,200001,grenden,anaell,apa195,model1,245lufpq,zip100,ghjcgtrn,wert1234,misty2,charro,juanjose,fkbcrf,frostbit,badminto,buddyy,1doctor,vanya,archibal,parviz,spunky1,footboy,dm6tzsgp,legola,samadhi,poopee,ytdxz2ca,hallowboy,dposton,gautie,theworm,guilherme,dopehead,iluvtits,bobbob1,ranger6,worldwar,lowkey,chewbaca,oooooo99,ducttape,dedalus,celular,8i9o0p,borisenko,taylor01,111111z,arlingto,p3nnywiz,rdgpl3ds,boobless,kcmfwesg,blacksab,mother2,markus1,leachim,secret2,s123456789,1derful,espero,russell2,tazzer,marykate,freakme,mollyb,lindros8,james00,gofaster,stokrotka,kilbosik,aquamann,pawel1,shedevil,mousie,slot2009,october6,146969,mm259up,brewcrew,choucho,uliana,sexfiend,fktirf,pantss,vladimi,starz,sheeps,12341234q,bigun,tiggers,crjhjcnm,libtech,pudge1,home12,zircon,klaus1,jerry2,pink1,lingus,monkey66,dumass,polopolo09,feuerweh,rjyatnf,chessy,beefer,shamen,poohbear1,4jjcho,bennevis,fatgirls,ujnbrf,cdexswzaq,9noize9,rich123,nomoney,racecar1,hacke,clahay,acuario,getsum,hondacrv,william0,cheyenn,techdeck,atljhjdf,wtcacq,suger,fallenangel,bammer,tranquil,carla123,relayer,lespaul1,portvale,idontno,bycnbnen,trooper2,gennadiy,pompon,billbob,amazonka,akitas,chinatow,atkbrc,busters,fitness1,cateye,selfok2013,1murphy,fullhous,mucker,bajskorv,nectarin,littlebitch,love24,feyenoor,bigal37,lambo1,pussybitch,icecube1,biged,kyocera,ltybcjdf,boodle,theking1,gotrice,sunset1,abm1224,fromme,sexsells,inheat,kenya1,swinger1,aphrodit,kurtcobain,rhind101,poidog,poiulkjh,kuzmina,beantown,tony88,stuttgar,drumer,joaqui,messenge,motorman,amber2,nicegirl,rachel69,andreia,faith123,studmuffin,jaiden,red111,vtkmybr,gamecocks,gumper,bosshogg,4me2know,tokyo1,kleaner,roadhog,fuckmeno,phoenix3,seeme,buttnutt,boner69,andreyka,myheart,katerin,rugburn,jvtuepip,dc3ubn,chile1,ashley69,happy99,swissair,balls2,fylhttdf,jimboo,55555d,mickey11,voronin,m7hsqstm,stufff,merete,weihnachte,dowjones,baloo1,freeones,bears34,auburn1,beverl,timberland,1elvis,guinness1,bombadil,flatron1,logging7,telefoon,merl1n,masha1,andrei1,cowabung,yousuck1,1matrix,peopl,asd123qwe,sweett,mirror1,torrente,joker12,diamond6,jackaroo,00000a,millerlite,ironhorse,2twins,stryke,gggg1,zzzxxxccc,roosevel,8363eddy,angel21,depeche1,d0ct0r,blue14,areyou,veloce,grendal,frederiksberg,cbcntvf,cb207sl,sasha2000,was.here,fritzz,rosedale,spinoza,cokeisit,gandalf3,skidmark,ashley01,12345j,1234567890qaz,sexxxxxx,beagles,lennart,12345789,pass10,politic,max007,gcheckou,12345611,tiffy,lightman,mushin,velosiped,brucewayne,gauthie,elena123,greenegg,h2oski,clocker,nitemare,123321s,megiddo,cassidy1,david13,boywonde,flori,peggy12,pgszt6md,batterie,redlands,scooter6,bckhere,trueno,bailey11,maxwell2,bandana,timoth1,startnow,ducati74,tiern,maxine1,blackmetal,suzyq,balla007,phatfarm,kirsten1,titmouse,benhogan,culito,forbin,chess1,warren1,panman,mickey7,24lover,dascha,speed2,redlion,andrew10,johnwayn,nike23,chacha1,bendog,bullyboy,goldtree,spookie,tigger99,1cookie,poutine,cyclone1,woodpony,camaleun,bluesky1,dfadan,eagles20,lovergirl,peepshow,mine1,dima1989,rjdfkmxer,11111aaaaa,machina,august17,1hhhhh,0773417k,1monster,freaksho,jazzmin,davidw,kurupt,chumly,huggies,sashenka,ccccccc1,bridge1,giggalo,cincinna,pistol1,hello22,david77,lightfoo,lucky6,jimmy12,261397,lisa12,tabaluga,mysite,belo4ka,greenn,eagle99,punkrawk,salvado,slick123,wichsen,knight99,dummys,fefolico,contrera,kalle1,anna1984,delray,robert99,garena,pretende,racefan,alons,serenada,ludmilla,cnhtkjr,l0swf9gx,hankster,dfktynbyrf,sheep1,john23,cv141ab,kalyani,944turbo,crystal2,blackfly,zrjdktdf,eus1sue1,mario5,riverplate,harddriv,melissa3,elliott1,sexybitc,cnhfyybr,jimdavis,bollix,beta1,amberlee,skywalk1,natala,1blood,brattax,shitty1,gb15kv99,ronjon,rothmans,thedoc,joey21,hotboi,firedawg,bimbo38,jibber,aftermat,nomar,01478963,phishing,domodo,anna13,materia,martha1,budman1,gunblade,exclusiv,sasha1997,anastas,rebecca2,fackyou,kallisti,fuckmyass,norseman,ipswich1,151500,1edward,intelinside,darcy1,bcrich,yjdjcnbf,failte,buzzzz,cream1,tatiana1,7eleven,green8,153351,1a2s3d4f5g6h,154263,milano1,bambi1,bruins77,rugby2,jamal1,bolita,sundaypunch,bubba12,realmadr,vfyxtcnth,iwojima,notlob,black666,valkiria,nexus1,millerti,birthday100,swiss1,appollo,gefest,greeneyes,celebrat,tigerr,slava123,izumrud,bubbabub,legoman,joesmith,katya123,sweetdream,john44,wwwwwww1,oooooo1,socal,lovespor,s5r8ed67s,258147,heidis,cowboy22,wachovia,michaelb,qwe1234567,i12345,255225,goldie1,alfa155,45colt,safeu851,antonova,longtong,1sparky,gfvznm,busen,hjlbjy,whateva,rocky4,cokeman,joshua3,kekskek1,sirocco,jagman,123456qwert,phinupi,thomas10,loller,sakur,vika2011,fullred,mariska,azucar,ncstate,glenn74,halima,aleshka,ilovemylife,verlaat,baggie,scoubidou6,phatboy,jbruton,scoop1,barney11,blindman,def456,maximus2,master55,nestea,11223355,diego123,sexpistols,sniffy,philip1,f12345,prisonbreak,nokia2700,ajnjuhfa,yankees3,colfax,ak470000,mtnman,bdfyeirf,fotball,ichbin,trebla,ilusha,riobravo,beaner1,thoradin,polkaudi,kurosawa,honda123,ladybu,valerik,poltava,saviola,fuckyouguys,754740g0,anallove,microlab1,juris01,ncc1864,garfild,shania1,qagsud,makarenko,cindy69,lebedev,andrew11,johnnybo,groovy1,booster1,sanders1,tommyb,johnson4,kd189nlcih,hondaman,vlasova,chick1,sokada,sevisgur,bear2327,chacho,sexmania,roma1993,hjcnbckfd,valley1,howdie,tuppence,jimandanne,strike3,y4kuz4,nhfnfnf,tsubasa,19955991,scabby,quincunx,dima1998,uuuuuu1,logica,skinner1,pinguino,lisa1234,xpressmusic,getfucked,qqqq1,bbbb1,matulino,ulyana,upsman,johnsmith,123579,co2000,spanner1,todiefor,mangoes,isabel1,123852,negra,snowdon,nikki123,bronx1,booom,ram2500,chuck123,fireboy,creek1,batman13,princesse,az12345,maksat,1knight,28infern,241455,r7112s,muselman,mets1986,katydid,vlad777,playme,kmfdm1,asssex,1prince,iop890,bigbroth,mollymoo,waitron,lizottes,125412,juggler,quinta,0sister0,zanardi,nata123,heckfyxbr,22q04w90e,engine2,nikita95,zamira,hammer22,lutscher,carolina1,zz6319,sanman,vfuflfy,buster99,rossco,kourniko,aggarwal,tattoo1,janice1,finger1,125521,19911992,shdwlnds,rudenko,vfvfgfgf123,galatea,monkeybu,juhani,premiumcash,classact,devilmay,helpme2,knuddel,hardpack,ramil,perrit,basil1,zombie13,stockcar,tos8217,honeypie,nowayman,alphadog,melon1,talula,125689,tiribon12,tornike,haribol,telefone,tiger22,sucka,lfytxrf,chicken123,muggins,a23456,b1234567,lytdybr,otter1,pippa,vasilisk,cooking1,helter,78978,bestboy,viper7,ahmed1,whitewol,mommys,apple5,shazam1,chelsea7,kumiko,masterma,rallye,bushmast,jkz123,entrar,andrew6,nathan01,alaric,tavasz,heimdall,gravy1,jimmy99,cthlwt,powerr,gthtrhtcnjr,canesfan,sasha11,ybrbnf_25,august9,brucie,artichok,arnie1,superdude,tarelka,mickey22,dooper,luners,holeshot,good123,gettysbu,bicho,hammer99,divine5,1zxcvbn,stronzo,q22222,disne,bmw750il,godhead,hallodu,aerith,nastik,differen,cestmoi,amber69,5string,pornosta,dirtygirl,ginger123,formel1,scott12,honda200,hotspurs,johnatha,firstone123,lexmark1,msconfig,karlmasc,l123456,123qweasdzx,baldman,sungod,furka,retsub,9811020,ryder1,tcglyued,astron,lbvfcbr,minddoc,dirt49,baseball12,tbear,simpl,schuey,artimus,bikman,plat1num,quantex,gotyou,hailey1,justin01,ellada,8481068,000002,manimal,dthjybxrf,buck123,dick123,6969696,nospam,strong1,kodeord,bama12,123321w,superman123,gladiolus,nintend,5792076,dreamgirl,spankme1,gautam,arianna1,titti,tetas,cool1234,belladog,importan,4206969,87e5nclizry,teufelo7,doller,yfl.irf,quaresma,3440172,melis,bradle,nnmaster,fast1,iverso,blargh,lucas12,chrisg,iamsam,123321az,tomjerry,kawika,2597174,standrew,billyg,muskan,gizmodo2,rz93qpmq,870621345,sathya,qmezrxg4,januari,marthe,moom4261,cum2me,hkger286,lou1988,suckit1,croaker,klaudia1,753951456,aidan1,fsunoles,romanenko,abbydog,isthebes,akshay,corgi,fuck666,walkman555,ranger98,scorpian,hardwareid,bluedragon,fastman,2305822q,iddqdiddqd,1597532,gopokes,zvfrfcb,w1234567,sputnik1,tr1993,pa$$w0rd,2i5fdruv,havvoc,1357913,1313131,bnm123,cowd00d,flexscan,thesims2,boogiema,bigsexxy,powerstr,ngc4565,joshman,babyboy1,123jlb,funfunfu,qwe456,honor1,puttana,bobbyj,daniel21,pussy12,shmuck,1232580,123578951,maxthedo,hithere1,bond0007,gehenna,nomames,blueone,r1234567,bwana,gatinho,1011111,torrents,cinta,123451234,tiger25,money69,edibey,pointman,mmcm19,wales1,caffreys,phaedra,bloodlus,321ret32,rufuss,tarbit,joanna1,102030405,stickboy,lotrfotr34,jamshid,mclarenf1,ataman,99ford,yarrak,logan2,ironlung,pushistik,dragoon1,unclebob,tigereye,pinokio,tylerj,mermaid1,stevie1,jaylen,888777,ramana,roman777,brandon7,17711771s,thiago,luigi1,edgar1,brucey,videogam,classi,birder,faramir,twiddle,cubalibre,grizzy,fucky,jjvwd4,august15,idinahui,ranita,nikita1998,123342,w1w2w3,78621323,4cancel,789963,(null,vassago,jaydog472,123452,timt42,canada99,123589,rebenok,htyfnf,785001,osipov,maks123,neverwinter,love2010,777222,67390436,eleanor1,bykemo,aquemini,frogg,roboto,thorny,shipmate,logcabin,66005918,nokian,gonzos,louisian,1abcdefg,triathlo,ilovemar,couger,letmeino,supera,runvs,fibonacci,muttly,58565254,5thgbqi,vfnehsv,electr,jose12,artemis1,newlove,thd1shr,hawkey,grigoryan,saisha,tosca,redder,lifesux,temple1,bunnyman,thekids,sabbeth,tarzan1,182838,158uefas,dell50,1super,666222,47ds8x,jackhamm,mineonly,rfnfhbyf,048ro,665259,kristina1,bombero,52545856,secure1,bigloser,peterk,alex2,51525354,anarchy1,superx,teenslut,money23,sigmapi,sanfrancisco,acme34,private5,eclips,qwerttrewq,axelle,kokain,hardguy,peter69,jesuschr,dyanna,dude69,sarah69,toyota91,amberr,45645645,bugmenot,bigted,44556677,556644,wwr8x9pu,alphaome,harley13,kolia123,wejrpfpu,revelati,nairda,sodoff,cityboy,pinkpussy,dkalis,miami305,wow12345,triplet,tannenbau,asdfasdf1,darkhors,527952,retired1,soxfan,nfyz123,37583867,goddes,515069,gxlmxbewym,1warrior,36925814,dmb2011,topten,karpova,89876065093rax,naturals,gateway9,cepseoun,turbot,493949,cock22,italia1,sasafras,gopnik,stalke,1qazxdr5,wm2006,ace1062,alieva,blue28,aracel,sandia,motoguzz,terri1,emmajane,conej,recoba,alex1995,jerkyboy,cowboy12,arenrone,precisio,31415927,scsa316,panzer1,studly1,powerhou,bensam,mashoutq,billee,eeyore1,reape,thebeatl,rul3z,montesa,doodle1,cvzefh1gk,424365,a159753,zimmerma,gumdrop,ashaman,grimreap,icandoit,borodina,branca,dima2009,keywest1,vaders,bubluk,diavolo,assss,goleta,eatass,napster1,382436,369741,5411pimo,lenchik,pikach,gilgamesh,kalimera,singer1,gordon2,rjycnbnewbz,maulwurf,joker13,2much4u,bond00,alice123,robotec,fuckgirl,zgjybz,redhorse,margaret1,brady1,pumpkin2,chinky,fourplay,1booger,roisin,1brandon,sandan,blackheart,cheez,blackfin,cntgfyjdf,mymoney1,09080706,goodboss,sebring1,rose1,kensingt,bigboner,marcus12,ym3cautj,struppi,thestone,lovebugs,stater,silver99,forest99,qazwsx12345,vasile,longboar,mkonji,huligan,rhfcbdfz,airmail,porn11,1ooooo,sofun,snake2,msouthwa,dougla,1iceman,shahrukh,sharona,dragon666,france98,196800,196820,ps253535,zjses9evpa,sniper01,design1,konfeta,jack99,drum66,good4you,station2,brucew,regedit,school12,mvtnr765,pub113,fantas,tiburon1,king99,ghjcnjgbpltw,checkito,308win,1ladybug,corneliu,svetasveta,197430,icicle,imaccess,ou81269,jjjdsl,brandon6,bimbo1,smokee,piccolo1,3611jcmg,children2,cookie2,conor1,darth1,margera,aoi856,paully,ou812345,sklave,eklhigcz,30624700,amazing1,wahooo,seau55,1beer,apples2,chulo,dolphin9,heather6,198206,198207,hergood,miracle1,njhyflj,4real,milka,silverfi,fabfive,spring12,ermine,mammy,jumpjet,adilbek,toscana,caustic,hotlove,sammy69,lolita1,byoung,whipme,barney01,mistys,tree1,buster3,kaylin,gfccgjhn,132333,aishiteru,pangaea,fathead1,smurph,198701,ryslan,gasto,xexeylhf,anisimov,chevyss,saskatoo,brandy12,tweaker,irish123,music2,denny1,palpatin,outlaw1,lovesuck,woman1,mrpibb,diadora,hfnfneq,poulette,harlock,mclaren1,cooper12,newpass3,bobby12,rfgecnfcerf,alskdjfh,mini14,dukers,raffael,199103,cleo123,1234567qwertyu,mossberg,scoopy,dctulf,starline,hjvjxrf,misfits1,rangers2,bilbos,blackhea,pappnase,atwork,purple2,daywalker,summoner,1jjjjjjj,swansong,chris10,laluna,12345qqq,charly1,lionsden,money99,silver33,hoghead,bdaddy,199430,saisg002,nosaints,tirpitz,1gggggg,jason13,kingss,ernest1,0cdh0v99ue,pkunzip,arowana,spiri,deskjet1,armine,lances,magic2,thetaxi,14159265,cacique,14142135,orange10,richard0,backdraf,255ooo,humtum,kohsamui,c43dae874d,wrestling1,cbhtym,sorento,megha,pepsiman,qweqwe12,bliss7,mario64,korolev,balls123,schlange,gordit,optiquest,fatdick,fish99,richy,nottoday,dianne1,armyof1,1234qwerasdfzxcv,bbonds,aekara,lidiya,baddog1,yellow5,funkie,ryan01,greentree,gcheckout,marshal1,liliput,000000z,rfhbyrf,gtogto43,rumpole,tarado,marcelit,aqwzsxedc,kenshin1,sassydog,system12,belly1,zilla,kissfan,tools1,desember,donsdad,nick11,scorpio6,poopoo1,toto99,steph123,dogfuck,rocket21,thx113,dude12,sanek,sommar,smacky,pimpsta,letmego,k1200rs,lytghjgtnhjdcr,abigale,buddog,deles,baseball9,roofus,carlsbad,hamzah,hereiam,genial,schoolgirlie,yfz450,breads,piesek,washear,chimay,apocalyp,nicole18,gfgf1234,gobulls,dnevnik,wonderwall,beer1234,1moose,beer69,maryann1,adpass,mike34,birdcage,hottuna,gigant,penquin,praveen,donna123,123lol123,thesame,fregat,adidas11,selrahc,pandoras,test3,chasmo,111222333000,pecos,daniel11,ingersol,shana1,mama12345,cessna15,myhero,1simpson,nazarenko,cognit,seattle2,irina1,azfpc310,rfycthdf,hardy1,jazmyn,sl1200,hotlanta,jason22,kumar123,sujatha,fsd9shtyu,highjump,changer,entertai,kolding,mrbig,sayuri,eagle21,qwertzu,jorge1,0101dd,bigdong,ou812a,sinatra1,htcnjhfy,oleg123,videoman,pbyfblf,tv612se,bigbird1,kenaidog,gunite,silverma,ardmore,123123qq,hotbot,cascada,cbr600f4,harakiri,chico123,boscos,aaron12,glasgow1,kmn5hc,lanfear,1light,liveoak,fizika,ybrjkftdyf,surfside,intermilan,multipas,redcard,72chevy,balata,coolio1,schroede,kanat,testerer,camion,kierra,hejmeddig,antonio2,tornados,isidor,pinkey,n8skfswa,ginny1,houndog,1bill,chris25,hastur,1marine,greatdan,french1,hatman,123qqq,z1z2z3z4,kicker1,katiedog,usopen,smith22,mrmagoo,1234512i,assa123,7seven7,monster7,june12,bpvtyf,149521,guenter,alex1985,voronina,mbkugegs,zaqwsxcderfv,rusty5,mystic1,master0,abcdef12,jndfkb,r4zpm3,cheesey,skripka,blackwhite,sharon69,dro8smwq,lektor,techman,boognish,deidara,heckfyf,quietkey,authcode,monkey4,jayboy,pinkerto,merengue,chulita,bushwick,turambar,kittykit,joseph2,dad123,kristo,pepote,scheiss,hambone1,bigballa,restaura,tequil,111luzer,euro2000,motox,denhaag,chelsi,flaco1,preeti,lillo,1001sin,passw,august24,beatoff,555555d,willis1,kissthis,qwertyz,rvgmw2gl,iloveboobies,timati,kimbo,msinfo,dewdrop,sdbaker,fcc5nky2,messiah1,catboy,small1,chode,beastie1,star77,hvidovre,short1,xavie,dagobah,alex1987,papageno,dakota2,toonami,fuerte,jesus33,lawina,souppp,dirtybir,chrish,naturist,channel1,peyote,flibble,gutentag,lactate,killem,zucchero,robinho,ditka,grumpy1,avr7000,boxxer,topcop,berry1,mypass1,beverly1,deuce1,9638527410,cthuttdf,kzkmrf,lovethem,band1t,cantona1,purple11,apples123,wonderwo,123a456,fuzzie,lucky99,dancer2,hoddling,rockcity,winner12,spooty,mansfiel,aimee1,287hf71h,rudiger,culebra,god123,agent86,daniel0,bunky1,notmine,9ball,goofus,puffy1,xyh28af4,kulikov,bankshot,vurdf5i2,kevinm,ercole,sexygirls,razvan,october7,goater,lollie,raissa,thefrog,mdmaiwa3,mascha,jesussaves,union1,anthony9,crossroa,brother2,areyuke,rodman91,toonsex,dopeman,gericom,vaz2115,cockgobbler,12356789,12345699,signatur,alexandra1,coolwhip,erwin1,awdrgyjilp,pens66,ghjrjgtyrj,linkinpark,emergenc,psych0,blood666,bootmort,wetworks,piroca,johnd,iamthe1,supermario,homer69,flameon,image1,bebert,fylhtq1,annapoli,apple11,hockey22,10048,indahouse,mykiss,1penguin,markp,misha123,foghat,march11,hank1,santorin,defcon4,tampico,vbnhjafy,robert22,bunkie,athlon64,sex777,nextdoor,koskesh,lolnoob,seemnemaailm,black23,march15,yeehaa,chiqui,teagan,siegheil,monday2,cornhusk,mamusia,chilis,sthgrtst,feldspar,scottm,pugdog,rfghjy,micmac,gtnhjdyf,terminato,1jackson,kakosja,bogomol,123321aa,rkbvtyrj,tresor,tigertig,fuckitall,vbkkbjy,caramon,zxc12,balin,dildo1,soccer09,avata,abby123,cheetah1,marquise,jennyc,hondavfr,tinti,anna1985,dennis2,jorel,mayflowe,icema,hal2000,nikkis,bigmouth,greenery,nurjan,leonov,liberty7,fafnir,larionov,sat321321,byteme1,nausicaa,hjvfynbrf,everto,zebra123,sergio1,titone,wisdom1,kahala,104328q,marcin1,salima,pcitra,1nnnnn,nalini,galvesto,neeraj,rick1,squeeky,agnes1,jitterbu,agshar,maria12,0112358,traxxas,stivone,prophet1,bananza,sommer1,canoneos,hotfun,redsox11,1bigmac,dctdjkjl,legion1,everclea,valenok,black9,danny001,roxie1,1theman,mudslide,july16,lechef,chula,glamis,emilka,canbeef,ioanna,cactus1,rockshox,im2cool,ninja9,thvfrjdf,june28,milo17,missyou,micky1,nbibyf,nokiaa,goldi,mattias,fuckthem,asdzxc123,ironfist,junior01,nesta,crazzy,killswit,hygge,zantac,kazama,melvin1,allston,maandag,hiccup,prototyp,specboot,dwl610,hello6,159456,baldhead,redwhite,calpoly,whitetail,agile1,cousteau,matt01,aust1n,malcolmx,gjlfhjr,semperf1,ferarri,a1b2c3d,vangelis,mkvdari,bettis36,andzia,comand,tazzman,morgaine,pepluv,anna1990,inandout,anetka,anna1997,wallpape,moonrake,huntress,hogtie,cameron7,sammy7,singe11,clownboy,newzeala,wilmar,safrane,rebeld,poopi,granat,hammertime,nermin,11251422,xyzzy1,bogeys,jkmxbr,fktrcfyl,11223311,nfyrbcn,11223300,powerpla,zoedog,ybrbnbyf,zaphod42,tarawa,jxfhjdfirf,dude1234,g5wks9,goobe,czekolada,blackros,amaranth,medical1,thereds,julija,nhecsyfujkjdt,promopas,buddy4,marmalad,weihnachten,tronic,letici,passthief,67mustan,ds7zamnw,morri,w8woord,cheops,pinarell,sonofsam,av473dv,sf161pn,5c92v5h6,purple13,tango123,plant1,1baby,xufrgemw,fitta,1rangers,spawns,kenned,taratata,19944991,11111118,coronas,4ebouux8,roadrash,corvette1,dfyjdf846,marley12,qwaszxerdfcv,68stang,67stang,racin,ellehcim,sofiko,nicetry,seabass1,jazzman1,zaqwsx1,laz2937,uuuuuuu1,vlad123,rafale,j1234567,223366,nnnnnn1,226622,junkfood,asilas,cer980,daddymac,persepho,neelam,00700,shithappens,255555,qwertyy,xbox36,19755791,qweasd1,bearcub,jerryb,a1b1c1,polkaudio,basketball1,456rty,1loveyou,marcus2,mama1961,palace1,transcend,shuriken,sudhakar,teenlove,anabelle,matrix99,pogoda,notme,bartend,jordana,nihaoma,ataris,littlegi,ferraris,redarmy,giallo,fastdraw,accountbloc,peludo,pornostar,pinoyako,cindee,glassjaw,dameon,johnnyd,finnland,saudade,losbravo,slonko,toplay,smalltit,nicksfun,stockhol,penpal,caraj,divedeep,cannibus,poppydog,pass88,viktory,walhalla,arisia,lucozade,goldenbo,tigers11,caball,ownage123,tonna,handy1,johny,capital5,faith2,stillher,brandan,pooky1,antananarivu,hotdick,1justin,lacrimos,goathead,bobrik,cgtwbfkbcn,maywood,kamilek,gbplf123,gulnar,beanhead,vfvjyn,shash,viper69,ttttttt1,hondacr,kanako,muffer,dukies,justin123,agapov58,mushka,bad11bad,muleman,jojo123,andreika,makeit,vanill,boomers,bigals,merlin11,quacker,aurelien,spartak1922,ligeti,diana2,lawnmowe,fortune1,awesom,rockyy,anna1994,oinker,love88,eastbay,ab55484,poker0,ozzy666,papasmurf,antihero,photogra,ktm250,painkill,jegr2d2,p3orion,canman,dextur,qwest123,samboy,yomismo,sierra01,herber,vfrcbvvfrcbv,gloria1,llama1,pie123,bobbyjoe,buzzkill,skidrow,grabber,phili,javier1,9379992q,geroin,oleg1994,sovereig,rollover,zaq12qaz,battery1,killer13,alina123,groucho1,mario12,peter22,butterbean,elise1,lucycat,neo123,ferdi,golfer01,randie,gfhfyjbr,ventura1,chelsea3,pinoy,mtgox,yrrim7,shoeman,mirko,ffggyyo,65mustan,ufdibyjd,john55,suckfuck,greatgoo,fvfnjhb,mmmnnn,love20,1bullshi,sucesso,easy1234,robin123,rockets1,diamondb,wolfee,nothing0,joker777,glasnost,richar1,guille,sayan,koresh,goshawk,alexx,batman21,a123456b,hball,243122,rockandr,coolfool,isaia,mary1,yjdbrjdf,lolopc,cleocat,cimbo,lovehina,8vfhnf,passking,bonapart,diamond2,bigboys,kreator,ctvtyjdf,sassy123,shellac,table54781,nedkelly,philbert,sux2bu,nomis,sparky99,python1,littlebear,numpty,silmaril,sweeet,jamesw,cbufhtnf,peggysue,wodahs,luvsex,wizardry,venom123,love4you,bama1,samat,reviewpass,ned467,cjkjdtq,mamula,gijoe,amersham,devochka,redhill,gisel,preggo,polock,cando,rewster,greenlantern,panasonik,dave1234,mikeee,1carlos,miledi,darkness1,p0o9i8u7y6,kathryn1,happyguy,dcp500,assmaster,sambuka,sailormo,antonio3,logans,18254288,nokiax2,qwertzuiop,zavilov,totti,xenon1,edward11,targa1,something1,tony_t,q1w2e3r4t5y6u7i8o9p0,02551670,vladimir1,monkeybutt,greenda,neel21,craiger,saveliy,dei008,honda450,fylhtq95,spike2,fjnq8915,passwordstandard,vova12345,talonesi,richi,gigemags,pierre1,westin,trevoga,dorothee,bastogne,25563o,brandon3,truegrit,krimml,iamgreat,servis,a112233,paulinka,azimuth,corperfmonsy,358hkyp,homerun1,dogbert1,eatmyass,cottage1,savina,baseball7,bigtex,gimmesum,asdcxz,lennon1,a159357,1bastard,413276191q,pngfilt,pchealth,netsnip,bodiroga,1matt,webtvs,ravers,adapters,siddis,mashamasha,coffee2,myhoney,anna1982,marcia1,fairchil,maniek,iloveluc,batmonh,wildon,bowie1,netnwlnk,fancy1,tom204,olga1976,vfif123,queens1,ajax01,lovess,mockba,icam4usb,triada,odinthor,rstlne,exciter,sundog,anchorat,girls69,nfnmzyrf,soloma,gti16v,shadowman,ottom,rataros,tonchin,vishal,chicken0,pornlo,christiaan,volante,likesit,mariupol,runfast,gbpltw123,missys,villevalo,kbpjxrf,ghibli,calla,cessna172,kinglear,dell11,swift1,walera,1cricket,pussy5,turbo911,tucke,maprchem56458,rosehill,thekiwi1,ygfxbkgt,mandarinka,98xa29,magnit,cjfrf,paswoord,grandam1,shenmue,leedsuni,hatrick,zagadka,angeldog,michaell,dance123,koichi,bballs,29palms,xanth,228822,ppppppp1,1kkkkk,1lllll,mynewbots,spurss,madmax1,224455,city1,mmmmmmm1,nnnnnnn1,biedronka,thebeatles,elessar,f14tomcat,jordan18,bobo123,ayi000,tedbear,86chevyx,user123,bobolink,maktub,elmer1,flyfishi,franco1,gandalf0,traxdata,david21,enlighte,dmitrij,beckys,1giants,flippe,12345678w,jossie,rugbyman,snowcat,rapeme,peanut11,gemeni,udders,techn9ne,armani1,chappie,war123,vakantie,maddawg,sewanee,jake5253,tautt1,anthony5,letterma,jimbo2,kmdtyjr,hextall,jessica6,amiga500,hotcunt,phoenix9,veronda,saqartvelo,scubas,sixer3,williamj,nightfal,shihan,melnikova,kosssss,handily,killer77,jhrl0821,march17,rushman,6gcf636i,metoyou,irina123,mine11,primus1,formatters,matthew5,infotech,gangster1,jordan45,moose69,kompas,motoxxx,greatwhi,cobra12,kirpich,weezer1,hello23,montse,tracy123,connecte,cjymrf,hemingwa,azreal,gundam00,mobila,boxman,slayers1,ravshan,june26,fktrcfylhjd,bermuda1,tylerd,maersk,qazwsx11,eybdthcbntn,ash123,camelo,kat123,backd00r,cheyenne1,1king,jerkin,tnt123,trabant,warhammer40k,rambos,punto,home77,pedrito,1frank,brille,guitarman,george13,rakas,tgbxtcrbq,flute1,bananas1,lovezp1314,thespot,postie,buster69,sexytime,twistys,zacharia,sportage,toccata,denver7,terry123,bogdanova,devil69,higgins1,whatluck,pele10,kkk666,jeffery1,1qayxsw2,riptide1,chevy11,munchy,lazer1,hooker1,ghfgjh,vergesse,playgrou,4077mash,gusev,humpin,oneputt,hydepark,monster9,tiger8,tangsoo,guy123,hesoyam1,uhtqneyu,thanku,lomond,ortezza,kronik,geetha,rabbit66,killas,qazxswe,alabaste,1234567890qwerty,capone1,andrea12,geral,beatbox,slutfuck,booyaka,jasmine7,ostsee,maestro1,beatme,tracey1,buster123,donaldduck,ironfish,happy6,konnichi,gintonic,momoney1,dugan1,today2,enkidu,destiny2,trim7gun,katuha,fractals,morganstanley,polkadot,gotime,prince11,204060,fifa2010,bobbyt,seemee,amanda10,airbrush,bigtitty,heidie,layla1,cotton1,5speed,fyfnjkmtdyf,flynavy,joxury8f,meeko,akuma,dudley1,flyboy1,moondog1,trotters,mariami,signin,chinna,legs11,pussy4,1s1h1e1f1,felici,optimus1,iluvu,marlins1,gavaec,balance1,glock40,london01,kokot,southwes,comfort1,sammy11,rockbottom,brianc,litebeer,homero,chopsuey,greenlan,charit,freecell,hampster,smalldog,viper12,blofeld,1234567890987654321,realsex,romann,cartman2,cjdthitycndj,nelly1,bmw528,zwezda,masterba,jeep99,turtl,america2,sunburst,sanyco,auntjudy,125wm,blue10,qwsazx,cartma,toby12,robbob,red222,ilovecock,losfix16,1explore,helge,vaz2114,whynotme,baba123,mugen,1qazwsxedc,albertjr,0101198,sextime,supras,nicolas2,wantsex,pussy6,checkm8,winam,24gordon,misterme,curlew,gbljhfcs,medtech,franzi,butthea,voivod,blackhat,egoiste,pjkeirf,maddog69,pakalolo,hockey4,igor1234,rouges,snowhite,homefree,sexfreak,acer12,dsmith,blessyou,199410,vfrcbvjd,falco02,belinda1,yaglasph,april21,groundho,jasmin1,nevergiveup,elvir,gborv526,c00kie,emma01,awesome2,larina,mike12345,maximu,anupam,bltynbabrfwbz,tanushka,sukkel,raptor22,josh12,schalke04,cosmodog,fuckyou8,busybee,198800,bijoux,frame1,blackmor,giveit,issmall,bear13,123-123,bladez,littlegirl,ultra123,fletch1,flashnet,loploprock,rkelly,12step,lukas1,littlewhore,cuntfinger,stinkyfinger,laurenc,198020,n7td4bjl,jackie69,camel123,ben1234,1gateway,adelheid,fatmike,thuglove,zzaaqq,chivas1,4815162342q,mamadou,nadano,james22,benwin,andrea99,rjirf,michou,abkbgg,d50gnn,aaazzz,a123654,blankman,booboo11,medicus,bigbone,197200,justine1,bendix,morphius,njhvjp,44mag,zsecyus56,goodbye1,nokiadermo,a333444,waratsea,4rzp8ab7,fevral,brillian,kirbys,minim,erathia,grazia,zxcvb1234,dukey,snaggle,poppi,hymen,1video,dune2000,jpthjdf,cvbn123,zcxfcnkbdfz,astonv,ginnie,316271,engine3,pr1ncess,64chevy,glass1,laotzu,hollyy,comicbooks,assasins,nuaddn9561,scottsda,hfcnfvfy,accobra,7777777z,werty123,metalhead,romanson,redsand,365214,shalo,arsenii,1989cc,sissi,duramax,382563,petera,414243,mamapap,jollymon,field1,fatgirl,janets,trompete,matchbox20,rambo2,nepenthe,441232,qwertyuiop10,bozo123,phezc419hv,romantika,lifestyl,pengui,decembre,demon6,panther6,444888,scanman,ghjcnjabkz,pachanga,buzzword,indianer,spiderman3,tony12,startre,frog1,fyutk,483422,tupacshakur,albert12,1drummer,bmw328i,green17,aerdna,invisibl,summer13,calimer,mustaine,lgnu9d,morefun,hesoyam123,escort1,scrapland,stargat,barabbas,dead13,545645,mexicali,sierr,gfhfpbn,gonchar,moonstafa,searock,counte,foster1,jayhawk1,floren,maremma,nastya2010,softball1,adaptec,halloo,barrabas,zxcasd123,hunny,mariana1,kafedra,freedom0,green420,vlad1234,method7,665566,tooting,hallo12,davinchi,conducto,medias,666444,invernes,madhatter,456asd,12345678i,687887,le33px,spring00,help123,bellybut,billy5,vitalik1,river123,gorila,bendis,power666,747200,footslav,acehigh,qazxswedc123,q1a1z1,richard9,peterburg,tabletop,gavrilov,123qwe1,kolosov,fredrau,run4fun,789056,jkbvgbflf,chitra,87654321q,steve22,wideopen,access88,surfe,tdfyutkbjy,impossib,kevin69,880888,cantina,887766,wxcvb,dontforg,qwer1209,asslicke,mamma123,indig,arkasha,scrapp,morelia,vehxbr,jones2,scratch1,cody11,cassie12,gerbera,dontgotm,underhil,maks2010,hollywood1,hanibal,elena2010,jason11,1010321,stewar,elaman,fireplug,goodby,sacrific,babyphat,bobcat12,bruce123,1233215,tony45,tiburo,love15,bmw750,wallstreet,2h0t4me,1346795,lamerz,munkee,134679q,granvill,1512198,armastus,aiden1,pipeutvj,g1234567,angeleyes,usmc1,102030q,putangina,brandnew,shadowfax,eagles12,1falcon,brianw,lokomoti,2022958,scooper,pegas,jabroni1,2121212,buffal,siffredi,wewiz,twotone,rosebudd,nightwis,carpet1,mickey2,2525252,sleddog,red333,jamesm,2797349,jeff12,onizuka,felixxxx,rf6666,fine1,ohlala,forplay,chicago5,muncho,scooby11,ptichka,johnnn,19851985p,dogphil3650,totenkopf,monitor2,macross7,3816778,dudder,semaj1,bounder,racerx1,5556633,7085506,ofclr278,brody1,7506751,nantucke,hedj2n4q,drew1,aessedai,trekbike,pussykat,samatron,imani,9124852,wiley1,dukenukem,iampurehaha2,9556035,obvious1,mccool24,apache64,kravchenko,justforf,basura,jamese,s0ccer,safado,darksta,surfer69,damian1,gjpbnbd,gunny1,wolley,sananton,zxcvbn123456,odt4p6sv8,sergei1,modem1,mansikka,zzzz1,rifraf,dima777,mary69,looking4,donttell,red100,ninjutsu,uaeuaeman,bigbri,brasco,queenas8151,demetri,angel007,bubbl,kolort,conny,antonia1,avtoritet,kaka22,kailayu,sassy2,wrongway,chevy3,1nascar,patriots1,chrisrey,mike99,sexy22,chkdsk,sd3utre7,padawan,a6pihd,doming,mesohorny,tamada,donatello,emma22,eather,susan69,pinky123,stud69,fatbitch,pilsbury,thc420,lovepuss,1creativ,golf1234,hurryup,1honda,huskerdu,marino1,gowron,girl1,fucktoy,gtnhjpfdjlcr,dkjfghdk,pinkfl,loreli,7777777s,donkeykong,rockytop,staples1,sone4ka,xxxjay,flywheel,toppdogg,bigbubba,aaa123456,2letmein,shavkat,paule,dlanor,adamas,0147852,aassaa,dixon1,bmw328,mother12,ilikepussy,holly2,tsmith,excaliber,fhutynbyf,nicole3,tulipan,emanue,flyvholm,currahee,godsgift,antonioj,torito,dinky1,sanna,yfcnzvjz,june14,anime123,123321456654,hanswurst,bandman,hello101,xxxyyy,chevy69,technica,tagada,arnol,v00d00,lilone,filles,drumandbass,dinamit,a1234a,eatmeat,elway07,inout,james6,dawid1,thewolf,diapason,yodaddy,qscwdv,fuckit1,liljoe,sloeber,simbacat,sascha1,qwe1234,1badger,prisca,angel17,gravedig,jakeyboy,longboard,truskawka,golfer11,pyramid7,highspee,pistola,theriver,hammer69,1packers,dannyd,alfonse,qwertgfdsa,11119999,basket1,ghjtrn,saralee,12inches,paolo1,zse4xdr5,taproot,sophieh6,grizzlie,hockey69,danang,biggums,hotbitch,5alive,beloved1,bluewave,dimon95,koketka,multiscan,littleb,leghorn,poker2,delite,skyfir,bigjake,persona1,amberdog,hannah12,derren,ziffle,1sarah,1assword,sparky01,seymur,tomtom1,123321qw,goskins,soccer19,luvbekki,bumhole,2balls,1muffin,borodin,monkey9,yfeiybrb,1alex,betmen,freder,nigger123,azizbek,gjkzrjdf,lilmike,1bigdadd,1rock,taganrog,snappy1,andrey1,kolonka,bunyan,gomango,vivia,clarkkent,satur,gaudeamus,mantaray,1month,whitehea,fargus,andrew99,ray123,redhawks,liza2009,qw12345,den12345,vfhnsyjdf,147258369a,mazepa,newyorke,1arsenal,hondas2000,demona,fordgt,steve12,birthday2,12457896,dickster,edcwsxqaz,sahalin,pantyman,skinny1,hubertus,cumshot1,chiro,kappaman,mark3434,canada12,lichking,bonkers1,ivan1985,sybase,valmet,doors1,deedlit,kyjelly,bdfysx,ford11,throatfuck,backwood,fylhsq,lalit,boss429,kotova,bricky,steveh,joshua19,kissa,imladris,star1234,lubimka,partyman,crazyd,tobias1,ilike69,imhome,whome,fourstar,scanner1,ujhjl312,anatoli,85bears,jimbo69,5678ytr,potapova,nokia7070,sunday1,kalleank,1996gta,refinnej,july1,molodec,nothanks,enigm,12play,sugardog,nhfkbdfkb,larousse,cannon1,144444,qazxcdew,stimorol,jhereg,spawn7,143000,fearme,hambur,merlin21,dobie,is3yeusc,partner1,dekal,varsha,478jfszk,flavi,hippo1,9hmlpyjd,july21,7imjfstw,lexxus,truelov,nokia5200,carlos6,anais,mudbone,anahit,taylorc,tashas,larkspur,animal2000,nibiru,jan123,miyvarxar,deflep,dolore,communit,ifoptfcor,laura2,anadrol,mamaliga,mitzi1,blue92,april15,matveev,kajlas,wowlook1,1flowers,shadow14,alucard1,1golf,bantha,scotlan,singapur,mark13,manchester1,telus01,superdav,jackoff1,madnes,bullnuts,world123,clitty,palmer1,david10,spider10,sargsyan,rattlers,david4,windows2,sony12,visigoth,qqqaaa,penfloor,cabledog,camilla1,natasha123,eagleman,softcore,bobrov,dietmar,divad,sss123,d1234567,tlbyjhju,1q1q1q1,paraiso,dav123,lfiekmrf,drachen,lzhan16889,tplate,gfghbrf,casio1,123boots1,123test,sys64738,heavymetal,andiamo,meduza,soarer,coco12,negrita,amigas,heavymet,bespin,1asdfghj,wharfrat,wetsex,tight1,janus1,sword123,ladeda,dragon98,austin2,atep1,jungle1,12345abcd,lexus300,pheonix1,alex1974,123qw123,137955,bigtim,shadow88,igor1994,goodjob,arzen,champ123,121ebay,changeme1,brooksie,frogman1,buldozer,morrowin,achim,trish1,lasse,festiva,bubbaman,scottb,kramit,august22,tyson123,passsword,oompah,al123456,fucking1,green45,noodle1,looking1,ashlynn,al1716,stang50,coco11,greese,bob111,brennan1,jasonj,1cherry,1q2345,1xxxxxxx,fifa2011,brondby,zachar1,satyam,easy1,magic7,1rainbow,cheezit,1eeeeeee,ashley123,assass1,amanda123,jerbear,1bbbbbb,azerty12,15975391,654321z,twinturb,onlyone1,denis1988,6846kg3r,jumbos,pennydog,dandelion,haileris,epervier,snoopy69,afrodite,oldpussy,green55,poopypan,verymuch,katyusha,recon7,mine69,tangos,contro,blowme2,jade1,skydive1,fiveiron,dimo4ka,bokser,stargirl,fordfocus,tigers2,platina,baseball11,raque,pimper,jawbreak,buster88,walter34,chucko,penchair,horizon1,thecure1,scc1975,adrianna1,kareta,duke12,krille,dumbfuck,cunt1,aldebaran,laverda,harumi,knopfler,pongo1,pfhbyf,dogman1,rossigno,1hardon,scarlets,nuggets1,ibelieve,akinfeev,xfhkbr,athene,falcon69,happie,billly,nitsua,fiocco,qwerty09,gizmo2,slava2,125690,doggy123,craigs,vader123,silkeborg,124365,peterm,123978,krakatoa,123699,123592,kgvebmqy,pensacol,d1d2d3,snowstor,goldenboy,gfg65h7,ev700,church1,orange11,g0dz1ll4,chester3,acheron,cynthi,hotshot1,jesuschris,motdepass,zymurgy,one2one,fietsbel,harryp,wisper,pookster,nn527hp,dolla,milkmaid,rustyboy,terrell1,epsilon1,lillian1,dale3,crhbgrf,maxsim,selecta,mamada,fatman1,ufkjxrf,shinchan,fuckuall,women1,000008,bossss,greta1,rbhjxrf,mamasboy,purple69,felicidade,sexy21,cathay,hunglow,splatt,kahless,shopping1,1gandalf,themis,delta7,moon69,blue24,parliame,mamma1,miyuki,2500hd,jackmeof,razer,rocker1,juvis123,noremac,boing747,9z5ve9rrcz,icewater,titania,alley1,moparman,christo1,oliver2,vinicius,tigerfan,chevyy,joshua99,doda99,matrixx,ekbnrf,jackfrost,viper01,kasia,cnfhsq,triton1,ssbt8ae2,rugby8,ramman,1lucky,barabash,ghtlfntkm,junaid,apeshit,enfant,kenpo1,shit12,007000,marge1,shadow10,qwerty789,richard8,vbitkm,lostboys,jesus4me,richard4,hifive,kolawole,damilola,prisma,paranoya,prince2,lisaann,happyness,cardss,methodma,supercop,a8kd47v5,gamgee,polly123,irene1,number8,hoyasaxa,1digital,matthew0,dclxvi,lisica,roy123,2468013579,sparda,queball,vaffanculo,pass1wor,repmvbx,999666333,freedom8,botanik,777555333,marcos1,lubimaya,flash2,einstei,08080,123456789j,159951159,159357123,carrot1,alina1995,sanjos,dilara,mustang67,wisteria,jhnjgtl12,98766789,darksun,arxangel,87062134,creativ1,malyshka,fuckthemall,barsic,rocksta,2big4u,5nizza,genesis2,romance1,ofcourse,1horse,latenite,cubana,sactown,789456123a,milliona,61808861,57699434,imperia,bubba11,yellow3,change12,55495746,flappy,jimbo123,19372846,19380018,cutlass1,craig123,klepto,beagle1,solus,51502112,pasha1,19822891,46466452,19855891,petshop,nikolaevna,119966,nokia6131,evenpar,hoosier1,contrasena,jawa350,gonzo123,mouse2,115511,eetfuk,gfhfvgfvgfv,1crystal,sofaking,coyote1,kwiatuszek,fhrflbq,valeria1,anthro,0123654789,alltheway,zoltar,maasikas,wildchil,fredonia,earlgrey,gtnhjczy,matrix123,solid1,slavko,12monkeys,fjdksl,inter1,nokia6500,59382113kevinp,spuddy,cachero,coorslit,password!,kiba1z,karizma,vova1994,chicony,english1,bondra12,1rocket,hunden,jimbob1,zpflhjn1,th0mas,deuce22,meatwad,fatfree,congas,sambora,cooper2,janne,clancy1,stonie,busta,kamaz,speedy2,jasmine3,fahayek,arsenal0,beerss,trixie1,boobs69,luansantana,toadman,control2,ewing33,maxcat,mama1964,diamond4,tabaco,joshua0,piper2,music101,guybrush,reynald,pincher,katiebug,starrs,pimphard,frontosa,alex97,cootie,clockwor,belluno,skyeseth,booty69,chaparra,boochie,green4,bobcat1,havok,saraann,pipeman,aekdb,jumpshot,wintermu,chaika,1chester,rjnjatq,emokid,reset1,regal1,j0shua,134679a,asmodey,sarahh,zapidoo,ciccione,sosexy,beckham23,hornets1,alex1971,delerium,manageme,connor11,1rabbit,sane4ek,caseyboy,cbljhjdf,redsox20,tttttt99,haustool,ander,pantera6,passwd1,journey1,9988776655,blue135,writerspace,xiaoyua123,justice2,niagra,cassis,scorpius,bpgjldsgjldthnf,gamemaster,bloody1,retrac,stabbin,toybox,fight1,ytpyf.,glasha,va2001,taylor11,shameles,ladylove,10078,karmann,rodeos,eintritt,lanesra,tobasco,jnrhjqcz,navyman,pablit,leshka,jessica3,123vika,alena1,platinu,ilford,storm7,undernet,sasha777,1legend,anna2002,kanmax1994,porkpie,thunder0,gundog,pallina,easypass,duck1,supermom,roach1,twincam,14028,tiziano,qwerty32,123654789a,evropa,shampoo1,yfxfkmybr,cubby1,tsunami1,fktrcttdf,yasacrac,17098,happyhap,bullrun,rodder,oaktown,holde,isbest,taylor9,reeper,hammer11,julias,rolltide1,compaq123,fourx4,subzero1,hockey9,7mary3,busines,ybrbnjcbr,wagoneer,danniash,portishead,digitex,alex1981,david11,infidel,1snoopy,free30,jaden,tonto1,redcar27,footie,moskwa,thomas21,hammer12,burzum,cosmo123,50000,burltree,54343,54354,vwpassat,jack5225,cougars1,burlpony,blackhorse,alegna,petert,katemoss,ram123,nels0n,ferrina,angel77,cstock,1christi,dave55,abc123a,alex1975,av626ss,flipoff,folgore,max1998,science1,si711ne,yams7,wifey1,sveiks,cabin1,volodia,ox3ford,cartagen,platini,picture1,sparkle1,tiedomi,service321,wooody,christi1,gnasher,brunob,hammie,iraffert,bot2010,dtcyeirf,1234567890p,cooper11,alcoholi,savchenko,adam01,chelsea5,niewiem,icebear,lllooottt,ilovedick,sweetpus,money8,cookie13,rfnthbyf1988,booboo2,angus123,blockbus,david9,chica1,nazaret,samsung9,smile4u,daystar,skinnass,john10,thegirl,sexybeas,wasdwasd1,sigge1,1qa2ws3ed4rf5tg,czarny,ripley1,chris5,ashley19,anitha,pokerman,prevert,trfnthby,tony69,georgia2,stoppedb,qwertyuiop12345,miniclip,franky1,durdom,cabbages,1234567890o,delta5,liudmila,nhfycajhvths,court1,josiew,abcd1,doghead,diman,masiania,songline,boogle,triston,deepika,sexy4me,grapple,spacebal,ebonee,winter0,smokewee,nargiza,dragonla,sassys,andy2000,menards,yoshio,massive1,suckmy1k,passat99,sexybo,nastya1996,isdead,stratcat,hokuto,infix,pidoras,daffyduck,cumhard,baldeagl,kerberos,yardman,shibainu,guitare,cqub6553,tommyy,bk.irf,bigfoo,hecto,july27,james4,biggus,esbjerg,isgod,1irish,phenmarr,jamaic,roma1990,diamond0,yjdbrjd,girls4me,tampa1,kabuto,vaduz,hanse,spieng,dianochka,csm101,lorna1,ogoshi,plhy6hql,2wsx4rfv,cameron0,adebayo,oleg1996,sharipov,bouboule,hollister1,frogss,yeababy,kablam,adelante,memem,howies,thering,cecilia1,onetwo12,ojp123456,jordan9,msorcloledbr,neveraga,evh5150,redwin,1august,canno,1mercede,moody1,mudbug,chessmas,tiikeri,stickdaddy77,alex15,kvartira,7654321a,lollol123,qwaszxedc,algore,solana,vfhbyfvfhbyf,blue72,misha1111,smoke20,junior13,mogli,threee,shannon2,fuckmylife,kevinh,saransk,karenw,isolde,sekirarr,orion123,thomas0,debra1,laketaho,alondra,curiva,jazz1234,1tigers,jambos,lickme2,suomi,gandalf7,028526,zygote,brett123,br1ttany,supafly,159000,kingrat,luton1,cool-ca,bocman,thomasd,skiller,katter,mama777,chanc,tomass,1rachel,oldno7,rfpfyjdf,bigkev,yelrah,primas,osito,kipper1,msvcr71,bigboy11,thesun,noskcaj,chicc,sonja1,lozinka,mobile1,1vader,ummagumma,waves1,punter12,tubgtn,server1,irina1991,magic69,dak001,pandemonium,dead1,berlingo,cherrypi,1montana,lohotron,chicklet,asdfgh123456,stepside,ikmvw103,icebaby,trillium,1sucks,ukrnet,glock9,ab12345,thepower,robert8,thugstools,hockey13,buffon,livefree,sexpics,dessar,ja0000,rosenrot,james10,1fish,svoloch,mykitty,muffin11,evbukb,shwing,artem1992,andrey1992,sheldon1,passpage,nikita99,fubar123,vannasx,eight888,marial,max2010,express2,violentj,2ykn5ccf,spartan11,brenda69,jackiech,abagail,robin2,grass1,andy76,bell1,taison,superme,vika1995,xtr451,fred20,89032073168,denis1984,2000jeep,weetabix,199020,daxter,tevion,panther8,h9iymxmc,bigrig,kalambur,tsalagi,12213443,racecar02,jeffrey4,nataxa,bigsam,purgator,acuracl,troutbum,potsmoke,jimmyz,manutd1,nytimes,pureevil,bearss,cool22,dragonage,nodnarb,dbrbyu,4seasons,freude,elric1,werule,hockey14,12758698,corkie,yeahright,blademan,tafkap,clave,liziko,hofner,jeffhardy,nurich,runne,stanisla,lucy1,monk3y,forzaroma,eric99,bonaire,blackwoo,fengshui,1qaz0okm,newmoney,pimpin69,07078,anonymer,laptop1,cherry12,ace111,salsa1,wilbur1,doom12,diablo23,jgtxzbhr,under1,honda01,breadfan,megan2,juancarlos,stratus1,ackbar,love5683,happytim,lambert1,cbljhtyrj,komarov,spam69,nfhtkrf,brownn,sarmat,ifiksr,spike69,hoangen,angelz,economia,tanzen,avogadro,1vampire,spanners,mazdarx,queequeg,oriana,hershil,sulaco,joseph11,8seconds,aquariu,cumberla,heather9,anthony8,burton12,crystal0,maria3,qazwsxc,snow123,notgood,198520,raindog,heehaw,consulta,dasein,miller01,cthulhu1,dukenuke,iubire,baytown,hatebree,198505,sistem,lena12,welcome01,maraca,middleto,sindhu,mitsou,phoenix5,vovan,donaldo,dylandog,domovoy,lauren12,byrjuybnj,123llll,stillers,sanchin,tulpan,smallvill,1mmmmm,patti1,folgers,mike31,colts18,123456rrr,njkmrjz,phoenix0,biene,ironcity,kasperok,password22,fitnes,matthew6,spotligh,bujhm123,tommycat,hazel5,guitar11,145678,vfcmrf,compass1,willee,1barney,jack2000,littleminge,shemp,derrek,xxx12345,littlefuck,spuds1,karolinka,camneely,qwertyu123,142500,brandon00,munson15,falcon3,passssap,z3cn2erv,goahead,baggio10,141592,denali1,37kazoo,copernic,123456789asd,orange88,bravada,rush211,197700,pablo123,uptheass,samsam1,demoman,mattylad10,heydude,mister2,werken,13467985,marantz,a22222,f1f2f3f4,fm12mn12,gerasimova,burrito1,sony1,glenny,baldeagle,rmfidd,fenomen,verbati,forgetme,5element,wer138,chanel1,ooicu812,10293847qp,minicooper,chispa,myturn,deisel,vthrehbq,boredboi4u,filatova,anabe,poiuyt1,barmalei,yyyy1,fourkids,naumenko,bangbros,pornclub,okaykk,euclid90,warrior3,kornet,palevo,patatina,gocart,antanta,jed1054,clock1,111111w,dewars,mankind1,peugeot406,liten,tahira,howlin,naumov,rmracing,corone,cunthole,passit,rock69,jaguarxj,bumsen,197101,sweet2,197010,whitecat,sawadee,money100,yfhrjnbrb,andyboy,9085603566,trace1,fagget,robot1,angel20,6yhn7ujm,specialinsta,kareena,newblood,chingada,boobies2,bugger1,squad51,133andre,call06,ashes1,ilovelucy,success2,kotton,cavalla,philou,deebee,theband,nine09,artefact,196100,kkkkkkk1,nikolay9,onelov,basia,emilyann,sadman,fkrjujkbr,teamomuch,david777,padrino,money21,firdaus,orion3,chevy01,albatro,erdfcv,2legit,sarah7,torock,kevinn,holio,soloy,enron714,starfleet,qwer11,neverman,doctorwh,lucy11,dino12,trinity7,seatleon,o123456,pimpman,1asdfgh,snakebit,chancho,prorok,bleacher,ramire,darkseed,warhorse,michael123,1spanky,1hotdog,34erdfcv,n0th1ng,dimanche,repmvbyf,michaeljackson,login1,icequeen,toshiro,sperme,racer2,veget,birthday26,daniel9,lbvekmrf,charlus,bryan123,wspanic,schreibe,1andonly,dgoins,kewell,apollo12,egypt1,fernie,tiger21,aa123456789,blowj,spandau,bisquit,12345678d,deadmau5,fredie,311420,happyface,samant,gruppa,filmstar,andrew17,bakesale,sexy01,justlook,cbarkley,paul11,bloodred,rideme,birdbath,nfkbcvfy,jaxson,sirius1,kristof,virgos,nimrod1,hardc0re,killerbee,1abcdef,pitcher1,justonce,vlada,dakota99,vespucci,wpass,outside1,puertori,rfvbkf,teamlosi,vgfun2,porol777,empire11,20091989q,jasong,webuivalidat,escrima,lakers08,trigger2,addpass,342500,mongini,dfhtybr,horndogg,palermo1,136900,babyblu,alla98,dasha2010,jkelly,kernow,yfnecz,rockhopper,toeman,tlaloc,silver77,dave01,kevinr,1234567887654321,135642,me2you,8096468644q,remmus,spider7,jamesa,jilly,samba1,drongo,770129ji,supercat,juntas,tema1234,esthe,1234567892000,drew11,qazqaz123,beegees,blome,rattrace,howhigh,tallboy,rufus2,sunny2,sou812,miller12,indiana7,irnbru,patch123,letmeon,welcome5,nabisco,9hotpoin,hpvteb,lovinit,stormin,assmonke,trill,atlanti,money1234,cubsfan,mello1,stars2,ueptkm,agate,dannym88,lover123,wordz,worldnet,julemand,chaser1,s12345678,pissword,cinemax,woodchuc,point1,hotchkis,packers2,bananana,kalender,420666,penguin8,awo8rx3wa8t,hoppie,metlife,ilovemyfamily,weihnachtsbau,pudding1,luckystr,scully1,fatboy1,amizade,dedham,jahbless,blaat,surrende,****er,1panties,bigasses,ghjuhfvbcn,asshole123,dfktyrb,likeme,nickers,plastik,hektor,deeman,muchacha,cerebro,santana5,testdrive,dracula1,canalc,l1750sq,savannah1,murena,1inside,pokemon00,1iiiiiii,jordan20,sexual1,mailliw,calipso,014702580369,1zzzzzz,1jjjjjj,break1,15253545,yomama1,katinka,kevin11,1ffffff,martijn,sslazio,daniel5,porno2,nosmas,leolion,jscript,15975312,pundai,kelli1,kkkddd,obafgkm,marmaris,lilmama,london123,rfhfnt,elgordo,talk87,daniel7,thesims3,444111,bishkek,afrika2002,toby22,1speedy,daishi,2children,afroman,qqqqwwww,oldskool,hawai,v55555,syndicat,pukimak,fanatik,tiger5,parker01,bri5kev6,timexx,wartburg,love55,ecosse,yelena03,madinina,highway1,uhfdbwfgf,karuna,buhjvfybz,wallie,46and2,khalif,europ,qaz123wsx456,bobbybob,wolfone,falloutboy,manning18,scuba10,schnuff,ihateyou1,lindam,sara123,popcor,fallengun,divine1,montblanc,qwerty8,rooney10,roadrage,bertie1,latinus,lexusis,rhfvfnjhcr,opelgt,hitme,agatka,1yamaha,dmfxhkju,imaloser,michell1,sb211st,silver22,lockedup,andrew9,monica01,sassycat,dsobwick,tinroof,ctrhtnyj,bultaco,rhfcyjzhcr,aaaassss,14ss88,joanne1,momanddad,ahjkjdf,yelhsa,zipdrive,telescop,500600,1sexsex,facial1,motaro,511647,stoner1,temujin,elephant1,greatman,honey69,kociak,ukqmwhj6,altezza,cumquat,zippos,kontiki,123max,altec1,bibigon,tontos,qazsew,nopasaran,militar,supratt,oglala,kobayash,agathe,yawetag,dogs1,cfiekmrf,megan123,jamesdea,porosenok,tiger23,berger1,hello11,seemann,stunner1,walker2,imissu,jabari,minfd,lollol12,hjvfy,1-oct,stjohns,2278124q,123456789qwer,alex1983,glowworm,chicho,mallards,bluedevil,explorer1,543211,casita,1time,lachesis,alex1982,airborn1,dubesor,changa,lizzie1,captaink,socool,bidule,march23,1861brr,k.ljxrf,watchout,fotze,1brian,keksa2,aaaa1122,matrim,providian,privado,dreame,merry1,aregdone,davidt,nounour,twenty2,play2win,artcast2,zontik,552255,shit1,sluggy,552861,dr8350,brooze,alpha69,thunder6,kamelia2011,caleb123,mmxxmm,jamesh,lfybkjd,125267,125000,124536,bliss1,dddsss,indonesi,bob69,123888,tgkbxfgy,gerar,themack,hijodeputa,good4now,ddd123,clk430,kalash,tolkien1,132forever,blackb,whatis,s1s2s3s4,lolkin09,yamahar,48n25rcc,djtiesto,111222333444555,bigbull,blade55,coolbree,kelse,ichwill,yamaha12,sakic,bebeto,katoom,donke,sahar,wahine,645202,god666,berni,starwood,june15,sonoio,time123,llbean,deadsoul,lazarev,cdtnf,ksyusha,madarchod,technik,jamesy,4speed,tenorsax,legshow,yoshi1,chrisbl,44e3ebda,trafalga,heather7,serafima,favorite4,havefun1,wolve,55555r,james13,nosredna,bodean,jlettier,borracho,mickael,marinus,brutu,sweet666,kiborg,rollrock,jackson6,macross1,ousooner,9085084232,takeme,123qwaszx,firedept,vfrfhjd,jackfros,123456789000,briane,cookie11,baby22,bobby18,gromova,systemofadown,martin01,silver01,pimaou,darthmaul,hijinx,commo,chech,skyman,sunse,2vrd6,vladimirovna,uthvfybz,nicole01,kreker,bobo1,v123456789,erxtgb,meetoo,drakcap,vfvf12,misiek1,butane,network2,flyers99,riogrand,jennyk,e12345,spinne,avalon11,lovejone,studen,maint,porsche2,qwerty100,chamberl,bluedog1,sungam,just4u,andrew23,summer22,ludic,musiclover,aguil,beardog1,libertin,pippo1,joselit,patito,bigberth,digler,sydnee,jockstra,poopo,jas4an,nastya123,profil,fuesse,default1,titan2,mendoz,kpcofgs,anamika,brillo021,bomberman,guitar69,latching,69pussy,blues2,phelge,ninja123,m7n56xo,qwertasd,alex1976,cunningh,estrela,gladbach,marillion,mike2000,258046,bypop,muffinman,kd5396b,zeratul,djkxbwf,john77,sigma2,1linda,selur,reppep,quartz1,teen1,freeclus,spook1,kudos4ever,clitring,sexiness,blumpkin,macbook,tileman,centra,escaflowne,pentable,shant,grappa,zverev,1albert,lommerse,coffee11,777123,polkilo,muppet1,alex74,lkjhgfdsazx,olesica,april14,ba25547,souths,jasmi,arashi,smile2,2401pedro,mybabe,alex111,quintain,pimp1,tdeir8b2,makenna,122333444455555,%e2%82%ac,tootsie1,pass111,zaqxsw123,gkfdfybt,cnfnbcnbrf,usermane,iloveyou12,hard69,osasuna,firegod,arvind,babochka,kiss123,cookie123,julie123,kamakazi,dylan2,223355,tanguy,nbhtqa,tigger13,tubby1,makavel,asdflkj,sambo1,mononoke,mickeys,gayguy,win123,green33,wcrfxtvgbjy,bigsmall,1newlife,clove,babyfac,bigwaves,mama1970,shockwav,1friday,bassey,yarddog,codered1,victory7,bigrick,kracker,gulfstre,chris200,sunbanna,bertuzzi,begemotik,kuolema,pondus,destinee,123456789zz,abiodun,flopsy,amadeusptfcor,geronim,yggdrasi,contex,daniel6,suck1,adonis1,moorea,el345612,f22raptor,moviebuf,raunchy,6043dkf,zxcvbnm123456789,eric11,deadmoin,ratiug,nosliw,fannies,danno,888889,blank1,mikey2,gullit,thor99,mamiya,ollieb,thoth,dagger1,websolutionssu,bonker,prive,1346798520,03038,q1234q,mommy2,contax,zhipo,gwendoli,gothic1,1234562000,lovedick,gibso,digital2,space199,b26354,987654123,golive,serious1,pivkoo,better1,824358553,794613258,nata1980,logout,fishpond,buttss,squidly,good4me,redsox19,jhonny,zse45rdx,matrixxx,honey12,ramina,213546879,motzart,fall99,newspape,killit,gimpy,photowiz,olesja,thebus,marco123,147852963,bedbug,147369258,hellbound,gjgjxrf,123987456,lovehurt,five55,hammer01,1234554321a,alina2011,peppino,ang238,questor,112358132,alina1994,alina1998,money77,bobjones,aigerim,cressida,madalena,420smoke,tinchair,raven13,mooser,mauric,lovebu,adidas69,krypton1,1111112,loveline,divin,voshod,michaelm,cocotte,gbkbuhbv,76689295,kellyj,rhonda1,sweetu70,steamforums,geeque,nothere,124c41,quixotic,steam181,1169900,rfcgthcrbq,rfvbkm,sexstuff,1231230,djctvm,rockstar1,fulhamfc,bhecbr,rfntyf,quiksilv,56836803,jedimaster,pangit,gfhjkm777,tocool,1237654,stella12,55378008,19216811,potte,fender12,mortalkombat,ball1,nudegirl,palace22,rattrap,debeers,lickpussy,jimmy6,not4u2c,wert12,bigjuggs,sadomaso,1357924,312mas,laser123,arminia,branford,coastie,mrmojo,19801982,scott11,banaan123,ingres,300zxtt,hooters6,sweeties,19821983,19831985,19833891,sinnfein,welcome4,winner69,killerman,tachyon,tigre1,nymets1,kangol,martinet,sooty1,19921993,789qwe,harsingh,1597535,thecount,phantom3,36985214,lukas123,117711,pakistan1,madmax11,willow01,19932916,fucker12,flhrci,opelagila,theword,ashley24,tigger3,crazyj,rapide,deadfish,allana,31359092,sasha1993,sanders2,discman,zaq!2wsx,boilerma,mickey69,jamesg,babybo,jackson9,orion7,alina2010,indien,breeze1,atease,warspite,bazongaz,1celtic,asguard,mygal,fitzgera,1secret,duke33,cyklone,dipascuc,potapov,1escobar2,c0l0rad0,kki177hk,1little,macondo,victoriya,peter7,red666,winston6,kl?benhavn,muneca,jackme,jennan,happylife,am4h39d8nh,bodybuil,201980,dutchie,biggame,lapo4ka,rauchen,black10,flaquit,water12,31021364,command2,lainth88,mazdamx5,typhon,colin123,rcfhlfc,qwaszx11,g0away,ramir,diesirae,hacked1,cessna1,woodfish,enigma2,pqnr67w5,odgez8j3,grisou,hiheels,5gtgiaxm,2580258,ohotnik,transits,quackers,serjik,makenzie,mdmgatew,bryana,superman12,melly,lokit,thegod,slickone,fun4all,netpass,penhorse,1cooper,nsync,asdasd22,otherside,honeydog,herbie1,chiphi,proghouse,l0nd0n,shagg,select1,frost1996,casper123,countr,magichat,greatzyo,jyothi,3bears,thefly,nikkita,fgjcnjk,nitros,hornys,san123,lightspe,maslova,kimber1,newyork2,spammm,mikejone,pumpk1n,bruiser1,bacons,prelude9,boodie,dragon4,kenneth2,love98,power5,yodude,pumba,thinline,blue30,sexxybj,2dumb2live,matt21,forsale,1carolin,innova,ilikeporn,rbgtkjd,a1s2d3f,wu9942,ruffus,blackboo,qwerty999,draco1,marcelin,hideki,gendalf,trevon,saraha,cartmen,yjhbkmcr,time2go,fanclub,ladder1,chinni,6942987,united99,lindac,quadra,paolit,mainstre,beano002,lincoln7,bellend,anomie,8520456,bangalor,goodstuff,chernov,stepashka,gulla,mike007,frasse,harley03,omnislash,8538622,maryjan,sasha2011,gineok,8807031,hornier,gopinath,princesit,bdr529,godown,bosslady,hakaone,1qwe2,madman1,joshua11,lovegame,bayamon,jedi01,stupid12,sport123,aaa666,tony44,collect1,charliem,chimaira,cx18ka,trrim777,chuckd,thedream,redsox99,goodmorning,delta88,iloveyou11,newlife2,figvam,chicago3,jasonk,12qwer,9875321,lestat1,satcom,conditio,capri50,sayaka,9933162,trunks1,chinga,snooch,alexand1,findus,poekie,cfdbyf,kevind,mike1969,fire13,leftie,bigtuna,chinnu,silence1,celos1,blackdra,alex24,gfgfif,2boobs,happy8,enolagay,sataniv1993,turner1,dylans,peugeo,sasha1994,hoppel,conno,moonshot,santa234,meister1,008800,hanako,tree123,qweras,gfitymrf,reggie31,august29,supert,joshua10,akademia,gbljhfc,zorro123,nathalia,redsox12,hfpdjl,mishmash,nokiae51,nyyankees,tu190022,strongbo,none1,not4u2no,katie2,popart,harlequi,santan,michal1,1therock,screwu,csyekmrf,olemiss1,tyrese,hoople,sunshin1,cucina,starbase,topshelf,fostex,california1,castle1,symantec,pippolo,babare,turntabl,1angela,moo123,ipvteb,gogolf,alex88,cycle1,maxie1,phase2,selhurst,furnitur,samfox,fromvermine,shaq34,gators96,captain2,delonge,tomatoe,bisous,zxcvbnma,glacius,pineapple1,cannelle,ganibal,mko09ijn,paraklast1974,hobbes12,petty43,artema,junior8,mylover,1234567890d,fatal1ty,prostreet,peruan,10020,nadya,caution1,marocas,chanel5,summer08,metal123,111lox,scrapy,thatguy,eddie666,washingto,yannis,minnesota_hp,lucky4,playboy6,naumova,azzurro,patat,dale33,pa55wd,speedster,zemanova,saraht,newto,tony22,qscesz,arkady,1oliver,death6,vkfwx046,antiflag,stangs,jzf7qf2e,brianp,fozzy,cody123,startrek1,yoda123,murciela,trabajo,lvbnhbtdf,canario,fliper,adroit,henry5,goducks,papirus,alskdj,soccer6,88mike,gogetter,tanelorn,donking,marky1,leedsu,badmofo,al1916,wetdog,akmaral,pallet,april24,killer00,nesterova,rugby123,coffee12,browseui,ralliart,paigow,calgary1,armyman,vtldtltd,frodo2,frxtgb,iambigal,benno,jaytee,2hot4you,askar,bigtee,brentwoo,palladin,eddie2,al1916w,horosho,entrada,ilovetits,venture1,dragon19,jayde,chuvak,jamesl,fzr600,brandon8,vjqvbh,snowbal,snatch1,bg6njokf,pudder,karolin,candoo,pfuflrf,satchel1,manteca,khongbiet,critter1,partridg,skyclad,bigdon,ginger69,brave1,anthony4,spinnake,chinadol,passout,cochino,nipples1,15058,lopesk,sixflags,lloo999,parkhead,breakdance,cia123,fidodido,yuitre12,fooey,artem1995,gayathri,medin,nondriversig,l12345,bravo7,happy13,kazuya,camster,alex1998,luckyy,zipcode,dizzle,boating1,opusone,newpassw,movies23,kamikazi,zapato,bart316,cowboys0,corsair1,kingshit,hotdog12,rolyat,h200svrm,qwerty4,boofer,rhtyltkm,chris999,vaz21074,simferopol,pitboss,love3,britania,tanyshka,brause,123qwerty123,abeille,moscow1,ilkaev,manut,process1,inetcfg,dragon05,fortknox,castill,rynner,mrmike,koalas,jeebus,stockpor,longman,juanpabl,caiman,roleplay,jeremi,26058,prodojo,002200,magical1,black5,bvlgari,doogie1,cbhtqa,mahina,a1s2d3f4g5h6,jblpro,usmc01,bismilah,guitar01,april9,santana1,1234aa,monkey14,sorokin,evan1,doohan,animalsex,pfqxtyjr,dimitry,catchme,chello,silverch,glock45,dogleg,litespee,nirvana9,peyton18,alydar,warhamer,iluvme,sig229,minotavr,lobzik,jack23,bushwack,onlin,football123,joshua5,federov,winter2,bigmax,fufnfrhbcnb,hfpldfnhb,1dakota,f56307,chipmonk,4nick8,praline,vbhjh123,king11,22tango,gemini12,street1,77879,doodlebu,homyak,165432,chuluthu,trixi,karlito,salom,reisen,cdtnkzxjr,pookie11,tremendo,shazaam,welcome0,00000ty,peewee51,pizzle,gilead,bydand,sarvar,upskirt,legends1,freeway1,teenfuck,ranger9,darkfire,dfymrf,hunt0802,justme1,buffy1ma,1harry,671fsa75yt,burrfoot,budster,pa437tu,jimmyp,alina2006,malacon,charlize,elway1,free12,summer02,gadina,manara,gomer1,1cassie,sanja,kisulya,money3,pujols,ford50,midiland,turga,orange6,demetriu,freakboy,orosie1,radio123,open12,vfufpby,mustek,chris33,animes,meiling,nthtvjr,jasmine9,gfdkjd,oligarh,marimar,chicago9,.kzirf,bugssgub,samuraix,jackie01,pimpjuic,macdad,cagiva,vernost,willyboy,fynjyjdf,tabby1,privet123,torres9,retype,blueroom,raven11,q12we3,alex1989,bringiton,ridered,kareltje,ow8jtcs8t,ciccia,goniners,countryb,24688642,covingto,24861793,beyblade,vikin,badboyz,wlafiga,walstib,mirand,needajob,chloes,balaton,kbpfdtnf,freyja,bond9007,gabriel12,stormbri,hollage,love4eve,fenomeno,darknite,dragstar,kyle123,milfhunter,ma123123123,samia,ghislain,enrique1,ferien12,xjy6721,natalie2,reglisse,wilson2,wesker,rosebud7,amazon1,robertr,roykeane,xtcnth,mamatata,crazyc,mikie,savanah,blowjob69,jackie2,forty1,1coffee,fhbyjxrf,bubbah,goteam,hackedit,risky1,logoff,h397pnvr,buck13,robert23,bronc,st123st,godflesh,pornog,iamking,cisco69,septiembr,dale38,zhongguo,tibbar,panther9,buffa1,bigjohn1,mypuppy,vehvfycr,april16,shippo,fire1234,green15,q123123,gungadin,steveg,olivier1,chinaski,magnoli,faithy,storm12,toadfrog,paul99,78791,august20,automati,squirtle,cheezy,positano,burbon,nunya,llebpmac,kimmi,turtle2,alan123,prokuror,violin1,durex,pussygal,visionar,trick1,chicken6,29024,plowboy,rfybreks,imbue,sasha13,wagner1,vitalogy,cfymrf,thepro,26028,gorbunov,dvdcom,letmein5,duder,fastfun,pronin,libra1,conner1,harley20,stinker1,20068,20038,amitech,syoung,dugway,18068,welcome7,jimmypag,anastaci,kafka1,pfhfnecnhf,catsss,campus100,shamal,nacho1,fire12,vikings2,brasil1,rangerover,mohamma,peresvet,14058,cocomo,aliona,14038,qwaser,vikes,cbkmdf,skyblue1,ou81234,goodlove,dfkmltvfh,108888,roamer,pinky2,static1,zxcv4321,barmen,rock22,shelby2,morgans,1junior,pasword1,logjam,fifty5,nhfrnjhbcn,chaddy,philli,nemesis2,ingenier,djkrjd,ranger3,aikman8,knothead,daddy69,love007,vsythb,ford350,tiger00,renrut,owen11,energy12,march14,alena123,robert19,carisma,orange22,murphy11,podarok,prozak,kfgeirf,wolf13,lydia1,shazza,parasha,akimov,tobbie,pilote,heather4,baster,leones,gznfxjr,megama,987654321g,bullgod,boxster1,minkey,wombats,vergil,colegiata,lincol,smoothe,pride1,carwash1,latrell,bowling3,fylhtq123,pickwick,eider,bubblebox,bunnies1,loquit,slipper1,nutsac,purina,xtutdfhf,plokiju,1qazxs,uhjpysq,zxcvbasdfg,enjoy1,1pumpkin,phantom7,mama22,swordsma,wonderbr,dogdays,milker,u23456,silvan,dfkthbr,slagelse,yeahman,twothree,boston11,wolf100,dannyg,troll1,fynjy123,ghbcnfd,bftest,ballsdeep,bobbyorr,alphasig,cccdemo,fire123,norwest,claire2,august10,lth1108,problemas,sapito,alex06,1rusty,maccom,goirish1,ohyes,bxdumb,nabila,boobear1,rabbit69,princip,alexsander,travail,chantal1,dogggy,greenpea,diablo69,alex2009,bergen09,petticoa,classe,ceilidh,vlad2011,kamakiri,lucidity,qaz321,chileno,cexfhf,99ranger,mcitra,estoppel,volvos60,carter80,webpass,temp12,touareg,fcgbhby,bubba8,sunitha,200190ru,bitch2,shadow23,iluvit,nicole0,ruben1,nikki69,butttt,shocker1,souschef,lopotok01,kantot,corsano,cfnfyf,riverat,makalu,swapna,all4u9,cdtnkfy,ntktgepbr,ronaldo99,thomasj,bmw540i,chrisw,boomba,open321,z1x2c3v4b5n6m7,gaviota,iceman44,frosya,chris100,chris24,cosette,clearwat,micael,boogyman,pussy9,camus1,chumpy,heccrbq,konoplya,chester8,scooter5,ghjgfufylf,giotto,koolkat,zero000,bonita1,ckflrbq,j1964,mandog,18n28n24a,renob,head1,shergar,ringo123,tanita,sex4free,johnny12,halberd,reddevils,biolog,dillinge,fatb0y,c00per,hyperlit,wallace2,spears1,vitamine,buheirf,sloboda,alkash,mooman,marion1,arsenal7,sunder,nokia5610,edifier,pippone,fyfnjkmtdbx,fujimo,pepsi12,kulikova,bolat,duetto,daimon,maddog01,timoshka,ezmoney,desdemon,chesters,aiden,hugues,patrick5,aikman08,robert4,roenick,nyranger,writer1,36169544,foxmulder,118801,kutter,shashank,jamjar,118811,119955,aspirina,dinkus,1sailor,nalgene,19891959,snarf,allie1,cracky,resipsa,45678912,kemerovo,19841989,netware1,alhimik,19801984,nicole123,19761977,51501984,malaka1,montella,peachfuz,jethro1,cypress1,henkie,holdon,esmith,55443322,1friend,quique,bandicoot,statistika,great123,death13,ucht36,master4,67899876,bobsmith,nikko1,jr1234,hillary1,78978978,rsturbo,lzlzdfcz,bloodlust,shadow00,skagen,bambina,yummies,88887777,91328378,matthew4,itdoes,98256518,102938475,alina2002,123123789,fubared,dannys,123456321,nikifor,suck69,newmexico,scubaman,rhbcnb,fifnfy,puffdadd,159357852,dtheyxbr,theman22,212009164,prohor,shirle,nji90okm,newmedia,goose5,roma1995,letssee,iceman11,aksana,wirenut,pimpdady,1212312121,tamplier,pelican1,domodedovo,1928374655,fiction6,duckpond,ybrecz,thwack,onetwo34,gunsmith,murphydo,fallout1,spectre1,jabberwo,jgjesq,turbo6,bobo12,redryder,blackpus,elena1971,danilova,antoin,bobo1234,bobob,bobbobbo,dean1,222222a,jesusgod,matt23,musical1,darkmage,loppol,werrew,josepha,rebel12,toshka,gadfly,hawkwood,alina12,dnomyar,sexaddict,dangit,cool23,yocrack,archimed,farouk,nhfkzkz,lindalou,111zzzzz,ghjatccjh,wethepeople,m123456789,wowsers,kbkbxrf,bulldog5,m_roesel,sissinit,yamoon6,123ewqasd,dangel,miruvor79,kaytee,falcon7,bandit11,dotnet,dannii,arsenal9,miatamx5,1trouble,strip4me,dogpile,sexyred1,rjdfktdf,google10,shortman,crystal7,awesome123,cowdog,haruka,birthday28,jitter,diabolik,boomer12,dknight,bluewate,hockey123,crm0624,blueboys,willy123,jumpup,google2,cobra777,llabesab,vicelord,hopper1,gerryber,remmah,j10e5d4,qqqqqqw,agusti,fre_ak8yj,nahlik,redrobin,scott3,epson1,dumpy,bundao,aniolek,hola123,jergens,itsasecret,maxsam,bluelight,mountai1,bongwater,1london,pepper14,freeuse,dereks,qweqw,fordgt40,rfhfdfy,raider12,hunnybun,compac,splicer,megamon,tuffgong,gymnast1,butter11,modaddy,wapbbs_1,dandelio,soccer77,ghjnbdjcnjzybt,123xyi2,fishead,x002tp00,whodaman,555aaa,oussama,brunodog,technici,pmtgjnbl,qcxdw8ry,schweden,redsox3,throbber,collecto,japan10,dbm123dm,hellhoun,tech1,deadzone,kahlan,wolf123,dethklok,xzsawq,bigguy1,cybrthc,chandle,buck01,qq123123,secreta,williams1,c32649135,delta12,flash33,123joker,spacejam,polopo,holycrap,daman1,tummybed,financia,nusrat,euroline,magicone,jimkirk,ameritec,daniel26,sevenn,topazz,kingpins,dima1991,macdog,spencer5,oi812,geoffre,music11,baffle,123569,usagi,cassiope,polla,lilcrowe,thecakeisalie,vbhjndjhtw,vthokies,oldmans,sophie01,ghoster,penny2,129834,locutus1,meesha,magik,jerry69,daddysgirl,irondesk,andrey12,jasmine123,vepsrfyn,likesdick,1accord,jetboat,grafix,tomuch,showit,protozoa,mosias98,taburetka,blaze420,esenin,anal69,zhv84kv,puissant,charles0,aishwarya,babylon6,bitter1,lenina,raleigh1,lechat,access01,kamilka,fynjy,sparkplu,daisy3112,choppe,zootsuit,1234567j,rubyrose,gorilla9,nightshade,alternativa,cghfdjxybr,snuggles1,10121v,vova1992,leonardo1,dave2,matthewd,vfhfnbr,1986mets,nobull,bacall,mexican1,juanjo,mafia1,boomer22,soylent,edwards1,jordan10,blackwid,alex86,gemini13,lunar2,dctvcjcfnm,malaki,plugger,eagles11,snafu2,1shelly,cintaku,hannah22,tbird1,maks5843,irish88,homer22,amarok,fktrcfylhjdf,lincoln2,acess,gre69kik,need4speed,hightech,core2duo,blunt1,ublhjgjybrf,dragon33,1autopas,autopas1,wwww1,15935746,daniel20,2500aa,massim,1ggggggg,96ford,hardcor1,cobra5,blackdragon,vovan_lt,orochimaru,hjlbntkb,qwertyuiop12,tallen,paradoks,frozenfish,ghjuhfvvbcn,gerri1,nuggett,camilit,doright,trans1,serena1,catch2,bkmyeh,fireston,afhvfwtdn,purple3,figure8,fuckya,scamp1,laranja,ontheoutside,louis123,yellow7,moonwalk,mercury2,tolkein,raide,amenra,a13579,dranreb,5150vh,harish,tracksta,sexking,ozzmosis,katiee,alomar,matrix19,headroom,jahlove,ringding,apollo8,132546,132613,12345672000,saretta,135798,136666,thomas7,136913,onetwothree,hockey33,calida,nefertit,bitwise,tailhook,boop4,kfgecbr,bujhmbujhm,metal69,thedark,meteoro,felicia1,house12,tinuviel,istina,vaz2105,pimp13,toolfan,nina1,tuesday2,maxmotives,lgkp500,locksley,treech,darling1,kurama,aminka,ramin,redhed,dazzler,jager1,stpiliot,cardman,rfvtym,cheeser,14314314,paramoun,samcat,plumpy,stiffie,vsajyjr,panatha,qqq777,car12345,098poi,asdzx,keegan1,furelise,kalifornia,vbhjckfd,beast123,zcfvfzkexifz,harry5,1birdie,96328i,escola,extra330,henry12,gfhfyjqz,14u2nv,max1234,templar1,1dave,02588520,catrin,pangolin,marhaba,latin1,amorcito,dave22,escape1,advance1,yasuhiro,grepw,meetme,orange01,ernes,erdna,zsergn,nautica1,justinb,soundwav,miasma,greg78,nadine1,sexmad,lovebaby,promo1,excel1,babys,dragonma,camry1,sonnenschein,farooq,wazzkaprivet,magal,katinas,elvis99,redsox24,rooney1,chiefy,peggys,aliev,pilsung,mudhen,dontdoit,dennis12,supercal,energia,ballsout,funone,claudiu,brown2,amoco,dabl1125,philos,gjdtkbntkm,servette,13571113,whizzer,nollie,13467982,upiter,12string,bluejay1,silkie,william4,kosta1,143333,connor12,sustanon,06068,corporat,ssnake,laurita,king10,tahoes,arsenal123,sapato,charless,jeanmarc,levent,algerie,marine21,jettas,winsome,dctvgbplf,1701ab,xxxp455w0rd5,lllllll1,ooooooo1,monalis,koufax32,anastasya,debugger,sarita2,jason69,ufkxjyjr,gjlcnfdf,1jerry,daniel10,balinor,sexkitten,death2,qwertasdfgzxcvb,s9te949f,vegeta1,sysman,maxxam,dimabilan,mooose,ilovetit,june23,illest,doesit,mamou,abby12,longjump,transalp,moderato,littleguy,magritte,dilnoza,hawaiiguy,winbig,nemiroff,kokaine,admira,myemail,dream2,browneyes,destiny7,dragonss,suckme1,asa123,andranik,suckem,fleshbot,dandie,timmys,scitra,timdog,hasbeen,guesss,smellyfe,arachne,deutschl,harley88,birthday27,nobody1,papasmur,home1,jonass,bunia3,epatb1,embalm,vfvekmrf,apacer,12345656,estreet,weihnachtsbaum,mrwhite,admin12,kristie1,kelebek,yoda69,socken,tima123,bayern1,fktrcfylth,tamiya,99strenght,andy01,denis2011,19delta,stokecit,aotearoa,stalker2,nicnac,conrad1,popey,agusta,bowl36,1bigfish,mossyoak,1stunner,getinnow,jessejames,gkfnjy,drako,1nissan,egor123,hotness,1hawaii,zxc123456,cantstop,1peaches,madlen,west1234,jeter1,markis,judit,attack1,artemi,silver69,153246,crazy2,green9,yoshimi,1vette,chief123,jasper2,1sierra,twentyon,drstrang,aspirant,yannic,jenna123,bongtoke,slurpy,1sugar,civic97,rusty21,shineon,james19,anna12345,wonderwoman,1kevin,karol1,kanabis,wert21,fktif6115,evil1,kakaha,54gv768,826248s,tyrone1,1winston,sugar2,falcon01,adelya,mopar440,zasxcd,leecher,kinkysex,mercede1,travka,11234567,rebon,geekboy".split(","),
17920english_wikipedia:"the,of,and,in,was,is,for,as,on,with,by,he,at,from,his,an,were,are,which,doc,https,also,or,has,had,first,one,their,its,after,new,who,they,two,her,she,been,other,when,time,during,there,into,school,more,may,years,over,only,year,most,would,world,city,some,where,between,later,three,state,such,then,national,used,made,known,under,many,university,united,while,part,season,team,these,american,than,film,second,born,south,became,states,war,through,being,including,both,before,north,high,however,people,family,early,history,album,area,them,series,against,until,since,district,county,name,work,life,group,music,following,number,company,several,four,called,played,released,career,league,game,government,house,each,based,day,same,won,use,station,club,international,town,located,population,general,college,east,found,age,march,end,september,began,home,public,church,line,june,river,member,system,place,century,band,july,york,january,october,song,august,best,former,british,party,named,held,village,show,local,november,took,service,december,built,another,major,within,along,members,five,single,due,although,small,old,left,final,large,include,building,served,president,received,games,death,february,main,third,set,children,own,order,species,park,law,air,published,road,died,book,men,women,army,often,according,education,central,country,division,english,top,included,development,french,community,among,water,play,side,list,times,near,late,form,original,different,center,power,led,students,german,moved,court,six,land,council,island,u.s.,record,million,research,art,established,award,street,military,television,given,region,support,western,production,non,political,point,cup,period,business,title,started,various,election,using,england,role,produced,become,program,works,field,total,office,class,written,association,radio,union,level,championship,director,few,force,created,department,founded,services,married,though,per,n't,site,open,act,short,society,version,royal,present,northern,worked,professional,full,returned,joined,story,france,european,currently,language,social,california,india,days,design,st.,further,round,australia,wrote,san,project,control,southern,railway,board,popular,continued,free,battle,considered,video,common,position,living,half,playing,recorded,red,post,described,average,records,special,modern,appeared,announced,areas,rock,release,elected,others,example,term,opened,similar,formed,route,census,current,schools,originally,lake,developed,race,himself,forces,addition,information,upon,province,match,event,songs,result,events,win,eastern,track,lead,teams,science,human,construction,minister,germany,awards,available,throughout,training,style,body,museum,australian,health,seven,signed,chief,eventually,appointed,sea,centre,debut,tour,points,media,light,range,character,across,features,families,largest,indian,network,less,performance,players,refer,europe,sold,festival,usually,taken,despite,designed,committee,process,return,official,episode,institute,stage,followed,performed,japanese,personal,thus,arts,space,low,months,includes,china,study,middle,magazine,leading,japan,groups,aircraft,featured,federal,civil,rights,model,coach,canadian,books,remained,eight,type,independent,completed,capital,academy,instead,kingdom,organization,countries,studies,competition,sports,size,above,section,finished,gold,involved,reported,management,systems,industry,directed,market,fourth,movement,technology,bank,ground,campaign,base,lower,sent,rather,added,provided,coast,grand,historic,valley,conference,bridge,winning,approximately,films,chinese,awarded,degree,russian,shows,native,female,replaced,municipality,square,studio,medical,data,african,successful,mid,bay,attack,previous,operations,spanish,theatre,student,republic,beginning,provide,ship,primary,owned,writing,tournament,culture,introduced,texas,related,natural,parts,governor,reached,ireland,units,senior,decided,italian,whose,higher,africa,standard,income,professor,placed,regional,los,buildings,championships,active,novel,energy,generally,interest,via,economic,previously,stated,itself,channel,below,operation,leader,traditional,trade,structure,limited,runs,prior,regular,famous,saint,navy,foreign,listed,artist,catholic,airport,results,parliament,collection,unit,officer,goal,attended,command,staff,commission,lived,location,plays,commercial,places,foundation,significant,older,medal,self,scored,companies,highway,activities,programs,wide,musical,notable,library,numerous,paris,towards,individual,allowed,plant,property,annual,contract,whom,highest,initially,required,earlier,assembly,artists,rural,seat,practice,defeated,ended,soviet,length,spent,manager,press,associated,author,issues,additional,characters,lord,zealand,policy,engine,township,noted,historical,complete,financial,religious,mission,contains,nine,recent,represented,pennsylvania,administration,opening,secretary,lines,report,executive,youth,closed,theory,writer,italy,angeles,appearance,feature,queen,launched,legal,terms,entered,issue,edition,singer,greek,majority,background,source,anti,cultural,complex,changes,recording,stadium,islands,operated,particularly,basketball,month,uses,port,castle,mostly,names,fort,selected,increased,status,earth,subsequently,pacific,cover,variety,certain,goals,remains,upper,congress,becoming,studied,irish,nature,particular,loss,caused,chart,dr.,forced,create,era,retired,material,review,rate,singles,referred,larger,individuals,shown,provides,products,speed,democratic,poland,parish,olympics,cities,themselves,temple,wing,genus,households,serving,cost,wales,stations,passed,supported,view,cases,forms,actor,male,matches,males,stars,tracks,females,administrative,median,effect,biography,train,engineering,camp,offered,chairman,houses,mainly,19th,surface,therefore,nearly,score,ancient,subject,prime,seasons,claimed,experience,specific,jewish,failed,overall,believed,plot,troops,greater,spain,consists,broadcast,heavy,increase,raised,separate,campus,1980s,appears,presented,lies,composed,recently,influence,fifth,nations,creek,references,elections,britain,double,cast,meaning,earned,carried,producer,latter,housing,brothers,attempt,article,response,border,remaining,nearby,direct,ships,value,workers,politician,academic,label,1970s,commander,rule,fellow,residents,authority,editor,transport,dutch,projects,responsible,covered,territory,flight,races,defense,tower,emperor,albums,facilities,daily,stories,assistant,managed,primarily,quality,function,proposed,distribution,conditions,prize,journal,code,vice,newspaper,corps,highly,constructed,mayor,critical,secondary,corporation,rugby,regiment,ohio,appearances,serve,allow,nation,multiple,discovered,directly,scene,levels,growth,elements,acquired,1990s,officers,physical,20th,latin,host,jersey,graduated,arrived,issued,literature,metal,estate,vote,immediately,quickly,asian,competed,extended,produce,urban,1960s,promoted,contemporary,global,formerly,appear,industrial,types,opera,ministry,soldiers,commonly,mass,formation,smaller,typically,drama,shortly,density,senate,effects,iran,polish,prominent,naval,settlement,divided,basis,republican,languages,distance,treatment,continue,product,mile,sources,footballer,format,clubs,leadership,initial,offers,operating,avenue,officially,columbia,grade,squadron,fleet,percent,farm,leaders,agreement,likely,equipment,website,mount,grew,method,transferred,intended,renamed,iron,asia,reserve,capacity,politics,widely,activity,advanced,relations,scottish,dedicated,crew,founder,episodes,lack,amount,build,efforts,concept,follows,ordered,leaves,positive,economy,entertainment,affairs,memorial,ability,illinois,communities,color,text,railroad,scientific,focus,comedy,serves,exchange,environment,cars,direction,organized,firm,description,agency,analysis,purpose,destroyed,reception,planned,revealed,infantry,architecture,growing,featuring,household,candidate,removed,situated,models,knowledge,solo,technical,organizations,assigned,conducted,participated,largely,purchased,register,gained,combined,headquarters,adopted,potential,protection,scale,approach,spread,independence,mountains,titled,geography,applied,safety,mixed,accepted,continues,captured,rail,defeat,principal,recognized,lieutenant,mentioned,semi,owner,joint,liberal,actress,traffic,creation,basic,notes,unique,supreme,declared,simply,plants,sales,massachusetts,designated,parties,jazz,compared,becomes,resources,titles,concert,learning,remain,teaching,versions,content,alongside,revolution,sons,block,premier,impact,champions,districts,generation,estimated,volume,image,sites,account,roles,sport,quarter,providing,zone,yard,scoring,classes,presence,performances,representatives,hosted,split,taught,origin,olympic,claims,critics,facility,occurred,suffered,municipal,damage,defined,resulted,respectively,expanded,platform,draft,opposition,expected,educational,ontario,climate,reports,atlantic,surrounding,performing,reduced,ranked,allows,birth,nominated,younger,newly,kong,positions,theater,philadelphia,heritage,finals,disease,sixth,laws,reviews,constitution,tradition,swedish,theme,fiction,rome,medicine,trains,resulting,existing,deputy,environmental,labour,classical,develop,fans,granted,receive,alternative,begins,nuclear,fame,buried,connected,identified,palace,falls,letters,combat,sciences,effort,villages,inspired,regions,towns,conservative,chosen,animals,labor,attacks,materials,yards,steel,representative,orchestra,peak,entitled,officials,returning,reference,northwest,imperial,convention,examples,ocean,publication,painting,subsequent,frequently,religion,brigade,fully,sides,acts,cemetery,relatively,oldest,suggested,succeeded,achieved,application,programme,cells,votes,promotion,graduate,armed,supply,flying,communist,figures,literary,netherlands,korea,worldwide,citizens,1950s,faculty,draw,stock,seats,occupied,methods,unknown,articles,claim,holds,authorities,audience,sweden,interview,obtained,covers,settled,transfer,marked,allowing,funding,challenge,southeast,unlike,crown,rise,portion,transportation,sector,phase,properties,edge,tropical,standards,institutions,philosophy,legislative,hills,brand,fund,conflict,unable,founding,refused,attempts,metres,permanent,starring,applications,creating,effective,aired,extensive,employed,enemy,expansion,billboard,rank,battalion,multi,vehicle,fought,alliance,category,perform,federation,poetry,bronze,bands,entry,vehicles,bureau,maximum,billion,trees,intelligence,greatest,screen,refers,commissioned,gallery,injury,confirmed,setting,treaty,adult,americans,broadcasting,supporting,pilot,mobile,writers,programming,existence,squad,minnesota,copies,korean,provincial,sets,defence,offices,agricultural,internal,core,northeast,retirement,factory,actions,prevent,communications,ending,weekly,containing,functions,attempted,interior,weight,bowl,recognition,incorporated,increasing,ultimately,documentary,derived,attacked,lyrics,mexican,external,churches,centuries,metropolitan,selling,opposed,personnel,mill,visited,presidential,roads,pieces,norwegian,controlled,18th,rear,influenced,wrestling,weapons,launch,composer,locations,developing,circuit,specifically,studios,shared,canal,wisconsin,publishing,approved,domestic,consisted,determined,comic,establishment,exhibition,southwest,fuel,electronic,cape,converted,educated,melbourne,hits,wins,producing,norway,slightly,occur,surname,identity,represent,constituency,funds,proved,links,structures,athletic,birds,contest,users,poet,institution,display,receiving,rare,contained,guns,motion,piano,temperature,publications,passenger,contributed,toward,cathedral,inhabitants,architect,exist,athletics,muslim,courses,abandoned,signal,successfully,disambiguation,tennessee,dynasty,heavily,maryland,jews,representing,budget,weather,missouri,introduction,faced,pair,chapel,reform,height,vietnam,occurs,motor,cambridge,lands,focused,sought,patients,shape,invasion,chemical,importance,communication,selection,regarding,homes,voivodeship,maintained,borough,failure,aged,passing,agriculture,oregon,teachers,flow,philippines,trail,seventh,portuguese,resistance,reaching,negative,fashion,scheduled,downtown,universities,trained,skills,scenes,views,notably,typical,incident,candidates,engines,decades,composition,commune,chain,inc.,austria,sale,values,employees,chamber,regarded,winners,registered,task,investment,colonial,swiss,user,entirely,flag,stores,closely,entrance,laid,journalist,coal,equal,causes,turkish,quebec,techniques,promote,junction,easily,dates,kentucky,singapore,residence,violence,advance,survey,humans,expressed,passes,streets,distinguished,qualified,folk,establish,egypt,artillery,visual,improved,actual,finishing,medium,protein,switzerland,productions,operate,poverty,neighborhood,organisation,consisting,consecutive,sections,partnership,extension,reaction,factor,costs,bodies,device,ethnic,racial,flat,objects,chapter,improve,musicians,courts,controversy,membership,merged,wars,expedition,interests,arab,comics,gain,describes,mining,bachelor,crisis,joining,decade,1930s,distributed,habitat,routes,arena,cycle,divisions,briefly,vocals,directors,degrees,object,recordings,installed,adjacent,demand,voted,causing,businesses,ruled,grounds,starred,drawn,opposite,stands,formal,operates,persons,counties,compete,wave,israeli,ncaa,resigned,brief,greece,combination,demographics,historian,contain,commonwealth,musician,collected,argued,louisiana,session,cabinet,parliamentary,electoral,loan,profit,regularly,conservation,islamic,purchase,17th,charts,residential,earliest,designs,paintings,survived,moth,items,goods,grey,anniversary,criticism,images,discovery,observed,underground,progress,additionally,participate,thousands,reduce,elementary,owners,stating,iraq,resolution,capture,tank,rooms,hollywood,finance,queensland,reign,maintain,iowa,landing,broad,outstanding,circle,path,manufacturing,assistance,sequence,gmina,crossing,leads,universal,shaped,kings,attached,medieval,ages,metro,colony,affected,scholars,oklahoma,coastal,soundtrack,painted,attend,definition,meanwhile,purposes,trophy,require,marketing,popularity,cable,mathematics,mississippi,represents,scheme,appeal,distinct,factors,acid,subjects,roughly,terminal,economics,senator,diocese,prix,contrast,argentina,czech,wings,relief,stages,duties,16th,novels,accused,whilst,equivalent,charged,measure,documents,couples,request,danish,defensive,guide,devices,statistics,credited,tries,passengers,allied,frame,puerto,peninsula,concluded,instruments,wounded,differences,associate,forests,afterwards,replace,requirements,aviation,solution,offensive,ownership,inner,legislation,hungarian,contributions,actors,translated,denmark,steam,depending,aspects,assumed,injured,severe,admitted,determine,shore,technique,arrival,measures,translation,debuted,delivered,returns,rejected,separated,visitors,damaged,storage,accompanied,markets,industries,losses,gulf,charter,strategy,corporate,socialist,somewhat,significantly,physics,mounted,satellite,experienced,constant,relative,pattern,restored,belgium,connecticut,partners,harvard,retained,networks,protected,mode,artistic,parallel,collaboration,debate,involving,journey,linked,salt,authors,components,context,occupation,requires,occasionally,policies,tamil,ottoman,revolutionary,hungary,poem,versus,gardens,amongst,audio,makeup,frequency,meters,orthodox,continuing,suggests,legislature,coalition,guitarist,eighth,classification,practices,soil,tokyo,instance,limit,coverage,considerable,ranking,colleges,cavalry,centers,daughters,twin,equipped,broadway,narrow,hosts,rates,domain,boundary,arranged,12th,whereas,brazilian,forming,rating,strategic,competitions,trading,covering,baltimore,commissioner,infrastructure,origins,replacement,praised,disc,collections,expression,ukraine,driven,edited,austrian,solar,ensure,premiered,successor,wooden,operational,hispanic,concerns,rapid,prisoners,childhood,meets,influential,tunnel,employment,tribe,qualifying,adapted,temporary,celebrated,appearing,increasingly,depression,adults,cinema,entering,laboratory,script,flows,romania,accounts,fictional,pittsburgh,achieve,monastery,franchise,formally,tools,newspapers,revival,sponsored,processes,vienna,springs,missions,classified,13th,annually,branches,lakes,gender,manner,advertising,normally,maintenance,adding,characteristics,integrated,decline,modified,strongly,critic,victims,malaysia,arkansas,nazi,restoration,powered,monument,hundreds,depth,15th,controversial,admiral,criticized,brick,honorary,initiative,output,visiting,birmingham,progressive,existed,carbon,1920s,credits,colour,rising,hence,defeating,superior,filmed,listing,column,surrounded,orleans,principles,territories,struck,participation,indonesia,movements,index,commerce,conduct,constitutional,spiritual,ambassador,vocal,completion,edinburgh,residing,tourism,finland,bears,medals,resident,themes,visible,indigenous,involvement,basin,electrical,ukrainian,concerts,boats,styles,processing,rival,drawing,vessels,experimental,declined,touring,supporters,compilation,coaching,cited,dated,roots,string,explained,transit,traditionally,poems,minimum,representation,14th,releases,effectively,architectural,triple,indicated,greatly,elevation,clinical,printed,10th,proposal,peaked,producers,romanized,rapidly,stream,innings,meetings,counter,householder,honour,lasted,agencies,document,exists,surviving,experiences,honors,landscape,hurricane,harbor,panel,competing,profile,vessel,farmers,lists,revenue,exception,customers,11th,participants,wildlife,utah,bible,gradually,preserved,replacing,symphony,begun,longest,siege,provinces,mechanical,genre,transmission,agents,executed,videos,benefits,funded,rated,instrumental,ninth,similarly,dominated,destruction,passage,technologies,thereafter,outer,facing,affiliated,opportunities,instrument,governments,scholar,evolution,channels,shares,sessions,widespread,occasions,engineers,scientists,signing,battery,competitive,alleged,eliminated,supplies,judges,hampshire,regime,portrayed,penalty,taiwan,denied,submarine,scholarship,substantial,transition,victorian,http,nevertheless,filed,supports,continental,tribes,ratio,doubles,useful,honours,blocks,principle,retail,departure,ranks,patrol,yorkshire,vancouver,inter,extent,afghanistan,strip,railways,component,organ,symbol,categories,encouraged,abroad,civilian,periods,traveled,writes,struggle,immediate,recommended,adaptation,egyptian,graduating,assault,drums,nomination,historically,voting,allies,detailed,achievement,percentage,arabic,assist,frequent,toured,apply,and/or,intersection,maine,touchdown,throne,produces,contribution,emerged,obtain,archbishop,seek,researchers,remainder,populations,clan,finnish,overseas,fifa,licensed,chemistry,festivals,mediterranean,injuries,animated,seeking,publisher,volumes,limits,venue,jerusalem,generated,trials,islam,youngest,ruling,glasgow,germans,songwriter,persian,municipalities,donated,viewed,belgian,cooperation,posted,tech,dual,volunteer,settlers,commanded,claiming,approval,delhi,usage,terminus,partly,electricity,locally,editions,premiere,absence,belief,traditions,statue,indicate,manor,stable,attributed,possession,managing,viewers,chile,overview,seed,regulations,essential,minority,cargo,segment,endemic,forum,deaths,monthly,playoffs,erected,practical,machines,suburb,relation,mrs.,descent,indoor,continuous,characterized,solutions,caribbean,rebuilt,serbian,summary,contested,psychology,pitch,attending,muhammad,tenure,drivers,diameter,assets,venture,punk,airlines,concentration,athletes,volunteers,pages,mines,influences,sculpture,protest,ferry,behalf,drafted,apparent,furthermore,ranging,romanian,democracy,lanka,significance,linear,d.c.,certified,voters,recovered,tours,demolished,boundaries,assisted,identify,grades,elsewhere,mechanism,1940s,reportedly,aimed,conversion,suspended,photography,departments,beijing,locomotives,publicly,dispute,magazines,resort,conventional,platforms,internationally,capita,settlements,dramatic,derby,establishing,involves,statistical,implementation,immigrants,exposed,diverse,layer,vast,ceased,connections,belonged,interstate,uefa,organised,abuse,deployed,cattle,partially,filming,mainstream,reduction,automatic,rarely,subsidiary,decides,merger,comprehensive,displayed,amendment,guinea,exclusively,manhattan,concerning,commons,radical,serbia,baptist,buses,initiated,portrait,harbour,choir,citizen,sole,unsuccessful,manufactured,enforcement,connecting,increases,patterns,sacred,muslims,clothing,hindu,unincorporated,sentenced,advisory,tanks,campaigns,fled,repeated,remote,rebellion,implemented,texts,fitted,tribute,writings,sufficient,ministers,21st,devoted,jurisdiction,coaches,interpretation,pole,businessman,peru,sporting,prices,cuba,relocated,opponent,arrangement,elite,manufacturer,responded,suitable,distinction,calendar,dominant,tourist,earning,prefecture,ties,preparation,anglo,pursue,worship,archaeological,chancellor,bangladesh,scores,traded,lowest,horror,outdoor,biology,commented,specialized,loop,arriving,farming,housed,historians,'the,patent,pupils,christianity,opponents,athens,northwestern,maps,promoting,reveals,flights,exclusive,lions,norfolk,hebrew,extensively,eldest,shops,acquisition,virtual,renowned,margin,ongoing,essentially,iranian,alternate,sailed,reporting,conclusion,originated,temperatures,exposure,secured,landed,rifle,framework,identical,martial,focuses,topics,ballet,fighters,belonging,wealthy,negotiations,evolved,bases,oriented,acres,democrat,heights,restricted,vary,graduation,aftermath,chess,illness,participating,vertical,collective,immigration,demonstrated,leaf,completing,organic,missile,leeds,eligible,grammar,confederate,improvement,congressional,wealth,cincinnati,spaces,indicates,corresponding,reaches,repair,isolated,taxes,congregation,ratings,leagues,diplomatic,submitted,winds,awareness,photographs,maritime,nigeria,accessible,animation,restaurants,philippine,inaugural,dismissed,armenian,illustrated,reservoir,speakers,programmes,resource,genetic,interviews,camps,regulation,computers,preferred,travelled,comparison,distinctive,recreation,requested,southeastern,dependent,brisbane,breeding,playoff,expand,bonus,gauge,departed,qualification,inspiration,shipping,slaves,variations,shield,theories,munich,recognised,emphasis,favour,variable,seeds,undergraduate,territorial,intellectual,qualify,mini,banned,pointed,democrats,assessment,judicial,examination,attempting,objective,partial,characteristic,hardware,pradesh,execution,ottawa,metre,drum,exhibitions,withdrew,attendance,phrase,journalism,logo,measured,error,christians,trio,protestant,theology,respective,atmosphere,buddhist,substitute,curriculum,fundamental,outbreak,rabbi,intermediate,designation,globe,liberation,simultaneously,diseases,experiments,locomotive,difficulties,mainland,nepal,relegated,contributing,database,developments,veteran,carries,ranges,instruction,lodge,protests,obama,newcastle,experiment,physician,describing,challenges,corruption,delaware,adventures,ensemble,succession,renaissance,tenth,altitude,receives,approached,crosses,syria,croatia,warsaw,professionals,improvements,worn,airline,compound,permitted,preservation,reducing,printing,scientist,activist,comprises,sized,societies,enters,ruler,gospel,earthquake,extend,autonomous,croatian,serial,decorated,relevant,ideal,grows,grass,tier,towers,wider,welfare,columns,alumni,descendants,interface,reserves,banking,colonies,manufacturers,magnetic,closure,pitched,vocalist,preserve,enrolled,cancelled,equation,2000s,nickname,bulgaria,heroes,exile,mathematical,demands,input,structural,tube,stem,approaches,argentine,axis,manuscript,inherited,depicted,targets,visits,veterans,regard,removal,efficiency,organisations,concepts,lebanon,manga,petersburg,rally,supplied,amounts,yale,tournaments,broadcasts,signals,pilots,azerbaijan,architects,enzyme,literacy,declaration,placing,batting,incumbent,bulgarian,consistent,poll,defended,landmark,southwestern,raid,resignation,travels,casualties,prestigious,namely,aims,recipient,warfare,readers,collapse,coached,controls,volleyball,coup,lesser,verse,pairs,exhibited,proteins,molecular,abilities,integration,consist,aspect,advocate,administered,governing,hospitals,commenced,coins,lords,variation,resumed,canton,artificial,elevated,palm,difficulty,civic,efficient,northeastern,inducted,radiation,affiliate,boards,stakes,byzantine,consumption,freight,interaction,oblast,numbered,seminary,contracts,extinct,predecessor,bearing,cultures,functional,neighboring,revised,cylinder,grants,narrative,reforms,athlete,tales,reflect,presidency,compositions,specialist,cricketer,founders,sequel,widow,disbanded,associations,backed,thereby,pitcher,commanding,boulevard,singers,crops,militia,reviewed,centres,waves,consequently,fortress,tributary,portions,bombing,excellence,nest,payment,mars,plaza,unity,victories,scotia,farms,nominations,variant,attacking,suspension,installation,graphics,estates,comments,acoustic,destination,venues,surrender,retreat,libraries,quarterback,customs,berkeley,collaborated,gathered,syndrome,dialogue,recruited,shanghai,neighbouring,psychological,saudi,moderate,exhibit,innovation,depot,binding,brunswick,situations,certificate,actively,shakespeare,editorial,presentation,ports,relay,nationalist,methodist,archives,experts,maintains,collegiate,bishops,maintaining,temporarily,embassy,essex,wellington,connects,reformed,bengal,recalled,inches,doctrine,deemed,legendary,reconstruction,statements,palestinian,meter,achievements,riders,interchange,spots,auto,accurate,chorus,dissolved,missionary,thai,operators,e.g.,generations,failing,delayed,cork,nashville,perceived,venezuela,cult,emerging,tomb,abolished,documented,gaining,canyon,episcopal,stored,assists,compiled,kerala,kilometers,mosque,grammy,theorem,unions,segments,glacier,arrives,theatrical,circulation,conferences,chapters,displays,circular,authored,conductor,fewer,dimensional,nationwide,liga,yugoslavia,peer,vietnamese,fellowship,armies,regardless,relating,dynamic,politicians,mixture,serie,somerset,imprisoned,posts,beliefs,beta,layout,independently,electronics,provisions,fastest,logic,headquartered,creates,challenged,beaten,appeals,plains,protocol,graphic,accommodate,iraqi,midfielder,span,commentary,freestyle,reflected,palestine,lighting,burial,virtually,backing,prague,tribal,heir,identification,prototype,criteria,dame,arch,tissue,footage,extending,procedures,predominantly,updated,rhythm,preliminary,cafe,disorder,prevented,suburbs,discontinued,retiring,oral,followers,extends,massacre,journalists,conquest,larvae,pronounced,behaviour,diversity,sustained,addressed,geographic,restrictions,voiced,milwaukee,dialect,quoted,grid,nationally,nearest,roster,twentieth,separation,indies,manages,citing,intervention,guidance,severely,migration,artwork,focusing,rivals,trustees,varied,enabled,committees,centered,skating,slavery,cardinals,forcing,tasks,auckland,youtube,argues,colored,advisor,mumbai,requiring,theological,registration,refugees,nineteenth,survivors,runners,colleagues,priests,contribute,variants,workshop,concentrated,creator,lectures,temples,exploration,requirement,interactive,navigation,companion,perth,allegedly,releasing,citizenship,observation,stationed,ph.d.,sheep,breed,discovers,encourage,kilometres,journals,performers,isle,saskatchewan,hybrid,hotels,lancashire,dubbed,airfield,anchor,suburban,theoretical,sussex,anglican,stockholm,permanently,upcoming,privately,receiver,optical,highways,congo,colours,aggregate,authorized,repeatedly,varies,fluid,innovative,transformed,praise,convoy,demanded,discography,attraction,export,audiences,ordained,enlisted,occasional,westminster,syrian,heavyweight,bosnia,consultant,eventual,improving,aires,wickets,epic,reactions,scandal,i.e.,discrimination,buenos,patron,investors,conjunction,testament,construct,encountered,celebrity,expanding,georgian,brands,retain,underwent,algorithm,foods,provision,orbit,transformation,associates,tactical,compact,varieties,stability,refuge,gathering,moreover,manila,configuration,gameplay,discipline,entity,comprising,composers,skill,monitoring,ruins,museums,sustainable,aerial,altered,codes,voyage,friedrich,conflicts,storyline,travelling,conducting,merit,indicating,referendum,currency,encounter,particles,automobile,workshops,acclaimed,inhabited,doctorate,cuban,phenomenon,dome,enrollment,tobacco,governance,trend,equally,manufacture,hydrogen,grande,compensation,download,pianist,grain,shifted,neutral,evaluation,define,cycling,seized,array,relatives,motors,firms,varying,automatically,restore,nicknamed,findings,governed,investigate,manitoba,administrator,vital,integral,indonesian,confusion,publishers,enable,geographical,inland,naming,civilians,reconnaissance,indianapolis,lecturer,deer,tourists,exterior,rhode,bassist,symbols,scope,ammunition,yuan,poets,punjab,nursing,cent,developers,estimates,presbyterian,nasa,holdings,generate,renewed,computing,cyprus,arabia,duration,compounds,gastropod,permit,valid,touchdowns,facade,interactions,mineral,practiced,allegations,consequence,goalkeeper,baronet,copyright,uprising,carved,targeted,competitors,mentions,sanctuary,fees,pursued,tampa,chronicle,capabilities,specified,specimens,toll,accounting,limestone,staged,upgraded,philosophical,streams,guild,revolt,rainfall,supporter,princeton,terrain,hometown,probability,assembled,paulo,surrey,voltage,developer,destroyer,floors,lineup,curve,prevention,potentially,onwards,trips,imposed,hosting,striking,strict,admission,apartments,solely,utility,proceeded,observations,euro,incidents,vinyl,profession,haven,distant,expelled,rivalry,runway,torpedo,zones,shrine,dimensions,investigations,lithuania,idaho,pursuit,copenhagen,considerably,locality,wireless,decrease,genes,thermal,deposits,hindi,habitats,withdrawn,biblical,monuments,casting,plateau,thesis,managers,flooding,assassination,acknowledged,interim,inscription,guided,pastor,finale,insects,transported,activists,marshal,intensity,airing,cardiff,proposals,lifestyle,prey,herald,capitol,aboriginal,measuring,lasting,interpreted,occurring,desired,drawings,healthcare,panels,elimination,oslo,ghana,blog,sabha,intent,superintendent,governors,bankruptcy,p.m.,equity,disk,layers,slovenia,prussia,quartet,mechanics,graduates,politically,monks,screenplay,nato,absorbed,topped,petition,bold,morocco,exhibits,canterbury,publish,rankings,crater,dominican,enhanced,planes,lutheran,governmental,joins,collecting,brussels,unified,streak,strategies,flagship,surfaces,oval,archive,etymology,imprisonment,instructor,noting,remix,opposing,servant,rotation,width,trans,maker,synthesis,excess,tactics,snail,ltd.,lighthouse,sequences,cornwall,plantation,mythology,performs,foundations,populated,horizontal,speedway,activated,performer,diving,conceived,edmonton,subtropical,environments,prompted,semifinals,caps,bulk,treasury,recreational,telegraph,continent,portraits,relegation,catholics,graph,velocity,rulers,endangered,secular,observer,learns,inquiry,idol,dictionary,certification,estimate,cluster,armenia,observatory,revived,nadu,consumers,hypothesis,manuscripts,contents,arguments,editing,trails,arctic,essays,belfast,acquire,promotional,undertaken,corridor,proceedings,antarctic,millennium,labels,delegates,vegetation,acclaim,directing,substance,outcome,diploma,philosopher,malta,albanian,vicinity,degc,legends,regiments,consent,terrorist,scattered,presidents,gravity,orientation,deployment,duchy,refuses,estonia,crowned,separately,renovation,rises,wilderness,objectives,agreements,empress,slopes,inclusion,equality,decree,ballot,criticised,rochester,recurring,struggled,disabled,henri,poles,prussian,convert,bacteria,poorly,sudan,geological,wyoming,consistently,minimal,withdrawal,interviewed,proximity,repairs,initiatives,pakistani,republicans,propaganda,viii,abstract,commercially,availability,mechanisms,naples,discussions,underlying,lens,proclaimed,advised,spelling,auxiliary,attract,lithuanian,editors,o'brien,accordance,measurement,novelist,ussr,formats,councils,contestants,indie,facebook,parishes,barrier,battalions,sponsor,consulting,terrorism,implement,uganda,crucial,unclear,notion,distinguish,collector,attractions,filipino,ecology,investments,capability,renovated,iceland,albania,accredited,scouts,armor,sculptor,cognitive,errors,gaming,condemned,successive,consolidated,baroque,entries,regulatory,reserved,treasurer,variables,arose,technological,rounded,provider,rhine,agrees,accuracy,genera,decreased,frankfurt,ecuador,edges,particle,rendered,calculated,careers,faction,rifles,americas,gaelic,portsmouth,resides,merchants,fiscal,premises,coin,draws,presenter,acceptance,ceremonies,pollution,consensus,membrane,brigadier,nonetheless,genres,supervision,predicted,magnitude,finite,differ,ancestry,vale,delegation,removing,proceeds,placement,emigrated,siblings,molecules,payments,considers,demonstration,proportion,newer,valve,achieving,confederation,continuously,luxury,notre,introducing,coordinates,charitable,squadrons,disorders,geometry,winnipeg,ulster,loans,longtime,receptor,preceding,belgrade,mandate,wrestler,neighbourhood,factories,buddhism,imported,sectors,protagonist,steep,elaborate,prohibited,artifacts,prizes,pupil,cooperative,sovereign,subspecies,carriers,allmusic,nationals,settings,autobiography,neighborhoods,analog,facilitate,voluntary,jointly,newfoundland,organizing,raids,exercises,nobel,machinery,baltic,crop,granite,dense,websites,mandatory,seeks,surrendered,anthology,comedian,bombs,slot,synopsis,critically,arcade,marking,equations,halls,indo,inaugurated,embarked,speeds,clause,invention,premiership,likewise,presenting,demonstrate,designers,organize,examined,km/h,bavaria,troop,referee,detection,zurich,prairie,rapper,wingspan,eurovision,luxembourg,slovakia,inception,disputed,mammals,entrepreneur,makers,evangelical,yield,clergy,trademark,defunct,allocated,depicting,volcanic,batted,conquered,sculptures,providers,reflects,armoured,locals,walt,herzegovina,contracted,entities,sponsorship,prominence,flowing,ethiopia,marketed,corporations,withdraw,carnegie,induced,investigated,portfolio,flowering,opinions,viewing,classroom,donations,bounded,perception,leicester,fruits,charleston,academics,statute,complaints,smallest,deceased,petroleum,resolved,commanders,algebra,southampton,modes,cultivation,transmitter,spelled,obtaining,sizes,acre,pageant,bats,abbreviated,correspondence,barracks,feast,tackles,raja,derives,geology,disputes,translations,counted,constantinople,seating,macedonia,preventing,accommodation,homeland,explored,invaded,provisional,transform,sphere,unsuccessfully,missionaries,conservatives,highlights,traces,organisms,openly,dancers,fossils,absent,monarchy,combining,lanes,stint,dynamics,chains,missiles,screening,module,tribune,generating,miners,nottingham,seoul,unofficial,owing,linking,rehabilitation,citation,louisville,mollusk,depicts,differential,zimbabwe,kosovo,recommendations,responses,pottery,scorer,aided,exceptions,dialects,telecommunications,defines,elderly,lunar,coupled,flown,25th,espn,formula_1,bordered,fragments,guidelines,gymnasium,valued,complexity,papal,presumably,maternal,challenging,reunited,advancing,comprised,uncertain,favorable,twelfth,correspondent,nobility,livestock,expressway,chilean,tide,researcher,emissions,profits,lengths,accompanying,witnessed,itunes,drainage,slope,reinforced,feminist,sanskrit,develops,physicians,outlets,isbn,coordinator,averaged,termed,occupy,diagnosed,yearly,humanitarian,prospect,spacecraft,stems,enacted,linux,ancestors,karnataka,constitute,immigrant,thriller,ecclesiastical,generals,celebrations,enhance,heating,advocated,evident,advances,bombardment,watershed,shuttle,wicket,twitter,adds,branded,teaches,schemes,pension,advocacy,conservatory,cairo,varsity,freshwater,providence,seemingly,shells,cuisine,specially,peaks,intensive,publishes,trilogy,skilled,nacional,unemployment,destinations,parameters,verses,trafficking,determination,infinite,savings,alignment,linguistic,countryside,dissolution,measurements,advantages,licence,subfamily,highlands,modest,regent,algeria,crest,teachings,knockout,brewery,combine,conventions,descended,chassis,primitive,fiji,explicitly,cumberland,uruguay,laboratories,bypass,elect,informal,preceded,holocaust,tackle,minneapolis,quantity,securities,console,doctoral,religions,commissioners,expertise,unveiled,precise,diplomat,standings,infant,disciplines,sicily,endorsed,systematic,charted,armored,mild,lateral,townships,hurling,prolific,invested,wartime,compatible,galleries,moist,battlefield,decoration,convent,tubes,terrestrial,nominee,requests,delegate,leased,dubai,polar,applying,addresses,munster,sings,commercials,teamed,dances,eleventh,midland,cedar,flee,sandstone,snails,inspection,divide,asset,themed,comparable,paramount,dairy,archaeology,intact,institutes,rectangular,instances,phases,reflecting,substantially,applies,vacant,lacked,copa,coloured,encounters,sponsors,encoded,possess,revenues,ucla,chaired,a.m.,enabling,playwright,stoke,sociology,tibetan,frames,motto,financing,illustrations,gibraltar,chateau,bolivia,transmitted,enclosed,persuaded,urged,folded,suffolk,regulated,bros.,submarines,myth,oriental,malaysian,effectiveness,narrowly,acute,sunk,replied,utilized,tasmania,consortium,quantities,gains,parkway,enlarged,sided,employers,adequate,accordingly,assumption,ballad,mascot,distances,peaking,saxony,projected,affiliation,limitations,metals,guatemala,scots,theaters,kindergarten,verb,employer,differs,discharge,controller,seasonal,marching,guru,campuses,avoided,vatican,maori,excessive,chartered,modifications,caves,monetary,sacramento,mixing,institutional,celebrities,irrigation,shapes,broadcaster,anthem,attributes,demolition,offshore,specification,surveys,yugoslav,contributor,auditorium,lebanese,capturing,airports,classrooms,chennai,paths,tendency,determining,lacking,upgrade,sailors,detected,kingdoms,sovereignty,freely,decorative,momentum,scholarly,georges,gandhi,speculation,transactions,undertook,interact,similarities,cove,teammate,constituted,painters,tends,madagascar,partnerships,afghan,personalities,attained,rebounds,masses,synagogue,reopened,asylum,embedded,imaging,catalogue,defenders,taxonomy,fiber,afterward,appealed,communists,lisbon,rica,judaism,adviser,batsman,ecological,commands,lgbt,cooling,accessed,wards,shiva,employs,thirds,scenic,worcester,tallest,contestant,humanities,economist,textile,constituencies,motorway,tram,percussion,cloth,leisure,1880s,baden,flags,resemble,riots,coined,sitcom,composite,implies,daytime,tanzania,penalties,optional,competitor,excluded,steering,reversed,autonomy,reviewer,breakthrough,professionally,damages,pomeranian,deputies,valleys,ventures,highlighted,electorate,mapping,shortened,executives,tertiary,specimen,launching,bibliography,sank,pursuing,binary,descendant,marched,natives,ideology,turks,adolf,archdiocese,tribunal,exceptional,nigerian,preference,fails,loading,comeback,vacuum,favored,alter,remnants,consecrated,spectators,trends,patriarch,feedback,paved,sentences,councillor,astronomy,advocates,broader,commentator,commissions,identifying,revealing,theatres,incomplete,enables,constituent,reformation,tract,haiti,atmospheric,screened,explosive,czechoslovakia,acids,symbolic,subdivision,liberals,incorporate,challenger,erie,filmmaker,laps,kazakhstan,organizational,evolutionary,chemicals,dedication,riverside,fauna,moths,maharashtra,annexed,gen.,resembles,underwater,garnered,timeline,remake,suited,educator,hectares,automotive,feared,latvia,finalist,narrator,portable,airways,plaque,designing,villagers,licensing,flank,statues,struggles,deutsche,migrated,cellular,jacksonville,wimbledon,defining,highlight,preparatory,planets,cologne,employ,frequencies,detachment,readily,libya,resign,halt,helicopters,reef,landmarks,collaborative,irregular,retaining,helsinki,folklore,weakened,viscount,interred,professors,memorable,mega,repertoire,rowing,dorsal,albeit,progressed,operative,coronation,liner,telugu,domains,philharmonic,detect,bengali,synthetic,tensions,atlas,dramatically,paralympics,xbox,shire,kiev,lengthy,sued,notorious,seas,screenwriter,transfers,aquatic,pioneers,unesco,radius,abundant,tunnels,syndicated,inventor,accreditation,janeiro,exeter,ceremonial,omaha,cadet,predators,resided,prose,slavic,precision,abbot,deity,engaging,cambodia,estonian,compliance,demonstrations,protesters,reactor,commodore,successes,chronicles,mare,extant,listings,minerals,tonnes,parody,cultivated,traders,pioneering,supplement,slovak,preparations,collision,partnered,vocational,atoms,malayalam,welcomed,documentation,curved,functioning,presently,formations,incorporates,nazis,botanical,nucleus,ethical,greeks,metric,automated,whereby,stance,europeans,duet,disability,purchasing,email,telescope,displaced,sodium,comparative,processor,inning,precipitation,aesthetic,import,coordination,feud,alternatively,mobility,tibet,regained,succeeding,hierarchy,apostolic,catalog,reproduction,inscriptions,vicar,clusters,posthumously,rican,loosely,additions,photographic,nowadays,selective,derivative,keyboards,guides,collectively,affecting,combines,operas,networking,decisive,terminated,continuity,finishes,ancestor,consul,heated,simulation,leipzig,incorporating,georgetown,formula_2,circa,forestry,portrayal,councillors,advancement,complained,forewings,confined,transaction,definitions,reduces,televised,1890s,rapids,phenomena,belarus,alps,landscapes,quarterly,specifications,commemorate,continuation,isolation,antenna,downstream,patents,ensuing,tended,saga,lifelong,columnist,labeled,gymnastics,papua,anticipated,demise,encompasses,madras,antarctica,interval,icon,rams,midlands,ingredients,priory,strengthen,rouge,explicit,gaza,aging,securing,anthropology,listeners,adaptations,underway,vista,malay,fortified,lightweight,violations,concerto,financed,jesuit,observers,trustee,descriptions,nordic,resistant,opted,accepts,prohibition,andhra,inflation,negro,wholly,imagery,spur,instructed,gloucester,cycles,middlesex,destroyers,statewide,evacuated,hyderabad,peasants,mice,shipyard,coordinate,pitching,colombian,exploring,numbering,compression,countess,hiatus,exceed,raced,archipelago,traits,soils,o'connor,vowel,android,facto,angola,amino,holders,logistics,circuits,emergence,kuwait,partition,emeritus,outcomes,submission,promotes,barack,negotiated,loaned,stripped,50th,excavations,treatments,fierce,participant,exports,decommissioned,cameo,remarked,residences,fuselage,mound,undergo,quarry,node,midwest,specializing,occupies,etc.,showcase,molecule,offs,modules,salon,exposition,revision,peers,positioned,hunters,competes,algorithms,reside,zagreb,calcium,uranium,silicon,airs,counterpart,outlet,collectors,sufficiently,canberra,inmates,anatomy,ensuring,curves,aviv,firearms,basque,volcano,thrust,sheikh,extensions,installations,aluminum,darker,sacked,emphasized,aligned,asserted,pseudonym,spanning,decorations,eighteenth,orbital,spatial,subdivided,notation,decay,macedonian,amended,declining,cyclist,feat,unusually,commuter,birthplace,latitude,activation,overhead,30th,finalists,whites,encyclopedia,tenor,qatar,survives,complement,concentrations,uncommon,astronomical,bangalore,pius,genome,memoir,recruit,prosecutor,modification,paired,container,basilica,arlington,displacement,germanic,mongolia,proportional,debates,matched,calcutta,rows,tehran,aerospace,prevalent,arise,lowland,24th,spokesman,supervised,advertisements,clash,tunes,revelation,wanderers,quarterfinals,fisheries,steadily,memoirs,pastoral,renewable,confluence,acquiring,strips,slogan,upstream,scouting,analyst,practitioners,turbine,strengthened,heavier,prehistoric,plural,excluding,isles,persecution,turin,rotating,villain,hemisphere,unaware,arabs,corpus,relied,singular,unanimous,schooling,passive,angles,dominance,instituted,aria,outskirts,balanced,beginnings,financially,structured,parachute,viewer,attitudes,subjected,escapes,derbyshire,erosion,addressing,styled,declaring,originating,colts,adjusted,stained,occurrence,fortifications,baghdad,nitrogen,localities,yemen,galway,debris,lodz,victorious,pharmaceutical,substances,unnamed,dwelling,atop,developmental,activism,voter,refugee,forested,relates,overlooking,genocide,kannada,insufficient,oversaw,partisan,dioxide,recipients,factions,mortality,capped,expeditions,receptors,reorganized,prominently,atom,flooded,flute,orchestral,scripts,mathematician,airplay,detached,rebuilding,dwarf,brotherhood,salvation,expressions,arabian,cameroon,poetic,recruiting,bundesliga,inserted,scrapped,disabilities,evacuation,pasha,undefeated,crafts,rituals,aluminium,norm,pools,submerged,occupying,pathway,exams,prosperity,wrestlers,promotions,basal,permits,nationalism,trim,merge,gazette,tributaries,transcription,caste,porto,emerge,modeled,adjoining,counterparts,paraguay,redevelopment,renewal,unreleased,equilibrium,similarity,minorities,soviets,comprise,nodes,tasked,unrelated,expired,johan,precursor,examinations,electrons,socialism,exiled,admiralty,floods,wigan,nonprofit,lacks,brigades,screens,repaired,hanover,fascist,labs,osaka,delays,judged,statutory,colt,col.,offspring,solving,bred,assisting,retains,somalia,grouped,corresponds,tunisia,chaplain,eminent,chord,22nd,spans,viral,innovations,possessions,mikhail,kolkata,icelandic,implications,introduces,racism,workforce,alto,compulsory,admits,censorship,onset,reluctant,inferior,iconic,progression,liability,turnout,satellites,behavioral,coordinated,exploitation,posterior,averaging,fringe,krakow,mountainous,greenwich,para,plantations,reinforcements,offerings,famed,intervals,constraints,individually,nutrition,1870s,taxation,threshold,tomatoes,fungi,contractor,ethiopian,apprentice,diabetes,wool,gujarat,honduras,norse,bucharest,23rd,arguably,accompany,prone,teammates,perennial,vacancy,polytechnic,deficit,okinawa,functionality,reminiscent,tolerance,transferring,myanmar,concludes,neighbours,hydraulic,economically,slower,plots,charities,synod,investor,catholicism,identifies,bronx,interpretations,adverse,judiciary,hereditary,nominal,sensor,symmetry,cubic,triangular,tenants,divisional,outreach,representations,passages,undergoing,cartridge,testified,exceeded,impacts,limiting,railroads,defeats,regain,rendering,humid,retreated,reliability,governorate,antwerp,infamous,implied,packaging,lahore,trades,billed,extinction,ecole,rejoined,recognizes,projection,qualifications,stripes,forts,socially,lexington,accurately,sexuality,westward,wikipedia,pilgrimage,abolition,choral,stuttgart,nests,expressing,strikeouts,assessed,monasteries,reconstructed,humorous,marxist,fertile,consort,urdu,patronage,peruvian,devised,lyric,baba,nassau,communism,extraction,popularly,markings,inability,litigation,accounted,processed,emirates,tempo,cadets,eponymous,contests,broadly,oxide,courtyard,frigate,directory,apex,outline,regency,chiefly,patrols,secretariat,cliffs,residency,privy,armament,australians,dorset,geometric,genetics,scholarships,fundraising,flats,demographic,multimedia,captained,documentaries,updates,canvas,blockade,guerrilla,songwriting,administrators,intake,drought,implementing,fraction,cannes,refusal,inscribed,meditation,announcing,exported,ballots,formula_3,curator,basel,arches,flour,subordinate,confrontation,gravel,simplified,berkshire,patriotic,tuition,employing,servers,castile,posting,combinations,discharged,miniature,mutations,constellation,incarnation,ideals,necessity,granting,ancestral,crowds,pioneered,mormon,methodology,rama,indirect,complexes,bavarian,patrons,uttar,skeleton,bollywood,flemish,viable,bloc,breeds,triggered,sustainability,tailed,referenced,comply,takeover,latvian,homestead,platoon,communal,nationality,excavated,targeting,sundays,posed,physicist,turret,endowment,marginal,dispatched,commentators,renovations,attachment,collaborations,ridges,barriers,obligations,shareholders,prof.,defenses,presided,rite,backgrounds,arbitrary,affordable,gloucestershire,thirteenth,inlet,miniseries,possesses,detained,pressures,subscription,realism,solidarity,proto,postgraduate,noun,burmese,abundance,homage,reasoning,anterior,robust,fencing,shifting,vowels,garde,profitable,loch,anchored,coastline,samoa,terminology,prostitution,magistrate,venezuelan,speculated,regulate,fixture,colonists,digit,induction,manned,expeditionary,computational,centennial,principally,vein,preserving,engineered,numerical,cancellation,conferred,continually,borne,seeded,advertisement,unanimously,treaties,infections,ions,sensors,lowered,amphibious,lava,fourteenth,bahrain,niagara,nicaragua,squares,congregations,26th,periodic,proprietary,1860s,contributors,seller,overs,emission,procession,presumed,illustrator,zinc,gases,tens,applicable,stretches,reproductive,sixteenth,apparatus,accomplishments,canoe,guam,oppose,recruitment,accumulated,limerick,namibia,staging,remixes,ordnance,uncertainty,pedestrian,temperate,treason,deposited,registry,cerambycidae,attracting,lankan,reprinted,shipbuilding,homosexuality,neurons,eliminating,1900s,resume,ministries,beneficial,blackpool,surplus,northampton,licenses,constructing,announcer,standardized,alternatives,taipei,inadequate,failures,yields,medalist,titular,obsolete,torah,burlington,predecessors,lublin,retailers,castles,depiction,issuing,gubernatorial,propulsion,tiles,damascus,discs,alternating,pomerania,peasant,tavern,redesignated,27th,illustration,focal,mans,codex,specialists,productivity,antiquity,controversies,promoter,pits,companions,behaviors,lyrical,prestige,creativity,swansea,dramas,approximate,feudal,tissues,crude,campaigned,unprecedented,chancel,amendments,surroundings,allegiance,exchanges,align,firmly,optimal,commenting,reigning,landings,obscure,1850s,contemporaries,paternal,devi,endurance,communes,incorporation,denominations,exchanged,routing,resorts,amnesty,slender,explores,suppression,heats,pronunciation,centred,coupe,stirling,freelance,treatise,linguistics,laos,informs,discovering,pillars,encourages,halted,robots,definitive,maturity,tuberculosis,venetian,silesian,unchanged,originates,mali,lincolnshire,quotes,seniors,premise,contingent,distribute,danube,gorge,logging,dams,curling,seventeenth,specializes,wetlands,deities,assess,thickness,rigid,culminated,utilities,substrate,insignia,nile,assam,shri,currents,suffrage,canadians,mortar,asteroid,bosnian,discoveries,enzymes,sanctioned,replica,hymn,investigators,tidal,dominate,derivatives,converting,leinster,verbs,honoured,criticisms,dismissal,discrete,masculine,reorganization,unlimited,wurttemberg,sacks,allocation,bahn,jurisdictions,participates,lagoon,famine,communion,culminating,surveyed,shortage,cables,intersects,cassette,foremost,adopting,solicitor,outright,bihar,reissued,farmland,dissertation,turnpike,baton,photographed,christchurch,kyoto,finances,rails,histories,linebacker,kilkenny,accelerated,dispersed,handicap,absorption,rancho,ceramic,captivity,cites,font,weighed,mater,utilize,bravery,extract,validity,slovenian,seminars,discourse,ranged,duel,ironically,warships,sega,temporal,surpassed,prolonged,recruits,northumberland,greenland,contributes,patented,eligibility,unification,discusses,reply,translates,beirut,relies,torque,northward,reviewers,monastic,accession,neural,tramway,heirs,sikh,subscribers,amenities,taliban,audit,rotterdam,wagons,kurdish,favoured,combustion,meanings,persia,browser,diagnostic,niger,formula_4,denomination,dividing,parameter,branding,badminton,leningrad,sparked,hurricanes,beetles,propeller,mozambique,refined,diagram,exhaust,vacated,readings,markers,reconciliation,determines,concurrent,imprint,primera,organism,demonstrating,filmmakers,vanderbilt,affiliates,traction,evaluated,defendants,megachile,investigative,zambia,assassinated,rewarded,probable,staffordshire,foreigners,directorate,nominees,consolidation,commandant,reddish,differing,unrest,drilling,bohemia,resembling,instrumentation,considerations,haute,promptly,variously,dwellings,clans,tablet,enforced,cockpit,semifinal,hussein,prisons,ceylon,emblem,monumental,phrases,correspond,crossover,outlined,characterised,acceleration,caucus,crusade,protested,composing,rajasthan,habsburg,rhythmic,interception,inherent,cooled,ponds,spokesperson,gradual,consultation,kuala,globally,suppressed,builders,avengers,suffix,integer,enforce,fibers,unionist,proclamation,uncovered,infrared,adapt,eisenhower,utilizing,captains,stretched,observing,assumes,prevents,analyses,saxophone,caucasus,notices,villains,dartmouth,mongol,hostilities,stretching,veterinary,lenses,texture,prompting,overthrow,excavation,islanders,masovian,battleship,biographer,replay,degradation,departing,luftwaffe,fleeing,oversight,immigrated,serbs,fishermen,strengthening,respiratory,italians,denotes,radial,escorted,motif,wiltshire,expresses,accessories,reverted,establishments,inequality,protocols,charting,famously,satirical,entirety,trench,friction,atletico,sampling,subset,weekday,upheld,sharply,correlation,incorrect,mughal,travelers,hasan,earnings,offset,evaluate,specialised,recognizing,flexibility,nagar,postseason,algebraic,capitalism,crystals,melodies,polynomial,racecourse,defences,austro,wembley,attracts,anarchist,resurrection,reviewing,decreasing,prefix,ratified,mutation,displaying,separating,restoring,assemblies,ordinance,priesthood,cruisers,appoint,moldova,imports,directive,epidemic,militant,senegal,signaling,restriction,critique,retrospective,nationalists,undertake,sioux,canals,algerian,redesigned,philanthropist,depict,conceptual,turbines,intellectuals,eastward,applicants,contractors,vendors,undergone,namesake,ensured,tones,substituted,hindwings,arrests,tombs,transitional,principality,reelection,taiwanese,cavity,manifesto,broadcasters,spawned,thoroughbred,identities,generators,proposes,hydroelectric,johannesburg,cortex,scandinavian,killings,aggression,boycott,catalyst,physiology,fifteenth,waterfront,chromosome,organist,costly,calculation,cemeteries,flourished,recognise,juniors,merging,disciples,ashore,workplace,enlightenment,diminished,debated,hailed,podium,educate,mandated,distributor,litre,electromagnetic,flotilla,estuary,peterborough,staircase,selections,melodic,confronts,wholesale,integrate,intercepted,catalonia,unite,immense,palatinate,switches,earthquakes,occupational,successors,praising,concluding,faculties,firstly,overhaul,empirical,metacritic,inauguration,evergreen,laden,winged,philosophers,amalgamated,geoff,centimeters,napoleonic,upright,planting,brewing,fined,sensory,migrants,wherein,inactive,headmaster,warwickshire,siberia,terminals,denounced,academia,divinity,bilateral,clive,omitted,peerage,relics,apartheid,syndicate,fearing,fixtures,desirable,dismantled,ethnicity,valves,biodiversity,aquarium,ideological,visibility,creators,analyzed,tenant,balkan,postwar,supplier,smithsonian,risen,morphology,digits,bohemian,wilmington,vishnu,demonstrates,aforementioned,biographical,mapped,khorasan,phosphate,presentations,ecosystem,processors,calculations,mosaic,clashes,penned,recalls,coding,angular,lattice,macau,accountability,extracted,pollen,therapeutic,overlap,violinist,deposed,candidacy,infants,covenant,bacterial,restructuring,dungeons,ordination,conducts,builds,invasive,customary,concurrently,relocation,cello,statutes,borneo,entrepreneurs,sanctions,packet,rockefeller,piedmont,comparisons,waterfall,receptions,glacial,surge,signatures,alterations,advertised,enduring,somali,botanist,100th,canonical,motifs,longitude,circulated,alloy,indirectly,margins,preserves,internally,besieged,shale,peripheral,drained,baseman,reassigned,tobago,soloist,socio,grazing,contexts,roofs,portraying,ottomans,shrewsbury,noteworthy,lamps,supplying,beams,qualifier,portray,greenhouse,stronghold,hitter,rites,cretaceous,urging,derive,nautical,aiming,fortunes,verde,donors,reliance,exceeding,exclusion,exercised,simultaneous,continents,guiding,pillar,gradient,poznan,eruption,clinics,moroccan,indicator,trams,piers,parallels,fragment,teatro,potassium,satire,compressed,businessmen,influx,seine,perspectives,shelters,decreases,mounting,formula_5,confederacy,equestrian,expulsion,mayors,liberia,resisted,affinity,shrub,unexpectedly,stimulus,amtrak,deported,perpendicular,statesman,wharf,storylines,romanesque,weights,surfaced,interceptions,dhaka,crambidae,orchestras,rwanda,conclude,constitutes,subsidiaries,admissions,prospective,shear,bilingual,campaigning,presiding,domination,commemorative,trailing,confiscated,petrol,acquisitions,polymer,onlyinclude,chloride,elevations,resolutions,hurdles,pledged,likelihood,objected,erect,encoding,databases,aristotle,hindus,marshes,bowled,ministerial,grange,acronym,annexation,squads,ambient,pilgrims,botany,sofla,astronomer,planetary,descending,bestowed,ceramics,diplomacy,metabolism,colonization,potomac,africans,engraved,recycling,commitments,resonance,disciplinary,jamaican,narrated,spectral,tipperary,waterford,stationary,arbitration,transparency,threatens,crossroads,slalom,oversee,centenary,incidence,economies,livery,moisture,newsletter,autobiographical,bhutan,propelled,dependence,moderately,adobe,barrels,subdivisions,outlook,labelled,stratford,arising,diaspora,barony,automobiles,ornamental,slated,norms,primetime,generalized,analysts,vectors,libyan,yielded,certificates,rooted,vernacular,belarusian,marketplace,prediction,fairfax,malawi,viruses,wooded,demos,mauritius,prosperous,coincided,liberties,huddersfield,ascent,warnings,hinduism,glucose,pulitzer,unused,filters,illegitimate,acquitted,protestants,canopy,staple,psychedelic,winding,abbas,pathways,cheltenham,lagos,niche,invaders,proponents,barred,conversely,doncaster,recession,embraced,rematch,concession,emigration,upgrades,bowls,tablets,remixed,loops,kensington,shootout,monarchs,organizers,harmful,punjabi,broadband,exempt,neolithic,profiles,portrays,parma,cyrillic,quasi,attested,regimental,revive,torpedoes,heidelberg,rhythms,spherical,denote,hymns,icons,theologian,qaeda,exceptionally,reinstated,comune,playhouse,lobbying,grossing,viceroy,delivers,visually,armistice,utrecht,syllable,vertices,analogous,annex,refurbished,entrants,knighted,disciple,rhetoric,detailing,inactivated,ballads,algae,intensified,favourable,sanitation,receivers,pornography,commemorated,cannons,entrusted,manifold,photographers,pueblo,textiles,steamer,myths,marquess,onward,liturgical,romney,uzbekistan,consistency,denoted,hertfordshire,convex,hearings,sulfur,universidad,podcast,selecting,emperors,arises,justices,1840s,mongolian,exploited,termination,digitally,infectious,sedan,symmetric,penal,illustrate,formulation,attribute,problematic,modular,inverse,berth,searches,rutgers,leicestershire,enthusiasts,lockheed,upwards,transverse,accolades,backward,archaeologists,crusaders,nuremberg,defects,ferries,vogue,containers,openings,transporting,separates,lumpur,purchases,attain,wichita,topology,woodlands,deleted,periodically,syntax,overturned,musicals,corp.,strasbourg,instability,nationale,prevailing,cache,marathi,versailles,unmarried,grains,straits,antagonist,segregation,assistants,d'etat,contention,dictatorship,unpopular,motorcycles,criterion,analytical,salzburg,militants,hanged,worcestershire,emphasize,paralympic,erupted,convinces,offences,oxidation,nouns,populace,atari,spanned,hazardous,educators,playable,births,baha'i,preseason,generates,invites,meteorological,handbook,foothills,enclosure,diffusion,mirza,convergence,geelong,coefficient,connector,formula_6,cylindrical,disasters,pleaded,knoxville,contamination,compose,libertarian,arrondissement,franciscan,intercontinental,susceptible,initiation,malaria,unbeaten,consonants,waived,saloon,popularized,estadio,pseudo,interdisciplinary,transports,transformers,carriages,bombings,revolves,ceded,collaborator,celestial,exemption,colchester,maltese,oceanic,ligue,crete,shareholder,routed,depictions,ridden,advisors,calculate,lending,guangzhou,simplicity,newscast,scheduling,snout,eliot,undertaking,armenians,nottinghamshire,whitish,consulted,deficiency,salle,cinemas,superseded,rigorous,kerman,convened,landowners,modernization,evenings,pitches,conditional,scandinavia,differed,formulated,cyclists,swami,guyana,dunes,electrified,appalachian,abdomen,scenarios,prototypes,sindh,consonant,adaptive,boroughs,wolverhampton,modelling,cylinders,amounted,minimize,ambassadors,lenin,settler,coincide,approximation,grouping,murals,bullying,registers,rumours,engagements,energetic,vertex,annals,bordering,geologic,yellowish,runoff,converts,allegheny,facilitated,saturdays,colliery,monitored,rainforest,interfaces,geographically,impaired,prevalence,joachim,paperback,slowed,shankar,distinguishing,seminal,categorized,authorised,auspices,bandwidth,asserts,rebranded,balkans,supplemented,seldom,weaving,capsule,apostles,populous,monmouth,payload,symphonic,densely,shoreline,managerial,masonry,antioch,averages,textbooks,royalist,coliseum,tandem,brewers,diocesan,posthumous,walled,incorrectly,distributions,ensued,reasonably,graffiti,propagation,automation,harmonic,augmented,middleweight,limbs,elongated,landfall,comparatively,literal,grossed,koppen,wavelength,1830s,cerebral,boasts,congestion,physiological,practitioner,coasts,cartoonist,undisclosed,frontal,launches,burgundy,qualifiers,imposing,stade,flanked,assyrian,raided,multiplayer,montane,chesapeake,pathology,drains,vineyards,intercollegiate,semiconductor,grassland,convey,citations,predominant,rejects,benefited,yahoo,graphs,busiest,encompassing,hamlets,explorers,suppress,minors,graphical,calculus,sediment,intends,diverted,mainline,unopposed,cottages,initiate,alumnus,towed,autism,forums,darlington,modernist,oxfordshire,lectured,capitalist,suppliers,panchayat,actresses,foundry,southbound,commodity,wesleyan,divides,palestinians,luton,caretaker,nobleman,mutiny,organizer,preferences,nomenclature,splits,unwilling,offenders,timor,relying,halftime,semitic,arithmetic,milestone,jesuits,arctiidae,retrieved,consuming,contender,edged,plagued,inclusive,transforming,khmer,federally,insurgents,distributing,amherst,rendition,prosecutors,viaduct,disqualified,kabul,liturgy,prevailed,reelected,instructors,swimmers,aperture,churchyard,interventions,totals,darts,metropolis,fuels,fluent,northbound,correctional,inflicted,barrister,realms,culturally,aristocratic,collaborating,emphasizes,choreographer,inputs,ensembles,humboldt,practised,endowed,strains,infringement,archaeologist,congregational,magna,relativity,efficiently,proliferation,mixtape,abruptly,regeneration,commissioning,yukon,archaic,reluctantly,retailer,northamptonshire,universally,crossings,boilers,nickelodeon,revue,abbreviation,retaliation,scripture,routinely,medicinal,benedictine,kenyan,retention,deteriorated,glaciers,apprenticeship,coupling,researched,topography,entrances,anaheim,pivotal,compensate,arched,modify,reinforce,dusseldorf,journeys,motorsport,conceded,sumatra,spaniards,quantitative,loire,cinematography,discarded,botswana,morale,engined,zionist,philanthropy,sainte,fatalities,cypriot,motorsports,indicators,pricing,institut,bethlehem,implicated,gravitational,differentiation,rotor,thriving,precedent,ambiguous,concessions,forecast,conserved,fremantle,asphalt,landslide,middlesbrough,formula_7,humidity,overseeing,chronological,diaries,multinational,crimean,turnover,improvised,youths,declares,tasmanian,canadiens,fumble,refinery,weekdays,unconstitutional,upward,guardians,brownish,imminent,hamas,endorsement,naturalist,martyrs,caledonia,chords,yeshiva,reptiles,severity,mitsubishi,fairs,installment,substitution,repertory,keyboardist,interpreter,silesia,noticeable,rhineland,transmit,inconsistent,booklet,academies,epithet,pertaining,progressively,aquatics,scrutiny,prefect,toxicity,rugged,consume,o'donnell,evolve,uniquely,cabaret,mediated,landowner,transgender,palazzo,compilations,albuquerque,induce,sinai,remastered,efficacy,underside,analogue,specify,possessing,advocating,compatibility,liberated,greenville,mecklenburg,header,memorials,sewage,rhodesia,1800s,salaries,atoll,coordinating,partisans,repealed,amidst,subjective,optimization,nectar,evolving,exploits,madhya,styling,accumulation,raion,postage,responds,buccaneers,frontman,brunei,choreography,coated,kinetic,sampled,inflammatory,complementary,eclectic,norte,vijay,a.k.a,mainz,casualty,connectivity,laureate,franchises,yiddish,reputed,unpublished,economical,periodicals,vertically,bicycles,brethren,capacities,unitary,archeological,tehsil,domesday,wehrmacht,justification,angered,mysore,fielded,abuses,nutrients,ambitions,taluk,battleships,symbolism,superiority,neglect,attendees,commentaries,collaborators,predictions,yorker,breeders,investing,libretto,informally,coefficients,memorandum,pounder,collingwood,tightly,envisioned,arbor,mistakenly,captures,nesting,conflicting,enhancing,streetcar,manufactures,buckinghamshire,rewards,commemorating,stony,expenditure,tornadoes,semantic,relocate,weimar,iberian,sighted,intending,ensign,beverages,expectation,differentiate,centro,utilizes,saxophonist,catchment,transylvania,ecosystems,shortest,sediments,socialists,ineffective,kapoor,formidable,heroine,guantanamo,prepares,scattering,pamphlet,verified,elector,barons,totaling,shrubs,pyrenees,amalgamation,mutually,longitudinal,comte,negatively,masonic,envoy,sexes,akbar,mythical,tonga,bishopric,assessments,malaya,warns,interiors,reefs,reflections,neutrality,musically,nomadic,waterways,provence,collaborate,scaled,adulthood,emerges,euros,optics,incentives,overland,periodical,liege,awarding,realization,slang,affirmed,schooner,hokkaido,czechoslovak,protectorate,undrafted,disagreed,commencement,electors,spruce,swindon,fueled,equatorial,inventions,suites,slovene,backdrop,adjunct,energies,remnant,inhabit,alliances,simulcast,reactors,mosques,travellers,outfielder,plumage,migratory,benin,experimented,fibre,projecting,drafting,laude,evidenced,northernmost,indicted,directional,replication,croydon,comedies,jailed,organizes,devotees,reservoirs,turrets,originate,economists,songwriters,junta,trenches,mounds,proportions,comedic,apostle,azerbaijani,farmhouse,resembled,disrupted,playback,mixes,diagonal,relevance,govern,programmer,gdansk,maize,soundtracks,tendencies,mastered,impacted,believers,kilometre,intervene,chairperson,aerodrome,sails,subsidies,ensures,aesthetics,congresses,ratios,sardinia,southernmost,functioned,controllers,downward,randomly,distortion,regents,palatine,disruption,spirituality,vidhan,tracts,compiler,ventilation,anchorage,symposium,assert,pistols,excelled,avenues,convoys,moniker,constructions,proponent,phased,spines,organising,schleswig,policing,campeonato,mined,hourly,croix,lucrative,authenticity,haitian,stimulation,burkina,espionage,midfield,manually,staffed,awakening,metabolic,biographies,entrepreneurship,conspicuous,guangdong,preface,subgroup,mythological,adjutant,feminism,vilnius,oversees,honourable,tripoli,stylized,kinase,societe,notoriety,altitudes,configurations,outward,transmissions,announces,auditor,ethanol,clube,nanjing,mecca,haifa,blogs,postmaster,paramilitary,depart,positioning,potent,recognizable,spire,brackets,remembrance,overlapping,turkic,articulated,scientology,operatic,deploy,readiness,biotechnology,restrict,cinematographer,inverted,synonymous,administratively,westphalia,commodities,replaces,downloads,centralized,munitions,preached,sichuan,fashionable,implementations,matrices,hiv/aids,loyalist,luzon,celebrates,hazards,heiress,mercenaries,synonym,creole,ljubljana,technician,auditioned,technicians,viewpoint,wetland,mongols,princely,sharif,coating,dynasties,southward,doubling,formula_8,mayoral,harvesting,conjecture,goaltender,oceania,spokane,welterweight,bracket,gatherings,weighted,newscasts,mussolini,affiliations,disadvantage,vibrant,spheres,sultanate,distributors,disliked,establishes,marches,drastically,yielding,jewellery,yokohama,vascular,airlift,canons,subcommittee,repression,strengths,graded,outspoken,fused,pembroke,filmography,redundant,fatigue,repeal,threads,reissue,pennant,edible,vapor,corrections,stimuli,commemoration,dictator,anand,secession,amassed,orchards,pontifical,experimentation,greeted,bangor,forwards,decomposition,quran,trolley,chesterfield,traverse,sermons,burials,skier,climbs,consultants,petitioned,reproduce,parted,illuminated,kurdistan,reigned,occupants,packaged,geometridae,woven,regulating,protagonists,crafted,affluent,clergyman,consoles,migrant,supremacy,attackers,caliph,defect,convection,rallies,huron,resin,segunda,quota,warship,overseen,criticizing,shrines,glamorgan,lowering,beaux,hampered,invasions,conductors,collects,bluegrass,surrounds,substrates,perpetual,chronology,pulmonary,executions,crimea,compiling,noctuidae,battled,tumors,minsk,novgorod,serviced,yeast,computation,swamps,theodor,baronetcy,salford,uruguayan,shortages,odisha,siberian,novelty,cinematic,invitational,decks,dowager,oppression,bandits,appellate,state-of-the-art,clade,palaces,signalling,galaxies,industrialist,tensor,learnt,incurred,magistrates,binds,orbits,ciudad,willingness,peninsular,basins,biomedical,shafts,marlborough,bournemouth,withstand,fitzroy,dunedin,variance,steamship,integrating,muscular,fines,akron,bulbophyllum,malmo,disclosed,cornerstone,runways,medicines,twenty20,gettysburg,progresses,frigates,bodied,transformations,transforms,helens,modelled,versatile,regulator,pursuits,legitimacy,amplifier,scriptures,voyages,examines,presenters,octagonal,poultry,formula_9,anatolia,computed,migrate,directorial,hybrids,localized,preferring,guggenheim,persisted,grassroots,inflammation,fishery,otago,vigorous,professions,instructional,inexpensive,insurgency,legislators,sequels,surnames,agrarian,stainless,nairobi,minas,forerunner,aristocracy,transitions,sicilian,showcased,doses,hiroshima,summarized,gearbox,emancipation,limitation,nuclei,seismic,abandonment,dominating,appropriations,occupations,electrification,hilly,contracting,exaggerated,entertainer,kazan,oricon,cartridges,characterization,parcel,maharaja,exceeds,aspiring,obituary,flattened,contrasted,narration,replies,oblique,outpost,fronts,arranger,talmud,keynes,doctrines,endured,confesses,fortification,supervisors,kilometer,academie,jammu,bathurst,piracy,prostitutes,navarre,cumulative,cruises,lifeboat,twinned,radicals,interacting,expenditures,wexford,libre,futsal,curated,clockwise,colloquially,procurement,immaculate,lyricist,enhancement,porcelain,alzheimer,highlighting,judah,disagreements,storytelling,sheltered,wroclaw,vaudeville,contrasts,neoclassical,compares,contrasting,deciduous,francaise,descriptive,cyclic,reactive,antiquities,meiji,repeats,creditors,forcibly,newmarket,picturesque,impending,uneven,bison,raceway,solvent,ecumenical,optic,professorship,harvested,waterway,banjo,pharaoh,geologist,scanning,dissent,recycled,unmanned,retreating,gospels,aqueduct,branched,tallinn,groundbreaking,syllables,hangar,designations,procedural,craters,cabins,encryption,anthropologist,montevideo,outgoing,inverness,chattanooga,fascism,calais,chapels,groundwater,downfall,misleading,robotic,tortricidae,pixel,handel,prohibit,crewe,renaming,reprised,kickoff,leftist,spaced,integers,causeway,pines,authorship,organise,ptolemy,accessibility,virtues,lesions,iroquois,qur'an,atheist,synthesized,biennial,confederates,dietary,skaters,stresses,tariff,koreans,intercity,republics,quintet,baroness,naive,amplitude,insistence,tbilisi,residues,grammatical,diversified,egyptians,accompaniment,vibration,repository,mandal,topological,distinctions,coherent,invariant,batters,nuevo,internationals,implements,follower,bahia,widened,independents,cantonese,totaled,guadalajara,wolverines,befriended,muzzle,surveying,hungarians,medici,deportation,rayon,approx,recounts,attends,clerical,hellenic,furnished,alleging,soluble,systemic,gallantry,bolshevik,intervened,hostel,gunpowder,specialising,stimulate,leiden,removes,thematic,floral,bafta,printers,conglomerate,eroded,analytic,successively,lehigh,thessaloniki,kilda,clauses,ascended,nehru,scripted,tokugawa,competence,diplomats,exclude,consecration,freedoms,assaults,revisions,blacksmith,textual,sparse,concacaf,slain,uploaded,enraged,whaling,guise,stadiums,debuting,dormitory,cardiovascular,yunnan,dioceses,consultancy,notions,lordship,archdeacon,collided,medial,airfields,garment,wrestled,adriatic,reversal,refueling,verification,jakob,horseshoe,intricate,veracruz,sarawak,syndication,synthesizer,anthologies,stature,feasibility,guillaume,narratives,publicized,antrim,intermittent,constituents,grimsby,filmmaking,doping,unlawful,nominally,transmitting,documenting,seater,internationale,ejected,steamboat,alsace,boise,ineligible,geared,vassal,mustered,ville,inline,pairing,eurasian,kyrgyzstan,barnsley,reprise,stereotypes,rushes,conform,firefighters,deportivo,revolutionaries,rabbis,concurrency,charters,sustaining,aspirations,algiers,chichester,falkland,morphological,systematically,volcanoes,designate,artworks,reclaimed,jurist,anglia,resurrected,chaotic,feasible,circulating,simulated,environmentally,confinement,adventist,harrisburg,laborers,ostensibly,universiade,pensions,influenza,bratislava,octave,refurbishment,gothenburg,putin,barangay,annapolis,breaststroke,illustrates,distorted,choreographed,promo,emphasizing,stakeholders,descends,exhibiting,intrinsic,invertebrates,evenly,roundabout,salts,formula_10,strata,inhibition,branching,stylistic,rumored,realises,mitochondrial,commuted,adherents,logos,bloomberg,telenovela,guineas,charcoal,engages,winery,reflective,siena,cambridgeshire,ventral,flashback,installing,engraving,grasses,traveller,rotated,proprietor,nationalities,precedence,sourced,trainers,cambodian,reductions,depleted,saharan,classifications,biochemistry,plaintiffs,arboretum,humanist,fictitious,aleppo,climates,bazaar,his/her,homogeneous,multiplication,moines,indexed,linguist,skeletal,foliage,societal,differentiated,informing,mammal,infancy,archival,cafes,malls,graeme,musee,schizophrenia,fargo,pronouns,derivation,descend,ascending,terminating,deviation,recaptured,confessions,weakening,tajikistan,bahadur,pasture,b/hip,donegal,supervising,sikhs,thinkers,euclidean,reinforcement,friars,portage,fuscous,lucknow,synchronized,assertion,choirs,privatization,corrosion,multitude,skyscraper,royalties,ligament,usable,spores,directs,clashed,stockport,fronted,dependency,contiguous,biologist,backstroke,powerhouse,frescoes,phylogenetic,welding,kildare,gabon,conveyed,augsburg,severn,continuum,sahib,lille,injuring,passeriformesfamily,succeeds,translating,unitarian,startup,turbulent,outlying,philanthropic,stanislaw,idols,claremont,conical,haryana,armagh,blended,implicit,conditioned,modulation,rochdale,labourers,coinage,shortstop,potsdam,gears,obesity,bestseller,advisers,bouts,comedians,jozef,lausanne,taxonomic,correlated,columbian,marne,indications,psychologists,libel,edict,beaufort,disadvantages,renal,finalized,racehorse,unconventional,disturbances,falsely,zoology,adorned,redesign,executing,narrower,commended,appliances,stalls,resurgence,saskatoon,miscellaneous,permitting,epoch,formula_11,cumbria,forefront,vedic,eastenders,disposed,supermarkets,rower,inhibitor,magnesium,colourful,yusuf,harrow,formulas,centrally,balancing,ionic,nocturnal,consolidate,ornate,raiding,charismatic,accelerate,nominate,residual,dhabi,commemorates,attribution,uninhabited,mindanao,atrocities,genealogical,romani,applicant,enactment,abstraction,trough,pulpit,minuscule,misconduct,grenades,timely,supplements,messaging,curvature,ceasefire,telangana,susquehanna,braking,redistribution,shreveport,neighbourhoods,gregorian,widowed,khuzestan,empowerment,scholastic,evangelist,peptide,topical,theorist,historia,thence,sudanese,museo,jurisprudence,masurian,frankish,headlined,recounted,netball,petitions,tolerant,hectare,truncated,southend,methane,captives,reigns,massif,subunit,acidic,weightlifting,footballers,sabah,britannia,tunisian,segregated,sawmill,withdrawing,unpaid,weaponry,somme,perceptions,unicode,alcoholism,durban,wrought,waterfalls,jihad,auschwitz,upland,eastbound,adjective,anhalt,evaluating,regimes,guildford,reproduced,pamphlets,hierarchical,maneuvers,hanoi,fabricated,repetition,enriched,arterial,replacements,tides,globalization,adequately,westbound,satisfactory,fleets,phosphorus,lastly,neuroscience,anchors,xinjiang,membranes,improvisation,shipments,orthodoxy,submissions,bolivian,mahmud,ramps,leyte,pastures,outlines,flees,transmitters,fares,sequential,stimulated,novice,alternately,symmetrical,breakaway,layered,baronets,lizards,blackish,edouard,horsepower,penang,principals,mercantile,maldives,overwhelmingly,hawke,rallied,prostate,conscription,juveniles,maccabi,carvings,strikers,sudbury,spurred,improves,lombardy,macquarie,parisian,elastic,distillery,shetland,humane,brentford,wrexham,warehouses,routines,encompassed,introductory,isfahan,instituto,palais,revolutions,sporadic,impoverished,portico,fellowships,speculative,enroll,dormant,adhere,fundamentally,sculpted,meritorious,template,upgrading,reformer,rectory,uncredited,indicative,creeks,galveston,radically,hezbollah,firearm,educating,prohibits,trondheim,locus,refit,headwaters,screenings,lowlands,wasps,coarse,attaining,sedimentary,perished,pitchfork,interned,cerro,stagecoach,aeronautical,liter,transitioned,haydn,inaccurate,legislatures,bromwich,knesset,spectroscopy,butte,asiatic,degraded,concordia,catastrophic,lobes,wellness,pensacola,periphery,hapoel,theta,horizontally,freiburg,liberalism,pleas,durable,warmian,offenses,mesopotamia,shandong,unsuitable,hospitalized,appropriately,phonetic,encompass,conversions,observes,illnesses,breakout,assigns,crowns,inhibitors,nightly,manifestation,fountains,maximize,alphabetical,sloop,expands,newtown,widening,gaddafi,commencing,camouflage,footprint,tyrol,barangays,universite,highlanders,budgets,query,lobbied,westchester,equator,stipulated,pointe,distinguishes,allotted,embankment,advises,storing,loyalists,fourier,rehearsals,starvation,gland,rihanna,tubular,expressive,baccalaureate,intersections,revered,carbonate,eritrea,craftsmen,cosmopolitan,sequencing,corridors,shortlisted,bangladeshi,persians,mimic,parades,repetitive,recommends,flanks,promoters,incompatible,teaming,ammonia,greyhound,solos,improper,legislator,newsweek,recurrent,vitro,cavendish,eireann,crises,prophets,mandir,strategically,guerrillas,formula_12,ghent,contenders,equivalence,drone,sociological,hamid,castes,statehood,aland,clinched,relaunched,tariffs,simulations,williamsburg,rotate,mediation,smallpox,harmonica,lodges,lavish,restrictive,o'sullivan,detainees,polynomials,echoes,intersecting,learners,elects,charlemagne,defiance,epsom,liszt,facilitating,absorbing,revelations,padua,pieter,pious,penultimate,mammalian,montenegrin,supplementary,widows,aromatic,croats,roanoke,trieste,legions,subdistrict,babylonian,grasslands,volga,violently,sparsely,oldies,telecommunication,respondents,quarries,downloadable,commandos,taxpayer,catalytic,malabar,afforded,copying,declines,nawab,junctions,assessing,filtering,classed,disused,compliant,christoph,gottingen,civilizations,hermitage,caledonian,whereupon,ethnically,springsteen,mobilization,terraces,indus,excel,zoological,enrichment,simulate,guitarists,registrar,cappella,invoked,reused,manchu,configured,uppsala,genealogy,mergers,casts,curricular,rebelled,subcontinent,horticultural,parramatta,orchestrated,dockyard,claudius,decca,prohibiting,turkmenistan,brahmin,clandestine,obligatory,elaborated,parasitic,helix,constraint,spearheaded,rotherham,eviction,adapting,albans,rescues,sociologist,guiana,convicts,occurrences,kamen,antennas,asturias,wheeled,sanitary,deterioration,trier,theorists,baseline,announcements,valea,planners,factual,serialized,serials,bilbao,demoted,fission,jamestown,cholera,alleviate,alteration,indefinite,sulfate,paced,climatic,valuation,artisans,proficiency,aegean,regulators,fledgling,sealing,influencing,servicemen,frequented,cancers,tambon,narayan,bankers,clarified,embodied,engraver,reorganisation,dissatisfied,dictated,supplemental,temperance,ratification,puget,nutrient,pretoria,papyrus,uniting,ascribed,cores,coptic,schoolhouse,barrio,1910s,armory,defected,transatlantic,regulates,ported,artefacts,specifies,boasted,scorers,mollusks,emitted,navigable,quakers,projective,dialogues,reunification,exponential,vastly,banners,unsigned,dissipated,halves,coincidentally,leasing,purported,escorting,estimation,foxes,lifespan,inflorescence,assimilation,showdown,staunch,prologue,ligand,superliga,telescopes,northwards,keynote,heaviest,taunton,redeveloped,vocalists,podlaskie,soyuz,rodents,azores,moravian,outset,parentheses,apparel,domestically,authoritative,polymers,monterrey,inhibit,launcher,jordanian,folds,taxis,mandates,singled,liechtenstein,subsistence,marxism,ousted,governorship,servicing,offseason,modernism,prism,devout,translators,islamist,chromosomes,pitted,bedfordshire,fabrication,authoritarian,javanese,leaflets,transient,substantive,predatory,sigismund,assassinate,diagrams,arrays,rediscovered,reclamation,spawning,fjord,peacekeeping,strands,fabrics,highs,regulars,tirana,ultraviolet,athenian,filly,barnet,naacp,nueva,favourites,terminates,showcases,clones,inherently,interpreting,bjorn,finely,lauded,unspecified,chola,pleistocene,insulation,antilles,donetsk,funnel,nutritional,biennale,reactivated,southport,primate,cavaliers,austrians,interspersed,restarted,suriname,amplifiers,wladyslaw,blockbuster,sportsman,minogue,brightness,benches,bridgeport,initiating,israelis,orbiting,newcomers,externally,scaling,transcribed,impairment,luxurious,longevity,impetus,temperament,ceilings,tchaikovsky,spreads,pantheon,bureaucracy,1820s,heraldic,villas,formula_13,galician,meath,avoidance,corresponded,headlining,connacht,seekers,rappers,solids,monograph,scoreless,opole,isotopes,himalayas,parodies,garments,microscopic,republished,havilland,orkney,demonstrators,pathogen,saturated,hellenistic,facilitates,aerodynamic,relocating,indochina,laval,astronomers,bequeathed,administrations,extracts,nagoya,torquay,demography,medicare,ambiguity,renumbered,pursuant,concave,syriac,electrode,dispersal,henan,bialystok,walsall,crystalline,puebla,janata,illumination,tianjin,enslaved,coloration,championed,defamation,grille,johor,rejoin,caspian,fatally,planck,workings,appointing,institutionalized,wessex,modernized,exemplified,regatta,jacobite,parochial,programmers,blending,eruptions,insurrection,regression,indices,sited,dentistry,mobilized,furnishings,levant,primaries,ardent,nagasaki,conqueror,dorchester,opined,heartland,amman,mortally,wellesley,bowlers,outputs,coveted,orthography,immersion,disrepair,disadvantaged,curate,childless,condensed,codice_1,remodeled,resultant,bolsheviks,superfamily,saxons,2010s,contractual,rivalries,malacca,oaxaca,magnate,vertebrae,quezon,olympiad,yucatan,tyres,macro,specialization,commendation,caliphate,gunnery,exiles,excerpts,fraudulent,adjustable,aramaic,interceptor,drumming,standardization,reciprocal,adolescents,federalist,aeronautics,favorably,enforcing,reintroduced,zhejiang,refining,biplane,banknotes,accordion,intersect,illustrating,summits,classmate,militias,biomass,massacres,epidemiology,reworked,wrestlemania,nantes,auditory,taxon,elliptical,chemotherapy,asserting,avoids,proficient,airmen,yellowstone,multicultural,alloys,utilization,seniority,kuyavian,huntsville,orthogonal,bloomington,cultivars,casimir,internment,repulsed,impedance,revolving,fermentation,parana,shutout,partnering,empowered,islamabad,polled,classify,amphibians,greyish,obedience,4x100,projectile,khyber,halfback,relational,d'ivoire,synonyms,endeavour,padma,customized,mastery,defenceman,berber,purge,interestingly,covent,promulgated,restricting,condemnation,hillsborough,walkers,privateer,intra,captaincy,naturalized,huffington,detecting,hinted,migrating,bayou,counterattack,anatomical,foraging,unsafe,swiftly,outdated,paraguayan,attire,masjid,endeavors,jerseys,triassic,quechua,growers,axial,accumulate,wastewater,cognition,fungal,animator,pagoda,kochi,uniformly,antibody,yerevan,hypotheses,combatants,italianate,draining,fragmentation,snowfall,formative,inversion,kitchener,identifier,additive,lucha,selects,ashland,cambrian,racetrack,trapping,congenital,primates,wavelengths,expansions,yeomanry,harcourt,wealthiest,awaited,punta,intervening,aggressively,vichy,piloted,midtown,tailored,heyday,metadata,guadalcanal,inorganic,hadith,pulses,francais,tangent,scandals,erroneously,tractors,pigment,constabulary,jiangsu,landfill,merton,basalt,astor,forbade,debuts,collisions,exchequer,stadion,roofed,flavour,sculptors,conservancy,dissemination,electrically,undeveloped,existent,surpassing,pentecostal,manifested,amend,formula_14,superhuman,barges,tunis,analytics,argyll,liquids,mechanized,domes,mansions,himalayan,indexing,reuters,nonlinear,purification,exiting,timbers,triangles,decommissioning,departmental,causal,fonts,americana,sept.,seasonally,incomes,razavi,sheds,memorabilia,rotational,terre,sutra,protege,yarmouth,grandmaster,annum,looted,imperialism,variability,liquidation,baptised,isotope,showcasing,milling,rationale,hammersmith,austen,streamlined,acknowledging,contentious,qaleh,breadth,turing,referees,feral,toulon,unofficially,identifiable,standout,labeling,dissatisfaction,jurgen,angrily,featherweight,cantons,constrained,dominates,standalone,relinquished,theologians,markedly,italics,downed,nitrate,likened,gules,craftsman,singaporean,pixels,mandela,moray,parity,departement,antigen,academically,burgh,brahma,arranges,wounding,triathlon,nouveau,vanuatu,banded,acknowledges,unearthed,stemming,authentication,byzantines,converge,nepali,commonplace,deteriorating,recalling,palette,mathematicians,greenish,pictorial,ahmedabad,rouen,validation,u.s.a.,'best,malvern,archers,converter,undergoes,fluorescent,logistical,notification,transvaal,illicit,symphonies,stabilization,worsened,fukuoka,decrees,enthusiast,seychelles,blogger,louvre,dignitaries,burundi,wreckage,signage,pinyin,bursts,federer,polarization,urbana,lazio,schism,nietzsche,venerable,administers,seton,kilograms,invariably,kathmandu,farmed,disqualification,earldom,appropriated,fluctuations,kermanshah,deployments,deformation,wheelbase,maratha,psalm,bytes,methyl,engravings,skirmish,fayette,vaccines,ideally,astrology,breweries,botanic,opposes,harmonies,irregularities,contended,gaulle,prowess,constants,aground,filipinos,fresco,ochreous,jaipur,willamette,quercus,eastwards,mortars,champaign,braille,reforming,horned,hunan,spacious,agitation,draught,specialties,flourishing,greensboro,necessitated,swedes,elemental,whorls,hugely,structurally,plurality,synthesizers,embassies,assad,contradictory,inference,discontent,recreated,inspectors,unicef,commuters,embryo,modifying,stints,numerals,communicated,boosted,trumpeter,brightly,adherence,remade,leases,restrained,eucalyptus,dwellers,planar,grooves,gainesville,daimler,anzac,szczecin,cornerback,prized,peking,mauritania,khalifa,motorized,lodging,instrumentalist,fortresses,cervical,formula_15,passerine,sectarian,researches,apprenticed,reliefs,disclose,gliding,repairing,queue,kyushu,literate,canoeing,sacrament,separatist,calabria,parkland,flowed,investigates,statistically,visionary,commits,dragoons,scrolls,premieres,revisited,subdued,censored,patterned,elective,outlawed,orphaned,leyland,richly,fujian,miniatures,heresy,plaques,countered,nonfiction,exponent,moravia,dispersion,marylebone,midwestern,enclave,ithaca,federated,electronically,handheld,microscopy,tolls,arrivals,climbers,continual,cossacks,moselle,deserts,ubiquitous,gables,forecasts,deforestation,vertebrates,flanking,drilled,superstructure,inspected,consultative,bypassed,ballast,subsidy,socioeconomic,relic,grenada,journalistic,administering,accommodated,collapses,appropriation,reclassified,foreword,porte,assimilated,observance,fragmented,arundel,thuringia,gonzaga,shenzhen,shipyards,sectional,ayrshire,sloping,dependencies,promenade,ecuadorian,mangrove,constructs,goalscorer,heroism,iteration,transistor,omnibus,hampstead,cochin,overshadowed,chieftain,scalar,finishers,ghanaian,abnormalities,monoplane,encyclopaedia,characterize,travancore,baronetage,bearers,biking,distributes,paving,christened,inspections,banco,humber,corinth,quadratic,albanians,lineages,majored,roadside,inaccessible,inclination,darmstadt,fianna,epilepsy,propellers,papacy,montagu,bhutto,sugarcane,optimized,pilasters,contend,batsmen,brabant,housemates,sligo,ascot,aquinas,supervisory,accorded,gerais,echoed,nunavut,conservatoire,carniola,quartermaster,gminas,impeachment,aquitaine,reformers,quarterfinal,karlsruhe,accelerator,coeducational,archduke,gelechiidae,seaplane,dissident,frenchman,palau,depots,hardcover,aachen,darreh,denominational,groningen,parcels,reluctance,drafts,elliptic,counters,decreed,airship,devotional,contradiction,formula_16,undergraduates,qualitative,guatemalan,slavs,southland,blackhawks,detrimental,abolish,chechen,manifestations,arthritis,perch,fated,hebei,peshawar,palin,immensely,havre,totalling,rampant,ferns,concourse,triples,elites,olympian,larva,herds,lipid,karabakh,distal,monotypic,vojvodina,batavia,multiplied,spacing,spellings,pedestrians,parchment,glossy,industrialization,dehydrogenase,patriotism,abolitionist,mentoring,elizabethan,figurative,dysfunction,abyss,constantin,middletown,stigma,mondays,gambia,gaius,israelites,renounced,nepalese,overcoming,buren,sulphur,divergence,predation,looting,iberia,futuristic,shelved,anthropological,innsbruck,escalated,clermont,entrepreneurial,benchmark,mechanically,detachments,populist,apocalyptic,exited,embryonic,stanza,readership,chiba,landlords,expansive,boniface,therapies,perpetrators,whitehall,kassel,masts,carriageway,clinch,pathogens,mazandaran,undesirable,teutonic,miocene,nagpur,juris,cantata,compile,diffuse,dynastic,reopening,comptroller,o'neal,flourish,electing,scientifically,departs,welded,modal,cosmology,fukushima,libertadores,chang'an,asean,generalization,localization,afrikaans,cricketers,accompanies,emigrants,esoteric,southwards,shutdown,prequel,fittings,innate,wrongly,equitable,dictionaries,senatorial,bipolar,flashbacks,semitism,walkway,lyrically,legality,sorbonne,vigorously,durga,samoan,karel,interchanges,patna,decider,registering,electrodes,anarchists,excursion,overthrown,gilan,recited,michelangelo,advertiser,kinship,taboo,cessation,formula_17,premiers,traversed,madurai,poorest,torneo,exerted,replicate,spelt,sporadically,horde,landscaping,razed,hindered,esperanto,manchuria,propellant,jalan,baha'is,sikkim,linguists,pandit,racially,ligands,dowry,francophone,escarpment,behest,magdeburg,mainstay,villiers,yangtze,grupo,conspirators,martyrdom,noticeably,lexical,kazakh,unrestricted,utilised,sired,inhabits,proofs,joseon,pliny,minted,buddhists,cultivate,interconnected,reuse,viability,australasian,derelict,resolving,overlooks,menon,stewardship,playwrights,thwarted,filmfare,disarmament,protections,bundles,sidelined,hypothesized,singer/songwriter,forage,netted,chancery,townshend,restructured,quotation,hyperbolic,succumbed,parliaments,shenandoah,apical,kibbutz,storeys,pastors,lettering,ukrainians,hardships,chihuahua,avail,aisles,taluka,antisemitism,assent,ventured,banksia,seamen,hospice,faroe,fearful,woreda,outfield,chlorine,transformer,tatar,panoramic,pendulum,haarlem,styria,cornice,importing,catalyzes,subunits,enamel,bakersfield,realignment,sorties,subordinates,deanery,townland,gunmen,tutelage,evaluations,allahabad,thrace,veneto,mennonite,sharia,subgenus,satisfies,puritan,unequal,gastrointestinal,ordinances,bacterium,horticulture,argonauts,adjectives,arable,duets,visualization,woolwich,revamped,euroleague,thorax,completes,originality,vasco,freighter,sardar,oratory,sects,extremes,signatories,exporting,arisen,exacerbated,departures,saipan,furlongs,d'italia,goring,dakar,conquests,docked,offshoot,okrug,referencing,disperse,netting,summed,rewritten,articulation,humanoid,spindle,competitiveness,preventive,facades,westinghouse,wycombe,synthase,emulate,fostering,abdel,hexagonal,myriad,caters,arjun,dismay,axiom,psychotherapy,colloquial,complemented,martinique,fractures,culmination,erstwhile,atrium,electronica,anarchism,nadal,montpellier,algebras,submitting,adopts,stemmed,overcame,internacional,asymmetric,gallipoli,gliders,flushing,extermination,hartlepool,tesla,interwar,patriarchal,hitherto,ganges,combatant,marred,philology,glastonbury,reversible,isthmus,undermined,southwark,gateshead,andalusia,remedies,hastily,optimum,smartphone,evade,patrolled,beheaded,dopamine,waivers,ugandan,gujarati,densities,predicting,intestinal,tentative,interstellar,kolonia,soloists,penetrated,rebellions,qeshlaq,prospered,colegio,deficits,konigsberg,deficient,accessing,relays,kurds,politburo,codified,incarnations,occupancy,cossack,metaphysical,deprivation,chopra,piccadilly,formula_18,makeshift,protestantism,alaskan,frontiers,faiths,tendon,dunkirk,durability,autobots,bonuses,coinciding,emails,gunboat,stucco,magma,neutrons,vizier,subscriptions,visuals,envisaged,carpets,smoky,schema,parliamentarian,immersed,domesticated,parishioners,flinders,diminutive,mahabharata,ballarat,falmouth,vacancies,gilded,twigs,mastering,clerics,dalmatia,islington,slogans,compressor,iconography,congolese,sanction,blends,bulgarians,moderator,outflow,textures,safeguard,trafalgar,tramways,skopje,colonialism,chimneys,jazeera,organisers,denoting,motivations,ganga,longstanding,deficiencies,gwynedd,palladium,holistic,fascia,preachers,embargo,sidings,busan,ignited,artificially,clearwater,cemented,northerly,salim,equivalents,crustaceans,oberliga,quadrangle,historiography,romanians,vaults,fiercely,incidental,peacetime,tonal,bhopal,oskar,radha,pesticides,timeslot,westerly,cathedrals,roadways,aldershot,connectors,brahmins,paler,aqueous,gustave,chromatic,linkage,lothian,specialises,aggregation,tributes,insurgent,enact,hampden,ghulam,federations,instigated,lyceum,fredrik,chairmanship,floated,consequent,antagonists,intimidation,patriarchate,warbler,heraldry,entrenched,expectancy,habitation,partitions,widest,launchers,nascent,ethos,wurzburg,lycee,chittagong,mahatma,merseyside,asteroids,yokosuka,cooperatives,quorum,redistricting,bureaucratic,yachts,deploying,rustic,phonology,chorale,cellist,stochastic,crucifixion,surmounted,confucian,portfolios,geothermal,crested,calibre,tropics,deferred,nasir,iqbal,persistence,essayist,chengdu,aborigines,fayetteville,bastion,interchangeable,burlesque,kilmarnock,specificity,tankers,colonels,fijian,quotations,enquiry,quito,palmerston,delle,multidisciplinary,polynesian,iodine,antennae,emphasised,manganese,baptists,galilee,jutland,latent,excursions,skepticism,tectonic,precursors,negligible,musique,misuse,vitoria,expressly,veneration,sulawesi,footed,mubarak,chongqing,chemically,midday,ravaged,facets,varma,yeovil,ethnographic,discounted,physicists,attache,disbanding,essen,shogunate,cooperated,waikato,realising,motherwell,pharmacology,sulfide,inward,expatriate,devoid,cultivar,monde,andean,groupings,goran,unaffected,moldovan,postdoctoral,coleophora,delegated,pronoun,conductivity,coleridge,disapproval,reappeared,microbial,campground,olsztyn,fostered,vaccination,rabbinical,champlain,milestones,viewership,caterpillar,effected,eupithecia,financier,inferred,uzbek,bundled,bandar,balochistan,mysticism,biosphere,holotype,symbolizes,lovecraft,photons,abkhazia,swaziland,subgroups,measurable,falkirk,valparaiso,ashok,discriminatory,rarity,tabernacle,flyweight,jalisco,westernmost,antiquarian,extracellular,margrave,colspan=9,midsummer,digestive,reversing,burgeoning,substitutes,medallist,khrushchev,guerre,folio,detonated,partido,plentiful,aggregator,medallion,infiltration,shaded,santander,fared,auctioned,permian,ramakrishna,andorra,mentors,diffraction,bukit,potentials,translucent,feminists,tiers,protracted,coburg,wreath,guelph,adventurer,he/she,vertebrate,pipelines,celsius,outbreaks,australasia,deccan,garibaldi,unionists,buildup,biochemical,reconstruct,boulders,stringent,barbed,wording,furnaces,pests,befriends,organises,popes,rizal,tentacles,cadre,tallahassee,punishments,occidental,formatted,mitigation,rulings,rubens,cascades,inducing,choctaw,volta,synagogues,movable,altarpiece,mitigate,practise,intermittently,encountering,memberships,earns,signify,retractable,amounting,pragmatic,wilfrid,dissenting,divergent,kanji,reconstituted,devonian,constitutions,levied,hendrik,starch,costal,honduran,ditches,polygon,eindhoven,superstars,salient,argus,punitive,purana,alluvial,flaps,inefficient,retracted,advantageous,quang,andersson,danville,binghamton,symbolize,conclave,shaanxi,silica,interpersonal,adept,frans,pavilions,lubbock,equip,sunken,limburg,activates,prosecutions,corinthian,venerated,shootings,retreats,parapet,orissa,riviere,animations,parodied,offline,metaphysics,bluffs,plume,piety,fruition,subsidized,steeplechase,shanxi,eurasia,angled,forecasting,suffragan,ashram,larval,labyrinth,chronicler,summaries,trailed,merges,thunderstorms,filtered,formula_19,advertisers,alpes,informatics,parti,constituting,undisputed,certifications,javascript,molten,sclerosis,rumoured,boulogne,hmong,lewes,breslau,notts,bantu,ducal,messengers,radars,nightclubs,bantamweight,carnatic,kaunas,fraternal,triggering,controversially,londonderry,visas,scarcity,offaly,uprisings,repelled,corinthians,pretext,kuomintang,kielce,empties,matriculated,pneumatic,expos,agile,treatises,midpoint,prehistory,oncology,subsets,hydra,hypertension,axioms,wabash,reiterated,swapped,achieves,premio,ageing,overture,curricula,challengers,subic,selangor,liners,frontline,shutter,validated,normalized,entertainers,molluscs,maharaj,allegation,youngstown,synth,thoroughfare,regionally,pillai,transcontinental,pedagogical,riemann,colonia,easternmost,tentatively,profiled,herefordshire,nativity,meuse,nucleotide,inhibits,huntingdon,throughput,recorders,conceding,domed,homeowners,centric,gabled,canoes,fringes,breeder,subtitled,fluoride,haplogroup,zionism,izmir,phylogeny,kharkiv,romanticism,adhesion,usaaf,delegations,lorestan,whalers,biathlon,vaulted,mathematically,pesos,skirmishes,heisman,kalamazoo,gesellschaft,launceston,interacts,quadruple,kowloon,psychoanalysis,toothed,ideologies,navigational,valence,induces,lesotho,frieze,rigging,undercarriage,explorations,spoof,eucharist,profitability,virtuoso,recitals,subterranean,sizeable,herodotus,subscriber,huxley,pivot,forewing,warring,boleslaw,bharatiya,suffixes,trois,percussionist,downturn,garrisons,philosophies,chants,mersin,mentored,dramatist,guilds,frameworks,thermodynamic,venomous,mehmed,assembling,rabbinic,hegemony,replicas,enlargement,claimant,retitled,utica,dumfries,metis,deter,assortment,tubing,afflicted,weavers,rupture,ornamentation,transept,salvaged,upkeep,callsign,rajput,stevenage,trimmed,intracellular,synchronization,consular,unfavorable,royalists,goldwyn,fasting,hussars,doppler,obscurity,currencies,amiens,acorn,tagore,townsville,gaussian,migrations,porta,anjou,graphite,seaport,monographs,gladiators,metrics,calligraphy,sculptural,swietokrzyskie,tolombeh,eredivisie,shoals,queries,carts,exempted,fiberglass,mirrored,bazar,progeny,formalized,mukherjee,professed,amazon.com,cathode,moreton,removable,mountaineers,nagano,transplantation,augustinian,steeply,epilogue,adapter,decisively,accelerating,mediaeval,substituting,tasman,devonshire,litres,enhancements,himmler,nephews,bypassing,imperfect,argentinian,reims,integrates,sochi,ascii,licences,niches,surgeries,fables,versatility,indra,footpath,afonso,crore,evaporation,encodes,shelling,conformity,simplify,updating,quotient,overt,firmware,umpires,architectures,eocene,conservatism,secretion,embroidery,f.c..,tuvalu,mosaics,shipwreck,prefectural,cohort,grievances,garnering,centerpiece,apoptosis,djibouti,bethesda,formula_20,shonen,richland,justinian,dormitories,meteorite,reliably,obtains,pedagogy,hardness,cupola,manifolds,amplification,steamers,familial,dumbarton,jerzy,genital,maidstone,salinity,grumman,signifies,presbytery,meteorology,procured,aegis,streamed,deletion,nuestra,mountaineering,accords,neuronal,khanate,grenoble,axles,dispatches,tokens,turku,auctions,propositions,planters,proclaiming,recommissioned,stravinsky,obverse,bombarded,waged,saviour,massacred,reformist,purportedly,resettlement,ravenna,embroiled,minden,revitalization,hikers,bridging,torpedoed,depletion,nizam,affectionately,latitudes,lubeck,spore,polymerase,aarhus,nazism,101st,buyout,galerie,diets,overflow,motivational,renown,brevet,deriving,melee,goddesses,demolish,amplified,tamworth,retake,brokerage,beneficiaries,henceforth,reorganised,silhouette,browsers,pollutants,peron,lichfield,encircled,defends,bulge,dubbing,flamenco,coimbatore,refinement,enshrined,grizzlies,capacitor,usefulness,evansville,interscholastic,rhodesian,bulletins,diamondbacks,rockers,platted,medalists,formosa,transporter,slabs,guadeloupe,disparate,concertos,violins,regaining,mandible,untitled,agnostic,issuance,hamiltonian,brampton,srpska,homology,downgraded,florentine,epitaph,kanye,rallying,analysed,grandstand,infinitely,antitrust,plundered,modernity,colspan=3|total,amphitheatre,doric,motorists,yemeni,carnivorous,probabilities,prelate,struts,scrapping,bydgoszcz,pancreatic,signings,predicts,compendium,ombudsman,apertura,appoints,rebbe,stereotypical,valladolid,clustered,touted,plywood,inertial,kettering,curving,d'honneur,housewives,grenadier,vandals,barbarossa,necked,waltham,reputedly,jharkhand,cistercian,pursues,viscosity,organiser,cloister,islet,stardom,moorish,himachal,strives,scripps,staggered,blasts,westwards,millimeters,angolan,hubei,agility,admirals,mordellistena,coincides,platte,vehicular,cordillera,riffs,schoolteacher,canaan,acoustics,tinged,reinforcing,concentrates,daleks,monza,selectively,musik,polynesia,exporter,reviving,macclesfield,bunkers,ballets,manors,caudal,microbiology,primes,unbroken,outcry,flocks,pakhtunkhwa,abelian,toowoomba,luminous,mould,appraisal,leuven,experimentally,interoperability,hideout,perak,specifying,knighthood,vasily,excerpt,computerized,niels,networked,byzantium,reaffirmed,geographer,obscured,fraternities,mixtures,allusion,accra,lengthened,inquest,panhandle,pigments,revolts,bluetooth,conjugate,overtaken,foray,coils,breech,streaks,impressionist,mendelssohn,intermediary,panned,suggestive,nevis,upazila,rotunda,mersey,linnaeus,anecdotes,gorbachev,viennese,exhaustive,moldavia,arcades,irrespective,orator,diminishing,predictive,cohesion,polarized,montage,avian,alienation,conus,jaffna,urbanization,seawater,extremity,editorials,scrolling,dreyfus,traverses,topographic,gunboats,extratropical,normans,correspondents,recognises,millennia,filtration,ammonium,voicing,complied,prefixes,diplomas,figurines,weakly,gated,oscillator,lucerne,embroidered,outpatient,airframe,fractional,disobedience,quarterbacks,formula_21,shinto,chiapas,epistle,leakage,pacifist,avignon,penrith,renders,mantua,screenplays,gustaf,tesco,alphabetically,rations,discharges,headland,tapestry,manipur,boolean,mediator,ebenezer,subchannel,fable,bestselling,ateneo,trademarks,recurrence,dwarfs,britannica,signifying,vikram,mediate,condensation,censuses,verbandsgemeinde,cartesian,sprang,surat,britons,chelmsford,courtenay,statistic,retina,abortions,liabilities,closures,mississauga,skyscrapers,saginaw,compounded,aristocrat,msnbc,stavanger,septa,interpretive,hinder,visibly,seeding,shutouts,irregularly,quebecois,footbridge,hydroxide,implicitly,lieutenants,simplex,persuades,midshipman,heterogeneous,officiated,crackdown,lends,tartu,altars,fractions,dissidents,tapered,modernisation,scripting,blazon,aquaculture,thermodynamics,sistan,hasidic,bellator,pavia,propagated,theorized,bedouin,transnational,mekong,chronicled,declarations,kickstarter,quotas,runtime,duquesne,broadened,clarendon,brownsville,saturation,tatars,electorates,malayan,replicated,observable,amphitheater,endorsements,referral,allentown,mormons,pantomime,eliminates,typeface,allegorical,varna,conduction,evoke,interviewer,subordinated,uyghur,landscaped,conventionally,ascend,edifice,postulated,hanja,whitewater,embarking,musicologist,tagalog,frontage,paratroopers,hydrocarbons,transliterated,nicolae,viewpoints,surrealist,asheville,falklands,hacienda,glide,opting,zimbabwean,discal,mortgages,nicaraguan,yadav,ghosh,abstracted,castilian,compositional,cartilage,intergovernmental,forfeited,importation,rapping,artes,republika,narayana,condominium,frisian,bradman,duality,marche,extremist,phosphorylation,genomes,allusions,valencian,habeas,ironworks,multiplex,harpsichord,emigrate,alternated,breda,waffen,smartphones,familiarity,regionalliga,herbaceous,piping,dilapidated,carboniferous,xviii,critiques,carcinoma,sagar,chippewa,postmodern,neapolitan,excludes,notoriously,distillation,tungsten,richness,installments,monoxide,chand,privatisation,molded,maths,projectiles,luoyang,epirus,lemma,concentric,incline,erroneous,sideline,gazetted,leopards,fibres,renovate,corrugated,unilateral,repatriation,orchestration,saeed,rockingham,loughborough,formula_22,bandleader,appellation,openness,nanotechnology,massively,tonnage,dunfermline,exposes,moored,ridership,motte,eurobasket,majoring,feats,silla,laterally,playlist,downwards,methodologies,eastbourne,daimyo,cellulose,leyton,norwalk,oblong,hibernian,opaque,insular,allegory,camogie,inactivation,favoring,masterpieces,rinpoche,serotonin,portrayals,waverley,airliner,longford,minimalist,outsourcing,excise,meyrick,qasim,organisational,synaptic,farmington,gorges,scunthorpe,zoned,tohoku,librarians,davao,decor,theatrically,brentwood,pomona,acquires,planter,capacitors,synchronous,skateboarding,coatings,turbocharged,ephraim,capitulation,scoreboard,hebrides,ensues,cereals,ailing,counterpoint,duplication,antisemitic,clique,aichi,oppressive,transcendental,incursions,rename,renumbering,powys,vestry,bitterly,neurology,supplanted,affine,susceptibility,orbiter,activating,overlaps,ecoregion,raman,canoer,darfur,microorganisms,precipitated,protruding,torun,anthropologists,rennes,kangaroos,parliamentarians,edits,littoral,archived,begum,rensselaer,microphones,ypres,empower,etruscan,wisden,montfort,calibration,isomorphic,rioting,kingship,verbally,smyrna,cohesive,canyons,fredericksburg,rahul,relativistic,micropolitan,maroons,industrialized,henchmen,uplift,earthworks,mahdi,disparity,cultured,transliteration,spiny,fragmentary,extinguished,atypical,inventors,biosynthesis,heralded,curacao,anomalies,aeroplane,surya,mangalore,maastricht,ashkenazi,fusiliers,hangzhou,emitting,monmouthshire,schwarzenegger,ramayana,peptides,thiruvananthapuram,alkali,coimbra,budding,reasoned,epithelial,harbors,rudimentary,classically,parque,ealing,crusades,rotations,riparian,pygmy,inertia,revolted,microprocessor,calendars,solvents,kriegsmarine,accademia,cheshmeh,yoruba,ardabil,mitra,genomic,notables,propagate,narrates,univision,outposts,polio,birkenhead,urinary,crocodiles,pectoral,barrymore,deadliest,rupees,chaim,protons,comical,astrophysics,unifying,formula_23,vassals,cortical,audubon,pedals,tenders,resorted,geophysical,lenders,recognising,tackling,lanarkshire,doctrinal,annan,combating,guangxi,estimating,selectors,tribunals,chambered,inhabiting,exemptions,curtailed,abbasid,kandahar,boron,bissau,150th,codenamed,wearer,whorl,adhered,subversive,famer,smelting,inserting,mogadishu,zoologist,mosul,stumps,almanac,olympiacos,stamens,participatory,cults,honeycomb,geologists,dividend,recursive,skiers,reprint,pandemic,liber,percentages,adversely,stoppage,chieftains,tubingen,southerly,overcrowding,unorganized,hangars,fulfil,hails,cantilever,woodbridge,pinus,wiesbaden,fertilization,fluorescence,enhances,plenary,troublesome,episodic,thrissur,kickboxing,allele,staffing,garda,televisions,philatelic,spacetime,bullpen,oxides,leninist,enrolling,inventive,truro,compatriot,ruskin,normative,assay,gotha,murad,illawarra,gendarmerie,strasse,mazraeh,rebounded,fanfare,liaoning,rembrandt,iranians,emirate,governs,latency,waterfowl,chairmen,katowice,aristocrats,eclipsed,sentient,sonatas,interplay,sacking,decepticons,dynamical,arbitrarily,resonant,petar,velocities,alludes,wastes,prefectures,belleville,sensibility,salvadoran,consolidating,medicaid,trainees,vivekananda,molar,porous,upload,youngster,infused,doctorates,wuhan,annihilation,enthusiastically,gamespot,kanpur,accumulating,monorail,operetta,tiling,sapporo,finns,calvinist,hydrocarbon,sparrows,orienteering,cornelis,minster,vuelta,plebiscite,embraces,panchayats,focussed,remediation,brahman,olfactory,reestablished,uniqueness,northumbria,rwandan,predominately,abode,ghats,balances,californian,uptake,bruges,inert,westerns,reprints,cairn,yarra,resurfaced,audible,rossini,regensburg,italiana,fleshy,irrigated,alerts,yahya,varanasi,marginalized,expatriates,cantonment,normandie,sahitya,directives,rounder,hulls,fictionalized,constables,inserts,hipped,potosi,navies,biologists,canteen,husbandry,augment,fortnight,assamese,kampala,o'keefe,paleolithic,bluish,promontory,consecutively,striving,niall,reuniting,dipole,friendlies,disapproved,thrived,netflix,liberian,dielectric,medway,strategist,sankt,pickups,hitters,encode,rerouted,claimants,anglesey,partitioned,cavan,flutes,reared,repainted,armaments,bowed,thoracic,balliol,piero,chaplains,dehestan,sender,junkers,sindhi,sickle,dividends,metallurgy,honorific,berths,namco,springboard,resettled,gansu,copyrighted,criticizes,utopian,bendigo,ovarian,binomial,spaceflight,oratorio,proprietors,supergroup,duplicated,foreground,strongholds,revolved,optimize,layouts,westland,hurler,anthropomorphic,excelsior,merchandising,reeds,vetoed,cryptography,hollyoaks,monash,flooring,ionian,resilience,johnstown,resolves,lawmakers,alegre,wildcards,intolerance,subculture,selector,slums,formulate,bayonet,istvan,restitution,interchangeably,awakens,rostock,serpentine,oscillation,reichstag,phenotype,recessed,piotr,annotated,preparedness,consultations,clausura,preferential,euthanasia,genoese,outcrops,freemasonry,geometrical,genesee,islets,prometheus,panamanian,thunderbolt,terraced,stara,shipwrecks,futebol,faroese,sharqi,aldermen,zeitung,unify,formula_24,humanism,syntactic,earthen,blyth,taxed,rescinded,suleiman,cymru,dwindled,vitality,superieure,resupply,adolphe,ardennes,rajiv,profiling,olympique,gestation,interfaith,milosevic,tagline,funerary,druze,silvery,plough,shrubland,relaunch,disband,nunatak,minimizing,excessively,waned,attaching,luminosity,bugle,encampment,electrostatic,minesweeper,dubrovnik,rufous,greenock,hochschule,assyrians,extracting,malnutrition,priya,attainment,anhui,connotations,predicate,seabirds,deduced,pseudonyms,gopal,plovdiv,refineries,imitated,kwazulu,terracotta,tenets,discourses,brandeis,whigs,dominions,pulmonate,landslides,tutors,determinant,richelieu,farmstead,tubercles,technicolor,hegel,redundancy,greenpeace,shortening,mules,distilled,xxiii,fundamentalist,acrylic,outbuildings,lighted,corals,signaled,transistors,cavite,austerity,76ers,exposures,dionysius,outlining,commutative,permissible,knowledgeable,howrah,assemblage,inhibited,crewmen,mbit/s,pyramidal,aberdeenshire,bering,rotates,atheism,howitzer,saone,lancet,fermented,contradicted,materiel,ofsted,numeric,uniformity,josephus,nazarene,kuwaiti,noblemen,pediment,emergent,campaigner,akademi,murcia,perugia,gallen,allsvenskan,finned,cavities,matriculation,rosters,twickenham,signatory,propel,readable,contends,artisan,flamboyant,reggio,italo,fumbles,widescreen,rectangle,centimetres,collaborates,envoys,rijeka,phonological,thinly,refractive,civilisation,reductase,cognate,dalhousie,monticello,lighthouses,jitsu,luneburg,socialite,fermi,collectible,optioned,marquee,jokingly,architecturally,kabir,concubine,nationalisation,watercolor,wicklow,acharya,pooja,leibniz,rajendra,nationalized,stalemate,bloggers,glutamate,uplands,shivaji,carolingian,bucuresti,dasht,reappears,muscat,functionally,formulations,hinged,hainan,catechism,autosomal,incremental,asahi,coeur,diversification,multilateral,fewest,recombination,finisher,harrogate,hangul,feasts,photovoltaic,paget,liquidity,alluded,incubation,applauded,choruses,malagasy,hispanics,bequest,underparts,cassava,kazimierz,gastric,eradication,mowtowr,tyrosine,archbishopric,e9e9e9,unproductive,uxbridge,hydrolysis,harbours,officio,deterministic,devonport,kanagawa,breaches,freetown,rhinoceros,chandigarh,janos,sanatorium,liberator,inequalities,agonist,hydrophobic,constructors,nagorno,snowboarding,welcomes,subscribed,iloilo,resuming,catalysts,stallions,jawaharlal,harriers,definitively,roughriders,hertford,inhibiting,elgar,randomized,incumbents,episcopate,rainforests,yangon,improperly,kemal,interpreters,diverged,uttarakhand,umayyad,phnom,panathinaikos,shabbat,diode,jiangxi,forbidding,nozzle,artistry,licensee,processions,staffs,decimated,expressionism,shingle,palsy,ontology,mahayana,maribor,sunil,hostels,edwardian,jetty,freehold,overthrew,eukaryotic,schuylkill,rawalpindi,sheath,recessive,ferenc,mandibles,berlusconi,confessor,convergent,ababa,slugging,rentals,sephardic,equivalently,collagen,markov,dynamically,hailing,depressions,sprawling,fairgrounds,indistinguishable,plutarch,pressurized,banff,coldest,braunschweig,mackintosh,sociedad,wittgenstein,tromso,airbase,lecturers,subtitle,attaches,purified,contemplated,dreamworks,telephony,prophetic,rockland,aylesbury,biscay,coherence,aleksandar,judoka,pageants,theses,homelessness,luthor,sitcoms,hinterland,fifths,derwent,privateers,enigmatic,nationalistic,instructs,superimposed,conformation,tricycle,dusan,attributable,unbeknownst,laptops,etching,archbishops,ayatollah,cranial,gharbi,interprets,lackawanna,abingdon,saltwater,tories,lender,minaj,ancillary,ranching,pembrokeshire,topographical,plagiarism,murong,marque,chameleon,assertions,infiltrated,guildhall,reverence,schenectady,formula_25,kollam,notary,mexicana,initiates,abdication,basra,theorems,ionization,dismantling,eared,censors,budgetary,numeral,verlag,excommunicated,distinguishable,quarried,cagliari,hindustan,symbolizing,watertown,descartes,relayed,enclosures,militarily,sault,devolved,dalian,djokovic,filaments,staunton,tumour,curia,villainous,decentralized,galapagos,moncton,quartets,onscreen,necropolis,brasileiro,multipurpose,alamos,comarca,jorgen,concise,mercia,saitama,billiards,entomologist,montserrat,lindbergh,commuting,lethbridge,phoenician,deviations,anaerobic,denouncing,redoubt,fachhochschule,principalities,negros,announcers,seconded,parrots,konami,revivals,approving,devotee,riyadh,overtook,morecambe,lichen,expressionist,waterline,silverstone,geffen,sternites,aspiration,behavioural,grenville,tripura,mediums,genders,pyotr,charlottesville,sacraments,programmable,ps100,shackleton,garonne,sumerian,surpass,authorizing,interlocking,lagoons,voiceless,advert,steeple,boycotted,alouettes,yosef,oxidative,sassanid,benefiting,sayyid,nauru,predetermined,idealism,maxillary,polymerization,semesters,munchen,conor,outfitted,clapham,progenitor,gheorghe,observational,recognitions,numerically,colonized,hazrat,indore,contaminants,fatality,eradicate,assyria,convocation,cameos,skillful,skoda,corfu,confucius,overtly,ramadan,wollongong,placements,d.c..,permutation,contemporaneous,voltages,elegans,universitat,samar,plunder,dwindling,neuter,antonin,sinhala,campania,solidified,stanzas,fibrous,marburg,modernize,sorcery,deutscher,florets,thakur,disruptive,infielder,disintegration,internazionale,vicariate,effigy,tripartite,corrective,klamath,environs,leavenworth,sandhurst,workmen,compagnie,hoseynabad,strabo,palisades,ordovician,sigurd,grandsons,defection,viacom,sinhalese,innovator,uncontrolled,slavonic,indexes,refrigeration,aircrew,superbike,resumption,neustadt,confrontations,arras,hindenburg,ripon,embedding,isomorphism,dwarves,matchup,unison,lofty,argos,louth,constitutionally,transitive,newington,facelift,degeneration,perceptual,aviators,enclosing,igneous,symbolically,academician,constitutionality,iso/iec,sacrificial,maturation,apprentices,enzymology,naturalistic,hajji,arthropods,abbess,vistula,scuttled,gradients,pentathlon,etudes,freedmen,melaleuca,thrice,conductive,sackville,franciscans,stricter,golds,kites,worshiped,monsignor,trios,orally,tiered,primacy,bodywork,castleford,epidemics,alveolar,chapelle,chemists,hillsboro,soulful,warlords,ngati,huguenot,diurnal,remarking,luger,motorways,gauss,jahan,cutoff,proximal,bandai,catchphrase,jonubi,ossetia,codename,codice_2,throated,itinerant,chechnya,riverfront,leela,evoked,entailed,zamboanga,rejoining,circuitry,haymarket,khartoum,feuds,braced,miyazaki,mirren,lubusz,caricature,buttresses,attrition,characterizes,widnes,evanston,materialism,contradictions,marist,midrash,gainsborough,ulithi,turkmen,vidya,escuela,patrician,inspirations,reagent,premierships,humanistic,euphrates,transitioning,belfry,zedong,adaption,kaliningrad,lobos,epics,waiver,coniferous,polydor,inductee,refitted,moraine,unsatisfactory,worsening,polygamy,rajya,nested,subgenre,broadside,stampeders,lingua,incheon,pretender,peloton,persuading,excitation,multan,predates,tonne,brackish,autoimmune,insulated,podcasts,iraqis,bodybuilding,condominiums,midlothian,delft,debtor,asymmetrical,lycaenidae,forcefully,pathogenic,tamaulipas,andaman,intravenous,advancements,senegalese,chronologically,realigned,inquirer,eusebius,dekalb,additives,shortlist,goldwater,hindustani,auditing,caterpillars,pesticide,nakhon,ingestion,lansdowne,traditionalist,northland,thunderbirds,josip,nominating,locale,ventricular,animators,verandah,epistles,surveyors,anthems,dredd,upheaval,passaic,anatolian,svalbard,associative,floodplain,taranaki,estuaries,irreducible,beginners,hammerstein,allocate,coursework,secreted,counteract,handwritten,foundational,passover,discoverer,decoding,wares,bourgeoisie,playgrounds,nazionale,abbreviations,seanad,golan,mishra,godavari,rebranding,attendances,backstory,interrupts,lettered,hasbro,ultralight,hormozgan,armee,moderne,subdue,disuse,improvisational,enrolment,persists,moderated,carinthia,hatchback,inhibitory,capitalized,anatoly,abstracts,albemarle,bergamo,insolvency,sentai,cellars,walloon,joked,kashmiri,dirac,materialized,renomination,homologous,gusts,eighteens,centrifugal,storied,baluchestan,formula_26,poincare,vettel,infuriated,gauges,streetcars,vedanta,stately,liquidated,goguryeo,swifts,accountancy,levee,acadian,hydropower,eustace,comintern,allotment,designating,torsion,molding,irritation,aerobic,halen,concerted,plantings,garrisoned,gramophone,cytoplasm,onslaught,requisitioned,relieving,genitive,centrist,jeong,espanola,dissolving,chatterjee,sparking,connaught,varese,arjuna,carpathian,empowering,meteorologist,decathlon,opioid,hohenzollern,fenced,ibiza,avionics,footscray,scrum,discounts,filament,directories,a.f.c,stiffness,quaternary,adventurers,transmits,harmonious,taizong,radiating,germantown,ejection,projectors,gaseous,nahuatl,vidyalaya,nightlife,redefined,refuted,destitute,arista,potters,disseminated,distanced,jamboree,kaohsiung,tilted,lakeshore,grained,inflicting,kreis,novelists,descendents,mezzanine,recast,fatah,deregulation,ac/dc,australis,kohgiluyeh,boreal,goths,authoring,intoxicated,nonpartisan,theodosius,pyongyang,shree,boyhood,sanfl,plenipotentiary,photosynthesis,presidium,sinaloa,honshu,texan,avenida,transmembrane,malays,acropolis,catalunya,vases,inconsistencies,methodists,quell,suisse,banat,simcoe,cercle,zealanders,discredited,equine,sages,parthian,fascists,interpolation,classifying,spinoff,yehuda,cruised,gypsum,foaled,wallachia,saraswati,imperialist,seabed,footnotes,nakajima,locales,schoolmaster,drosophila,bridgehead,immanuel,courtier,bookseller,niccolo,stylistically,portmanteau,superleague,konkani,millimetres,arboreal,thanjavur,emulation,sounders,decompression,commoners,infusion,methodological,osage,rococo,anchoring,bayreuth,formula_27,abstracting,symbolized,bayonne,electrolyte,rowed,corvettes,traversing,editorship,sampler,presidio,curzon,adirondack,swahili,rearing,bladed,lemur,pashtun,behaviours,bottling,zaire,recognisable,systematics,leeward,formulae,subdistricts,smithfield,vijaya,buoyancy,boosting,cantonal,rishi,airflow,kamakura,adana,emblems,aquifer,clustering,husayn,woolly,wineries,montessori,turntable,exponentially,caverns,espoused,pianists,vorpommern,vicenza,latterly,o'rourke,williamstown,generale,kosice,duisburg,poirot,marshy,mismanagement,mandalay,dagenham,universes,chiral,radiated,stewards,vegan,crankshaft,kyrgyz,amphibian,cymbals,infrequently,offenbach,environmentalist,repatriated,permutations,midshipmen,loudoun,refereed,bamberg,ornamented,nitric,selim,translational,dorsum,annunciation,gippsland,reflector,informational,regia,reactionary,ahmet,weathering,erlewine,legalized,berne,occupant,divas,manifests,analyzes,disproportionate,mitochondria,totalitarian,paulista,interscope,anarcho,correlate,brookfield,elongate,brunel,ordinal,precincts,volatility,equaliser,hittite,somaliland,ticketing,monochrome,ubuntu,chhattisgarh,titleholder,ranches,referendums,blooms,accommodates,merthyr,religiously,ryukyu,tumultuous,checkpoints,anode,mi'kmaq,cannonball,punctuation,remodelled,assassinations,criminology,alternates,yonge,pixar,namibian,piraeus,trondelag,hautes,lifeboats,shoal,atelier,vehemently,sadat,postcode,jainism,lycoming,undisturbed,lutherans,genomics,popmatters,tabriz,isthmian,notched,autistic,horsham,mites,conseil,bloomsbury,seung,cybertron,idris,overhauled,disbandment,idealized,goldfields,worshippers,lobbyist,ailments,paganism,herbarium,athenians,messerschmitt,faraday,entangled,'olya,untreated,criticising,howitzers,parvati,lobed,debussy,atonement,tadeusz,permeability,mueang,sepals,degli,optionally,fuelled,follies,asterisk,pristina,lewiston,congested,overpass,affixed,pleads,telecasts,stanislaus,cryptographic,friesland,hamstring,selkirk,antisubmarine,inundated,overlay,aggregates,fleur,trolleybus,sagan,ibsen,inductees,beltway,tiled,ladders,cadbury,laplace,ascetic,micronesia,conveying,bellingham,cleft,batches,usaid,conjugation,macedon,assisi,reappointed,brine,jinnah,prairies,screenwriting,oxidized,despatches,linearly,fertilizers,brazilians,absorbs,wagga,modernised,scorsese,ashraf,charlestown,esque,habitable,nizhny,lettres,tuscaloosa,esplanade,coalitions,carbohydrates,legate,vermilion,standardised,galleria,psychoanalytic,rearrangement,substation,competency,nationalised,reshuffle,reconstructions,mehdi,bougainville,receivership,contraception,enlistment,conducive,aberystwyth,solicitors,dismisses,fibrosis,montclair,homeowner,surrealism,s.h.i.e.l.d,peregrine,compilers,1790s,parentage,palmas,rzeszow,worldview,eased,svenska,housemate,bundestag,originator,enlisting,outwards,reciprocity,formula_28,carbohydrate,democratically,firefighting,romagna,acknowledgement,khomeini,carbide,quests,vedas,characteristically,guwahati,brixton,unintended,brothels,parietal,namur,sherbrooke,moldavian,baruch,milieu,undulating,laurier,entre,dijon,ethylene,abilene,heracles,paralleling,ceres,dundalk,falun,auspicious,chisinau,polarity,foreclosure,templates,ojibwe,punic,eriksson,biden,bachchan,glaciation,spitfires,norsk,nonviolent,heidegger,algonquin,capacitance,cassettes,balconies,alleles,airdate,conveys,replays,classifies,infrequent,amine,cuttings,rarer,woking,olomouc,amritsar,rockabilly,illyrian,maoist,poignant,tempore,stalinist,segmented,bandmate,mollusc,muhammed,totalled,byrds,tendered,endogenous,kottayam,aisne,oxidase,overhears,illustrators,verve,commercialization,purplish,directv,moulded,lyttelton,baptismal,captors,saracens,georgios,shorten,polity,grids,fitzwilliam,sculls,impurities,confederations,akhtar,intangible,oscillations,parabolic,harlequin,maulana,ovate,tanzanian,singularity,confiscation,qazvin,speyer,phonemes,overgrown,vicarage,gurion,undocumented,niigata,thrones,preamble,stave,interment,liiga,ataturk,aphrodite,groupe,indentured,habsburgs,caption,utilitarian,ozark,slovenes,reproductions,plasticity,serbo,dulwich,castel,barbuda,salons,feuding,lenape,wikileaks,swamy,breuning,shedding,afield,superficially,operationally,lamented,okanagan,hamadan,accolade,furthering,adolphus,fyodor,abridged,cartoonists,pinkish,suharto,cytochrome,methylation,debit,colspan=9|,refine,taoist,signalled,herding,leaved,bayan,fatherland,rampart,sequenced,negation,storyteller,occupiers,barnabas,pelicans,nadir,conscripted,railcars,prerequisite,furthered,columba,carolinas,markup,gwalior,franche,chaco,eglinton,ramparts,rangoon,metabolites,pollination,croat,televisa,holyoke,testimonial,setlist,safavid,sendai,georgians,shakespearean,galleys,regenerative,krzysztof,overtones,estado,barbary,cherbourg,obispo,sayings,composites,sainsbury,deliberation,cosmological,mahalleh,embellished,ascap,biala,pancras,calumet,grands,canvases,antigens,marianas,defenseman,approximated,seedlings,soren,stele,nuncio,immunology,testimonies,glossary,recollections,suitability,tampere,venous,cohomology,methanol,echoing,ivanovich,warmly,sterilization,imran,multiplying,whitechapel,undersea,xuanzong,tacitus,bayesian,roundhouse,correlations,rioters,molds,fiorentina,bandmates,mezzo,thani,guerilla,200th,premiums,tamils,deepwater,chimpanzees,tribesmen,selwyn,globo,turnovers,punctuated,erode,nouvelle,banbury,exponents,abolishing,helical,maimonides,endothelial,goteborg,infield,encroachment,cottonwood,mazowiecki,parable,saarbrucken,reliever,epistemology,artistes,enrich,rationing,formula_29,palmyra,subfamilies,kauai,zoran,fieldwork,arousal,creditor,friuli,celts,comoros,equated,escalation,negev,tallied,inductive,anion,netanyahu,mesoamerican,lepidoptera,aspirated,remit,westmorland,italic,crosse,vaclav,fuego,owain,balmain,venetians,ethnicities,deflected,ticino,apulia,austere,flycatcher,reprising,repressive,hauptbahnhof,subtype,ophthalmology,summarizes,eniwetok,colonisation,subspace,nymphalidae,earmarked,tempe,burnet,crests,abbots,norwegians,enlarge,ashoka,frankfort,livorno,malware,renters,singly,iliad,moresby,rookies,gustavus,affirming,alleges,legume,chekhov,studded,abdicated,suzhou,isidore,townsite,repayment,quintus,yankovic,amorphous,constructor,narrowing,industrialists,tanganyika,capitalization,connective,mughals,rarities,aerodynamics,worthing,antalya,diagnostics,shaftesbury,thracian,obstetrics,benghazi,multiplier,orbitals,livonia,roscommon,intensify,ravel,oaths,overseer,locomotion,necessities,chickasaw,strathclyde,treviso,erfurt,aortic,contemplation,accrington,markazi,predeceased,hippocampus,whitecaps,assemblyman,incursion,ethnography,extraliga,reproducing,directorship,benzene,byway,stupa,taxable,scottsdale,onondaga,favourably,countermeasures,lithuanians,thatched,deflection,tarsus,consuls,annuity,paralleled,contextual,anglian,klang,hoisted,multilingual,enacting,samaj,taoiseach,carthaginian,apologised,hydrology,entrant,seamless,inflorescences,mugabe,westerners,seminaries,wintering,penzance,mitre,sergeants,unoccupied,delimitation,discriminate,upriver,abortive,nihon,bessarabia,calcareous,buffaloes,patil,daegu,streamline,berks,chaparral,laity,conceptions,typified,kiribati,threaded,mattel,eccentricity,signified,patagonia,slavonia,certifying,adnan,astley,sedition,minimally,enumerated,nikos,goalless,walid,narendra,causa,missoula,coolant,dalek,outcrop,hybridization,schoolchildren,peasantry,afghans,confucianism,shahr,gallic,tajik,kierkegaard,sauvignon,commissar,patriarchs,tuskegee,prussians,laois,ricans,talmudic,officiating,aesthetically,baloch,antiochus,separatists,suzerainty,arafat,shading,u.s.c,chancellors,inc..,toolkit,nepenthes,erebidae,solicited,pratap,kabbalah,alchemist,caltech,darjeeling,biopic,spillway,kaiserslautern,nijmegen,bolstered,neath,pahlavi,eugenics,bureaus,retook,northfield,instantaneous,deerfield,humankind,selectivity,putative,boarders,cornhuskers,marathas,raikkonen,aliabad,mangroves,garages,gulch,karzai,poitiers,chernobyl,thane,alexios,belgrano,scion,solubility,urbanized,executable,guizhou,nucleic,tripled,equalled,harare,houseguests,potency,ghazi,repeater,overarching,regrouped,broward,ragtime,d'art,nandi,regalia,campsites,mamluk,plating,wirral,presumption,zenit,archivist,emmerdale,decepticon,carabidae,kagoshima,franconia,guarani,formalism,diagonally,submarginal,denys,walkways,punts,metrolink,hydrographic,droplets,upperside,martyred,hummingbird,antebellum,curiously,mufti,friary,chabad,czechs,shaykh,reactivity,berklee,turbonilla,tongan,sultans,woodville,unlicensed,enmity,dominicans,operculum,quarrying,watercolour,catalyzed,gatwick,'what,mesozoic,auditors,shizuoka,footballing,haldane,telemundo,appended,deducted,disseminate,o'shea,pskov,abrasive,entente,gauteng,calicut,lemurs,elasticity,suffused,scopula,staining,upholding,excesses,shostakovich,loanwords,naidu,championnat,chromatography,boasting,goaltenders,engulfed,salah,kilogram,morristown,shingles,shi'a,labourer,renditions,frantisek,jekyll,zonal,nanda,sheriffs,eigenvalues,divisione,endorsing,ushered,auvergne,cadres,repentance,freemasons,utilising,laureates,diocletian,semiconductors,o'grady,vladivostok,sarkozy,trackage,masculinity,hydroxyl,mervyn,muskets,speculations,gridiron,opportunistic,mascots,aleutian,fillies,sewerage,excommunication,borrowers,capillary,trending,sydenham,synthpop,rajah,cagayan,deportes,kedah,faure,extremism,michoacan,levski,culminates,occitan,bioinformatics,unknowingly,inciting,emulated,footpaths,piacenza,dreadnought,viceroyalty,oceanographic,scouted,combinatorial,ornithologist,cannibalism,mujahideen,independiente,cilicia,hindwing,minimized,odeon,gyorgy,rubles,purchaser,collieries,kickers,interurban,coiled,lynchburg,respondent,plzen,detractors,etchings,centering,intensification,tomography,ranjit,warblers,retelling,reinstatement,cauchy,modulus,redirected,evaluates,beginner,kalateh,perforated,manoeuvre,scrimmage,internships,megawatts,mottled,haakon,tunbridge,kalyan,summarised,sukarno,quetta,canonized,henryk,agglomeration,coahuila,diluted,chiropractic,yogyakarta,talladega,sheik,cation,halting,reprisals,sulfuric,musharraf,sympathizers,publicised,arles,lectionary,fracturing,startups,sangha,latrobe,rideau,ligaments,blockading,cremona,lichens,fabaceae,modulated,evocative,embodies,battersea,indistinct,altai,subsystem,acidity,somatic,formula_30,tariq,rationality,sortie,ashlar,pokal,cytoplasmic,valour,bangla,displacing,hijacking,spectrometry,westmeath,weill,charing,goias,revolvers,individualized,tenured,nawaz,piquet,chanted,discard,bernd,phalanx,reworking,unilaterally,subclass,yitzhak,piloting,circumvent,disregarded,semicircular,viscous,tibetans,endeavours,retaliated,cretan,vienne,workhouse,sufficiency,aurangzeb,legalization,lipids,expanse,eintracht,sanjak,megas,125th,bahraini,yakima,eukaryotes,thwart,affirmation,peloponnese,retailing,carbonyl,chairwoman,macedonians,dentate,rockaway,correctness,wealthier,metamorphic,aragonese,fermanagh,pituitary,schrodinger,evokes,spoiler,chariots,akita,genitalia,combe,confectionery,desegregation,experiential,commodores,persepolis,viejo,restorations,virtualization,hispania,printmaking,stipend,yisrael,theravada,expended,radium,tweeted,polygonal,lippe,charente,leveraged,cutaneous,fallacy,fragrant,bypasses,elaborately,rigidity,majid,majorca,kongo,plasmodium,skits,audiovisual,eerste,staircases,prompts,coulthard,northwestward,riverdale,beatrix,copyrights,prudential,communicates,mated,obscenity,asynchronous,analyse,hansa,searchlight,farnborough,patras,asquith,qarah,contours,fumbled,pasteur,redistributed,almeria,sanctuaries,jewry,israelite,clinicians,koblenz,bookshop,affective,goulburn,panelist,sikorsky,cobham,mimics,ringed,portraiture,probabilistic,girolamo,intelligible,andalusian,jalal,athenaeum,eritrean,auxiliaries,pittsburg,devolution,sangam,isolating,anglers,cronulla,annihilated,kidderminster,synthesize,popularised,theophilus,bandstand,innumerable,chagrin,retroactively,weser,multiples,birdlife,goryeo,pawnee,grosser,grappling,tactile,ahmadinejad,turboprop,erdogan,matchday,proletarian,adhering,complements,austronesian,adverts,luminaries,archeology,impressionism,conifer,sodomy,interracial,platoons,lessen,postings,pejorative,registrations,cookery,persecutions,microbes,audits,idiosyncratic,subsp,suspensions,restricts,colouring,ratify,instrumentals,nucleotides,sulla,posits,bibliotheque,diameters,oceanography,instigation,subsumed,submachine,acceptor,legation,borrows,sedge,discriminated,loaves,insurers,highgate,detectable,abandons,kilns,sportscaster,harwich,iterations,preakness,arduous,tensile,prabhu,shortwave,philologist,shareholding,vegetative,complexities,councilors,distinctively,revitalize,automaton,amassing,montreux,khanh,surabaya,nurnberg,pernambuco,cuisines,charterhouse,firsts,tercera,inhabitant,homophobia,naturalism,einar,powerplant,coruna,entertainments,whedon,rajputs,raton,democracies,arunachal,oeuvre,wallonia,jeddah,trolleybuses,evangelism,vosges,kiowa,minimise,encirclement,undertakes,emigrant,beacons,deepened,grammars,publius,preeminent,seyyed,repechage,crafting,headingley,osteopathic,lithography,hotly,bligh,inshore,betrothed,olympians,formula_31,dissociation,trivandrum,arran,petrovic,stettin,disembarked,simplification,bronzes,philo,acrobatic,jonsson,conjectured,supercharged,kanto,detects,cheeses,correlates,harmonics,lifecycle,sudamericana,reservists,decayed,elitserien,parametric,113th,dusky,hogarth,modulo,symbiotic,monopolies,discontinuation,converges,southerners,tucuman,eclipses,enclaves,emits,famicom,caricatures,artistically,levelled,mussels,erecting,mouthparts,cunard,octaves,crucible,guardia,unusable,lagrangian,droughts,ephemeral,pashto,canis,tapering,sasebo,silurian,metallurgical,outscored,evolves,reissues,sedentary,homotopy,greyhawk,reagents,inheriting,onshore,tilting,rebuffed,reusable,naturalists,basingstoke,insofar,offensives,dravidian,curators,planks,rajan,isoforms,flagstaff,preside,globular,egalitarian,linkages,biographers,goalscorers,molybdenum,centralised,nordland,jurists,ellesmere,rosberg,hideyoshi,restructure,biases,borrower,scathing,redress,tunnelling,workflow,magnates,mahendra,dissenters,plethora,transcriptions,handicrafts,keyword,xi'an,petrograd,unser,prokofiev,90deg,madan,bataan,maronite,kearny,carmarthen,termini,consulates,disallowed,rockville,bowery,fanzine,docklands,bests,prohibitions,yeltsin,selassie,naturalization,realisation,dispensary,tribeca,abdulaziz,pocahontas,stagnation,pamplona,cuneiform,propagating,subsurface,christgau,epithelium,schwerin,lynching,routledge,hanseatic,upanishad,glebe,yugoslavian,complicity,endowments,girona,mynetworktv,entomology,plinth,ba'ath,supercup,torus,akkadian,salted,englewood,commandery,belgaum,prefixed,colorless,dartford,enthroned,caesarea,nominative,sandown,safeguards,hulled,formula_32,leamington,dieppe,spearhead,generalizations,demarcation,llanelli,masque,brickwork,recounting,sufism,strikingly,petrochemical,onslow,monologues,emigrating,anderlecht,sturt,hossein,sakhalin,subduction,novices,deptford,zanjan,airstrikes,coalfield,reintroduction,timbaland,hornby,messianic,stinging,universalist,situational,radiocarbon,strongman,rowling,saloons,traffickers,overran,fribourg,cambrai,gravesend,discretionary,finitely,archetype,assessor,pilipinas,exhumed,invocation,interacted,digitized,timisoara,smelter,teton,sexism,precepts,srinagar,pilsudski,carmelite,hanau,scoreline,hernando,trekking,blogging,fanbase,wielded,vesicles,nationalization,banja,rafts,motoring,luang,takeda,girder,stimulates,histone,sunda,nanoparticles,attains,jumpers,catalogued,alluding,pontus,ancients,examiners,shinkansen,ribbentrop,reimbursement,pharmacological,ramat,stringed,imposes,cheaply,transplanted,taiping,mizoram,looms,wallabies,sideman,kootenay,encased,sportsnet,revolutionized,tangier,benthic,runic,pakistanis,heatseekers,shyam,mishnah,presbyterians,stadt,sutras,straddles,zoroastrian,infer,fueling,gymnasts,ofcom,gunfight,journeyman,tracklist,oshawa,ps500,pa'in,mackinac,xiongnu,mississippian,breckinridge,freemason,bight,autoroute,liberalization,distantly,thrillers,solomons,presumptive,romanization,anecdotal,bohemians,unpaved,milder,concurred,spinners,alphabets,strenuous,rivieres,kerrang,mistreatment,dismounted,intensively,carlist,dancehall,shunting,pluralism,trafficked,brokered,bonaventure,bromide,neckar,designates,malian,reverses,sotheby,sorghum,serine,environmentalists,languedoc,consulship,metering,bankstown,handlers,militiamen,conforming,regularity,pondicherry,armin,capsized,consejo,capitalists,drogheda,granular,purged,acadians,endocrine,intramural,elicit,terns,orientations,miklos,omitting,apocryphal,slapstick,brecon,pliocene,affords,typography,emigre,tsarist,tomasz,beset,nishi,necessitating,encyclical,roleplaying,journeyed,inflow,sprints,progressives,novosibirsk,cameroonian,ephesus,speckled,kinshasa,freiherr,burnaby,dalmatian,torrential,rigor,renegades,bhakti,nurburgring,cosimo,convincingly,reverting,visayas,lewisham,charlottetown,charadriiformesfamily,transferable,jodhpur,converters,deepening,camshaft,underdeveloped,protease,polonia,uterine,quantify,tobruk,dealerships,narasimha,fortran,inactivity,1780s,victors,categorised,naxos,workstation,skink,sardinian,chalice,precede,dammed,sondheim,phineas,tutored,sourcing,uncompromising,placer,tyneside,courtiers,proclaims,pharmacies,hyogo,booksellers,sengoku,kursk,spectrometer,countywide,wielkopolski,bobsleigh,shetty,llywelyn,consistory,heretics,guinean,cliches,individualism,monolithic,imams,usability,bursa,deliberations,railings,torchwood,inconsistency,balearic,stabilizer,demonstrator,facet,radioactivity,outboard,educates,d'oyly,heretical,handover,jurisdictional,shockwave,hispaniola,conceptually,routers,unaffiliated,trentino,formula_33,cypriots,intervenes,neuchatel,formulating,maggiore,delisted,alcohols,thessaly,potable,estimator,suborder,fluency,mimicry,clergymen,infrastructures,rivals.com,baroda,subplot,majlis,plano,clinching,connotation,carinae,savile,intercultural,transcriptional,sandstones,ailerons,annotations,impresario,heinkel,scriptural,intermodal,astrological,ribbed,northeastward,posited,boers,utilise,kalmar,phylum,breakwater,skype,textured,guideline,azeri,rimini,massed,subsidence,anomalous,wolfsburg,polyphonic,accrediting,vodacom,kirov,captaining,kelantan,logie,fervent,eamon,taper,bundeswehr,disproportionately,divination,slobodan,pundits,hispano,kinetics,reunites,makati,ceasing,statistician,amending,chiltern,eparchy,riverine,melanoma,narragansett,pagans,raged,toppled,breaching,zadar,holby,dacian,ochre,velodrome,disparities,amphoe,sedans,webpage,williamsport,lachlan,groton,baring,swastika,heliport,unwillingness,razorbacks,exhibitors,foodstuffs,impacting,tithe,appendages,dermot,subtypes,nurseries,balinese,simulating,stary,remakes,mundi,chautauqua,geologically,stockade,hakka,dilute,kalimantan,pahang,overlapped,fredericton,baha'u'llah,jahangir,damping,benefactors,shomali,triumphal,cieszyn,paradigms,shielded,reggaeton,maharishi,zambian,shearing,golestan,mirroring,partitioning,flyover,songbook,incandescent,merrimack,huguenots,sangeet,vulnerabilities,trademarked,drydock,tantric,honoris,queenstown,labelling,iterative,enlists,statesmen,anglicans,herge,qinghai,burgundian,islami,delineated,zhuge,aggregated,banknote,qatari,suitably,tapestries,asymptotic,charleroi,majorities,pyramidellidae,leanings,climactic,tahir,ramsar,suppressor,revisionist,trawler,ernakulam,penicillium,categorization,slits,entitlement,collegium,earths,benefice,pinochet,puritans,loudspeaker,stockhausen,eurocup,roskilde,alois,jaroslav,rhondda,boutiques,vigor,neurotransmitter,ansar,malden,ferdinando,sported,relented,intercession,camberwell,wettest,thunderbolts,positional,oriel,cloverleaf,penalized,shoshone,rajkumar,completeness,sharjah,chromosomal,belgians,woolen,ultrasonic,sequentially,boleyn,mordella,microsystems,initiator,elachista,mineralogy,rhododendron,integrals,compostela,hamza,sawmills,stadio,berlioz,maidens,stonework,yachting,tappeh,myocardial,laborer,workstations,costumed,nicaea,lanark,roundtable,mashhad,nablus,algonquian,stuyvesant,sarkar,heroines,diwan,laments,intonation,intrigues,almaty,feuded,grandes,algarve,rehabilitate,macrophages,cruciate,dismayed,heuristic,eliezer,kozhikode,covalent,finalised,dimorphism,yaroslavl,overtaking,leverkusen,middlebury,feeders,brookings,speculates,insoluble,lodgings,jozsef,cysteine,shenyang,habilitation,spurious,brainchild,mtdna,comique,albedo,recife,partick,broadening,shahi,orientated,himalaya,swabia,palme,mennonites,spokeswoman,conscripts,sepulchre,chartres,eurozone,scaffold,invertebrate,parishad,bagan,heian,watercolors,basse,supercomputer,commences,tarragona,plainfield,arthurian,functor,identically,murex,chronicling,pressings,burrowing,histoire,guayaquil,goalkeeping,differentiable,warburg,machining,aeneas,kanawha,holocene,ramesses,reprisal,qingdao,avatars,turkestan,cantatas,besieging,repudiated,teamsters,equipping,hydride,ahmadiyya,euston,bottleneck,computations,terengganu,kalinga,stela,rediscovery,'this,azhar,stylised,karelia,polyethylene,kansai,motorised,lounges,normalization,calculators,1700s,goalkeepers,unfolded,commissary,cubism,vignettes,multiverse,heaters,briton,sparingly,childcare,thorium,plock,riksdag,eunuchs,catalysis,limassol,perce,uncensored,whitlam,ulmus,unites,mesopotamian,refraction,biodiesel,forza,fulda,unseated,mountbatten,shahrak,selenium,osijek,mimicking,antimicrobial,axons,simulcasting,donizetti,swabian,sportsmen,hafiz,neared,heraclius,locates,evaded,subcarpathian,bhubaneswar,negeri,jagannath,thaksin,aydin,oromo,lateran,goldsmiths,multiculturalism,cilia,mihai,evangelists,lorient,qajar,polygons,vinod,mechanised,anglophone,prefabricated,mosses,supervillain,airliners,biofuels,iodide,innovators,valais,wilberforce,logarithm,intelligentsia,dissipation,sanctioning,duchies,aymara,porches,simulators,mostar,telepathic,coaxial,caithness,burghs,fourths,stratification,joaquim,scribes,meteorites,monarchist,germination,vries,desiring,replenishment,istria,winemaking,tammany,troupes,hetman,lanceolate,pelagic,triptych,primeira,scant,outbound,hyphae,denser,bentham,basie,normale,executes,ladislaus,kontinental,herat,cruiserweight,activision,customization,manoeuvres,inglewood,northwood,waveform,investiture,inpatient,alignments,kiryat,rabat,archimedes,ustad,monsanto,archetypal,kirkby,sikhism,correspondingly,catskill,overlaid,petrels,widowers,unicameral,federalists,metalcore,gamerankings,mussel,formula_34,lymphocytes,cystic,southgate,vestiges,immortals,kalam,strove,amazons,pocono,sociologists,sopwith,adheres,laurens,caregivers,inspecting,transylvanian,rebroadcast,rhenish,miserables,pyrams,blois,newtonian,carapace,redshirt,gotland,nazir,unilever,distortions,linebackers,federalism,mombasa,lumen,bernoulli,favouring,aligarh,denounce,steamboats,dnieper,stratigraphic,synths,bernese,umass,icebreaker,guanajuato,heisenberg,boldly,diodes,ladakh,dogmatic,scriptwriter,maritimes,battlestar,symposia,adaptable,toluca,bhavan,nanking,ieyasu,picardy,soybean,adalbert,brompton,deutsches,brezhnev,glandular,laotian,hispanicized,ibadan,personification,dalit,yamuna,regio,dispensed,yamagata,zweibrucken,revising,fandom,stances,participle,flavours,khitan,vertebral,crores,mayaguez,dispensation,guntur,undefined,harpercollins,unionism,meena,leveling,philippa,refractory,telstra,judea,attenuation,pylons,elaboration,elegy,edging,gracillariidae,residencies,absentia,reflexive,deportations,dichotomy,stoves,sanremo,shimon,menachem,corneal,conifers,mordellidae,facsimile,diagnoses,cowper,citta,viticulture,divisive,riverview,foals,mystics,polyhedron,plazas,airspeed,redgrave,motherland,impede,multiplicity,barrichello,airships,pharmacists,harvester,clays,payloads,differentiating,popularize,caesars,tunneling,stagnant,circadian,indemnity,sensibilities,musicology,prefects,serfs,metra,lillehammer,carmarthenshire,kiosks,welland,barbican,alkyl,tillandsia,gatherers,asociacion,showings,bharati,brandywine,subversion,scalable,pfizer,dawla,barium,dardanelles,nsdap,konig,ayutthaya,hodgkin,sedimentation,completions,purchasers,sponsorships,maximizing,banked,taoism,minot,enrolls,fructose,aspired,capuchin,outages,artois,carrollton,totality,osceola,pawtucket,fontainebleau,converged,queretaro,competencies,botha,allotments,sheaf,shastri,obliquely,banding,catharines,outwardly,monchengladbach,driest,contemplative,cassini,ranga,pundit,kenilworth,tiananmen,disulfide,formula_35,townlands,codice_3,looping,caravans,rachmaninoff,segmentation,fluorine,anglicised,gnostic,dessau,discern,reconfigured,altrincham,rebounding,battlecruiser,ramblers,1770s,convective,triomphe,miyagi,mourners,instagram,aloft,breastfeeding,courtyards,folkestone,changsha,kumamoto,saarland,grayish,provisionally,appomattox,uncial,classicism,mahindra,elapsed,supremes,monophyletic,cautioned,formula_36,noblewoman,kernels,sucre,swaps,bengaluru,grenfell,epicenter,rockhampton,worshipful,licentiate,metaphorical,malankara,amputated,wattle,palawan,tankobon,nobunaga,polyhedra,transduction,jilin,syrians,affinities,fluently,emanating,anglicized,sportscar,botanists,altona,dravida,chorley,allocations,kunming,luanda,premiering,outlived,mesoamerica,lingual,dissipating,impairments,attenborough,balustrade,emulator,bakhsh,cladding,increments,ascents,workington,qal'eh,winless,categorical,petrel,emphasise,dormer,toros,hijackers,telescopic,solidly,jankovic,cession,gurus,madoff,newry,subsystems,northside,talib,englishmen,farnese,holographic,electives,argonne,scrivener,predated,brugge,nauvoo,catalyses,soared,siddeley,graphically,powerlifting,funicular,sungai,coercive,fusing,uncertainties,locos,acetic,diverge,wedgwood,dressings,tiebreaker,didactic,vyacheslav,acreage,interplanetary,battlecruisers,sunbury,alkaloids,hairpin,automata,wielkie,interdiction,plugins,monkees,nudibranch,esporte,approximations,disabling,powering,characterisation,ecologically,martinsville,termen,perpetuated,lufthansa,ascendancy,motherboard,bolshoi,athanasius,prunus,dilution,invests,nonzero,mendocino,charan,banque,shaheed,counterculture,unita,voivode,hospitalization,vapour,supermarine,resistor,steppes,osnabruck,intermediates,benzodiazepines,sunnyside,privatized,geopolitical,ponta,beersheba,kievan,embody,theoretic,sangh,cartographer,blige,rotors,thruway,battlefields,discernible,demobilized,broodmare,colouration,sagas,policymakers,serialization,augmentation,hoare,frankfurter,transnistria,kinases,detachable,generational,converging,antiaircraft,khaki,bimonthly,coadjutor,arkhangelsk,kannur,buffers,livonian,northwich,enveloped,cysts,yokozuna,herne,beeching,enron,virginian,woollen,excepting,competitively,outtakes,recombinant,hillcrest,clearances,pathe,cumbersome,brasov,u.s.a,likud,christiania,cruciform,hierarchies,wandsworth,lupin,resins,voiceover,sitar,electrochemical,mediacorp,typhus,grenadiers,hepatic,pompeii,weightlifter,bosniak,oxidoreductase,undersecretary,rescuers,ranji,seleucid,analysing,exegesis,tenancy,toure,kristiansand,110th,carillon,minesweepers,poitou,acceded,palladian,redevelop,naismith,rifled,proletariat,shojo,hackensack,harvests,endpoint,kuban,rosenborg,stonehenge,authorisation,jacobean,revocation,compatriots,colliding,undetermined,okayama,acknowledgment,angelou,fresnel,chahar,ethereal,mg/kg,emmet,mobilised,unfavourable,cultura,characterizing,parsonage,skeptics,expressways,rabaul,medea,guardsmen,visakhapatnam,caddo,homophobic,elmwood,encircling,coexistence,contending,seljuk,mycologist,infertility,moliere,insolvent,covenants,underpass,holme,landesliga,workplaces,delinquency,methamphetamine,contrived,tableau,tithes,overlying,usurped,contingents,spares,oligocene,molde,beatification,mordechai,balloting,pampanga,navigators,flowered,debutant,codec,orogeny,newsletters,solon,ambivalent,ubisoft,archdeaconry,harpers,kirkus,jabal,castings,kazhagam,sylhet,yuwen,barnstaple,amidships,causative,isuzu,watchtower,granules,canaveral,remuneration,insurer,payout,horizonte,integrative,attributing,kiwis,skanderbeg,asymmetry,gannett,urbanism,disassembled,unaltered,precluded,melodifestivalen,ascends,plugin,gurkha,bisons,stakeholder,industrialisation,abbotsford,sextet,bustling,uptempo,slavia,choreographers,midwives,haram,javed,gazetteer,subsection,natively,weighting,lysine,meera,redbridge,muchmusic,abruzzo,adjoins,unsustainable,foresters,kbit/s,cosmopterigidae,secularism,poetics,causality,phonograph,estudiantes,ceausescu,universitario,adjoint,applicability,gastropods,nagaland,kentish,mechelen,atalanta,woodpeckers,lombards,gatineau,romansh,avraham,acetylcholine,perturbation,galois,wenceslaus,fuzhou,meandering,dendritic,sacristy,accented,katha,therapeutics,perceives,unskilled,greenhouses,analogues,chaldean,timbre,sloped,volodymyr,sadiq,maghreb,monogram,rearguard,caucuses,mures,metabolite,uyezd,determinism,theosophical,corbet,gaels,disruptions,bicameral,ribosomal,wolseley,clarksville,watersheds,tarsi,radon,milanese,discontinuous,aristotelian,whistleblower,representational,hashim,modestly,localised,atrial,hazara,ravana,troyes,appointees,rubus,morningside,amity,aberdare,ganglia,wests,zbigniew,aerobatic,depopulated,corsican,introspective,twinning,hardtop,shallower,cataract,mesolithic,emblematic,graced,lubrication,republicanism,voronezh,bastions,meissen,irkutsk,oboes,hokkien,sprites,tenet,individualist,capitulated,oakville,dysentery,orientalist,hillsides,keywords,elicited,incised,lagging,apoel,lengthening,attractiveness,marauders,sportswriter,decentralization,boltzmann,contradicts,draftsman,precipitate,solihull,norske,consorts,hauptmann,riflemen,adventists,syndromes,demolishing,customize,continuo,peripherals,seamlessly,linguistically,bhushan,orphanages,paraul,lessened,devanagari,quarto,responders,patronymic,riemannian,altoona,canonization,honouring,geodetic,exemplifies,republica,enzymatic,porters,fairmount,pampa,sufferers,kamchatka,conjugated,coachella,uthman,repositories,copious,headteacher,awami,phoneme,homomorphism,franconian,moorland,davos,quantified,kamloops,quarks,mayoralty,weald,peacekeepers,valerian,particulate,insiders,perthshire,caches,guimaraes,piped,grenadines,kosciuszko,trombonist,artemisia,covariance,intertidal,soybeans,beatified,ellipse,fruiting,deafness,dnipropetrovsk,accrued,zealous,mandala,causation,junius,kilowatt,bakeries,montpelier,airdrie,rectified,bungalows,toleration,debian,pylon,trotskyist,posteriorly,two-and-a-half,herbivorous,islamists,poetical,donne,wodehouse,frome,allium,assimilate,phonemic,minaret,unprofitable,darpa,untenable,leaflet,bitcoin,zahir,thresholds,argentino,jacopo,bespoke,stratified,wellbeing,shiite,basaltic,timberwolves,secrete,taunts,marathons,isomers,carre,consecrators,penobscot,pitcairn,sakha,crosstown,inclusions,impassable,fenders,indre,uscgc,jordi,retinue,logarithmic,pilgrimages,railcar,cashel,blackrock,macroscopic,aligning,tabla,trestle,certify,ronson,palps,dissolves,thickened,silicate,taman,walsingham,hausa,lowestoft,rondo,oleksandr,cuyahoga,retardation,countering,cricketing,holborn,identifiers,hells,geophysics,infighting,sculpting,balaji,webbed,irradiation,runestone,trusses,oriya,sojourn,forfeiture,colonize,exclaimed,eucharistic,lackluster,glazing,northridge,gutenberg,stipulates,macroeconomic,priori,outermost,annular,udinese,insulating,headliner,godel,polytope,megalithic,salix,sharapova,derided,muskegon,braintree,plateaus,confers,autocratic,isomer,interstitial,stamping,omits,kirtland,hatchery,evidences,intifada,111th,podgorica,capua,motivating,nuneaton,jakub,korsakov,amitabh,mundial,monrovia,gluten,predictor,marshalling,d'orleans,levers,touchscreen,brantford,fricative,banishment,descendent,antagonism,ludovico,loudspeakers,formula_37,livelihoods,manassas,steamships,dewsbury,uppermost,humayun,lures,pinnacles,dependents,lecce,clumps,observatories,paleozoic,dedicating,samiti,draughtsman,gauls,incite,infringing,nepean,pythagorean,convents,triumvirate,seigneur,gaiman,vagrant,fossa,byproduct,serrated,renfrewshire,sheltering,achaemenid,dukedom,catchers,sampdoria,platelet,bielefeld,fluctuating,phenomenology,strikeout,ethnology,prospectors,woodworking,tatra,wildfires,meditations,agrippa,fortescue,qureshi,wojciech,methyltransferase,accusative,saatchi,amerindian,volcanism,zeeland,toyama,vladimirovich,allege,polygram,redox,budgeted,advisories,nematode,chipset,starscream,tonbridge,hardening,shales,accompanist,paraded,phonographic,whitefish,sportive,audiobook,kalisz,hibernation,latif,duels,ps200,coxeter,nayak,safeguarding,cantabria,minesweeping,zeiss,dunams,catholicos,sawtooth,ontological,nicobar,bridgend,unclassified,intrinsically,hanoverian,rabbitohs,kenseth,alcalde,northumbrian,raritan,septuagint,presse,sevres,origen,dandenong,peachtree,intersected,impeded,usages,hippodrome,novara,trajectories,customarily,yardage,inflected,yanow,kalan,taverns,liguria,librettist,intermarriage,1760s,courant,gambier,infanta,ptolemaic,ukulele,haganah,sceptical,manchukuo,plexus,implantation,hilal,intersex,efficiencies,arbroath,hagerstown,adelphi,diario,marais,matti,lifes,coining,modalities,divya,bletchley,conserving,ivorian,mithridates,generative,strikeforce,laymen,toponymy,pogrom,satya,meticulously,agios,dufferin,yaakov,fortnightly,cargoes,deterrence,prefrontal,przemysl,mitterrand,commemorations,chatsworth,gurdwara,abuja,chakraborty,badajoz,geometries,artiste,diatonic,ganglion,presides,marymount,nanak,cytokines,feudalism,storks,rowers,widens,politico,evangelicals,assailants,pittsfield,allowable,bijapur,telenovelas,dichomeris,glenelg,herbivores,keita,inked,radom,fundraisers,constantius,boheme,portability,komnenos,crystallography,derrida,moderates,tavistock,fateh,spacex,disjoint,bristles,commercialized,interwoven,empirically,regius,bulacan,newsday,showa,radicalism,yarrow,pleura,sayed,structuring,cotes,reminiscences,acetyl,edicts,escalators,aomori,encapsulated,legacies,bunbury,placings,fearsome,postscript,powerfully,keighley,hildesheim,amicus,crevices,deserters,benelux,aurangabad,freeware,ioannis,carpathians,chirac,seceded,prepaid,landlocked,naturalised,yanukovych,soundscan,blotch,phenotypic,determinants,twente,dictatorial,giessen,composes,recherche,pathophysiology,inventories,ayurveda,elevating,gravestone,degeneres,vilayet,popularizing,spartanburg,bloemfontein,previewed,renunciation,genotype,ogilvy,tracery,blacklisted,emissaries,diploid,disclosures,tupolev,shinjuku,antecedents,pennine,braganza,bhattacharya,countable,spectroscopic,ingolstadt,theseus,corroborated,compounding,thrombosis,extremadura,medallions,hasanabad,lambton,perpetuity,glycol,besancon,palaiologos,pandey,caicos,antecedent,stratum,laserdisc,novitiate,crowdfunding,palatal,sorceress,dassault,toughness,celle,cezanne,vientiane,tioga,hander,crossbar,gisborne,cursor,inspectorate,serif,praia,sphingidae,nameplate,psalter,ivanovic,sitka,equalised,mutineers,sergius,outgrowth,creationism,haredi,rhizomes,predominate,undertakings,vulgate,hydrothermal,abbeville,geodesic,kampung,physiotherapy,unauthorised,asteraceae,conservationist,minoan,supersport,mohammadabad,cranbrook,mentorship,legitimately,marshland,datuk,louvain,potawatomi,carnivores,levies,lyell,hymnal,regionals,tinto,shikoku,conformal,wanganui,beira,lleida,standstill,deloitte,formula_40,corbusier,chancellery,mixtapes,airtime,muhlenberg,formula_39,bracts,thrashers,prodigious,gironde,chickamauga,uyghurs,substitutions,pescara,batangas,gregarious,gijon,paleo,mathura,pumas,proportionally,hawkesbury,yucca,kristiania,funimation,fluted,eloquence,mohun,aftermarket,chroniclers,futurist,nonconformist,branko,mannerisms,lesnar,opengl,altos,retainers,ashfield,shelbourne,sulaiman,divisie,gwent,locarno,lieder,minkowski,bivalve,redeployed,cartography,seaway,bookings,decays,ostend,antiquaries,pathogenesis,formula_38,chrysalis,esperance,valli,motogp,homelands,bridged,bloor,ghazal,vulgaris,baekje,prospector,calculates,debtors,hesperiidae,titian,returner,landgrave,frontenac,kelowna,pregame,castelo,caius,canoeist,watercolours,winterthur,superintendents,dissonance,dubstep,adorn,matic,salih,hillel,swordsman,flavoured,emitter,assays,monongahela,deeded,brazzaville,sufferings,babylonia,fecal,umbria,astrologer,gentrification,frescos,phasing,zielona,ecozone,candido,manoj,quadrilateral,gyula,falsetto,prewar,puntland,infinitive,contraceptive,bakhtiari,ohrid,socialization,tailplane,evoking,havelock,macapagal,plundering,104th,keynesian,templars,phrasing,morphologically,czestochowa,humorously,catawba,burgas,chiswick,ellipsoid,kodansha,inwards,gautama,katanga,orthopaedic,heilongjiang,sieges,outsourced,subterminal,vijayawada,hares,oration,leitrim,ravines,manawatu,cryogenic,tracklisting,about.com,ambedkar,degenerated,hastened,venturing,lobbyists,shekhar,typefaces,northcote,rugen,'good,ornithology,asexual,hemispheres,unsupported,glyphs,spoleto,epigenetic,musicianship,donington,diogo,kangxi,bisected,polymorphism,megawatt,salta,embossed,cheetahs,cruzeiro,unhcr,aristide,rayleigh,maturing,indonesians,noire,llano,ffffff,camus,purges,annales,convair,apostasy,algol,phage,apaches,marketers,aldehyde,pompidou,kharkov,forgeries,praetorian,divested,retrospectively,gornji,scutellum,bitumen,pausanias,magnification,imitations,nyasaland,geographers,floodlights,athlone,hippolyte,expositions,clarinetist,razak,neutrinos,rotax,sheykh,plush,interconnect,andalus,cladogram,rudyard,resonator,granby,blackfriars,placido,windscreen,sahel,minamoto,haida,cations,emden,blackheath,thematically,blacklist,pawel,disseminating,academical,undamaged,raytheon,harsher,powhatan,ramachandran,saddles,paderborn,capping,zahra,prospecting,glycine,chromatin,profane,banska,helmand,okinawan,dislocation,oscillators,insectivorous,foyle,gilgit,autonomic,tuareg,sluice,pollinated,multiplexed,granary,narcissus,ranchi,staines,nitra,goalscoring,midwifery,pensioners,algorithmic,meetinghouse,biblioteca,besar,narva,angkor,predate,lohan,cyclical,detainee,occipital,eventing,faisalabad,dartmoor,kublai,courtly,resigns,radii,megachilidae,cartels,shortfall,xhosa,unregistered,benchmarks,dystopian,bulkhead,ponsonby,jovanovic,accumulates,papuan,bhutanese,intuitively,gotaland,headliners,recursion,dejan,novellas,diphthongs,imbued,withstood,analgesic,amplify,powertrain,programing,maidan,alstom,affirms,eradicated,summerslam,videogame,molla,severing,foundered,gallium,atmospheres,desalination,shmuel,howmeh,catolica,bossier,reconstructing,isolates,lyase,tweets,unconnected,tidewater,divisible,cohorts,orebro,presov,furnishing,folklorist,simplifying,centrale,notations,factorization,monarchies,deepen,macomb,facilitation,hennepin,declassified,redrawn,microprocessors,preliminaries,enlarging,timeframe,deutschen,shipbuilders,patiala,ferrous,aquariums,genealogies,vieux,unrecognized,bridgwater,tetrahedral,thule,resignations,gondwana,registries,agder,dataset,felled,parva,analyzer,worsen,coleraine,columella,blockaded,polytechnique,reassembled,reentry,narvik,greys,nigra,knockouts,bofors,gniezno,slotted,hamasaki,ferrers,conferring,thirdly,domestication,photojournalist,universality,preclude,ponting,halved,thereupon,photosynthetic,ostrava,mismatch,pangasinan,intermediaries,abolitionists,transited,headings,ustase,radiological,interconnection,dabrowa,invariants,honorius,preferentially,chantilly,marysville,dialectical,antioquia,abstained,gogol,dirichlet,muricidae,symmetries,reproduces,brazos,fatwa,bacillus,ketone,paribas,chowk,multiplicative,dermatitis,mamluks,devotes,adenosine,newbery,meditative,minefields,inflection,oxfam,conwy,bystrica,imprints,pandavas,infinitesimal,conurbation,amphetamine,reestablish,furth,edessa,injustices,frankston,serjeant,4x200,khazar,sihanouk,longchamp,stags,pogroms,coups,upperparts,endpoints,infringed,nuanced,summing,humorist,pacification,ciaran,jamaat,anteriorly,roddick,springboks,faceted,hypoxia,rigorously,cleves,fatimid,ayurvedic,tabled,ratna,senhora,maricopa,seibu,gauguin,holomorphic,campgrounds,amboy,coordinators,ponderosa,casemates,ouachita,nanaimo,mindoro,zealander,rimsky,cluny,tomaszow,meghalaya,caetano,tilak,roussillon,landtag,gravitation,dystrophy,cephalopods,trombones,glens,killarney,denominated,anthropogenic,pssas,roubaix,carcasses,montmorency,neotropical,communicative,rabindranath,ordinated,separable,overriding,surged,sagebrush,conciliation,codice_4,durrani,phosphatase,qadir,votive,revitalized,taiyuan,tyrannosaurus,graze,slovaks,nematodes,environmentalism,blockhouse,illiteracy,schengen,ecotourism,alternation,conic,wields,hounslow,blackfoot,kwame,ambulatory,volhynia,hordaland,croton,piedras,rohit,drava,conceptualized,birla,illustrative,gurgaon,barisal,tutsi,dezong,nasional,polje,chanson,clarinets,krasnoyarsk,aleksandrovich,cosmonaut,d'este,palliative,midseason,silencing,wardens,durer,girders,salamanders,torrington,supersonics,lauda,farid,circumnavigation,embankments,funnels,bajnoksag,lorries,cappadocia,jains,warringah,retirees,burgesses,equalization,cusco,ganesan,algal,amazonian,lineups,allocating,conquerors,usurper,mnemonic,predating,brahmaputra,ahmadabad,maidenhead,numismatic,subregion,encamped,reciprocating,freebsd,irgun,tortoises,governorates,zionists,airfoil,collated,ajmer,fiennes,etymological,polemic,chadian,clerestory,nordiques,fluctuated,calvados,oxidizing,trailhead,massena,quarrels,dordogne,tirunelveli,pyruvate,pulsed,athabasca,sylar,appointee,serer,japonica,andronikos,conferencing,nicolaus,chemin,ascertained,incited,woodbine,helices,hospitalised,emplacements,to/from,orchestre,tyrannical,pannonia,methodism,pop/rock,shibuya,berbers,despot,seaward,westpac,separator,perpignan,alamein,judeo,publicize,quantization,ethniki,gracilis,menlo,offside,oscillating,unregulated,succumbing,finnmark,metrical,suleyman,raith,sovereigns,bundesstrasse,kartli,fiduciary,darshan,foramen,curler,concubines,calvinism,larouche,bukhara,sophomores,mohanlal,lutheranism,monomer,eamonn,'black,uncontested,immersive,tutorials,beachhead,bindings,permeable,postulates,comite,transformative,indiscriminate,hofstra,associacao,amarna,dermatology,lapland,aosta,babur,unambiguous,formatting,schoolboys,gwangju,superconducting,replayed,adherent,aureus,compressors,forcible,spitsbergen,boulevards,budgeting,nossa,annandale,perumal,interregnum,sassoon,kwajalein,greenbrier,caldas,triangulation,flavius,increment,shakhtar,nullified,pinfall,nomen,microfinance,depreciation,cubist,steeper,splendour,gruppe,everyman,chasers,campaigners,bridle,modality,percussive,darkly,capes,velar,picton,triennial,factional,padang,toponym,betterment,norepinephrine,112th,estuarine,diemen,warehousing,morphism,ideologically,pairings,immunization,crassus,exporters,sefer,flocked,bulbous,deseret,booms,calcite,bohol,elven,groot,pulau,citigroup,wyeth,modernizing,layering,pastiche,complies,printmaker,condenser,theropod,cassino,oxyrhynchus,akademie,trainings,lowercase,coxae,parte,chetniks,pentagonal,keselowski,monocoque,morsi,reticulum,meiosis,clapboard,recoveries,tinge,an/fps,revista,sidon,livre,epidermis,conglomerates,kampong,congruent,harlequins,tergum,simplifies,epidemiological,underwriting,tcp/ip,exclusivity,multidimensional,mysql,columbine,ecologist,hayat,sicilies,levees,handset,aesop,usenet,pacquiao,archiving,alexandrian,compensatory,broadsheet,annotation,bahamian,d'affaires,interludes,phraya,shamans,marmara,customizable,immortalized,ambushes,chlorophyll,diesels,emulsion,rheumatoid,voluminous,screenwriters,tailoring,sedis,runcorn,democratization,bushehr,anacostia,constanta,antiquary,sixtus,radiate,advaita,antimony,acumen,barristers,reichsbahn,ronstadt,symbolist,pasig,cursive,secessionist,afrikaner,munnetra,inversely,adsorption,syllabic,moltke,idioms,midline,olimpico,diphosphate,cautions,radziwill,mobilisation,copelatus,trawlers,unicron,bhaskar,financiers,minimalism,derailment,marxists,oireachtas,abdicate,eigenvalue,zafar,vytautas,ganguly,chelyabinsk,telluride,subordination,ferried,dived,vendee,pictish,dimitrov,expiry,carnation,cayley,magnitudes,lismore,gretna,sandwiched,unmasked,sandomierz,swarthmore,tetra,nanyang,pevsner,dehradun,mormonism,rashi,complying,seaplanes,ningbo,cooperates,strathcona,mornington,mestizo,yulia,edgbaston,palisade,ethno,polytopes,espirito,tymoshenko,pronunciations,paradoxical,taichung,chipmunks,erhard,maximise,accretion,kanda,`abdu'l,narrowest,umpiring,mycenaean,divisor,geneticist,ceredigion,barque,hobbyists,equates,auxerre,spinose,cheil,sweetwater,guano,carboxylic,archiv,tannery,cormorant,agonists,fundacion,anbar,tunku,hindrance,meerut,concordat,secunderabad,kachin,achievable,murfreesboro,comprehensively,forges,broadest,synchronised,speciation,scapa,aliyev,conmebol,tirelessly,subjugated,pillaged,udaipur,defensively,lakhs,stateless,haasan,headlamps,patterning,podiums,polyphony,mcmurdo,mujer,vocally,storeyed,mucosa,multivariate,scopus,minimizes,formalised,certiorari,bourges,populate,overhanging,gaiety,unreserved,borromeo,woolworths,isotopic,bashar,purify,vertebra,medan,juxtaposition,earthwork,elongation,chaudhary,schematic,piast,steeped,nanotubes,fouls,achaea,legionnaires,abdur,qmjhl,embraer,hardback,centerville,ilocos,slovan,whitehorse,mauritian,moulding,mapuche,donned,provisioning,gazprom,jonesboro,audley,lightest,calyx,coldwater,trigonometric,petroglyphs,psychoanalyst,congregate,zambezi,fissure,supervises,bexley,etobicoke,wairarapa,tectonics,emphasises,formula_41,debugging,linfield,spatially,ionizing,ungulates,orinoco,clades,erlangen,news/talk,vols.,ceara,yakovlev,finsbury,entanglement,fieldhouse,graphene,intensifying,grigory,keyong,zacatecas,ninian,allgemeine,keswick,societa,snorri,femininity,najib,monoclonal,guyanese,postulate,huntly,abbeys,machinist,yunus,emphasising,ishaq,urmia,bremerton,pretenders,lumiere,thoroughfares,chikara,dramatized,metathorax,taiko,transcendence,wycliffe,retrieves,umpired,steuben,racehorses,taylors,kuznetsov,montezuma,precambrian,canopies,gaozong,propodeum,disestablished,retroactive,shoreham,rhizome,doubleheader,clinician,diwali,quartzite,shabaab,agassiz,despatched,stormwater,luxemburg,callao,universidade,courland,skane,glyph,dormers,witwatersrand,curacy,qualcomm,nansen,entablature,lauper,hausdorff,lusaka,ruthenian,360deg,cityscape,douai,vaishnava,spars,vaulting,rationalist,gygax,sequestration,typology,pollinates,accelerators,leben,colonials,cenotaph,imparted,carthaginians,equaled,rostrum,gobind,bodhisattva,oberst,bicycling,arabi,sangre,biophysics,hainaut,vernal,lunenburg,apportioned,finches,lajos,nenad,repackaged,zayed,nikephoros,r.e.m,swaminarayan,gestalt,unplaced,crags,grohl,sialkot,unsaturated,gwinnett,linemen,forays,palakkad,writs,instrumentalists,aircrews,badged,terrapins,180deg,oneness,commissariat,changi,pupation,circumscribed,contador,isotropic,administrated,fiefs,nimes,intrusions,minoru,geschichte,nadph,tainan,changchun,carbondale,frisia,swapo,evesham,hawai'i,encyclopedic,transporters,dysplasia,formula_42,onsite,jindal,guetta,judgements,narbonne,permissions,paleogene,rationalism,vilna,isometric,subtracted,chattahoochee,lamina,missa,greville,pervez,lattices,persistently,crystallization,timbered,hawaiians,fouling,interrelated,masood,ripening,stasi,gamal,visigothic,warlike,cybernetics,tanjung,forfar,cybernetic,karelian,brooklands,belfort,greifswald,campeche,inexplicably,refereeing,understory,uninterested,prius,collegiately,sefid,sarsfield,categorize,biannual,elsevier,eisteddfod,declension,autonoma,procuring,misrepresentation,novelization,bibliographic,shamanism,vestments,potash,eastleigh,ionized,turan,lavishly,scilly,balanchine,importers,parlance,'that,kanyakumari,synods,mieszko,crossovers,serfdom,conformational,legislated,exclave,heathland,sadar,differentiates,propositional,konstantinos,photoshop,manche,vellore,appalachia,orestes,taiga,exchanger,grozny,invalidated,baffin,spezia,staunchly,eisenach,robustness,virtuosity,ciphers,inlets,bolagh,understandings,bosniaks,parser,typhoons,sinan,luzerne,webcomic,subtraction,jhelum,businessweek,ceske,refrained,firebox,mitigated,helmholtz,dilip,eslamabad,metalwork,lucan,apportionment,provident,gdynia,schooners,casement,danse,hajjiabad,benazir,buttress,anthracite,newsreel,wollaston,dispatching,cadastral,riverboat,provincetown,nantwich,missal,irreverent,juxtaposed,darya,ennobled,electropop,stereoscopic,maneuverability,laban,luhansk,udine,collectibles,haulage,holyrood,materially,supercharger,gorizia,shkoder,townhouses,pilate,layoffs,folkloric,dialectic,exuberant,matures,malla,ceuta,citizenry,crewed,couplet,stopover,transposition,tradesmen,antioxidant,amines,utterance,grahame,landless,isere,diction,appellant,satirist,urbino,intertoto,subiaco,antonescu,nehemiah,ubiquitin,emcee,stourbridge,fencers,103rd,wranglers,monteverdi,watertight,expounded,xiamen,manmohan,pirie,threefold,antidepressant,sheboygan,grieg,cancerous,diverging,bernini,polychrome,fundamentalism,bihari,critiqued,cholas,villers,tendulkar,dafydd,vastra,fringed,evangelization,episcopalian,maliki,sana'a,ashburton,trianon,allegany,heptathlon,insufficiently,panelists,pharrell,hexham,amharic,fertilized,plumes,cistern,stratigraphy,akershus,catalans,karoo,rupee,minuteman,quantification,wigmore,leutnant,metanotum,weeknights,iridescent,extrasolar,brechin,deuterium,kuching,lyricism,astrakhan,brookhaven,euphorbia,hradec,bhagat,vardar,aylmer,positron,amygdala,speculators,unaccompanied,debrecen,slurry,windhoek,disaffected,rapporteur,mellitus,blockers,fronds,yatra,sportsperson,precession,physiologist,weeknight,pidgin,pharma,condemns,standardize,zetian,tibor,glycoprotein,emporia,cormorants,amalie,accesses,leonhard,denbighshire,roald,116th,will.i.am,symbiosis,privatised,meanders,chemnitz,jabalpur,shing,secede,ludvig,krajina,homegrown,snippets,sasanian,euripides,peder,cimarron,streaked,graubunden,kilimanjaro,mbeki,middleware,flensburg,bukovina,lindwall,marsalis,profited,abkhaz,polis,camouflaged,amyloid,morgantown,ovoid,bodleian,morte,quashed,gamelan,juventud,natchitoches,storyboard,freeview,enumeration,cielo,preludes,bulawayo,1600s,olympiads,multicast,faunal,asura,reinforces,puranas,ziegfeld,handicraft,seamount,kheil,noche,hallmarks,dermal,colorectal,encircle,hessen,umbilicus,sunnis,leste,unwin,disclosing,superfund,montmartre,refuelling,subprime,kolhapur,etiology,bismuth,laissez,vibrational,mazar,alcoa,rumsfeld,recurve,ticonderoga,lionsgate,onlookers,homesteads,filesystem,barometric,kingswood,biofuel,belleza,moshav,occidentalis,asymptomatic,northeasterly,leveson,huygens,numan,kingsway,primogeniture,toyotomi,yazoo,limpets,greenbelt,booed,concurrence,dihedral,ventrites,raipur,sibiu,plotters,kitab,109th,trackbed,skilful,berthed,effendi,fairing,sephardi,mikhailovich,lockyer,wadham,invertible,paperbacks,alphabetic,deuteronomy,constitutive,leathery,greyhounds,estoril,beechcraft,poblacion,cossidae,excreted,flamingos,singha,olmec,neurotransmitters,ascoli,nkrumah,forerunners,dualism,disenchanted,benefitted,centrum,undesignated,noida,o'donoghue,collages,egrets,egmont,wuppertal,cleave,montgomerie,pseudomonas,srinivasa,lymphatic,stadia,resold,minima,evacuees,consumerism,ronde,biochemist,automorphism,hollows,smuts,improvisations,vespasian,bream,pimlico,eglin,colne,melancholic,berhad,ousting,saale,notaulices,ouest,hunslet,tiberias,abdomina,ramsgate,stanislas,donbass,pontefract,sucrose,halts,drammen,chelm,l'arc,taming,trolleys,konin,incertae,licensees,scythian,giorgos,dative,tanglewood,farmlands,o'keeffe,caesium,romsdal,amstrad,corte,oglethorpe,huntingdonshire,magnetization,adapts,zamosc,shooto,cuttack,centrepiece,storehouse,winehouse,morbidity,woodcuts,ryazan,buddleja,buoyant,bodmin,estero,austral,verifiable,periyar,christendom,curtail,shura,kaifeng,cotswold,invariance,seafaring,gorica,androgen,usman,seabird,forecourt,pekka,juridical,audacious,yasser,cacti,qianlong,polemical,d'amore,espanyol,distrito,cartographers,pacifism,serpents,backa,nucleophilic,overturning,duplicates,marksman,oriente,vuitton,oberleutnant,gielgud,gesta,swinburne,transfiguration,1750s,retaken,celje,fredrikstad,asuka,cropping,mansard,donates,blacksmiths,vijayanagara,anuradhapura,germinate,betis,foreshore,jalandhar,bayonets,devaluation,frazione,ablaze,abidjan,approvals,homeostasis,corollary,auden,superfast,redcliffe,luxembourgish,datum,geraldton,printings,ludhiana,honoree,synchrotron,invercargill,hurriedly,108th,three-and-a-half,colonist,bexar,limousin,bessemer,ossetian,nunataks,buddhas,rebuked,thais,tilburg,verdicts,interleukin,unproven,dordrecht,solent,acclamation,muammar,dahomey,operettas,4x400,arrears,negotiators,whitehaven,apparitions,armoury,psychoactive,worshipers,sculptured,elphinstone,airshow,kjell,o'callaghan,shrank,professorships,predominance,subhash,coulomb,sekolah,retrofitted,samos,overthrowing,vibrato,resistors,palearctic,datasets,doordarshan,subcutaneous,compiles,immorality,patchwork,trinidadian,glycogen,pronged,zohar,visigoths,freres,akram,justo,agora,intakes,craiova,playwriting,bukhari,militarism,iwate,petitioners,harun,wisla,inefficiency,vendome,ledges,schopenhauer,kashi,entombed,assesses,tenn.,noumea,baguio,carex,o'donovan,filings,hillsdale,conjectures,blotches,annuals,lindisfarne,negated,vivek,angouleme,trincomalee,cofactor,verkhovna,backfield,twofold,automaker,rudra,freighters,darul,gharana,busway,formula_43,plattsburgh,portuguesa,showrunner,roadmap,valenciennes,erdos,biafra,spiritualism,transactional,modifies,carne,107th,cocos,gcses,tiverton,radiotherapy,meadowlands,gunma,srebrenica,foxtel,authenticated,enslavement,classicist,klaipeda,minstrels,searchable,infantrymen,incitement,shiga,nadp+,urals,guilders,banquets,exteriors,counterattacks,visualized,diacritics,patrimony,svensson,transepts,prizren,telegraphy,najaf,emblazoned,coupes,effluent,ragam,omani,greensburg,taino,flintshire,cd/dvd,lobbies,narrating,cacao,seafarers,bicolor,collaboratively,suraj,floodlit,sacral,puppetry,tlingit,malwa,login,motionless,thien,overseers,vihar,golem,specializations,bathhouse,priming,overdubs,winningest,archetypes,uniao,acland,creamery,slovakian,lithographs,maryborough,confidently,excavating,stillborn,ramallah,audiencia,alava,ternary,hermits,rostam,bauxite,gawain,lothair,captions,gulfstream,timelines,receded,mediating,petain,bastia,rudbar,bidders,disclaimer,shrews,tailings,trilobites,yuriy,jamil,demotion,gynecology,rajinikanth,madrigals,ghazni,flycatchers,vitebsk,bizet,computationally,kashgar,refinements,frankford,heralds,europe/africa,levante,disordered,sandringham,queues,ransacked,trebizond,verdes,comedie,primitives,figurine,organists,culminate,gosport,coagulation,ferrying,hoyas,polyurethane,prohibitive,midfielders,ligase,progesterone,defectors,sweetened,backcountry,diodorus,waterside,nieuport,khwaja,jurong,decried,gorkha,ismaili,300th,octahedral,kindergartens,paseo,codification,notifications,disregarding,risque,reconquista,shortland,atolls,texarkana,perceval,d'etudes,kanal,herbicides,tikva,nuova,gatherer,dissented,soweto,dexterity,enver,bacharach,placekicker,carnivals,automate,maynooth,symplectic,chetnik,militaire,upanishads,distributive,strafing,championing,moiety,miliband,blackadder,enforceable,maung,dimer,stadtbahn,diverges,obstructions,coleophoridae,disposals,shamrocks,aural,banca,bahru,coxed,grierson,vanadium,watermill,radiative,ecoregions,berets,hariri,bicarbonate,evacuations,mallee,nairn,rushden,loggia,slupsk,satisfactorily,milliseconds,cariboo,reine,cyclo,pigmentation,postmodernism,aqueducts,vasari,bourgogne,dilemmas,liquefied,fluminense,alloa,ibaraki,tenements,kumasi,humerus,raghu,labours,putsch,soundcloud,bodybuilder,rakyat,domitian,pesaro,translocation,sembilan,homeric,enforcers,tombstones,lectureship,rotorua,salamis,nikolaos,inferences,superfortress,lithgow,surmised,undercard,tarnow,barisan,stingrays,federacion,coldstream,haverford,ornithological,heerenveen,eleazar,jyoti,murali,bamako,riverbed,subsidised,theban,conspicuously,vistas,conservatorium,madrasa,kingfishers,arnulf,credential,syndicalist,sheathed,discontinuity,prisms,tsushima,coastlines,escapees,vitis,optimizing,megapixel,overground,embattled,halide,sprinters,buoys,mpumalanga,peculiarities,106th,roamed,menezes,macao,prelates,papyri,freemen,dissertations,irishmen,pooled,sverre,reconquest,conveyance,subjectivity,asturian,circassian,formula_45,comdr,thickets,unstressed,monro,passively,harmonium,moveable,dinar,carlsson,elysees,chairing,b'nai,confusingly,kaoru,convolution,godolphin,facilitator,saxophones,eelam,jebel,copulation,anions,livres,licensure,pontypridd,arakan,controllable,alessandria,propelling,stellenbosch,tiber,wolka,liberators,yarns,d'azur,tsinghua,semnan,amhara,ablation,melies,tonality,historique,beeston,kahne,intricately,sonoran,robespierre,gyrus,boycotts,defaulted,infill,maranhao,emigres,framingham,paraiba,wilhelmshaven,tritium,skyway,labial,supplementation,possessor,underserved,motets,maldivian,marrakech,quays,wikimedia,turbojet,demobilization,petrarch,encroaching,sloops,masted,karbala,corvallis,agribusiness,seaford,stenosis,hieronymus,irani,superdraft,baronies,cortisol,notability,veena,pontic,cyclin,archeologists,newham,culled,concurring,aeolian,manorial,shouldered,fords,philanthropists,105th,siddharth,gotthard,halim,rajshahi,jurchen,detritus,practicable,earthenware,discarding,travelogue,neuromuscular,elkhart,raeder,zygmunt,metastasis,internees,102nd,vigour,upmarket,summarizing,subjunctive,offsets,elizabethtown,udupi,pardubice,repeaters,instituting,archaea,substandard,technische,linga,anatomist,flourishes,velika,tenochtitlan,evangelistic,fitchburg,springbok,cascading,hydrostatic,avars,occasioned,filipina,perceiving,shimbun,africanus,consternation,tsing,optically,beitar,45deg,abutments,roseville,monomers,huelva,lotteries,hypothalamus,internationalist,electromechanical,hummingbirds,fibreglass,salaried,dramatists,uncovers,invokes,earners,excretion,gelding,ancien,aeronautica,haverhill,stour,ittihad,abramoff,yakov,ayodhya,accelerates,industrially,aeroplanes,deleterious,dwelt,belvoir,harpalus,atpase,maluku,alasdair,proportionality,taran,epistemological,interferometer,polypeptide,adjudged,villager,metastatic,marshalls,madhavan,archduchess,weizmann,kalgoorlie,balan,predefined,sessile,sagaing,brevity,insecticide,psychosocial,africana,steelworks,aether,aquifers,belem,mineiro,almagro,radiators,cenozoic,solute,turbocharger,invicta,guested,buccaneer,idolatry,unmatched,paducah,sinestro,dispossessed,conforms,responsiveness,cyanobacteria,flautist,procurator,complementing,semifinalist,rechargeable,permafrost,cytokine,refuges,boomed,gelderland,franchised,jinan,burnie,doubtless,randomness,colspan=12,angra,ginebra,famers,nuestro,declarative,roughness,lauenburg,motile,rekha,issuer,piney,interceptors,napoca,gipsy,formulaic,formula_44,viswanathan,ebrahim,thessalonica,galeria,muskogee,unsold,html5,taito,mobutu,icann,carnarvon,fairtrade,morphisms,upsilon,nozzles,fabius,meander,murugan,strontium,episcopacy,sandinista,parasol,attenuated,bhima,primeval,panay,ordinator,negara,osteoporosis,glossop,ebook,paradoxically,grevillea,modoc,equating,phonetically,legumes,covariant,dorje,quatre,bruxelles,pyroclastic,shipbuilder,zhaozong,obscuring,sveriges,tremolo,extensible,barrack,multnomah,hakon,chaharmahal,parsing,volumetric,astrophysical,glottal,combinatorics,freestanding,encoder,paralysed,cavalrymen,taboos,heilbronn,orientalis,lockport,marvels,ozawa,dispositions,waders,incurring,saltire,modulate,papilio,phenol,intermedia,rappahannock,plasmid,fortify,phenotypes,transiting,correspondences,leaguer,larnaca,incompatibility,mcenroe,deeming,endeavoured,aboriginals,helmed,salar,arginine,werke,ferrand,expropriated,delimited,couplets,phoenicians,petioles,ouster,anschluss,protectionist,plessis,urchins,orquesta,castleton,juniata,bittorrent,fulani,donji,mykola,rosemont,chandos,scepticism,signer,chalukya,wicketkeeper,coquitlam,programmatic,o'brian,carteret,urology,steelhead,paleocene,konkan,bettered,venkatesh,surfacing,longitudinally,centurions,popularization,yazid,douro,widths,premios,leonards,gristmill,fallujah,arezzo,leftists,ecliptic,glycerol,inaction,disenfranchised,acrimonious,depositing,parashah,cockatoo,marechal,bolzano,chios,cablevision,impartiality,pouches,thickly,equities,bentinck,emotive,boson,ashdown,conquistadors,parsi,conservationists,reductive,newlands,centerline,ornithologists,waveguide,nicene,philological,hemel,setanta,masala,aphids,convening,casco,matrilineal,chalcedon,orthographic,hythe,replete,damming,bolivarian,admixture,embarks,borderlands,conformed,nagarjuna,blenny,chaitanya,suwon,shigeru,tatarstan,lingayen,rejoins,grodno,merovingian,hardwicke,puducherry,prototyping,laxmi,upheavals,headquarter,pollinators,bromine,transom,plantagenet,arbuthnot,chidambaram,woburn,osamu,panelling,coauthored,zhongshu,hyaline,omissions,aspergillus,offensively,electrolytic,woodcut,sodom,intensities,clydebank,piotrkow,supplementing,quipped,focke,harbinger,positivism,parklands,wolfenbuttel,cauca,tryptophan,taunus,curragh,tsonga,remand,obscura,ashikaga,eltham,forelimbs,analogs,trnava,observances,kailash,antithesis,ayumi,abyssinia,dorsally,tralee,pursuers,misadventures,padova,perot,mahadev,tarim,granth,licenced,compania,patuxent,baronial,korda,cochabamba,codices,karna,memorialized,semaphore,playlists,mandibular,halal,sivaji,scherzinger,stralsund,foundries,ribosome,mindfulness,nikolayevich,paraphyletic,newsreader,catalyze,ioannina,thalamus,gbit/s,paymaster,sarab,500th,replenished,gamepro,cracow,formula_46,gascony,reburied,lessing,easement,transposed,meurthe,satires,proviso,balthasar,unbound,cuckoos,durbar,louisbourg,cowes,wholesalers,manet,narita,xiaoping,mohamad,illusory,cathal,reuptake,alkaloid,tahrir,mmorpg,underlies,anglicanism,repton,aharon,exogenous,buchenwald,indigent,odostomia,milled,santorum,toungoo,nevsky,steyr,urbanisation,darkseid,subsonic,canaanite,akiva,eglise,dentition,mediators,cirencester,peloponnesian,malmesbury,durres,oerlikon,tabulated,saens,canaria,ischemic,esterhazy,ringling,centralization,walthamstow,nalanda,lignite,takht,leninism,expiring,circe,phytoplankton,promulgation,integrable,breeches,aalto,menominee,borgo,scythians,skrull,galleon,reinvestment,raglan,reachable,liberec,airframes,electrolysis,geospatial,rubiaceae,interdependence,symmetrically,simulcasts,keenly,mauna,adipose,zaidi,fairport,vestibular,actuators,monochromatic,literatures,congestive,sacramental,atholl,skytrain,tycho,tunings,jamia,catharina,modifier,methuen,tapings,infiltrating,colima,grafting,tauranga,halides,pontificate,phonetics,koper,hafez,grooved,kintetsu,extrajudicial,linkoping,cyberpunk,repetitions,laurentian,parnu,bretton,darko,sverdlovsk,foreshadowed,akhenaten,rehnquist,gosford,coverts,pragmatism,broadleaf,ethiopians,instated,mediates,sodra,opulent,descriptor,enugu,shimla,leesburg,officership,giffard,refectory,lusitania,cybermen,fiume,corus,tydfil,lawrenceville,ocala,leviticus,burghers,ataxia,richthofen,amicably,acoustical,watling,inquired,tiempo,multiracial,parallelism,trenchard,tokyopop,germanium,usisl,philharmonia,shapur,jacobites,latinized,sophocles,remittances,o'farrell,adder,dimitrios,peshwa,dimitar,orlov,outstretched,musume,satish,dimensionless,serialised,baptisms,pagasa,antiviral,1740s,quine,arapaho,bombardments,stratosphere,ophthalmic,injunctions,carbonated,nonviolence,asante,creoles,sybra,boilermakers,abington,bipartite,permissive,cardinality,anheuser,carcinogenic,hohenlohe,surinam,szeged,infanticide,generically,floorball,'white,automakers,cerebellar,homozygous,remoteness,effortlessly,allude,'great,headmasters,minting,manchurian,kinabalu,wemyss,seditious,widgets,marbled,almshouses,bards,subgenres,tetsuya,faulting,kickboxer,gaulish,hoseyn,malton,fluvial,questionnaires,mondale,downplayed,traditionalists,vercelli,sumatran,landfills,gamesradar,exerts,franciszek,unlawfully,huesca,diderot,libertarians,professorial,laane,piecemeal,conidae,taiji,curatorial,perturbations,abstractions,szlachta,watercraft,mullah,zoroastrianism,segmental,khabarovsk,rectors,affordability,scuola,diffused,stena,cyclonic,workpiece,romford,'little,jhansi,stalag,zhongshan,skipton,maracaibo,bernadotte,thanet,groening,waterville,encloses,sahrawi,nuffield,moorings,chantry,annenberg,islay,marchers,tenses,wahid,siegen,furstenberg,basques,resuscitation,seminarians,tympanum,gentiles,vegetarianism,tufted,venkata,fantastical,pterophoridae,machined,superposition,glabrous,kaveri,chicane,executors,phyllonorycter,bidirectional,jasta,undertones,touristic,majapahit,navratilova,unpopularity,barbadian,tinian,webcast,hurdler,rigidly,jarrah,staphylococcus,igniting,irrawaddy,stabilised,airstrike,ragas,wakayama,energetically,ekstraklasa,minibus,largemouth,cultivators,leveraging,waitangi,carnaval,weaves,turntables,heydrich,sextus,excavate,govind,ignaz,pedagogue,uriah,borrowings,gemstones,infractions,mycobacterium,batavian,massing,praetor,subalpine,massoud,passers,geostationary,jalil,trainsets,barbus,impair,budejovice,denbigh,pertain,historicity,fortaleza,nederlandse,lamenting,masterchef,doubs,gemara,conductance,ploiesti,cetaceans,courthouses,bhagavad,mihailovic,occlusion,bremerhaven,bulwark,morava,kaine,drapery,maputo,conquistador,kaduna,famagusta,first-past-the-post,erudite,galton,undated,tangential,filho,dismembered,dashes,criterium,darwen,metabolized,blurring,everard,randwick,mohave,impurity,acuity,ansbach,chievo,surcharge,plantain,algoma,porosity,zirconium,selva,sevenoaks,venizelos,gwynne,golgi,imparting,separatism,courtesan,idiopathic,gravestones,hydroelectricity,babar,orford,purposeful,acutely,shard,ridgewood,viterbo,manohar,expropriation,placenames,brevis,cosine,unranked,richfield,newnham,recoverable,flightless,dispersing,clearfield,abu'l,stranraer,kempe,streamlining,goswami,epidermal,pieta,conciliatory,distilleries,electrophoresis,bonne,tiago,curiosities,candidature,picnicking,perihelion,lintel,povoa,gullies,configure,excision,facies,signers,1730s,insufficiency,semiotics,streatham,deactivation,entomological,skippers,albacete,parodying,escherichia,honorees,singaporeans,counterterrorism,tiruchirappalli,omnivorous,metropole,globalisation,athol,unbounded,codice_5,landforms,classifier,farmhouses,reaffirming,reparation,yomiuri,technologists,mitte,medica,viewable,steampunk,konya,kshatriya,repelling,edgewater,lamiinae,devas,potteries,llandaff,engendered,submits,virulence,uplifted,educationist,metropolitans,frontrunner,dunstable,forecastle,frets,methodius,exmouth,linnean,bouchet,repulsion,computable,equalling,liceo,tephritidae,agave,hydrological,azarenka,fairground,l'homme,enforces,xinhua,cinematographers,cooperstown,sa'id,paiute,christianization,tempos,chippenham,insulator,kotor,stereotyped,dello,cours,hisham,d'souza,eliminations,supercars,passau,rebrand,natures,coote,persephone,rededicated,cleaved,plenum,blistering,indiscriminately,cleese,safed,recursively,compacted,revues,hydration,shillong,echelons,garhwal,pedimented,grower,zwolle,wildflower,annexing,methionine,petah,valens,famitsu,petiole,specialities,nestorian,shahin,tokaido,shearwater,barberini,kinsmen,experimenter,alumnae,cloisters,alumina,pritzker,hardiness,soundgarden,julich,ps300,watercourse,cementing,wordplay,olivet,demesne,chasseurs,amide,zapotec,gaozu,porphyry,absorbers,indium,analogies,devotions,engravers,limestones,catapulted,surry,brickworks,gotra,rodham,landline,paleontologists,shankara,islip,raucous,trollope,arpad,embarkation,morphemes,recites,picardie,nakhchivan,tolerances,formula_47,khorramabad,nichiren,adrianople,kirkuk,assemblages,collider,bikaner,bushfires,roofline,coverings,reredos,bibliotheca,mantras,accentuated,commedia,rashtriya,fluctuation,serhiy,referential,fittipaldi,vesicle,geeta,iraklis,immediacy,chulalongkorn,hunsruck,bingen,dreadnoughts,stonemason,meenakshi,lebesgue,undergrowth,baltistan,paradoxes,parlement,articled,tiflis,dixieland,meriden,tejano,underdogs,barnstable,exemplify,venter,tropes,wielka,kankakee,iskandar,zilina,pharyngeal,spotify,materialised,picts,atlantique,theodoric,prepositions,paramilitaries,pinellas,attlee,actuated,piedmontese,grayling,thucydides,multifaceted,unedited,autonomously,universelle,utricularia,mooted,preto,incubated,underlie,brasenose,nootka,bushland,sensu,benzodiazepine,esteghlal,seagoing,amenhotep,azusa,sappers,culpeper,smokeless,thoroughbreds,dargah,gorda,alumna,mankato,zdroj,deleting,culvert,formula_49,punting,wushu,hindering,immunoglobulin,standardisation,birger,oilfield,quadrangular,ulama,recruiters,netanya,1630s,communaute,istituto,maciej,pathan,meher,vikas,characterizations,playmaker,interagency,intercepts,assembles,horthy,introspection,narada,matra,testes,radnicki,estonians,csiro,instar,mitford,adrenergic,crewmembers,haaretz,wasatch,lisburn,rangefinder,ordre,condensate,reforestation,corregidor,spvgg,modulator,mannerist,faulted,aspires,maktoum,squarepants,aethelred,piezoelectric,mulatto,dacre,progressions,jagiellonian,norge,samaria,sukhoi,effingham,coxless,hermetic,humanists,centrality,litters,stirlingshire,beaconsfield,sundanese,geometrically,caretakers,habitually,bandra,pashtuns,bradenton,arequipa,laminar,brickyard,hitchin,sustains,shipboard,ploughing,trechus,wheelers,bracketed,ilyushin,subotica,d'hondt,reappearance,bridgestone,intermarried,fulfilment,aphasia,birkbeck,transformational,strathmore,hornbill,millstone,lacan,voids,solothurn,gymnasiums,laconia,viaducts,peduncle,teachta,edgware,shinty,supernovae,wilfried,exclaim,parthia,mithun,flashpoint,moksha,cumbia,metternich,avalanches,militancy,motorist,rivadavia,chancellorsville,federals,gendered,bounding,footy,gauri,caliphs,lingam,watchmaker,unrecorded,riverina,unmodified,seafloor,droit,pfalz,chrysostom,gigabit,overlordship,besiege,espn2,oswestry,anachronistic,ballymena,reactivation,duchovny,ghani,abacetus,duller,legio,watercourses,nord-pas-de-calais,leiber,optometry,swarms,installer,sancti,adverbs,iheartmedia,meiningen,zeljko,kakheti,notional,circuses,patrilineal,acrobatics,infrastructural,sheva,oregonian,adjudication,aamir,wloclawek,overfishing,obstructive,subtracting,aurobindo,archeologist,newgate,'cause,secularization,tehsils,abscess,fingal,janacek,elkhorn,trims,kraftwerk,mandating,irregulars,faintly,congregationalist,sveti,kasai,mishaps,kennebec,provincially,durkheim,scotties,aicte,rapperswil,imphal,surrenders,morphs,nineveh,hoxha,cotabato,thuringian,metalworking,retold,shogakukan,anthers,proteasome,tippeligaen,disengagement,mockumentary,palatial,erupts,flume,corrientes,masthead,jaroslaw,rereleased,bharti,labors,distilling,tusks,varzim,refounded,enniskillen,melkite,semifinalists,vadodara,bermudian,capstone,grasse,origination,populus,alesi,arrondissements,semigroup,verein,opossum,messrs.,portadown,bulbul,tirupati,mulhouse,tetrahedron,roethlisberger,nonverbal,connexion,warangal,deprecated,gneiss,octet,vukovar,hesketh,chambre,despatch,claes,kargil,hideo,gravelly,tyndale,aquileia,tuners,defensible,tutte,theotokos,constructivist,ouvrage,dukla,polisario,monasticism,proscribed,commutation,testers,nipissing,codon,mesto,olivine,concomitant,exoskeleton,purports,coromandel,eyalet,dissension,hippocrates,purebred,yaounde,composting,oecophoridae,procopius,o'day,angiogenesis,sheerness,intelligencer,articular,felixstowe,aegon,endocrinology,trabzon,licinius,pagodas,zooplankton,hooghly,satie,drifters,sarthe,mercian,neuilly,tumours,canal+,scheldt,inclinations,counteroffensive,roadrunners,tuzla,shoreditch,surigao,predicates,carnot,algeciras,militaries,generalize,bulkheads,gawler,pollutant,celta,rundgren,microrna,gewog,olimpija,placental,lubelski,roxburgh,discerned,verano,kikuchi,musicale,l'enfant,ferocity,dimorphic,antigonus,erzurum,prebendary,recitative,discworld,cyrenaica,stigmella,totnes,sutta,pachuca,ulsan,downton,landshut,castellan,pleural,siedlce,siecle,catamaran,cottbus,utilises,trophic,freeholders,holyhead,u.s.s,chansons,responder,waziristan,suzuka,birding,shogi,asker,acetone,beautification,cytotoxic,dixit,hunterdon,cobblestone,formula_48,kossuth,devizes,sokoto,interlaced,shuttered,kilowatts,assiniboine,isaak,salto,alderney,sugarloaf,franchising,aggressiveness,toponyms,plaintext,antimatter,henin,equidistant,salivary,bilingualism,mountings,obligate,extirpated,irenaeus,misused,pastoralists,aftab,immigrating,warping,tyrolean,seaforth,teesside,soundwave,oligarchy,stelae,pairwise,iupac,tezuka,posht,orchestrations,landmass,ironstone,gallia,hjalmar,carmelites,strafford,elmhurst,palladio,fragility,teleplay,gruffudd,karoly,yerba,potok,espoo,inductance,macaque,nonprofits,pareto,rock'n'roll,spiritualist,shadowed,skateboarder,utterances,generality,congruence,prostrate,deterred,yellowknife,albarn,maldon,battlements,mohsen,insecticides,khulna,avellino,menstruation,glutathione,springdale,parlophone,confraternity,korps,countrywide,bosphorus,preexisting,damodar,astride,alexandrovich,sprinting,crystallized,botev,leaching,interstates,veers,angevin,undaunted,yevgeni,nishapur,northerners,alkmaar,bethnal,grocers,sepia,tornus,exemplar,trobe,charcot,gyeonggi,larne,tournai,lorain,voided,genji,enactments,maxilla,adiabatic,eifel,nazim,transducer,thelonious,pyrite,deportiva,dialectal,bengt,rosettes,labem,sergeyevich,synoptic,conservator,statuette,biweekly,adhesives,bifurcation,rajapaksa,mammootty,republique,yusef,waseda,marshfield,yekaterinburg,minnelli,fundy,fenian,matchups,dungannon,supremacist,panelled,drenthe,iyengar,fibula,narmada,homeport,oceanside,precept,antibacterial,altarpieces,swath,ospreys,lillooet,legnica,lossless,formula_50,galvatron,iorga,stormont,rsfsr,loggers,kutno,phenomenological,medallists,cuatro,soissons,homeopathy,bituminous,injures,syndicates,typesetting,displacements,dethroned,makassar,lucchese,abergavenny,targu,alborz,akb48,boldface,gastronomy,sacra,amenity,accumulator,myrtaceae,cornices,mourinho,denunciation,oxbow,diddley,aargau,arbitrage,bedchamber,gruffydd,zamindar,klagenfurt,caernarfon,slowdown,stansted,abrasion,tamaki,suetonius,dukakis,individualistic,ventrally,hotham,perestroika,ketones,fertilisation,sobriquet,couplings,renderings,misidentified,rundfunk,sarcastically,braniff,concours,dismissals,elegantly,modifiers,crediting,combos,crucially,seafront,lieut,ischemia,manchus,derivations,proteases,aristophanes,adenauer,porting,hezekiah,sante,trulli,hornblower,foreshadowing,ypsilanti,dharwad,khani,hohenstaufen,distillers,cosmodrome,intracranial,turki,salesian,gorzow,jihlava,yushchenko,leichhardt,venables,cassia,eurogamer,airtel,curative,bestsellers,timeform,sortied,grandview,massillon,ceding,pilbara,chillicothe,heredity,elblag,rogaland,ronne,millennial,batley,overuse,bharata,fille,campbelltown,abeyance,counterclockwise,250cc,neurodegenerative,consigned,electromagnetism,sunnah,saheb,exons,coxswain,gleaned,bassoons,worksop,prismatic,immigrate,pickets,takeo,bobsledder,stosur,fujimori,merchantmen,stiftung,forli,endorses,taskforce,thermally,atman,gurps,floodplains,enthalpy,extrinsic,setubal,kennesaw,grandis,scalability,durations,showrooms,prithvi,outro,overruns,andalucia,amanita,abitur,hipper,mozambican,sustainment,arsene,chesham,palaeolithic,reportage,criminality,knowsley,haploid,atacama,shueisha,ridgefield,astern,getafe,lineal,timorese,restyled,hollies,agincourt,unter,justly,tannins,mataram,industrialised,tarnovo,mumtaz,mustapha,stretton,synthetase,condita,allround,putra,stjepan,troughs,aechmea,specialisation,wearable,kadokawa,uralic,aeros,messiaen,existentialism,jeweller,effigies,gametes,fjordane,cochlear,interdependent,demonstrative,unstructured,emplacement,famines,spindles,amplitudes,actuator,tantalum,psilocybe,apnea,monogatari,expulsions,seleucus,tsuen,hospitaller,kronstadt,eclipsing,olympiakos,clann,canadensis,inverter,helio,egyptologist,squamous,resonate,munir,histology,torbay,khans,jcpenney,veterinarians,aintree,microscopes,colonised,reflectors,phosphorylated,pristimantis,tulare,corvinus,multiplexing,midweek,demosthenes,transjordan,ecija,tengku,vlachs,anamorphic,counterweight,radnor,trinitarian,armidale,maugham,njsiaa,futurism,stairways,avicenna,montebello,bridgetown,wenatchee,lyonnais,amass,surinamese,streptococcus,m*a*s*h,hydrogenation,frazioni,proscenium,kalat,pennsylvanian,huracan,tallying,kralove,nucleolar,phrygian,seaports,hyacinthe,ignace,donning,instalment,regnal,fonds,prawn,carell,folktales,goaltending,bracknell,vmware,patriarchy,mitsui,kragujevac,pythagoras,soult,thapa,disproved,suwalki,secures,somoza,l'ecole,divizia,chroma,herders,technologist,deduces,maasai,rampur,paraphrase,raimi,imaged,magsaysay,ivano,turmeric,formula_51,subcommittees,axillary,ionosphere,organically,indented,refurbishing,pequot,violinists,bearn,colle,contralto,silverton,mechanization,etruscans,wittelsbach,pasir,redshirted,marrakesh,scarp,plein,wafers,qareh,teotihuacan,frobenius,sinensis,rehoboth,bundaberg,newbridge,hydrodynamic,traore,abubakar,adjusts,storytellers,dynamos,verbandsliga,concertmaster,exxonmobil,appreciable,sieradz,marchioness,chaplaincy,rechristened,cunxu,overpopulation,apolitical,sequencer,beaked,nemanja,binaries,intendant,absorber,filamentous,indebtedness,nusra,nashik,reprises,psychedelia,abwehr,ligurian,isoform,resistive,pillaging,mahathir,reformatory,lusatia,allerton,ajaccio,tepals,maturin,njcaa,abyssinian,objector,fissures,sinuous,ecclesiastic,dalits,caching,deckers,phosphates,wurlitzer,navigated,trofeo,berea,purefoods,solway,unlockable,grammys,kostroma,vocalizations,basilan,rebuke,abbasi,douala,helsingborg,ambon,bakar,runestones,cenel,tomislav,pigmented,northgate,excised,seconda,kirke,determinations,dedicates,vilas,pueblos,reversion,unexploded,overprinted,ekiti,deauville,masato,anaesthesia,endoplasmic,transponders,aguascalientes,hindley,celluloid,affording,bayeux,piaget,rickshaws,eishockey,camarines,zamalek,undersides,hardwoods,hermitian,mutinied,monotone,blackmails,affixes,jpmorgan,habermas,mitrovica,paleontological,polystyrene,thana,manas,conformist,turbofan,decomposes,logano,castration,metamorphoses,patroness,herbicide,mikolaj,rapprochement,macroeconomics,barranquilla,matsudaira,lintels,femina,hijab,spotsylvania,morpheme,bitola,baluchistan,kurukshetra,otway,extrusion,waukesha,menswear,helder,trung,bingley,protester,boars,overhang,differentials,exarchate,hejaz,kumara,unjustified,timings,sharpness,nuovo,taisho,sundar,etc..,jehan,unquestionably,muscovy,daltrey,canute,paneled,amedeo,metroplex,elaborates,telus,tetrapods,dragonflies,epithets,saffir,parthenon,lucrezia,refitting,pentateuch,hanshin,montparnasse,lumberjacks,sanhedrin,erectile,odors,greenstone,resurgent,leszek,amory,substituents,prototypical,viewfinder,monck,universiteit,joffre,revives,chatillon,seedling,scherzo,manukau,ashdod,gympie,homolog,stalwarts,ruinous,weibo,tochigi,wallenberg,gayatri,munda,satyagraha,storefronts,heterogeneity,tollway,sportswriters,binocular,gendarmes,ladysmith,tikal,ortsgemeinde,ja'far,osmotic,linlithgow,bramley,telecoms,pugin,repose,rupaul,sieur,meniscus,garmisch,reintroduce,400th,shoten,poniatowski,drome,kazakhstani,changeover,astronautics,husserl,herzl,hypertext,katakana,polybius,antananarivo,seong,breguet,reliquary,utada,aggregating,liangshan,sivan,tonawanda,audiobooks,shankill,coulee,phenolic,brockton,bookmakers,handsets,boaters,wylde,commonality,mappings,silhouettes,pennines,maurya,pratchett,singularities,eschewed,pretensions,vitreous,ibero,totalitarianism,poulenc,lingered,directx,seasoning,deputation,interdict,illyria,feedstock,counterbalance,muzik,buganda,parachuted,violist,homogeneity,comix,fjords,corsairs,punted,verandahs,equilateral,laoghaire,magyars,117th,alesund,televoting,mayotte,eateries,refurbish,nswrl,yukio,caragiale,zetas,dispel,codecs,inoperable,outperformed,rejuvenation,elstree,modernise,contributory,pictou,tewkesbury,chechens,ashina,psionic,refutation,medico,overdubbed,nebulae,sandefjord,personages,eccellenza,businessperson,placename,abenaki,perryville,threshing,reshaped,arecibo,burslem,colspan=3|turnout,rebadged,lumia,erinsborough,interactivity,bitmap,indefatigable,theosophy,excitatory,gleizes,edsel,bermondsey,korce,saarinen,wazir,diyarbakir,cofounder,liberalisation,onsen,nighthawks,siting,retirements,semyon,d'histoire,114th,redditch,venetia,praha,'round,valdosta,hieroglyphic,postmedial,edirne,miscellany,savona,cockpits,minimization,coupler,jacksonian,appeasement,argentines,saurashtra,arkwright,hesiod,folios,fitzalan,publica,rivaled,civitas,beermen,constructivism,ribeira,zeitschrift,solanum,todos,deformities,chilliwack,verdean,meagre,bishoprics,gujrat,yangzhou,reentered,inboard,mythologies,virtus,unsurprisingly,rusticated,museu,symbolise,proportionate,thesaban,symbian,aeneid,mitotic,veliki,compressive,cisterns,abies,winemaker,massenet,bertolt,ahmednagar,triplemania,armorial,administracion,tenures,smokehouse,hashtag,fuerza,regattas,gennady,kanazawa,mahmudabad,crustal,asaph,valentinian,ilaiyaraaja,honeyeater,trapezoidal,cooperatively,unambiguously,mastodon,inhospitable,harnesses,riverton,renewables,djurgardens,haitians,airings,humanoids,boatswain,shijiazhuang,faints,veera,punjabis,steepest,narain,karlovy,serre,sulcus,collectives,1500m,arion,subarctic,liberally,apollonius,ostia,droplet,headstones,norra,robusta,maquis,veronese,imola,primers,luminance,escadrille,mizuki,irreconcilable,stalybridge,temur,paraffin,stuccoed,parthians,counsels,fundamentalists,vivendi,polymath,sugababes,mikko,yonne,fermions,vestfold,pastoralist,kigali,unseeded,glarus,cusps,amasya,northwesterly,minorca,astragalus,verney,trevelyan,antipathy,wollstonecraft,bivalves,boulez,royle,divisao,quranic,bareilly,coronal,deviates,lulea,erectus,petronas,chandan,proxies,aeroflot,postsynaptic,memoriam,moyne,gounod,kuznetsova,pallava,ordinating,reigate,'first,lewisburg,exploitative,danby,academica,bailiwick,brahe,injective,stipulations,aeschylus,computes,gulden,hydroxylase,liveries,somalis,underpinnings,muscovite,kongsberg,domus,overlain,shareware,variegated,jalalabad,agence,ciphertext,insectivores,dengeki,menuhin,cladistic,baerum,betrothal,tokushima,wavelet,expansionist,pottsville,siyuan,prerequisites,carpi,nemzeti,nazar,trialled,eliminator,irrorated,homeward,redwoods,undeterred,strayed,lutyens,multicellular,aurelian,notated,lordships,alsatian,idents,foggia,garros,chalukyas,lillestrom,podlaski,pessimism,hsien,demilitarized,whitewashed,willesden,kirkcaldy,sanctorum,lamia,relaying,escondido,paediatric,contemplates,demarcated,bluestone,betula,penarol,capitalise,kreuznach,kenora,115th,hold'em,reichswehr,vaucluse,m.i.a,windings,boys/girls,cajon,hisar,predictably,flemington,ysgol,mimicked,clivina,grahamstown,ionia,glyndebourne,patrese,aquaria,sleaford,dayal,sportscenter,malappuram,m.b.a.,manoa,carbines,solvable,designator,ramanujan,linearity,academicians,sayid,lancastrian,factorial,strindberg,vashem,delos,comyn,condensing,superdome,merited,kabaddi,intransitive,bideford,neuroimaging,duopoly,scorecards,ziggler,heriot,boyars,virology,marblehead,microtubules,westphalian,anticipates,hingham,searchers,harpist,rapides,morricone,convalescent,mises,nitride,metrorail,matterhorn,bicol,drivetrain,marketer,snippet,winemakers,muban,scavengers,halberstadt,herkimer,peten,laborious,stora,montgomeryshire,booklist,shamir,herault,eurostar,anhydrous,spacewalk,ecclesia,calliostoma,highschool,d'oro,suffusion,imparts,overlords,tagus,rectifier,counterinsurgency,ministered,eilean,milecastle,contre,micromollusk,okhotsk,bartoli,matroid,hasidim,thirunal,terme,tarlac,lashkar,presque,thameslink,flyby,troopship,renouncing,fatih,messrs,vexillum,bagration,magnetite,bornholm,androgynous,vehement,tourette,philosophic,gianfranco,tuileries,codice_6,radially,flexion,hants,reprocessing,setae,burne,palaeographically,infantryman,shorebirds,tamarind,moderna,threading,militaristic,crohn,norrkoping,125cc,stadtholder,troms,klezmer,alphanumeric,brome,emmanuelle,tiwari,alchemical,formula_52,onassis,bleriot,bipedal,colourless,hermeneutics,hosni,precipitating,turnstiles,hallucinogenic,panhellenic,wyandotte,elucidated,chita,ehime,generalised,hydrophilic,biota,niobium,rnzaf,gandhara,longueuil,logics,sheeting,bielsko,cuvier,kagyu,trefoil,docent,pancrase,stalinism,postures,encephalopathy,monckton,imbalances,epochs,leaguers,anzio,diminishes,pataki,nitrite,amuro,nabil,maybach,l'aquila,babbler,bacolod,thutmose,evora,gaudi,breakage,recur,preservative,60deg,mendip,functionaries,columnar,maccabiah,chert,verden,bromsgrove,clijsters,dengue,pastorate,phuoc,principia,viareggio,kharagpur,scharnhorst,anyang,bosons,l'art,criticises,ennio,semarang,brownian,mirabilis,asperger,calibers,typographical,cartooning,minos,disembark,supranational,undescribed,etymologically,alappuzha,vilhelm,lanao,pakenham,bhagavata,rakoczi,clearings,astrologers,manitowoc,bunuel,acetylene,scheduler,defamatory,trabzonspor,leaded,scioto,pentathlete,abrahamic,minigames,aldehydes,peerages,legionary,1640s,masterworks,loudness,bryansk,likeable,genocidal,vegetated,towpath,declination,pyrrhus,divinely,vocations,rosebery,associazione,loaders,biswas,oeste,tilings,xianzong,bhojpuri,annuities,relatedness,idolator,psers,constriction,chuvash,choristers,hanafi,fielders,grammarian,orpheum,asylums,millbrook,gyatso,geldof,stabilise,tableaux,diarist,kalahari,panini,cowdenbeath,melanin,4x100m,resonances,pinar,atherosclerosis,sheringham,castlereagh,aoyama,larks,pantograph,protrude,natak,gustafsson,moribund,cerevisiae,cleanly,polymeric,holkar,cosmonauts,underpinning,lithosphere,firuzabad,languished,mingled,citrate,spadina,lavas,daejeon,fibrillation,porgy,pineville,ps1000,cobbled,emamzadeh,mukhtar,dampers,indelible,salonika,nanoscale,treblinka,eilat,purporting,fluctuate,mesic,hagiography,cutscenes,fondation,barrens,comically,accrue,ibrox,makerere,defections,'there,hollandia,skene,grosseto,reddit,objectors,inoculation,rowdies,playfair,calligrapher,namor,sibenik,abbottabad,propellants,hydraulically,chloroplasts,tablelands,tecnico,schist,klasse,shirvan,bashkortostan,bullfighting,north/south,polski,hanns,woodblock,kilmore,ejecta,ignacy,nanchang,danubian,commendations,snohomish,samaritans,argumentation,vasconcelos,hedgehogs,vajrayana,barents,kulkarni,kumbakonam,identifications,hillingdon,weirs,nayanar,beauvoir,messe,divisors,atlantiques,broods,affluence,tegucigalpa,unsuited,autodesk,akash,princeps,culprits,kingstown,unassuming,goole,visayan,asceticism,blagojevich,irises,paphos,unsound,maurier,pontchartrain,desertification,sinfonietta,latins,especial,limpet,valerenga,glial,brainstem,mitral,parables,sauropod,judean,iskcon,sarcoma,venlo,justifications,zhuhai,blavatsky,alleviated,usafe,steppenwolf,inversions,janko,chagall,secretory,basildon,saguenay,pergamon,hemispherical,harmonized,reloading,franjo,domaine,extravagance,relativism,metamorphosed,labuan,baloncesto,gmail,byproducts,calvinists,counterattacked,vitus,bubonic,120th,strachey,ritually,brookwood,selectable,savinja,incontinence,meltwater,jinja,1720s,brahmi,morgenthau,sheaves,sleeved,stratovolcano,wielki,utilisation,avoca,fluxus,panzergrenadier,philately,deflation,podlaska,prerogatives,kuroda,theophile,zhongzong,gascoyne,magus,takao,arundell,fylde,merdeka,prithviraj,venkateswara,liepaja,daigo,dreamland,reflux,sunnyvale,coalfields,seacrest,soldering,flexor,structuralism,alnwick,outweighed,unaired,mangeshkar,batons,glaad,banshees,irradiated,organelles,biathlete,cabling,chairlift,lollapalooza,newsnight,capacitive,succumbs,flatly,miramichi,burwood,comedienne,charteris,biotic,workspace,aficionados,sokolka,chatelet,o'shaughnessy,prosthesis,neoliberal,refloated,oppland,hatchlings,econometrics,loess,thieu,androids,appalachians,jenin,pterostichinae,downsized,foils,chipsets,stencil,danza,narrate,maginot,yemenite,bisects,crustacean,prescriptive,melodious,alleviation,empowers,hansson,autodromo,obasanjo,osmosis,daugava,rheumatism,moraes,leucine,etymologies,chepstow,delaunay,bramall,bajaj,flavoring,approximates,marsupials,incisive,microcomputer,tactically,waals,wilno,fisichella,ursus,hindmarsh,mazarin,lomza,xenophobia,lawlessness,annecy,wingers,gornja,gnaeus,superieur,tlaxcala,clasps,symbolises,slats,rightist,effector,blighted,permanence,divan,progenitors,kunsthalle,anointing,excelling,coenzyme,indoctrination,dnipro,landholdings,adriaan,liturgies,cartan,ethmia,attributions,sanctus,trichy,chronicon,tancred,affinis,kampuchea,gantry,pontypool,membered,distrusted,fissile,dairies,hyposmocoma,craigie,adarsh,martinsburg,taxiway,30deg,geraint,vellum,bencher,khatami,formula_53,zemun,teruel,endeavored,palmares,pavements,u.s..,internationalization,satirized,carers,attainable,wraparound,muang,parkersburg,extinctions,birkenfeld,wildstorm,payers,cohabitation,unitas,culloden,capitalizing,clwyd,daoist,campinas,emmylou,orchidaceae,halakha,orientales,fealty,domnall,chiefdom,nigerians,ladislav,dniester,avowed,ergonomics,newsmagazine,kitsch,cantilevered,benchmarking,remarriage,alekhine,coldfield,taupo,almirante,substations,apprenticeships,seljuq,levelling,eponym,symbolising,salyut,opioids,underscore,ethnologue,mohegan,marikina,libro,bassano,parse,semantically,disjointed,dugdale,padraig,tulsi,modulating,xfinity,headlands,mstislav,earthworms,bourchier,lgbtq,embellishments,pennants,rowntree,betel,motet,mulla,catenary,washoe,mordaunt,dorking,colmar,girardeau,glentoran,grammatically,samad,recreations,technion,staccato,mikoyan,spoilers,lyndhurst,victimization,chertsey,belafonte,tondo,tonsberg,narrators,subcultures,malformations,edina,augmenting,attests,euphemia,cabriolet,disguising,1650s,navarrese,demoralized,cardiomyopathy,welwyn,wallachian,smoothness,planktonic,voles,issuers,sardasht,survivability,cuauhtemoc,thetis,extruded,signet,raghavan,lombok,eliyahu,crankcase,dissonant,stolberg,trencin,desktops,bursary,collectivization,charlottenburg,triathlete,curvilinear,involuntarily,mired,wausau,invades,sundaram,deletions,bootstrap,abellio,axiomatic,noguchi,setups,malawian,visalia,materialist,kartuzy,wenzong,plotline,yeshivas,parganas,tunica,citric,conspecific,idlib,superlative,reoccupied,blagoevgrad,masterton,immunological,hatta,courbet,vortices,swallowtail,delves,haridwar,diptera,boneh,bahawalpur,angering,mardin,equipments,deployable,guanine,normality,rimmed,artisanal,boxset,chandrasekhar,jools,chenar,tanakh,carcassonne,belatedly,millville,anorthosis,reintegration,velde,surfactant,kanaan,busoni,glyphipterix,personas,fullness,rheims,tisza,stabilizers,bharathi,joost,spinola,mouldings,perching,esztergom,afzal,apostate,lustre,s.league,motorboat,monotheistic,armature,barat,asistencia,bloomsburg,hippocampal,fictionalised,defaults,broch,hexadecimal,lusignan,ryanair,boccaccio,breisgau,southbank,bskyb,adjoined,neurobiology,aforesaid,sadhu,langue,headship,wozniacki,hangings,regulus,prioritized,dynamism,allier,hannity,shimin,antoninus,gymnopilus,caledon,preponderance,melayu,electrodynamics,syncopated,ibises,krosno,mechanistic,morpeth,harbored,albini,monotheism,'real,hyperactivity,haveli,writer/director,minato,nimoy,caerphilly,chitral,amirabad,fanshawe,l'oreal,lorde,mukti,authoritarianism,valuing,spyware,hanbury,restarting,stato,embed,suiza,empiricism,stabilisation,stari,castlemaine,orbis,manufactory,mauritanian,shoji,taoyuan,prokaryotes,oromia,ambiguities,embodying,slims,frente,innovate,ojibwa,powdery,gaeltacht,argentinos,quatermass,detergents,fijians,adaptor,tokai,chileans,bulgars,oxidoreductases,bezirksliga,conceicao,myosin,nellore,500cc,supercomputers,approximating,glyndwr,polypropylene,haugesund,cockerell,tudman,ashbourne,hindemith,bloodlines,rigveda,etruria,romanos,steyn,oradea,deceleration,manhunter,laryngeal,fraudulently,janez,wendover,haplotype,janaki,naoki,belizean,mellencamp,cartographic,sadhana,tricolour,pseudoscience,satara,bytow,s.p.a.,jagdgeschwader,arcot,omagh,sverdrup,masterplan,surtees,apocrypha,ahvaz,d'amato,socratic,leumit,unnumbered,nandini,witold,marsupial,coalesced,interpolated,gimnasia,karadzic,keratin,mamoru,aldeburgh,speculator,escapement,irfan,kashyap,satyajit,haddington,solver,rothko,ashkelon,kickapoo,yeomen,superbly,bloodiest,greenlandic,lithic,autofocus,yardbirds,poona,keble,javan,sufis,expandable,tumblr,ursuline,swimwear,winwood,counsellors,aberrations,marginalised,befriending,workouts,predestination,varietal,siddhartha,dunkeld,judaic,esquimalt,shabab,ajith,telefonica,stargard,hoysala,radhakrishnan,sinusoidal,strada,hiragana,cebuano,monoid,independencia,floodwaters,mildura,mudflats,ottokar,translit,radix,wigner,philosophically,tephritid,synthesizing,castletown,installs,stirner,resettle,bushfire,choirmaster,kabbalistic,shirazi,lightship,rebus,colonizers,centrifuge,leonean,kristofferson,thymus,clackamas,ratnam,rothesay,municipally,centralia,thurrock,gulfport,bilinear,desirability,merite,psoriasis,macaw,erigeron,consignment,mudstone,distorting,karlheinz,ramen,tailwheel,vitor,reinsurance,edifices,superannuation,dormancy,contagion,cobden,rendezvoused,prokaryotic,deliberative,patricians,feigned,degrades,starlings,sopot,viticultural,beaverton,overflowed,convener,garlands,michiel,ternopil,naturelle,biplanes,bagot,gamespy,ventspils,disembodied,flattening,profesional,londoners,arusha,scapular,forestall,pyridine,ulema,eurodance,aruna,callus,periodontal,coetzee,immobilized,o'meara,maharani,katipunan,reactants,zainab,microgravity,saintes,britpop,carrefour,constrain,adversarial,firebirds,brahmo,kashima,simca,surety,surpluses,superconductivity,gipuzkoa,cumans,tocantins,obtainable,humberside,roosting,'king,formula_54,minelayer,bessel,sulayman,cycled,biomarkers,annealing,shusha,barda,cassation,djing,polemics,tuple,directorates,indomitable,obsolescence,wilhelmine,pembina,bojan,tambo,dioecious,pensioner,magnificat,1660s,estrellas,southeasterly,immunodeficiency,railhead,surreptitiously,codeine,encores,religiosity,tempera,camberley,efendi,boardings,malleable,hagia,input/output,lucasfilm,ujjain,polymorphisms,creationist,berners,mickiewicz,irvington,linkedin,endures,kinect,munition,apologetics,fairlie,predicated,reprinting,ethnographer,variances,levantine,mariinsky,jadid,jarrow,asia/oceania,trinamool,waveforms,bisexuality,preselection,pupae,buckethead,hieroglyph,lyricists,marionette,dunbartonshire,restorer,monarchical,pazar,kickoffs,cabildo,savannas,gliese,dench,spoonbills,novelette,diliman,hypersensitivity,authorising,montefiore,mladen,qu'appelle,theistic,maruti,laterite,conestoga,saare,californica,proboscis,carrickfergus,imprecise,hadassah,baghdadi,jolgeh,deshmukh,amusements,heliopolis,berle,adaptability,partenkirchen,separations,baikonur,cardamom,southeastward,southfield,muzaffar,adequacy,metropolitana,rajkot,kiyoshi,metrobus,evictions,reconciles,librarianship,upsurge,knightley,badakhshan,proliferated,spirituals,burghley,electroacoustic,professing,featurette,reformists,skylab,descriptors,oddity,greyfriars,injects,salmond,lanzhou,dauntless,subgenera,underpowered,transpose,mahinda,gatos,aerobatics,seaworld,blocs,waratahs,joris,giggs,perfusion,koszalin,mieczyslaw,ayyubid,ecologists,modernists,sant'angelo,quicktime,him/her,staves,sanyo,melaka,acrocercops,qigong,iterated,generalizes,recuperation,vihara,circassians,psychical,chavo,memoires,infiltrates,notaries,pelecaniformesfamily,strident,chivalric,pierrepont,alleviating,broadsides,centipede,b.tech,reinterpreted,sudetenland,hussite,covenanters,radhika,ironclads,gainsbourg,testis,penarth,plantar,azadegan,beano,espn.com,leominster,autobiographies,nbcuniversal,eliade,khamenei,montferrat,undistinguished,ethnological,wenlock,fricatives,polymorphic,biome,joule,sheaths,astrophysicist,salve,neoclassicism,lovat,downwind,belisarius,forma,usurpation,freie,depopulation,backbench,ascenso,'high,aagpbl,gdanski,zalman,mouvement,encapsulation,bolshevism,statny,voyageurs,hywel,vizcaya,mazra'eh,narthex,azerbaijanis,cerebrospinal,mauretania,fantail,clearinghouse,bolingbroke,pequeno,ansett,remixing,microtubule,wrens,jawahar,palembang,gambian,hillsong,fingerboard,repurposed,sundry,incipient,veolia,theologically,ulaanbaatar,atsushi,foundling,resistivity,myeloma,factbook,mazowiecka,diacritic,urumqi,clontarf,provokes,intelsat,professes,materialise,portobello,benedictines,panionios,introverted,reacquired,bridport,mammary,kripke,oratorios,vlore,stoning,woredas,unreported,antti,togolese,fanzines,heuristics,conservatories,carburetors,clitheroe,cofounded,formula_57,erupting,quinnipiac,bootle,ghostface,sittings,aspinall,sealift,transferase,boldklub,siskiyou,predominated,francophonie,ferruginous,castrum,neogene,sakya,madama,precipitous,'love,posix,bithynia,uttara,avestan,thrushes,seiji,memorably,septimius,libri,cibernetico,hyperinflation,dissuaded,cuddalore,peculiarity,vaslui,grojec,albumin,thurles,casks,fasteners,fluidity,buble,casals,terek,gnosticism,cognates,ulnar,radwanska,babylonians,majuro,oxidizer,excavators,rhythmically,liffey,gorakhpur,eurydice,underscored,arborea,lumumba,tuber,catholique,grama,galilei,scrope,centreville,jacobin,bequests,ardeche,polygamous,montauban,terai,weatherboard,readability,attainder,acraea,transversely,rivets,winterbottom,reassures,bacteriology,vriesea,chera,andesite,dedications,homogenous,reconquered,bandon,forrestal,ukiyo,gurdjieff,tethys,sparc,muscogee,grebes,belchatow,mansa,blantyre,palliser,sokolow,fibroblasts,exmoor,misaki,soundscapes,housatonic,middelburg,convenor,leyla,antipope,histidine,okeechobee,alkenes,sombre,alkene,rubik,macaques,calabar,trophee,pinchot,'free,frusciante,chemins,falaise,vasteras,gripped,schwarzenberg,cumann,kanchipuram,acoustically,silverbacks,fangio,inset,plympton,kuril,vaccinations,recep,theropods,axils,stavropol,encroached,apoptotic,papandreou,wailers,moonstone,assizes,micrometers,hornchurch,truncation,annapurna,egyptologists,rheumatic,promiscuity,satiric,fleche,caloptilia,anisotropy,quaternions,gruppo,viscounts,awardees,aftershocks,sigint,concordance,oblasts,gaumont,stent,commissars,kesteven,hydroxy,vijayanagar,belorussian,fabricius,watermark,tearfully,mamet,leukaemia,sorkh,milepost,tattooing,vosta,abbasids,uncompleted,hedong,woodwinds,extinguishing,malus,multiplexes,francoist,pathet,responsa,bassists,'most,postsecondary,ossory,grampian,saakashvili,alito,strasberg,impressionistic,volador,gelatinous,vignette,underwing,campanian,abbasabad,albertville,hopefuls,nieuwe,taxiways,reconvened,recumbent,pathologists,unionized,faversham,asymptotically,romulo,culling,donja,constricted,annesley,duomo,enschede,lovech,sharpshooter,lansky,dhamma,papillae,alanine,mowat,delius,wrest,mcluhan,podkarpackie,imitators,bilaspur,stunting,pommel,casemate,handicaps,nagas,testaments,hemings,necessitate,rearward,locative,cilla,klitschko,lindau,merion,consequential,antic,soong,copula,berthing,chevrons,rostral,sympathizer,budokan,ranulf,beria,stilt,replying,conflated,alcibiades,painstaking,yamanashi,calif.,arvid,ctesiphon,xizong,rajas,caxton,downbeat,resurfacing,rudders,miscegenation,deathmatch,foregoing,arthropod,attestation,karts,reapportionment,harnessing,eastlake,schola,dosing,postcolonial,imtiaz,formula_55,insulators,gunung,accumulations,pampas,llewelyn,bahnhof,cytosol,grosjean,teaneck,briarcliff,arsenio,canara,elaborating,passchendaele,searchlights,holywell,mohandas,preventable,gehry,mestizos,ustinov,cliched,'national,heidfeld,tertullian,jihadist,tourer,miletus,semicircle,outclassed,bouillon,cardinalate,clarifies,dakshina,bilayer,pandyan,unrwa,chandragupta,formula_56,portola,sukumaran,lactation,islamia,heikki,couplers,misappropriation,catshark,montt,ploughs,carib,stator,leaderboard,kenrick,dendrites,scape,tillamook,molesworth,mussorgsky,melanesia,restated,troon,glycoside,truckee,headwater,mashup,sectoral,gangwon,docudrama,skirting,psychopathology,dramatised,ostroleka,infestations,thabo,depolarization,wideroe,eisenbahn,thomond,kumaon,upendra,foreland,acronyms,yaqui,retaking,raphaelite,specie,dupage,villars,lucasarts,chloroplast,werribee,balsa,ascribe,havant,flava,khawaja,tyumen,subtract,interrogators,reshaping,buzzcocks,eesti,campanile,potemkin,apertures,snowboarder,registrars,handbooks,boyar,contaminant,depositors,proximate,jeunesse,zagora,pronouncements,mists,nihilism,deified,margraviate,pietersen,moderators,amalfi,adjectival,copepods,magnetosphere,pallets,clemenceau,castra,perforation,granitic,troilus,grzegorz,luthier,dockyards,antofagasta,ffestiniog,subroutine,afterword,waterwheel,druce,nitin,undifferentiated,emacs,readmitted,barneveld,tapers,hittites,infomercials,infirm,braathens,heligoland,carpark,geomagnetic,musculoskeletal,nigerien,machinima,harmonize,repealing,indecency,muskoka,verite,steubenville,suffixed,cytoskeleton,surpasses,harmonia,imereti,ventricles,heterozygous,envisions,otsego,ecoles,warrnambool,burgenland,seria,rawat,capistrano,welby,kirin,enrollments,caricom,dragonlance,schaffhausen,expanses,photojournalism,brienne,etude,referent,jamtland,schemas,xianbei,cleburne,bicester,maritima,shorelines,diagonals,bjelke,nonpublic,aliasing,m.f.a,ovals,maitreya,skirmishing,grothendieck,sukhothai,angiotensin,bridlington,durgapur,contras,gakuen,skagit,rabbinate,tsunamis,haphazard,tyldesley,microcontroller,discourages,hialeah,compressing,septimus,larvik,condoleezza,psilocybin,protectionism,songbirds,clandestinely,selectmen,wargame,cinemascope,khazars,agronomy,melzer,latifah,cherokees,recesses,assemblymen,basescu,banaras,bioavailability,subchannels,adenine,o'kelly,prabhakar,leonese,dimethyl,testimonials,geoffroy,oxidant,universiti,gheorghiu,bohdan,reversals,zamorin,herbivore,jarre,sebastiao,infanterie,dolmen,teddington,radomsko,spaceships,cuzco,recapitulation,mahoning,bainimarama,myelin,aykroyd,decals,tokelau,nalgonda,rajasthani,121st,quelled,tambov,illyrians,homilies,illuminations,hypertrophy,grodzisk,inundation,incapacity,equilibria,combats,elihu,steinitz,berengar,gowda,canwest,khosrau,maculata,houten,kandinsky,onside,leatherhead,heritable,belvidere,federative,chukchi,serling,eruptive,patan,entitlements,suffragette,evolutions,migrates,demobilisation,athleticism,trope,sarpsborg,kensal,translink,squamish,concertgebouw,energon,timestamp,competences,zalgiris,serviceman,codice_7,spoofing,assange,mahadevan,skien,suceava,augustan,revisionism,unconvincing,hollande,drina,gottlob,lippi,broglie,darkening,tilapia,eagerness,nacht,kolmogorov,photometric,leeuwarden,jrotc,haemorrhage,almanack,cavalli,repudiation,galactose,zwickau,cetinje,houbraken,heavyweights,gabonese,ordinals,noticias,museveni,steric,charaxes,amjad,resection,joinville,leczyca,anastasius,purbeck,subtribe,dalles,leadoff,monoamine,jettisoned,kaori,anthologized,alfreton,indic,bayezid,tottori,colonizing,assassinating,unchanging,eusebian,d'estaing,tsingtao,toshio,transferases,peronist,metrology,equus,mirpur,libertarianism,kovil,indole,'green,abstention,quantitatively,icebreakers,tribals,mainstays,dryandra,eyewear,nilgiri,chrysanthemum,inositol,frenetic,merchantman,hesar,physiotherapist,transceiver,dancefloor,rankine,neisse,marginalization,lengthen,unaided,rework,pageantry,savio,striated,funen,witton,illuminates,frass,hydrolases,akali,bistrita,copywriter,firings,handballer,tachinidae,dmytro,coalesce,neretva,menem,moraines,coatbridge,crossrail,spoofed,drosera,ripen,protour,kikuyu,boleslav,edwardes,troubadours,haplogroups,wrasse,educationalist,sroda,khaneh,dagbladet,apennines,neuroscientist,deplored,terje,maccabees,daventry,spaceport,lessening,ducats,singer/guitarist,chambersburg,yeong,configurable,ceremonially,unrelenting,caffe,graaf,denizens,kingsport,ingush,panhard,synthesised,tumulus,homeschooled,bozorg,idiomatic,thanhouser,queensway,radek,hippolytus,inking,banovina,peacocks,piaui,handsworth,pantomimes,abalone,thera,kurzweil,bandura,augustinians,bocelli,ferrol,jiroft,quadrature,contravention,saussure,rectification,agrippina,angelis,matanzas,nidaros,palestrina,latium,coriolis,clostridium,ordain,uttering,lanchester,proteolytic,ayacucho,merseburg,holbein,sambalpur,algebraically,inchon,ostfold,savoia,calatrava,lahiri,judgeship,ammonite,masaryk,meyerbeer,hemorrhagic,superspeedway,ningxia,panicles,encircles,khmelnytsky,profusion,esher,babol,inflationary,anhydride,gaspe,mossy,periodicity,nacion,meteorologists,mahjong,interventional,sarin,moult,enderby,modell,palgrave,warners,montcalm,siddha,functionalism,rilke,politicized,broadmoor,kunste,orden,brasileira,araneta,eroticism,colquhoun,mamba,blacktown,tubercle,seagrass,manoel,camphor,neoregelia,llandudno,annexe,enplanements,kamien,plovers,statisticians,iturbide,madrasah,nontrivial,publican,landholders,manama,uninhabitable,revivalist,trunkline,friendliness,gurudwara,rocketry,unido,tripos,besant,braque,evolutionarily,abkhazian,staffel,ratzinger,brockville,bohemond,intercut,djurgarden,utilitarianism,deploys,sastri,absolutism,subhas,asghar,fictions,sepinwall,proportionately,titleholders,thereon,foursquare,machinegun,knightsbridge,siauliai,aqaba,gearboxes,castaways,weakens,phallic,strzelce,buoyed,ruthenia,pharynx,intractable,neptunes,koine,leakey,netherlandish,preempted,vinay,terracing,instigating,alluvium,prosthetics,vorarlberg,politiques,joinery,reduplication,nebuchadnezzar,lenticular,banka,seaborne,pattinson,helpline,aleph,beckenham,californians,namgyal,franziska,aphid,branagh,transcribe,appropriateness,surakarta,takings,propagates,juraj,b0d3fb,brera,arrayed,tailback,falsehood,hazleton,prosody,egyptology,pinnate,tableware,ratan,camperdown,ethnologist,tabari,classifiers,biogas,126th,kabila,arbitron,apuestas,membranous,kincardine,oceana,glories,natick,populism,synonymy,ghalib,mobiles,motherboards,stationers,germinal,patronised,formula_58,gaborone,torts,jeezy,interleague,novaya,batticaloa,offshoots,wilbraham,filename,nswrfl,'well,trilobite,pythons,optimally,scientologists,rhesus,pilsen,backdrops,batang,unionville,hermanos,shrikes,fareham,outlawing,discontinuing,boisterous,shamokin,scanty,southwestward,exchangers,unexpired,mewar,h.m.s,saldanha,pawan,condorcet,turbidity,donau,indulgences,coincident,cliques,weeklies,bardhaman,violators,kenai,caspase,xperia,kunal,fistula,epistemic,cammell,nephi,disestablishment,rotator,germaniawerft,pyaar,chequered,jigme,perlis,anisotropic,popstars,kapil,appendices,berat,defecting,shacks,wrangel,panchayath,gorna,suckling,aerosols,sponheim,talal,borehole,encodings,enlai,subduing,agong,nadar,kitsap,syrmia,majumdar,pichilemu,charleville,embryology,booting,literati,abutting,basalts,jussi,repubblica,hertogenbosch,digitization,relents,hillfort,wiesenthal,kirche,bhagwan,bactrian,oases,phyla,neutralizing,helsing,ebooks,spearheading,margarine,'golden,phosphor,picea,stimulants,outliers,timescale,gynaecology,integrator,skyrocketed,bridgnorth,senecio,ramachandra,suffragist,arrowheads,aswan,inadvertent,microelectronics,118th,sofer,kubica,melanesian,tuanku,balkh,vyborg,crystallographic,initiators,metamorphism,ginzburg,looters,unimproved,finistere,newburyport,norges,immunities,franchisees,asterism,kortrijk,camorra,komsomol,fleurs,draughts,patagonian,voracious,artin,collaborationist,revolucion,revitalizing,xaver,purifying,antipsychotic,disjunct,pompeius,dreamwave,juvenal,beinn,adiyaman,antitank,allama,boletus,melanogaster,dumitru,caproni,aligns,athabaskan,stobart,phallus,veikkausliiga,hornsey,buffering,bourbons,dobruja,marga,borax,electrics,gangnam,motorcyclist,whidbey,draconian,lodger,galilean,sanctification,imitates,boldness,underboss,wheatland,cantabrian,terceira,maumee,redefining,uppercase,ostroda,characterise,universalism,equalized,syndicalism,haringey,masovia,deleuze,funkadelic,conceals,thuan,minsky,pluralistic,ludendorff,beekeeping,bonfires,endoscopic,abuts,prebend,jonkoping,amami,tribunes,yup'ik,awadh,gasification,pforzheim,reforma,antiwar,vaishnavism,maryville,inextricably,margrethe,empresa,neutrophils,sanctified,ponca,elachistidae,curiae,quartier,mannar,hyperplasia,wimax,busing,neologism,florins,underrepresented,digitised,nieuw,cooch,howards,frege,hughie,plied,swale,kapellmeister,vajpayee,quadrupled,aeronautique,dushanbe,custos,saltillo,kisan,tigray,manaus,epigrams,shamanic,peppered,frosts,promotion/relegation,concedes,zwingli,charentes,whangarei,hyung,spring/summer,sobre,eretz,initialization,sawai,ephemera,grandfathered,arnaldo,customised,permeated,parapets,growths,visegrad,estudios,altamont,provincia,apologises,stoppard,carburettor,rifts,kinematic,zhengzhou,eschatology,prakrit,folate,yvelines,scapula,stupas,rishon,reconfiguration,flutist,1680s,apostolate,proudhon,lakshman,articulating,stortford,faithfull,bitterns,upwelling,qur'anic,lidar,interferometry,waterlogged,koirala,ditton,wavefunction,fazal,babbage,antioxidants,lemberg,deadlocked,tolled,ramapo,mathematica,leiria,topologies,khali,photonic,balti,1080p,corrects,recommenced,polyglot,friezes,tiebreak,copacabana,cholmondeley,armband,abolishment,sheamus,buttes,glycolysis,cataloged,warrenton,sassari,kishan,foodservice,cryptanalysis,holmenkollen,cosplay,machi,yousuf,mangal,allying,fertiliser,otomi,charlevoix,metallurg,parisians,bottlenose,oakleigh,debug,cidade,accede,ligation,madhava,pillboxes,gatefold,aveyron,sorin,thirsk,immemorial,menelik,mehra,domingos,underpinned,fleshed,harshness,diphthong,crestwood,miskolc,dupri,pyrausta,muskingum,tuoba,prodi,incidences,waynesboro,marquesas,heydar,artesian,calinescu,nucleation,funders,covalently,compaction,derbies,seaters,sodor,tabular,amadou,peckinpah,o'halloran,zechariah,libyans,kartik,daihatsu,chandran,erzhu,heresies,superheated,yarder,dorde,tanjore,abusers,xuanwu,juniperus,moesia,trusteeship,birdwatching,beatz,moorcock,harbhajan,sanga,choreographic,photonics,boylston,amalgamate,prawns,electrifying,sarath,inaccurately,exclaims,powerpoint,chaining,cpusa,adulterous,saccharomyces,glogow,vfl/afl,syncretic,simla,persisting,functors,allosteric,euphorbiaceae,juryo,mlada,moana,gabala,thornycroft,kumanovo,ostrovsky,sitio,tutankhamun,sauropods,kardzhali,reinterpretation,sulpice,rosyth,originators,halesowen,delineation,asesoria,abatement,gardai,elytra,taillights,overlays,monsoons,sandpipers,ingmar,henrico,inaccuracy,irwell,arenabowl,elche,pressburg,signalman,interviewees,sinkhole,pendle,ecommerce,cellos,nebria,organometallic,surrealistic,propagandist,interlaken,canandaigua,aerials,coutinho,pascagoula,tonopah,letterkenny,gropius,carbons,hammocks,childe,polities,hosiery,donitz,suppresses,diaghilev,stroudsburg,bagram,pistoia,regenerating,unitarians,takeaway,offstage,vidin,glorification,bakunin,yavapai,lutzow,sabercats,witney,abrogated,gorlitz,validating,dodecahedron,stubbornly,telenor,glaxosmithkline,solapur,undesired,jellicoe,dramatization,four-and-a-half,seawall,waterpark,artaxerxes,vocalization,typographic,byung,sachsenhausen,shepparton,kissimmee,konnan,belsen,dhawan,khurd,mutagenesis,vejle,perrot,estradiol,formula_60,saros,chiloe,misiones,lamprey,terrains,speke,miasto,eigenvectors,haydock,reservist,corticosteroids,savitri,shinawatra,developmentally,yehudi,berates,janissaries,recapturing,rancheria,subplots,gresley,nikkatsu,oryol,cosmas,boavista,formula_59,playfully,subsections,commentated,kathakali,dorid,vilaine,seepage,hylidae,keiji,kazakhs,triphosphate,1620s,supersede,monarchists,falla,miyako,notching,bhumibol,polarizing,secularized,shingled,bronislaw,lockerbie,soleyman,bundesbahn,latakia,redoubts,boult,inwardly,invents,ondrej,minangkabau,newquay,permanente,alhaji,madhav,malini,ellice,bookmaker,mankiewicz,etihad,o'dea,interrogative,mikawa,wallsend,canisius,bluesy,vitruvius,noord,ratifying,mixtec,gujranwala,subprefecture,keelung,goiania,nyssa,shi'ite,semitone,ch'uan,computerised,pertuan,catapults,nepomuk,shruti,millstones,buskerud,acolytes,tredegar,sarum,armia,dell'arte,devises,custodians,upturned,gallaudet,disembarking,thrashed,sagrada,myeon,undeclared,qumran,gaiden,tepco,janesville,showground,condense,chalon,unstaffed,pasay,undemocratic,hauts,viridis,uninjured,escutcheon,gymkhana,petaling,hammam,dislocations,tallaght,rerum,shias,indios,guaranty,simplicial,benares,benediction,tajiri,prolifically,huawei,onerous,grantee,ferencvaros,otranto,carbonates,conceit,digipak,qadri,masterclasses,swamiji,cradock,plunket,helmsman,119th,salutes,tippecanoe,murshidabad,intelligibility,mittal,diversifying,bidar,asansol,crowdsourcing,rovere,karakoram,grindcore,skylights,tulagi,furrows,ligne,stuka,sumer,subgraph,amata,regionalist,bulkeley,teletext,glorify,readied,lexicographer,sabadell,predictability,quilmes,phenylalanine,bandaranaike,pyrmont,marksmen,quisling,viscountess,sociopolitical,afoul,pediments,swazi,martyrology,nullify,panagiotis,superconductors,veldenz,jujuy,l'isle,hematopoietic,shafi,subsea,hattiesburg,jyvaskyla,kebir,myeloid,landmine,derecho,amerindians,birkenau,scriabin,milhaud,mucosal,nikaya,freikorps,theoretician,proconsul,o'hanlon,clerked,bactria,houma,macular,topologically,shrubby,aryeh,ghazali,afferent,magalhaes,moduli,ashtabula,vidarbha,securitate,ludwigsburg,adoor,varun,shuja,khatun,chengde,bushels,lascelles,professionnelle,elfman,rangpur,unpowered,citytv,chojnice,quaternion,stokowski,aschaffenburg,commutes,subramaniam,methylene,satrap,gharb,namesakes,rathore,helier,gestational,heraklion,colliers,giannis,pastureland,evocation,krefeld,mahadeva,churchmen,egret,yilmaz,galeazzo,pudukkottai,artigas,generalitat,mudslides,frescoed,enfeoffed,aphorisms,melilla,montaigne,gauliga,parkdale,mauboy,linings,prema,sapir,xylophone,kushan,rockne,sequoyah,vasyl,rectilinear,vidyasagar,microcosm,san'a,carcinogen,thicknesses,aleut,farcical,moderating,detested,hegemonic,instalments,vauban,verwaltungsgemeinschaft,picayune,razorback,magellanic,moluccas,pankhurst,exportation,waldegrave,sufferer,bayswater,1up.com,rearmament,orangutans,varazdin,b.o.b,elucidate,harlingen,erudition,brankovic,lapis,slipway,urraca,shinde,unwell,elwes,euboea,colwyn,srivijaya,grandstands,hortons,generalleutnant,fluxes,peterhead,gandhian,reals,alauddin,maximized,fairhaven,endow,ciechanow,perforations,darters,panellist,manmade,litigants,exhibitor,tirol,caracalla,conformance,hotelier,stabaek,hearths,borac,frisians,ident,veliko,emulators,schoharie,uzbeks,samarra,prestwick,wadia,universita,tanah,bucculatrix,predominates,genotypes,denounces,roadsides,ganassi,keokuk,philatelist,tomic,ingots,conduits,samplers,abdus,johar,allegories,timaru,wolfpacks,secunda,smeaton,sportivo,inverting,contraindications,whisperer,moradabad,calamities,bakufu,soundscape,smallholders,nadeem,crossroad,xenophobic,zakir,nationalliga,glazes,retroflex,schwyz,moroder,rubra,quraysh,theodoros,endemol,infidels,km/hr,repositioned,portraitist,lluis,answerable,arges,mindedness,coarser,eyewall,teleported,scolds,uppland,vibraphone,ricoh,isenburg,bricklayer,cuttlefish,abstentions,communicable,cephalopod,stockyards,balto,kinston,armbar,bandini,elphaba,maxims,bedouins,sachsen,friedkin,tractate,pamir,ivanovo,mohini,kovalainen,nambiar,melvyn,orthonormal,matsuyama,cuernavaca,veloso,overstated,streamer,dravid,informers,analyte,sympathized,streetscape,gosta,thomasville,grigore,futuna,depleting,whelks,kiedis,armadale,earner,wynyard,dothan,animating,tridentine,sabri,immovable,rivoli,ariege,parley,clinker,circulates,junagadh,fraunhofer,congregants,180th,buducnost,formula_62,olmert,dedekind,karnak,bayernliga,mazes,sandpiper,ecclestone,yuvan,smallmouth,decolonization,lemmy,adjudicated,retiro,legia,benue,posit,acidification,wahab,taconic,floatplane,perchlorate,atria,wisbech,divestment,dallara,phrygia,palustris,cybersecurity,rebates,facie,mineralogical,substituent,proteges,fowey,mayenne,smoothbore,cherwell,schwarzschild,junin,murrumbidgee,smalltalk,d'orsay,emirati,calaveras,titusville,theremin,vikramaditya,wampanoag,burra,plaines,onegin,emboldened,whampoa,langa,soderbergh,arnaz,sowerby,arendal,godunov,pathanamthitta,damselfly,bestowing,eurosport,iconoclasm,outfitters,acquiesced,badawi,hypotension,ebbsfleet,annulus,sohrab,thenceforth,chagatai,necessitates,aulus,oddities,toynbee,uniontown,innervation,populaire,indivisible,rossellini,minuet,cyrene,gyeongju,chania,cichlids,harrods,1690s,plunges,abdullahi,gurkhas,homebuilt,sortable,bangui,rediff,incrementally,demetrios,medaille,sportif,svend,guttenberg,tubules,carthusian,pleiades,torii,hoppus,phenyl,hanno,conyngham,teschen,cronenberg,wordless,melatonin,distinctiveness,autos,freising,xuanzang,dunwich,satanism,sweyn,predrag,contractually,pavlovic,malaysians,micrometres,expertly,pannonian,abstaining,capensis,southwesterly,catchphrases,commercialize,frankivsk,normanton,hibernate,verso,deportees,dubliners,codice_8,condors,zagros,glosses,leadville,conscript,morrisons,usury,ossian,oulton,vaccinium,civet,ayman,codrington,hadron,nanometers,geochemistry,extractor,grigori,tyrrhenian,neocollyris,drooping,falsification,werft,courtauld,brigantine,orhan,chapultepec,supercopa,federalized,praga,havering,encampments,infallibility,sardis,pawar,undirected,reconstructionist,ardrossan,varuna,pastimes,archdiocesan,fledging,shenhua,molise,secondarily,stagnated,replicates,ciencias,duryodhana,marauding,ruislip,ilyich,intermixed,ravenswood,shimazu,mycorrhizal,icosahedral,consents,dunblane,follicular,pekin,suffield,muromachi,kinsale,gauche,businesspeople,thereto,watauga,exaltation,chelmno,gorse,proliferate,drainages,burdwan,kangra,transducers,inductor,duvalier,maguindanao,moslem,uncaf,givenchy,plantarum,liturgics,telegraphs,lukashenko,chenango,andante,novae,ironwood,faubourg,torme,chinensis,ambala,pietermaritzburg,virginians,landform,bottlenecks,o'driscoll,darbhanga,baptistery,ameer,needlework,naperville,auditoriums,mullingar,starrer,animatronic,topsoil,madura,cannock,vernet,santurce,catocala,ozeki,pontevedra,multichannel,sundsvall,strategists,medio,135th,halil,afridi,trelawny,caloric,ghraib,allendale,hameed,ludwigshafen,spurned,pavlo,palmar,strafed,catamarca,aveiro,harmonization,surah,predictors,solvay,mande,omnipresent,parenthesis,echolocation,equaling,experimenters,acyclic,lithographic,sepoys,katarzyna,sridevi,impoundment,khosrow,caesarean,nacogdoches,rockdale,lawmaker,caucasians,bahman,miyan,rubric,exuberance,bombastic,ductile,snowdonia,inlays,pinyon,anemones,hurries,hospitallers,tayyip,pulleys,treme,photovoltaics,testbed,polonium,ryszard,osgoode,profiting,ironwork,unsurpassed,nepticulidae,makai,lumbini,preclassic,clarksburg,egremont,videography,rehabilitating,ponty,sardonic,geotechnical,khurasan,solzhenitsyn,henna,phoenicia,rhyolite,chateaux,retorted,tomar,deflections,repressions,harborough,renan,brumbies,vandross,storia,vodou,clerkenwell,decking,universo,salon.com,imprisoning,sudwest,ghaziabad,subscribing,pisgah,sukhumi,econometric,clearest,pindar,yildirim,iulia,atlases,cements,remaster,dugouts,collapsible,resurrecting,batik,unreliability,thiers,conjunctions,colophon,marcher,placeholder,flagella,wolds,kibaki,viviparous,twelver,screenshots,aroostook,khadr,iconographic,itasca,jaume,basti,propounded,varro,be'er,jeevan,exacted,shrublands,creditable,brocade,boras,bittern,oneonta,attentional,herzliya,comprehensible,lakeville,discards,caxias,frankland,camerata,satoru,matlab,commutator,interprovincial,yorkville,benefices,nizami,edwardsville,amigaos,cannabinoid,indianola,amateurliga,pernicious,ubiquity,anarchic,novelties,precondition,zardari,symington,sargodha,headphone,thermopylae,mashonaland,zindagi,thalberg,loewe,surfactants,dobro,crocodilians,samhita,diatoms,haileybury,berwickshire,supercritical,sofie,snorna,slatina,intramolecular,agung,osteoarthritis,obstetric,teochew,vakhtang,connemara,deformations,diadem,ferruccio,mainichi,qualitatively,refrigerant,rerecorded,methylated,karmapa,krasinski,restatement,rouvas,cubitt,seacoast,schwarzkopf,homonymous,shipowner,thiamine,approachable,xiahou,160th,ecumenism,polistes,internazionali,fouad,berar,biogeography,texting,inadequately,'when,4kids,hymenoptera,emplaced,cognomen,bellefonte,supplant,michaelmas,uriel,tafsir,morazan,schweinfurt,chorister,ps400,nscaa,petipa,resolutely,ouagadougou,mascarene,supercell,konstanz,bagrat,harmonix,bergson,shrimps,resonators,veneta,camas,mynydd,rumford,generalmajor,khayyam,web.com,pappus,halfdan,tanana,suomen,yutaka,bibliographical,traian,silat,noailles,contrapuntal,agaricus,'special,minibuses,1670s,obadiah,deepa,rorschach,malolos,lymington,valuations,imperials,caballeros,ambroise,judicature,elegiac,sedaka,shewa,checksum,gosforth,legionaries,corneille,microregion,friedrichshafen,antonis,surnamed,mycelium,cantus,educations,topmost,outfitting,ivica,nankai,gouda,anthemic,iosif,supercontinent,antifungal,belarusians,mudaliar,mohawks,caversham,glaciated,basemen,stevan,clonmel,loughton,deventer,positivist,manipuri,tensors,panipat,changeup,impermeable,dubbo,elfsborg,maritimo,regimens,bikram,bromeliad,substratum,norodom,gaultier,queanbeyan,pompeo,redacted,eurocopter,mothballed,centaurs,borno,copra,bemidji,'home,sopron,neuquen,passo,cineplex,alexandrov,wysokie,mammoths,yossi,sarcophagi,congreve,petkovic,extraneous,waterbirds,slurs,indias,phaeton,discontented,prefaced,abhay,prescot,interoperable,nordisk,bicyclists,validly,sejong,litovsk,zanesville,kapitanleutnant,kerch,changeable,mcclatchy,celebi,attesting,maccoll,sepahan,wayans,veined,gaudens,markt,dansk,soane,quantized,petersham,forebears,nayarit,frenzied,queuing,bygone,viggo,ludwik,tanka,hanssen,brythonic,cornhill,primorsky,stockpiles,conceptualization,lampeter,hinsdale,mesoderm,bielsk,rosenheim,ultron,joffrey,stanwyck,khagan,tiraspol,pavelic,ascendant,empoli,metatarsal,descentralizado,masada,ligier,huseyin,ramadi,waratah,tampines,ruthenium,statoil,mladost,liger,grecian,multiparty,digraph,maglev,reconsideration,radiography,cartilaginous,taizu,wintered,anabaptist,peterhouse,shoghi,assessors,numerator,paulet,painstakingly,halakhic,rocroi,motorcycling,gimel,kryptonian,emmeline,cheeked,drawdown,lelouch,dacians,brahmana,reminiscence,disinfection,optimizations,golders,extensor,tsugaru,tolling,liman,gulzar,unconvinced,crataegus,oppositional,dvina,pyrolysis,mandan,alexius,prion,stressors,loomed,moated,dhivehi,recyclable,relict,nestlings,sarandon,kosovar,solvers,czeslaw,kenta,maneuverable,middens,berkhamsted,comilla,folkways,loxton,beziers,batumi,petrochemicals,optimised,sirjan,rabindra,musicality,rationalisation,drillers,subspaces,'live,bbwaa,outfielders,tsung,danske,vandalised,norristown,striae,kanata,gastroenterology,steadfastly,equalising,bootlegging,mannerheim,notodontidae,lagoa,commentating,peninsulas,chishti,seismology,modigliani,preceptor,canonically,awardee,boyaca,hsinchu,stiffened,nacelle,bogor,dryness,unobstructed,yaqub,scindia,peeters,irritant,ammonites,ferromagnetic,speechwriter,oxygenated,walesa,millais,canarian,faience,calvinistic,discriminant,rasht,inker,annexes,howth,allocates,conditionally,roused,regionalism,regionalbahn,functionary,nitrates,bicentenary,recreates,saboteurs,koshi,plasmids,thinned,124th,plainview,kardashian,neuville,victorians,radiates,127th,vieques,schoolmates,petru,tokusatsu,keying,sunaina,flamethrower,'bout,demersal,hosokawa,corelli,omniscient,o'doherty,niksic,reflectivity,transdev,cavour,metronome,temporally,gabba,nsaids,geert,mayport,hematite,boeotia,vaudreuil,torshavn,sailplane,mineralogist,eskisehir,practises,gallifrey,takumi,unease,slipstream,hedmark,paulinus,ailsa,wielkopolska,filmworks,adamantly,vinaya,facelifted,franchisee,augustana,toppling,velvety,crispa,stonington,histological,genealogist,tactician,tebow,betjeman,nyingma,overwinter,oberoi,rampal,overwinters,petaluma,lactarius,stanmore,balikpapan,vasant,inclines,laminate,munshi,sociedade,rabbah,septal,boyband,ingrained,faltering,inhumans,nhtsa,affix,l'ordre,kazuki,rossendale,mysims,latvians,slaveholders,basilicata,neuburg,assize,manzanillo,scrobipalpa,formula_61,belgique,pterosaurs,privateering,vaasa,veria,northport,pressurised,hobbyist,austerlitz,sahih,bhadra,siliguri,bistrica,bursaries,wynton,corot,lepidus,lully,libor,libera,olusegun,choline,mannerism,lymphocyte,chagos,duxbury,parasitism,ecowas,morotai,cancion,coniston,aggrieved,sputnikmusic,parle,ammonian,civilisations,malformation,cattaraugus,skyhawks,d'arc,demerara,bronfman,midwinter,piscataway,jogaila,threonine,matins,kohlberg,hubli,pentatonic,camillus,nigam,potro,unchained,chauvel,orangeville,cistercians,redeployment,xanthi,manju,carabinieri,pakeha,nikolaevich,kantakouzenos,sesquicentennial,gunships,symbolised,teramo,ballo,crusading,l'oeil,bharatpur,lazier,gabrovo,hysteresis,rothbard,chaumont,roundel,ma'mun,sudhir,queried,newts,shimane,presynaptic,playfield,taxonomists,sensitivities,freleng,burkinabe,orfeo,autovia,proselytizing,bhangra,pasok,jujutsu,heung,pivoting,hominid,commending,formula_64,epworth,christianized,oresund,hantuchova,rajputana,hilversum,masoretic,dayak,bakri,assen,magog,macromolecules,waheed,qaida,spassky,rumped,protrudes,preminger,misogyny,glencairn,salafi,lacunae,grilles,racemes,areva,alighieri,inari,epitomized,photoshoot,one-of-a-kind,tring,muralist,tincture,backwaters,weaned,yeasts,analytically,smaland,caltrans,vysocina,jamuna,mauthausen,175th,nouvelles,censoring,reggina,christology,gilad,amplifying,mehmood,johnsons,redirects,eastgate,sacrum,meteoric,riverbanks,guidebooks,ascribes,scoparia,iconoclastic,telegraphic,chine,merah,mistico,lectern,sheung,aethelstan,capablanca,anant,uspto,albatrosses,mymensingh,antiretroviral,clonal,coorg,vaillant,liquidator,gigas,yokai,eradicating,motorcyclists,waitakere,tandon,nears,montenegrins,250th,tatsuya,yassin,atheistic,syncretism,nahum,berisha,transcended,owensboro,lakshmana,abteilung,unadorned,nyack,overflows,harrisonburg,complainant,uematsu,frictional,worsens,sangguniang,abutment,bulwer,sarma,apollinaire,shippers,lycia,alentejo,porpoises,optus,trawling,augustow,blackwall,workbench,westmount,leaped,sikandar,conveniences,stornoway,culverts,zoroastrians,hristo,ansgar,assistive,reassert,fanned,compasses,delgada,maisons,arima,plonsk,verlaine,starstruck,rakhine,befell,spirally,wyclef,expend,colloquium,formula_63,albertus,bellarmine,handedness,holon,introns,movimiento,profitably,lohengrin,discoverers,awash,erste,pharisees,dwarka,oghuz,hashing,heterodox,uloom,vladikavkaz,linesman,rehired,nucleophile,germanicus,gulshan,songz,bayerische,paralympian,crumlin,enjoined,khanum,prahran,penitent,amersfoort,saranac,semisimple,vagrants,compositing,tualatin,oxalate,lavra,ironi,ilkeston,umpqua,calum,stretford,zakat,guelders,hydrazine,birkin,spurring,modularity,aspartate,sodermanland,hopital,bellary,legazpi,clasico,cadfael,hypersonic,volleys,pharmacokinetics,carotene,orientale,pausini,bataille,lunga,retailed,m.phil,mazowieckie,vijayan,rawal,sublimation,promissory,estimators,ploughed,conflagration,penda,segregationist,otley,amputee,coauthor,sopra,pellew,wreckers,tollywood,circumscription,permittivity,strabane,landward,articulates,beaverbrook,rutherglen,coterminous,whistleblowers,colloidal,surbiton,atlante,oswiecim,bhasa,lampooned,chanter,saarc,landkreis,tribulation,tolerates,daiichi,hatun,cowries,dyschirius,abercromby,attock,aldwych,inflows,absolutist,l'histoire,committeeman,vanbrugh,headstock,westbourne,appenzell,hoxton,oculus,westfalen,roundabouts,nickelback,trovatore,quenching,summarises,conservators,transmutation,talleyrand,barzani,unwillingly,axonal,'blue,opining,enveloping,fidesz,rafah,colborne,flickr,lozenge,dulcimer,ndebele,swaraj,oxidize,gonville,resonated,gilani,superiore,endeared,janakpur,shepperton,solidifying,memoranda,sochaux,kurnool,rewari,emirs,kooning,bruford,unavailability,kayseri,judicious,negating,pterosaur,cytosolic,chernihiv,variational,sabretooth,seawolves,devalued,nanded,adverb,volunteerism,sealers,nemours,smederevo,kashubian,bartin,animax,vicomte,polotsk,polder,archiepiscopal,acceptability,quidditch,tussock,seminaire,immolation,belge,coves,wellingborough,khaganate,mckellen,nayaka,brega,kabhi,pontoons,bascule,newsreels,injectors,cobol,weblog,diplo,biggar,wheatbelt,erythrocytes,pedra,showgrounds,bogdanovich,eclecticism,toluene,elegies,formalize,andromedae,airworthiness,springville,mainframes,overexpression,magadha,bijelo,emlyn,glutamine,accenture,uhuru,metairie,arabidopsis,patanjali,peruvians,berezovsky,accion,astrolabe,jayanti,earnestly,sausalito,recurved,1500s,ramla,incineration,galleons,laplacian,shiki,smethwick,isomerase,dordevic,janow,jeffersonville,internationalism,penciled,styrene,ashur,nucleoside,peristome,horsemanship,sedges,bachata,medes,kristallnacht,schneerson,reflectance,invalided,strutt,draupadi,destino,partridges,tejas,quadrennial,aurel,halych,ethnomusicology,autonomist,radyo,rifting,shi'ar,crvena,telefilm,zawahiri,plana,sultanates,theodorus,subcontractors,pavle,seneschal,teleports,chernivtsi,buccal,brattleboro,stankovic,safar,dunhuang,electrocution,chastised,ergonomic,midsomer,130th,zomba,nongovernmental,escapist,localize,xuzhou,kyrie,carinthian,karlovac,nisan,kramnik,pilipino,digitisation,khasi,andronicus,highwayman,maior,misspelling,sebastopol,socon,rhaetian,archimandrite,partway,positivity,otaku,dingoes,tarski,geopolitics,disciplinarian,zulfikar,kenzo,globose,electrophilic,modele,storekeeper,pohang,wheldon,washers,interconnecting,digraphs,intrastate,campy,helvetic,frontispiece,ferrocarril,anambra,petraeus,midrib,endometrial,dwarfism,mauryan,endocytosis,brigs,percussionists,furtherance,synergistic,apocynaceae,krona,berthier,circumvented,casal,siltstone,precast,ethnikos,realists,geodesy,zarzuela,greenback,tripathi,persevered,interments,neutralization,olbermann,departements,supercomputing,demobilised,cassavetes,dunder,ministering,veszprem,barbarism,'world,pieve,apologist,frentzen,sulfides,firewalls,pronotum,staatsoper,hachette,makhachkala,oberland,phonon,yoshihiro,instars,purnima,winslet,mutsu,ergative,sajid,nizamuddin,paraphrased,ardeidae,kodagu,monooxygenase,skirmishers,sportiva,o'byrne,mykolaiv,ophir,prieta,gyllenhaal,kantian,leche,copan,herero,ps250,gelsenkirchen,shalit,sammarinese,chetwynd,wftda,travertine,warta,sigmaringen,concerti,namespace,ostergotland,biomarker,universals,collegio,embarcadero,wimborne,fiddlers,likening,ransomed,stifled,unabated,kalakaua,khanty,gongs,goodrem,countermeasure,publicizing,geomorphology,swedenborg,undefended,catastrophes,diverts,storyboards,amesbury,contactless,placentia,festivity,authorise,terrane,thallium,stradivarius,antonine,consortia,estimations,consecrate,supergiant,belichick,pendants,butyl,groza,univac,afire,kavala,studi,teletoon,paucity,gonbad,koninklijke,128th,stoichiometric,multimodal,facundo,anatomic,melamine,creuse,altan,brigands,mcguinty,blomfield,tsvangirai,protrusion,lurgan,warminster,tenzin,russellville,discursive,definable,scotrail,lignin,reincorporated,o'dell,outperform,redland,multicolored,evaporates,dimitrie,limbic,patapsco,interlingua,surrogacy,cutty,potrero,masud,cahiers,jintao,ardashir,centaurus,plagiarized,minehead,musings,statuettes,logarithms,seaview,prohibitively,downforce,rivington,tomorrowland,microbiologist,ferric,morag,capsid,kucinich,clairvaux,demotic,seamanship,cicada,painterly,cromarty,carbonic,tupou,oconee,tehuantepec,typecast,anstruther,internalized,underwriters,tetrahedra,flagrant,quakes,pathologies,ulrik,nahal,tarquini,dongguan,parnassus,ryoko,senussi,seleucia,airasia,einer,sashes,d'amico,matriculating,arabesque,honved,biophysical,hardinge,kherson,mommsen,diels,icbms,reshape,brasiliensis,palmach,netaji,oblate,functionalities,grigor,blacksburg,recoilless,melanchthon,reales,astrodome,handcrafted,memes,theorizes,isma'il,aarti,pirin,maatschappij,stabilizes,honiara,ashbury,copts,rootes,defensed,queiroz,mantegna,galesburg,coraciiformesfamily,cabrillo,tokio,antipsychotics,kanon,173rd,apollonia,finial,lydian,hadamard,rangi,dowlatabad,monolingual,platformer,subclasses,chiranjeevi,mirabeau,newsgroup,idmanyurdu,kambojas,walkover,zamoyski,generalist,khedive,flanges,knowle,bande,157th,alleyn,reaffirm,pininfarina,zuckerberg,hakodate,131st,aditi,bellinzona,vaulter,planking,boscombe,colombians,lysis,toppers,metered,nahyan,queensryche,minho,nagercoil,firebrand,foundress,bycatch,mendota,freeform,antena,capitalisation,martinus,overijssel,purists,interventionist,zgierz,burgundians,hippolyta,trompe,umatilla,moroccans,dictionnaire,hydrography,changers,chota,rimouski,aniline,bylaw,grandnephew,neamt,lemnos,connoisseurs,tractive,rearrangements,fetishism,finnic,apalachicola,landowning,calligraphic,circumpolar,mansfeld,legible,orientalism,tannhauser,blamey,maximization,noinclude,blackbirds,angara,ostersund,pancreatitis,glabra,acleris,juried,jungian,triumphantly,singlet,plasmas,synesthesia,yellowhead,unleashes,choiseul,quanzhong,brookville,kaskaskia,igcse,skatepark,jatin,jewellers,scaritinae,techcrunch,tellurium,lachaise,azuma,codeshare,dimensionality,unidirectional,scolaire,macdill,camshafts,unassisted,verband,kahlo,eliya,prelature,chiefdoms,saddleback,sockers,iommi,coloratura,llangollen,biosciences,harshest,maithili,k'iche,plical,multifunctional,andreu,tuskers,confounding,sambre,quarterdeck,ascetics,berdych,transversal,tuolumne,sagami,petrobras,brecker,menxia,instilling,stipulating,korra,oscillate,deadpan,v/line,pyrotechnic,stoneware,prelims,intracoastal,retraining,ilija,berwyn,encrypt,achievers,zulfiqar,glycoproteins,khatib,farmsteads,occultist,saman,fionn,derulo,khilji,obrenovic,argosy,toowong,dementieva,sociocultural,iconostasis,craigslist,festschrift,taifa,intercalated,tanjong,penticton,sharad,marxian,extrapolation,guises,wettin,prabang,exclaiming,kosta,famas,conakry,wanderings,'aliabad,macleay,exoplanet,bancorp,besiegers,surmounting,checkerboard,rajab,vliet,tarek,operable,wargaming,haldimand,fukuyama,uesugi,aggregations,erbil,brachiopods,tokyu,anglais,unfavorably,ujpest,escorial,armagnac,nagara,funafuti,ridgeline,cocking,o'gorman,compactness,retardant,krajowa,barua,coking,bestows,thampi,chicagoland,variably,o'loughlin,minnows,schwa,shaukat,polycarbonate,chlorinated,godalming,gramercy,delved,banqueting,enlil,sarada,prasanna,domhnall,decadal,regressive,lipoprotein,collectable,surendra,zaporizhia,cycliste,suchet,offsetting,formula_65,pudong,d'arte,blyton,quonset,osmania,tientsin,manorama,proteomics,bille,jalpaiguri,pertwee,barnegat,inventiveness,gollancz,euthanized,henricus,shortfalls,wuxia,chlorides,cerrado,polyvinyl,folktale,straddled,bioengineering,eschewing,greendale,recharged,olave,ceylonese,autocephalous,peacebuilding,wrights,guyed,rosamund,abitibi,bannockburn,gerontology,scutari,souness,seagram,codice_9,'open,xhtml,taguig,purposed,darbar,orthopedics,unpopulated,kisumu,tarrytown,feodor,polyhedral,monadnock,gottorp,priam,redesigning,gasworks,elfin,urquiza,homologation,filipovic,bohun,manningham,gornik,soundness,shorea,lanus,gelder,darke,sandgate,criticality,paranaense,153rd,vieja,lithograph,trapezoid,tiebreakers,convalescence,yan'an,actuaries,balad,altimeter,thermoelectric,trailblazer,previn,tenryu,ancaster,endoscopy,nicolet,discloses,fracking,plaine,salado,americanism,placards,absurdist,propylene,breccia,jirga,documenta,ismailis,161st,brentano,dallas/fort,embellishment,calipers,subscribes,mahavidyalaya,wednesbury,barnstormers,miwok,schembechler,minigame,unterberger,dopaminergic,inacio,nizamabad,overridden,monotype,cavernous,stichting,sassafras,sotho,argentinean,myrrh,rapidity,flatts,gowrie,dejected,kasaragod,cyprinidae,interlinked,arcseconds,degeneracy,infamously,incubate,substructure,trigeminal,sectarianism,marshlands,hooliganism,hurlers,isolationist,urania,burrard,switchover,lecco,wilts,interrogator,strived,ballooning,volterra,raciborz,relegating,gilding,cybele,dolomites,parachutist,lochaber,orators,raeburn,backend,benaud,rallycross,facings,banga,nuclides,defencemen,futurity,emitters,yadkin,eudonia,zambales,manasseh,sirte,meshes,peculiarly,mcminnville,roundly,boban,decrypt,icelanders,sanam,chelan,jovian,grudgingly,penalised,subscript,gambrinus,poaceae,infringements,maleficent,runciman,148th,supersymmetry,granites,liskeard,eliciting,involution,hallstatt,kitzbuhel,shankly,sandhills,inefficiencies,yishuv,psychotropic,nightjars,wavell,sangamon,vaikundar,choshu,retrospectives,pitesti,gigantea,hashemi,bosna,gakuin,siochana,arrangers,baronetcies,narayani,temecula,creston,koscierzyna,autochthonous,wyandot,anniston,igreja,mobilise,buzau,dunster,musselburgh,wenzhou,khattak,detoxification,decarboxylase,manlius,campbells,coleoptera,copyist,sympathisers,suisun,eminescu,defensor,transshipment,thurgau,somerton,fluctuates,ambika,weierstrass,lukow,giambattista,volcanics,romanticized,innovated,matabeleland,scotiabank,garwolin,purine,d'auvergne,borderland,maozhen,pricewaterhousecoopers,testator,pallium,scout.com,mv/pi,nazca,curacies,upjohn,sarasvati,monegasque,ketrzyn,malory,spikelets,biomechanics,haciendas,rapped,dwarfed,stews,nijinsky,subjection,matsu,perceptible,schwarzburg,midsection,entertains,circuitous,epiphytic,wonsan,alpini,bluefield,sloths,transportable,braunfels,dictum,szczecinek,jukka,wielun,wejherowo,hucknall,grameen,duodenum,ribose,deshpande,shahar,nexstar,injurious,dereham,lithographer,dhoni,structuralist,progreso,deschutes,christus,pulteney,quoins,yitzchak,gyeongsang,breviary,makkah,chiyoda,jutting,vineland,angiosperms,necrotic,novelisation,redistribute,tirumala,140th,featureless,mafic,rivaling,toyline,2/1st,martius,saalfeld,monthan,texian,kathak,melodramas,mithila,regierungsbezirk,509th,fermenting,schoolmate,virtuosic,briain,kokoda,heliocentric,handpicked,kilwinning,sonically,dinars,kasim,parkways,bogdanov,luxembourgian,halland,avesta,bardic,daugavpils,excavator,qwest,frustrate,physiographic,majoris,'ndrangheta,unrestrained,firmness,montalban,abundances,preservationists,adare,executioners,guardsman,bonnaroo,neglects,nazrul,pro12,hoorn,abercorn,refuting,kabud,cationic,parapsychology,troposphere,venezuelans,malignancy,khoja,unhindered,accordionist,medak,visby,ejercito,laparoscopic,dinas,umayyads,valmiki,o'dowd,saplings,stranding,incisions,illusionist,avocets,buccleuch,amazonia,fourfold,turboprops,roosts,priscus,turnstile,areal,certifies,pocklington,spoofs,viseu,commonalities,dabrowka,annam,homesteaders,daredevils,mondrian,negotiates,fiestas,perennials,maximizes,lubavitch,ravindra,scrapers,finials,kintyre,violas,snoqualmie,wilders,openbsd,mlawa,peritoneal,devarajan,congke,leszno,mercurial,fakir,joannes,bognor,overloading,unbuilt,gurung,scuttle,temperaments,bautzen,jardim,tradesman,visitations,barbet,sagamore,graaff,forecasters,wilsons,assis,l'air,shariah,sochaczew,russa,dirge,biliary,neuve,heartbreakers,strathearn,jacobian,overgrazing,edrich,anticline,parathyroid,petula,lepanto,decius,channelled,parvathi,puppeteers,communicators,francorchamps,kahane,longus,panjang,intron,traite,xxvii,matsuri,amrit,katyn,disheartened,cacak,omonia,alexandrine,partaking,wrangling,adjuvant,haskovo,tendrils,greensand,lammermoor,otherworld,volusia,stabling,one-and-a-half,bresson,zapatista,eotvos,ps150,webisodes,stepchildren,microarray,braganca,quanta,dolne,superoxide,bellona,delineate,ratha,lindenwood,bruhl,cingulate,tallies,bickerton,helgi,bevin,takoma,tsukuba,statuses,changeling,alister,bytom,dibrugarh,magnesia,duplicating,outlier,abated,goncalo,strelitz,shikai,mardan,musculature,ascomycota,springhill,tumuli,gabaa,odenwald,reformatted,autocracy,theresienstadt,suplex,chattopadhyay,mencken,congratulatory,weatherfield,systema,solemnity,projekt,quanzhou,kreuzberg,postbellum,nobuo,mediaworks,finisterre,matchplay,bangladeshis,kothen,oocyte,hovered,aromas,afshar,browed,teases,chorlton,arshad,cesaro,backbencher,iquique,vulcans,padmini,unabridged,cyclase,despotic,kirilenko,achaean,queensberry,debre,octahedron,iphigenia,curbing,karimnagar,sagarmatha,smelters,surrealists,sanada,shrestha,turridae,leasehold,jiedushi,eurythmics,appropriating,correze,thimphu,amery,musicomh,cyborgs,sandwell,pushcart,retorts,ameliorate,deteriorates,stojanovic,spline,entrenchments,bourse,chancellorship,pasolini,lendl,personage,reformulated,pubescens,loiret,metalurh,reinvention,nonhuman,eilema,tarsal,complutense,magne,broadview,metrodome,outtake,stouffville,seinen,bataillon,phosphoric,ostensible,opatow,aristides,beefheart,glorifying,banten,romsey,seamounts,fushimi,prophylaxis,sibylla,ranjith,goslar,balustrades,georgiev,caird,lafitte,peano,canso,bankura,halfpenny,segregate,caisson,bizerte,jamshedpur,euromaidan,philosophie,ridged,cheerfully,reclassification,aemilius,visionaries,samoans,wokingham,chemung,wolof,unbranched,cinerea,bhosle,ourense,immortalised,cornerstones,sourcebook,khufu,archimedean,universitatea,intermolecular,fiscally,suffices,metacomet,adjudicator,stablemate,specks,glace,inowroclaw,patristic,muharram,agitating,ashot,neurologic,didcot,gamla,ilves,putouts,siraj,laski,coaling,diarmuid,ratnagiri,rotulorum,liquefaction,morbihan,harel,aftershock,gruiformesfamily,bonnier,falconiformesfamily,adorns,wikis,maastrichtian,stauffenberg,bishopsgate,fakhr,sevenfold,ponders,quantifying,castiel,opacity,depredations,lenten,gravitated,o'mahony,modulates,inuktitut,paston,kayfabe,vagus,legalised,balked,arianism,tendering,sivas,birthdate,awlaki,khvajeh,shahab,samtgemeinde,bridgeton,amalgamations,biogenesis,recharging,tsukasa,mythbusters,chamfered,enthronement,freelancers,maharana,constantia,sutil,messines,monkton,okanogan,reinvigorated,apoplexy,tanahashi,neues,valiants,harappan,russes,carding,volkoff,funchal,statehouse,imitative,intrepidity,mellotron,samaras,turkana,besting,longitudes,exarch,diarrhoea,transcending,zvonareva,darna,ramblin,disconnection,137th,refocused,diarmait,agricole,ba'athist,turenne,contrabass,communis,daviess,fatimids,frosinone,fittingly,polyphyletic,qanat,theocratic,preclinical,abacha,toorak,marketplaces,conidia,seiya,contraindicated,retford,bundesautobahn,rebuilds,climatology,seaworthy,starfighter,qamar,categoria,malai,hellinsia,newstead,airworthy,catenin,avonmouth,arrhythmias,ayyavazhi,downgrade,ashburnham,ejector,kinematics,petworth,rspca,filmation,accipitridae,chhatrapati,g/mol,bacau,agama,ringtone,yudhoyono,orchestrator,arbitrators,138th,powerplants,cumbernauld,alderley,misamis,hawai`i,cuando,meistriliiga,jermyn,alans,pedigrees,ottavio,approbation,omnium,purulia,prioress,rheinland,lymphoid,lutsk,oscilloscope,ballina,iliac,motorbikes,modernising,uffizi,phylloxera,kalevala,bengalis,amravati,syntheses,interviewers,inflectional,outflank,maryhill,unhurt,profiler,nacelles,heseltine,personalised,guarda,herpetologist,airpark,pigot,margaretha,dinos,peleliu,breakbeat,kastamonu,shaivism,delamere,kingsville,epigram,khlong,phospholipids,journeying,lietuvos,congregated,deviance,celebes,subsoil,stroma,kvitova,lubricating,layoff,alagoas,olafur,doron,interuniversity,raycom,agonopterix,uzice,nanna,springvale,raimundo,wrested,pupal,talat,skinheads,vestige,unpainted,handan,odawara,ammar,attendee,lapped,myotis,gusty,ciconiiformesfamily,traversal,subfield,vitaphone,prensa,hasidism,inwood,carstairs,kropotkin,turgenev,dobra,remittance,purim,tannin,adige,tabulation,lethality,pacha,micronesian,dhruva,defensemen,tibeto,siculus,radioisotope,sodertalje,phitsanulok,euphonium,oxytocin,overhangs,skinks,fabrica,reinterred,emulates,bioscience,paragliding,raekwon,perigee,plausibility,frolunda,erroll,aznar,vyasa,albinus,trevally,confederacion,terse,sixtieth,1530s,kendriya,skateboarders,frontieres,muawiyah,easements,shehu,conservatively,keystones,kasem,brutalist,peekskill,cowry,orcas,syllabary,paltz,elisabetta,denticles,hampering,dolni,eidos,aarau,lermontov,yankton,shahbaz,barrages,kongsvinger,reestablishment,acetyltransferase,zulia,mrnas,slingsby,eucalypt,efficacious,weybridge,gradation,cinematheque,malthus,bampton,coexisted,cisse,hamdi,cupertino,saumarez,chionodes,libertine,formers,sakharov,pseudonymous,vol.1,mcduck,gopalakrishnan,amberley,jorhat,grandmasters,rudiments,dwindle,param,bukidnon,menander,americanus,multipliers,pulawy,homoerotic,pillbox,cd+dvd,epigraph,aleksandrow,extrapolated,horseshoes,contemporain,angiography,hasselt,shawinigan,memorization,legitimized,cyclades,outsold,rodolphe,kelis,powerball,dijkstra,analyzers,incompressible,sambar,orangeburg,osten,reauthorization,adamawa,sphagnum,hypermarket,millipedes,zoroaster,madea,ossuary,murrayfield,pronominal,gautham,resellers,ethers,quarrelled,dolna,stragglers,asami,tangut,passos,educacion,sharaf,texel,berio,bethpage,bezalel,marfa,noronha,36ers,genteel,avram,shilton,compensates,sweetener,reinstalled,disables,noether,1590s,balakrishnan,kotaro,northallerton,cataclysm,gholam,cancellara,schiphol,commends,longinus,albinism,gemayel,hamamatsu,volos,islamism,sidereal,pecuniary,diggings,townsquare,neosho,lushan,chittoor,akhil,disputation,desiccation,cambodians,thwarting,deliberated,ellipsis,bahini,susumu,separators,kohneh,plebeians,kultur,ogaden,pissarro,trypeta,latur,liaodong,vetting,datong,sohail,alchemists,lengthwise,unevenly,masterly,microcontrollers,occupier,deviating,farringdon,baccalaureat,theocracy,chebyshev,archivists,jayaram,ineffectiveness,scandinavians,jacobins,encomienda,nambu,g/cm3,catesby,paavo,heeded,rhodium,idealised,10deg,infective,mecyclothorax,halevy,sheared,minbari,audax,lusatian,rebuffs,hitfix,fastener,subjugate,tarun,binet,compuserve,synthesiser,keisuke,amalric,ligatures,tadashi,ignazio,abramovich,groundnut,otomo,maeve,mortlake,ostrogoths,antillean,todor,recto,millimetre,espousing,inaugurate,paracetamol,galvanic,harpalinae,jedrzejow,reassessment,langlands,civita,mikan,stikine,bijar,imamate,istana,kaiserliche,erastus,federale,cytosine,expansionism,hommes,norrland,smriti,snapdragon,gulab,taleb,lossy,khattab,urbanised,sesto,rekord,diffuser,desam,morganatic,silting,pacts,extender,beauharnais,purley,bouches,halfpipe,discontinuities,houthi,farmville,animism,horni,saadi,interpretative,blockades,symeon,biogeographic,transcaucasian,jetties,landrieu,astrocytes,conjunto,stumpings,weevils,geysers,redux,arching,romanus,tazeh,marcellinus,casein,opava,misrata,anare,sattar,declarer,dreux,oporto,venta,vallis,icosahedron,cortona,lachine,mohammedan,sandnes,zynga,clarin,diomedes,tsuyoshi,pribram,gulbarga,chartist,superettan,boscawen,altus,subang,gating,epistolary,vizianagaram,ogdensburg,panna,thyssen,tarkovsky,dzogchen,biograph,seremban,unscientific,nightjar,legco,deism,n.w.a,sudha,siskel,sassou,flintlock,jovial,montbeliard,pallida,formula_66,tranquillity,nisei,adornment,'people,yamhill,hockeyallsvenskan,adopters,appian,lowicz,haplotypes,succinctly,starogard,presidencies,kheyrabad,sobibor,kinesiology,cowichan,militum,cromwellian,leiningen,ps1.5,concourses,dalarna,goldfield,brzeg,faeces,aquarii,matchless,harvesters,181st,numismatics,korfball,sectioned,transpires,facultative,brandishing,kieron,forages,menai,glutinous,debarge,heathfield,1580s,malang,photoelectric,froome,semiotic,alwar,grammophon,chiaroscuro,mentalist,maramures,flacco,liquors,aleutians,marvell,sutlej,patnaik,qassam,flintoff,bayfield,haeckel,sueno,avicii,exoplanets,hoshi,annibale,vojislav,honeycombs,celebrant,rendsburg,veblen,quails,141st,carronades,savar,narrations,jeeva,ontologies,hedonistic,marinette,godot,munna,bessarabian,outrigger,thame,gravels,hoshino,falsifying,stereochemistry,nacionalista,medially,radula,ejecting,conservatorio,odile,ceiba,jaina,essonne,isometry,allophones,recidivism,iveco,ganda,grammarians,jagan,signposted,uncompressed,facilitators,constancy,ditko,propulsive,impaling,interbank,botolph,amlaib,intergroup,sorbus,cheka,debye,praca,adorning,presbyteries,dormition,strategos,qarase,pentecostals,beehives,hashemite,goldust,euronext,egress,arpanet,soames,jurchens,slovenska,copse,kazim,appraisals,marischal,mineola,sharada,caricaturist,sturluson,galba,faizabad,overwintering,grete,uyezds,didsbury,libreville,ablett,microstructure,anadolu,belenenses,elocution,cloaks,timeslots,halden,rashidun,displaces,sympatric,germanus,tuples,ceska,equalize,disassembly,krautrock,babangida,memel,deild,gopala,hematology,underclass,sangli,wawrinka,assur,toshack,refrains,nicotinic,bhagalpur,badami,racetracks,pocatello,walgreens,nazarbayev,occultation,spinnaker,geneon,josias,hydrolyzed,dzong,corregimiento,waistcoat,thermoplastic,soldered,anticancer,lactobacillus,shafi'i,carabus,adjournment,schlumberger,triceratops,despotate,mendicant,krishnamurti,bahasa,earthworm,lavoisier,noetherian,kalki,fervently,bhawan,saanich,coquille,gannet,motagua,kennels,mineralization,fitzherbert,svein,bifurcated,hairdressing,felis,abounded,dimers,fervour,hebdo,bluffton,aetna,corydon,clevedon,carneiro,subjectively,deutz,gastropoda,overshot,concatenation,varman,carolla,maharshi,mujib,inelastic,riverhead,initialized,safavids,rohini,caguas,bulges,fotbollforbund,hefei,spithead,westville,maronites,lytham,americo,gediminas,stephanus,chalcolithic,hijra,gnu/linux,predilection,rulership,sterility,haidar,scarlatti,saprissa,sviatoslav,pointedly,sunroof,guarantor,thevar,airstrips,pultusk,sture,129th,divinities,daizong,dolichoderus,cobourg,maoists,swordsmanship,uprated,bohme,tashi,largs,chandi,bluebeard,householders,richardsonian,drepanidae,antigonish,elbasan,occultism,marca,hypergeometric,oirat,stiglitz,ignites,dzungar,miquelon,pritam,d'automne,ulidiid,niamey,vallecano,fondo,billiton,incumbencies,raceme,chambery,cadell,barenaked,kagame,summerside,haussmann,hatshepsut,apothecaries,criollo,feint,nasals,timurid,feltham,plotinus,oxygenation,marginata,officinalis,salat,participations,ising,downe,izumo,unguided,pretence,coursed,haruna,viscountcy,mainstage,justicia,powiat,takara,capitoline,implacable,farben,stopford,cosmopterix,tuberous,kronecker,galatians,kweli,dogmas,exhorted,trebinje,skanda,newlyn,ablative,basidia,bhiwani,encroachments,stranglers,regrouping,tubal,shoestring,wawel,anionic,mesenchymal,creationists,pyrophosphate,moshi,despotism,powerbook,fatehpur,rupiah,segre,ternate,jessore,b.i.g,shevardnadze,abounds,gliwice,densest,memoria,suborbital,vietcong,ratepayers,karunanidhi,toolbar,descents,rhymney,exhortation,zahedan,carcinomas,hyperbaric,botvinnik,billets,neuropsychological,tigranes,hoards,chater,biennially,thistles,scotus,wataru,flotillas,hungama,monopolistic,payouts,vetch,generalissimo,caries,naumburg,piran,blizzards,escalates,reactant,shinya,theorize,rizzoli,transitway,ecclesiae,streptomyces,cantal,nisibis,superconductor,unworkable,thallus,roehampton,scheckter,viceroys,makuuchi,ilkley,superseding,takuya,klodzko,borbon,raspberries,operand,w.a.k.o,sarabande,factionalism,egalitarianism,temasek,torbat,unscripted,jorma,westerner,perfective,vrije,underlain,goldfrapp,blaenau,jomon,barthes,drivetime,bassa,bannock,umaga,fengxiang,zulus,sreenivasan,farces,codice_10,freeholder,poddebice,imperialists,deregulated,wingtip,o'hagan,pillared,overtone,hofstadter,149th,kitano,saybrook,standardizing,aldgate,staveley,o'flaherty,hundredths,steerable,soltan,empted,cruyff,intramuros,taluks,cotonou,marae,karur,figueres,barwon,lucullus,niobe,zemlya,lathes,homeported,chaux,amyotrophic,opines,exemplars,bhamo,homomorphisms,gauleiter,ladin,mafiosi,airdrieonians,b/soul,decal,transcaucasia,solti,defecation,deaconess,numidia,sampradaya,normalised,wingless,schwaben,alnus,cinerama,yakutsk,ketchikan,orvieto,unearned,monferrato,rotem,aacsb,loong,decoders,skerries,cardiothoracic,repositioning,pimpernel,yohannan,tenebrionoidea,nargis,nouvel,costliest,interdenominational,noize,redirecting,zither,morcha,radiometric,frequenting,irtysh,gbagbo,chakri,litvinenko,infotainment,ravensbruck,harith,corbels,maegashira,jousting,natan,novus,falcao,minis,railed,decile,rauma,ramaswamy,cavitation,paranaque,berchtesgaden,reanimated,schomberg,polysaccharides,exclusionary,cleon,anurag,ravaging,dhanush,mitchells,granule,contemptuous,keisei,rolleston,atlantean,yorkist,daraa,wapping,micrometer,keeneland,comparably,baranja,oranje,schlafli,yogic,dinajpur,unimpressive,masashi,recreativo,alemannic,petersfield,naoko,vasudeva,autosport,rajat,marella,busko,wethersfield,ssris,soulcalibur,kobani,wildland,rookery,hoffenheim,kauri,aliphatic,balaclava,ferrite,publicise,victorias,theism,quimper,chapbook,functionalist,roadbed,ulyanovsk,cupen,purpurea,calthorpe,teofilo,mousavi,cochlea,linotype,detmold,ellerslie,gakkai,telkom,southsea,subcontractor,inguinal,philatelists,zeebrugge,piave,trochidae,dempo,spoilt,saharanpur,mihrab,parasympathetic,barbarous,chartering,antiqua,katsina,bugis,categorizes,altstadt,kandyan,pambansa,overpasses,miters,assimilating,finlandia,uneconomic,am/fm,harpsichordist,dresdner,luminescence,authentically,overpowers,magmatic,cliftonville,oilfields,skirted,berthe,cuman,oakham,frelimo,glockenspiel,confection,saxophonists,piaseczno,multilevel,antipater,levying,maltreatment,velho,opoczno,harburg,pedophilia,unfunded,palettes,plasterwork,breve,dharmendra,auchinleck,nonesuch,blackmun,libretti,rabbani,145th,hasselbeck,kinnock,malate,vanden,cloverdale,ashgabat,nares,radians,steelworkers,sabor,possums,catterick,hemispheric,ostra,outpaced,dungeness,almshouse,penryn,texians,1000m,franchitti,incumbency,texcoco,newar,tramcars,toroidal,meitetsu,spellbound,agronomist,vinifera,riata,bunko,pinas,ba'al,github,vasilyevich,obsolescent,geodesics,ancestries,tujue,capitalised,unassigned,throng,unpaired,psychometric,skegness,exothermic,buffered,kristiansund,tongued,berenger,basho,alitalia,prolongation,archaeologically,fractionation,cyprinid,echinoderms,agriculturally,justiciar,sonam,ilium,baits,danceable,grazer,ardahan,grassed,preemption,glassworks,hasina,ugric,umbra,wahhabi,vannes,tinnitus,capitaine,tikrit,lisieux,scree,hormuz,despenser,jagiellon,maisonneuve,gandaki,santarem,basilicas,lancing,landskrona,weilburg,fireside,elysian,isleworth,krishnamurthy,filton,cynon,tecmo,subcostal,scalars,triglycerides,hyperplane,farmingdale,unione,meydan,pilings,mercosur,reactivate,akiba,fecundity,jatra,natsume,zarqawi,preta,masao,presbyter,oakenfold,rhodri,ferran,ruizong,cloyne,nelvana,epiphanius,borde,scutes,strictures,troughton,whitestone,sholom,toyah,shingon,kutuzov,abelard,passant,lipno,cafeterias,residuals,anabaptists,paratransit,criollos,pleven,radiata,destabilizing,hadiths,bazaars,mannose,taiyo,crookes,welbeck,baoding,archelaus,nguesso,alberni,wingtips,herts,viasat,lankans,evreux,wigram,fassbinder,ryuichi,storting,reducible,olesnica,znojmo,hyannis,theophanes,flatiron,mustering,rajahmundry,kadir,wayang,prome,lethargy,zubin,illegality,conall,dramedy,beerbohm,hipparchus,ziarat,ryuji,shugo,glenorchy,microarchitecture,morne,lewinsky,cauvery,battenberg,hyksos,wayanad,hamilcar,buhari,brazo,bratianu,solms,aksaray,elamite,chilcotin,bloodstock,sagara,dolny,reunified,umlaut,proteaceae,camborne,calabrian,dhanbad,vaxjo,cookware,potez,rediffusion,semitones,lamentations,allgau,guernica,suntory,pleated,stationing,urgell,gannets,bertelsmann,entryway,raphitomidae,acetaldehyde,nephrology,categorizing,beiyang,permeate,tourney,geosciences,khana,masayuki,crucis,universitaria,slaskie,khaimah,finno,advani,astonishingly,tubulin,vampiric,jeolla,sociale,cleethorpes,badri,muridae,suzong,debater,decimation,kenyans,mutualism,pontifex,middlemen,insee,halevi,lamentation,psychopathy,brassey,wenders,kavya,parabellum,prolactin,inescapable,apses,malignancies,rinzai,stigmatized,menahem,comox,ateliers,welshpool,setif,centimetre,truthfulness,downfield,drusus,woden,glycosylation,emanated,agulhas,dalkeith,jazira,nucky,unifil,jobim,operon,oryzomys,heroically,seances,supernumerary,backhouse,hashanah,tatler,imago,invert,hayato,clockmaker,kingsmill,swiecie,analogously,golconda,poste,tacitly,decentralised,ge'ez,diplomatically,fossiliferous,linseed,mahavira,pedestals,archpriest,byelection,domiciled,jeffersonian,bombus,winegrowing,waukegan,uncultivated,haverfordwest,saumur,communally,disbursed,cleeve,zeljeznicar,speciosa,vacationers,sigur,vaishali,zlatko,iftikhar,cropland,transkei,incompleteness,bohra,subantarctic,slieve,physiologic,similis,klerk,replanted,'right,chafee,reproducible,bayburt,regicide,muzaffarpur,plurals,hanyu,orthologs,diouf,assailed,kamui,tarik,dodecanese,gorne,on/off,179th,shimoga,granaries,carlists,valar,tripolitania,sherds,simmern,dissociated,isambard,polytechnical,yuvraj,brabazon,antisense,pubmed,glans,minutely,masaaki,raghavendra,savoury,podcasting,tachi,bienville,gongsun,ridgely,deform,yuichi,binders,canna,carcetti,llobregat,implored,berri,njegos,intermingled,offload,athenry,motherhouse,corpora,kakinada,dannebrog,imperio,prefaces,musicologists,aerospatiale,shirai,nagapattinam,servius,cristoforo,pomfret,reviled,entebbe,stane,east/west,thermometers,matriarchal,siglo,bodil,legionnaire,ze'ev,theorizing,sangeetha,horticulturist,uncountable,lookalike,anoxic,ionospheric,genealogists,chicopee,imprinting,popish,crematoria,diamondback,cyathea,hanzhong,cameramen,halogaland,naklo,waclaw,storehouses,flexed,comuni,frits,glauca,nilgiris,compresses,nainital,continuations,albay,hypoxic,samajwadi,dunkerque,nanticoke,sarwar,interchanged,jubal,corba,jalgaon,derleth,deathstroke,magny,vinnytsia,hyphenated,rimfire,sawan,boehner,disrepute,normalize,aromanian,dualistic,approximant,chama,karimabad,barnacles,sanok,stipends,dyfed,rijksmuseum,reverberation,suncorp,fungicides,reverie,spectrograph,stereophonic,niazi,ordos,alcan,karaite,lautrec,tableland,lamellar,rieti,langmuir,russula,webern,tweaks,hawick,southerner,morphy,naturalisation,enantiomer,michinoku,barbettes,relieves,carburettors,redruth,oblates,vocabularies,mogilev,bagmati,galium,reasserted,extolled,symon,eurosceptic,inflections,tirtha,recompense,oruro,roping,gouverneur,pared,yayoi,watermills,retooled,leukocytes,jubilant,mazhar,nicolau,manheim,touraine,bedser,hambledon,kohat,powerhouses,tlemcen,reuven,sympathetically,afrikaners,interes,handcrafts,etcher,baddeley,wodonga,amaury,155th,vulgarity,pompadour,automorphisms,1540s,oppositions,prekmurje,deryni,fortifying,arcuate,mahila,bocage,uther,nozze,slashes,atlantica,hadid,rhizomatous,azeris,'with,osmena,lewisville,innervated,bandmaster,outcropping,parallelogram,dominicana,twang,ingushetia,extensional,ladino,sastry,zinoviev,relatable,nobilis,cbeebies,hitless,eulima,sporangia,synge,longlisted,criminalized,penitential,weyden,tubule,volyn,priestesses,glenbrook,kibbutzim,windshaft,canadair,falange,zsolt,bonheur,meine,archangels,safeguarded,jamaicans,malarial,teasers,badging,merseyrail,operands,pulsars,gauchos,biotin,bambara,necaxa,egmond,tillage,coppi,anxiolytic,preah,mausoleums,plautus,feroz,debunked,187th,belediyespor,mujibur,wantage,carboxyl,chettiar,murnau,vagueness,racemic,backstretch,courtland,municipio,palpatine,dezful,hyperbola,sreekumar,chalons,altay,arapahoe,tudors,sapieha,quilon,burdensome,kanya,xxviii,recension,generis,siphuncle,repressor,bitrate,mandals,midhurst,dioxin,democratique,upholds,rodez,cinematographic,epoque,jinping,rabelais,zhytomyr,glenview,rebooted,khalidi,reticulata,122nd,monnaie,passersby,ghazals,europaea,lippmann,earthbound,tadic,andorran,artvin,angelicum,banksy,epicentre,resemblances,shuttled,rathaus,bernt,stonemasons,balochi,siang,tynemouth,cygni,biosynthetic,precipitates,sharecroppers,d'annunzio,softbank,shiji,apeldoorn,polycyclic,wenceslas,wuchang,samnites,tamarack,silmarillion,madinah,palaeontology,kirchberg,sculpin,rohtak,aquabats,oviparous,thynne,caney,blimps,minimalistic,whatcom,palatalization,bardstown,direct3d,paramagnetic,kamboja,khash,globemaster,lengua,matej,chernigov,swanage,arsenals,cascadia,cundinamarca,tusculum,leavers,organics,warplanes,'three,exertions,arminius,gandharva,inquires,comercio,kuopio,chabahar,plotlines,mersenne,anquetil,paralytic,buckminster,ambit,acrolophus,quantifiers,clacton,ciliary,ansaldo,fergana,egoism,thracians,chicoutimi,northbrook,analgesia,brotherhoods,hunza,adriaen,fluoridation,snowfalls,soundboard,fangoria,cannibalistic,orthogonius,chukotka,dindigul,manzoni,chainz,macromedia,beltline,muruga,schistura,provable,litex,initio,pneumoniae,infosys,cerium,boonton,cannonballs,d'une,solvency,mandurah,houthis,dolmens,apologists,radioisotopes,blaxploitation,poroshenko,stawell,coosa,maximilien,tempelhof,espouse,declaratory,hambro,xalapa,outmoded,mihiel,benefitting,desirous,archeparchy,repopulated,telescoping,captor,mackaye,disparaged,ramanathan,crowne,tumbled,technetium,silted,chedi,nievre,hyeon,cartoonish,interlock,infocom,rediff.com,dioramas,timekeeping,concertina,kutaisi,cesky,lubomirski,unapologetic,epigraphic,stalactites,sneha,biofilm,falconry,miraflores,catena,'outstanding,prospekt,apotheosis,o'odham,pacemakers,arabica,gandhinagar,reminisces,iroquoian,ornette,tilling,neoliberalism,chameleons,pandava,prefontaine,haiyan,gneisenau,utama,bando,reconstitution,azaria,canola,paratroops,ayckbourn,manistee,stourton,manifestos,lympne,denouement,tractatus,rakim,bellflower,nanometer,sassanids,turlough,presbyterianism,varmland,20deg,phool,nyerere,almohad,manipal,vlaanderen,quickness,removals,makow,circumflex,eatery,morane,fondazione,alkylation,unenforceable,galliano,silkworm,junior/senior,abducts,phlox,konskie,lofoten,buuren,glyphosate,faired,naturae,cobbles,taher,skrulls,dostoevsky,walkout,wagnerian,orbited,methodically,denzil,sarat,extraterritorial,kohima,d'armor,brinsley,rostropovich,fengtian,comitatus,aravind,moche,wrangell,giscard,vantaa,viljandi,hakoah,seabees,muscatine,ballade,camanachd,sothern,mullioned,durad,margraves,maven,arete,chandni,garifuna,142nd,reading/literature,thickest,intensifies,trygve,khaldun,perinatal,asana,powerline,acetylation,nureyev,omiya,montesquieu,riverwalk,marly,correlating,intermountain,bulgar,hammerheads,underscores,wiretapping,quatrain,ruisseau,newsagent,tuticorin,polygyny,hemsworth,partisanship,banna,istrian,evaporator".split(","),
17921female_names:"mary,patricia,linda,barbara,elizabeth,jennifer,maria,susan,margaret,dorothy,lisa,nancy,karen,betty,helen,sandra,donna,carol,ruth,sharon,michelle,laura,sarah,kimberly,deborah,jessica,shirley,cynthia,angela,melissa,brenda,amy,anna,rebecca,virginia,kathleen,pamela,martha,debra,amanda,stephanie,carolyn,christine,marie,janet,catherine,frances,ann,joyce,diane,alice,julie,heather,teresa,doris,gloria,evelyn,jean,cheryl,mildred,katherine,joan,ashley,judith,rose,janice,kelly,nicole,judy,christina,kathy,theresa,beverly,denise,tammy,irene,jane,lori,rachel,marilyn,andrea,kathryn,louise,sara,anne,jacqueline,wanda,bonnie,julia,ruby,lois,tina,phyllis,norma,paula,diana,annie,lillian,emily,robin,peggy,crystal,gladys,rita,dawn,connie,florence,tracy,edna,tiffany,carmen,rosa,cindy,grace,wendy,victoria,edith,kim,sherry,sylvia,josephine,thelma,shannon,sheila,ethel,ellen,elaine,marjorie,carrie,charlotte,monica,esther,pauline,emma,juanita,anita,rhonda,hazel,amber,eva,debbie,april,leslie,clara,lucille,jamie,joanne,eleanor,valerie,danielle,megan,alicia,suzanne,michele,gail,bertha,darlene,veronica,jill,erin,geraldine,lauren,cathy,joann,lorraine,lynn,sally,regina,erica,beatrice,dolores,bernice,audrey,yvonne,annette,marion,dana,stacy,ana,renee,ida,vivian,roberta,holly,brittany,melanie,loretta,yolanda,jeanette,laurie,katie,kristen,vanessa,alma,sue,elsie,beth,jeanne,vicki,carla,tara,rosemary,eileen,terri,gertrude,lucy,tonya,ella,stacey,wilma,gina,kristin,jessie,natalie,agnes,vera,charlene,bessie,delores,melinda,pearl,arlene,maureen,colleen,allison,tamara,joy,georgia,constance,lillie,claudia,jackie,marcia,tanya,nellie,minnie,marlene,heidi,glenda,lydia,viola,courtney,marian,stella,caroline,dora,vickie,mattie,maxine,irma,mabel,marsha,myrtle,lena,christy,deanna,patsy,hilda,gwendolyn,jennie,nora,margie,nina,cassandra,leah,penny,kay,priscilla,naomi,carole,olga,billie,dianne,tracey,leona,jenny,felicia,sonia,miriam,velma,becky,bobbie,violet,kristina,toni,misty,mae,shelly,daisy,ramona,sherri,erika,katrina,claire,lindsey,lindsay,geneva,guadalupe,belinda,margarita,sheryl,cora,faye,ada,sabrina,isabel,marguerite,hattie,harriet,molly,cecilia,kristi,brandi,blanche,sandy,rosie,joanna,iris,eunice,angie,inez,lynda,madeline,amelia,alberta,genevieve,monique,jodi,janie,kayla,sonya,jan,kristine,candace,fannie,maryann,opal,alison,yvette,melody,luz,susie,olivia,flora,shelley,kristy,mamie,lula,lola,verna,beulah,antoinette,candice,juana,jeannette,pam,kelli,whitney,bridget,karla,celia,latoya,patty,shelia,gayle,della,vicky,lynne,sheri,marianne,kara,jacquelyn,erma,blanca,myra,leticia,pat,krista,roxanne,angelica,robyn,adrienne,rosalie,alexandra,brooke,bethany,sadie,bernadette,traci,jody,kendra,nichole,rachael,mable,ernestine,muriel,marcella,elena,krystal,angelina,nadine,kari,estelle,dianna,paulette,lora,mona,doreen,rosemarie,desiree,antonia,janis,betsy,christie,freda,meredith,lynette,teri,cristina,eula,leigh,meghan,sophia,eloise,rochelle,gretchen,cecelia,raquel,henrietta,alyssa,jana,gwen,jenna,tricia,laverne,olive,tasha,silvia,elvira,delia,kate,patti,lorena,kellie,sonja,lila,lana,darla,mindy,essie,mandy,lorene,elsa,josefina,jeannie,miranda,dixie,lucia,marta,faith,lela,johanna,shari,camille,tami,shawna,elisa,ebony,melba,ora,nettie,tabitha,ollie,winifred,kristie,alisha,aimee,rena,myrna,marla,tammie,latasha,bonita,patrice,ronda,sherrie,addie,francine,deloris,stacie,adriana,cheri,abigail,celeste,jewel,cara,adele,rebekah,lucinda,dorthy,effie,trina,reba,sallie,aurora,lenora,etta,lottie,kerri,trisha,nikki,estella,francisca,josie,tracie,marissa,karin,brittney,janelle,lourdes,laurel,helene,fern,elva,corinne,kelsey,ina,bettie,elisabeth,aida,caitlin,ingrid,iva,eugenia,christa,goldie,maude,jenifer,therese,dena,lorna,janette,latonya,candy,consuelo,tamika,rosetta,debora,cherie,polly,dina,jewell,fay,jillian,dorothea,nell,trudy,esperanza,patrica,kimberley,shanna,helena,cleo,stefanie,rosario,ola,janine,mollie,lupe,alisa,lou,maribel,susanne,bette,susana,elise,cecile,isabelle,lesley,jocelyn,paige,joni,rachelle,leola,daphne,alta,ester,petra,graciela,imogene,jolene,keisha,lacey,glenna,gabriela,keri,ursula,lizzie,kirsten,shana,adeline,mayra,jayne,jaclyn,gracie,sondra,carmela,marisa,rosalind,charity,tonia,beatriz,marisol,clarice,jeanine,sheena,angeline,frieda,lily,shauna,millie,claudette,cathleen,angelia,gabrielle,autumn,katharine,jodie,staci,lea,christi,justine,elma,luella,margret,dominique,socorro,martina,margo,mavis,callie,bobbi,maritza,lucile,leanne,jeannine,deana,aileen,lorie,ladonna,willa,manuela,gale,selma,dolly,sybil,abby,ivy,dee,winnie,marcy,luisa,jeri,magdalena,ofelia,meagan,audra,matilda,leila,cornelia,bianca,simone,bettye,randi,virgie,latisha,barbra,georgina,eliza,leann,bridgette,rhoda,haley,adela,nola,bernadine,flossie,ila,greta,ruthie,nelda,minerva,lilly,terrie,letha,hilary,estela,valarie,brianna,rosalyn,earline,catalina,ava,mia,clarissa,lidia,corrine,alexandria,concepcion,tia,sharron,rae,dona,ericka,jami,elnora,chandra,lenore,neva,marylou,melisa,tabatha,serena,avis,allie,sofia,jeanie,odessa,nannie,harriett,loraine,penelope,milagros,emilia,benita,allyson,ashlee,tania,esmeralda,eve,pearlie,zelma,malinda,noreen,tameka,saundra,hillary,amie,althea,rosalinda,lilia,alana,clare,alejandra,elinor,lorrie,jerri,darcy,earnestine,carmella,noemi,marcie,liza,annabelle,louisa,earlene,mallory,carlene,nita,selena,tanisha,katy,julianne,lakisha,edwina,maricela,margery,kenya,dollie,roxie,roslyn,kathrine,nanette,charmaine,lavonne,ilene,tammi,suzette,corine,kaye,chrystal,lina,deanne,lilian,juliana,aline,luann,kasey,maryanne,evangeline,colette,melva,lawanda,yesenia,nadia,madge,kathie,ophelia,valeria,nona,mitzi,mari,georgette,claudine,fran,alissa,roseann,lakeisha,susanna,reva,deidre,chasity,sheree,elvia,alyce,deirdre,gena,briana,araceli,katelyn,rosanne,wendi,tessa,berta,marva,imelda,marietta,marci,leonor,arline,sasha,madelyn,janna,juliette,deena,aurelia,josefa,augusta,liliana,lessie,amalia,savannah,anastasia,vilma,natalia,rosella,lynnette,corina,alfreda,leanna,amparo,coleen,tamra,aisha,wilda,karyn,maura,mai,evangelina,rosanna,hallie,erna,enid,mariana,lacy,juliet,jacklyn,freida,madeleine,mara,cathryn,lelia,casandra,bridgett,angelita,jannie,dionne,annmarie,katina,beryl,millicent,katheryn,diann,carissa,maryellen,liz,lauri,helga,gilda,rhea,marquita,hollie,tisha,tamera,angelique,francesca,kaitlin,lolita,florine,rowena,reyna,twila,fanny,janell,ines,concetta,bertie,alba,brigitte,alyson,vonda,pansy,elba,noelle,letitia,deann,brandie,louella,leta,felecia,sharlene,lesa,beverley,isabella,herminia,terra,celina,tori,octavia,jade,denice,germaine,michell,cortney,nelly,doretha,deidra,monika,lashonda,judi,chelsey,antionette,margot,adelaide,leeann,elisha,dessie,libby,kathi,gayla,latanya,mina,mellisa,kimberlee,jasmin,renae,zelda,elda,justina,gussie,emilie,camilla,abbie,rocio,kaitlyn,edythe,ashleigh,selina,lakesha,geri,allene,pamala,michaela,dayna,caryn,rosalia,jacquline,rebeca,marybeth,krystle,iola,dottie,belle,griselda,ernestina,elida,adrianne,demetria,delma,jaqueline,arleen,virgina,retha,fatima,tillie,eleanore,cari,treva,wilhelmina,rosalee,maurine,latrice,jena,taryn,elia,debby,maudie,jeanna,delilah,catrina,shonda,hortencia,theodora,teresita,robbin,danette,delphine,brianne,nilda,danna,cindi,bess,iona,winona,vida,rosita,marianna,racheal,guillermina,eloisa,celestine,caren,malissa,lona,chantel,shellie,marisela,leora,agatha,soledad,migdalia,ivette,christen,athena,janel,veda,pattie,tessie,tera,marilynn,lucretia,karrie,dinah,daniela,alecia,adelina,vernice,shiela,portia,merry,lashawn,dara,tawana,verda,alene,zella,sandi,rafaela,maya,kira,candida,alvina,suzan,shayla,lettie,samatha,oralia,matilde,larissa,vesta,renita,delois,shanda,phillis,lorri,erlinda,cathrine,barb,isabell,ione,gisela,roxanna,mayme,kisha,ellie,mellissa,dorris,dalia,bella,annetta,zoila,reta,reina,lauretta,kylie,christal,pilar,charla,elissa,tiffani,tana,paulina,leota,breanna,jayme,carmel,vernell,tomasa,mandi,dominga,santa,melodie,lura,alexa,tamela,mirna,kerrie,venus,felicita,cristy,carmelita,berniece,annemarie,tiara,roseanne,missy,cori,roxana,pricilla,kristal,jung,elyse,haydee,aletha,bettina,marge,gillian,filomena,zenaida,harriette,caridad,vada,aretha,pearline,marjory,marcela,flor,evette,elouise,alina,damaris,catharine,belva,nakia,marlena,luanne,lorine,karon,dorene,danita,brenna,tatiana,louann,julianna,andria,philomena,lucila,leonora,dovie,romona,mimi,jacquelin,gaye,tonja,misti,chastity,stacia,roxann,micaela,velda,marlys,johnna,aura,ivonne,hayley,nicki,majorie,herlinda,yadira,perla,gregoria,antonette,shelli,mozelle,mariah,joelle,cordelia,josette,chiquita,trista,laquita,georgiana,candi,shanon,hildegard,stephany,magda,karol,gabriella,tiana,roma,richelle,oleta,jacque,idella,alaina,suzanna,jovita,tosha,nereida,marlyn,kyla,delfina,tena,stephenie,sabina,nathalie,marcelle,gertie,darleen,thea,sharonda,shantel,belen,venessa,rosalina,genoveva,clementine,rosalba,renate,renata,georgianna,floy,dorcas,ariana,tyra,theda,mariam,juli,jesica,vikki,verla,roselyn,melvina,jannette,ginny,debrah,corrie,violeta,myrtis,latricia,collette,charleen,anissa,viviana,twyla,nedra,latonia,hellen,fabiola,annamarie,adell,sharyn,chantal,niki,maud,lizette,lindy,kesha,jeana,danelle,charline,chanel,valorie,dortha,cristal,sunny,leone,leilani,gerri,debi,andra,keshia,eulalia,easter,dulce,natividad,linnie,kami,georgie,catina,brook,alda,winnifred,sharla,ruthann,meaghan,magdalene,lissette,adelaida,venita,trena,shirlene,shameka,elizebeth,dian,shanta,latosha,carlotta,windy,rosina,mariann,leisa,jonnie,dawna,cathie,astrid,laureen,janeen,holli,fawn,vickey,teressa,shante,rubye,marcelina,chanda,terese,scarlett,marnie,lulu,lisette,jeniffer,elenor,dorinda,donita,carman,bernita,altagracia,aleta,adrianna,zoraida,lyndsey,janina,starla,phylis,phuong,kyra,charisse,blanch,sanjuanita,rona,nanci,marilee,maranda,brigette,sanjuana,marita,kassandra,joycelyn,felipa,chelsie,bonny,mireya,lorenza,kyong,ileana,candelaria,sherie,lucie,leatrice,lakeshia,gerda,edie,bambi,marylin,lavon,hortense,garnet,evie,tressa,shayna,lavina,kyung,jeanetta,sherrill,shara,phyliss,mittie,anabel,alesia,thuy,tawanda,joanie,tiffanie,lashanda,karissa,enriqueta,daria,daniella,corinna,alanna,abbey,roxane,roseanna,magnolia,lida,joellen,coral,carleen,tresa,peggie,novella,nila,maybelle,jenelle,carina,nova,melina,marquerite,margarette,josephina,evonne,cinthia,albina,toya,tawnya,sherita,myriam,lizabeth,lise,keely,jenni,giselle,cheryle,ardith,ardis,alesha,adriane,shaina,linnea,karolyn,felisha,dori,darci,artie,armida,zola,xiomara,vergie,shamika,nena,nannette,maxie,lovie,jeane,jaimie,inge,farrah,elaina,caitlyn,felicitas,cherly,caryl,yolonda,yasmin,teena,prudence,pennie,nydia,mackenzie,orpha,marvel,lizbeth,laurette,jerrie,hermelinda,carolee,tierra,mirian,meta,melony,kori,jennette,jamila,yoshiko,susannah,salina,rhiannon,joleen,cristine,ashton,aracely,tomeka,shalonda,marti,lacie,kala,jada,ilse,hailey,brittani,zona,syble,sherryl,nidia,marlo,kandice,kandi,alycia,ronna,norene,mercy,ingeborg,giovanna,gemma,christel,audry,zora,vita,trish,stephaine,shirlee,shanika,melonie,mazie,jazmin,inga,hettie,geralyn,fonda,estrella,adella,sarita,rina,milissa,maribeth,golda,evon,ethelyn,enedina,cherise,chana,velva,tawanna,sade,mirta,karie,jacinta,elna,davina,cierra,ashlie,albertha,tanesha,nelle,mindi,lorinda,larue,florene,demetra,dedra,ciara,chantelle,ashly,suzy,rosalva,noelia,lyda,leatha,krystyna,kristan,karri,darline,darcie,cinda,cherrie,awilda,almeda,rolanda,lanette,jerilyn,gisele,evalyn,cyndi,cleta,carin,zina,zena,velia,tanika,charissa,talia,margarete,lavonda,kaylee,kathlene,jonna,irena,ilona,idalia,candis,candance,brandee,anitra,alida,sigrid,nicolette,maryjo,linette,hedwig,christiana,alexia,tressie,modesta,lupita,lita,gladis,evelia,davida,cherri,cecily,ashely,annabel,agustina,wanita,shirly,rosaura,hulda,yetta,verona,thomasina,sibyl,shannan,mechelle,leandra,lani,kylee,kandy,jolynn,ferne,eboni,corene,alysia,zula,nada,moira,lyndsay,lorretta,jammie,hortensia,gaynell,adria,vina,vicenta,tangela,stephine,norine,nella,liana,leslee,kimberely,iliana,glory,felica,emogene,elfriede,eden,eartha,carma,ocie,lennie,kiara,jacalyn,carlota,arielle,otilia,kirstin,kacey,johnetta,joetta,jeraldine,jaunita,elana,dorthea,cami,amada,adelia,vernita,tamar,siobhan,renea,rashida,ouida,nilsa,meryl,kristyn,julieta,danica,breanne,aurea,anglea,sherron,odette,malia,lorelei,leesa,kenna,kathlyn,fiona,charlette,suzie,shantell,sabra,racquel,myong,mira,martine,lucienne,lavada,juliann,elvera,delphia,christiane,charolette,carri,asha,angella,paola,ninfa,leda,stefani,shanell,palma,machelle,lissa,kecia,kathryne,karlene,julissa,jettie,jenniffer,corrina,carolann,alena,rosaria,myrtice,marylee,liane,kenyatta,judie,janey,elmira,eldora,denna,cristi,cathi,zaida,vonnie,viva,vernie,rosaline,mariela,luciana,lesli,karan,felice,deneen,adina,wynona,tarsha,sheron,shanita,shani,shandra,randa,pinkie,nelida,marilou,lyla,laurene,laci,janene,dorotha,daniele,dani,carolynn,carlyn,berenice,ayesha,anneliese,alethea,thersa,tamiko,rufina,oliva,mozell,marylyn,kristian,kathyrn,kasandra,kandace,janae,domenica,debbra,dannielle,chun,arcelia,zenobia,sharen,sharee,lavinia,kacie,jackeline,huong,felisa,emelia,eleanora,cythia,cristin,claribel,anastacia,zulma,zandra,yoko,tenisha,susann,sherilyn,shay,shawanda,romana,mathilda,linsey,keiko,joana,isela,gretta,georgetta,eugenie,desirae,delora,corazon,antonina,anika,willene,tracee,tamatha,nichelle,mickie,maegan,luana,lanita,kelsie,edelmira,bree,afton,teodora,tamie,shena,linh,keli,kaci,danyelle,arlette,albertine,adelle,tiffiny,simona,nicolasa,nichol,nakisha,maira,loreen,kizzy,fallon,christene,bobbye,ying,vincenza,tanja,rubie,roni,queenie,margarett,kimberli,irmgard,idell,hilma,evelina,esta,emilee,dennise,dania,carie,risa,rikki,particia,masako,luvenia,loree,loni,lien,gigi,florencia,denita,billye,tomika,sharita,rana,nikole,neoma,margarite,madalyn,lucina,laila,kali,jenette,gabriele,evelyne,elenora,clementina,alejandrina,zulema,violette,vannessa,thresa,retta,patience,noella,nickie,jonell,chaya,camelia,bethel,anya,suzann,mila,lilla,laverna,keesha,kattie,georgene,eveline,estell,elizbeth,vivienne,vallie,trudie,stephane,magaly,madie,kenyetta,karren,janetta,hermine,drucilla,debbi,celestina,candie,britni,beckie,amina,zita,yolande,vivien,vernetta,trudi,pearle,patrina,ossie,nicolle,loyce,letty,katharina,joselyn,jonelle,jenell,iesha,heide,florinda,florentina,elodia,dorine,brunilda,brigid,ashli,ardella,twana,tarah,shavon,serina,rayna,ramonita,margurite,lucrecia,kourtney,kati,jesenia,crista,ayana,alica,alia,vinnie,suellen,romelia,rachell,olympia,michiko,kathaleen,jolie,jessi,janessa,hana,elease,carletta,britany,shona,salome,rosamond,regena,raina,ngoc,nelia,louvenia,lesia,latrina,laticia,larhonda,jina,jacki,emmy,deeann,coretta,arnetta,thalia,shanice,neta,mikki,micki,lonna,leana,lashunda,kiley,joye,jacqulyn,ignacia,hyun,hiroko,henriette,elayne,delinda,dahlia,coreen,consuela,conchita,babette,ayanna,anette,albertina,shawnee,shaneka,quiana,pamelia,merri,merlene,margit,kiesha,kiera,kaylene,jodee,jenise,erlene,emmie,dalila,daisey,casie,belia,babara,versie,vanesa,shelba,shawnda,nikia,naoma,marna,margeret,madaline,lawana,kindra,jutta,jazmine,janett,hannelore,glendora,gertrud,garnett,freeda,frederica,florance,flavia,carline,beverlee,anjanette,valda,tamala,shonna,sarina,oneida,merilyn,marleen,lurline,lenna,katherin,jeni,gracia,glady,farah,enola,dominque,devona,delana,cecila,caprice,alysha,alethia,vena,theresia,tawny,shakira,samara,sachiko,rachele,pamella,marni,mariel,maren,malisa,ligia,lera,latoria,larae,kimber,kathern,karey,jennefer,janeth,halina,fredia,delisa,debroah,ciera,angelika,andree,altha,vivan,terresa,tanna,sudie,signe,salena,ronni,rebbecca,myrtie,malika,maida,leonarda,kayleigh,ethyl,ellyn,dayle,cammie,brittni,birgit,avelina,asuncion,arianna,akiko,venice,tyesha,tonie,tiesha,takisha,steffanie,sindy,meghann,manda,macie,kellye,kellee,joslyn,inger,indira,glinda,glennis,fernanda,faustina,eneida,elicia,digna,dell,arletta,willia,tammara,tabetha,sherrell,sari,rebbeca,pauletta,natosha,nakita,mammie,kenisha,kazuko,kassie,earlean,daphine,corliss,clotilde,carolyne,bernetta,augustina,audrea,annis,annabell,tennille,tamica,selene,rosana,regenia,qiana,markita,macy,leeanne,laurine,jessenia,janita,georgine,genie,emiko,elvie,deandra,dagmar,corie,collen,cherish,romaine,porsha,pearlene,micheline,merna,margorie,margaretta,lore,jenine,hermina,fredericka,elke,drusilla,dorathy,dione,celena,brigida,allegra,tamekia,synthia,sook,slyvia,rosann,reatha,raye,marquetta,margart,ling,layla,kymberly,kiana,kayleen,katlyn,karmen,joella,emelda,eleni,detra,clemmie,cheryll,chantell,cathey,arnita,arla,angle,angelic,alyse,zofia,thomasine,tennie,sherly,sherley,sharyl,remedios,petrina,nickole,myung,myrle,mozella,louanne,lisha,latia,krysta,julienne,jeanene,jacqualine,isaura,gwenda,earleen,cleopatra,carlie,audie,antonietta,alise,verdell,tomoko,thao,talisha,shemika,savanna,santina,rosia,raeann,odilia,nana,minna,magan,lynelle,karma,joeann,ivana,inell,ilana,gudrun,dreama,crissy,chante,carmelina,arvilla,annamae,alvera,aleida,yanira,vanda,tianna,stefania,shira,nicol,nancie,monserrate,melynda,melany,lovella,laure,kacy,jacquelynn,hyon,gertha,eliana,christena,christeen,charise,caterina,carley,candyce,arlena,ammie,willette,vanita,tuyet,syreeta,penney,nyla,maryam,marya,magen,ludie,loma,livia,lanell,kimberlie,julee,donetta,diedra,denisha,deane,dawne,clarine,cherryl,bronwyn,alla,valery,tonda,sueann,soraya,shoshana,shela,sharleen,shanelle,nerissa,meridith,mellie,maye,maple,magaret,lili,leonila,leonie,leeanna,lavonia,lavera,kristel,kathey,kathe,jann,ilda,hildred,hildegarde,genia,fumiko,evelin,ermelinda,elly,dung,doloris,dionna,danae,berneice,annice,alix,verena,verdie,shawnna,shawana,shaunna,rozella,randee,ranae,milagro,lynell,luise,loida,lisbeth,karleen,junita,jona,isis,hyacinth,hedy,gwenn,ethelene,erline,donya,domonique,delicia,dannette,cicely,branda,blythe,bethann,ashlyn,annalee,alline,yuko,vella,trang,towanda,tesha,sherlyn,narcisa,miguelina,meri,maybell,marlana,marguerita,madlyn,lory,loriann,leonore,leighann,laurice,latesha,laronda,katrice,kasie,kaley,jadwiga,glennie,gearldine,francina,epifania,dyan,dorie,diedre,denese,demetrice,delena,cristie,cleora,catarina,carisa,barbera,almeta,trula,tereasa,solange,sheilah,shavonne,sanora,rochell,mathilde,margareta,maia,lynsey,lawanna,launa,kena,keena,katia,glynda,gaylene,elvina,elanor,danuta,danika,cristen,cordie,coletta,clarita,carmon,brynn,azucena,aundrea,angele,verlie,verlene,tamesha,silvana,sebrina,samira,reda,raylene,penni,norah,noma,mireille,melissia,maryalice,laraine,kimbery,karyl,karine,jolanda,johana,jesusa,jaleesa,jacquelyne,iluminada,hilaria,hanh,gennie,francie,floretta,exie,edda,drema,delpha,barbar,assunta,ardell,annalisa,alisia,yukiko,yolando,wonda,waltraud,veta,temeka,tameika,shirleen,shenita,piedad,ozella,mirtha,marilu,kimiko,juliane,jenice,janay,jacquiline,hilde,elois,echo,devorah,chau,brinda,betsey,arminda,aracelis,apryl,annett,alishia,veola,usha,toshiko,theola,tashia,talitha,shery,renetta,reiko,rasheeda,obdulia,mika,melaine,meggan,marlen,marget,marceline,mana,magdalen,librada,lezlie,latashia,lasandra,kelle,isidra,inocencia,gwyn,francoise,erminia,erinn,dimple,devora,criselda,armanda,arie,ariane,angelena,aliza,adriene,adaline,xochitl,twanna,tomiko,tamisha,taisha,susy,rutha,rhona,noriko,natashia,merrie,marinda,mariko,margert,loris,lizzette,leisha,kaila,joannie,jerrica,jene,jannet,janee,jacinda,herta,elenore,doretta,delaine,daniell,claudie,britta,apolonia,amberly,alease,yuri,waneta,tomi,sharri,sandie,roselle,reynalda,raguel,phylicia,patria,olimpia,odelia,mitzie,minda,mignon,mica,mendy,marivel,maile,lynetta,lavette,lauryn,latrisha,lakiesha,kiersten,kary,josphine,jolyn,jetta,janise,jacquie,ivelisse,glynis,gianna,gaynelle,danyell,danille,dacia,coralee,cher,ceola,arianne,aleshia,yung,williemae,trinh,thora,sherika,shemeka,shaunda,roseline,ricki,melda,mallie,lavonna,latina,laquanda,lala,lachelle,klara,kandis,johna,jeanmarie,jaye,grayce,gertude,emerita,ebonie,clorinda,ching,chery,carola,breann,blossom,bernardine,becki,arletha,argelia,alita,yulanda,yessenia,tobi,tasia,sylvie,shirl,shirely,shella,shantelle,sacha,rebecka,providencia,paulene,misha,miki,marline,marica,lorita,latoyia,lasonya,kerstin,kenda,keitha,kathrin,jaymie,gricelda,ginette,eryn,elina,elfrieda,danyel,cheree,chanelle,barrie,aurore,annamaria,alleen,ailene,aide,yasmine,vashti,treasa,tiffaney,sheryll,sharie,shanae,raisa,neda,mitsuko,mirella,milda,maryanna,maragret,mabelle,luetta,lorina,letisha,latarsha,lanelle,lajuana,krissy,karly,karena,jessika,jerica,jeanelle,jalisa,jacelyn,izola,euna,etha,domitila,dominica,daina,creola,carli,camie,brittny,ashanti,anisha,aleen,adah,yasuko,valrie,tona,tinisha,terisa,taneka,simonne,shalanda,serita,ressie,refugia,olene,margherita,mandie,maire,lyndia,luci,lorriane,loreta,leonia,lavona,lashawnda,lakia,kyoko,krystina,krysten,kenia,kelsi,jeanice,isobel,georgiann,genny,felicidad,eilene,deloise,deedee,conception,clora,cherilyn,calandra,armandina,anisa,tiera,theressa,stephania,sima,shyla,shonta,shera,shaquita,shala,rossana,nohemi,nery,moriah,melita,melida,melani,marylynn,marisha,mariette,malorie,madelene,ludivina,loria,lorette,loralee,lianne,lavenia,laurinda,lashon,kimi,keila,katelynn,jone,joane,jayna,janella,hertha,francene,elinore,despina,delsie,deedra,clemencia,carolin,bulah,brittanie,blondell,bibi,beaulah,beata,annita,agripina,virgen,valene,twanda,tommye,tarra,tari,tammera,shakia,sadye,ruthanne,rochel,rivka,pura,nenita,natisha,ming,merrilee,melodee,marvis,lucilla,leena,laveta,larita,lanie,keren,ileen,georgeann,genna,frida,eufemia,emely,edyth,deonna,deadra,darlena,chanell,cathern,cassondra,cassaundra,bernarda,berna,arlinda,anamaria,vertie,valeri,torri,stasia,sherise,sherill,sanda,ruthe,rosy,robbi,ranee,quyen,pearly,palmira,onita,nisha,niesha,nida,merlyn,mayola,marylouise,marth,margene,madelaine,londa,leontine,leoma,leia,lauralee,lanora,lakita,kiyoko,keturah,katelin,kareen,jonie,johnette,jenee,jeanett,izetta,hiedi,heike,hassie,giuseppina,georgann,fidela,fernande,elwanda,ellamae,eliz,dusti,dotty,cyndy,coralie,celesta,alverta,xenia,wava,vanetta,torrie,tashina,tandy,tambra,tama,stepanie,shila,shaunta,sharan,shaniqua,shae,setsuko,serafina,sandee,rosamaria,priscila,olinda,nadene,muoi,michelina,mercedez,maryrose,marcene,magali,mafalda,lannie,kayce,karoline,kamilah,kamala,justa,joline,jennine,jacquetta,iraida,georgeanna,franchesca,emeline,elane,ehtel,earlie,dulcie,dalene,classie,chere,charis,caroyln,carmina,carita,bethanie,ayako,arica,alysa,alessandra,akilah,adrien,zetta,youlanda,yelena,yahaira,xuan,wendolyn,tijuana,terina,teresia,suzi,sherell,shavonda,shaunte,sharda,shakita,sena,ryann,rubi,riva,reginia,rachal,parthenia,pamula,monnie,monet,michaele,melia,malka,maisha,lisandra,lekisha,lean,lakendra,krystin,kortney,kizzie,kittie,kera,kendal,kemberly,kanisha,julene,jule,johanne,jamee,halley,gidget,fredricka,fleta,fatimah,eusebia,elza,eleonore,dorthey,doria,donella,dinorah,delorse,claretha,christinia,charlyn,bong,belkis,azzie,andera,aiko,adena,yajaira,vania,ulrike,toshia,tifany,stefany,shizue,shenika,shawanna,sharolyn,sharilyn,shaquana,shantay,rozanne,roselee,remona,reanna,raelene,phung,petronila,natacha,nancey,myrl,miyoko,miesha,merideth,marvella,marquitta,marhta,marchelle,lizeth,libbie,lahoma,ladawn,kina,katheleen,katharyn,karisa,kaleigh,junie,julieann,johnsie,janean,jaimee,jackqueline,hisako,herma,helaine,gwyneth,gita,eustolia,emelina,elin,edris,donnette,donnetta,dierdre,denae,darcel,clarisa,cinderella,chia,charlesetta,charita,celsa,cassy,cassi,carlee,bruna,brittaney,brande,billi,antonetta,angla,angelyn,analisa,alane,wenona,wendie,veronique,vannesa,tobie,tempie,sumiko,sulema,somer,sheba,sharice,shanel,shalon,rosio,roselia,renay,rema,reena,ozie,oretha,oralee,ngan,nakesha,milly,marybelle,margrett,maragaret,manie,lurlene,lillia,lieselotte,lavelle,lashaunda,lakeesha,kaycee,kalyn,joya,joette,jenae,janiece,illa,grisel,glayds,genevie,gala,fredda,eleonor,debera,deandrea,corrinne,cordia,contessa,colene,cleotilde,chantay,cecille,beatris,azalee,arlean,ardath,anjelica,anja,alfredia,aleisha,zada,yuonne,xiao,willodean,vennie,vanna,tyisha,tova,torie,tonisha,tilda,tien,sirena,sherril,shanti,shan,senaida,samella,robbyn,renda,reita,phebe,paulita,nobuko,nguyet,neomi,mikaela,melania,maximina,marg,maisie,lynna,lilli,lashaun,lakenya,lael,kirstie,kathline,kasha,karlyn,karima,jovan,josefine,jennell,jacqui,jackelyn,hien,grazyna,florrie,floria,eleonora,dwana,dorla,delmy,deja,dede,dann,crysta,clelia,claris,chieko,cherlyn,cherelle,charmain,chara,cammy,arnette,ardelle,annika,amiee,amee,allena,yvone,yuki,yoshie,yevette,yael,willetta,voncile,venetta,tula,tonette,timika,temika,telma,teisha,taren,stacee,shawnta,saturnina,ricarda,pasty,onie,nubia,marielle,mariella,marianela,mardell,luanna,loise,lisabeth,lindsy,lilliana,lilliam,lelah,leigha,leanora,kristeen,khalilah,keeley,kandra,junko,joaquina,jerlene,jani,jamika,hsiu,hermila,genevive,evia,eugena,emmaline,elfreda,elene,donette,delcie,deeanna,darcey,clarinda,cira,chae,celinda,catheryn,casimira,carmelia,camellia,breana,bobette,bernardina,bebe,basilia,arlyne,amal,alayna,zonia,zenia,yuriko,yaeko,wynell,willena,vernia,tora,terrilyn,terica,tenesha,tawna,tajuana,taina,stephnie,sona,sina,shondra,shizuko,sherlene,sherice,sharika,rossie,rosena,rima,rheba,renna,natalya,nancee,melodi,meda,matha,marketta,maricruz,marcelene,malvina,luba,louetta,leida,lecia,lauran,lashawna,laine,khadijah,katerine,kasi,kallie,julietta,jesusita,jestine,jessia,jeffie,janyce,isadora,georgianne,fidelia,evita,eura,eulah,estefana,elsy,eladia,dodie,denisse,deloras,delila,daysi,crystle,concha,claretta,charlsie,charlena,carylon,bettyann,asley,ashlea,amira,agueda,agnus,yuette,vinita,victorina,tynisha,treena,toccara,tish,thomasena,tegan,soila,shenna,sharmaine,shantae,shandi,saran,sarai,sana,rosette,rolande,regine,otelia,olevia,nicholle,necole,naida,myrta,myesha,mitsue,minta,mertie,margy,mahalia,madalene,loura,lorean,lesha,leonida,lenita,lavone,lashell,lashandra,lamonica,kimbra,katherina,karry,kanesha,jong,jeneva,jaquelyn,gilma,ghislaine,gertrudis,fransisca,fermina,ettie,etsuko,ellan,elidia,edra,dorethea,doreatha,denyse,deetta,daine,cyrstal,corrin,cayla,carlita,camila,burma,bula,buena,barabara,avril,alaine,zana,wilhemina,wanetta,verline,vasiliki,tonita,tisa,teofila,tayna,taunya,tandra,takako,sunni,suanne,sixta,sharell,seema,rosenda,robena,raymonde,pamila,ozell,neida,mistie,micha,merissa,maurita,maryln,maryetta,marcell,malena,makeda,lovetta,lourie,lorrine,lorilee,laurena,lashay,larraine,laree,lacresha,kristle,keva,keira,karole,joie,jinny,jeannetta,jama,heidy,gilberte,gema,faviola,evelynn,enda,elli,ellena,divina,dagny,collene,codi,cindie,chassidy,chasidy,catrice,catherina,cassey,caroll,carlena,candra,calista,bryanna,britteny,beula,bari,audrie,audria,ardelia,annelle,angila,alona,allyn".split(","),surnames:"smith,johnson,williams,jones,brown,davis,miller,wilson,moore,taylor,anderson,jackson,white,harris,martin,thompson,garcia,martinez,robinson,clark,rodriguez,lewis,lee,walker,hall,allen,young,hernandez,king,wright,lopez,hill,green,adams,baker,gonzalez,nelson,carter,mitchell,perez,roberts,turner,phillips,campbell,parker,evans,edwards,collins,stewart,sanchez,morris,rogers,reed,cook,morgan,bell,murphy,bailey,rivera,cooper,richardson,cox,howard,ward,torres,peterson,gray,ramirez,watson,brooks,sanders,price,bennett,wood,barnes,ross,henderson,coleman,jenkins,perry,powell,long,patterson,hughes,flores,washington,butler,simmons,foster,gonzales,bryant,alexander,griffin,diaz,hayes,myers,ford,hamilton,graham,sullivan,wallace,woods,cole,west,owens,reynolds,fisher,ellis,harrison,gibson,mcdonald,cruz,marshall,ortiz,gomez,murray,freeman,wells,webb,simpson,stevens,tucker,porter,hicks,crawford,boyd,mason,morales,kennedy,warren,dixon,ramos,reyes,burns,gordon,shaw,holmes,rice,robertson,hunt,black,daniels,palmer,mills,nichols,grant,knight,ferguson,stone,hawkins,dunn,perkins,hudson,spencer,gardner,stephens,payne,pierce,berry,matthews,arnold,wagner,willis,watkins,olson,carroll,duncan,snyder,hart,cunningham,lane,andrews,ruiz,harper,fox,riley,armstrong,carpenter,weaver,greene,elliott,chavez,sims,peters,kelley,franklin,lawson,fields,gutierrez,schmidt,carr,vasquez,castillo,wheeler,chapman,montgomery,richards,williamson,johnston,banks,meyer,bishop,mccoy,howell,alvarez,morrison,hansen,fernandez,garza,harvey,burton,nguyen,jacobs,reid,fuller,lynch,garrett,romero,welch,larson,frazier,burke,hanson,mendoza,moreno,bowman,medina,fowler,brewer,hoffman,carlson,silva,pearson,holland,fleming,jensen,vargas,byrd,davidson,hopkins,herrera,wade,soto,walters,neal,caldwell,lowe,jennings,barnett,graves,jimenez,horton,shelton,barrett,obrien,castro,sutton,mckinney,lucas,miles,rodriquez,chambers,holt,lambert,fletcher,watts,bates,hale,rhodes,pena,beck,newman,haynes,mcdaniel,mendez,bush,vaughn,parks,dawson,santiago,norris,hardy,steele,curry,powers,schultz,barker,guzman,page,munoz,ball,keller,chandler,weber,walsh,lyons,ramsey,wolfe,schneider,mullins,benson,sharp,bowen,barber,cummings,hines,baldwin,griffith,valdez,hubbard,salazar,reeves,warner,stevenson,burgess,santos,tate,cross,garner,mann,mack,moss,thornton,mcgee,farmer,delgado,aguilar,vega,glover,manning,cohen,harmon,rodgers,robbins,newton,blair,higgins,ingram,reese,cannon,strickland,townsend,potter,goodwin,walton,rowe,hampton,ortega,patton,swanson,goodman,maldonado,yates,becker,erickson,hodges,rios,conner,adkins,webster,malone,hammond,flowers,cobb,moody,quinn,pope,osborne,mccarthy,guerrero,estrada,sandoval,gibbs,gross,fitzgerald,stokes,doyle,saunders,wise,colon,gill,alvarado,greer,padilla,waters,nunez,ballard,schwartz,mcbride,houston,christensen,klein,pratt,briggs,parsons,mclaughlin,zimmerman,buchanan,moran,copeland,pittman,brady,mccormick,holloway,brock,poole,logan,bass,marsh,drake,wong,jefferson,morton,abbott,sparks,norton,huff,massey,figueroa,carson,bowers,roberson,barton,tran,lamb,harrington,boone,cortez,clarke,mathis,singleton,wilkins,cain,underwood,hogan,mckenzie,collier,luna,phelps,mcguire,bridges,wilkerson,nash,summers,atkins,wilcox,pitts,conley,marquez,burnett,cochran,chase,davenport,hood,gates,ayala,sawyer,vazquez,dickerson,hodge,acosta,flynn,espinoza,nicholson,monroe,wolf,morrow,whitaker,oconnor,skinner,ware,molina,kirby,huffman,gilmore,dominguez,oneal,lang,combs,kramer,hancock,gallagher,gaines,shaffer,wiggins,mathews,mcclain,fischer,wall,melton,hensley,bond,dyer,grimes,contreras,wyatt,baxter,snow,mosley,shepherd,larsen,hoover,beasley,petersen,whitehead,meyers,garrison,shields,horn,savage,olsen,schroeder,hartman,woodard,mueller,kemp,deleon,booth,patel,calhoun,wiley,eaton,cline,navarro,harrell,humphrey,parrish,duran,hutchinson,hess,dorsey,bullock,robles,beard,dalton,avila,rich,blackwell,johns,blankenship,trevino,salinas,campos,pruitt,callahan,montoya,hardin,guerra,mcdowell,stafford,gallegos,henson,wilkinson,booker,merritt,atkinson,orr,decker,hobbs,tanner,knox,pacheco,stephenson,glass,rojas,serrano,marks,hickman,sweeney,strong,mcclure,conway,roth,maynard,farrell,lowery,hurst,nixon,weiss,trujillo,ellison,sloan,juarez,winters,mclean,boyer,villarreal,mccall,gentry,carrillo,ayers,lara,sexton,pace,hull,leblanc,browning,velasquez,leach,chang,sellers,herring,noble,foley,bartlett,mercado,landry,durham,walls,barr,mckee,bauer,rivers,bradshaw,pugh,velez,rush,estes,dodson,morse,sheppard,weeks,camacho,bean,barron,livingston,middleton,spears,branch,blevins,chen,kerr,mcconnell,hatfield,harding,solis,frost,giles,blackburn,pennington,woodward,finley,mcintosh,koch,mccullough,blanchard,rivas,brennan,mejia,kane,benton,buckley,valentine,maddox,russo,mcknight,buck,moon,mcmillan,crosby,berg,dotson,mays,roach,chan,richmond,meadows,faulkner,oneill,knapp,kline,ochoa,jacobson,gay,hendricks,horne,shepard,hebert,cardenas,mcintyre,waller,holman,donaldson,cantu,morin,gillespie,fuentes,tillman,bentley,peck,key,salas,rollins,gamble,dickson,santana,cabrera,cervantes,howe,hinton,hurley,spence,zamora,yang,mcneil,suarez,petty,gould,mcfarland,sampson,carver,bray,macdonald,stout,hester,melendez,dillon,farley,hopper,galloway,potts,joyner,stein,aguirre,osborn,mercer,bender,franco,rowland,sykes,pickett,sears,mayo,dunlap,hayden,wilder,mckay,coffey,mccarty,ewing,cooley,vaughan,bonner,cotton,holder,stark,ferrell,cantrell,fulton,lott,calderon,pollard,hooper,burch,mullen,fry,riddle,levy,duke,odonnell,britt,daugherty,berger,dillard,alston,frye,riggs,chaney,odom,duffy,fitzpatrick,valenzuela,mayer,alford,mcpherson,acevedo,barrera,cote,reilly,compton,mooney,mcgowan,craft,clemons,wynn,nielsen,baird,stanton,snider,rosales,bright,witt,hays,holden,rutledge,kinney,clements,castaneda,slater,hahn,burks,delaney,pate,lancaster,sharpe,whitfield,talley,macias,burris,ratliff,mccray,madden,kaufman,beach,goff,cash,bolton,mcfadden,levine,byers,kirkland,kidd,workman,carney,mcleod,holcomb,finch,sosa,haney,franks,sargent,nieves,downs,rasmussen,bird,hewitt,foreman,valencia,oneil,delacruz,vinson,dejesus,hyde,forbes,gilliam,guthrie,wooten,huber,barlow,boyle,mcmahon,buckner,rocha,puckett,langley,knowles,cooke,velazquez,whitley,vang,shea,rouse,hartley,mayfield,elder,rankin,hanna,cowan,lucero,arroyo,slaughter,haas,oconnell,minor,boucher,archer,boggs,dougherty,andersen,newell,crowe,wang,friedman,bland,swain,holley,pearce,childs,yarbrough,galvan,proctor,meeks,lozano,mora,rangel,bacon,villanueva,schaefer,rosado,helms,boyce,goss,stinson,ibarra,hutchins,covington,crowley,hatcher,mackey,bunch,womack,polk,dodd,childress,childers,villa,springer,mahoney,dailey,belcher,lockhart,griggs,costa,brandt,walden,moser,tatum,mccann,akers,lutz,pryor,orozco,mcallister,lugo,davies,shoemaker,rutherford,newsome,magee,chamberlain,blanton,simms,godfrey,flanagan,crum,cordova,escobar,downing,sinclair,donahue,krueger,mcginnis,gore,farris,webber,corbett,andrade,starr,lyon,yoder,hastings,mcgrath,spivey,krause,harden,crabtree,kirkpatrick,arrington,ritter,mcghee,bolden,maloney,gagnon,dunbar,ponce,pike,mayes,beatty,mobley,kimball,butts,montes,eldridge,braun,hamm,gibbons,moyer,manley,herron,plummer,elmore,cramer,rucker,pierson,fontenot,rubio,goldstein,elkins,wills,novak,hickey,worley,gorman,katz,dickinson,broussard,woodruff,crow,britton,nance,lehman,bingham,zuniga,whaley,shafer,coffman,steward,delarosa,neely,mata,davila,mccabe,kessler,hinkle,welsh,pagan,goldberg,goins,crouch,cuevas,quinones,mcdermott,hendrickson,samuels,denton,bergeron,ivey,locke,haines,snell,hoskins,byrne,arias,corbin,beltran,chappell,downey,dooley,tuttle,couch,payton,mcelroy,crockett,groves,cartwright,dickey,mcgill,dubois,muniz,tolbert,dempsey,cisneros,sewell,latham,vigil,tapia,rainey,norwood,stroud,meade,tipton,kuhn,hilliard,bonilla,teague,gunn,greenwood,correa,reece,pineda,phipps,frey,kaiser,ames,gunter,schmitt,milligan,espinosa,bowden,vickers,lowry,pritchard,costello,piper,mcclellan,lovell,sheehan,hatch,dobson,singh,jeffries,hollingsworth,sorensen,meza,fink,donnelly,burrell,tomlinson,colbert,billings,ritchie,helton,sutherland,peoples,mcqueen,thomason,givens,crocker,vogel,robison,dunham,coker,swartz,keys,ladner,richter,hargrove,edmonds,brantley,albright,murdock,boswell,muller,quintero,padgett,kenney,daly,connolly,inman,quintana,lund,barnard,villegas,simons,huggins,tidwell,sanderson,bullard,mcclendon,duarte,draper,marrero,dwyer,abrams,stover,goode,fraser,crews,bernal,godwin,conklin,mcneal,baca,esparza,crowder,bower,brewster,mcneill,rodrigues,leal,coates,raines,mccain,mccord,miner,holbrook,swift,dukes,carlisle,aldridge,ackerman,starks,ricks,holliday,ferris,hairston,sheffield,lange,fountain,doss,betts,kaplan,carmichael,bloom,ruffin,penn,kern,bowles,sizemore,larkin,dupree,seals,metcalf,hutchison,henley,farr,mccauley,hankins,gustafson,curran,waddell,ramey,cates,pollock,cummins,messer,heller,funk,cornett,palacios,galindo,cano,hathaway,pham,enriquez,salgado,pelletier,painter,wiseman,blount,feliciano,houser,doherty,mead,mcgraw,swan,capps,blanco,blackmon,thomson,mcmanus,burkett,gleason,dickens,cormier,voss,rushing,rosenberg,hurd,dumas,benitez,arellano,marin,caudill,bragg,jaramillo,huerta,gipson,colvin,biggs,vela,platt,cassidy,tompkins,mccollum,dolan,daley,crump,sneed,kilgore,grove,grimm,davison,brunson,prater,marcum,devine,dodge,stratton,rosas,choi,tripp,ledbetter,hightower,feldman,epps,yeager,posey,scruggs,cope,stubbs,richey,overton,trotter,sprague,cordero,butcher,stiles,burgos,woodson,horner,bassett,purcell,haskins,akins,ziegler,spaulding,hadley,grubbs,sumner,murillo,zavala,shook,lockwood,driscoll,dahl,thorpe,redmond,putnam,mcwilliams,mcrae,romano,joiner,sadler,hedrick,hager,hagen,fitch,coulter,thacker,mansfield,langston,guidry,ferreira,corley,conn,rossi,lackey,baez,saenz,mcnamara,mcmullen,mckenna,mcdonough,link,engel,browne,roper,peacock,eubanks,drummond,stringer,pritchett,parham,mims,landers,grayson,schafer,egan,timmons,ohara,keen,hamlin,finn,cortes,mcnair,nadeau,moseley,michaud,rosen,oakes,kurtz,jeffers,calloway,beal,bautista,winn,suggs,stern,stapleton,lyles,laird,montano,dawkins,hagan,goldman,bryson,barajas,lovett,segura,metz,lockett,langford,hinson,eastman,hooks,smallwood,shapiro,crowell,whalen,triplett,chatman,aldrich,cahill,youngblood,ybarra,stallings,sheets,reeder,connelly,bateman,abernathy,winkler,wilkes,masters,hackett,granger,gillis,schmitz,sapp,napier,souza,lanier,gomes,weir,otero,ledford,burroughs,babcock,ventura,siegel,dugan,bledsoe,atwood,wray,varner,spangler,anaya,staley,kraft,fournier,belanger,wolff,thorne,bynum,burnette,boykin,swenson,purvis,pina,khan,duvall,darby,xiong,kauffman,healy,engle,benoit,valle,steiner,spicer,shaver,randle,lundy,chin,calvert,staton,neff,kearney,darden,oakley,medeiros,mccracken,crenshaw,perdue,dill,whittaker,tobin,washburn,hogue,goodrich,easley,bravo,dennison,shipley,kerns,jorgensen,crain,villalobos,maurer,longoria,keene,coon,witherspoon,staples,pettit,kincaid,eason,madrid,echols,lusk,stahl,currie,thayer,shultz,mcnally,seay,maher,gagne,barrow,nava,moreland,honeycutt,hearn,diggs,caron,whitten,westbrook,stovall,ragland,munson,meier,looney,kimble,jolly,hobson,goddard,culver,burr,presley,negron,connell,tovar,huddleston,ashby,salter,root,pendleton,oleary,nickerson,myrick,judd,jacobsen,bain,adair,starnes,matos,busby,herndon,hanley,bellamy,doty,bartley,yazzie,rowell,parson,gifford,cullen,christiansen,benavides,barnhart,talbot,mock,crandall,connors,bonds,whitt,gage,bergman,arredondo,addison,lujan,dowdy,jernigan,huynh,bouchard,dutton,rhoades,ouellette,kiser,herrington,hare,blackman,babb,allred,rudd,paulson,ogden,koenig,geiger,begay,parra,lassiter,hawk,esposito,waldron,ransom,prather,chacon,vick,sands,roark,parr,mayberry,greenberg,coley,bruner,whitman,skaggs,shipman,leary,hutton,romo,medrano,ladd,kruse,askew,schulz,alfaro,tabor,mohr,gallo,bermudez,pereira,bliss,reaves,flint,comer,woodall,naquin,guevara,delong,carrier,pickens,tilley,schaffer,knutson,fenton,doran,vogt,vann,prescott,mclain,landis,corcoran,zapata,hyatt,hemphill,faulk,dove,boudreaux,aragon,whitlock,trejo,tackett,shearer,saldana,hanks,mckinnon,koehler,bourgeois,keyes,goodson,foote,lunsford,goldsmith,flood,winslow,sams,reagan,mccloud,hough,esquivel,naylor,loomis,coronado,ludwig,braswell,bearden,huang,fagan,ezell,edmondson,cronin,nunn,lemon,guillory,grier,dubose,traylor,ryder,dobbins,coyle,aponte,whitmore,smalls,rowan,malloy,cardona,braxton,borden,humphries,carrasco,ruff,metzger,huntley,hinojosa,finney,madsen,ernst,dozier,burkhart,bowser,peralta,daigle,whittington,sorenson,saucedo,roche,redding,fugate,avalos,waite,lind,huston,hawthorne,hamby,boyles,boles,regan,faust,crook,beam,barger,hinds,gallardo,willoughby,willingham,eckert,busch,zepeda,worthington,tinsley,hoff,hawley,carmona,varela,rector,newcomb,kinsey,dube,whatley,ragsdale,bernstein,becerra,yost,mattson,felder,cheek,handy,grossman,gauthier,escobedo,braden,beckman,mott,hillman,flaherty,dykes,stockton,stearns,lofton,coats,cavazos,beavers,barrios,tang,mosher,cardwell,coles,burnham,weller,lemons,beebe,aguilera,parnell,harman,couture,alley,schumacher,redd,dobbs,blum,blalock,merchant,ennis,denson,cottrell,brannon,bagley,aviles,watt,sousa,rosenthal,rooney,dietz,blank,paquette,mcclelland,duff,velasco,lentz,grubb,burrows,barbour,ulrich,shockley,rader,beyer,mixon,layton,altman,weathers,stoner,squires,shipp,priest,lipscomb,cutler,caballero,zimmer,willett,thurston,storey,medley,epperson,shah,mcmillian,baggett,torrez,hirsch,dent,poirier,peachey,farrar,creech,barth,trimble,dupre,albrecht,sample,lawler,crisp,conroy,wetzel,nesbitt,murry,jameson,wilhelm,patten,minton,matson,kimbrough,guinn,croft,toth,pulliam,nugent,newby,littlejohn,dias,canales,bernier,baron,singletary,renteria,pruett,mchugh,mabry,landrum,brower,stoddard,cagle,stjohn,scales,kohler,kellogg,hopson,gant,tharp,gann,zeigler,pringle,hammons,fairchild,deaton,chavis,carnes,rowley,matlock,kearns,irizarry,carrington,starkey,lopes,jarrell,craven,baum,littlefield,linn,humphreys,etheridge,cuellar,chastain,bundy,speer,skelton,quiroz,pyle,portillo,ponder,moulton,machado,killian,hutson,hitchcock,dowling,cloud,burdick,spann,pedersen,levin,leggett,hayward,dietrich,beaulieu,barksdale,wakefield,snowden,briscoe,bowie,berman,ogle,mcgregor,laughlin,helm,burden,wheatley,schreiber,pressley,parris,alaniz,agee,swann,snodgrass,schuster,radford,monk,mattingly,harp,girard,cheney,yancey,wagoner,ridley,lombardo,hudgins,gaskins,duckworth,coburn,willey,prado,newberry,magana,hammonds,elam,whipple,slade,serna,ojeda,liles,dorman,diehl,upton,reardon,michaels,goetz,eller,bauman,baer,layne,hummel,brenner,amaya,adamson,ornelas,dowell,cloutier,castellanos,wellman,saylor,orourke,moya,montalvo,kilpatrick,durbin,shell,oldham,kang,garvin,foss,branham,bartholomew,templeton,maguire,holton,rider,monahan,mccormack,beaty,anders,streeter,nieto,nielson,moffett,lankford,keating,heck,gatlin,delatorre,callaway,adcock,worrell,unger,robinette,nowak,jeter,brunner,steen,parrott,overstreet,nobles,montanez,clevenger,brinkley,trahan,quarles,pickering,pederson,jansen,grantham,gilchrist,crespo,aiken,schell,schaeffer,lorenz,leyva,harms,dyson,wallis,pease,leavitt,cheng,cavanaugh,batts,warden,seaman,rockwell,quezada,paxton,linder,houck,fontaine,durant,caruso,adler,pimentel,mize,lytle,cleary,cason,acker,switzer,isaacs,higginbotham,waterman,vandyke,stamper,sisk,shuler,riddick,mcmahan,levesque,hatton,bronson,bollinger,arnett,okeefe,gerber,gannon,farnsworth,baughman,silverman,satterfield,mccrary,kowalski,grigsby,greco,cabral,trout,rinehart,mahon,linton,gooden,curley,baugh,wyman,weiner,schwab,schuler,morrissey,mahan,bunn,thrasher,spear,waggoner,qualls,purdy,mcwhorter,mauldin,gilman,perryman,newsom,menard,martino,graf,billingsley,artis,simpkins,salisbury,quintanilla,gilliland,fraley,foust,crouse,scarborough,grissom,fultz,marlow,markham,madrigal,lawton,barfield,whiting,varney,schwarz,gooch,arce,wheat,truong,poulin,hurtado,selby,gaither,fortner,culpepper,coughlin,brinson,boudreau,bales,stepp,holm,schilling,morrell,kahn,heaton,gamez,causey,turpin,shanks,schrader,meek,isom,hardison,carranza,yanez,scroggins,schofield,runyon,ratcliff,murrell,moeller,irby,currier,butterfield,ralston,pullen,pinson,estep,carbone,hawks,ellington,casillas,spurlock,sikes,motley,mccartney,kruger,isbell,houle,burk,tomlin,quigley,neumann,lovelace,fennell,cheatham,bustamante,skidmore,hidalgo,forman,culp,bowens,betancourt,aquino,robb,milner,martel,gresham,wiles,ricketts,dowd,collazo,bostic,blakely,sherrod,kenyon,gandy,ebert,deloach,allard,sauer,robins,olivares,gillette,chestnut,bourque,paine,hite,hauser,devore,crawley,chapa,talbert,poindexter,meador,mcduffie,mattox,kraus,harkins,choate,wren,sledge,sanborn,kinder,geary,cornwell,barclay,abney,seward,rhoads,howland,fortier,benner,vines,tubbs,troutman,rapp,mccurdy,deluca,westmoreland,havens,guajardo,clary,seal,meehan,herzog,guillen,ashcraft,waugh,renner,milam,elrod,churchill,breaux,bolin,asher,windham,tirado,pemberton,nolen,noland,knott,emmons,cornish,christenson,brownlee,barbee,waldrop,pitt,olvera,lombardi,gruber,gaffney,eggleston,banda,archuleta,slone,prewitt,pfeiffer,nettles,mena,mcadams,henning,gardiner,cromwell,chisholm,burleson,vest,oglesby,mccarter,lumpkin,wofford,vanhorn,thorn,teel,swafford,stclair,stanfield,ocampo,herrmann,hannon,arsenault,roush,mcalister,hiatt,gunderson,forsythe,duggan,delvalle,cintron,wilks,weinstein,uribe,rizzo,noyes,mclendon,gurley,bethea,winstead,maples,guyton,giordano,alderman,valdes,polanco,pappas,lively,grogan,griffiths,bobo,arevalo,whitson,sowell,rendon,fernandes,farrow,benavidez,ayres,alicea,stump,smalley,seitz,schulte,gilley,gallant,canfield,wolford,omalley,mcnutt,mcnulty,mcgovern,hardman,harbin,cowart,chavarria,brink,beckett,bagwell,armstead,anglin,abreu,reynoso,krebs,jett,hoffmann,greenfield,forte,burney,broome,sisson,trammell,partridge,mace,lomax,lemieux,gossett,frantz,fogle,cooney,broughton,pence,paulsen,muncy,mcarthur,hollins,beauchamp,withers,osorio,mulligan,hoyle,dockery,cockrell,begley,amador,roby,rains,lindquist,gentile,everhart,bohannon,wylie,sommers,purnell,fortin,dunning,breeden,vail,phelan,phan,marx,cosby,colburn,boling,biddle,ledesma,gaddis,denney,chow,bueno,berrios,wicker,tolliver,thibodeaux,nagle,lavoie,fisk,crist,barbosa,reedy,locklear,kolb,himes,behrens,beckwith,weems,wahl,shorter,shackelford,rees,muse,cerda,valadez,thibodeau,saavedra,ridgeway,reiter,mchenry,majors,lachance,keaton,ferrara,clemens,blocker,applegate,needham,mojica,kuykendall,hamel,escamilla,doughty,burchett,ainsworth,vidal,upchurch,thigpen,strauss,spruill,sowers,riggins,ricker,mccombs,harlow,buffington,sotelo,olivas,negrete,morey,macon,logsdon,lapointe,bigelow,bello,westfall,stubblefield,lindley,hein,hawes,farrington,breen,birch,wilde,steed,sepulveda,reinhardt,proffitt,minter,messina,mcnabb,maier,keeler,gamboa,donohue,basham,shinn,crooks,cota,borders,bills,bachman,tisdale,tavares,schmid,pickard,gulley,fonseca,delossantos,condon,batista,wicks,wadsworth,martell,littleton,ison,haag,folsom,brumfield,broyles,brito,mireles,mcdonnell,leclair,hamblin,gough,fanning,binder,winfield,whitworth,soriano,palumbo,newkirk,mangum,hutcherson,comstock,carlin,beall,bair,wendt,watters,walling,putman,otoole,morley,mares,lemus,keener,hundley,dial,damico,billups,strother,mcfarlane,lamm,eaves,crutcher,caraballo,canty,atwell,taft,siler,rust,rawls,rawlings,prieto,mcneely,mcafee,hulsey,hackney,galvez,escalante,delagarza,crider,bandy,wilbanks,stowe,steinberg,renfro,masterson,massie,lanham,haskell,hamrick,dehart,burdette,branson,bourne,babin,aleman,worthy,tibbs,smoot,slack,paradis,mull,luce,houghton,gantt,furman,danner,christianson,burge,ashford,arndt,almeida,stallworth,shade,searcy,sager,noonan,mclemore,mcintire,maxey,lavigne,jobe,ferrer,falk,coffin,byrnes,aranda,apodaca,stamps,rounds,peek,olmstead,lewandowski,kaminski,dunaway,bruns,brackett,amato,reich,mcclung,lacroix,koontz,herrick,hardesty,flanders,cousins,cato,cade,vickery,shank,nagel,dupuis,croteau,cotter,stuckey,stine,porterfield,pauley,moffitt,knudsen,hardwick,goforth,dupont,blunt,barrows,barnhill,shull,rash,loftis,lemay,kitchens,horvath,grenier,fuchs,fairbanks,culbertson,calkins,burnside,beattie,ashworth,albertson,wertz,vaught,vallejo,turk,tuck,tijerina,sage,peterman,marroquin,marr,lantz,hoang,demarco,cone,berube,barnette,wharton,stinnett,slocum,scanlon,sander,pinto,mancuso,lima,headley,epstein,counts,clarkson,carnahan,boren,arteaga,adame,zook,whittle,whitehurst,wenzel,saxton,reddick,puente,handley,haggerty,earley,devlin,chaffin,cady,acuna,solano,sigler,pollack,pendergrass,ostrander,janes,francois,crutchfield,chamberlin,brubaker,baptiste,willson,reis,neeley,mullin,mercier,lira,layman,keeling,higdon,espinal,chapin,warfield,toledo,pulido,peebles,nagy,montague,mello,lear,jaeger,hogg,graff,furr,soliz,poore,mendenhall,mclaurin,maestas,gable,barraza,tillery,snead,pond,neill,mcculloch,mccorkle,lightfoot,hutchings,holloman,harness,dorn,bock,zielinski,turley,treadwell,stpierre,starling,somers,oswald,merrick,easterling,bivens,truitt,poston,parry,ontiveros,olivarez,moreau,medlin,lenz,knowlton,fairley,cobbs,chisolm,bannister,woodworth,toler,ocasio,noriega,neuman,moye,milburn,mcclanahan,lilley,hanes,flannery,dellinger,danielson,conti,blodgett,beers,weatherford,strain,karr,hitt,denham,custer,coble,clough,casteel,bolduc,batchelor,ammons,whitlow,tierney,staten,sibley,seifert,schubert,salcedo,mattison,laney,haggard,grooms,dees,cromer,cooks,colson,caswell,zarate,swisher,shin,ragan,pridgen,mcvey,matheny,lafleur,franz,ferraro,dugger,whiteside,rigsby,mcmurray,lehmann,jacoby,hildebrand,hendrick,headrick,goad,fincher,drury,borges,archibald,albers,woodcock,trapp,soares,seaton,monson,luckett,lindberg,kopp,keeton,healey,garvey,gaddy,fain,burchfield,wentworth,strand,stack,spooner,saucier,ricci,plunkett,pannell,ness,leger,freitas,fong,elizondo,duval,beaudoin,urbina,rickard,partin,mcgrew,mcclintock,ledoux,forsyth,faison,devries,bertrand,wasson,tilton,scarbrough,leung,irvine,garber,denning,corral,colley,castleberry,bowlin,bogan,beale,baines,trice,rayburn,parkinson,nunes,mcmillen,leahy,kimmel,higgs,fulmer,carden,bedford,taggart,spearman,prichard,morrill,koonce,heinz,hedges,guenther,grice,findley,dover,creighton,boothe,bayer,arreola,vitale,valles,raney,osgood,hanlon,burley,bounds,worden,weatherly,vetter,tanaka,stiltner,nevarez,mosby,montero,melancon,harter,hamer,goble,gladden,gist,ginn,akin,zaragoza,tarver,sammons,royster,oreilly,muir,morehead,luster,kingsley,kelso,grisham,glynn,baumann,alves,yount,tamayo,paterson,oates,menendez,longo,hargis,gillen,desantis,conover,breedlove,sumpter,scherer,rupp,reichert,heredia,creel,cohn,clemmons,casas,bickford,belton,bach,williford,whitcomb,tennant,sutter,stull,mccallum,langlois,keel,keegan,dangelo,dancy,damron,clapp,clanton,bankston,oliveira,mintz,mcinnis,martens,mabe,laster,jolley,hildreth,hefner,glaser,duckett,demers,brockman,blais,alcorn,agnew,toliver,tice,seeley,najera,musser,mcfall,laplante,galvin,fajardo,doan,coyne,copley,clawson,cheung,barone,wynne,woodley,tremblay,stoll,sparrow,sparkman,schweitzer,sasser,samples,roney,legg,heim,farias,colwell,christman,bratcher,winchester,upshaw,southerland,sorrell,sells,mccloskey,martindale,luttrell,loveless,lovejoy,linares,latimer,embry,coombs,bratton,bostick,venable,tuggle,toro,staggs,sandlin,jefferies,heckman,griffis,crayton,clem,browder,thorton,sturgill,sprouse,royer,rousseau,ridenour,pogue,perales,peeples,metzler,mesa,mccutcheon,mcbee,hornsby,heffner,corrigan,armijo,plante,peyton,paredes,macklin,hussey,hodgson,granados,frias,becnel,batten,almanza,turney,teal,sturgeon,meeker,mcdaniels,limon,keeney,hutto,holguin,gorham,fishman,fierro,blanchette,rodrigue,reddy,osburn,oden,lerma,kirkwood,keefer,haugen,hammett,chalmers,brinkman,baumgartner,zhang,valerio,tellez,steffen,shumate,sauls,ripley,kemper,guffey,evers,craddock,carvalho,blaylock,banuelos,balderas,wheaton,turnbull,shuman,pointer,mosier,mccue,ligon,kozlowski,johansen,ingle,herr,briones,snipes,rickman,pipkin,pantoja,orosco,moniz,lawless,kunkel,hibbard,galarza,enos,bussey,schott,salcido,perreault,mcdougal,mccool,haight,garris,easton,conyers,atherton,wimberly,utley,spellman,smithson,slagle,ritchey,rand,petit,osullivan,oaks,nutt,mcvay,mccreary,mayhew,knoll,jewett,harwood,cardoza,ashe,arriaga,zeller,wirth,whitmire,stauffer,rountree,redden,mccaffrey,martz,larose,langdon,humes,gaskin,faber,devito,cass,almond,wingfield,wingate,villareal,tyner,smothers,severson,reno,pennell,maupin,leighton,janssen,hassell,hallman,halcomb,folse,fitzsimmons,fahey,cranford,bolen,battles,battaglia,wooldridge,trask,rosser,regalado,mcewen,keefe,fuqua,echevarria,caro,boynton,andrus,viera,vanmeter,taber,spradlin,seibert,provost,prentice,oliphant,laporte,hwang,hatchett,hass,greiner,freedman,covert,chilton,byars,wiese,venegas,swank,shrader,roberge,mullis,mortensen,mccune,marlowe,kirchner,keck,isaacson,hostetler,halverson,gunther,griswold,fenner,durden,blackwood,ahrens,sawyers,savoy,nabors,mcswain,mackay,lavender,lash,labbe,jessup,fullerton,cruse,crittenden,correia,centeno,caudle,canady,callender,alarcon,ahern,winfrey,tribble,salley,roden,musgrove,minnick,fortenberry,carrion,bunting,batiste,whited,underhill,stillwell,rauch,pippin,perrin,messenger,mancini,lister,kinard,hartmann,fleck,wilt,treadway,thornhill,spalding,rafferty,pitre,patino,ordonez,linkous,kelleher,homan,galbraith,feeney,curtin,coward,camarillo,buss,bunnell,bolt,beeler,autry,alcala,witte,wentz,stidham,shively,nunley,meacham,martins,lemke,lefebvre,hynes,horowitz,hoppe,holcombe,dunne,derr,cochrane,brittain,bedard,beauregard,torrence,strunk,soria,simonson,shumaker,scoggins,oconner,moriarty,kuntz,ives,hutcheson,horan,hales,garmon,fitts,bohn,atchison,wisniewski,vanwinkle,sturm,sallee,prosser,moen,lundberg,kunz,kohl,keane,jorgenson,jaynes,funderburk,freed,durr,creamer,cosgrove,batson,vanhoose,thomsen,teeter,smyth,redmon,orellana,maness,heflin,goulet,frick,forney,bunker,asbury,aguiar,talbott,southard,mowery,mears,lemmon,krieger,hickson,elston,duong,delgadillo,dayton,dasilva,conaway,catron,bruton,bradbury,bordelon,bivins,bittner,bergstrom,beals,abell,whelan,tejada,pulley,pino,norfleet,nealy,maes,loper,gatewood,frierson,freund,finnegan,cupp,covey,catalano,boehm,bader,yoon,walston,tenney,sipes,rawlins,medlock,mccaskill,mccallister,marcotte,maclean,hughey,henke,harwell,gladney,gilson,chism,caskey,brandenburg,baylor,villasenor,veal,thatcher,stegall,petrie,nowlin,navarrete,lombard,loftin,lemaster,kroll,kovach,kimbrell,kidwell,hershberger,fulcher,cantwell,bustos,boland,bobbitt,binkley,wester,weis,verdin,tong,tiller,sisco,sharkey,seymore,rosenbaum,rohr,quinonez,pinkston,malley,logue,lessard,lerner,lebron,krauss,klinger,halstead,haller,getz,burrow,alger,shores,pfeifer,perron,nelms,munn,mcmaster,mckenney,manns,knudson,hutchens,huskey,goebel,flagg,cushman,click,castellano,carder,bumgarner,wampler,spinks,robson,neel,mcreynolds,mathias,maas,loera,jenson,florez,coons,buckingham,brogan,berryman,wilmoth,wilhite,thrash,shephard,seidel,schulze,roldan,pettis,obryan,maki,mackie,hatley,frazer,fiore,chesser,bottoms,bisson,benefield,allman,wilke,trudeau,timm,shifflett,mundy,milliken,mayers,leake,kohn,huntington,horsley,hermann,guerin,fryer,frizzell,foret,flemming,fife,criswell,carbajal,bozeman,boisvert,angulo,wallen,tapp,silvers,ramsay,oshea,orta,moll,mckeever,mcgehee,linville,kiefer,ketchum,howerton,groce,gass,fusco,corbitt,betz,bartels,amaral,aiello,weddle,sperry,seiler,runyan,raley,overby,osteen,olds,mckeown,matney,lauer,lattimore,hindman,hartwell,fredrickson,fredericks,espino,clegg,carswell,cambell,burkholder,woodbury,welker,totten,thornburg,theriault,stitt,stamm,stackhouse,scholl,saxon,rife,razo,quinlan,pinkerton,olivo,nesmith,nall,mattos,lafferty,justus,giron,geer,fielder,drayton,dortch,conners,conger,boatwright,billiot,barden,armenta,tibbetts,steadman,slattery,rinaldi,raynor,pinckney,pettigrew,milne,matteson,halsey,gonsalves,fellows,durand,desimone,cowley,cowles,brill,barham,barela,barba,ashmore,withrow,valenti,tejeda,spriggs,sayre,salerno,peltier,peel,merriman,matheson,lowman,lindstrom,hyland,giroux,earls,dugas,dabney,collado,briseno,baxley,whyte,wenger,vanover,vanburen,thiel,schindler,schiller,rigby,pomeroy,passmore,marble,manzo,mahaffey,lindgren,laflamme,greathouse,fite,calabrese,bayne,yamamoto,wick,townes,thames,reinhart,peeler,naranjo,montez,mcdade,mast,markley,marchand,leeper,kellum,hudgens,hennessey,hadden,gainey,coppola,borrego,bolling,beane,ault,slaton,pape,null,mulkey,lightner,langer,hillard,ethridge,enright,derosa,baskin,weinberg,turman,somerville,pardo,noll,lashley,ingraham,hiller,hendon,glaze,cothran,cooksey,conte,carrico,abner,wooley,swope,summerlin,sturgis,sturdivant,stott,spurgeon,spillman,speight,roussel,popp,nutter,mckeon,mazza,magnuson,lanning,kozak,jankowski,heyward,forster,corwin,callaghan,bays,wortham,usher,theriot,sayers,sabo,poling,loya,lieberman,laroche,labelle,howes,harr,garay,fogarty,everson,durkin,dominquez,chaves,chambliss,witcher,vieira,vandiver,terrill,stoker,schreiner,moorman,liddell,lawhorn,krug,irons,hylton,hollenbeck,herrin,hembree,goolsby,goodin,gilmer,foltz,dinkins,daughtry,caban,brim,briley,bilodeau,wyant,vergara,tallent,swearingen,stroup,scribner,quillen,pitman,mccants,maxfield,martinson,holtz,flournoy,brookins,brody,baumgardner,straub,sills,roybal,roundtree,oswalt,mcgriff,mcdougall,mccleary,maggard,gragg,gooding,godinez,doolittle,donato,cowell,cassell,bracken,appel,zambrano,reuter,perea,nakamura,monaghan,mickens,mcclinton,mcclary,marler,kish,judkins,gilbreath,freese,flanigan,felts,erdmann,dodds,chew,brownell,boatright,barreto,slayton,sandberg,saldivar,pettway,odum,narvaez,moultrie,montemayor,merrell,lees,keyser,hoke,hardaway,hannan,gilbertson,fogg,dumont,deberry,coggins,buxton,bucher,broadnax,beeson,araujo,appleton,amundson,aguayo,ackley,yocum,worsham,shivers,sanches,sacco,robey,rhoden,pender,ochs,mccurry,madera,luong,knotts,jackman,heinrich,hargrave,gault,comeaux,chitwood,caraway,boettcher,bernhardt,barrientos,zink,wickham,whiteman,thorp,stillman,settles,schoonover,roque,riddell,pilcher,phifer,novotny,macleod,hardee,haase,grider,doucette,clausen,bevins,beamon,badillo,tolley,tindall,soule,snook,seale,pinkney,pellegrino,nowell,nemeth,mondragon,mclane,lundgren,ingalls,hudspeth,hixson,gearhart,furlong,downes,dibble,deyoung,cornejo,camara,brookshire,boyette,wolcott,surratt,sellars,segal,salyer,reeve,rausch,labonte,haro,gower,freeland,fawcett,eads,driggers,donley,collett,bromley,boatman,ballinger,baldridge,volz,trombley,stonge,shanahan,rivard,rhyne,pedroza,matias,jamieson,hedgepeth,hartnett,estevez,eskridge,denman,chiu,chinn,catlett,carmack,buie,bechtel,beardsley,bard,ballou,ulmer,skeen,robledo,rincon,reitz,piazza,munger,moten,mcmichael,loftus,ledet,kersey,groff,fowlkes,crumpton,clouse,bettis,villagomez,timmerman,strom,santoro,roddy,penrod,musselman,macpherson,leboeuf,harless,haddad,guido,golding,fulkerson,fannin,dulaney,dowdell,cottle,ceja,cate,bosley,benge,albritton,voigt,trowbridge,soileau,seely,rohde,pearsall,paulk,orth,nason,mota,mcmullin,marquardt,madigan,hoag,gillum,gabbard,fenwick,danforth,cushing,cress,creed,cazares,bettencourt,barringer,baber,stansberry,schramm,rutter,rivero,oquendo,necaise,mouton,montenegro,miley,mcgough,marra,macmillan,lamontagne,jasso,horst,hetrick,heilman,gaytan,gall,fortney,dingle,desjardins,dabbs,burbank,brigham,breland,beaman,arriola,yarborough,wallin,toscano,stowers,reiss,pichardo,orton,michels,mcnamee,mccrory,leatherman,kell,keister,horning,hargett,guay,ferro,deboer,dagostino,carper,blanks,beaudry,towle,tafoya,stricklin,strader,soper,sonnier,sigmon,schenk,saddler,pedigo,mendes,lunn,lohr,lahr,kingsbury,jarman,hume,holliman,hofmann,haworth,harrelson,hambrick,flick,edmunds,dacosta,crossman,colston,chaplin,carrell,budd,weiler,waits,valentino,trantham,tarr,solorio,roebuck,powe,plank,pettus,pagano,mink,luker,leathers,joslin,hartzell,gambrell,cepeda,carty,caputo,brewington,bedell,ballew,applewhite,warnock,walz,urena,tudor,reel,pigg,parton,mickelson,meagher,mclellan,mcculley,mandel,leech,lavallee,kraemer,kling,kipp,kehoe,hochstetler,harriman,gregoire,grabowski,gosselin,gammon,fancher,edens,desai,brannan,armendariz,woolsey,whitehouse,whetstone,ussery,towne,testa,tallman,studer,strait,steinmetz,sorrells,sauceda,rolfe,paddock,mitchem,mcginn,mccrea,lovato,hazen,gilpin,gaynor,fike,devoe,delrio,curiel,burkhardt,bode,backus,zinn,watanabe,wachter,vanpelt,turnage,shaner,schroder,sato,riordan,quimby,portis,natale,mckoy,mccown,kilmer,hotchkiss,hesse,halbert,gwinn,godsey,delisle,chrisman,canter,arbogast,angell,acree,yancy,woolley,wesson,weatherspoon,trainor,stockman,spiller,sipe,rooks,reavis,propst,porras,neilson,mullens,loucks,llewellyn,kumar,koester,klingensmith,kirsch,kester,honaker,hodson,hennessy,helmick,garrity,garibay,drain,casarez,callis,botello,aycock,avant,wingard,wayman,tully,theisen,szymanski,stansbury,segovia,rainwater,preece,pirtle,padron,mincey,mckelvey,mathes,larrabee,kornegay,klug,ingersoll,hecht,germain,eggers,dykstra,deering,decoteau,deason,dearing,cofield,carrigan,bonham,bahr,aucoin,appleby,almonte,yager,womble,wimmer,weimer,vanderpool,stancil,sprinkle,romine,remington,pfaff,peckham,olivera,meraz,maze,lathrop,koehn,hazelton,halvorson,hallock,haddock,ducharme,dehaven,caruthers,brehm,bosworth,bost,bias,beeman,basile,bane,aikens,wold,walther,tabb,suber,strawn,stocker,shirey,schlosser,riedel,rembert,reimer,pyles,peele,merriweather,letourneau,latta,kidder,hixon,hillis,hight,herbst,henriquez,haygood,hamill,gabel,fritts,eubank,dawes,correll,bushey,buchholz,brotherton,botts,barnwell,auger,atchley,westphal,veilleux,ulloa,stutzman,shriver,ryals,pilkington,moyers,marrs,mangrum,maddux,lockard,laing,kuhl,harney,hammock,hamlett,felker,doerr,depriest,carrasquillo,carothers,bogle,bischoff,bergen,albanese,wyckoff,vermillion,vansickle,thibault,tetreault,stickney,shoemake,ruggiero,rawson,racine,philpot,paschal,mcelhaney,mathison,legrand,lapierre,kwan,kremer,jiles,hilbert,geyer,faircloth,ehlers,egbert,desrosiers,dalrymple,cotten,cashman,cadena,boardman,alcaraz,wyrick,therrien,tankersley,strickler,puryear,plourde,pattison,pardue,mcginty,mcevoy,landreth,kuhns,koon,hewett,giddens,emerick,eades,deangelis,cosme,ceballos,birdsong,benham,bemis,armour,anguiano,welborn,tsosie,storms,shoup,sessoms,samaniego,rood,rojo,rhinehart,raby,northcutt,myer,munguia,morehouse,mcdevitt,mallett,lozada,lemoine,kuehn,hallett,grim,gillard,gaylor,garman,gallaher,feaster,faris,darrow,dardar,coney,carreon,braithwaite,boylan,boyett,bixler,bigham,benford,barragan,barnum,zuber,wyche,westcott,vining,stoltzfus,simonds,shupe,sabin,ruble,rittenhouse,richman,perrone,mulholland,millan,lomeli,kite,jemison,hulett,holler,hickerson,herold,hazelwood,griffen,gause,forde,eisenberg,dilworth,charron,chaisson,bristow,breunig,brace,boutwell,bentz,belk,bayless,batchelder,baran,baeza,zimmermann,weathersby,volk,toole,theis,tedesco,searle,schenck,satterwhite,ruelas,rankins,partida,nesbit,morel,menchaca,levasseur,kaylor,johnstone,hulse,hollar,hersey,harrigan,harbison,guyer,gish,giese,gerlach,geller,geisler,falcone,elwell,doucet,deese,darr,corder,chafin,byler,bussell,burdett,brasher,bowe,bellinger,bastian,barner,alleyne,wilborn,weil,wegner,tatro,spitzer,smithers,schoen,resendez,parisi,overman,obrian,mudd,mahler,maggio,lindner,lalonde,lacasse,laboy,killion,kahl,jessen,jamerson,houk,henshaw,gustin,graber,durst,duenas,davey,cundiff,conlon,colunga,coakley,chiles,capers,buell,bricker,bissonnette,bartz,bagby,zayas,volpe,treece,toombs,thom,terrazas,swinney,skiles,silveira,shouse,senn,ramage,moua,langham,kyles,holston,hoagland,herd,feller,denison,carraway,burford,bickel,ambriz,abercrombie,yamada,weidner,waddle,verduzco,thurmond,swindle,schrock,sanabria,rosenberger,probst,peabody,olinger,nazario,mccafferty,mcbroom,mcabee,mazur,matherne,mapes,leverett,killingsworth,heisler,griego,gosnell,frankel,franke,ferrante,fenn,ehrlich,christopherso,chasse,caton,brunelle,bloomfield,babbitt,azevedo,abramson,ables,abeyta,youmans,wozniak,wainwright,stowell,smitherman,samuelson,runge,rothman,rosenfeld,peake,owings,olmos,munro,moreira,leatherwood,larkins,krantz,kovacs,kizer,kindred,karnes,jaffe,hubbell,hosey,hauck,goodell,erdman,dvorak,doane,cureton,cofer,buehler,bierman,berndt,banta,abdullah,warwick,waltz,turcotte,torrey,stith,seger,sachs,quesada,pinder,peppers,pascual,paschall,parkhurst,ozuna,oster,nicholls,lheureux,lavalley,kimura,jablonski,haun,gourley,gilligan,croy,cotto,cargill,burwell,burgett,buckman,booher,adorno,wrenn,whittemore,urias,szabo,sayles,saiz,rutland,rael,pharr,pelkey,ogrady,nickell,musick,moats,mather,massa,kirschner,kieffer,kellar,hendershot,gott,godoy,gadson,furtado,fiedler,erskine,dutcher,dever,daggett,chevalier,brake,ballesteros,amerson,wingo,waldon,trott,silvey,showers,schlegel,ritz,pepin,pelayo,parsley,palermo,moorehead,mchale,lett,kocher,kilburn,iglesias,humble,hulbert,huckaby,hartford,hardiman,gurney,grigg,grasso,goings,fillmore,farber,depew,dandrea,cowen,covarrubias,burrus,bracy,ardoin,thompkins,standley,radcliffe,pohl,persaud,parenteau,pabon,newson,newhouse,napolitano,mulcahy,malave,keim,hooten,hernandes,heffernan,hearne,greenleaf,glick,fuhrman,fetter,faria,dishman,dickenson,crites,criss,clapper,chenault,castor,casto,bugg,bove,bonney,anderton,allgood,alderson,woodman,warrick,toomey,tooley,tarrant,summerville,stebbins,sokol,searles,schutz,schumann,scheer,remillard,raper,proulx,palmore,monroy,messier,melo,melanson,mashburn,manzano,lussier,jenks,huneycutt,hartwig,grimsley,fulk,fielding,fidler,engstrom,eldred,dantzler,crandell,calder,brumley,breton,brann,bramlett,boykins,bianco,bancroft,almaraz,alcantar,whitmer,whitener,welton,vineyard,rahn,paquin,mizell,mcmillin,mckean,marston,maciel,lundquist,liggins,lampkin,kranz,koski,kirkham,jiminez,hazzard,harrod,graziano,grammer,gendron,garrido,fordham,englert,dryden,demoss,deluna,crabb,comeau,brummett,blume,benally,wessel,vanbuskirk,thorson,stumpf,stockwell,reams,radtke,rackley,pelton,niemi,newland,nelsen,morrissette,miramontes,mcginley,mccluskey,marchant,luevano,lampe,lail,jeffcoat,infante,hinman,gaona,eady,desmarais,decosta,dansby,cisco,choe,breckenridge,bostwick,borg,bianchi,alberts,wilkie,whorton,vargo,tait,soucy,schuman,ousley,mumford,lippert,leath,lavergne,laliberte,kirksey,kenner,johnsen,izzo,hiles,gullett,greenwell,gaspar,galbreath,gaitan,ericson,delapaz,croom,cottingham,clift,bushnell,bice,beason,arrowood,waring,voorhees,truax,shreve,shockey,schatz,sandifer,rubino,rozier,roseberry,pieper,peden,nester,nave,murphey,malinowski,macgregor,lafrance,kunkle,kirkman,hipp,hasty,haddix,gervais,gerdes,gamache,fouts,fitzwater,dillingham,deming,deanda,cedeno,cannady,burson,bouldin,arceneaux,woodhouse,whitford,wescott,welty,weigel,torgerson,toms,surber,sunderland,sterner,setzer,riojas,pumphrey,puga,metts,mcgarry,mccandless,magill,lupo,loveland,llamas,leclerc,koons,kahler,huss,holbert,heintz,haupt,grimmett,gaskill,ellingson,dorr,dingess,deweese,desilva,crossley,cordeiro,converse,conde,caldera,cairns,burmeister,burkhalter,brawner,bott,youngs,vierra,valladares,shrum,shropshire,sevilla,rusk,rodarte,pedraza,nino,merino,mcminn,markle,mapp,lajoie,koerner,kittrell,kato,hyder,hollifield,heiser,hazlett,greenwald,fant,eldredge,dreher,delafuente,cravens,claypool,beecher,aronson,alanis,worthen,wojcik,winger,whitacre,valverde,valdivia,troupe,thrower,swindell,suttles,stroman,spires,slate,shealy,sarver,sartin,sadowski,rondeau,rolon,rascon,priddy,paulino,nolte,munroe,molloy,mciver,lykins,loggins,lenoir,klotz,kempf,hupp,hollowell,hollander,haynie,harkness,harker,gottlieb,frith,eddins,driskell,doggett,densmore,charette,cassady,byrum,burcham,buggs,benn,whitted,warrington,vandusen,vaillancourt,steger,siebert,scofield,quirk,purser,plumb,orcutt,nordstrom,mosely,michalski,mcphail,mcdavid,mccraw,marchese,mannino,lefevre,largent,lanza,kress,isham,hunsaker,hoch,hildebrandt,guarino,grijalva,graybill,fick,ewell,ewald,cusick,crumley,coston,cathcart,carruthers,bullington,bowes,blain,blackford,barboza,yingling,wert,weiland,varga,silverstein,sievers,shuster,shumway,runnels,rumsey,renfroe,provencher,polley,mohler,middlebrooks,kutz,koster,groth,glidden,fazio,deen,chipman,chenoweth,champlin,cedillo,carrero,carmody,buckles,brien,boutin,bosch,berkowitz,altamirano,wilfong,wiegand,waites,truesdale,toussaint,tobey,tedder,steelman,sirois,schnell,robichaud,richburg,plumley,pizarro,piercy,ortego,oberg,neace,mertz,mcnew,matta,lapp,lair,kibler,howlett,hollister,hofer,hatten,hagler,falgoust,engelhardt,eberle,dombrowski,dinsmore,daye,casares,braud,balch,autrey,wendel,tyndall,strobel,stoltz,spinelli,serrato,reber,rathbone,palomino,nickels,mayle,mathers,mach,loeffler,littrell,levinson,leong,lemire,lejeune,lazo,lasley,koller,kennard,hoelscher,hintz,hagerman,greaves,fore,eudy,engler,corrales,cordes,brunet,bidwell,bennet,tyrrell,tharpe,swinton,stribling,southworth,sisneros,savoie,samons,ruvalcaba,ries,ramer,omara,mosqueda,millar,mcpeak,macomber,luckey,litton,lehr,lavin,hubbs,hoard,hibbs,hagans,futrell,exum,evenson,culler,carbaugh,callen,brashear,bloomer,blakeney,bigler,addington,woodford,unruh,tolentino,sumrall,stgermain,smock,sherer,rayner,pooler,oquinn,nero,mcglothlin,linden,kowal,kerrigan,ibrahim,harvell,hanrahan,goodall,geist,fussell,fung,ferebee,eley,eggert,dorsett,dingman,destefano,colucci,clemmer,burnell,brumbaugh,boddie,berryhill,avelar,alcantara,winder,winchell,vandenberg,trotman,thurber,thibeault,stlouis,stilwell,sperling,shattuck,sarmiento,ruppert,rumph,renaud,randazzo,rademacher,quiles,pearman,palomo,mercurio,lowrey,lindeman,lawlor,larosa,lander,labrecque,hovis,holifield,henninger,hawkes,hartfield,hann,hague,genovese,garrick,fudge,frink,eddings,dinh,cribbs,calvillo,bunton,brodeur,bolding,blanding,agosto,zahn,wiener,trussell,tello,teixeira,speck,sharma,shanklin,sealy,scanlan,santamaria,roundy,robichaux,ringer,rigney,prevost,polson,nord,moxley,medford,mccaslin,mcardle,macarthur,lewin,lasher,ketcham,keiser,heine,hackworth,grose,grizzle,gillman,gartner,frazee,fleury,edson,edmonson,derry,cronk,conant,burress,burgin,broom,brockington,bolick,boger,birchfield,billington,baily,bahena,armbruster,anson,yoho,wilcher,tinney,timberlake,thielen,sutphin,stultz,sikora,serra,schulman,scheffler,santillan,rego,preciado,pinkham,mickle,lomas,lizotte,lent,kellerman,keil,johanson,hernadez,hartsfield,haber,gorski,farkas,eberhardt,duquette,delano,cropper,cozart,cockerham,chamblee,cartagena,cahoon,buzzell,brister,brewton,blackshear,benfield,aston,ashburn,arruda,wetmore,weise,vaccaro,tucci,sudduth,stromberg,stoops,showalter,shears,runion,rowden,rosenblum,riffle,renfrow,peres,obryant,leftwich,lark,landeros,kistler,killough,kerley,kastner,hoggard,hartung,guertin,govan,gatling,gailey,fullmer,fulford,flatt,esquibel,endicott,edmiston,edelstein,dufresne,dressler,dickman,chee,busse,bonnett,berard,yoshida,velarde,veach,vanhouten,vachon,tolson,tolman,tennyson,stites,soler,shutt,ruggles,rhone,pegues,neese,muro,moncrief,mefford,mcphee,mcmorris,mceachern,mcclurg,mansour,mader,leija,lecompte,lafountain,labrie,jaquez,heald,hash,hartle,gainer,frisby,farina,eidson,edgerton,dyke,durrett,duhon,cuomo,cobos,cervantez,bybee,brockway,borowski,binion,beery,arguello,amaro,acton,yuen,winton,wigfall,weekley,vidrine,vannoy,tardiff,shoop,shilling,schick,safford,prendergast,pilgrim,pellerin,osuna,nissen,nalley,moller,messner,messick,merrifield,mcguinness,matherly,marcano,mahone,lemos,lebrun,jara,hoffer,herren,hecker,haws,haug,gwin,gober,gilliard,fredette,favela,echeverria,downer,donofrio,desrochers,crozier,corson,bechtold,argueta,aparicio,zamudio,westover,westerman,utter,troyer,thies,tapley,slavin,shirk,sandler,roop,rimmer,raymer,radcliff,otten,moorer,millet,mckibben,mccutchen,mcavoy,mcadoo,mayorga,mastin,martineau,marek,madore,leflore,kroeger,kennon,jimerson,hostetter,hornback,hendley,hance,guardado,granado,gowen,goodale,flinn,fleetwood,fitz,durkee,duprey,dipietro,dilley,clyburn,brawley,beckley,arana,weatherby,vollmer,vestal,tunnell,trigg,tingle,takahashi,sweatt,storer,snapp,shiver,rooker,rathbun,poisson,perrine,perri,parmer,parke,pare,papa,palmieri,midkiff,mecham,mccomas,mcalpine,lovelady,lillard,lally,knopp,kile,kiger,haile,gupta,goldsberry,gilreath,fulks,friesen,franzen,flack,findlay,ferland,dreyer,dore,dennard,deckard,debose,crim,coulombe,chancey,cantor,branton,bissell,barns,woolard,witham,wasserman,spiegel,shoffner,scholz,ruch,rossman,petry,palacio,paez,neary,mortenson,millsap,miele,menke,mckim,mcanally,martines,lemley,larochelle,klaus,klatt,kaufmann,kapp,helmer,hedge,halloran,glisson,frechette,fontana,eagan,distefano,danley,creekmore,chartier,chaffee,carillo,burg,bolinger,berkley,benz,basso,bash,zelaya,woodring,witkowski,wilmot,wilkens,wieland,verdugo,urquhart,tsai,timms,swiger,swaim,sussman,pires,molnar,mcatee,lowder,loos,linker,landes,kingery,hufford,higa,hendren,hammack,hamann,gillam,gerhardt,edelman,delk,deans,curl,constantine,cleaver,claar,casiano,carruth,carlyle,brophy,bolanos,bibbs,bessette,beggs,baugher,bartel,averill,andresen,amin,adames,valente,turnbow,swink,sublett,stroh,stringfellow,ridgway,pugliese,poteat,ohare,neubauer,murchison,mingo,lemmons,kwon,kellam,kean,jarmon,hyden,hudak,hollinger,henkel,hemingway,hasson,hansel,halter,haire,ginsberg,gillispie,fogel,flory,etter,elledge,eckman,deas,currin,crafton,coomer,colter,claxton,bulter,braddock,bowyer,binns,bellows,baskerville,barros,ansley,woolf,wight,waldman,wadley,tull,trull,tesch,stouffer,stadler,slay,shubert,sedillo,santacruz,reinke,poynter,neri,neale,mowry,moralez,monger,mitchum,merryman,manion,macdougall,litchfield,levitt,lepage,lasalle,khoury,kavanagh,karns,ivie,huebner,hodgkins,halpin,garica,eversole,dutra,dunagan,duffey,dillman,dillion,deville,dearborn,damato,courson,coulson,burdine,bousquet,bonin,bish,atencio,westbrooks,wages,vaca,toner,tillis,swett,struble,stanfill,solorzano,slusher,sipple,silvas,shults,schexnayder,saez,rodas,rager,pulver,penton,paniagua,meneses,mcfarlin,mcauley,matz,maloy,magruder,lohman,landa,lacombe,jaimes,holzer,holst,heil,hackler,grundy,gilkey,farnham,durfee,dunton,dunston,duda,dews,craver,corriveau,conwell,colella,chambless,bremer,boutte,bourassa,blaisdell,backman,babineaux,audette,alleman,towner,taveras,tarango,sullins,suiter,stallard,solberg,schlueter,poulos,pimental,owsley,okelley,moffatt,metcalfe,meekins,medellin,mcglynn,mccowan,marriott,marable,lennox,lamoureux,koss,kerby,karp,isenberg,howze,hockenberry,highsmith,hallmark,gusman,greeley,giddings,gaudet,gallup,fleenor,eicher,edington,dimaggio,dement,demello,decastro,bushman,brundage,brooker,bourg,blackstock,bergmann,beaton,banister,argo,appling,wortman,watterson,villalpando,tillotson,tighe,sundberg,sternberg,stamey,shipe,seeger,scarberry,sattler,sain,rothstein,poteet,plowman,pettiford,penland,partain,pankey,oyler,ogletree,ogburn,moton,merkel,lucier,lakey,kratz,kinser,kershaw,josephson,imhoff,hendry,hammon,frisbie,frawley,fraga,forester,eskew,emmert,drennan,doyon,dandridge,cawley,carvajal,bracey,belisle,batey,ahner,wysocki,weiser,veliz,tincher,sansone,sankey,sandstrom,rohrer,risner,pridemore,pfeffer,persinger,peery,oubre,nowicki,musgrave,murdoch,mullinax,mccary,mathieu,livengood,kyser,klink,kimes,kellner,kavanaugh,kasten,imes,hoey,hinshaw,hake,gurule,grube,grillo,geter,gatto,garver,garretson,farwell,eiland,dunford,decarlo,corso,colman,collard,cleghorn,chasteen,cavender,carlile,calvo,byerly,brogdon,broadwater,breault,bono,bergin,behr,ballenger,amick,tamez,stiffler,steinke,simmon,shankle,schaller,salmons,sackett,saad,rideout,ratcliffe,ranson,plascencia,petterson,olszewski,olney,olguin,nilsson,nevels,morelli,montiel,monge,michaelson,mertens,mcchesney,mcalpin,mathewson,loudermilk,lineberry,liggett,kinlaw,kight,jost,hereford,hardeman,halpern,halliday,hafer,gaul,friel,freitag,forsberg,evangelista,doering,dicarlo,dendy,delp,deguzman,dameron,curtiss,cosper,cauthen,bradberry,bouton,bonnell,bixby,bieber,beveridge,bedwell,barhorst,bannon,baltazar,baier,ayotte,attaway,arenas,abrego,turgeon,tunstall,thaxton,tenorio,stotts,sthilaire,shedd,seabolt,scalf,salyers,ruhl,rowlett,robinett,pfister,perlman,pepe,parkman,nunnally,norvell,napper,modlin,mckellar,mcclean,mascarenas,leibowitz,ledezma,kuhlman,kobayashi,hunley,holmquist,hinkley,hazard,hartsell,gribble,gravely,fifield,eliason,doak,crossland,carleton,bridgeman,bojorquez,boggess,auten,woosley,whiteley,wexler,twomey,tullis,townley,standridge,santoyo,rueda,riendeau,revell,pless,ottinger,nigro,nickles,mulvey,menefee,mcshane,mcloughlin,mckinzie,markey,lockridge,lipsey,knisley,knepper,kitts,kiel,jinks,hathcock,godin,gallego,fikes,fecteau,estabrook,ellinger,dunlop,dudek,countryman,chauvin,chatham,bullins,brownfield,boughton,bloodworth,bibb,baucom,barbieri,aubin,armitage,alessi,absher,abbate,zito,woolery,wiggs,wacker,tynes,tolle,telles,tarter,swarey,strode,stockdale,stalnaker,spina,schiff,saari,risley,rameriz,rakes,pettaway,penner,paulus,palladino,omeara,montelongo,melnick,mehta,mcgary,mccourt,mccollough,marchetti,manzanares,lowther,leiva,lauderdale,lafontaine,kowalczyk,knighton,joubert,jaworski,huth,hurdle,housley,hackman,gulick,gordy,gilstrap,gehrke,gebhart,gaudette,foxworth,endres,dunkle,cimino,caddell,brauer,braley,bodine,blackmore,belden,backer,ayer,andress,wisner,vuong,valliere,twigg,tavarez,strahan,steib,staub,sowder,seiber,schutt,scharf,schade,rodriques,risinger,renshaw,rahman,presnell,piatt,nieman,nevins,mcilwain,mcgaha,mccully,mccomb,massengale,macedo,lesher,kearse,jauregui,husted,hudnall,holmberg,hertel,hardie,glidewell,frausto,fassett,dalessandro,dahlgren,corum,constantino,conlin,colquitt,colombo,claycomb,cardin,buller,boney,bocanegra,biggers,benedetto,araiza,andino,albin,zorn,werth,weisman,walley,vanegas,ulibarri,towe,tedford,teasley,suttle,steffens,stcyr,squire,singley,sifuentes,shuck,schram,sass,rieger,ridenhour,rickert,richerson,rayborn,rabe,raab,pendley,pastore,ordway,moynihan,mellott,mckissick,mcgann,mccready,mauney,marrufo,lenhart,lazar,lafave,keele,kautz,jardine,jahnke,jacobo,hord,hardcastle,hageman,giglio,gehring,fortson,duque,duplessis,dicken,derosier,deitz,dalessio,cram,castleman,candelario,callison,caceres,bozarth,biles,bejarano,bashaw,avina,armentrout,alverez,acord,waterhouse,vereen,vanlandingham,strawser,shotwell,severance,seltzer,schoonmaker,schock,schaub,schaffner,roeder,rodrigez,riffe,rasberry,rancourt,railey,quade,pursley,prouty,perdomo,oxley,osterman,nickens,murphree,mounts,merida,maus,mattern,masse,martinelli,mangan,lutes,ludwick,loney,laureano,lasater,knighten,kissinger,kimsey,kessinger,honea,hollingshead,hockett,heyer,heron,gurrola,gove,glasscock,gillett,galan,featherstone,eckhardt,duron,dunson,dasher,culbreth,cowden,cowans,claypoole,churchwell,chabot,caviness,cater,caston,callan,byington,burkey,boden,beckford,atwater,archambault,alvey,alsup,whisenant,weese,voyles,verret,tsang,tessier,sweitzer,sherwin,shaughnessy,revis,remy,prine,philpott,peavy,paynter,parmenter,ovalle,offutt,nightingale,newlin,nakano,myatt,muth,mohan,mcmillon,mccarley,mccaleb,maxson,marinelli,maley,liston,letendre,kain,huntsman,hirst,hagerty,gulledge,greenway,grajeda,gorton,goines,gittens,frederickson,fanelli,embree,eichelberger,dunkin,dixson,dillow,defelice,chumley,burleigh,borkowski,binette,biggerstaff,berglund,beller,audet,arbuckle,allain,alfano,youngman,wittman,weintraub,vanzant,vaden,twitty,stollings,standifer,sines,shope,scalise,saville,posada,pisano,otte,nolasco,mier,merkle,mendiola,melcher,mejias,mcmurry,mccalla,markowitz,manis,mallette,macfarlane,lough,looper,landin,kittle,kinsella,kinnard,hobart,helman,hellman,hartsock,halford,hage,gordan,glasser,gayton,gattis,gastelum,gaspard,frisch,fitzhugh,eckstein,eberly,dowden,despain,crumpler,crotty,cornelison,chouinard,chamness,catlin,cann,bumgardner,budde,branum,bradfield,braddy,borst,birdwell,bazan,banas,bade,arango,ahearn,addis,zumwalt,wurth,wilk,widener,wagstaff,urrutia,terwilliger,tart,steinman,staats,sloat,rives,riggle,revels,reichard,prickett,poff,pitzer,petro,pell,northrup,nicks,moline,mielke,maynor,mallon,magness,lingle,lindell,lieb,lesko,lebeau,lammers,lafond,kiernan,ketron,jurado,holmgren,hilburn,hayashi,hashimoto,harbaugh,guillot,gard,froehlich,feinberg,falco,dufour,drees,doney,diep,delao,daves,dail,crowson,coss,congdon,carner,camarena,butterworth,burlingame,bouffard,bloch,bilyeu,barta,bakke,baillargeon,avent,aquilar,zeringue,yarber,wolfson,vogler,voelker,truss,troxell,thrift,strouse,spielman,sistrunk,sevigny,schuller,schaaf,ruffner,routh,roseman,ricciardi,peraza,pegram,overturf,olander,odaniel,millner,melchor,maroney,machuca,macaluso,livesay,layfield,laskowski,kwiatkowski,kilby,hovey,heywood,hayman,havard,harville,haigh,hagood,grieco,glassman,gebhardt,fleischer,fann,elson,eccles,cunha,crumb,blakley,bardwell,abshire,woodham,wines,welter,wargo,varnado,tutt,traynor,swaney,stricker,stoffel,stambaugh,sickler,shackleford,selman,seaver,sansom,sanmiguel,royston,rourke,rockett,rioux,puleo,pitchford,nardi,mulvaney,middaugh,malek,leos,lathan,kujawa,kimbro,killebrew,houlihan,hinckley,herod,hepler,hamner,hammel,hallowell,gonsalez,gingerich,gambill,funkhouser,fricke,fewell,falkner,endsley,dulin,drennen,deaver,dambrosio,chadwell,castanon,burkes,brune,brisco,brinker,bowker,boldt,berner,beaumont,beaird,bazemore,barrick,albano,younts,wunderlich,weidman,vanness,toland,theobald,stickler,steiger,stanger,spies,spector,sollars,smedley,seibel,scoville,saito,rummel,rowles,rouleau,roos,rogan,roemer,ream,raya,purkey,priester,perreira,penick,paulin,parkins,overcash,oleson,neves,muldrow,minard,midgett,michalak,melgar,mcentire,mcauliffe,marte,lydon,lindholm,leyba,langevin,lagasse,lafayette,kesler,kelton,kaminsky,jaggers,humbert,huck,howarth,hinrichs,higley,gupton,guimond,gravois,giguere,fretwell,fontes,feeley,faucher,eichhorn,ecker,earp,dole,dinger,derryberry,demars,deel,copenhaver,collinsworth,colangelo,cloyd,claiborne,caulfield,carlsen,calzada,caffey,broadus,brenneman,bouie,bodnar,blaney,blanc,beltz,behling,barahona,yockey,winkle,windom,wimer,villatoro,trexler,teran,taliaferro,sydnor,swinson,snelling,smtih,simonton,simoneaux,simoneau,sherrer,seavey,scheel,rushton,rupe,ruano,rippy,reiner,reiff,rabinowitz,quach,penley,odle,nock,minnich,mckown,mccarver,mcandrew,longley,laux,lamothe,lafreniere,kropp,krick,kates,jepson,huie,howse,howie,henriques,haydon,haught,hatter,hartzog,harkey,grimaldo,goshorn,gormley,gluck,gilroy,gillenwater,giffin,fluker,feder,eyre,eshelman,eakins,detwiler,delrosario,davisson,catalan,canning,calton,brammer,botelho,blakney,bartell,averett,askins,aker,witmer,winkelman,widmer,whittier,weitzel,wardell,wagers,ullman,tupper,tingley,tilghman,talton,simard,seda,scheller,sala,rundell,rost,ribeiro,rabideau,primm,pinon,peart,ostrom,ober,nystrom,nussbaum,naughton,murr,moorhead,monti,monteiro,melson,meissner,mclin,mcgruder,marotta,makowski,majewski,madewell,lunt,lukens,leininger,lebel,lakin,kepler,jaques,hunnicutt,hungerford,hoopes,hertz,heins,halliburton,grosso,gravitt,glasper,gallman,gallaway,funke,fulbright,falgout,eakin,dostie,dorado,dewberry,derose,cutshall,crampton,costanzo,colletti,cloninger,claytor,chiang,campagna,burd,brokaw,broaddus,bretz,brainard,binford,bilbrey,alpert,aitken,ahlers,zajac,woolfolk,witten,windle,wayland,tramel,tittle,talavera,suter,straley,specht,sommerville,soloman,skeens,sigman,sibert,shavers,schuck,schmit,sartain,sabol,rosenblatt,rollo,rashid,rabb,polston,nyberg,northrop,navarra,muldoon,mikesell,mcdougald,mcburney,mariscal,lozier,lingerfelt,legere,latour,lagunas,lacour,kurth,killen,kiely,kayser,kahle,isley,huertas,hower,hinz,haugh,gumm,galicia,fortunato,flake,dunleavy,duggins,doby,digiovanni,devaney,deltoro,cribb,corpuz,coronel,coen,charbonneau,caine,burchette,blakey,blakemore,bergquist,beene,beaudette,bayles,ballance,bakker,bailes,asberry,arwood,zucker,willman,whitesell,wald,walcott,vancleave,trump,strasser,simas,shick,schleicher,schaal,saleh,rotz,resnick,rainer,partee,ollis,oller,oday,noles,munday,mong,millican,merwin,mazzola,mansell,magallanes,llanes,lewellen,lepore,kisner,keesee,jeanlouis,ingham,hornbeck,hawn,hartz,harber,haffner,gutshall,guth,grays,gowan,finlay,finkelstein,eyler,enloe,dungan,diez,dearman,cull,crosson,chronister,cassity,campion,callihan,butz,breazeale,blumenthal,berkey,batty,batton,arvizu,alderete,aldana,albaugh,abernethy,wolter,wille,tweed,tollefson,thomasson,teter,testerman,sproul,spates,southwick,soukup,skelly,senter,sealey,sawicki,sargeant,rossiter,rosemond,repp,pifer,ormsby,nickelson,naumann,morabito,monzon,millsaps,millen,mcelrath,marcoux,mantooth,madson,macneil,mackinnon,louque,leister,lampley,kushner,krouse,kirwan,jessee,janson,jahn,jacquez,islas,hutt,holladay,hillyer,hepburn,hensel,harrold,gingrich,geis,gales,fults,finnell,ferri,featherston,epley,ebersole,eames,dunigan,drye,dismuke,devaughn,delorenzo,damiano,confer,collum,clower,clow,claussen,clack,caylor,cawthon,casias,carreno,bluhm,bingaman,bewley,belew,beckner,auld,amey,wolfenbarger,wilkey,wicklund,waltman,villalba,valero,valdovinos,ullrich,tyus,twyman,trost,tardif,tanguay,stripling,steinbach,shumpert,sasaki,sappington,sandusky,reinhold,reinert,quijano,placencia,pinkard,phinney,perrotta,pernell,parrett,oxendine,owensby,orman,nuno,mori,mcroberts,mcneese,mckamey,mccullum,markel,mardis,maines,lueck,lubin,lefler,leffler,larios,labarbera,kershner,josey,jeanbaptiste,izaguirre,hermosillo,haviland,hartshorn,hafner,ginter,getty,franck,fiske,dufrene,doody,davie,dangerfield,dahlberg,cuthbertson,crone,coffelt,chidester,chesson,cauley,caudell,cantara,campo,caines,bullis,bucci,brochu,bogard,bickerstaff,benning,arzola,antonelli,adkinson,zellers,wulf,worsley,woolridge,whitton,westerfield,walczak,vassar,truett,trueblood,trawick,townsley,topping,tobar,telford,steverson,stagg,sitton,sill,sergent,schoenfeld,sarabia,rutkowski,rubenstein,rigdon,prentiss,pomerleau,plumlee,philbrick,patnode,oloughlin,obregon,nuss,morell,mikell,mele,mcinerney,mcguigan,mcbrayer,lollar,kuehl,kinzer,kamp,joplin,jacobi,howells,holstein,hedden,hassler,harty,halle,greig,gouge,goodrum,gerhart,geier,geddes,gast,forehand,ferree,fendley,feltner,esqueda,encarnacion,eichler,egger,edmundson,eatmon,doud,donohoe,donelson,dilorenzo,digiacomo,diggins,delozier,dejong,danford,crippen,coppage,cogswell,clardy,cioffi,cabe,brunette,bresnahan,blomquist,blackstone,biller,bevis,bevan,bethune,benbow,baty,basinger,balcom,andes,aman,aguero,adkisson,yandell,wilds,whisenhunt,weigand,weeden,voight,villar,trottier,tillett,suazo,setser,scurry,schuh,schreck,schauer,samora,roane,rinker,reimers,ratchford,popovich,parkin,natal,melville,mcbryde,magdaleno,loehr,lockman,lingo,leduc,larocca,lamere,laclair,krall,korte,koger,jalbert,hughs,higbee,henton,heaney,haith,gump,greeson,goodloe,gholston,gasper,gagliardi,fregoso,farthing,fabrizio,ensor,elswick,elgin,eklund,eaddy,drouin,dorton,dizon,derouen,deherrera,davy,dampier,cullum,culley,cowgill,cardoso,cardinale,brodsky,broadbent,brimmer,briceno,branscum,bolyard,boley,bennington,beadle,baur,ballentine,azure,aultman,arciniega,aguila,aceves,yepez,woodrum,wethington,weissman,veloz,trusty,troup,trammel,tarpley,stivers,steck,sprayberry,spraggins,spitler,spiers,sohn,seagraves,schiffman,rudnick,rizo,riccio,rennie,quackenbush,puma,plott,pearcy,parada,paiz,munford,moskowitz,mease,mcnary,mccusker,lozoya,longmire,loesch,lasky,kuhlmann,krieg,koziol,kowalewski,konrad,kindle,jowers,jolin,jaco,horgan,hine,hileman,hepner,heise,heady,hawkinson,hannigan,haberman,guilford,grimaldi,garton,gagliano,fruge,follett,fiscus,ferretti,ebner,easterday,eanes,dirks,dimarco,depalma,deforest,cruce,craighead,christner,candler,cadwell,burchell,buettner,brinton,brazier,brannen,brame,bova,bomar,blakeslee,belknap,bangs,balzer,athey,armes,alvis,alverson,alvardo,yeung,wheelock,westlund,wessels,volkman,threadgill,thelen,tague,symons,swinford,sturtevant,straka,stier,stagner,segarra,seawright,rutan,roux,ringler,riker,ramsdell,quattlebaum,purifoy,poulson,permenter,peloquin,pasley,pagel,osman,obannon,nygaard,newcomer,munos,motta,meadors,mcquiston,mcniel,mcmann,mccrae,mayne,matte,legault,lechner,kucera,krohn,kratzer,koopman,jeske,horrocks,hock,hibbler,hesson,hersh,harvin,halvorsen,griner,grindle,gladstone,garofalo,frampton,forbis,eddington,diorio,dingus,dewar,desalvo,curcio,creasy,cortese,cordoba,connally,cluff,cascio,capuano,canaday,calabro,bussard,brayton,borja,bigley,arnone,arguelles,acuff,zamarripa,wooton,widner,wideman,threatt,thiele,templin,teeters,synder,swint,swick,sturges,stogner,stedman,spratt,siegfried,shetler,scull,savino,sather,rothwell,rook,rone,rhee,quevedo,privett,pouliot,poche,pickel,petrillo,pellegrini,peaslee,partlow,otey,nunnery,morelock,morello,meunier,messinger,mckie,mccubbin,mccarron,lerch,lavine,laverty,lariviere,lamkin,kugler,krol,kissel,keeter,hubble,hickox,hetzel,hayner,hagy,hadlock,groh,gottschalk,goodsell,gassaway,garrard,galligan,firth,fenderson,feinstein,etienne,engleman,emrick,ellender,drews,doiron,degraw,deegan,dart,crissman,corr,cookson,coil,cleaves,charest,chapple,chaparro,castano,carpio,byer,bufford,bridgewater,bridgers,brandes,borrero,bonanno,aube,ancheta,abarca,abad,wooster,wimbush,willhite,willams,wigley,weisberg,wardlaw,vigue,vanhook,unknow,torre,tasker,tarbox,strachan,slover,shamblin,semple,schuyler,schrimsher,sayer,salzman,rubalcava,riles,reneau,reichel,rayfield,rabon,pyatt,prindle,poss,polito,plemmons,pesce,perrault,pereyra,ostrowski,nilsen,niemeyer,munsey,mundell,moncada,miceli,meader,mcmasters,mckeehan,matsumoto,marron,marden,lizarraga,lingenfelter,lewallen,langan,lamanna,kovac,kinsler,kephart,keown,kass,kammerer,jeffreys,hysell,hosmer,hardnett,hanner,guyette,greening,glazer,ginder,fromm,fluellen,finkle,fessler,essary,eisele,duren,dittmer,crochet,cosentino,cogan,coelho,cavin,carrizales,campuzano,brough,bopp,bookman,bobb,blouin,beesley,battista,bascom,bakken,badgett,arneson,anselmo,albino,ahumada,woodyard,wolters,wireman,willison,warman,waldrup,vowell,vantassel,twombly,toomer,tennison,teets,tedeschi,swanner,stutz,stelly,sheehy,schermerhorn,scala,sandidge,salters,salo,saechao,roseboro,rolle,ressler,renz,renn,redford,raposa,rainbolt,pelfrey,orndorff,oney,nolin,nimmons,nardone,myhre,morman,menjivar,mcglone,mccammon,maxon,marciano,manus,lowrance,lorenzen,lonergan,lollis,littles,lindahl,lamas,lach,kuster,krawczyk,knuth,knecht,kirkendall,keitt,keever,kantor,jarboe,hoye,houchens,holter,holsinger,hickok,helwig,helgeson,hassett,harner,hamman,hames,hadfield,goree,goldfarb,gaughan,gaudreau,gantz,gallion,frady,foti,flesher,ferrin,faught,engram,donegan,desouza,degroot,cutright,crowl,criner,coan,clinkscales,chewning,chavira,catchings,carlock,bulger,buenrostro,bramblett,brack,boulware,bookout,bitner,birt,baranowski,baisden,allmon,acklin,yoakum,wilbourn,whisler,weinberger,washer,vasques,vanzandt,vanatta,troxler,tomes,tindle,tims,throckmorton,thach,stpeter,stlaurent,stenson,spry,spitz,songer,snavely,shroyer,shortridge,shenk,sevier,seabrook,scrivner,saltzman,rosenberry,rockwood,robeson,roan,reiser,ramires,raber,posner,popham,piotrowski,pinard,peterkin,pelham,peiffer,peay,nadler,musso,millett,mestas,mcgowen,marques,marasco,manriquez,manos,mair,lipps,leiker,krumm,knorr,kinslow,kessel,kendricks,kelm,irick,ickes,hurlburt,horta,hoekstra,heuer,helmuth,heatherly,hampson,hagar,haga,greenlaw,grau,godbey,gingras,gillies,gibb,gayden,gauvin,garrow,fontanez,florio,finke,fasano,ezzell,ewers,eveland,eckenrode,duclos,drumm,dimmick,delancey,defazio,dashiell,cusack,crowther,crigger,cray,coolidge,coldiron,cleland,chalfant,cassel,camire,cabrales,broomfield,brittingham,brisson,brickey,braziel,brazell,bragdon,boulanger,boman,bohannan,beem,barre,azar,ashbaugh,armistead,almazan,adamski,zendejas,winburn,willaims,wilhoit,westberry,wentzel,wendling,visser,vanscoy,vankirk,vallee,tweedy,thornberry,sweeny,spradling,spano,smelser,shim,sechrist,schall,scaife,rugg,rothrock,roesler,riehl,ridings,render,ransdell,radke,pinero,petree,pendergast,peluso,pecoraro,pascoe,panek,oshiro,navarrette,murguia,moores,moberg,michaelis,mcwhirter,mcsweeney,mcquade,mccay,mauk,mariani,marceau,mandeville,maeda,lunde,ludlow,loeb,lindo,linderman,leveille,leith,larock,lambrecht,kulp,kinsley,kimberlin,kesterson,hoyos,helfrich,hanke,grisby,goyette,gouveia,glazier,gile,gerena,gelinas,gasaway,funches,fujimoto,flynt,fenske,fellers,fehr,eslinger,escalera,enciso,duley,dittman,dineen,diller,devault,collings,clymer,clowers,chavers,charland,castorena,castello,camargo,bunce,bullen,boyes,borchers,borchardt,birnbaum,birdsall,billman,benites,bankhead,ange,ammerman,adkison,winegar,wickman,warr,warnke,villeneuve,veasey,vassallo,vannatta,vadnais,twilley,towery,tomblin,tippett,theiss,talkington,talamantes,swart,swanger,streit,stines,stabler,spurling,sobel,sine,simmers,shippy,shiflett,shearin,sauter,sanderlin,rusch,runkle,ruckman,rorie,roesch,richert,rehm,randel,ragin,quesenberry,puentes,plyler,plotkin,paugh,oshaughnessy,ohalloran,norsworthy,niemann,nader,moorefield,mooneyham,modica,miyamoto,mickel,mebane,mckinnie,mazurek,mancilla,lukas,lovins,loughlin,lotz,lindsley,liddle,levan,lederman,leclaire,lasseter,lapoint,lamoreaux,lafollette,kubiak,kirtley,keffer,kaczmarek,housman,hiers,hibbert,herrod,hegarty,hathorn,greenhaw,grafton,govea,futch,furst,franko,forcier,foran,flickinger,fairfield,eure,emrich,embrey,edgington,ecklund,eckard,durante,deyo,delvecchio,dade,currey,creswell,cottrill,casavant,cartier,cargile,capel,cammack,calfee,burse,burruss,brust,brousseau,bridwell,braaten,borkholder,bloomquist,bjork,bartelt,amburgey,yeary,whitefield,vinyard,vanvalkenburg,twitchell,timmins,tapper,stringham,starcher,spotts,slaugh,simonsen,sheffer,sequeira,rosati,rhymes,quint,pollak,peirce,patillo,parkerson,paiva,nilson,nevin,narcisse,mitton,merriam,merced,meiners,mckain,mcelveen,mcbeth,marsden,marez,manke,mahurin,mabrey,luper,krull,hunsicker,hornbuckle,holtzclaw,hinnant,heston,hering,hemenway,hegwood,hearns,halterman,guiterrez,grote,granillo,grainger,glasco,gilder,garren,garlock,garey,fryar,fredricks,fraizer,foshee,ferrel,felty,everitt,evens,esser,elkin,eberhart,durso,duguay,driskill,doster,dewall,deveau,demps,demaio,delreal,deleo,darrah,cumberbatch,culberson,cranmer,cordle,colgan,chesley,cavallo,castellon,castelli,carreras,carnell,carlucci,bontrager,blumberg,blasingame,becton,artrip,andujar,alkire,alder,zukowski,zuckerman,wroblewski,wrigley,woodside,wigginton,westman,westgate,werts,washam,wardlow,walser,waiters,tadlock,stringfield,stimpson,stickley,standish,spurlin,spindler,speller,spaeth,sotomayor,sluder,shryock,shepardson,shatley,scannell,santistevan,rosner,resto,reinhard,rathburn,prisco,poulsen,pinney,phares,pennock,pastrana,oviedo,ostler,nauman,mulford,moise,moberly,mirabal,metoyer,metheny,mentzer,meldrum,mcinturff,mcelyea,mcdougle,massaro,lumpkins,loveday,lofgren,lirette,lesperance,lefkowitz,ledger,lauzon,lachapelle,klassen,keough,kempton,kaelin,jeffords,hsieh,hoyer,horwitz,hoeft,hennig,haskin,gourdine,golightly,girouard,fulgham,fritsch,freer,frasher,foulk,firestone,fiorentino,fedor,ensley,englehart,eells,dunphy,donahoe,dileo,dibenedetto,dabrowski,crick,coonrod,conder,coddington,chunn,chaput,cerna,carreiro,calahan,braggs,bourdon,bollman,bittle,bauder,barreras,aubuchon,anzalone,adamo,zerbe,willcox,westberg,weikel,waymire,vroman,vinci,vallejos,truesdell,troutt,trotta,tollison,toles,tichenor,symonds,surles,strayer,stgeorge,sroka,sorrentino,solares,snelson,silvestri,sikorski,shawver,schumaker,schorr,schooley,scates,satterlee,satchell,rymer,roselli,robitaille,riegel,regis,reames,provenzano,priestley,plaisance,pettey,palomares,nowakowski,monette,minyard,mclamb,mchone,mccarroll,masson,magoon,maddy,lundin,licata,leonhardt,landwehr,kircher,kinch,karpinski,johannsen,hussain,houghtaling,hoskinson,hollaway,holeman,hobgood,hiebert,goggin,geissler,gadbois,gabaldon,fleshman,flannigan,fairman,eilers,dycus,dunmire,duffield,dowler,deloatch,dehaan,deemer,clayborn,christofferso,chilson,chesney,chatfield,carron,canale,brigman,branstetter,bosse,borton,bonar,biron,barroso,arispe,zacharias,zabel,yaeger,woolford,whetzel,weakley,veatch,vandeusen,tufts,troxel,troche,traver,townsel,talarico,swilley,sterrett,stenger,speakman,sowards,sours,souders,souder,soles,sobers,snoddy,smither,shute,shoaf,shahan,schuetz,scaggs,santini,rosson,rolen,robidoux,rentas,recio,pixley,pawlowski,pawlak,paull,overbey,orear,oliveri,oldenburg,nutting,naugle,mossman,misner,milazzo,michelson,mcentee,mccullar,mccree,mcaleer,mazzone,mandell,manahan,malott,maisonet,mailloux,lumley,lowrie,louviere,lipinski,lindemann,leppert,leasure,labarge,kubik,knisely,knepp,kenworthy,kennelly,kelch,kanter,houchin,hosley,hosler,hollon,holleman,heitman,haggins,gwaltney,goulding,gorden,geraci,gathers,frison,feagin,falconer,espada,erving,erikson,eisenhauer,ebeling,durgin,dowdle,dinwiddie,delcastillo,dedrick,crimmins,covell,cournoyer,coria,cohan,cataldo,carpentier,canas,campa,brode,brashears,blaser,bicknell,bednar,barwick,ascencio,althoff,almodovar,alamo,zirkle,zabala,wolverton,winebrenner,wetherell,westlake,wegener,weddington,tuten,trosclair,tressler,theroux,teske,swinehart,swensen,sundquist,southall,socha,sizer,silverberg,shortt,shimizu,sherrard,shaeffer,scheid,scheetz,saravia,sanner,rubinstein,rozell,romer,rheaume,reisinger,randles,pullum,petrella,payan,nordin,norcross,nicoletti,nicholes,newbold,nakagawa,monteith,milstead,milliner,mellen,mccardle,liptak,leitch,latimore,larrison,landau,laborde,koval,izquierdo,hymel,hoskin,holte,hoefer,hayworth,hausman,harrill,harrel,hardt,gully,groover,grinnell,greenspan,graver,grandberry,gorrell,goldenberg,goguen,gilleland,fuson,feldmann,everly,dyess,dunnigan,downie,dolby,deatherage,cosey,cheever,celaya,caver,cashion,caplinger,cansler,byrge,bruder,breuer,breslin,brazelton,botkin,bonneau,bondurant,bohanan,bogue,bodner,boatner,blatt,bickley,belliveau,beiler,beier,beckstead,bachmann,atkin,altizer,alloway,allaire,albro,abron,zellmer,yetter,yelverton,wiens,whidden,viramontes,vanwormer,tarantino,tanksley,sumlin,strauch,strang,stice,spahn,sosebee,sigala,shrout,seamon,schrum,schneck,schantz,ruddy,romig,roehl,renninger,reding,polak,pohlman,pasillas,oldfield,oldaker,ohanlon,ogilvie,norberg,nolette,neufeld,nellis,mummert,mulvihill,mullaney,monteleone,mendonca,meisner,mcmullan,mccluney,mattis,massengill,manfredi,luedtke,lounsbury,liberatore,lamphere,laforge,jourdan,iorio,iniguez,ikeda,hubler,hodgdon,hocking,heacock,haslam,haralson,hanshaw,hannum,hallam,haden,garnes,garces,gammage,gambino,finkel,faucett,ehrhardt,eggen,dusek,durrant,dubay,dones,depasquale,delucia,degraff,decamp,davalos,cullins,conard,clouser,clontz,cifuentes,chappel,chaffins,celis,carwile,byram,bruggeman,bressler,brathwaite,brasfield,bradburn,boose,bodie,blosser,bertsch,bernardi,bernabe,bengtson,barrette,astorga,alday,albee,abrahamson,yarnell,wiltse,wiebe,waguespack,vasser,upham,turek,traxler,torain,tomaszewski,tinnin,tiner,tindell,styron,stahlman,staab,skiba,sheperd,seidl,secor,schutte,sanfilippo,ruder,rondon,rearick,procter,prochaska,pettengill,pauly,neilsen,nally,mullenax,morano,meads,mcnaughton,mcmurtry,mcmath,mckinsey,matthes,massenburg,marlar,margolis,malin,magallon,mackin,lovette,loughran,loring,longstreet,loiselle,lenihan,kunze,koepke,kerwin,kalinowski,kagan,innis,innes,holtzman,heinemann,harshman,haider,haack,grondin,grissett,greenawalt,goudy,goodlett,goldston,gokey,gardea,galaviz,gafford,gabrielson,furlow,fritch,fordyce,folger,elizalde,ehlert,eckhoff,eccleston,ealey,dubin,diemer,deschamps,delapena,decicco,debolt,cullinan,crittendon,crase,cossey,coppock,coots,colyer,cluck,chamberland,burkhead,bumpus,buchan,borman,birkholz,berardi,benda,behnke,barter,amezquita,wotring,wirtz,wingert,wiesner,whitesides,weyant,wainscott,venezia,varnell,tussey,thurlow,tabares,stiver,stell,starke,stanhope,stanek,sisler,sinnott,siciliano,shehan,selph,seager,scurlock,scranton,santucci,santangelo,saltsman,rogge,rettig,renwick,reidy,reider,redfield,premo,parente,paolucci,palmquist,ohler,netherton,mutchler,morita,mistretta,minnis,middendorf,menzel,mendosa,mendelson,meaux,mcspadden,mcquaid,mcnatt,manigault,maney,mager,lukes,lopresti,liriano,letson,lechuga,lazenby,lauria,larimore,krupp,krupa,kopec,kinchen,kifer,kerney,kerner,kennison,kegley,karcher,justis,johson,jellison,janke,huskins,holzman,hinojos,hefley,hatmaker,harte,halloway,hallenbeck,goodwyn,glaspie,geise,fullwood,fryman,frakes,fraire,farrer,enlow,engen,ellzey,eckles,earles,dunkley,drinkard,dreiling,draeger,dinardo,dills,desroches,desantiago,curlee,crumbley,critchlow,coury,courtright,coffield,cleek,charpentier,cardone,caples,cantin,buntin,bugbee,brinkerhoff,brackin,bourland,blassingame,beacham,banning,auguste,andreasen,amann,almon,alejo,adelman,abston,yerger,wymer,woodberry,windley,whiteaker,westfield,weibel,wanner,waldrep,villani,vanarsdale,utterback,updike,triggs,topete,tolar,tigner,thoms,tauber,tarvin,tally,swiney,sweatman,studebaker,stennett,starrett,stannard,stalvey,sonnenberg,smithey,sieber,sickles,shinault,segars,sanger,salmeron,rothe,rizzi,restrepo,ralls,ragusa,quiroga,papenfuss,oropeza,okane,mudge,mozingo,molinaro,mcvicker,mcgarvey,mcfalls,mccraney,matus,magers,llanos,livermore,linehan,leitner,laymon,lawing,lacourse,kwong,kollar,kneeland,kennett,kellett,kangas,janzen,hutter,huling,hofmeister,hewes,harjo,habib,guice,grullon,greggs,grayer,granier,grable,gowdy,giannini,getchell,gartman,garnica,ganey,gallimore,fetters,fergerson,farlow,fagundes,exley,esteves,enders,edenfield,easterwood,drakeford,dipasquale,desousa,deshields,deeter,dedmon,debord,daughtery,cutts,courtemanche,coursey,copple,coomes,collis,cogburn,clopton,choquette,chaidez,castrejon,calhoon,burbach,bulloch,buchman,bruhn,bohon,blough,baynes,barstow,zeman,zackery,yardley,yamashita,wulff,wilken,wiliams,wickersham,wible,whipkey,wedgeworth,walmsley,walkup,vreeland,verrill,umana,traub,swingle,summey,stroupe,stockstill,steffey,stefanski,statler,stapp,speights,solari,soderberg,shunk,shorey,shewmaker,sheilds,schiffer,schank,schaff,sagers,rochon,riser,rickett,reale,raglin,polen,plata,pitcock,percival,palen,orona,oberle,nocera,navas,nault,mullings,montejano,monreal,minick,middlebrook,meece,mcmillion,mccullen,mauck,marshburn,maillet,mahaney,magner,maclin,lucey,litteral,lippincott,leite,leaks,lamarre,jurgens,jerkins,jager,hurwitz,hughley,hotaling,horstman,hohman,hocker,hively,hipps,hessler,hermanson,hepworth,helland,hedlund,harkless,haigler,gutierez,grindstaff,glantz,giardina,gerken,gadsden,finnerty,farnum,encinas,drakes,dennie,cutlip,curtsinger,couto,cortinas,corby,chiasson,carle,carballo,brindle,borum,bober,blagg,berthiaume,beahm,batres,basnight,backes,axtell,atterberry,alvares,alegria,woodell,wojciechowski,winfree,winbush,wiest,wesner,wamsley,wakeman,verner,truex,trafton,toman,thorsen,theus,tellier,tallant,szeto,strope,stills,simkins,shuey,shaul,servin,serio,serafin,salguero,ryerson,rudder,ruark,rother,rohrbaugh,rohrbach,rohan,rogerson,risher,reeser,pryce,prokop,prins,priebe,prejean,pinheiro,petrone,petri,penson,pearlman,parikh,natoli,murakami,mullikin,mullane,motes,morningstar,mcveigh,mcgrady,mcgaughey,mccurley,marchan,manske,lusby,linde,likens,licon,leroux,lemaire,legette,laskey,laprade,laplant,kolar,kittredge,kinley,kerber,kanagy,jetton,janik,ippolito,inouye,hunsinger,howley,howery,horrell,holthaus,hiner,hilson,hilderbrand,hartzler,harnish,harada,hansford,halligan,hagedorn,gwynn,gudino,greenstein,greear,gracey,goudeau,goodner,ginsburg,gerth,gerner,fujii,frier,frenette,folmar,fleisher,fleischmann,fetzer,eisenman,earhart,dupuy,dunkelberger,drexler,dillinger,dilbeck,dewald,demby,deford,craine,chesnut,casady,carstens,carrick,carino,carignan,canchola,bushong,burman,buono,brownlow,broach,britten,brickhouse,boyden,boulton,borland,bohrer,blubaugh,bever,berggren,benevides,arocho,arends,amezcua,almendarez,zalewski,witzel,winkfield,wilhoite,vangundy,vanfleet,vanetten,vandergriff,urbanski,troiano,thibodaux,straus,stoneking,stjean,stillings,stange,speicher,speegle,smeltzer,slawson,simmonds,shuttleworth,serpa,senger,seidman,schweiger,schloss,schimmel,schechter,sayler,sabatini,ronan,rodiguez,riggleman,richins,reamer,prunty,porath,plunk,piland,philbrook,pettitt,perna,peralez,pascale,padula,oboyle,nivens,nickols,mundt,munden,montijo,mcmanis,mcgrane,mccrimmon,manzi,mangold,malick,mahar,maddock,losey,litten,leedy,leavell,ladue,krahn,kluge,junker,iversen,imler,hurtt,huizar,hubbert,howington,hollomon,holdren,hoisington,heiden,hauge,hartigan,gutirrez,griffie,greenhill,gratton,granata,gottfried,gertz,gautreaux,furry,furey,funderburg,flippen,fitzgibbon,drucker,donoghue,dildy,devers,detweiler,despres,denby,degeorge,cueto,cranston,courville,clukey,cirillo,chivers,caudillo,butera,bulluck,buckmaster,braunstein,bracamonte,bourdeau,bonnette".split(","),
17922us_tv_and_film:"you,i,to,that,it,me,what,this,know,i'm,no,have,my,don't,just,not,do,be,your,we,it's,so,but,all,well,oh,about,right,you're,get,here,out,going,like,yeah,if,can,up,want,think,that's,now,go,him,how,got,did,why,see,come,good,really,look,will,okay,back,can't,mean,tell,i'll,hey,he's,could,didn't,yes,something,because,say,take,way,little,make,need,gonna,never,we're,too,she's,i've,sure,our,sorry,what's,let,thing,maybe,down,man,very,there's,should,anything,said,much,any,even,off,please,doing,thank,give,thought,help,talk,god,still,wait,find,nothing,again,things,let's,doesn't,call,told,great,better,ever,night,away,believe,feel,everything,you've,fine,last,keep,does,put,around,stop,they're,i'd,guy,isn't,always,listen,wanted,guys,huh,those,big,lot,happened,thanks,won't,trying,kind,wrong,talking,guess,care,bad,mom,remember,getting,we'll,together,dad,leave,understand,wouldn't,actually,hear,baby,nice,father,else,stay,done,wasn't,course,might,mind,every,enough,try,hell,came,someone,you'll,whole,yourself,idea,ask,must,coming,looking,woman,room,knew,tonight,real,son,hope,went,hmm,happy,pretty,saw,girl,sir,friend,already,saying,next,job,problem,minute,thinking,haven't,heard,honey,matter,myself,couldn't,exactly,having,probably,happen,we've,hurt,boy,dead,gotta,alone,excuse,start,kill,hard,you'd,today,car,ready,without,wants,hold,wanna,yet,seen,deal,once,gone,morning,supposed,friends,head,stuff,worry,live,truth,face,forget,true,cause,soon,knows,telling,wife,who's,chance,run,move,anyone,person,bye,somebody,heart,miss,making,meet,anyway,phone,reason,damn,lost,looks,bring,case,turn,wish,tomorrow,kids,trust,check,change,anymore,least,aren't,working,makes,taking,means,brother,hate,ago,says,beautiful,gave,fact,crazy,sit,afraid,important,rest,fun,kid,word,watch,glad,everyone,sister,minutes,everybody,bit,couple,whoa,either,mrs,feeling,daughter,wow,gets,asked,break,promise,door,close,hand,easy,question,tried,far,walk,needs,mine,killed,hospital,anybody,alright,wedding,shut,able,die,perfect,stand,comes,hit,waiting,dinner,funny,husband,almost,pay,answer,cool,eyes,news,child,shouldn't,yours,moment,sleep,read,where's,sounds,sonny,pick,sometimes,bed,date,plan,hours,lose,hands,serious,shit,behind,inside,ahead,week,wonderful,fight,past,cut,quite,he'll,sick,it'll,eat,nobody,goes,save,seems,finally,lives,worried,upset,carly,met,brought,seem,sort,safe,weren't,leaving,front,shot,loved,asking,running,clear,figure,hot,felt,parents,drink,absolutely,how's,daddy,sweet,alive,sense,meant,happens,bet,blood,ain't,kidding,lie,meeting,dear,seeing,sound,fault,ten,buy,hour,speak,lady,jen,thinks,christmas,outside,hang,possible,worse,mistake,ooh,handle,spend,totally,giving,here's,marriage,realize,unless,sex,send,needed,scared,picture,talked,ass,hundred,changed,completely,explain,certainly,sign,boys,relationship,loves,hair,lying,choice,anywhere,future,weird,luck,she'll,turned,touch,kiss,crane,questions,obviously,wonder,pain,calling,somewhere,throw,straight,cold,fast,words,food,none,drive,feelings,they'll,marry,drop,cannot,dream,protect,twenty,surprise,sweetheart,poor,looked,mad,except,gun,y'know,dance,takes,appreciate,especially,situation,besides,pull,hasn't,worth,sheridan,amazing,expect,swear,piece,busy,happening,movie,we'd,catch,perhaps,step,fall,watching,kept,darling,dog,honor,moving,till,admit,problems,murder,he'd,evil,definitely,feels,honest,eye,broke,missed,longer,dollars,tired,evening,starting,entire,trip,niles,suppose,calm,imagine,fair,caught,blame,sitting,favor,apartment,terrible,clean,learn,frasier,relax,accident,wake,prove,smart,message,missing,forgot,interested,table,nbsp,mouth,pregnant,ring,careful,shall,dude,ride,figured,wear,shoot,stick,follow,angry,write,stopped,ran,standing,forgive,jail,wearing,ladies,kinda,lunch,cristian,greenlee,gotten,hoping,phoebe,thousand,ridge,paper,tough,tape,count,boyfriend,proud,agree,birthday,they've,share,offer,hurry,feet,wondering,decision,ones,finish,voice,herself,would've,mess,deserve,evidence,cute,dress,interesting,hotel,enjoy,quiet,concerned,staying,beat,sweetie,mention,clothes,fell,neither,mmm,fix,respect,prison,attention,holding,calls,surprised,bar,keeping,gift,hadn't,putting,dark,owe,ice,helping,normal,aunt,lawyer,apart,plans,jax,girlfriend,floor,whether,everything's,box,judge,upstairs,sake,mommy,possibly,worst,acting,accept,blow,strange,saved,conversation,plane,mama,yesterday,lied,quick,lately,stuck,difference,store,she'd,bought,doubt,listening,walking,cops,deep,dangerous,buffy,sleeping,chloe,rafe,join,card,crime,gentlemen,willing,window,walked,guilty,likes,fighting,difficult,soul,joke,favorite,uncle,promised,bother,seriously,cell,knowing,broken,advice,somehow,paid,losing,push,helped,killing,boss,liked,innocent,rules,learned,thirty,risk,letting,speaking,ridiculous,afternoon,apologize,nervous,charge,patient,boat,how'd,hide,detective,planning,huge,breakfast,horrible,awful,pleasure,driving,hanging,picked,sell,quit,apparently,dying,notice,congratulations,visit,could've,c'mon,letter,decide,forward,fool,showed,smell,seemed,spell,memory,pictures,slow,seconds,hungry,hearing,kitchen,ma'am,should've,realized,kick,grab,discuss,fifty,reading,idiot,suddenly,agent,destroy,bucks,shoes,peace,arms,demon,livvie,consider,papers,incredible,witch,drunk,attorney,tells,knock,ways,gives,nose,skye,turns,keeps,jealous,drug,sooner,cares,plenty,extra,outta,weekend,matters,gosh,opportunity,impossible,waste,pretend,jump,eating,proof,slept,arrest,breathe,perfectly,warm,pulled,twice,easier,goin,dating,suit,romantic,drugs,comfortable,finds,checked,divorce,begin,ourselves,closer,ruin,smile,laugh,treat,fear,what'd,otherwise,excited,mail,hiding,stole,pacey,noticed,fired,excellent,bringing,bottom,note,sudden,bathroom,honestly,sing,foot,remind,charges,witness,finding,tree,dare,hardly,that'll,steal,silly,contact,teach,shop,plus,colonel,fresh,trial,invited,roll,reach,dirty,choose,emergency,dropped,butt,credit,obvious,locked,loving,nuts,agreed,prue,goodbye,condition,guard,fuckin,grow,cake,mood,crap,crying,belong,partner,trick,pressure,dressed,taste,neck,nurse,raise,lots,carry,whoever,drinking,they'd,breaking,file,lock,wine,spot,paying,assume,asleep,turning,viki,bedroom,shower,nikolas,camera,fill,reasons,forty,bigger,nope,breath,doctors,pants,freak,movies,folks,cream,wild,truly,desk,convince,client,threw,hurts,spending,answers,shirt,chair,rough,doin,sees,ought,empty,wind,aware,dealing,pack,tight,hurting,guest,arrested,salem,confused,surgery,expecting,deacon,unfortunately,goddamn,bottle,beyond,whenever,pool,opinion,starts,jerk,secrets,falling,necessary,barely,dancing,tests,copy,cousin,ahem,twelve,tess,skin,fifteen,speech,orders,complicated,nowhere,escape,biggest,restaurant,grateful,usual,burn,address,someplace,screw,everywhere,regret,goodness,mistakes,details,responsibility,suspect,corner,hero,dumb,terrific,whoo,hole,memories,o'clock,teeth,ruined,bite,stenbeck,liar,showing,cards,desperate,search,pathetic,spoke,scare,marah,afford,settle,stayed,checking,hired,heads,concern,blew,alcazar,champagne,connection,tickets,happiness,saving,kissing,hated,personally,suggest,prepared,onto,downstairs,ticket,it'd,loose,holy,duty,convinced,throwing,kissed,legs,loud,saturday,babies,where'd,warning,miracle,carrying,blind,ugly,shopping,hates,sight,bride,coat,clearly,celebrate,brilliant,wanting,forrester,lips,custody,screwed,buying,toast,thoughts,reality,lexie,attitude,advantage,grandfather,sami,grandma,someday,roof,marrying,powerful,grown,grandmother,fake,must've,ideas,exciting,familiar,bomb,bout,harmony,schedule,capable,practically,correct,clue,forgotten,appointment,deserves,threat,bloody,lonely,shame,jacket,hook,scary,investigation,invite,shooting,lesson,criminal,victim,funeral,considering,burning,strength,harder,sisters,pushed,shock,pushing,heat,chocolate,miserable,corinthos,nightmare,brings,zander,crash,chances,sending,recognize,healthy,boring,feed,engaged,headed,treated,knife,drag,badly,hire,paint,pardon,behavior,closet,warn,gorgeous,milk,survive,ends,dump,rent,remembered,thanksgiving,rain,revenge,prefer,spare,pray,disappeared,aside,statement,sometime,meat,fantastic,breathing,laughing,stood,affair,ours,depends,protecting,jury,brave,fingers,murdered,explanation,picking,blah,stronger,handsome,unbelievable,anytime,shake,oakdale,wherever,pulling,facts,waited,lousy,circumstances,disappointed,weak,trusted,license,nothin,trash,understanding,slip,sounded,awake,friendship,stomach,weapon,threatened,mystery,vegas,understood,basically,switch,frankly,cheap,lifetime,deny,clock,garbage,why'd,tear,ears,indeed,changing,singing,tiny,decent,avoid,messed,filled,touched,disappear,exact,pills,kicked,harm,fortune,pretending,insurance,fancy,drove,cared,belongs,nights,lorelai,lift,timing,guarantee,chest,woke,burned,watched,heading,selfish,drinks,doll,committed,elevator,freeze,noise,wasting,ceremony,uncomfortable,staring,files,bike,stress,permission,thrown,possibility,borrow,fabulous,doors,screaming,bone,xander,what're,meal,apology,anger,honeymoon,bail,parking,fixed,wash,stolen,sensitive,stealing,photo,chose,lets,comfort,worrying,pocket,mateo,bleeding,shoulder,ignore,talent,tied,garage,dies,demons,dumped,witches,rude,crack,bothering,radar,soft,meantime,gimme,kinds,fate,concentrate,throat,prom,messages,intend,ashamed,somethin,manage,guilt,interrupt,guts,tongue,shoe,basement,sentence,purse,glasses,cabin,universe,repeat,mirror,wound,travers,tall,engagement,therapy,emotional,jeez,decisions,soup,thrilled,stake,chef,moves,extremely,moments,expensive,counting,shots,kidnapped,cleaning,shift,plate,impressed,smells,trapped,aidan,knocked,charming,attractive,argue,puts,whip,embarrassed,package,hitting,bust,stairs,alarm,pure,nail,nerve,incredibly,walks,dirt,stamp,terribly,friendly,damned,jobs,suffering,disgusting,stopping,deliver,riding,helps,disaster,bars,crossed,trap,talks,eggs,chick,threatening,spoken,introduce,confession,embarrassing,bags,impression,gate,reputation,presents,chat,suffer,argument,talkin,crowd,homework,coincidence,cancel,pride,solve,hopefully,pounds,pine,mate,illegal,generous,outfit,maid,bath,punch,freaked,begging,recall,enjoying,prepare,wheel,defend,signs,painful,yourselves,maris,that'd,suspicious,cooking,button,warned,sixty,pity,yelling,awhile,confidence,offering,pleased,panic,hers,gettin,refuse,grandpa,testify,choices,cruel,mental,gentleman,coma,cutting,proteus,guests,expert,benefit,faces,jumped,toilet,sneak,halloween,privacy,smoking,reminds,twins,swing,solid,options,commitment,crush,ambulance,wallet,gang,eleven,option,laundry,assure,stays,skip,fail,discussion,clinic,betrayed,sticking,bored,mansion,soda,sheriff,suite,handled,busted,load,happier,studying,romance,procedure,commit,assignment,suicide,minds,swim,yell,llanview,chasing,proper,believes,humor,hopes,lawyers,giant,latest,escaped,parent,tricks,insist,dropping,cheer,medication,flesh,routine,sandwich,handed,false,beating,warrant,awfully,odds,treating,thin,suggesting,fever,sweat,silent,clever,sweater,mall,sharing,assuming,judgment,goodnight,divorced,surely,steps,confess,math,listened,comin,answered,vulnerable,bless,dreaming,chip,zero,pissed,nate,kills,tears,knees,chill,brains,unusual,packed,dreamed,cure,lookin,grave,cheating,breaks,locker,gifts,awkward,thursday,joking,reasonable,dozen,curse,quartermaine,millions,dessert,rolling,detail,alien,delicious,closing,vampires,wore,tail,secure,salad,murderer,spit,offense,dust,conscience,bread,answering,lame,invitation,grief,smiling,pregnancy,prisoner,delivery,guards,virus,shrink,freezing,wreck,massimo,wire,technically,blown,anxious,cave,holidays,cleared,wishes,caring,candles,bound,charm,pulse,jumping,jokes,boom,occasion,silence,nonsense,frightened,slipped,dimera,blowing,relationships,kidnapping,spin,tool,roxy,packing,blaming,wrap,obsessed,fruit,torture,personality,there'll,fairy,necessarily,seventy,print,motel,underwear,grams,exhausted,believing,freaking,carefully,trace,touching,messing,recovery,intention,consequences,belt,sacrifice,courage,enjoyed,attracted,remove,testimony,intense,heal,defending,unfair,relieved,loyal,slowly,buzz,alcohol,surprises,psychiatrist,plain,attic,who'd,uniform,terrified,cleaned,zach,threaten,fella,enemies,satisfied,imagination,hooked,headache,forgetting,counselor,andie,acted,badge,naturally,frozen,sakes,appropriate,trunk,dunno,costume,sixteen,impressive,kicking,junk,grabbed,understands,describe,clients,owns,affect,witnesses,starving,instincts,happily,discussing,deserved,strangers,surveillance,admire,questioning,dragged,barn,deeply,wrapped,wasted,tense,hoped,fellas,roommate,mortal,fascinating,stops,arrangements,agenda,literally,propose,honesty,underneath,sauce,promises,lecture,eighty,torn,shocked,backup,differently,ninety,deck,biological,pheebs,ease,creep,waitress,telephone,ripped,raising,scratch,rings,prints,thee,arguing,ephram,asks,oops,diner,annoying,taggert,sergeant,blast,towel,clown,habit,creature,bermuda,snap,react,paranoid,handling,eaten,therapist,comment,sink,reporter,nurses,beats,priority,interrupting,warehouse,loyalty,inspector,pleasant,excuses,threats,guessing,tend,praying,motive,unconscious,mysterious,unhappy,tone,switched,rappaport,sookie,neighbor,loaded,swore,piss,balance,toss,misery,thief,squeeze,lobby,goa'uld,geez,exercise,forth,booked,sandburg,poker,eighteen,d'you,bury,everyday,digging,creepy,wondered,liver,hmmm,magical,fits,discussed,moral,helpful,searching,flew,depressed,aisle,cris,amen,vows,neighbors,darn,cents,arrange,annulment,useless,adventure,resist,fourteen,celebrating,inch,debt,violent,sand,teal'c,celebration,reminded,phones,paperwork,emotions,stubborn,pound,tension,stroke,steady,overnight,chips,beef,suits,boxes,cassadine,collect,tragedy,spoil,realm,wipe,surgeon,stretch,stepped,nephew,neat,limo,confident,perspective,climb,punishment,finest,springfield,hint,furniture,blanket,twist,proceed,fries,worries,niece,gloves,soap,signature,disappoint,crawl,convicted,flip,counsel,doubts,crimes,accusing,shaking,remembering,hallway,halfway,bothered,madam,gather,cameras,blackmail,symptoms,rope,ordinary,imagined,cigarette,supportive,explosion,trauma,ouch,furious,cheat,avoiding,whew,thick,oooh,boarding,approve,urgent,shhh,misunderstanding,drawer,phony,interfere,catching,bargain,tragic,respond,punish,penthouse,thou,rach,ohhh,insult,bugs,beside,begged,absolute,strictly,socks,senses,sneaking,reward,polite,checks,tale,physically,instructions,fooled,blows,tabby,bitter,adorable,y'all,tested,suggestion,jewelry,alike,jacks,distracted,shelter,lessons,constable,circus,audition,tune,shoulders,mask,helpless,feeding,explains,sucked,robbery,objection,behave,valuable,shadows,courtroom,confusing,talented,smarter,mistaken,customer,bizarre,scaring,motherfucker,alert,vecchio,reverend,foolish,compliment,bastards,worker,wheelchair,protective,gentle,reverse,picnic,knee,cage,wives,wednesday,voices,toes,stink,scares,pour,cheated,slide,ruining,filling,exit,cottage,upside,proves,parked,diary,complaining,confessed,pipe,merely,massage,chop,spill,prayer,betray,waiter,scam,rats,fraud,brush,tables,sympathy,pill,filthy,seventeen,employee,bracelet,pays,fairly,deeper,arrive,tracking,spite,shed,recommend,oughta,nanny,menu,diet,corn,roses,patch,dime,devastated,subtle,bullets,beans,pile,confirm,strings,parade,borrowed,toys,straighten,steak,premonition,planted,honored,exam,convenient,traveling,laying,insisted,dish,aitoro,kindly,grandson,donor,temper,teenager,proven,mothers,denial,backwards,tent,swell,noon,happiest,drives,thinkin,spirits,potion,holes,fence,whatsoever,rehearsal,overheard,lemme,hostage,bench,tryin,taxi,shove,moron,impress,needle,intelligent,instant,disagree,stinks,rianna,recover,groom,gesture,constantly,bartender,suspects,sealed,legally,hears,dresses,sheet,psychic,teenage,knocking,judging,accidentally,waking,rumor,manners,homeless,hollow,desperately,tapes,referring,item,genoa,gear,majesty,cried,tons,spells,instinct,quote,motorcycle,convincing,fashioned,aids,accomplished,grip,bump,upsetting,needing,invisible,forgiveness,feds,compare,bothers,tooth,inviting,earn,compromise,cocktail,tramp,jabot,intimate,dignity,dealt,souls,informed,gods,dressing,cigarettes,alistair,leak,fond,corky,seduce,liquor,fingerprints,enchantment,butters,stuffed,stavros,emotionally,transplant,tips,oxygen,nicely,lunatic,drill,complain,announcement,unfortunate,slap,prayers,plug,opens,oath,o'neill,mutual,yacht,remembers,fried,extraordinary,bait,warton,sworn,stare,safely,reunion,burst,might've,dive,aboard,expose,buddies,trusting,booze,sweep,sore,scudder,properly,parole,ditch,canceled,speaks,glow,wears,thirsty,skull,ringing,dorm,dining,bend,unexpected,pancakes,harsh,flattered,ahhh,troubles,fights,favourite,eats,rage,undercover,spoiled,sloane,shine,destroying,deliberately,conspiracy,thoughtful,sandwiches,plates,nails,miracles,fridge,drank,contrary,beloved,allergic,washed,stalking,solved,sack,misses,forgiven,bent,maciver,involve,dragging,cooked,pointing,foul,dull,beneath,heels,faking,deaf,stunt,jealousy,hopeless,fears,cuts,scenario,necklace,crashed,accuse,restraining,homicide,helicopter,firing,safer,auction,videotape,tore,reservations,pops,appetite,wounds,vanquish,ironic,fathers,excitement,anyhow,tearing,sends,rape,laughed,belly,dealer,cooperate,accomplish,wakes,spotted,sorts,reservation,ashes,tastes,supposedly,loft,intentions,integrity,wished,towels,suspected,investigating,inappropriate,lipstick,lawn,compassion,cafeteria,scarf,precisely,obsession,loses,lighten,infection,granddaughter,explode,balcony,this'll,spying,publicity,depend,cracked,conscious,ally,absurd,vicious,invented,forbid,directions,defendant,bare,announce,screwing,salesman,robbed,leap,lakeview,insanity,reveal,possibilities,kidnap,gown,chairs,wishing,setup,punished,criminals,regrets,raped,quarters,lamp,dentist,anyways,anonymous,semester,risks,owes,lungs,explaining,delicate,tricked,eager,doomed,adoption,stab,sickness,scum,floating,envelope,vault,sorel,pretended,potatoes,plea,photograph,payback,misunderstood,kiddo,healing,cascade,capeside,stabbed,remarkable,brat,privilege,passionate,nerves,lawsuit,kidney,disturbed,cozy,tire,shirts,oven,ordering,delay,risky,monsters,honorable,grounded,closest,breakdown,bald,abandon,scar,collar,worthless,sucking,enormous,disturbing,disturb,distract,deals,conclusions,vodka,dishes,crawling,briefcase,wiped,whistle,sits,roast,rented,pigs,flirting,deposit,bottles,topic,riot,overreacting,logical,hostile,embarrass,casual,beacon,amusing,altar,claus,survival,skirt,shave,porch,ghosts,favors,drops,dizzy,chili,advise,strikes,rehab,photographer,peaceful,leery,heavens,fortunately,fooling,expectations,cigar,weakness,ranch,practicing,examine,cranes,bribe,sail,prescription,hush,fragile,forensics,expense,drugged,cows,bells,visitor,suitcase,sorta,scan,manticore,insecure,imagining,hardest,clerk,wrist,what'll,starters,silk,pump,pale,nicer,haul,flies,boot,thumb,there'd,how're,elders,quietly,pulls,idiots,erase,denying,ankle,amnesia,accepting,heartbeat,devane,confront,minus,legitimate,fixing,arrogant,tuna,supper,slightest,sins,sayin,recipe,pier,paternity,humiliating,genuine,snack,rational,minded,guessed,weddings,tumor,humiliated,aspirin,spray,picks,eyed,drowning,contacts,ritual,perfume,hiring,hating,docks,creatures,visions,thanking,thankful,sock,nineteen,fork,throws,teenagers,stressed,slice,rolls,plead,ladder,kicks,detectives,assured,tellin,shallow,responsibilities,repay,howdy,girlfriends,deadly,comforting,ceiling,verdict,insensitive,spilled,respected,messy,interrupted,halliwell,blond,bleed,wardrobe,takin,murders,backs,underestimate,justify,harmless,frustrated,fold,enzo,communicate,bugging,arson,whack,salary,rumors,obligation,liking,dearest,congratulate,vengeance,rack,puzzle,fires,courtesy,caller,blamed,tops,quiz,prep,curiosity,circles,barbecue,sunnydale,spinning,psychotic,cough,accusations,resent,laughs,freshman,envy,drown,bartlet,asses,sofa,poster,highness,dock,apologies,theirs,stat,stall,realizes,psych,mmmm,fools,understandable,treats,succeed,stir,relaxed,makin,gratitude,faithful,accent,witter,wandering,locate,inevitable,gretel,deed,crushed,controlling,smelled,robe,gossip,gambling,cosmetics,accidents,surprising,stiff,sincere,rushed,refrigerator,preparing,nightmares,mijo,ignoring,hunch,fireworks,drowned,brass,whispering,sophisticated,luggage,hike,explore,emotion,crashing,contacted,complications,shining,rolled,righteous,reconsider,goody,geek,frightening,ethics,creeps,courthouse,camping,affection,smythe,haircut,essay,baked,apologized,vibe,respects,receipt,mami,hats,destructive,adore,adopt,tracked,shorts,reminding,dough,creations,cabot,barrel,snuck,slight,reporters,pressing,magnificent,madame,lazy,glorious,fiancee,bits,visitation,sane,kindness,shoulda,rescued,mattress,lounge,lifted,importantly,glove,enterprises,disappointment,condo,beings,admitting,yelled,waving,spoon,screech,satisfaction,reads,nailed,worm,tick,resting,marvelous,fuss,cortlandt,chased,pockets,luckily,lilith,filing,conversations,consideration,consciousness,worlds,innocence,forehead,aggressive,trailer,slam,quitting,inform,delighted,daylight,danced,confidential,aunts,washing,tossed,spectra,marrow,lined,implying,hatred,grill,corpse,clues,sober,offended,morgue,infected,humanity,distraction,cart,wired,violation,promising,harassment,glue,d'angelo,cursed,brutal,warlocks,wagon,unpleasant,proving,priorities,mustn't,lease,flame,disappearance,depressing,thrill,sitter,ribs,flush,earrings,deadline,corporal,collapsed,update,snapped,smack,melt,figuring,delusional,coulda,burnt,tender,sperm,realise,pork,popped,interrogation,esteem,choosing,undo,pres,prayed,plague,manipulate,insulting,detention,delightful,coffeehouse,betrayal,apologizing,adjust,wrecked,wont,whipped,rides,reminder,monsieur,faint,bake,distress,correctly,complaint,blocked,tortured,risking,pointless,handing,dumping,cups,alibi,struggling,shiny,risked,mummy,mint,hose,hobby,fortunate,fleischman,fitting,curtain,counseling,rode,puppet,modeling,memo,irresponsible,humiliation,hiya,freakin,felony,choke,blackmailing,appreciated,tabloid,suspicion,recovering,pledge,panicked,nursery,louder,jeans,investigator,homecoming,frustrating,buys,busting,buff,sleeve,irony,dope,declare,autopsy,workin,torch,prick,limb,hysterical,goddamnit,fetch,dimension,crowded,clip,climbing,bonding,woah,trusts,negotiate,lethal,iced,fantasies,deeds,bore,babysitter,questioned,outrageous,kiriakis,insulted,grudge,driveway,deserted,definite,beep,wires,suggestions,searched,owed,lend,drunken,demanding,costanza,conviction,bumped,weigh,touches,tempted,shout,resolve,relate,poisoned,meals,invitations,haunted,bogus,autograph,affects,tolerate,stepping,spontaneous,sleeps,probation,manny,fist,spectacular,hostages,heroin,havin,habits,encouraging,consult,burgers,boyfriends,bailed,baggage,watches,troubled,torturing,teasing,sweetest,qualities,postpone,overwhelmed,malkovich,impulse,classy,charging,amazed,policeman,hypocrite,humiliate,hideous,d'ya,costumes,bluffing,betting,bein,bedtime,alcoholic,vegetable,tray,suspicions,spreading,splendid,shrimp,shouting,pressed,nooo,grieving,gladly,fling,eliminate,cereal,aaah,sonofabitch,paralyzed,lotta,locks,guaranteed,dummy,despise,dental,briefing,bluff,batteries,whatta,sounding,servants,presume,handwriting,fainted,dried,allright,acknowledge,whacked,toxic,reliable,quicker,overwhelming,lining,harassing,fatal,endless,dolls,convict,whatcha,unlikely,shutting,positively,overcome,goddam,essence,dose,diagnosis,cured,bully,ahold,yearbook,tempting,shelf,prosecution,pouring,possessed,greedy,wonders,thorough,spine,rath,psychiatric,meaningless,latte,jammed,ignored,fiance,evidently,contempt,compromised,cans,weekends,urge,theft,suing,shipment,scissors,responding,proposition,noises,matching,hormones,hail,grandchildren,gently,smashed,sexually,sentimental,nicest,manipulated,intern,handcuffs,framed,errands,entertaining,crib,carriage,barge,spends,slipping,seated,rubbing,rely,reject,recommendation,reckon,headaches,float,embrace,corners,whining,sweating,skipped,mountie,motives,listens,cristobel,cleaner,cheerleader,balsom,unnecessary,stunning,scent,quartermaines,pose,montega,loosen,info,hottest,haunt,gracious,forgiving,errand,cakes,blames,abortion,sketch,shifts,plotting,perimeter,pals,mere,mattered,lonigan,interference,eyewitness,enthusiasm,diapers,strongest,shaken,punched,portal,catches,backyard,terrorists,sabotage,organs,needy,cuff,civilization,woof,who'll,prank,obnoxious,mates,hereby,gabby,faked,cellar,whitelighter,void,strangle,sour,muffins,interfering,demonic,clearing,boutique,barrington,terrace,smoked,righty,quack,petey,pact,knot,ketchup,disappearing,cordy,uptight,ticking,terrifying,tease,swamp,secretly,rejection,reflection,realizing,rays,mentally,marone,doubted,deception,congressman,cheesy,toto,stalling,scoop,ribbon,immune,expects,destined,bets,bathing,appreciation,accomplice,wander,shoved,sewer,scroll,retire,lasts,fugitive,freezer,discount,cranky,crank,clearance,bodyguard,anxiety,accountant,whoops,volunteered,talents,stinking,remotely,garlic,decency,cord,beds,altogether,uniforms,tremendous,popping,outa,observe,lung,hangs,feelin,dudes,donation,disguise,curb,bites,antique,toothbrush,realistic,predict,landlord,hourglass,hesitate,consolation,babbling,tipped,stranded,smartest,repeating,puke,psst,paycheck,overreacted,macho,juvenile,grocery,freshen,disposal,cuffs,caffeine,vanished,unfinished,ripping,pinch,flattering,expenses,dinners,colleague,ciao,belthazor,attorneys,woulda,whereabouts,waitin,truce,tripped,tasted,steer,poisoning,manipulative,immature,husbands,heel,granddad,delivering,condoms,addict,trashed,raining,pasta,needles,leaning,detector,coolest,batch,appointments,almighty,vegetables,spark,perfection,pains,momma,mole,meow,hairs,getaway,cracking,compliments,behold,verge,tougher,timer,tapped,taped,specialty,snooping,shoots,rendezvous,pentagon,leverage,jeopardize,janitor,grandparents,forbidden,clueless,bidding,ungrateful,unacceptable,tutor,serum,scuse,pajamas,mouths,lure,irrational,doom,cries,beautifully,arresting,approaching,traitor,sympathetic,smug,smash,rental,prostitute,premonitions,jumps,inventory,darlin,committing,banging,asap,worms,violated,vent,traumatic,traced,sweaty,shaft,overboard,insight,healed,grasp,experiencing,crappy,crab,chunk,awww,stain,shack,reacted,pronounce,poured,moms,marriages,jabez,handful,flipped,fireplace,embarrassment,disappears,concussion,bruises,brakes,twisting,swept,summon,splitting,sloppy,settling,reschedule,notch,hooray,grabbing,exquisite,disrespect,thornhart,straw,slapped,shipped,shattered,ruthless,refill,payroll,numb,mourning,manly,hunk,entertain,drift,dreadful,doorstep,confirmation,chops,appreciates,vague,tires,stressful,stashed,stash,sensed,preoccupied,predictable,noticing,madly,gunshot,dozens,dork,confuse,cleaners,charade,chalk,cappuccino,bouquet,amulet,addiction,who've,warming,unlock,satisfy,sacrificed,relaxing,lone,blocking,blend,blankets,addicted,yuck,hunger,hamburger,greeting,greet,gravy,gram,dreamt,dice,caution,backpack,agreeing,whale,taller,supervisor,sacrifices,phew,ounce,irrelevant,gran,felon,favorites,farther,fade,erased,easiest,convenience,compassionate,cane,backstage,agony,adores,veins,tweek,thieves,surgical,strangely,stetson,recital,proposing,productive,meaningful,immunity,hassle,goddamned,frighten,dearly,cease,ambition,wage,unstable,salvage,richer,refusing,raging,pumping,pressuring,mortals,lowlife,intimidated,intentionally,inspire,forgave,devotion,despicable,deciding,dash,comfy,breach,bark,aaaah,switching,swallowed,stove,screamed,scars,russians,pounding,poof,pipes,pawn,legit,invest,farewell,curtains,civilized,caviar,boost,token,superstition,supernatural,sadness,recorder,psyched,motivated,microwave,hallelujah,fraternity,dryer,cocoa,chewing,acceptable,unbelievably,smiled,smelling,simpler,respectable,remarks,khasinau,indication,gutter,grabs,fulfill,flashlight,ellenor,blooded,blink,blessings,beware,uhhh,turf,swings,slips,shovel,shocking,puff,mirrors,locking,heartless,fras,childish,cardiac,utterly,tuscany,ticked,stunned,statesville,sadly,purely,kiddin,jerks,hitch,flirt,fare,equals,dismiss,christening,casket,c'mere,breakup,biting,antibiotics,accusation,abducted,witchcraft,thread,runnin,punching,paramedics,newest,murdering,masks,lawndale,initials,grampa,choking,charms,careless,bushes,buns,bummed,shred,saves,saddle,rethink,regards,precinct,persuade,meds,manipulating,llanfair,leash,hearted,guarantees,fucks,disgrace,deposition,bookstore,boil,vitals,veil,trespassing,sidewalk,sensible,punishing,overtime,optimistic,obsessing,notify,mornin,jeopardy,jaffa,injection,hilarious,desires,confide,cautious,yada,where're,vindictive,vial,teeny,stroll,sittin,scrub,rebuild,posters,ordeal,nuns,intimacy,inheritance,exploded,donate,distracting,despair,crackers,wildwind,virtue,thoroughly,tails,spicy,sketches,sights,sheer,shaving,seize,scarecrow,refreshing,prosecute,platter,napkin,misplaced,merchandise,loony,jinx,heroic,frankenstein,ambitious,syrup,solitary,resemblance,reacting,premature,lavery,flashes,cheque,awright,acquainted,wrapping,untie,salute,realised,priceless,partying,lightly,lifting,kasnoff,insisting,glowing,generator,explosives,cutie,confronted,buts,blouse,ballistic,antidote,analyze,allowance,adjourned,unto,understatement,tucked,touchy,subconscious,screws,sarge,roommates,rambaldi,offend,nerd,knives,irresistible,incapable,hostility,goddammit,fuse,frat,curfew,blackmailed,walkin,starve,sleigh,sarcastic,recess,rebound,pinned,parlor,outfits,livin,heartache,haired,fundraiser,doorman,discreet,dilucca,cracks,considerate,climbed,catering,apophis,zoey,urine,strung,stitches,sordid,sark,protector,phoned,pets,hostess,flaw,flavor,deveraux,consumed,confidentiality,bourbon,straightened,specials,spaghetti,prettier,powerless,playin,playground,paranoia,instantly,havoc,exaggerating,eavesdropping,doughnuts,diversion,deepest,cutest,comb,bela,behaving,anyplace,accessory,workout,translate,stuffing,speeding,slime,royalty,polls,marital,lurking,lottery,imaginary,greetings,fairwinds,elegant,elbow,credibility,credentials,claws,chopped,bridal,bedside,babysitting,witty,unforgivable,underworld,tempt,tabs,sophomore,selfless,secrecy,restless,okey,movin,metaphor,messes,meltdown,lecter,incoming,gasoline,diefenbaker,buckle,admired,adjustment,warmth,throats,seduced,queer,parenting,noses,luckiest,graveyard,gifted,footsteps,dimeras,cynical,wedded,verbal,unpredictable,tuned,stoop,slides,sinking,rigged,plumbing,lingerie,hankey,greed,everwood,elope,dresser,chauffeur,bulletin,bugged,bouncing,temptation,strangest,slammed,sarcasm,pending,packages,orderly,obsessive,murderers,meteor,inconvenience,glimpse,froze,execute,courageous,consulate,closes,bosses,bees,amends,wuss,wolfram,wacky,unemployed,testifying,syringe,stew,startled,sorrow,sleazy,shaky,screams,rsquo,remark,poke,nutty,mentioning,mend,inspiring,impulsive,housekeeper,foam,fingernails,conditioning,baking,whine,thug,starved,sniffing,sedative,programmed,picket,paged,hound,homosexual,homo,hips,forgets,flipping,flea,flatter,dwell,dumpster,choo,assignments,ants,vile,unreasonable,tossing,thanked,steals,souvenir,scratched,psychopath,outs,obstruction,obey,lump,insists,harass,gloat,filth,edgy,didn,coroner,confessing,bruise,betraying,bailing,appealing,adebisi,wrath,wandered,waist,vain,traps,stepfather,poking,obligated,heavenly,dilemma,crazed,contagious,coaster,cheering,bundle,vomit,thingy,speeches,robbing,raft,pumped,pillows,peep,packs,neglected,m'kay,loneliness,intrude,helluva,gardener,forresters,drooling,betcha,vase,supermarket,squat,spitting,rhyme,relieve,receipts,racket,pictured,pause,overdue,motivation,morgendorffer,kidnapper,insect,horns,feminine,eyeballs,dumps,disappointing,crock,convertible,claw,clamp,canned,cambias,bathtub,avanya,artery,weep,warmer,suspense,summoned,spiders,reiber,raving,pushy,postponed,ohhhh,noooo,mold,laughter,incompetent,hugging,groceries,drip,communicating,auntie,adios,wraps,wiser,willingly,weirdest,timmih,thinner,swelling,swat,steroids,sensitivity,scrape,rehearse,prophecy,ledge,justified,insults,hateful,handles,doorway,chatting,buyer,buckaroo,bedrooms,askin,ammo,tutoring,subpoena,scratching,privileges,pager,mart,intriguing,idiotic,grape,enlighten,corrupt,brunch,bridesmaid,barking,applause,acquaintance,wretched,superficial,soak,smoothly,sensing,restraint,posing,pleading,payoff,oprah,nemo,morals,loaf,jumpy,ignorant,herbal,hangin,germs,generosity,flashing,doughnut,clumsy,chocolates,captive,behaved,apologise,vanity,stumbled,preview,poisonous,perjury,parental,onboard,mugged,minding,linen,knots,interviewing,humour,grind,greasy,goons,drastic,coop,comparing,cocky,clearer,bruised,brag,bind,worthwhile,whoop,vanquishing,tabloids,sprung,spotlight,sentencing,racist,provoke,pining,overly,locket,imply,impatient,hovering,hotter,fest,endure,dots,doren,debts,crawled,chained,brit,breaths,weirdo,warmed,wand,troubling,tok'ra,strapped,soaked,skipping,scrambled,rattle,profound,musta,mocking,misunderstand,limousine,kacl,hustle,forensic,enthusiastic,duct,drawers,devastating,conquer,clarify,chores,cheerleaders,cheaper,callin,blushing,barging,abused,yoga,wrecking,wits,waffles,virginity,vibes,uninvited,unfaithful,teller,strangled,scheming,ropes,rescuing,rave,postcard,o'reily,morphine,lotion,lads,kidneys,judgement,itch,indefinitely,grenade,glamorous,genetically,freud,discretion,delusions,crate,competent,bakery,argh,ahhhh,wedge,wager,unfit,tripping,torment,superhero,stirring,spinal,sorority,seminar,scenery,rabble,pneumonia,perks,override,ooooh,mija,manslaughter,mailed,lime,lettuce,intimidate,guarded,grieve,grad,frustration,doorbell,chinatown,authentic,arraignment,annulled,allergies,wanta,verify,vegetarian,tighter,telegram,stalk,spared,shoo,satisfying,saddam,requesting,pens,overprotective,obstacles,notified,nasedo,grandchild,genuinely,flushed,fluids,floss,escaping,ditched,cramp,corny,bunk,bitten,billions,bankrupt,yikes,wrists,ultrasound,ultimatum,thirst,sniff,shakes,salsa,retrieve,reassuring,pumps,neurotic,negotiating,needn't,monitors,millionaire,lydecker,limp,incriminating,hatchet,gracias,gordie,fills,feeds,doubting,decaf,biopsy,whiz,voluntarily,ventilator,unpack,unload,toad,spooked,snitch,schillinger,reassure,persuasive,mystical,mysteries,matrimony,mails,jock,headline,explanations,dispatch,curly,cupid,condolences,comrade,cassadines,bulb,bragging,awaits,assaulted,ambush,adolescent,abort,yank,whit,vaguely,undermine,tying,swamped,stabbing,slippers,slash,sincerely,sigh,setback,secondly,rotting,precaution,pcpd,melting,liaison,hots,hooking,headlines,haha,ganz,fury,felicity,fangs,encouragement,earring,dreidel,dory,donut,dictate,decorating,cocktails,bumps,blueberry,believable,backfired,backfire,apron,adjusting,vous,vouch,vitamins,ummm,tattoos,slimy,sibling,shhhh,renting,peculiar,parasite,paddington,marries,mailbox,magically,lovebirds,knocks,informant,exits,drazen,distractions,disconnected,dinosaurs,dashwood,crooked,conveniently,wink,warped,underestimated,tacky,shoving,seizure,reset,pushes,opener,mornings,mash,invent,indulge,horribly,hallucinating,festive,eyebrows,enjoys,desperation,dealers,darkest,daph,boragora,belts,bagel,authorization,auditions,agitated,wishful,wimp,vanish,unbearable,tonic,suffice,suction,slaying,safest,rocking,relive,puttin,prettiest,noisy,newlyweds,nauseous,misguided,mildly,midst,liable,judgmental,indy,hunted,givin,fascinated,elephants,dislike,deluded,decorate,crummy,contractions,carve,bottled,bonded,bahamas,unavailable,twenties,trustworthy,surgeons,stupidity,skies,remorse,preferably,pies,nausea,napkins,mule,mourn,melted,mashed,inherit,greatness,golly,excused,dumbo,drifting,delirious,damaging,cubicle,compelled,comm,chooses,checkup,boredom,bandages,alarms,windshield,who're,whaddya,transparent,surprisingly,sunglasses,slit,roar,reade,prognosis,probe,pitiful,persistent,peas,nosy,nagging,morons,masterpiece,martinis,limbo,liars,irritating,inclined,hump,hoynes,fiasco,eatin,cubans,concentrating,colorful,clam,cider,brochure,barto,bargaining,wiggle,welcoming,weighing,vanquished,stains,sooo,snacks,smear,sire,resentment,psychologist,pint,overhear,morality,landingham,kisser,hoot,holling,handshake,grilled,formality,elevators,depths,confirms,boathouse,accidental,westbridge,wacko,ulterior,thugs,thighs,tangled,stirred,snag,sling,sleaze,rumour,ripe,remarried,puddle,pins,perceptive,miraculous,longing,lockup,librarian,impressions,immoral,hypothetically,guarding,gourmet,gabe,faxed,extortion,downright,digest,cranberry,bygones,buzzing,burying,bikes,weary,taping,takeout,sweeping,stepmother,stale,senor,seaborn,pros,pepperoni,newborn,ludicrous,injected,geeks,forged,faults,drue,dire,dief,desi,deceiving,caterer,calmed,budge,ankles,vending,typing,tribbiani,there're,squared,snowing,shades,sexist,rewrite,regretted,raises,picky,orphan,mural,misjudged,miscarriage,memorize,leaking,jitters,invade,interruption,illegally,handicapped,glitch,gittes,finer,distraught,dispose,dishonest,digs,dads,cruelty,circling,canceling,butterflies,belongings,barbrady,amusement,alias,zombies,where've,unborn,swearing,stables,squeezed,sensational,resisting,radioactive,questionable,privileged,portofino,owning,overlook,orson,oddly,interrogate,imperative,impeccable,hurtful,hors,heap,graders,glance,disgust,devious,destruct,crazier,countdown,chump,cheeseburger,burglar,berries,ballroom,assumptions,annoyed,allergy,admirer,admirable,activate,underpants,twit,tack,strokes,stool,sham,scrap,retarded,resourceful,remarkably,refresh,pressured,precautions,pointy,nightclub,mustache,maui,lace,hunh,hubby,flare,dont,dokey,dangerously,crushing,clinging,choked,chem,cheerleading,checkbook,cashmere,calmly,blush,believer,amazingly,alas,what've,toilets,tacos,stairwell,spirited,sewing,rubbed,punches,protects,nuisance,motherfuckers,mingle,kynaston,knack,kinkle,impose,gullible,godmother,funniest,friggin,folding,fashions,eater,dysfunctional,drool,dripping,ditto,cruising,criticize,conceive,clone,cedars,caliber,brighter,blinded,birthdays,banquet,anticipate,annoy,whim,whichever,volatile,veto,vested,shroud,rests,reindeer,quarantine,pleases,painless,orphans,orphanage,offence,obliged,negotiation,narcotics,mistletoe,meddling,manifest,lookit,lilah,intrigued,injustice,homicidal,gigantic,exposing,elves,disturbance,disastrous,depended,demented,correction,cooped,cheerful,buyers,brownies,beverage,basics,arvin,weighs,upsets,unethical,swollen,sweaters,stupidest,sensation,scalpel,props,prescribed,pompous,objections,mushrooms,mulwray,manipulation,lured,internship,insignificant,inmate,incentive,fulfilled,disagreement,crypt,cornered,copied,brightest,beethoven,attendant,amaze,yogurt,wyndemere,vocabulary,tulsa,tactic,stuffy,respirator,pretends,polygraph,pennies,ordinarily,olives,necks,morally,martyr,leftovers,joints,hopping,homey,hints,heartbroken,forge,florist,firsthand,fiend,dandy,crippled,corrected,conniving,conditioner,clears,chemo,bubbly,bladder,beeper,baptism,wiring,wench,weaknesses,volunteering,violating,unlocked,tummy,surrogate,subid,stray,startle,specifics,slowing,scoot,robbers,rightful,richest,qfxmjrie,puffs,pierced,pencils,paralysis,makeover,luncheon,linksynergy,jerky,jacuzzi,hitched,hangover,fracture,flock,firemen,disgusted,darned,clams,borrowing,banged,wildest,weirder,unauthorized,stunts,sleeves,sixties,shush,shalt,retro,quits,pegged,painfully,paging,omelet,memorized,lawfully,jackets,intercept,ingredient,grownup,glued,fulfilling,enchanted,delusion,daring,compelling,carton,bridesmaids,bribed,boiling,bathrooms,bandage,awaiting,assign,arrogance,antiques,ainsley,turkeys,trashing,stockings,stalked,stabilized,skates,sedated,robes,respecting,psyche,presumptuous,prejudice,paragraph,mocha,mints,mating,mantan,lorne,loads,listener,itinerary,hepatitis,heave,guesses,fading,examining,dumbest,dishwasher,deceive,cunning,cripple,convictions,confided,compulsive,compromising,burglary,bumpy,brainwashed,benes,arnie,affirmative,adrenaline,adamant,watchin,waitresses,transgenic,toughest,tainted,surround,stormed,spree,spilling,spectacle,soaking,shreds,sewers,severed,scarce,scamming,scalp,rewind,rehearsing,pretentious,potions,overrated,obstacle,nerds,meems,mcmurphy,maternity,maneuver,loathe,fertility,eloping,ecstatic,ecstasy,divorcing,dignan,costing,clubhouse,clocks,candid,bursting,breather,braces,bending,arsonist,adored,absorb,valiant,uphold,unarmed,topolsky,thrilling,thigh,terminate,sustain,spaceship,snore,sneeze,smuggling,salty,quaint,patronize,patio,morbid,mamma,kettle,joyous,invincible,interpret,insecurities,impulses,illusions,holed,exploit,drivin,defenseless,dedicate,cradle,coupon,countless,conjure,cardboard,booking,backseat,accomplishment,wordsworth,wisely,valet,vaccine,urges,unnatural,unlucky,truths,traumatized,tasting,swears,strawberries,steaks,stats,skank,seducing,secretive,scumbag,screwdriver,schedules,rooting,rightfully,rattled,qualifies,puppets,prospects,pronto,posse,polling,pedestal,palms,muddy,morty,microscope,merci,lecturing,inject,incriminate,hygiene,grapefruit,gazebo,funnier,cuter,bossy,booby,aides,zende,winthrop,warrants,valentines,undressed,underage,truthfully,tampered,suffers,speechless,sparkling,sidelines,shrek,railing,puberty,pesky,outrage,outdoors,motions,moods,lunches,litter,kidnappers,itching,intuition,imitation,humility,hassling,gallons,drugstore,dosage,disrupt,dipping,deranged,debating,cuckoo,cremated,craziness,cooperating,circumstantial,chimney,blinking,biscuits,admiring,weeping,triad,trashy,soothing,slumber,slayers,skirts,siren,shindig,sentiment,rosco,riddance,quaid,purity,proceeding,pretzels,panicking,mckechnie,lovin,leaked,intruding,impersonating,ignorance,hamburgers,footprints,fluke,fleas,festivities,fences,feisty,evacuate,emergencies,deceived,creeping,craziest,corpses,conned,coincidences,bounced,bodyguards,blasted,bitterness,baloney,ashtray,apocalypse,zillion,watergate,wallpaper,telesave,sympathize,sweeter,startin,spades,sodas,snowed,sleepover,signor,seein,retainer,restroom,rested,repercussions,reliving,reconcile,prevail,preaching,overreact,o'neil,noose,moustache,manicure,maids,landlady,hypothetical,hopped,homesick,hives,hesitation,herbs,hectic,heartbreak,haunting,gangs,frown,fingerprint,exhausting,everytime,disregard,cling,chevron,chaperone,blinding,bitty,beads,battling,badgering,anticipation,upstanding,unprofessional,unhealthy,turmoil,truthful,toothpaste,tippin,thoughtless,tagataya,shooters,senseless,rewarding,propane,preposterous,pigeons,pastry,overhearing,obscene,negotiable,loner,jogging,itchy,insinuating,insides,hospitality,hormone,hearst,forthcoming,fists,fifties,etiquette,endings,destroys,despises,deprived,cuddy,crust,cloak,circumstance,chewed,casserole,bidder,bearer,artoo,applaud,appalling,vowed,virgins,vigilante,undone,throttle,testosterone,tailor,symptom,swoop,suitcases,stomp,sticker,stakeout,spoiling,snatched,smoochy,smitten,shameless,restraints,researching,renew,refund,reclaim,raoul,puzzles,purposely,punks,prosecuted,plaid,picturing,pickin,parasites,mysteriously,multiply,mascara,jukebox,interruptions,gunfire,furnace,elbows,duplicate,drapes,deliberate,decoy,cryptic,coupla,condemn,complicate,colossal,clerks,clarity,brushed,banished,argon,alarmed,worships,versa,uncanny,technicality,sundae,stumble,stripping,shuts,schmuck,satin,saliva,robber,relentless,reconnect,recipes,rearrange,rainy,psychiatrists,policemen,plunge,plugged,patched,overload,o'malley,mindless,menus,lullaby,lotte,leavin,killin,karinsky,invalid,hides,grownups,griff,flaws,flashy,flaming,fettes,evicted,dread,degrassi,dealings,dangers,cushion,bowel,barged,abide,abandoning,wonderfully,wait'll,violate,suicidal,stayin,sorted,slamming,sketchy,shoplifting,raiser,quizmaster,prefers,needless,motherhood,momentarily,migraine,lifts,leukemia,leftover,keepin,hinks,hellhole,gowns,goodies,gallon,futures,entertained,eighties,conspiring,cheery,benign,apiece,adjustments,abusive,abduction,wiping,whipping,welles,unspeakable,unidentified,trivial,transcripts,textbook,supervise,superstitious,stricken,stimulating,spielberg,slices,shelves,scratches,sabotaged,retrieval,repressed,rejecting,quickie,ponies,peeking,outraged,o'connell,moping,moaning,mausoleum,licked,kovich,klutz,interrogating,interfered,insulin,infested,incompetence,hyper,horrified,handedly,gekko,fraid,fractured,examiner,eloped,disoriented,dashing,crashdown,courier,cockroach,chipped,brushing,bombed,bolts,baths,baptized,astronaut,assurance,anemia,abuela,abiding,withholding,weave,wearin,weaker,suffocating,straws,straightforward,stench,steamed,starboard,sideways,shrinks,shortcut,scram,roasted,roaming,riviera,respectfully,repulsive,psychiatry,provoked,penitentiary,painkillers,ninotchka,mitzvah,milligrams,midge,marshmallows,looky,lapse,kubelik,intellect,improvise,implant,goa'ulds,giddy,geniuses,fruitcake,footing,fightin,drinkin,doork,detour,cuddle,crashes,combo,colonnade,cheats,cetera,bailiff,auditioning,assed,amused,alienate,aiding,aching,unwanted,topless,tongues,tiniest,superiors,soften,sheldrake,rawley,raisins,presses,plaster,nessa,narrowed,minions,merciful,lawsuits,intimidating,infirmary,inconvenient,imposter,hugged,honoring,holdin,hades,godforsaken,fumes,forgery,foolproof,folder,flattery,fingertips,exterminator,explodes,eccentric,dodging,disguised,crave,constructive,concealed,compartment,chute,chinpokomon,bodily,astronauts,alimony,accustomed,abdominal,wrinkle,wallow,valium,untrue,uncover,trembling,treasures,torched,toenails,timed,termites,telly,taunting,taransky,talker,succubus,smarts,sliding,sighting,semen,seizures,scarred,savvy,sauna,saddest,sacrificing,rubbish,riled,ratted,rationally,provenance,phonse,perky,pedal,overdose,nasal,nanites,mushy,movers,missus,midterm,merits,melodramatic,manure,knitting,invading,interpol,incapacitated,hotline,hauling,gunpoint,grail,ganza,framing,flannel,faded,eavesdrop,desserts,calories,breathtaking,bleak,blacked,batter,aggravated,yanked,wigand,whoah,unwind,undoubtedly,unattractive,twitch,trimester,torrance,timetable,taxpayers,strained,stared,slapping,sincerity,siding,shenanigans,shacking,sappy,samaritan,poorer,politely,paste,oysters,overruled,nightcap,mosquito,millimeter,merrier,manhood,lucked,kilos,ignition,hauled,harmed,goodwill,freshmen,fenmore,fasten,farce,exploding,erratic,drunks,ditching,d'artagnan,cramped,contacting,closets,clientele,chimp,bargained,arranging,anesthesia,amuse,altering,afternoons,accountable,abetting,wolek,waved,uneasy,toddy,tattooed,spauldings,sliced,sirens,schibetta,scatter,rinse,remedy,redemption,pleasures,optimism,oblige,mmmmm,masked,malicious,mailing,kosher,kiddies,judas,isolate,insecurity,incidentally,heals,headlights,growl,grilling,glazed,flunk,floats,fiery,fairness,exercising,excellency,disclosure,cupboard,counterfeit,condescending,conclusive,clicked,cleans,cholesterol,cashed,broccoli,brats,blueprints,blindfold,billing,attach,appalled,alrighty,wynant,unsolved,unreliable,toots,tighten,sweatshirt,steinbrenner,steamy,spouse,sonogram,slots,sleepless,shines,retaliate,rephrase,redeem,rambling,quilt,quarrel,prying,proverbial,priced,prescribe,prepped,pranks,possessive,plaintiff,pediatrics,overlooked,outcast,nightgown,mumbo,mediocre,mademoiselle,lunchtime,lifesaver,leaned,lambs,interns,hounding,hellmouth,hahaha,goner,ghoul,gardening,frenzy,foyer,extras,exaggerate,everlasting,enlightened,dialed,devote,deceitful,d'oeuvres,cosmetic,contaminated,conspired,conning,cavern,carving,butting,boiled,blurry,babysit,ascension,aaaaah,wildly,whoopee,whiny,weiskopf,walkie,vultures,vacations,upfront,unresolved,tampering,stockholders,snaps,sleepwalking,shrunk,sermon,seduction,scams,revolve,phenomenal,patrolling,paranormal,ounces,omigod,nightfall,lashing,innocents,infierno,incision,humming,haunts,gloss,gloating,frannie,fetal,feeny,entrapment,discomfort,detonator,dependable,concede,complication,commotion,commence,chulak,caucasian,casually,brainer,bolie,ballpark,anwar,analyzing,accommodations,youse,wring,wallowing,transgenics,thrive,tedious,stylish,strippers,sterile,squeezing,squeaky,sprained,solemn,snoring,shattering,shabby,seams,scrawny,revoked,residue,reeks,recite,ranting,quoting,predicament,plugs,pinpoint,petrified,pathological,passports,oughtta,nighter,navigate,kippie,intrigue,intentional,insufferable,hunky,how've,horrifying,hearty,hamptons,grazie,funerals,forks,fetched,excruciating,enjoyable,endanger,dumber,drying,diabolical,crossword,corry,comprehend,clipped,classmates,candlelight,brutally,brutality,boarded,bathrobe,authorize,assemble,aerobics,wholesome,whiff,vermin,trophies,trait,tragically,toying,testy,tasteful,stocked,spinach,sipping,sidetracked,scrubbing,scraping,sanctity,robberies,ridin,retribution,refrain,realities,radiant,protesting,projector,plutonium,payin,parting,o'reilly,nooooo,motherfucking,measly,manic,lalita,juggling,jerking,intro,inevitably,hypnosis,huddle,horrendous,hobbies,heartfelt,harlin,hairdresser,gonorrhea,fussing,furtwangler,fleeting,flawless,flashed,fetus,eulogy,distinctly,disrespectful,denies,crossbow,cregg,crabs,cowardly,contraction,contingency,confirming,condone,coffins,cleansing,cheesecake,certainty,cages,c'est,briefed,bravest,bosom,boils,binoculars,bachelorette,appetizer,ambushed,alerted,woozy,withhold,vulgar,utmost,unleashed,unholy,unhappiness,unconditional,typewriter,typed,twists,supermodel,subpoenaed,stringing,skeptical,schoolgirl,romantically,rocked,revoir,reopen,puncture,preach,polished,planetarium,penicillin,peacefully,nurturing,more'n,mmhmm,midgets,marklar,lodged,lifeline,jellyfish,infiltrate,hutch,horseback,heist,gents,frickin,freezes,forfeit,flakes,flair,fathered,eternally,epiphany,disgruntled,discouraged,delinquent,decipher,danvers,cubes,credible,coping,chills,cherished,catastrophe,bombshell,birthright,billionaire,ample,affections,admiration,abbotts,whatnot,watering,vinegar,unthinkable,unseen,unprepared,unorthodox,underhanded,uncool,timeless,thump,thermometer,theoretically,tapping,tagged,swung,stares,spiked,solves,smuggle,scarier,saucer,quitter,prudent,powdered,poked,pointers,peril,penetrate,penance,opium,nudge,nostrils,neurological,mockery,mobster,medically,loudly,insights,implicate,hypocritical,humanly,holiness,healthier,hammered,haldeman,gunman,gloom,freshly,francs,flunked,flawed,emptiness,drugging,dozer,derevko,deprive,deodorant,cryin,crocodile,coloring,colder,cognac,clocked,clippings,charades,chanting,certifiable,caterers,brute,brochures,botched,blinders,bitchin,banter,woken,ulcer,tread,thankfully,swine,swimsuit,swans,stressing,steaming,stamped,stabilize,squirm,snooze,shuffle,shredded,seafood,scratchy,savor,sadistic,rhetorical,revlon,realist,prosecuting,prophecies,polyester,petals,persuasion,paddles,o'leary,nuthin,neighbour,negroes,muster,meningitis,matron,lockers,letterman,legged,indictment,hypnotized,housekeeping,hopelessly,hallucinations,grader,goldilocks,girly,flask,envelopes,downside,doves,dissolve,discourage,disapprove,diabetic,deliveries,decorator,crossfire,criminally,containment,comrades,complimentary,chatter,catchy,cashier,cartel,caribou,cardiologist,brawl,booted,barbershop,aryan,angst,administer,zellie,wreak,whistles,vandalism,vamps,uterus,upstate,unstoppable,understudy,tristin,transcript,tranquilizer,toxins,tonsils,stempel,spotting,spectator,spatula,softer,snotty,slinging,showered,sexiest,sensual,sadder,rimbaud,restrain,resilient,remission,reinstate,rehash,recollection,rabies,popsicle,plausible,pediatric,patronizing,ostrich,ortolani,oooooh,omelette,mistrial,marseilles,loophole,laughin,kevvy,irritated,infidelity,hypothermia,horrific,groupie,grinding,graceful,goodspeed,gestures,frantic,extradition,echelon,disks,dawnie,dared,damsel,curled,collateral,collage,chant,calculating,bumping,bribes,boardwalk,blinds,blindly,bleeds,bickering,beasts,backside,avenge,apprehended,anguish,abusing,youthful,yells,yanking,whomever,when'd,vomiting,vengeful,unpacking,unfamiliar,undying,tumble,trolls,treacherous,tipping,tantrum,tanked,summons,straps,stomped,stinkin,stings,staked,squirrels,sprinkles,speculate,sorting,skinned,sicko,sicker,shootin,shatter,seeya,schnapps,s'posed,ronee,respectful,regroup,regretting,reeling,reckoned,ramifications,puddy,projections,preschool,plissken,platonic,permalash,outdone,outburst,mutants,mugging,misfortune,miserably,miraculously,medications,margaritas,manpower,lovemaking,logically,leeches,latrine,kneel,inflict,impostor,hypocrisy,hippies,heterosexual,heightened,hecuba,healer,gunned,grooming,groin,gooey,gloomy,frying,friendships,fredo,firepower,fathom,exhaustion,evils,endeavor,eggnog,dreaded,d'arcy,crotch,coughing,coronary,cookin,consummate,congrats,companionship,caved,caspar,bulletproof,brilliance,breakin,brash,blasting,aloud,airtight,advising,advertise,adultery,aches,wronged,upbeat,trillion,thingies,tending,tarts,surreal,specs,specialize,spade,shrew,shaping,selves,schoolwork,roomie,recuperating,rabid,quart,provocative,proudly,pretenses,prenatal,pharmaceuticals,pacing,overworked,originals,nicotine,murderous,mileage,mayonnaise,massages,losin,interrogated,injunction,impartial,homing,heartbreaker,hacks,glands,giver,fraizh,flips,flaunt,englishman,electrocuted,dusting,ducking,drifted,donating,cylon,crutches,crates,cowards,comfortably,chummy,chitchat,childbirth,businesswoman,brood,blatant,bethy,barring,bagged,awakened,asbestos,airplanes,worshipped,winnings,why're,visualize,unprotected,unleash,trays,thicker,therapists,takeoff,streisand,storeroom,stethoscope,stacked,spiteful,sneaks,snapping,slaughtered,slashed,simplest,silverware,shits,secluded,scruples,scrubs,scraps,ruptured,roaring,receptionist,recap,raditch,radiator,pushover,plastered,pharmacist,perverse,perpetrator,ornament,ointment,nineties,napping,nannies,mousse,moors,momentary,misunderstandings,manipulator,malfunction,laced,kivar,kickin,infuriating,impressionable,holdup,hires,hesitated,headphones,hammering,groundwork,grotesque,graces,gauze,gangsters,frivolous,freeing,fours,forwarding,ferrars,faulty,fantasizing,extracurricular,empathy,divorces,detonate,depraved,demeaning,deadlines,dalai,cursing,cufflink,crows,coupons,comforted,claustrophobic,casinos,camped,busboy,bluth,bennetts,baskets,attacker,aplastic,angrier,affectionate,zapped,wormhole,weaken,unrealistic,unravel,unimportant,unforgettable,twain,suspend,superbowl,stutter,stewardess,stepson,standin,spandex,souvenirs,sociopath,skeletons,shivering,sexier,selfishness,scrapbook,ritalin,ribbons,reunite,remarry,relaxation,rattling,rapist,psychosis,prepping,poses,pleasing,pisses,piling,persecuted,padded,operatives,negotiator,natty,menopause,mennihan,martimmys,loyalties,laynie,lando,justifies,intimately,inexperienced,impotent,immortality,horrors,hooky,hinges,heartbreaking,handcuffed,gypsies,guacamole,grovel,graziella,goggles,gestapo,fussy,ferragamo,feeble,eyesight,explosions,experimenting,enchanting,doubtful,dizziness,dismantle,detectors,deserving,defective,dangling,dancin,crumble,creamed,cramping,conceal,clockwork,chrissakes,chrissake,chopping,cabinets,brooding,bonfire,blurt,bloated,blackmailer,beforehand,bathed,bathe,barcode,banish,badges,babble,await,attentive,aroused,antibodies,animosity,ya'll,wrinkled,wonderland,willed,whisk,waltzing,waitressing,vigilant,upbringing,unselfish,uncles,trendy,trajectory,striped,stamina,stalled,staking,stacks,spoils,snuff,snooty,snide,shrinking,senora,secretaries,scoundrel,saline,salads,rundown,riddles,relapse,recommending,raspberry,plight,pecan,pantry,overslept,ornaments,niner,negligent,negligence,nailing,mucho,mouthed,monstrous,malpractice,lowly,loitering,logged,lingering,lettin,lattes,kamal,juror,jillefsky,jacked,irritate,intrusion,insatiable,infect,impromptu,icing,hmmmm,hefty,gasket,frightens,flapping,firstborn,faucet,estranged,envious,dopey,doesn,disposition,disposable,disappointments,dipped,dignified,deceit,dealership,deadbeat,curses,coven,counselors,concierge,clutches,casbah,callous,cahoots,brotherly,britches,brides,bethie,beige,autographed,attendants,attaboy,astonishing,appreciative,antibiotic,aneurysm,afterlife,affidavit,zoning,whats,whaddaya,vasectomy,unsuspecting,toula,topanga,tonio,toasted,tiring,terrorized,tenderness,tailing,sweats,suffocated,sucky,subconsciously,starvin,sprouts,spineless,sorrows,snowstorm,smirk,slicery,sledding,slander,simmer,signora,sigmund,seventies,sedate,scented,sandals,rollers,retraction,resigning,recuperate,receptive,racketeering,queasy,provoking,priors,prerogative,premed,pinched,pendant,outsiders,orbing,opportunist,olanov,neurologist,nanobot,mommies,molested,misread,mannered,laundromat,intercom,inspect,insanely,infatuation,indulgent,indiscretion,inconsiderate,hurrah,howling,herpes,hasta,harassed,hanukkah,groveling,groosalug,gander,galactica,futile,fridays,flier,fixes,exploiting,exorcism,evasive,endorse,emptied,dreary,dreamy,downloaded,dodged,doctored,disobeyed,disneyland,disable,dehydrated,contemplating,coconuts,cockroaches,clogged,chilling,chaperon,cameraman,bulbs,bucklands,bribing,brava,bracelets,bowels,bluepoint,appetizers,appendix,antics,anointed,analogy,almonds,yammering,winch,weirdness,wangler,vibrations,vendor,unmarked,unannounced,twerp,trespass,travesty,transfusion,trainee,towelie,tiresome,straightening,staggering,sonar,socializing,sinus,sinners,shambles,serene,scraped,scones,scepter,sarris,saberhagen,ridiculously,ridicule,rents,reconciled,radios,publicist,pubes,prune,prude,precrime,postponing,pluck,perish,peppermint,peeled,overdo,nutshell,nostalgic,mulan,mouthing,mistook,meddle,maybourne,martimmy,lobotomy,livelihood,lippman,likeness,kindest,kaffee,jocks,jerked,jeopardizing,jazzed,insured,inquisition,inhale,ingenious,holier,helmets,heirloom,heinous,haste,harmsway,hardship,hanky,gutters,gruesome,groping,goofing,godson,glare,finesse,figuratively,ferrie,endangerment,dreading,dozed,dorky,dmitri,divert,discredit,dialing,cufflinks,crutch,craps,corrupted,cocoon,cleavage,cannery,bystander,brushes,bruising,bribery,brainstorm,bolted,binge,ballistics,astute,arroway,adventurous,adoptive,addicts,addictive,yadda,whitelighters,wematanye,weeds,wedlock,wallets,vulnerability,vroom,vents,upped,unsettling,unharmed,trippin,trifle,tracing,tormenting,thats,syphilis,subtext,stickin,spices,sores,smacked,slumming,sinks,signore,shitting,shameful,shacked,septic,seedy,righteousness,relish,rectify,ravishing,quickest,phoebs,perverted,peeing,pedicure,pastrami,passionately,ozone,outnumbered,oregano,offender,nukes,nosed,nighty,nifty,mounties,motivate,moons,misinterpreted,mercenary,mentality,marsellus,lupus,lumbar,lovesick,lobsters,leaky,laundering,latch,jafar,instinctively,inspires,indoors,incarcerated,hundredth,handkerchief,gynecologist,guittierez,groundhog,grinning,goodbyes,geese,fullest,eyelashes,eyelash,enquirer,endlessly,elusive,disarm,detest,deluding,dangle,cotillion,corsage,conjugal,confessional,cones,commandment,coded,coals,chuckle,christmastime,cheeseburgers,chardonnay,celery,campfire,calming,burritos,brundle,broflovski,brighten,borderline,blinked,bling,beauties,bauers,battered,articulate,alienated,ahhhhh,agamemnon,accountants,y'see,wrongful,wrapper,workaholic,winnebago,whispered,warts,vacate,unworthy,unanswered,tonane,tolerated,throwin,throbbing,thrills,thorns,thereof,there've,tarot,sunscreen,stretcher,stereotype,soggy,sobbing,sizable,sightings,shucks,shrapnel,sever,senile,seaboard,scorned,saver,rebellious,rained,putty,prenup,pores,pinching,pertinent,peeping,paints,ovulating,opposites,occult,nutcracker,nutcase,newsstand,newfound,mocked,midterms,marshmallow,marbury,maclaren,leans,krudski,knowingly,keycard,junkies,juilliard,jolinar,irritable,invaluable,inuit,intoxicating,instruct,insolent,inexcusable,incubator,illustrious,hunsecker,houseguest,homosexuals,homeroom,hernia,harming,handgun,hallways,hallucination,gunshots,groupies,groggy,goiter,gingerbread,giggling,frigging,fledged,fedex,fairies,exchanging,exaggeration,esteemed,enlist,drags,dispense,disloyal,disconnect,desks,dentists,delacroix,degenerate,daydreaming,cushions,cuddly,corroborate,complexion,compensated,cobbler,closeness,chilled,checkmate,channing,carousel,calms,bylaws,benefactor,ballgame,baiting,backstabbing,artifact,airspace,adversary,actin,accuses,accelerant,abundantly,abstinence,zissou,zandt,yapping,witchy,willows,whadaya,vilandra,veiled,undress,undivided,underestimating,ultimatums,twirl,truckload,tremble,toasting,tingling,tents,tempered,sulking,stunk,sponges,spills,softly,snipers,scourge,rooftop,riana,revolting,revisit,refreshments,redecorating,recapture,raysy,pretense,prejudiced,precogs,pouting,poofs,pimple,piles,pediatrician,padre,packets,paces,orvelle,oblivious,objectivity,nighttime,nervosa,mexicans,meurice,melts,matchmaker,maeby,lugosi,lipnik,leprechaun,kissy,kafka,introductions,intestines,inspirational,insightful,inseparable,injections,inadvertently,hussy,huckabees,hittin,hemorrhaging,headin,haystack,hallowed,grudges,granilith,grandkids,grading,gracefully,godsend,gobbles,fragrance,fliers,finchley,farts,eyewitnesses,expendable,existential,dorms,delaying,degrading,deduction,darlings,danes,cylons,counsellor,contraire,consciously,conjuring,congratulating,cokes,buffay,brooch,bitching,bistro,bijou,bewitched,benevolent,bends,bearings,barren,aptitude,amish,amazes,abomination,worldly,whispers,whadda,wayward,wailing,vanishing,upscale,untouchable,unspoken,uncontrollable,unavoidable,unattended,trite,transvestite,toupee,timid,timers,terrorizing,swana,stumped,strolling,storybook,storming,stomachs,stoked,stationery,springtime,spontaneity,spits,spins,soaps,sentiments,scramble,scone,rooftops,retract,reflexes,rawdon,ragged,quirky,quantico,psychologically,prodigal,pounce,potty,pleasantries,pints,petting,perceive,onstage,notwithstanding,nibble,newmans,neutralize,mutilated,millionaires,mayflower,masquerade,mangy,macreedy,lunatics,lovable,locating,limping,lasagna,kwang,keepers,juvie,jaded,ironing,intuitive,intensely,insure,incantation,hysteria,hypnotize,humping,happenin,griet,grasping,glorified,ganging,g'night,focker,flunking,flimsy,flaunting,fixated,fitzwallace,fainting,eyebrow,exonerated,ether,electrician,egotistical,earthly,dusted,dignify,detonation,debrief,dazzling,dan'l,damnedest,daisies,crushes,crucify,contraband,confronting,collapsing,cocked,clicks,cliche,circled,chandelier,carburetor,callers,broads,breathes,bloodshed,blindsided,blabbing,bialystock,bashing,ballerina,aviva,arteries,anomaly,airstrip,agonizing,adjourn,aaaaa,yearning,wrecker,witnessing,whence,warhead,unsure,unheard,unfreeze,unfold,unbalanced,ugliest,troublemaker,toddler,tiptoe,threesome,thirties,thermostat,swipe,surgically,subtlety,stung,stumbling,stubs,stride,strangling,sprayed,socket,smuggled,showering,shhhhh,sabotaging,rumson,rounding,risotto,repairman,rehearsed,ratty,ragging,radiology,racquetball,racking,quieter,quicksand,prowl,prompt,premeditated,prematurely,prancing,porcupine,plated,pinocchio,peeked,peddle,panting,overweight,overrun,outing,outgrown,obsess,nursed,nodding,negativity,negatives,musketeers,mugger,motorcade,merrily,matured,masquerading,marvellous,maniacs,lovey,louse,linger,lilies,lawful,kudos,knuckle,juices,judgments,itches,intolerable,intermission,inept,incarceration,implication,imaginative,huckleberry,holster,heartburn,gunna,groomed,graciously,fulfillment,fugitives,forsaking,forgives,foreseeable,flavors,flares,fixation,fickle,fantasize,famished,fades,expiration,exclamation,erasing,eiffel,eerie,earful,duped,dulles,dissing,dissect,dispenser,dilated,detergent,desdemona,debriefing,damper,curing,crispina,crackpot,courting,cordial,conflicted,comprehension,commie,cleanup,chiropractor,charmer,chariot,cauldron,catatonic,bullied,buckets,brilliantly,breathed,booths,boardroom,blowout,blindness,blazing,biologically,bibles,biased,beseech,barbaric,balraj,audacity,anticipating,alcoholics,airhead,agendas,admittedly,absolution,youre,yippee,wittlesey,withheld,willful,whammy,weakest,washes,virtuous,videotapes,vials,unplugged,unpacked,unfairly,turbulence,tumbling,tricking,tremendously,traitors,torches,tinga,thyroid,teased,tawdry,taker,sympathies,swiped,sundaes,suave,strut,stepdad,spewing,spasm,socialize,slither,simulator,shutters,shrewd,shocks,semantics,schizophrenic,scans,savages,rya'c,runny,ruckus,royally,roadblocks,rewriting,revoke,repent,redecorate,recovers,recourse,ratched,ramali,racquet,quince,quiche,puppeteer,puking,puffed,problemo,praises,pouch,postcards,pooped,poised,piled,phoney,phobia,patching,parenthood,pardner,oozing,ohhhhh,numbing,nostril,nosey,neatly,nappa,nameless,mortuary,moronic,modesty,midwife,mcclane,matuka,maitre,lumps,lucid,loosened,loins,lawnmower,lamotta,kroehner,jinxy,jessep,jamming,jailhouse,jacking,intruders,inhuman,infatuated,indigestion,implore,implanted,hormonal,hoboken,hillbilly,heartwarming,headway,hatched,hartmans,harping,grapevine,gnome,forties,flyin,flirted,fingernail,exhilarating,enjoyment,embark,dumper,dubious,drell,docking,disillusioned,dishonor,disbarred,dicey,custodial,counterproductive,corned,cords,contemplate,concur,conceivable,cobblepot,chickened,checkout,carpe,cap'n,campers,buyin,bullies,braid,boxed,bouncy,blueberries,blubbering,bloodstream,bigamy,beeped,bearable,autographs,alarming,wretch,wimps,widower,whirlwind,whirl,warms,vandelay,unveiling,undoing,unbecoming,turnaround,touche,togetherness,tickles,ticker,teensy,taunt,sweethearts,stitched,standpoint,staffers,spotless,soothe,smothered,sickening,shouted,shepherds,shawl,seriousness,schooled,schoolboy,s'mores,roped,reminders,raggedy,preemptive,plucked,pheromones,particulars,pardoned,overpriced,overbearing,outrun,ohmigod,nosing,nicked,neanderthal,mosquitoes,mortified,milky,messin,mecha,markinson,marivellas,mannequin,manderley,madder,macready,lookie,locusts,lifetimes,lanna,lakhi,kholi,impersonate,hyperdrive,horrid,hopin,hogging,hearsay,harpy,harboring,hairdo,hafta,grasshopper,gobble,gatehouse,foosball,floozy,fished,firewood,finalize,felons,euphemism,entourage,elitist,elegance,drokken,drier,dredge,dossier,diseased,diarrhea,diagnose,despised,defuse,d'amour,contesting,conserve,conscientious,conjured,collars,clogs,chenille,chatty,chamomile,casing,calculator,brittle,breached,blurted,birthing,bikinis,astounding,assaulting,aroma,appliance,antsy,amnio,alienating,aliases,adolescence,xerox,wrongs,workload,willona,whistling,werewolves,wallaby,unwelcome,unseemly,unplug,undermining,ugliness,tyranny,tuesdays,trumpets,transference,ticks,tangible,tagging,swallowing,superheroes,studs,strep,stowed,stomping,steffy,sprain,spouting,sponsoring,sneezing,smeared,slink,shakin,sewed,seatbelt,scariest,scammed,sanctimonious,roasting,rightly,retinal,rethinking,resented,reruns,remover,racks,purest,progressing,presidente,preeclampsia,postponement,portals,poppa,pliers,pinning,pelvic,pampered,padding,overjoyed,ooooo,one'll,octavius,nonono,nicknames,neurosurgeon,narrows,misled,mislead,mishap,milltown,milking,meticulous,mediocrity,meatballs,machete,lurch,layin,knockin,khruschev,jurors,jumpin,jugular,jeweler,intellectually,inquiries,indulging,indestructible,indebted,imitate,ignores,hyperventilating,hyenas,hurrying,hermano,hellish,heheh,harshly,handout,grunemann,glances,giveaway,getup,gerome,furthest,frosting,frail,forwarded,forceful,flavored,flammable,flaky,fingered,fatherly,ethic,embezzlement,duffel,dotted,distressed,disobey,disappearances,dinky,diminish,diaphragm,deuces,creme,courteous,comforts,coerced,clots,clarification,chunks,chickie,chases,chaperoning,cartons,caper,calves,caged,bustin,bulging,bringin,boomhauer,blowin,blindfolded,biscotti,ballplayer,bagging,auster,assurances,aschen,arraigned,anonymity,alters,albatross,agreeable,adoring,abduct,wolfi,weirded,watchers,washroom,warheads,vincennes,urgency,understandably,uncomplicated,uhhhh,twitching,treadmill,thermos,tenorman,tangle,talkative,swarm,surrendering,summoning,strive,stilts,stickers,squashed,spraying,sparring,soaring,snort,sneezed,slaps,skanky,singin,sidle,shreck,shortness,shorthand,sharper,shamed,sadist,rydell,rusik,roulette,resumes,respiration,recount,reacts,purgatory,princesses,presentable,ponytail,plotted,pinot,pigtails,phillippe,peddling,paroled,orbed,offends,o'hara,moonlit,minefield,metaphors,malignant,mainframe,magicks,maggots,maclaine,loathing,leper,leaps,leaping,lashed,larch,larceny,lapses,ladyship,juncture,jiffy,jakov,invoke,infantile,inadmissible,horoscope,hinting,hideaway,hesitating,heddy,heckles,hairline,gripe,gratifying,governess,goebbels,freddo,foresee,fascination,exemplary,executioner,etcetera,escorts,endearing,eaters,earplugs,draped,disrupting,disagrees,dimes,devastate,detain,depositions,delicacy,darklighter,cynicism,cyanide,cutters,cronus,continuance,conquering,confiding,compartments,combing,cofell,clingy,cleanse,christmases,cheered,cheekbones,buttle,burdened,bruenell,broomstick,brained,bozos,bontecou,bluntman,blazes,blameless,bizarro,bellboy,beaucoup,barkeep,awaken,astray,assailant,appease,aphrodisiac,alleys,yesss,wrecks,woodpecker,wondrous,wimpy,willpower,wheeling,weepy,waxing,waive,videotaped,veritable,untouched,unlisted,unfounded,unforeseen,twinge,triggers,traipsing,toxin,tombstone,thumping,therein,testicles,telephones,tarmac,talby,tackled,swirling,suicides,suckered,subtitles,sturdy,strangler,stockbroker,stitching,steered,standup,squeal,sprinkler,spontaneously,splendor,spiking,spender,snipe,snagged,skimming,siddown,showroom,shovels,shotguns,shoelaces,shitload,shellfish,sharpest,shadowy,seizing,scrounge,scapegoat,sayonara,saddled,rummaging,roomful,renounce,reconsidered,recharge,realistically,radioed,quirks,quadrant,punctual,practising,pours,poolhouse,poltergeist,pocketbook,plainly,picnics,pesto,pawing,passageway,partied,oneself,numero,nostalgia,nitwit,neuro,mixer,meanest,mcbeal,matinee,margate,marce,manipulations,manhunt,manger,magicians,loafers,litvack,lightheaded,lifeguard,lawns,laughingstock,ingested,indignation,inconceivable,imposition,impersonal,imbecile,huddled,housewarming,horizons,homicides,hiccups,hearse,hardened,gushing,gushie,greased,goddamit,freelancer,forging,fondue,flustered,flung,flinch,flicker,fixin,festivus,fertilizer,farted,faggots,exonerate,evict,enormously,encrypted,emdash,embracing,duress,dupres,dowser,doormat,disfigured,disciplined,dibbs,depository,deathbed,dazzled,cuttin,cures,crowding,crepe,crammed,copycat,contradict,confidant,condemning,conceited,commute,comatose,clapping,circumference,chuppah,chore,choksondik,chestnuts,briault,bottomless,bonnet,blokes,berluti,beret,beggars,bankroll,bania,athos,arsenic,apperantly,ahhhhhh,afloat,accents,zipped,zeros,zeroes,zamir,yuppie,youngsters,yorkers,wisest,wipes,wield,whyn't,weirdos,wednesdays,vicksburg,upchuck,untraceable,unsupervised,unpleasantness,unhook,unconscionable,uncalled,trappings,tragedies,townie,thurgood,things'll,thine,tetanus,terrorize,temptations,tanning,tampons,swarming,straitjacket,steroid,startling,starry,squander,speculating,sollozzo,sneaked,slugs,skedaddle,sinker,silky,shortcomings,sellin,seasoned,scrubbed,screwup,scrapes,scarves,sandbox,salesmen,rooming,romances,revere,reproach,reprieve,rearranging,ravine,rationalize,raffle,punchy,psychobabble,provocation,profoundly,prescriptions,preferable,polishing,poached,pledges,pirelli,perverts,oversized,overdressed,outdid,nuptials,nefarious,mouthpiece,motels,mopping,mongrel,missin,metaphorically,mertin,memos,melodrama,melancholy,measles,meaner,mantel,maneuvering,mailroom,luring,listenin,lifeless,licks,levon,legwork,kneecaps,kippur,kiddie,kaput,justifiable,insistent,insidious,innuendo,innit,indecent,imaginable,horseshit,hemorrhoid,hella,healthiest,haywire,hamsters,hairbrush,grouchy,grisly,gratuitous,glutton,glimmer,gibberish,ghastly,gentler,generously,geeky,fuhrer,fronting,foolin,faxes,faceless,extinguisher,expel,etched,endangering,ducked,dodgeball,dives,dislocated,discrepancy,devour,derail,dementia,daycare,cynic,crumbling,cowardice,covet,cornwallis,corkscrew,cookbook,commandments,coincidental,cobwebs,clouded,clogging,clicking,clasp,chopsticks,chefs,chaps,cashing,carat,calmer,brazen,brainwashing,bradys,bowing,boned,bloodsucking,bleachers,bleached,bedpan,bearded,barrenger,bachelors,awwww,assures,assigning,asparagus,apprehend,anecdote,amoral,aggravation,afoot,acquaintances,accommodating,yakking,worshipping,wladek,willya,willies,wigged,whoosh,whisked,watered,warpath,volts,violates,valuables,uphill,unwise,untimely,unsavory,unresponsive,unpunished,unexplained,tubby,trolling,toxicology,tormented,toothache,tingly,timmiihh,thursdays,thoreau,terrifies,temperamental,telegrams,talkie,takers,symbiote,swirl,suffocate,stupider,strapping,steckler,springing,someway,sleepyhead,sledgehammer,slant,slams,showgirl,shoveling,shmoopy,sharkbait,shan't,scrambling,schematics,sandeman,sabbatical,rummy,reykjavik,revert,responsive,rescheduled,requisition,relinquish,rejoice,reckoning,recant,rebadow,reassurance,rattlesnake,ramble,primed,pricey,prance,pothole,pocus,persist,perpetrated,pekar,peeling,pastime,parmesan,pacemaker,overdrive,ominous,observant,nothings,noooooo,nonexistent,nodded,nieces,neglecting,nauseating,mutated,musket,mumbling,mowing,mouthful,mooseport,monologue,mistrust,meetin,masseuse,mantini,mailer,madre,lowlifes,locksmith,livid,liven,limos,liberating,lhasa,leniency,leering,laughable,lashes,lasagne,laceration,korben,katan,kalen,jittery,jammies,irreplaceable,intubate,intolerant,inhaler,inhaled,indifferent,indifference,impound,impolite,humbly,heroics,heigh,guillotine,guesthouse,grounding,grips,gossiping,goatee,gnomes,gellar,frutt,frobisher,freudian,foolishness,flagged,femme,fatso,fatherhood,fantasized,fairest,faintest,eyelids,extravagant,extraterrestrial,extraordinarily,escalator,elevate,drivel,dissed,dismal,disarray,dinnertime,devastation,dermatologist,delicately,defrost,debutante,debacle,damone,dainty,cuvee,culpa,crucified,creeped,crayons,courtship,convene,congresswoman,concocted,compromises,comprende,comma,coleslaw,clothed,clinically,chickenshit,checkin,cesspool,caskets,calzone,brothel,boomerang,bodega,blasphemy,bitsy,bicentennial,berlini,beatin,beards,barbas,barbarians,backpacking,arrhythmia,arousing,arbitrator,antagonize,angling,anesthetic,altercation,aggressor,adversity,acathla,aaahhh,wreaking,workup,wonderin,wither,wielding,what'm,what'cha,waxed,vibrating,veterinarian,venting,vasey,valor,validate,upholstery,untied,unscathed,uninterrupted,unforgiving,undies,uncut,twinkies,tucking,treatable,treasured,tranquility,townspeople,torso,tomei,tipsy,tinsel,tidings,thirtieth,tantrums,tamper,talky,swayed,swapping,suitor,stylist,stirs,standoff,sprinklers,sparkly,snobby,snatcher,smoother,sleepin,shrug,shoebox,sheesh,shackles,setbacks,sedatives,screeching,scorched,scanned,satyr,roadblock,riverbank,ridiculed,resentful,repellent,recreate,reconvene,rebuttal,realmedia,quizzes,questionnaire,punctured,pucker,prolong,professionalism,pleasantly,pigsty,penniless,paychecks,patiently,parading,overactive,ovaries,orderlies,oracles,oiled,offending,nudie,neonatal,neighborly,moops,moonlighting,mobilize,mmmmmm,milkshake,menial,meats,mayan,maxed,mangled,magua,lunacy,luckier,liters,lansbury,kooky,knowin,jeopardized,inkling,inhalation,inflated,infecting,incense,inbound,impractical,impenetrable,idealistic,i'mma,hypocrites,hurtin,humbled,hologram,hokey,hocus,hitchhiking,hemorrhoids,headhunter,hassled,harts,hardworking,haircuts,hacksaw,genitals,gazillion,gammy,gamesphere,fugue,footwear,folly,flashlights,fives,filet,extenuating,estrogen,entails,embezzled,eloquent,egomaniac,ducts,drowsy,drones,doree,donovon,disguises,diggin,deserting,depriving,defying,deductible,decorum,decked,daylights,daybreak,dashboard,damnation,cuddling,crunching,crickets,crazies,councilman,coughed,conundrum,complimented,cohaagen,clutching,clued,clader,cheques,checkpoint,chats,channeling,ceases,carasco,capisce,cantaloupe,cancelling,campsite,burglars,breakfasts,bra'tac,blueprint,bleedin,blabbed,beneficiary,basing,avert,atone,arlyn,approves,apothecary,antiseptic,aleikuum,advisement,zadir,wobbly,withnail,whattaya,whacking,wedged,wanders,vaginal,unimaginable,undeniable,unconditionally,uncharted,unbridled,tweezers,tvmegasite,trumped,triumphant,trimming,treading,tranquilizers,toontown,thunk,suture,suppressing,strays,stonewall,stogie,stepdaughter,stace,squint,spouses,splashed,speakin,sounder,sorrier,sorrel,sombrero,solemnly,softened,snobs,snippy,snare,smoothing,slump,slimeball,slaving,silently,shiller,shakedown,sensations,scrying,scrumptious,screamin,saucy,santoses,roundup,roughed,rosary,robechaux,retrospect,rescind,reprehensible,repel,remodeling,reconsidering,reciprocate,railroaded,psychics,promos,prob'ly,pristine,printout,priestess,prenuptial,precedes,pouty,phoning,peppy,pariah,parched,panes,overloaded,overdoing,nymphs,nother,notebooks,nearing,nearer,monstrosity,milady,mieke,mephesto,medicated,marshals,manilow,mammogram,m'lady,lotsa,loopy,lesion,lenient,learner,laszlo,kross,kinks,jinxed,involuntary,insubordination,ingrate,inflatable,incarnate,inane,hypoglycemia,huntin,humongous,hoodlum,honking,hemorrhage,helpin,hathor,hatching,grotto,grandmama,gorillas,godless,girlish,ghouls,gershwin,frosted,flutter,flagpole,fetching,fatter,faithfully,exert,evasion,escalate,enticing,enchantress,elopement,drills,downtime,downloading,dorks,doorways,divulge,dissociative,disgraceful,disconcerting,deteriorate,destinies,depressive,dented,denim,decruz,decidedly,deactivate,daydreams,curls,culprit,cruelest,crippling,cranberries,corvis,copped,commend,coastguard,cloning,cirque,churning,chock,chivalry,catalogues,cartwheels,carols,canister,buttered,bundt,buljanoff,bubbling,brokers,broaden,brimstone,brainless,bores,badmouthing,autopilot,ascertain,aorta,ampata,allenby,accosted,absolve,aborted,aaagh,aaaaaah,yonder,yellin,wyndham,wrongdoing,woodsboro,wigging,wasteland,warranty,waltzed,walnuts,vividly,veggie,unnecessarily,unloaded,unicorns,understated,unclean,umbrellas,twirling,turpentine,tupperware,triage,treehouse,tidbit,tickled,threes,thousandth,thingie,terminally,teething,tassel,talkies,swoon,switchboard,swerved,suspiciously,subsequentlyne,subscribe,strudel,stroking,strictest,stensland,starin,stannart,squirming,squealing,sorely,softie,snookums,sniveling,smidge,sloth,skulking,simian,sightseeing,siamese,shudder,shoppers,sharpen,shannen,semtex,secondhand,seance,scowl,scorn,safekeeping,russe,rummage,roshman,roomies,roaches,rinds,retrace,retires,resuscitate,rerun,reputations,rekall,refreshment,reenactment,recluse,ravioli,raves,raking,purses,punishable,punchline,puked,prosky,previews,poughkeepsie,poppins,polluted,placenta,pissy,petulant,perseverance,pears,pawns,pastries,partake,panky,palate,overzealous,orchids,obstructing,objectively,obituaries,obedient,nothingness,musty,motherly,mooning,momentous,mistaking,minutemen,milos,microchip,meself,merciless,menelaus,mazel,masturbate,mahogany,lysistrata,lillienfield,likable,liberate,leveled,letdown,larynx,lardass,lainey,lagged,klorel,kidnappings,keyed,karmic,jeebies,irate,invulnerable,intrusive,insemination,inquire,injecting,informative,informants,impure,impasse,imbalance,illiterate,hurled,hunts,hematoma,headstrong,handmade,handiwork,growling,gorky,getcha,gesundheit,gazing,galley,foolishly,fondness,floris,ferocious,feathered,fateful,fancies,fakes,faker,expire,ever'body,essentials,eskimos,enlightening,enchilada,emissary,embolism,elsinore,ecklie,drenched,drazi,doped,dogging,doable,dislikes,dishonesty,disengage,discouraging,derailed,deformed,deflect,defer,deactivated,crips,constellations,congressmen,complimenting,clubbing,clawing,chromium,chimes,chews,cheatin,chaste,cellblock,caving,catered,catacombs,calamari,bucking,brulee,brits,brisk,breezes,bounces,boudoir,binks,better'n,bellied,behrani,behaves,bedding,balmy,badmouth,backers,avenging,aromatherapy,armpit,armoire,anythin,anonymously,anniversaries,aftershave,affliction,adrift,admissible,adieu,acquittal,yucky,yearn,whitter,whirlpool,wendigo,watchdog,wannabes,wakey,vomited,voicemail,valedictorian,uttered,unwed,unrequited,unnoticed,unnerving,unkind,unjust,uniformed,unconfirmed,unadulterated,unaccounted,uglier,turnoff,trampled,tramell,toads,timbuktu,throwback,thimble,tasteless,tarantula,tamale,takeovers,swish,supposing,streaking,stargher,stanzi,stabs,squeamish,splattered,spiritually,spilt,speciality,smacking,skywire,skips,skaara,simpatico,shredding,showin,shortcuts,shite,shielding,shamelessly,serafine,sentimentality,seasick,schemer,scandalous,sainted,riedenschneider,rhyming,revel,retractor,retards,resurrect,remiss,reminiscing,remanded,reiben,regains,refuel,refresher,redoing,redheaded,reassured,rearranged,rapport,qumar,prowling,prejudices,precarious,powwow,pondering,plunger,plunged,pleasantville,playpen,phlegm,perfected,pancreas,paley,ovary,outbursts,oppressed,ooohhh,omoroca,offed,o'toole,nurture,nursemaid,nosebleed,necktie,muttering,munchies,mucking,mogul,mitosis,misdemeanor,miscarried,millionth,migraines,midler,manicurist,mandelbaum,manageable,malfunctioned,magnanimous,loudmouth,longed,lifestyles,liddy,lickety,leprechauns,komako,klute,kennel,justifying,irreversible,inventing,intergalactic,insinuate,inquiring,ingenuity,inconclusive,incessant,improv,impersonation,hyena,humperdinck,hubba,housework,hoffa,hither,hissy,hippy,hijacked,heparin,hellooo,hearth,hassles,hairstyle,hahahaha,hadda,guys'll,gutted,gulls,gritty,grievous,graft,gossamer,gooder,gambled,gadgets,fundamentals,frustrations,frolicking,frock,frilly,foreseen,footloose,fondly,flirtation,flinched,flatten,farthest,exposer,evading,escrow,empathize,embryos,embodiment,ellsberg,ebola,dulcinea,dreamin,drawbacks,doting,doose,doofy,disturbs,disorderly,disgusts,detox,denominator,demeanor,deliriously,decode,debauchery,croissant,cravings,cranked,coworkers,councilor,confuses,confiscate,confines,conduit,compress,combed,clouding,clamps,cinch,chinnery,celebratory,catalogs,carpenters,carnal,canin,bundys,bulldozer,buggers,bueller,brainy,booming,bookstores,bloodbath,bittersweet,bellhop,beeping,beanstalk,beady,baudelaire,bartenders,bargains,averted,armadillo,appreciating,appraised,antlers,aloof,allowances,alleyway,affleck,abject,zilch,youore,xanax,wrenching,wouldn,witted,wicca,whorehouse,whooo,whips,vouchers,victimized,vicodin,untested,unsolicited,unfocused,unfettered,unfeeling,unexplainable,understaffed,underbelly,tutorial,tryst,trampoline,towering,tirade,thieving,thang,swimmin,swayzak,suspecting,superstitions,stubbornness,streamers,strattman,stonewalling,stiffs,stacking,spout,splice,sonrisa,smarmy,slows,slicing,sisterly,shrill,shined,seeming,sedley,seatbelts,scour,scold,schoolyard,scarring,salieri,rustling,roxbury,rewire,revved,retriever,reputable,remodel,reins,reincarnation,rance,rafters,rackets,quail,pumbaa,proclaim,probing,privates,pried,prewedding,premeditation,posturing,posterity,pleasurable,pizzeria,pimps,penmanship,penchant,pelvis,overturn,overstepped,overcoat,ovens,outsmart,outed,ooohh,oncologist,omission,offhand,odour,nyazian,notarized,nobody'll,nightie,navel,nabbed,mystique,mover,mortician,morose,moratorium,mockingbird,mobsters,mingling,methinks,messengered,merde,masochist,martouf,martians,marinara,manray,majorly,magnifying,mackerel,lurid,lugging,lonnegan,loathsome,llantano,liberace,leprosy,latinos,lanterns,lamest,laferette,kraut,intestine,innocencia,inhibitions,ineffectual,indisposed,incurable,inconvenienced,inanimate,improbable,implode,hydrant,hustling,hustled,huevos,how'm,hooey,hoods,honcho,hinge,hijack,heimlich,hamunaptra,haladki,haiku,haggle,gutsy,grunting,grueling,gribbs,greevy,grandstanding,godparents,glows,glistening,gimmick,gaping,fraiser,formalities,foreigner,folders,foggy,fitty,fiends,fe'nos,favours,eyeing,extort,expedite,escalating,epinephrine,entitles,entice,eminence,eights,earthlings,eagerly,dunville,dugout,doublemeat,doling,dispensing,dispatcher,discoloration,diners,diddly,dictates,diazepam,derogatory,delights,defies,decoder,dealio,danson,cutthroat,crumbles,croissants,crematorium,craftsmanship,could'a,cordless,cools,conked,confine,concealing,complicates,communique,cockamamie,coasters,clobbered,clipping,clipboard,clemenza,cleanser,circumcision,chanukah,certainaly,cellmate,cancels,cadmium,buzzed,bumstead,bucko,browsing,broth,braver,boggling,bobbing,blurred,birkhead,benet,belvedere,bellies,begrudge,beckworth,banky,baldness,baggy,babysitters,aversion,astonished,assorted,appetites,angina,amiss,ambulances,alibis,airway,admires,adhesive,yoyou,xxxxxx,wreaked,wracking,woooo,wooing,wised,wilshire,wedgie,waging,violets,vincey,uplifting,untrustworthy,unmitigated,uneventful,undressing,underprivileged,unburden,umbilical,tweaking,turquoise,treachery,tosses,torching,toothpick,toasts,thickens,tereza,tenacious,teldar,taint,swill,sweatin,subtly,subdural,streep,stopwatch,stockholder,stillwater,stalkers,squished,squeegee,splinters,spliced,splat,spied,spackle,sophistication,snapshots,smite,sluggish,slithered,skeeters,sidewalks,sickly,shrugs,shrubbery,shrieking,shitless,settin,sentinels,selfishly,scarcely,sangria,sanctum,sahjhan,rustle,roving,rousing,rosomorf,riddled,responsibly,renoir,remoray,remedial,refundable,redirect,recheck,ravenwood,rationalizing,ramus,ramelle,quivering,pyjamas,psychos,provocations,prouder,protestors,prodded,proctologist,primordial,pricks,prickly,precedents,pentangeli,pathetically,parka,parakeet,panicky,overthruster,outsmarted,orthopedic,oncoming,offing,nutritious,nuthouse,nourishment,nibbling,newlywed,narcissist,mutilation,mundane,mummies,mumble,mowed,morvern,mortem,mopes,molasses,misplace,miscommunication,miney,midlife,menacing,memorizing,massaging,masking,magnets,luxuries,lounging,lothario,liposuction,lidocaine,libbets,levitate,leeway,launcelot,larek,lackeys,kumbaya,kryptonite,knapsack,keyhole,katarangura,juiced,jakey,ironclad,invoice,intertwined,interlude,interferes,injure,infernal,indeedy,incur,incorrigible,incantations,impediment,igloo,hysterectomy,hounded,hollering,hindsight,heebie,havesham,hasenfuss,hankering,hangers,hakuna,gutless,gusto,grubbing,grrrr,grazed,gratification,grandeur,gorak,godammit,gnawing,glanced,frostbite,frees,frazzled,fraulein,fraternizing,fortuneteller,formaldehyde,followup,foggiest,flunky,flickering,firecrackers,figger,fetuses,fates,eyeliner,extremities,extradited,expires,exceedingly,evaporate,erupt,epileptic,entrails,emporium,egregious,eggshells,easing,duwayne,droll,dreyfuss,dovey,doubly,doozy,donkeys,donde,distrust,distressing,disintegrate,discreetly,decapitated,dealin,deader,dashed,darkroom,dares,daddies,dabble,cushy,cupcakes,cuffed,croupier,croak,crapped,coursing,coolers,contaminate,consummated,construed,condos,concoction,compulsion,commish,coercion,clemency,clairvoyant,circulate,chesterton,checkered,charlatan,chaperones,categorically,cataracts,carano,capsules,capitalize,burdon,bullshitting,brewed,breathless,breasted,brainstorming,bossing,borealis,bonsoir,bobka,boast,blimp,bleep,bleeder,blackouts,bisque,billboards,beatings,bayberry,bashed,bamboozled,balding,baklava,baffled,backfires,babak,awkwardness,attest,attachments,apologizes,anyhoo,antiquated,alcante,advisable,aahhh,aaahh,zatarc,yearbooks,wuddya,wringing,womanhood,witless,winging,whatsa,wetting,waterproof,wastin,vogelman,vocation,vindicated,vigilance,vicariously,venza,vacuuming,utensils,uplink,unveil,unloved,unloading,uninhibited,unattached,tweaked,turnips,trinkets,toughen,toting,topside,terrors,terrify,technologically,tarnish,tagliati,szpilman,surly,supple,summation,suckin,stepmom,squeaking,splashmore,souffle,solitaire,solicitation,solarium,smokers,slugged,slobbering,skylight,skimpy,sinuses,silenced,sideburns,shrinkage,shoddy,shhhhhh,shelled,shareef,shangri,seuss,serenade,scuffle,scoff,scanners,sauerkraut,sardines,sarcophagus,salvy,rusted,russells,rowboat,rolfsky,ringside,respectability,reparations,renegotiate,reminisce,reimburse,regimen,raincoat,quibble,puzzled,purposefully,pubic,proofing,prescribing,prelim,poisons,poaching,personalized,personable,peroxide,pentonville,payphone,payoffs,paleontology,overflowing,oompa,oddest,objecting,o'hare,o'daniel,notches,nobody'd,nightstand,neutralized,nervousness,nerdy,needlessly,naquadah,nappy,nantucket,nambla,mountaineer,motherfuckin,morrie,monopolizing,mohel,mistreated,misreading,misbehave,miramax,minivan,milligram,milkshakes,metamorphosis,medics,mattresses,mathesar,matchbook,matata,marys,malucci,magilla,lymphoma,lowers,lordy,linens,lindenmeyer,limelight,leapt,laxative,lather,lapel,lamppost,laguardia,kindling,kegger,kawalsky,juries,jokin,jesminder,interning,innermost,injun,infallible,industrious,indulgence,incinerator,impossibility,impart,illuminate,iguanas,hypnotic,hyped,hospitable,hoses,homemaker,hirschmuller,helpers,headset,guardianship,guapo,grubby,granola,granddaddy,goren,goblet,gluttony,globes,giorno,getter,geritol,gassed,gaggle,foxhole,fouled,foretold,floorboards,flippers,flaked,fireflies,feedings,fashionably,farragut,fallback,facials,exterminate,excites,everything'll,evenin,ethically,ensue,enema,empath,eluded,eloquently,eject,edema,dumpling,droppings,dolled,distasteful,disputing,displeasure,disdain,deterrent,dehydration,defied,decomposing,dawned,dailies,custodian,crusts,crucifix,crowning,crier,crept,craze,crawls,couldn,correcting,corkmaster,copperfield,cooties,contraption,consumes,conspire,consenting,consented,conquers,congeniality,complains,communicator,commendable,collide,coladas,colada,clout,clooney,classifieds,clammy,civility,cirrhosis,chink,catskills,carvers,carpool,carelessness,cardio,carbs,capades,butabi,busmalis,burping,burdens,bunks,buncha,bulldozers,browse,brockovich,breakthroughs,bravado,boogety,blossoms,blooming,bloodsucker,blight,betterton,betrayer,belittle,beeps,bawling,barts,bartending,bankbooks,babish,atropine,assertive,armbrust,anyanka,annoyance,anemic,anago,airwaves,aimlessly,aaargh,aaand,yoghurt,writhing,workable,winking,winded,widen,whooping,whiter,whatya,wazoo,voila,virile,vests,vestibule,versed,vanishes,urkel,uproot,unwarranted,unscheduled,unparalleled,undergrad,tweedle,turtleneck,turban,trickery,transponder,toyed,townhouse,thyself,thunderstorm,thinning,thawed,tether,technicalities,tau'ri,tarnished,taffeta,tacked,systolic,swerve,sweepstakes,swabs,suspenders,superwoman,sunsets,succulent,subpoenas,stumper,stosh,stomachache,stewed,steppin,stepatech,stateside,spicoli,sparing,soulless,sonnets,sockets,snatching,smothering,slush,sloman,slashing,sitters,simpleton,sighs,sidra,sickens,shunned,shrunken,showbiz,shopped,shimmering,shagging,semblance,segue,sedation,scuzzlebutt,scumbags,screwin,scoundrels,scarsdale,scabs,saucers,saintly,saddened,runaways,runaround,rheya,resenting,rehashing,rehabilitated,regrettable,refreshed,redial,reconnecting,ravenous,raping,rafting,quandary,pylea,putrid,puffing,psychopathic,prunes,probate,prayin,pomegranate,plummeting,planing,plagues,pinata,pithy,perversion,personals,perched,peeps,peckish,pavarotti,pajama,packin,pacifier,overstepping,okama,obstetrician,nutso,nuance,normalcy,nonnegotiable,nomak,ninny,nines,nicey,newsflash,neutered,nether,negligee,necrosis,navigating,narcissistic,mylie,muses,momento,moisturizer,moderation,misinformed,misconception,minnifield,mikkos,methodical,mebbe,meager,maybes,matchmaking,masry,markovic,malakai,luzhin,lusting,lumberjack,loopholes,loaning,lightening,leotard,launder,lamaze,kubla,kneeling,kibosh,jumpsuit,joliet,jogger,janover,jakovasaurs,irreparable,innocently,inigo,infomercial,inexplicable,indispensable,impregnated,impossibly,imitating,hunches,hummus,houmfort,hothead,hostiles,hooves,hooligans,homos,homie,hisself,heyyy,hesitant,hangout,handsomest,handouts,hairless,gwennie,guzzling,guinevere,grungy,goading,glaring,gavel,gardino,gangrene,fruitful,friendlier,freckle,freakish,forthright,forearm,footnote,flops,fixer,firecracker,finito,figgered,fezzik,fastened,farfetched,fanciful,familiarize,faire,fahrenheit,extravaganza,exploratory,explanatory,everglades,eunuch,estas,escapade,erasers,emptying,embarassing,dweeb,dutiful,dumplings,dries,drafty,dollhouse,dismissing,disgraced,discrepancies,disbelief,disagreeing,digestion,didnt,deviled,deviated,demerol,delectable,decaying,decadent,dears,dateless,d'algout,cultivating,cryto,crumpled,crumbled,cronies,crease,craves,cozying,corduroy,congratulated,confidante,compressions,complicating,compadre,coerce,classier,chums,chumash,chivalrous,chinpoko,charred,chafing,celibacy,carted,carryin,carpeting,carotid,cannibals,candor,butterscotch,busts,busier,bullcrap,buggin,brookside,brodski,brassiere,brainwash,brainiac,botrelle,bonbon,boatload,blimey,blaring,blackness,bipartisan,bimbos,bigamist,biebe,biding,betrayals,bestow,bellerophon,bedpans,bassinet,basking,barzini,barnyard,barfed,backups,audited,asinine,asalaam,arouse,applejack,annoys,anchovies,ampule,alameida,aggravate,adage,accomplices,yokel,y'ever,wringer,witwer,withdrawals,windward,willfully,whorfin,whimsical,whimpering,weddin,weathered,warmest,wanton,volant,visceral,vindication,veggies,urinate,uproar,unwritten,unwrap,unsung,unsubstantiated,unspeakably,unscrupulous,unraveling,unquote,unqualified,unfulfilled,undetectable,underlined,unattainable,unappreciated,ummmm,ulcers,tylenol,tweak,turnin,tuatha,tropez,trellis,toppings,tootin,toodle,tinkering,thrives,thespis,theatrics,thatherton,tempers,tavington,tartar,tampon,swelled,sutures,sustenance,sunflowers,sublet,stubbins,strutting,strewn,stowaway,stoic,sternin,stabilizing,spiraling,spinster,speedometer,speakeasy,soooo,soiled,sneakin,smithereens,smelt,smacks,slaughterhouse,slacks,skids,sketching,skateboards,sizzling,sixes,sirree,simplistic,shouts,shorted,shoelace,sheeit,shards,shackled,sequestered,selmak,seduces,seclusion,seamstress,seabeas,scoops,scooped,scavenger,satch,s'more,rudeness,romancing,rioja,rifkin,rieper,revise,reunions,repugnant,replicating,repaid,renewing,relaxes,rekindle,regrettably,regenerate,reels,reciting,reappear,readin,ratting,rapes,rancher,rammed,rainstorm,railroading,queers,punxsutawney,punishes,pssst,prudy,proudest,protectors,procrastinating,proactive,priss,postmortem,pompoms,poise,pickings,perfectionist,peretti,people'll,pecking,patrolman,paralegal,paragraphs,paparazzi,pankot,pampering,overstep,overpower,outweigh,omnipotent,odious,nuwanda,nurtured,newsroom,neeson,needlepoint,necklaces,neato,muggers,muffler,mousy,mourned,mosey,mopey,mongolians,moldy,misinterpret,minibar,microfilm,mendola,mended,melissande,masturbating,masbath,manipulates,maimed,mailboxes,magnetism,m'lord,m'honey,lymph,lunge,lovelier,lefferts,leezak,ledgers,larraby,laloosh,kundun,kozinski,knockoff,kissin,kiosk,kennedys,kellman,karlo,kaleidoscope,jeffy,jaywalking,instructing,infraction,informer,infarction,impulsively,impressing,impersonated,impeach,idiocy,hyperbole,hurray,humped,huhuh,hsing,hordes,hoodlums,honky,hitchhiker,hideously,heaving,heathcliff,headgear,headboard,hazing,harem,handprint,hairspray,gutiurrez,goosebumps,gondola,glitches,gasping,frolic,freeways,frayed,fortitude,forgetful,forefathers,fonder,foiled,foaming,flossing,flailing,fitzgeralds,firehouse,finders,fiftieth,fellah,fawning,farquaad,faraway,fancied,extremists,exorcist,exhale,ethros,entrust,ennui,energized,encephalitis,embezzling,elster,elixir,electrolytes,duplex,dryers,drexl,dredging,drawback,don'ts,dobisch,divorcee,disrespected,disprove,disobeying,disinfectant,dingy,digress,dieting,dictating,devoured,devise,detonators,desist,deserter,derriere,deron,deceptive,debilitating,deathwok,daffodils,curtsy,cursory,cuppa,cumin,cronkite,cremation,credence,cranking,coverup,courted,countin,counselling,cornball,contentment,consensual,compost,cluett,cleverly,cleansed,cleanliness,chopec,chomp,chins,chime,cheswick,chessler,cheapest,chatted,cauliflower,catharsis,catchin,caress,camcorder,calorie,cackling,bystanders,buttoned,buttering,butted,buries,burgel,buffoon,brogna,bragged,boutros,bogeyman,blurting,blurb,blowup,bloodhound,blissful,birthmark,bigot,bestest,belted,belligerent,beggin,befall,beeswax,beatnik,beaming,barricade,baggoli,badness,awoke,artsy,artful,aroun,armpits,arming,annihilate,anise,angiogram,anaesthetic,amorous,ambiance,alligators,adoration,admittance,adama,abydos,zonked,zhivago,yorkin,wrongfully,writin,wrappers,worrywart,woops,wonderfalls,womanly,wickedness,whoopie,wholeheartedly,whimper,which'll,wheelchairs,what'ya,warranted,wallop,wading,wacked,virginal,vermouth,vermeil,verger,ventriss,veneer,vampira,utero,ushers,urgently,untoward,unshakable,unsettled,unruly,unlocks,ungodly,undue,uncooperative,uncontrollably,unbeatable,twitchy,tumbler,truest,triumphs,triplicate,tribbey,tortures,tongaree,tightening,thorazine,theres,testifies,teenaged,tearful,taxing,taldor,syllabus,swoops,swingin,suspending,sunburn,stuttering,stupor,strides,strategize,strangulation,stooped,stipulation,stingy,stapled,squeaks,squawking,spoilsport,splicing,spiel,spencers,spasms,spaniard,softener,sodding,soapbox,smoldering,smithbauer,skittish,sifting,sickest,sicilians,shuffling,shrivel,segretti,seeping,securely,scurrying,scrunch,scrote,screwups,schenkman,sawing,savin,satine,sapiens,salvaging,salmonella,sacrilege,rumpus,ruffle,roughing,rotted,rondall,ridding,rickshaw,rialto,rhinestone,restrooms,reroute,requisite,repress,rednecks,redeeming,rayed,ravell,raked,raincheck,raffi,racked,pushin,profess,prodding,procure,presuming,preppy,prednisone,potted,posttraumatic,poorhouse,podiatrist,plowed,pledging,playroom,plait,placate,pinback,picketing,photographing,pharoah,petrak,petal,persecuting,perchance,pellets,peeved,peerless,payable,pauses,pathologist,pagliacci,overwrought,overreaction,overqualified,overheated,outcasts,otherworldly,opinionated,oodles,oftentimes,occured,obstinate,nutritionist,numbness,nubile,nooooooo,nobodies,nepotism,neanderthals,mushu,mucus,mothering,mothballs,monogrammed,molesting,misspoke,misspelled,misconstrued,miscalculated,minimums,mince,mildew,mighta,middleman,mementos,mellowed,mayol,mauled,massaged,marmalade,mardi,makings,lundegaard,lovingly,loudest,lotto,loosing,loompa,looming,longs,loathes,littlest,littering,lifelike,legalities,laundered,lapdog,lacerations,kopalski,knobs,knitted,kittridge,kidnaps,kerosene,karras,jungles,jockeys,iranoff,invoices,invigorating,insolence,insincere,insectopia,inhumane,inhaling,ingrates,infestation,individuality,indeterminate,incomprehensible,inadequacy,impropriety,importer,imaginations,illuminating,ignite,hysterics,hypodermic,hyperventilate,hyperactive,humoring,honeymooning,honed,hoist,hoarding,hitching,hiker,hightail,hemoglobin,hell'd,heinie,growin,grasped,grandparent,granddaughters,gouged,goblins,gleam,glades,gigantor,get'em,geriatric,gatekeeper,gargoyles,gardenias,garcon,garbo,gallows,gabbing,futon,fulla,frightful,freshener,fortuitous,forceps,fogged,fodder,foamy,flogging,flaun,flared,fireplaces,feverish,favell,fattest,fattening,fallow,extraordinaire,evacuating,errant,envied,enchant,enamored,egocentric,dussander,dunwitty,dullest,dropout,dredged,dorsia,doornail,donot,dongs,dogged,dodgy,ditty,dishonorable,discriminating,discontinue,dings,dilly,dictation,dialysis,delly,delightfully,daryll,dandruff,cruddy,croquet,cringe,crimp,credo,crackling,courtside,counteroffer,counterfeiting,corrupting,copping,conveyor,contusions,contusion,conspirator,consoling,connoisseur,confetti,composure,compel,colic,coddle,cocksuckers,coattails,cloned,claustrophobia,clamoring,churn,chugga,chirping,chasin,chapped,chalkboard,centimeter,caymans,catheter,casings,caprica,capelli,cannolis,cannoli,camogli,camembert,butchers,butchered,busboys,bureaucrats,buckled,bubbe,brownstone,bravely,brackley,bouquets,botox,boozing,boosters,bodhi,blunders,blunder,blockage,biocyte,betrays,bested,beryllium,beheading,beggar,begbie,beamed,bastille,barstool,barricades,barbecues,barbecued,bandwagon,backfiring,bacarra,avenged,autopsies,aunties,associating,artichoke,arrowhead,appendage,apostrophe,antacid,ansel,annul,amuses,amped,amicable,amberg,alluring,adversaries,admirers,adlai,acupuncture,abnormality,aaaahhhh,zooming,zippity,zipping,zeroed,yuletide,yoyodyne,yengeese,yeahhh,wrinkly,wracked,withered,winks,windmills,whopping,wendle,weigart,waterworks,waterbed,watchful,wantin,wagging,waaah,vying,ventricle,varnish,vacuumed,unreachable,unprovoked,unmistakable,unfriendly,unfolding,underpaid,uncuff,unappealing,unabomber,typhoid,tuxedos,tushie,turds,tumnus,troubadour,trinium,treaters,treads,transpired,transgression,tought,thready,thins,thinners,techs,teary,tattaglia,tassels,tarzana,tanking,tablecloths,synchronize,symptomatic,sycophant,swimmingly,sweatshop,surfboard,superpowers,sunroom,sunblock,sugarplum,stupidly,strumpet,strapless,stooping,stools,stealthy,stalks,stairmaster,staffer,sshhh,squatting,squatters,spectacularly,sorbet,socked,sociable,snubbed,snorting,sniffles,snazzy,snakebite,smuggler,smorgasbord,smooching,slurping,slouch,slingshot,slaved,skimmed,sisterhood,silliest,sidarthur,sheraton,shebang,sharpening,shanghaied,shakers,sendoff,scurvy,scoliosis,scaredy,scagnetti,sawchuk,saugus,sasquatch,sandbag,saltines,s'pose,roston,rostle,riveting,ristle,rifling,revulsion,reverently,retrograde,restful,resents,reptilian,reorganize,renovating,reiterate,reinvent,reinmar,reibers,reechard,recuse,reconciling,recognizance,reclaiming,recitation,recieved,rebate,reacquainted,rascals,railly,quintuplets,quahog,pygmies,puzzling,punctuality,prosthetic,proms,probie,preys,preserver,preppie,poachers,plummet,plumbers,plannin,pitying,pitfalls,piqued,pinecrest,pinches,pillage,pigheaded,physique,pessimistic,persecute,perjure,percentile,pentothal,pensky,penises,peini,pazzi,pastels,parlour,paperweight,pamper,pained,overwhelm,overalls,outrank,outpouring,outhouse,outage,ouija,obstructed,obsessions,obeying,obese,o'riley,o'higgins,nosebleeds,norad,noooooooo,nononono,nonchalant,nippy,neurosis,nekhorvich,necronomicon,naquada,n'est,mystik,mystified,mumps,muddle,mothership,moped,monumentally,monogamous,mondesi,misogynistic,misinterpreting,mindlock,mending,megaphone,meeny,medicating,meanie,masseur,markstrom,marklars,margueritas,manifesting,maharajah,lukewarm,loveliest,loran,lizardo,liquored,lipped,lingers,limey,lemkin,leisurely,lathe,latched,lapping,ladle,krevlorneswath,kosygin,khakis,kenaru,keats,kaitlan,julliard,jollies,jaundice,jargon,jackals,invisibility,insipid,inflamed,inferiority,inexperience,incinerated,incinerate,incendiary,incan,inbred,implicating,impersonator,hunks,horsing,hooded,hippopotamus,hiked,hetson,hetero,hessian,henslowe,hendler,hellstrom,headstone,hayloft,harbucks,handguns,hallucinate,haldol,haggling,gynaecologist,gulag,guilder,guaranteeing,groundskeeper,grindstone,grimoir,grievance,griddle,gribbit,greystone,graceland,gooders,goeth,gentlemanly,gelatin,gawking,ganged,fukes,fromby,frenchmen,foursome,forsley,forbids,footwork,foothold,floater,flinging,flicking,fittest,fistfight,fireballs,fillings,fiddling,fennyman,felonious,felonies,feces,favoritism,fatten,fanatics,faceman,excusing,excepted,entwined,entree,ensconced,eladio,ehrlichman,easterland,dueling,dribbling,drape,downtrodden,doused,dosed,dorleen,dokie,distort,displeased,disown,dismount,disinherited,disarmed,disapproves,diperna,dined,diligent,dicaprio,depress,decoded,debatable,dealey,darsh,damsels,damning,dad'll,d'oeuvre,curlers,curie,cubed,crikey,crepes,countrymen,cornfield,coppers,copilot,copier,cooing,conspiracies,consigliere,condoning,commoner,commies,combust,comas,colds,clawed,clamped,choosy,chomping,chimps,chigorin,chianti,cheep,checkups,cheaters,celibate,cautiously,cautionary,castell,carpentry,caroling,carjacking,caritas,caregiver,cardiology,candlesticks,canasta,cain't,burro,burnin,bunking,bumming,bullwinkle,brummel,brooms,brews,breathin,braslow,bracing,botulism,boorish,bloodless,blayne,blatantly,blankie,bedbugs,becuase,barmaid,bared,baracus,banal,bakes,backpacks,attentions,atrocious,ativan,athame,asunder,astound,assuring,aspirins,asphyxiation,ashtrays,aryans,arnon,apprehension,applauding,anvil,antiquing,antidepressants,annoyingly,amputate,altruistic,alotta,alerting,afterthought,affront,affirm,actuality,abysmal,absentee,yeller,yakushova,wuzzy,wriggle,worrier,woogyman,womanizer,windpipe,windbag,willin,whisking,whimsy,wendall,weeny,weensy,weasels,watery,watcha,wasteful,waski,washcloth,waaay,vouched,viznick,ventriloquist,vendettas,veils,vayhue,vamanos,vadimus,upstage,uppity,unsaid,unlocking,unintentionally,undetected,undecided,uncaring,unbearably,tween,tryout,trotting,trini,trimmings,trickier,treatin,treadstone,trashcan,transcendent,tramps,townsfolk,torturous,torrid,toothpicks,tolerable,tireless,tiptoeing,timmay,tillinghouse,tidying,tibia,thumbing,thrusters,thrashing,these'll,thatos,testicular,teriyaki,tenors,tenacity,tellers,telemetry,tarragon,switchblade,swicker,swells,sweatshirts,swatches,surging,supremely,sump'n,succumb,subsidize,stumbles,stuffs,stoppin,stipulate,stenographer,steamroll,stasis,stagger,squandered,splint,splendidly,splashy,splashing,specter,sorcerers,somewheres,somber,snuggled,snowmobile,sniffed,snags,smugglers,smudged,smirking,smearing,slings,sleet,sleepovers,sleek,slackers,siree,siphoning,singed,sincerest,sickened,shuffled,shriveled,shorthanded,shittin,shish,shipwrecked,shins,sheetrock,shawshank,shamu,sha're,servitude,sequins,seascape,scrapings,scoured,scorching,sandpaper,saluting,salud,ruffled,roughnecks,rougher,rosslyn,rosses,roost,roomy,romping,revolutionize,reprimanded,refute,refrigerated,reeled,redundancies,rectal,recklessly,receding,reassignment,reapers,readout,ration,raring,ramblings,raccoons,quarantined,purging,punters,psychically,premarital,pregnancies,predisposed,precautionary,pollute,podunk,plums,plaything,pixilated,pitting,piranhas,pieced,piddles,pickled,photogenic,phosphorous,pffft,pestilence,pessimist,perspiration,perps,penticoff,passageways,pardons,panics,pancamo,paleontologist,overwhelms,overstating,overpaid,overdid,outlive,orthodontist,orgies,oreos,ordover,ordinates,ooooooh,oooohhh,omelettes,officiate,obtuse,obits,nymph,novocaine,noooooooooo,nipping,nilly,nightstick,negate,neatness,natured,narcotic,narcissism,namun,nakatomi,murky,muchacho,mouthwash,motzah,morsel,morph,morlocks,mooch,moloch,molest,mohra,modus,modicum,mockolate,misdemeanors,miscalculation,middies,meringue,mercilessly,meditating,mayakovsky,maximillian,marlee,markovski,maniacal,maneuvered,magnificence,maddening,lutze,lunged,lovelies,lorry,loosening,lookee,littered,lilac,lightened,laces,kurzon,kurtzweil,kind've,kimono,kenji,kembu,keanu,kazuo,jonesing,jilted,jiggling,jewelers,jewbilee,jacqnoud,jacksons,ivories,insurmountable,innocuous,innkeeper,infantery,indulged,indescribable,incoherent,impervious,impertinent,imperfections,hunnert,huffy,horsies,horseradish,hollowed,hogwash,hockley,hissing,hiromitsu,hidin,hereafter,helpmann,hehehe,haughty,happenings,hankie,handsomely,halliwells,haklar,haise,gunsights,grossly,grope,grocer,grits,gripping,grabby,glorificus,gizzard,gilardi,gibarian,geminon,gasses,garnish,galloping,gairwyn,futterman,futility,fumigated,fruitless,friendless,freon,foregone,forego,floored,flighty,flapjacks,fizzled,ficus,festering,farbman,fabricate,eyghon,extricate,exalted,eventful,esophagus,enterprising,entail,endor,emphatically,embarrasses,electroshock,easel,duffle,drumsticks,dissection,dissected,disposing,disparaging,disorientation,disintegrated,disarming,devoting,dessaline,deprecating,deplorable,delve,degenerative,deduct,decomposed,deathly,dearie,daunting,dankova,cyclotron,cyberspace,cutbacks,culpable,cuddled,crumpets,cruelly,crouching,cranium,cramming,cowering,couric,cordesh,conversational,conclusively,clung,clotting,cleanest,chipping,chimpanzee,chests,cheapen,chainsaws,censure,catapult,caravaggio,carats,captivating,calrissian,butlers,busybody,bussing,bunion,bulimic,budging,brung,browbeat,brokenhearted,brecher,breakdowns,bracebridge,boning,blowhard,blisters,blackboard,bigotry,bialy,bhamra,bended,begat,battering,baste,basquiat,barricaded,barometer,balled,baited,badenweiler,backhand,ascenscion,argumentative,appendicitis,apparition,anxiously,antagonistic,angora,anacott,amniotic,ambience,alonna,aleck,akashic,ageless,abouts,aawwww,aaaaarrrrrrggghhh,aaaaaa,zendi,yuppies,yodel,y'hear,wrangle,wombosi,wittle,withstanding,wisecracks,wiggling,wierd,whittlesley,whipper,whattya,whatsamatter,whatchamacallit,whassup,whad'ya,weakling,warfarin,waponis,wampum,wadn't,vorash,vizzini,virtucon,viridiana,veracity,ventilated,varicose,varcon,vandalized,vamos,vamoose,vaccinated,vacationing,usted,urinal,uppers,unwittingly,unsealed,unplanned,unhinged,unhand,unfathomable,unequivocally,unbreakable,unadvisedly,udall,tynacorp,tuxes,tussle,turati,tunic,tsavo,trussed,troublemakers,trollop,tremors,transsexual,transfusions,toothbrushes,toned,toddlers,tinted,tightened,thundering,thorpey,this'd,thespian,thaddius,tenuous,tenths,tenement,telethon,teleprompter,teaspoon,taunted,tattle,tardiness,taraka,tappy,tapioca,tapeworm,talcum,tacks,swivel,swaying,superpower,summarize,sumbitch,sultry,suburbia,styrofoam,stylings,strolls,strobe,stockpile,stewardesses,sterilized,sterilize,stealin,stakeouts,squawk,squalor,squabble,sprinkled,sportsmanship,spokes,spiritus,sparklers,spareribs,sowing,sororities,sonovabitch,solicit,softy,softness,softening,snuggling,snatchers,snarling,snarky,snacking,smears,slumped,slowest,slithering,sleazebag,slayed,slaughtering,skidded,skated,sivapathasundaram,sissies,silliness,silences,sidecar,sicced,shylock,shtick,shrugged,shriek,shoves,should'a,shortcake,shockingly,shirking,shaves,shatner,sharpener,shapely,shafted,sexless,septum,selflessness,seabea,scuff,screwball,scoping,scooch,scolding,schnitzel,schemed,scalper,santy,sankara,sanest,salesperson,sakulos,safehouse,sabers,runes,rumblings,rumbling,ruijven,ringers,righto,rhinestones,retrieving,reneging,remodelling,relentlessly,regurgitate,refills,reeking,reclusive,recklessness,recanted,ranchers,rafer,quaking,quacks,prophesied,propensity,profusely,problema,prided,prays,postmark,popsicles,poodles,pollyanna,polaroids,pokes,poconos,pocketful,plunging,plugging,pleeease,platters,pitied,pinetti,piercings,phooey,phonies,pestering,periscope,pentagram,pelts,patronized,paramour,paralyze,parachutes,pales,paella,paducci,owatta,overdone,overcrowded,overcompensating,ostracized,ordinate,optometrist,operandi,omens,okayed,oedipal,nuttier,nuptial,nunheim,noxious,nourish,notepad,nitroglycerin,nibblet,neuroses,nanosecond,nabbit,mythic,munchkins,multimillion,mulroney,mucous,muchas,mountaintop,morlin,mongorians,moneybags,mom'll,molto,mixup,misgivings,mindset,michalchuk,mesmerized,merman,mensa,meaty,mbwun,materialize,materialistic,masterminded,marginally,mapuhe,malfunctioning,magnify,macnamara,macinerney,machinations,macadamia,lysol,lurks,lovelorn,lopsided,locator,litback,litany,linea,limousines,limes,lighters,liebkind,levity,levelheaded,letterhead,lesabre,leron,lepers,lefts,leftenant,laziness,layaway,laughlan,lascivious,laryngitis,lapsed,landok,laminated,kurten,kobol,knucklehead,knowed,knotted,kirkeby,kinsa,karnovsky,jolla,jimson,jettison,jeric,jawed,jankis,janitors,jango,jalopy,jailbreak,jackers,jackasses,invalidate,intercepting,intercede,insinuations,infertile,impetuous,impaled,immerse,immaterial,imbeciles,imagines,idyllic,idolized,icebox,i'd've,hypochondriac,hyphen,hurtling,hurried,hunchback,hullo,horsting,hoooo,homeboys,hollandaise,hoity,hijinks,hesitates,herrero,herndorff,helplessly,heeyy,heathen,hearin,headband,harrassment,harpies,halstrom,hahahahaha,hacer,grumbling,grimlocks,grift,greets,grandmothers,grander,grafts,gordievsky,gondorff,godorsky,glscripts,gaudy,gardeners,gainful,fuses,fukienese,frizzy,freshness,freshening,fraught,frantically,foxbooks,fortieth,forked,foibles,flunkies,fleece,flatbed,fisted,firefight,fingerpaint,filibuster,fhloston,fenceline,femur,fatigues,fanucci,fantastically,familiars,falafel,fabulously,eyesore,expedient,ewwww,eviscerated,erogenous,epidural,enchante,embarassed,embarass,embalming,elude,elspeth,electrocute,eigth,eggshell,echinacea,eases,earpiece,earlobe,dumpsters,dumbshit,dumbasses,duloc,duisberg,drummed,drinkers,dressy,dorma,doily,divvy,diverting,dissuade,disrespecting,displace,disorganized,disgustingly,discord,disapproving,diligence,didja,diced,devouring,detach,destructing,desolate,demerits,delude,delirium,degrade,deevak,deemesa,deductions,deduce,debriefed,deadbeats,dateline,darndest,damnable,dalliance,daiquiri,d'agosta,cussing,cryss,cripes,cretins,crackerjack,cower,coveting,couriers,countermission,cotswolds,convertibles,conversationalist,consorting,consoled,consarn,confides,confidentially,commited,commiserate,comme,comforter,comeuppance,combative,comanches,colosseum,colling,coexist,coaxing,cliffside,chutes,chucked,chokes,childlike,childhoods,chickening,chenowith,charmingly,changin,catsup,captioning,capsize,cappucino,capiche,candlewell,cakewalk,cagey,caddie,buxley,bumbling,bulky,buggered,brussel,brunettes,brumby,brotha,bronck,brisket,bridegroom,braided,bovary,bookkeeper,bluster,bloodline,blissfully,blase,billionaires,bicker,berrisford,bereft,berating,berate,bendy,belive,belated,beikoku,beens,bedspread,bawdy,barreling,baptize,banya,balthazar,balmoral,bakshi,bails,badgered,backstreet,awkwardly,auras,attuned,atheists,astaire,assuredly,arrivederci,appetit,appendectomy,apologetic,antihistamine,anesthesiologist,amulets,albie,alarmist,aiight,adstream,admirably,acquaint,abound,abominable,aaaaaaah,zekes,zatunica,wussy,worded,wooed,woodrell,wiretap,windowsill,windjammer,windfall,whisker,whims,whatiya,whadya,weirdly,weenies,waunt,washout,wanto,waning,victimless,verdad,veranda,vandaley,vancomycin,valise,vaguest,upshot,unzip,unwashed,untrained,unstuck,unprincipled,unmentionables,unjustly,unfolds,unemployable,uneducated,unduly,undercut,uncovering,unconsciousness,unconsciously,tyndareus,turncoat,turlock,tulle,tryouts,trouper,triplette,trepkos,tremor,treeger,trapeze,traipse,tradeoff,trach,torin,tommorow,tollan,toity,timpani,thumbprint,thankless,tell'em,telepathy,telemarketing,telekinesis,teevee,teeming,tarred,tambourine,talentless,swooped,switcheroo,swirly,sweatpants,sunstroke,suitors,sugarcoat,subways,subterfuge,subservient,subletting,stunningly,strongbox,striptease,stravanavitch,stradling,stoolie,stodgy,stocky,stifle,stealer,squeezes,squatter,squarely,sprouted,spool,spindly,speedos,soups,soundly,soulmates,somebody'll,soliciting,solenoid,sobering,snowflakes,snowballs,snores,slung,slimming,skulk,skivvies,skewered,skewer,sizing,sistine,sidebar,sickos,shushing,shunt,shugga,shone,shol'va,sharpened,shapeshifter,shadowing,shadoe,selectman,sefelt,seared,scrounging,scribbling,scooping,scintillating,schmoozing,scallops,sapphires,sanitarium,sanded,safes,rudely,roust,rosebush,rosasharn,rondell,roadhouse,riveted,rewrote,revamp,retaliatory,reprimand,replicators,replaceable,remedied,relinquishing,rejoicing,reincarnated,reimbursed,reevaluate,redid,redefine,recreating,reconnected,rebelling,reassign,rearview,rayne,ravings,ratso,rambunctious,radiologist,quiver,quiero,queef,qualms,pyrotechnics,pulsating,psychosomatic,proverb,promiscuous,profanity,prioritize,preying,predisposition,precocious,precludes,prattling,prankster,povich,potting,postpartum,porridge,polluting,plowing,pistachio,pissin,pickpocket,physicals,peruse,pertains,personified,personalize,perjured,perfecting,pepys,pepperdine,pembry,peering,peels,pedophile,patties,passkey,paratrooper,paraphernalia,paralyzing,pandering,paltry,palpable,pagers,pachyderm,overstay,overestimated,overbite,outwit,outgrow,outbid,ooops,oomph,oohhh,oldie,obliterate,objectionable,nygma,notting,noches,nitty,nighters,newsstands,newborns,neurosurgery,nauseated,nastiest,narcolepsy,mutilate,muscled,murmur,mulva,mulling,mukada,muffled,morgues,moonbeams,monogamy,molester,molestation,molars,moans,misprint,mismatched,mirth,mindful,mimosas,millander,mescaline,menstrual,menage,mellowing,medevac,meddlesome,matey,manicures,malevolent,madmen,macaroons,lydell,lycra,lunchroom,lunching,lozenges,looped,litigious,liquidate,linoleum,lingk,limitless,limber,lilacs,ligature,liftoff,lemmiwinks,leggo,learnin,lazarre,lawyered,lactose,knelt,kenosha,kemosabe,jussy,junky,jordy,jimmies,jeriko,jakovasaur,issacs,isabela,irresponsibility,ironed,intoxication,insinuated,inherits,ingest,ingenue,inflexible,inflame,inevitability,inedible,inducement,indignant,indictments,indefensible,incomparable,incommunicado,improvising,impounded,illogical,ignoramus,hydrochloric,hydrate,hungover,humorless,humiliations,hugest,hoverdrone,hovel,hmmph,hitchhike,hibernating,henchman,helloooo,heirlooms,heartsick,headdress,hatches,harebrained,hapless,hanen,handsomer,hallows,habitual,guten,gummy,guiltier,guidebook,gstaad,gruff,griss,grieved,grata,gorignak,goosed,goofed,glowed,glitz,glimpses,glancing,gilmores,gianelli,geraniums,garroway,gangbusters,gamblers,galls,fuddy,frumpy,frowning,frothy,fro'tak,frere,fragrances,forgettin,follicles,flowery,flophouse,floatin,flirts,flings,flatfoot,fingerprinting,fingerprinted,fingering,finald,fillet,fianc,femoral,federales,fawkes,fascinates,farfel,fambly,falsified,fabricating,exterminators,expectant,excusez,excrement,excercises,evian,etins,esophageal,equivalency,equate,equalizer,entrees,enquire,endearment,empathetic,emailed,eggroll,earmuffs,dyslexic,duper,duesouth,drunker,druggie,dreadfully,dramatics,dragline,downplay,downers,dominatrix,doers,docket,docile,diversify,distracts,disloyalty,disinterested,discharging,disagreeable,dirtier,dinghy,dimwitted,dimoxinil,dimmy,diatribe,devising,deviate,detriment,desertion,depressants,depravity,deniability,delinquents,defiled,deepcore,deductive,decimate,deadbolt,dauthuille,dastardly,daiquiris,daggers,dachau,curiouser,curdled,cucamonga,cruller,cruces,crosswalk,crinkle,crescendo,cremate,counseled,couches,cornea,corday,copernicus,contrition,contemptible,constipated,conjoined,confounded,condescend,concoct,conch,compensating,committment,commandeered,comely,coddled,cockfight,cluttered,clunky,clownfish,cloaked,clenched,cleanin,civilised,circumcised,cimmeria,cilantro,chutzpah,chucking,chiseled,chicka,chattering,cervix,carrey,carpal,carnations,cappuccinos,candied,calluses,calisthenics,bushy,burners,budington,buchanans,brimming,braids,boycotting,bouncers,botticelli,botherin,bookkeeping,bogyman,bogged,bloodthirsty,blintzes,blanky,binturong,billable,bigboote,bewildered,betas,bequeath,behoove,befriend,bedpost,bedded,baudelaires,barreled,barboni,barbeque,bangin,baltus,bailout,backstabber,baccarat,awning,augie,arguillo,archway,apricots,apologising,annyong,anchorman,amenable,amazement,allspice,alannis,airfare,airbags,ahhhhhhhhh,ahhhhhhhh,ahhhhhhh,agitator,adrenal,acidosis,achoo,accessorizing,accentuate,abrasions,abductor,aaaahhh,aaaaaaaa,aaaaaaa,zeroing,zelner,zeldy,yevgeny,yeska,yellows,yeesh,yeahh,yamuri,wouldn't've,workmanship,woodsman,winnin,winked,wildness,whoring,whitewash,whiney,when're,wheezer,wheelman,wheelbarrow,westerburg,weeding,watermelons,washboard,waltzes,wafting,voulez,voluptuous,vitone,vigilantes,videotaping,viciously,vices,veruca,vermeer,verifying,vasculitis,valets,upholstered,unwavering,untold,unsympathetic,unromantic,unrecognizable,unpredictability,unmask,unleashing,unintentional,unglued,unequivocal,underrated,underfoot,unchecked,unbutton,unbind,unbiased,unagi,uhhhhh,tugging,triads,trespasses,treehorn,traviata,trappers,transplants,trannie,tramping,tracheotomy,tourniquet,tooty,toothless,tomarrow,toasters,thruster,thoughtfulness,thornwood,tengo,tenfold,telltale,telephoto,telephoned,telemarketer,tearin,tastic,tastefully,tasking,taser,tamed,tallow,taketh,taillight,tadpoles,tachibana,syringes,sweated,swarthy,swagger,surges,supermodels,superhighway,sunup,sun'll,sulfa,sugarless,sufficed,subside,strolled,stringy,strengthens,straightest,straightens,storefront,stopper,stockpiling,stimulant,stiffed,steyne,sternum,stepladder,stepbrother,steers,steelheads,steakhouse,stathis,stankylecartmankennymr,standoffish,stalwart,squirted,spritz,sprig,sprawl,spousal,sphincter,spenders,spearmint,spatter,spangled,southey,soured,sonuvabitch,somethng,snuffed,sniffs,smokescreen,smilin,slobs,sleepwalker,sleds,slays,slayage,skydiving,sketched,skanks,sixed,siphoned,siphon,simpering,sigfried,sidearm,siddons,sickie,shuteye,shuffleboard,shrubberies,shrouded,showmanship,shouldn't've,shoplift,shiatsu,sentries,sentance,sensuality,seething,secretions,searing,scuttlebutt,sculpt,scowling,scouring,scorecard,schoolers,schmucks,scepters,scaly,scalps,scaffolding,sauces,sartorius,santen,salivating,sainthood,saget,saddens,rygalski,rusting,ruination,rueland,rudabaga,rottweiler,roofies,romantics,rollerblading,roldy,roadshow,rickets,rible,rheza,revisiting,retentive,resurface,restores,respite,resounding,resorting,resists,repulse,repressing,repaying,reneged,refunds,rediscover,redecorated,reconstructive,recommitted,recollect,receptacle,reassess,reanimation,realtors,razinin,rationalization,ratatouille,rashum,rasczak,rancheros,rampler,quizzing,quips,quartered,purring,pummeling,puede,proximo,prospectus,pronouncing,prolonging,procreation,proclamations,principled,prides,preoccupation,prego,precog,prattle,pounced,potshots,potpourri,porque,pomegranates,polenta,plying,pluie,plesac,playmates,plantains,pillowcase,piddle,pickers,photocopied,philistine,perpetuate,perpetually,perilous,pawned,pausing,pauper,parter,parlez,parlay,pally,ovulation,overtake,overstate,overpowering,overpowered,overconfident,overbooked,ovaltine,outweighs,outings,ottos,orrin,orifice,orangutan,oopsy,ooooooooh,oooooo,ooohhhh,ocular,obstruct,obscenely,o'dwyer,nutjob,nunur,notifying,nostrand,nonny,nonfat,noblest,nimble,nikes,nicht,newsworthy,nestled,nearsighted,ne'er,nastier,narco,nakedness,muted,mummified,mudda,mozzarella,moxica,motivator,motility,mothafucka,mortmain,mortgaged,mores,mongers,mobbed,mitigating,mistah,misrepresented,mishke,misfortunes,misdirection,mischievous,mineshaft,millaney,microwaves,metzenbaum,mccovey,masterful,masochistic,marliston,marijawana,manya,mantumbi,malarkey,magnifique,madrona,madox,machida,m'hidi,lullabies,loveliness,lotions,looka,lompoc,litterbug,litigator,lithe,liquorice,linds,limericks,lightbulb,lewises,letch,lemec,layover,lavatory,laurels,lateness,laparotomy,laboring,kuato,kroff,krispy,krauts,knuckleheads,kitschy,kippers,kimbrow,keypad,keepsake,kebab,karloff,junket,judgemental,jointed,jezzie,jetting,jeeze,jeeter,jeesus,jeebs,janeane,jails,jackhammer,ixnay,irritates,irritability,irrevocable,irrefutable,irked,invoking,intricacies,interferon,intents,insubordinate,instructive,instinctive,inquisitive,inlay,injuns,inebriated,indignity,indecisive,incisors,incacha,inalienable,impresses,impregnate,impregnable,implosion,idolizes,hypothyroidism,hypoglycemic,huseni,humvee,huddling,honing,hobnobbing,hobnob,histrionics,histamine,hirohito,hippocratic,hindquarters,hikita,hikes,hightailed,hieroglyphics,heretofore,herbalist,hehey,hedriks,heartstrings,headmistress,headlight,hardheaded,happend,handlebars,hagitha,habla,gyroscope,guys'd,guy'd,guttersnipe,grump,growed,grovelling,groan,greenbacks,gravedigger,grating,grasshoppers,grandiose,grandest,grafted,gooood,goood,gooks,godsakes,goaded,glamorama,giveth,gingham,ghostbusters,germane,georgy,gazzo,gazelles,gargle,garbled,galgenstein,gaffe,g'day,fyarl,furnish,furies,fulfills,frowns,frowned,frighteningly,freebies,freakishly,forewarned,foreclose,forearms,fordson,fonics,flushes,flitting,flemmer,flabby,fishbowl,fidgeting,fevers,feigning,faxing,fatigued,fathoms,fatherless,fancier,fanatical,factored,eyelid,eyeglasses,expresso,expletive,expectin,excruciatingly,evidentiary,ever'thing,eurotrash,eubie,estrangement,erlich,epitome,entrap,enclose,emphysema,embers,emasculating,eighths,eardrum,dyslexia,duplicitous,dumpty,dumbledore,dufus,duddy,duchamp,drunkenness,drumlin,drowns,droid,drinky,drifts,drawbridge,dramamine,douggie,douchebag,dostoyevsky,doodling,don'tcha,domineering,doings,dogcatcher,doctoring,ditzy,dissimilar,dissecting,disparage,disliking,disintegrating,dishwalla,dishonored,dishing,disengaged,disavowed,dippy,diorama,dimmed,dilate,digitalis,diggory,dicing,diagnosing,devola,desolation,dennings,denials,deliverance,deliciously,delicacies,degenerates,degas,deflector,defile,deference,decrepit,deciphered,dawdle,dauphine,daresay,dangles,dampen,damndest,cucumbers,cucaracha,cryogenically,croaks,croaked,criticise,crisper,creepiest,creams,crackle,crackin,covertly,counterintelligence,corrosive,cordially,cops'll,convulsions,convoluted,conversing,conga,confrontational,confab,condolence,condiments,complicit,compiegne,commodus,comings,cometh,collusion,collared,cockeyed,clobber,clemonds,clarithromycin,cienega,christmasy,christmassy,chloroform,chippie,chested,cheeco,checklist,chauvinist,chandlers,chambermaid,chakras,cellophane,caveat,cataloguing,cartmanland,carples,carny,carded,caramels,cappy,caped,canvassing,callback,calibrated,calamine,buttermilk,butterfingers,bunsen,bulimia,bukatari,buildin,budged,brobich,bringer,brendell,brawling,bratty,braised,boyish,boundless,botch,boosh,bookies,bonbons,bodes,bobunk,bluntly,blossoming,bloomers,bloodstains,bloodhounds,blech,biter,biometric,bioethics,bijan,bigoted,bicep,bereaved,bellowing,belching,beholden,beached,batmobile,barcodes,barch,barbecuing,bandanna,backwater,backtrack,backdraft,augustino,atrophy,atrocity,atley,atchoo,asthmatic,assoc,armchair,arachnids,aptly,appetizing,antisocial,antagonizing,anorexia,anini,andersons,anagram,amputation,alleluia,airlock,aimless,agonized,agitate,aggravating,aerosol,acing,accomplishing,accidently,abuser,abstain,abnormally,aberration,aaaaahh,zlotys,zesty,zerzura,zapruder,zantopia,yelburton,yeess,y'knowwhati'msayin,wwhat,wussies,wrenched,would'a,worryin,wormser,wooooo,wookiee,wolchek,wishin,wiseguys,windbreaker,wiggy,wieners,wiedersehen,whoopin,whittled,wherefore,wharvey,welts,wellstone,wedges,wavered,watchit,wastebasket,wango,waken,waitressed,wacquiem,vrykolaka,voula,vitally,visualizing,viciousness,vespers,vertes,verily,vegetarians,vater,vaporize,vannacutt,vallens,ussher,urinating,upping,unwitting,untangle,untamed,unsanitary,unraveled,unopened,unisex,uninvolved,uninteresting,unintelligible,unimaginative,undeserving,undermines,undergarments,unconcerned,tyrants,typist,tykes,tybalt,twosome,twits,tutti,turndown,tularemia,tuberculoma,tsimshian,truffaut,truer,truant,trove,triumphed,tripe,trigonometry,trifled,trifecta,tribulations,tremont,tremoille,transcends,trafficker,touchin,tomfoolery,tinkered,tinfoil,tightrope,thousan,thoracotomy,thesaurus,thawing,thatta,tessio,temps,taxidermist,tator,tachycardia,t'akaya,swelco,sweetbreads,swatting,supercollider,sunbathing,summarily,suffocation,sueleen,succinct,subsided,submissive,subjecting,subbing,subatomic,stupendous,stunted,stubble,stubbed,streetwalker,strategizing,straining,straightaway,stoli,stiffer,stickup,stens,steamroller,steadwell,steadfast,stateroom,stans,sshhhh,squishing,squinting,squealed,sprouting,sprimp,spreadsheets,sprawled,spotlights,spooning,spirals,speedboat,spectacles,speakerphone,southglen,souse,soundproof,soothsayer,sommes,somethings,solidify,soars,snorted,snorkeling,snitches,sniping,snifter,sniffin,snickering,sneer,snarl,smila,slinking,slanted,slanderous,slammin,skimp,skilosh,siteid,sirloin,singe,sighing,sidekicks,sicken,showstopper,shoplifter,shimokawa,sherborne,shavadai,sharpshooters,sharking,shagged,shaddup,senorita,sesterces,sensuous,seahaven,scullery,scorcher,schotzie,schnoz,schmooze,schlep,schizo,scents,scalping,scalped,scallop,scalding,sayeth,saybrooke,sawed,savoring,sardine,sandstorm,sandalwood,salutations,sagman,s'okay,rsvp'd,rousted,rootin,romper,romanovs,rollercoaster,rolfie,robinsons,ritzy,ritualistic,ringwald,rhymed,rheingold,rewrites,revoking,reverts,retrofit,retort,retinas,respirations,reprobate,replaying,repaint,renquist,renege,relapsing,rekindled,rejuvenating,rejuvenated,reinstating,recriminations,rechecked,reassemble,rears,reamed,reacquaint,rayanne,ravish,rathole,raspail,rarest,rapists,rants,racketeer,quittin,quitters,quintessential,queremos,quellek,quelle,quasimodo,pyromaniac,puttanesca,puritanical,purer,puree,pungent,pummel,puedo,psychotherapist,prosecutorial,prosciutto,propositioning,procrastination,probationary,primping,preventative,prevails,preservatives,preachy,praetorians,practicality,powders,potus,postop,positives,poser,portolano,portokalos,poolside,poltergeists,pocketed,poach,plummeted,plucking,plimpton,playthings,plastique,plainclothes,pinpointed,pinkus,pinks,pigskin,piffle,pictionary,piccata,photocopy,phobias,perignon,perfumes,pecks,pecked,patently,passable,parasailing,paramus,papier,paintbrush,pacer,paaiint,overtures,overthink,overstayed,overrule,overestimate,overcooked,outlandish,outgrew,outdoorsy,outdo,orchestrate,oppress,opposable,oooohh,oomupwah,okeydokey,okaaay,ohashi,of'em,obscenities,oakie,o'gar,nurection,nostradamus,norther,norcom,nooch,nonsensical,nipped,nimbala,nervously,neckline,nebbleman,narwhal,nametag,n'n't,mycenae,muzak,muumuu,mumbled,mulvehill,muggings,muffet,mouthy,motivates,motaba,moocher,mongi,moley,moisturize,mohair,mocky,mmkay,mistuh,missis,misdeeds,mincemeat,miggs,miffed,methadone,messieur,menopausal,menagerie,mcgillicuddy,mayflowers,matrimonial,matick,masai,marzipan,maplewood,manzelle,mannequins,manhole,manhandle,malfunctions,madwoman,machiavelli,lynley,lynched,lurconis,lujack,lubricant,looove,loons,loofah,lonelyhearts,lollipops,lineswoman,lifers,lexter,lepner,lemony,leggy,leafy,leadeth,lazerus,lazare,lawford,languishing,lagoda,ladman,kundera,krinkle,krendler,kreigel,kowolski,knockdown,knifed,kneed,kneecap,kids'll,kennie,kenmore,keeled,kazootie,katzenmoyer,kasdan,karak,kapowski,kakistos,julyan,jockstrap,jobless,jiggly,jaunt,jarring,jabbering,irrigate,irrevocably,irrationally,ironies,invitro,intimated,intently,intentioned,intelligently,instill,instigator,instep,inopportune,innuendoes,inflate,infects,infamy,indiscretions,indiscreet,indio,indignities,indict,indecision,inconspicuous,inappropriately,impunity,impudent,impotence,implicates,implausible,imperfection,impatience,immutable,immobilize,idealist,iambic,hysterically,hyperspace,hygienist,hydraulics,hydrated,huzzah,husks,hunched,huffed,hubris,hubbub,hovercraft,houngan,hosed,horoscopes,hopelessness,hoodwinked,honorably,honeysuckle,homegirl,holiest,hippity,hildie,hieroglyphs,hexton,herein,heckle,heaping,healthilizer,headfirst,hatsue,harlot,hardwired,halothane,hairstyles,haagen,haaaaa,gutting,gummi,groundless,groaning,gristle,grills,graynamore,grabbin,goodes,goggle,glittering,glint,gleaming,glassy,girth,gimbal,giblets,gellers,geezers,geeze,garshaw,gargantuan,garfunkel,gangway,gandarium,gamut,galoshes,gallivanting,gainfully,gachnar,fusionlips,fusilli,furiously,frugal,fricking,frederika,freckling,frauds,fountainhead,forthwith,forgo,forgettable,foresight,foresaw,fondling,fondled,fondle,folksy,fluttering,fluffing,floundering,flirtatious,flexing,flatterer,flaring,fixating,finchy,figurehead,fiendish,fertilize,ferment,fending,fellahs,feelers,fascinate,fantabulous,falsify,fallopian,faithless,fairer,fainter,failings,facetious,eyepatch,exxon,extraterrestrials,extradite,extracurriculars,extinguish,expunged,expelling,exorbitant,exhilarated,exertion,exerting,excercise,everbody,evaporated,escargot,escapee,erases,epizootics,epithelials,ephrum,entanglements,enslave,engrossed,emphatic,emeralds,ember,emancipated,elevates,ejaculate,effeminate,eccentricities,easygoing,earshot,dunks,dullness,dulli,dulled,drumstick,dropper,driftwood,dregs,dreck,dreamboat,draggin,downsizing,donowitz,dominoes,diversions,distended,dissipate,disraeli,disqualify,disowned,dishwashing,disciplining,discerning,disappoints,dinged,digested,dicking,detonating,despising,depressor,depose,deport,dents,defused,deflecting,decryption,decoys,decoupage,decompress,decibel,decadence,deafening,dawning,dater,darkened,dappy,dallying,dagon,czechoslovakians,cuticles,cuteness,cupboards,culottes,cruisin,crosshairs,cronyn,criminalistics,creatively,creaming,crapping,cranny,cowed,contradicting,constipation,confining,confidences,conceiving,conceivably,concealment,compulsively,complainin,complacent,compels,communing,commode,comming,commensurate,columnists,colonoscopy,colchicine,coddling,clump,clubbed,clowning,cliffhanger,clang,cissy,choosers,choker,chiffon,channeled,chalet,cellmates,cathartic,caseload,carjack,canvass,canisters,candlestick,candlelit,camry,calzones,calitri,caldy,byline,butterball,bustier,burlap,bureaucrat,buffoons,buenas,brookline,bronzed,broiled,broda,briss,brioche,briar,breathable,brays,brassieres,boysenberry,bowline,boooo,boonies,booklets,bookish,boogeyman,boogey,bogas,boardinghouse,bluuch,blundering,bluer,blowed,blotchy,blossomed,bloodwork,bloodied,blithering,blinks,blathering,blasphemous,blacking,birdson,bings,bfmid,bfast,bettin,berkshires,benjamins,benevolence,benched,benatar,bellybutton,belabor,behooves,beddy,beaujolais,beattle,baxworth,baseless,barfing,bannish,bankrolled,banek,ballsy,ballpoint,baffling,badder,badda,bactine,backgammon,baako,aztreonam,authoritah,auctioning,arachtoids,apropos,aprons,apprised,apprehensive,anythng,antivenin,antichrist,anorexic,anoint,anguished,angioplasty,angio,amply,ampicillin,amphetamines,alternator,alcove,alabaster,airlifted,agrabah,affidavits,admonished,admonish,addled,addendum,accuser,accompli,absurdity,absolved,abrusso,abreast,aboot,abductions,abducting,aback,ababwa,aaahhhh,zorin,zinthar,zinfandel,zillions,zephyrs,zatarcs,zacks,youuu,yokels,yardstick,yammer,y'understand,wynette,wrung,wreaths,wowed,wouldn'ta,worming,wormed,workday,woodsy,woodshed,woodchuck,wojadubakowski,withering,witching,wiseass,wiretaps,wining,willoby,wiccaning,whupped,whoopi,whoomp,wholesaler,whiteness,whiner,whatchya,wharves,wenus,weirdoes,weaning,watusi,waponi,waistband,wackos,vouching,votre,vivica,viveca,vivant,vivacious,visor,visitin,visage,vicrum,vetted,ventriloquism,venison,varnsen,vaporized,vapid,vanstock,uuuuh,ushering,urologist,urination,upstart,uprooted,unsubtitled,unspoiled,unseat,unseasonably,unseal,unsatisfying,unnerve,unlikable,unleaded,uninsured,uninspired,unicycle,unhooked,unfunny,unfreezing,unflattering,unfairness,unexpressed,unending,unencumbered,unearth,undiscovered,undisciplined,understan,undershirt,underlings,underline,undercurrent,uncivilized,uncharacteristic,umpteenth,uglies,tuney,trumps,truckasaurus,trubshaw,trouser,tringle,trifling,trickster,trespassers,trespasser,traumas,trattoria,trashes,transgressions,trampling,tp'ed,toxoplasmosis,tounge,tortillas,topsy,topple,topnotch,tonsil,tions,timmuh,timithious,tilney,tighty,tightness,tightens,tidbits,ticketed,thyme,threepio,thoughtfully,thorkel,thommo,thing'll,thefts,that've,thanksgivings,tetherball,testikov,terraforming,tepid,tendonitis,tenboom,telex,teenybopper,tattered,tattaglias,tanneke,tailspin,tablecloth,swooping,swizzle,swiping,swindled,swilling,swerving,sweatshops,swaddling,swackhammer,svetkoff,supossed,superdad,sumptuous,sugary,sugai,subvert,substantiate,submersible,sublimating,subjugation,stymied,strychnine,streetlights,strassmans,stranglehold,strangeness,straddling,straddle,stowaways,stotch,stockbrokers,stifling,stepford,steerage,steena,statuary,starlets,staggeringly,ssshhh,squaw,spurt,spungeon,spritzer,sprightly,sprays,sportswear,spoonful,splittin,splitsville,speedily,specialise,spastic,sparrin,souvlaki,southie,sourpuss,soupy,soundstage,soothes,somebody'd,softest,sociopathic,socialized,snyders,snowmobiles,snowballed,snatches,smugness,smoothest,smashes,sloshed,sleight,skyrocket,skied,skewed,sixpence,sipowicz,singling,simulates,shyness,shuvanis,showoff,shortsighted,shopkeeper,shoehorn,shithouse,shirtless,shipshape,shifu,shelve,shelbyville,sheepskin,sharpens,shaquille,shanshu,servings,sequined,seizes,seashells,scrambler,scopes,schnauzer,schmo,schizoid,scampered,savagely,saudis,santas,sandovals,sanding,saleswoman,sagging,s'cuse,rutting,ruthlessly,runneth,ruffians,rubes,rosalita,rollerblades,rohypnol,roasts,roadies,ritten,rippling,ripples,rigoletto,richardo,rethought,reshoot,reserving,reseda,rescuer,reread,requisitions,repute,reprogram,replenish,repetitious,reorganizing,reinventing,reinvented,reheat,refrigerators,reenter,recruiter,recliner,rawdy,rashes,rajeski,raison,raisers,rages,quinine,questscape,queller,pygmalion,pushers,pusan,purview,pumpin,pubescent,prudes,provolone,propriety,propped,procrastinate,processional,preyed,pretrial,portent,pooling,poofy,polloi,policia,poacher,pluses,pleasuring,platitudes,plateaued,plaguing,pittance,pinheads,pincushion,pimply,pimped,piggyback,piecing,phillipe,philipse,philby,pharaohs,petyr,petitioner,peshtigo,pesaram,persnickety,perpetrate,percolating,pepto,penne,penell,pemmican,peeks,pedaling,peacemaker,pawnshop,patting,pathologically,patchouli,pasts,pasties,passin,parlors,paltrow,palamon,padlock,paddling,oversleep,overheating,overdosed,overcharge,overblown,outrageously,ornery,opportune,oooooooooh,oohhhh,ohhhhhh,ogres,odorless,obliterated,nyong,nymphomaniac,ntozake,novocain,nough,nonnie,nonissue,nodules,nightmarish,nightline,niceties,newsman,needra,nedry,necking,navour,nauseam,nauls,narim,namath,nagged,naboo,n'sync,myslexia,mutator,mustafi,musketeer,murtaugh,murderess,munching,mumsy,muley,mouseville,mortifying,morgendorffers,moola,montel,mongoloid,molestered,moldings,mocarbies,mo'ss,mixers,misrell,misnomer,misheard,mishandled,miscreant,misconceptions,miniscule,millgate,mettle,metricconverter,meteors,menorah,mengele,melding,meanness,mcgruff,mcarnold,matzoh,matted,mastectomy,massager,marveling,marooned,marmaduke,marick,manhandled,manatees,man'll,maltin,maliciously,malfeasance,malahide,maketh,makeovers,maiming,machismo,lumpectomy,lumbering,lucci,lording,lorca,lookouts,loogie,loners,loathed,lissen,lighthearted,lifer,lickin,lewen,levitation,lestercorp,lessee,lentils,legislate,legalizing,lederhosen,lawmen,lasskopf,lardner,lambeau,lamagra,ladonn,lactic,lacquer,labatier,krabappel,kooks,knickknacks,klutzy,kleynach,klendathu,kinross,kinkaid,kind'a,ketch,kesher,karikos,karenina,kanamits,junshi,jumbled,joust,jotted,jobson,jingling,jigalong,jerries,jellies,jeeps,javna,irresistable,internist,intercranial,inseminated,inquisitor,infuriate,inflating,infidelities,incessantly,incensed,incase,incapacitate,inasmuch,inaccuracies,imploding,impeding,impediments,immaturity,illegible,iditarod,icicles,ibuprofen,i'i'm,hymie,hydrolase,hunker,humps,humons,humidor,humdinger,humbling,huggin,huffing,housecleaning,hothouse,hotcakes,hosty,hootenanny,hootchie,hoosegow,honks,honeymooners,homily,homeopathic,hitchhikers,hissed,hillnigger,hexavalent,hewwo,hershe,hermey,hergott,henny,hennigans,henhouse,hemolytic,helipad,heifer,hebrews,hebbing,heaved,headlock,harrowing,harnessed,hangovers,handi,handbasket,halfrek,hacene,gyges,guys're,gundersons,gumption,gruntmaster,grubs,grossie,groped,grins,greaseball,gravesite,gratuity,granma,grandfathers,grandbaby,gradski,gracing,gossips,gooble,goners,golitsyn,gofer,godsake,goddaughter,gnats,gluing,glares,givers,ginza,gimmie,gimmee,gennero,gemme,gazpacho,gazed,gassy,gargling,gandhiji,galvanized,gallbladder,gaaah,furtive,fumigation,fucka,fronkonsteen,frills,freezin,freewald,freeloader,frailty,forger,foolhardy,fondest,fomin,followin,follicle,flotation,flopping,floodgates,flogged,flicked,flenders,fleabag,fixings,fixable,fistful,firewater,firelight,fingerbang,finalizing,fillin,filipov,fiderer,felling,feldberg,feign,faunia,fatale,farkus,fallible,faithfulness,factoring,eyeful,extramarital,exterminated,exhume,exasperated,eviscerate,estoy,esmerelda,escapades,epoxy,enticed,enthused,entendre,engrossing,endorphins,emptive,emmys,eminently,embezzler,embarressed,embarrassingly,embalmed,eludes,eling,elated,eirie,egotitis,effecting,eerily,eecom,eczema,earthy,earlobes,eally,dyeing,dwells,duvet,duncans,dulcet,droves,droppin,drools,drey'auc,downriver,domesticity,dollop,doesnt,dobler,divulged,diversionary,distancing,dispensers,disorienting,disneyworld,dismissive,disingenuous,disheveled,disfiguring,dinning,dimming,diligently,dilettante,dilation,dickensian,diaphragms,devastatingly,destabilize,desecrate,deposing,deniece,demony,delving,delicates,deigned,defraud,deflower,defibrillator,defiantly,defenceless,defacing,deconstruction,decompose,deciphering,decibels,deceptively,deceptions,decapitation,debutantes,debonair,deadlier,dawdling,davic,darwinism,darnit,darks,danke,danieljackson,dangled,cytoxan,cutout,cutlery,curveball,curfews,cummerbund,crunches,crouched,crisps,cripples,crilly,cribs,crewman,creepin,creeds,credenza,creak,crawly,crawlin,crawlers,crated,crackheads,coworker,couldn't've,corwins,coriander,copiously,convenes,contraceptives,contingencies,contaminating,conniption,condiment,concocting,comprehending,complacency,commendatore,comebacks,com'on,collarbone,colitis,coldly,coiffure,coffers,coeds,codependent,cocksucking,cockney,cockles,clutched,closeted,cloistered,cleve,cleats,clarifying,clapped,cinnabar,chunnel,chumps,cholinesterase,choirboy,chocolatey,chlamydia,chigliak,cheesie,chauvinistic,chasm,chartreuse,charo,charnier,chapil,chalked,chadway,certifiably,cellulite,celled,cavalcade,cataloging,castrated,cassio,cashews,cartouche,carnivore,carcinogens,capulet,captivated,capt'n,cancellations,campin,callate,callar,caffeinated,cadavers,cacophony,cackle,buzzes,buttoning,busload,burglaries,burbs,buona,bunions,bullheaded,buffs,bucyk,buckling,bruschetta,browbeating,broomsticks,broody,bromly,brolin,briefings,brewskies,breathalyzer,breakups,bratwurst,brania,braiding,brags,braggin,bradywood,bottomed,bossa,bordello,bookshelf,boogida,bondsman,bolder,boggles,bludgeoned,blowtorch,blotter,blips,blemish,bleaching,blainetologists,blading,blabbermouth,birdseed,bimmel,biloxi,biggly,bianchinni,betadine,berenson,belus,belloq,begets,befitting,beepers,beelzebub,beefed,bedridden,bedevere,beckons,beaded,baubles,bauble,battleground,bathrobes,basketballs,basements,barroom,barnacle,barkin,barked,baretta,bangles,bangler,banality,bambang,baltar,ballplayers,bagman,baffles,backroom,babysat,baboons,averse,audiotape,auctioneer,atten,atcha,astonishment,arugula,arroz,antihistamines,annoyances,anesthesiology,anatomically,anachronism,amiable,amaretto,allahu,alight,aimin,ailment,afterglow,affronte,advil,adrenals,actualization,acrost,ached,accursed,accoutrements,absconded,aboveboard,abetted,aargh,aaaahh,zuwicky,zolda,ziploc,zakamatak,youve,yippie,yesterdays,yella,yearns,yearnings,yearned,yawning,yalta,yahtzee,y'mean,y'are,wuthering,wreaks,worrisome,workiiing,wooooooo,wonky,womanizing,wolodarsky,wiwith,withdraws,wishy,wisht,wipers,wiper,winos,windthorne,windsurfing,windermere,wiggled,wiggen,whwhat,whodunit,whoaaa,whittling,whitesnake,whereof,wheezing,wheeze,whatd'ya,whataya,whammo,whackin,wellll,weightless,weevil,wedgies,webbing,weasly,wayside,waxes,waturi,washy,washrooms,wandell,waitaminute,waddya,waaaah,vornac,vishnoor,virulent,vindictiveness,vinceres,villier,vigeous,vestigial,ventilate,vented,venereal,veering,veered,veddy,vaslova,valosky,vailsburg,vaginas,vagas,urethra,upstaged,uploading,unwrapping,unwieldy,untapped,unsatisfied,unquenchable,unnerved,unmentionable,unlovable,unknowns,uninformed,unimpressed,unhappily,unguarded,unexplored,undergarment,undeniably,unclench,unclaimed,uncharacteristically,unbuttoned,unblemished,ululd,uhhhm,tweeze,tutsami,tushy,tuscarora,turkle,turghan,turbinium,tubers,trucoat,troxa,tropicana,triquetra,trimmers,triceps,trespassed,traya,traumatizing,transvestites,trainors,tradin,trackers,townies,tourelles,toucha,tossin,tortious,topshop,topes,tonics,tongs,tomsk,tomorrows,toiling,toddle,tizzy,tippers,timmi,thwap,thusly,ththe,thrusts,throwers,throwed,throughway,thickening,thermonuclear,thelwall,thataway,terrifically,tendons,teleportation,telepathically,telekinetic,teetering,teaspoons,tarantulas,tapas,tanned,tangling,tamales,tailors,tahitian,tactful,tachy,tablespoon,syrah,synchronicity,synch,synapses,swooning,switchman,swimsuits,sweltering,sweetly,suvolte,suslov,surfed,supposition,suppertime,supervillains,superfluous,superego,sunspots,sunning,sunless,sundress,suckah,succotash,sublevel,subbasement,studious,striping,strenuously,straights,stonewalled,stillness,stilettos,stevesy,steno,steenwyck,stargates,stammering,staedert,squiggly,squiggle,squashing,squaring,spreadsheet,spramp,spotters,sporto,spooking,splendido,spittin,spirulina,spiky,spate,spartacus,spacerun,soonest,something'll,someth,somepin,someone'll,sofas,soberly,sobered,snowmen,snowbank,snowballing,snivelling,sniffling,snakeskin,snagging,smush,smooter,smidgen,smackers,slumlord,slossum,slimmer,slighted,sleepwalk,sleazeball,skokie,skeptic,sitarides,sistah,sipped,sindell,simpletons,simony,silkwood,silks,silken,sightless,sideboard,shuttles,shrugging,shrouds,showy,shoveled,shouldn'ta,shoplifters,shitstorm,sheeny,shapetype,shaming,shallows,shackle,shabbily,shabbas,seppuku,senility,semite,semiautomatic,selznick,secretarial,sebacio,scuzzy,scummy,scrutinized,scrunchie,scribbled,scotches,scolded,scissor,schlub,scavenging,scarin,scarfing,scallions,scald,savour,savored,saute,sarcoidosis,sandbar,saluted,salish,saith,sailboats,sagittarius,sacre,saccharine,sacamano,rushdie,rumpled,rumba,rulebook,rubbers,roughage,rotisserie,rootie,roofy,roofie,romanticize,rittle,ristorante,rippin,rinsing,ringin,rincess,rickety,reveling,retest,retaliating,restorative,reston,restaurateur,reshoots,resetting,resentments,reprogramming,repossess,repartee,renzo,remore,remitting,remeber,relaxants,rejuvenate,rejections,regenerated,refocus,referrals,reeno,recycles,recrimination,reclining,recanting,reattach,reassigning,razgul,raved,rattlesnakes,rattles,rashly,raquetball,ransack,raisinettes,raheem,radisson,radishes,raban,quoth,qumari,quints,quilts,quilting,quien,quarreled,purty,purblind,punchbowl,publically,psychotics,psychopaths,psychoanalyze,pruning,provasik,protectin,propping,proportioned,prophylactic,proofed,prompter,procreate,proclivities,prioritizing,prinze,pricked,press'll,presets,prescribes,preocupe,prejudicial,prefex,preconceived,precipice,pralines,pragmatist,powerbar,pottie,pottersville,potsie,potholes,posses,posies,portkey,porterhouse,pornographers,poring,poppycock,poppers,pomponi,pokin,poitier,podiatry,pleeze,pleadings,playbook,platelets,plane'arium,placebos,place'll,pistachios,pirated,pinochle,pineapples,pinafore,pimples,piggly,piddling,picon,pickpockets,picchu,physiologically,physic,phobic,philandering,phenomenally,pheasants,pewter,petticoat,petronis,petitioning,perturbed,perpetuating,permutat,perishable,perimeters,perfumed,percocet,per'sus,pepperjack,penalize,pelting,pellet,peignoir,pedicures,peckers,pecans,pawning,paulsson,pattycake,patrolmen,patois,pathos,pasted,parishioner,parcheesi,parachuting,papayas,pantaloons,palpitations,palantine,paintballing,overtired,overstress,oversensitive,overnights,overexcited,overanxious,overachiever,outwitted,outvoted,outnumber,outlast,outlander,out've,orphey,orchestrating,openers,ooooooo,okies,ohhhhhhhhh,ohhhhhhhh,ogling,offbeat,obsessively,obeyed,o'hana,o'bannon,o'bannion,numpce,nummy,nuked,nuances,nourishing,nosedive,norbu,nomlies,nomine,nixed,nihilist,nightshift,newmeat,neglectful,neediness,needin,naphthalene,nanocytes,nanite,naivete,n'yeah,mystifying,myhnegon,mutating,musing,mulled,muggy,muerto,muckraker,muchachos,mountainside,motherless,mosquitos,morphed,mopped,moodoo,moncho,mollem,moisturiser,mohicans,mocks,mistresses,misspent,misinterpretation,miscarry,minuses,mindee,mimes,millisecond,milked,mightn't,mightier,mierzwiak,microchips,meyerling,mesmerizing,mershaw,meecrob,medicate,meddled,mckinnons,mcgewan,mcdunnough,mcats,mbien,matzah,matriarch,masturbated,masselin,martialed,marlboros,marksmanship,marinate,marchin,manicured,malnourished,malign,majorek,magnon,magnificently,macking,machiavellian,macdougal,macchiato,macaws,macanaw,m'self,lydells,lusts,lucite,lubricants,lopper,lopped,loneliest,lonelier,lomez,lojack,loath,liquefy,lippy,limps,likin,lightness,liesl,liebchen,licious,libris,libation,lhamo,leotards,leanin,laxatives,lavished,latka,lanyard,lanky,landmines,lameness,laddies,lacerated,labored,l'amour,kreskin,kovitch,kournikova,kootchy,konoss,knknow,knickety,knackety,kmart,klicks,kiwanis,kissable,kindergartners,kilter,kidnet,kid'll,kicky,kickbacks,kickback,kholokov,kewpie,kendo,katra,kareoke,kafelnikov,kabob,junjun,jumba,julep,jordie,jondy,jolson,jenoff,jawbone,janitorial,janiro,ipecac,invigorated,intruded,intros,intravenously,interruptus,interrogations,interject,interfacing,interestin,insuring,instilled,insensitivity,inscrutable,inroads,innards,inlaid,injector,ingratitude,infuriates,infra,infliction,indelicate,incubators,incrimination,inconveniencing,inconsolable,incestuous,incas,incarcerate,inbreeding,impudence,impressionists,impeached,impassioned,imipenem,idling,idiosyncrasies,icebergs,hypotensive,hydrochloride,hushed,humus,humph,hummm,hulking,hubcaps,hubald,howya,howbout,how'll,housebroken,hotwire,hotspots,hotheaded,horrace,hopsfield,honto,honkin,honeymoons,homewrecker,hombres,hollers,hollerin,hoedown,hoboes,hobbling,hobble,hoarse,hinky,highlighters,hexes,heru'ur,hernias,heppleman,hell're,heighten,heheheheheh,heheheh,hedging,heckling,heckled,heavyset,heatshield,heathens,heartthrob,headpiece,hayseed,haveo,hauls,hasten,harridan,harpoons,hardens,harcesis,harbouring,hangouts,halkein,haleh,halberstam,hairnet,hairdressers,hacky,haaaa,h'yah,gusta,gushy,gurgling,guilted,gruel,grudging,grrrrrr,grosses,groomsmen,griping,gravest,gratified,grated,goulash,goopy,goona,goodly,godliness,godawful,godamn,glycerin,glutes,glowy,globetrotters,glimpsed,glenville,glaucoma,girlscout,giraffes,gilbey,gigglepuss,ghora,gestating,gelato,geishas,gearshift,gayness,gasped,gaslighting,garretts,garba,gablyczyck,g'head,fumigating,fumbling,fudged,fuckwad,fuck're,fuchsia,fretting,freshest,frenchies,freezers,fredrica,fraziers,fraidy,foxholes,fourty,fossilized,forsake,forfeits,foreclosed,foreal,footsies,florists,flopped,floorshow,floorboard,flinching,flecks,flaubert,flatware,flatulence,flatlined,flashdance,flail,flagging,fiver,fitzy,fishsticks,finetti,finelli,finagle,filko,fieldstone,fibber,ferrini,feedin,feasting,favore,fathering,farrouhk,farmin,fairytale,fairservice,factoid,facedown,fabled,eyeballin,extortionist,exquisitely,expedited,exorcise,existentialist,execs,exculpatory,exacerbate,everthing,eventuality,evander,euphoric,euphemisms,estamos,erred,entitle,enquiries,enormity,enfants,endive,encyclopedias,emulating,embittered,effortless,ectopic,ecirc,easely,earphones,earmarks,dweller,durslar,durned,dunois,dunking,dunked,dumdum,dullard,dudleys,druthers,druggist,drossos,drooled,driveways,drippy,dreamless,drawstring,drang,drainpipe,dozing,dotes,dorkface,doorknobs,doohickey,donnatella,doncha,domicile,dokos,dobermans,dizzying,divola,ditsy,distaste,disservice,dislodged,dislodge,disinherit,disinformation,discounting,dinka,dimly,digesting,diello,diddling,dictatorships,dictators,diagnostician,devours,devilishly,detract,detoxing,detours,detente,destructs,desecrated,derris,deplore,deplete,demure,demolitions,demean,delish,delbruck,delaford,degaulle,deftly,deformity,deflate,definatly,defector,decrypted,decontamination,decapitate,decanter,dardis,dampener,damme,daddy'll,dabbling,dabbled,d'etre,d'argent,d'alene,d'agnasti,czechoslovakian,cymbal,cyberdyne,cutoffs,cuticle,curvaceous,curiousity,crowing,crowed,croutons,cropped,criminy,crescentis,crashers,cranwell,coverin,courtrooms,countenance,cosmically,cosign,corroboration,coroners,cornflakes,copperpot,copperhead,copacetic,coordsize,convulsing,consults,conjures,congenial,concealer,compactor,commercialism,cokey,cognizant,clunkers,clumsily,clucking,cloves,cloven,cloths,clothe,clods,clocking,clings,clavicle,classless,clashing,clanking,clanging,clamping,civvies,citywide,circulatory,circuited,chronisters,chromic,choos,chloroformed,chillun,cheesed,chatterbox,chaperoned,channukah,cerebellum,centerpieces,centerfold,ceecee,ccedil,cavorting,cavemen,cauterized,cauldwell,catting,caterine,cassiopeia,carves,cartwheel,carpeted,carob,caressing,carelessly,careening,capricious,capitalistic,capillaries,candidly,camaraderie,callously,calfskin,caddies,buttholes,busywork,busses,burps,burgomeister,bunkhouse,bungchow,bugler,buffets,buffed,brutish,brusque,bronchitis,bromden,brolly,broached,brewskis,brewin,brean,breadwinner,brana,bountiful,bouncin,bosoms,borgnine,bopping,bootlegs,booing,bombosity,bolting,boilerplate,bluey,blowback,blouses,bloodsuckers,bloodstained,bloat,bleeth,blackface,blackest,blackened,blacken,blackballed,blabs,blabbering,birdbrain,bipartisanship,biodegradable,biltmore,bilked,big'uns,bidet,besotted,bernheim,benegas,bendiga,belushi,bellboys,belittling,behinds,begone,bedsheets,beckoning,beaute,beaudine,beastly,beachfront,bathes,batak,baser,baseballs,barbella,bankrolling,bandaged,baerly,backlog,backin,babying,azkaban,awwwww,aviary,authorizes,austero,aunty,attics,atreus,astounded,astonish,artemus,arses,arintero,appraiser,apathetic,anybody'd,anxieties,anticlimactic,antar,anglos,angleman,anesthetist,androscoggin,andolini,andale,amway,amuck,amniocentesis,amnesiac,americano,amara,alvah,altruism,alternapalooza,alphabetize,alpaca,allus,allergist,alexandros,alaikum,akimbo,agoraphobia,agides,aggrhh,aftertaste,adoptions,adjuster,addictions,adamantium,activator,accomplishes,aberrant,aaaaargh,aaaaaaaaaaaaa,a'ight,zzzzzzz,zucchini,zookeeper,zirconia,zippers,zequiel,zellary,zeitgeist,zanuck,zagat,you'n,ylang,yes'm,yenta,yecchh,yecch,yawns,yankin,yahdah,yaaah,y'got,xeroxed,wwooww,wristwatch,wrangled,wouldst,worthiness,worshiping,wormy,wormtail,wormholes,woosh,wollsten,wolfing,woefully,wobbling,wintry,wingding,windstorm,windowtext,wiluna,wilting,wilted,willick,willenholly,wildflowers,wildebeest,whyyy,whoppers,whoaa,whizzing,whizz,whitest,whistled,whist,whinny,wheelies,whazzup,whatwhatwhaaat,whato,whatdya,what'dya,whacks,wewell,wetsuit,welluh,weeps,waylander,wavin,wassail,wasnt,warneford,warbucks,waltons,wallbanger,waiving,waitwait,vowing,voucher,vornoff,vorhees,voldemort,vivre,vittles,vindaloo,videogames,vichyssoise,vicarious,vesuvius,verguenza,ven't,velveteen,velour,velociraptor,vastness,vasectomies,vapors,vanderhof,valmont,validates,valiantly,vacuums,usurp,usernum,us'll,urinals,unyielding,unvarnished,unturned,untouchables,untangled,unsecured,unscramble,unreturned,unremarkable,unpretentious,unnerstand,unmade,unimpeachable,unfashionable,underwrite,underlining,underling,underestimates,underappreciated,uncouth,uncork,uncommonly,unclog,uncircumcised,unchallenged,uncas,unbuttoning,unapproved,unamerican,unafraid,umpteen,umhmm,uhwhy,ughuh,typewriters,twitches,twitched,twirly,twinkling,twinges,twiddling,turners,turnabout,tumblin,tryed,trowel,trousseau,trivialize,trifles,tribianni,trenchcoat,trembled,traumatize,transitory,transients,transfuse,transcribing,tranq,trampy,traipsed,trainin,trachea,traceable,touristy,toughie,toscanini,tortola,tortilla,torreon,toreador,tommorrow,tollbooth,tollans,toidy,togas,tofurkey,toddling,toddies,toasties,toadstool,to've,tingles,timin,timey,timetables,tightest,thuggee,thrusting,thrombus,throes,thrifty,thornharts,thinnest,thicket,thetas,thesulac,tethered,testaburger,tersenadine,terrif,terdlington,tepui,temping,tector,taxidermy,tastebuds,tartlets,tartabull,tar'd,tantamount,tangy,tangles,tamer,tabula,tabletops,tabithia,szechwan,synthedyne,svenjolly,svengali,survivalists,surmise,surfboards,surefire,suprise,supremacists,suppositories,superstore,supercilious,suntac,sunburned,summercliff,sullied,sugared,suckle,subtleties,substantiated,subsides,subliminal,subhuman,strowman,stroked,stroganoff,streetlight,straying,strainer,straighter,straightener,stoplight,stirrups,stewing,stereotyping,stepmommy,stephano,stashing,starshine,stairwells,squatsie,squandering,squalid,squabbling,squab,sprinkling,spreader,spongy,spokesmen,splintered,spittle,spitter,spiced,spews,spendin,spect,spearchucker,spatulas,southtown,soused,soshi,sorter,sorrowful,sooth,some'in,soliloquy,soiree,sodomized,sobriki,soaping,snows,snowcone,snitching,snitched,sneering,snausages,snaking,smoothed,smoochies,smarten,smallish,slushy,slurring,sluman,slithers,slippin,sleuthing,sleeveless,skinless,skillfully,sketchbook,skagnetti,sista,sinning,singularly,sinewy,silverlake,siguto,signorina,sieve,sidearms,shying,shunning,shtud,shrieks,shorting,shortbread,shopkeepers,shmancy,shizzit,shitheads,shitfaced,shipmates,shiftless,shelving,shedlow,shavings,shatters,sharifa,shampoos,shallots,shafter,sha'nauc,sextant,serviceable,sepsis,senores,sendin,semis,semanski,selflessly,seinfelds,seers,seeps,seductress,secaucus,sealant,scuttling,scusa,scrunched,scissorhands,schreber,schmancy,scamps,scalloped,savoir,savagery,sarong,sarnia,santangel,samool,sallow,salino,safecracker,sadism,sacrilegious,sabrini,sabath,s'aright,ruttheimer,rudest,rubbery,rousting,rotarian,roslin,roomed,romari,romanica,rolltop,rolfski,rockettes,roared,ringleader,riffing,ribcage,rewired,retrial,reting,resuscitated,restock,resale,reprogrammed,replicant,repentant,repellant,repays,repainting,renegotiating,rendez,remem,relived,relinquishes,relearn,relaxant,rekindling,rehydrate,refueled,refreshingly,refilling,reexamine,reeseman,redness,redeemable,redcoats,rectangles,recoup,reciprocated,reassessing,realy,realer,reachin,re'kali,rawlston,ravages,rappaports,ramoray,ramming,raindrops,rahesh,radials,racists,rabartu,quiches,quench,quarreling,quaintly,quadrants,putumayo,put'em,purifier,pureed,punitis,pullout,pukin,pudgy,puddings,puckering,pterodactyl,psychodrama,psats,protestations,protectee,prosaic,propositioned,proclivity,probed,printouts,prevision,pressers,preset,preposition,preempt,preemie,preconceptions,prancan,powerpuff,potties,potpie,poseur,porthole,poops,pooping,pomade,polyps,polymerized,politeness,polisher,polack,pocketknife,poatia,plebeian,playgroup,platonically,platitude,plastering,plasmapheresis,plaids,placemats,pizzazz,pintauro,pinstripes,pinpoints,pinkner,pincer,pimento,pileup,pilates,pigmen,pieeee,phrased,photocopies,phoebes,philistines,philanderer,pheromone,phasers,pfeffernuesse,pervs,perspire,personify,perservere,perplexed,perpetrating,perkiness,perjurer,periodontist,perfunctory,perdido,percodan,pentameter,pentacle,pensive,pensione,pennybaker,pennbrooke,penhall,pengin,penetti,penetrates,pegnoir,peeve,peephole,pectorals,peckin,peaky,peaksville,paxcow,paused,patted,parkishoff,parkers,pardoning,paraplegic,paraphrasing,paperers,papered,pangs,paneling,palooza,palmed,palmdale,palatable,pacify,pacified,owwwww,oversexed,overrides,overpaying,overdrawn,overcompensate,overcomes,overcharged,outmaneuver,outfoxed,oughtn't,ostentatious,oshun,orthopedist,or'derves,ophthalmologist,operagirl,oozes,oooooooh,onesie,omnis,omelets,oktoberfest,okeydoke,ofthe,ofher,obstetrical,obeys,obeah,o'henry,nyquil,nyanyanyanyah,nuttin,nutsy,nutball,nurhachi,numbskull,nullifies,nullification,nucking,nubbin,nourished,nonspecific,noing,noinch,nohoho,nobler,nitwits,newsprint,newspaperman,newscaster,neuropathy,netherworld,neediest,navasky,narcissists,napped,nafta,mache,mykonos,mutilating,mutherfucker,mutha,mutates,mutate,musn't,murchy,multitasking,mujeeb,mudslinging,muckraking,mousetrap,mourns,mournful,motherf,mostro,morphing,morphate,moralistic,moochy,mooching,monotonous,monopolize,monocle,molehill,moland,mofet,mockup,mobilizing,mmmmmmm,mitzvahs,mistreating,misstep,misjudge,misinformation,misdirected,miscarriages,miniskirt,mindwarped,minced,milquetoast,miguelito,mightily,midstream,midriff,mideast,microbe,methuselah,mesdames,mescal,men'll,memma,megaton,megara,megalomaniac,meeee,medulla,medivac,meaninglessness,mcnuggets,mccarthyism,maypole,may've,mauve,mateys,marshack,markles,marketable,mansiere,manservant,manse,manhandling,mallomars,malcontent,malaise,majesties,mainsail,mailmen,mahandra,magnolias,magnified,magev,maelstrom,machu,macado,m'boy,m'appelle,lustrous,lureen,lunges,lumped,lumberyard,lulled,luego,lucks,lubricated,loveseat,loused,lounger,loski,lorre,loora,looong,loonies,loincloth,lofts,lodgers,lobbing,loaner,livered,liqueur,ligourin,lifesaving,lifeguards,lifeblood,liaisons,let'em,lesbianism,lence,lemonlyman,legitimize,leadin,lazars,lazarro,lawyering,laugher,laudanum,latrines,lations,laters,lapels,lakefront,lahit,lafortunata,lachrymose,l'italien,kwaini,kruczynski,kramerica,kowtow,kovinsky,korsekov,kopek,knowakowski,knievel,knacks,kiowas,killington,kickball,keyworth,keymaster,kevie,keveral,kenyons,keggers,keepsakes,kechner,keaty,kavorka,karajan,kamerev,kaggs,jujyfruit,jostled,jonestown,jokey,joists,jocko,jimmied,jiggled,jests,jenzen,jenko,jellyman,jedediah,jealitosis,jaunty,jarmel,jankle,jagoff,jagielski,jackrabbits,jabbing,jabberjaw,izzat,irresponsibly,irrepressible,irregularity,irredeemable,inuvik,intuitions,intubated,intimates,interminable,interloper,intercostal,instyle,instigate,instantaneously,ining,ingrown,ingesting,infusing,infringe,infinitum,infact,inequities,indubitably,indisputable,indescribably,indentation,indefinable,incontrovertible,inconsequential,incompletes,incoherently,inclement,incidentals,inarticulate,inadequacies,imprudent,improprieties,imprison,imprinted,impressively,impostors,importante,imperious,impale,immodest,immobile,imbedded,imbecilic,illegals,idn't,hysteric,hypotenuse,hygienic,hyeah,hushpuppies,hunhh,humpback,humored,hummed,humiliates,humidifier,huggy,huggers,huckster,hotbed,hosing,hosers,horsehair,homebody,homebake,holing,holies,hoisting,hogwallop,hocks,hobbits,hoaxes,hmmmmm,hisses,hippest,hillbillies,hilarity,heurh,herniated,hermaphrodite,hennifer,hemlines,hemline,hemery,helplessness,helmsley,hellhound,heheheheh,heeey,hedda,heartbeats,heaped,healers,headstart,headsets,headlong,hawkland,havta,haulin,harvey'll,hanta,hansom,hangnail,handstand,handrail,handoff,hallucinogen,hallor,halitosis,haberdashery,gypped,guy'll,gumbel,guerillas,guava,guardrail,grunther,grunick,groppi,groomer,grodin,gripes,grinds,grifters,gretch,greevey,greasing,graveyards,grandkid,grainy,gouging,gooney,googly,goldmuff,goldenrod,goingo,godly,gobbledygook,gobbledegook,glues,gloriously,glengarry,glassware,glamor,gimmicks,giggly,giambetti,ghoulish,ghettos,ghali,gether,geriatrics,gerbils,geosynchronous,georgio,gente,gendarme,gelbman,gazillionth,gayest,gauging,gastro,gaslight,gasbag,garters,garish,garas,gantu,gangy,gangly,gangland,galling,gadda,furrowed,funnies,funkytown,fugimotto,fudging,fuckeen,frustrates,froufrou,froot,fromberge,frizzies,fritters,frightfully,friendliest,freeloading,freelancing,freakazoid,fraternization,framers,fornication,fornicating,forethought,footstool,foisting,focussing,focking,flurries,fluffed,flintstones,fledermaus,flayed,flawlessly,flatters,flashbang,flapped,fishies,firmer,fireproof,firebug,fingerpainting,finessed,findin,financials,finality,fillets,fiercest,fiefdom,fibbing,fervor,fentanyl,fenelon,fedorchuk,feckless,feathering,faucets,farewells,fantasyland,fanaticism,faltered,faggy,faberge,extorting,extorted,exterminating,exhumation,exhilaration,exhausts,exfoliate,excels,exasperating,exacting,everybody'd,evasions,espressos,esmail,errrr,erratically,eroding,ernswiler,epcot,enthralled,ensenada,enriching,enrage,enhancer,endear,encrusted,encino,empathic,embezzle,emanates,electricians,eking,egomaniacal,egging,effacing,ectoplasm,eavesdropped,dummkopf,dugray,duchaisne,drunkard,drudge,droop,droids,drips,dripped,dribbles,drazens,downy,downsize,downpour,dosages,doppelganger,dopes,doohicky,dontcha,doneghy,divining,divest,diuretics,diuretic,distrustful,disrupts,dismemberment,dismember,disinfect,disillusionment,disheartening,discourteous,discotheque,discolored,dirtiest,diphtheria,dinks,dimpled,didya,dickwad,diatribes,diathesis,diabetics,deviants,detonates,detests,detestable,detaining,despondent,desecration,derision,derailing,deputized,depressors,dependant,dentures,denominators,demur,demonology,delts,dellarte,delacour,deflated,defib,defaced,decorators,deaqon,davola,datin,darwinian,darklighters,dandelions,dampened,damaskinos,dalrimple,d'peshu,d'hoffryn,d'astier,cynics,cutesy,cutaway,curmudgeon,curdle,culpability,cuisinart,cuffing,crypts,cryptid,crunched,crumblers,crudely,crosscheck,croon,crissake,crevasse,creswood,creepo,creases,creased,creaky,cranks,crabgrass,coveralls,couple'a,coughs,coslaw,corporeal,cornucopia,cornering,corks,cordoned,coolly,coolin,cookbooks,contrite,contented,constrictor,confound,confit,confiscating,condoned,conditioners,concussions,comprendo,comers,combustible,combusted,collingswood,coldness,coitus,codicil,coasting,clydesdale,cluttering,clunker,clunk,clumsiness,clotted,clothesline,clinches,clincher,cleverness,clench,clein,cleanses,claymores,clammed,chugging,chronically,christsakes,choque,chompers,chiseling,chirpy,chirp,chinks,chingachgook,chickenpox,chickadee,chewin,chessboard,chargin,chanteuse,chandeliers,chamdo,chagrined,chaff,certs,certainties,cerreno,cerebrum,censured,cemetary,caterwauling,cataclysmic,casitas,cased,carvel,carting,carrear,carolling,carolers,carnie,cardiogram,carbuncle,capulets,canines,candaules,canape,caldecott,calamitous,cadillacs,cachet,cabeza,cabdriver,buzzards,butai,businesswomen,bungled,bumpkins,bummers,bulldoze,buffybot,bubut,bubbies,brrrrr,brownout,brouhaha,bronzing,bronchial,broiler,briskly,briefcases,bricked,breezing,breeher,breakable,breadstick,bravenet,braved,brandies,brainwaves,brainiest,braggart,bradlee,boys're,boys'll,boys'd,boutonniere,bossed,bosomy,borans,boosts,bookshelves,bookends,boneless,bombarding,bollo,boinked,boink,bluest,bluebells,bloodshot,blockhead,blockbusters,blithely,blather,blankly,bladders,blackbeard,bitte,bippy,biogenetics,bilge,bigglesworth,bicuspids,beususe,betaseron,besmirch,bernece,bereavement,bentonville,benchley,benching,bembe,bellyaching,bellhops,belie,beleaguered,behrle,beginnin,begining,beenie,beefs,beechwood,becau,beaverhausen,beakers,bazillion,baudouin,barrytown,barringtons,barneys,barbs,barbers,barbatus,bankrupted,bailiffs,backslide,baby'd,baaad,b'fore,awwwk,aways,awakes,automatics,authenticate,aught,aubyn,attired,attagirl,atrophied,asystole,astroturf,assertiveness,artichokes,arquillians,aright,archenemy,appraise,appeased,antin,anspaugh,anesthetics,anaphylactic,amscray,ambivalence,amalio,alriiight,alphabetized,alpena,alouette,allora,alliteration,allenwood,allegiances,algerians,alcerro,alastor,ahaha,agitators,aforethought,advertises,admonition,adirondacks,adenoids,acupuncturist,acula,actuarial,activators,actionable,achingly,accusers,acclimated,acclimate,absurdly,absorbent,absolvo,absolutes,absences,abdomenizer,aaaaaaaaah,aaaaaaaaaa,a'right".split(","),
17923male_names:"james,john,robert,michael,william,david,richard,charles,joseph,thomas,christopher,daniel,paul,mark,donald,george,kenneth,steven,edward,brian,ronald,anthony,kevin,jason,matthew,gary,timothy,jose,larry,jeffrey,frank,scott,eric,stephen,andrew,raymond,gregory,joshua,jerry,dennis,walter,patrick,peter,harold,douglas,henry,carl,arthur,ryan,roger,joe,juan,jack,albert,jonathan,justin,terry,gerald,keith,samuel,willie,ralph,lawrence,nicholas,roy,benjamin,bruce,brandon,adam,harry,fred,wayne,billy,steve,louis,jeremy,aaron,randy,eugene,carlos,russell,bobby,victor,ernest,phillip,todd,jesse,craig,alan,shawn,clarence,sean,philip,chris,johnny,earl,jimmy,antonio,danny,bryan,tony,luis,mike,stanley,leonard,nathan,dale,manuel,rodney,curtis,norman,marvin,vincent,glenn,jeffery,travis,jeff,chad,jacob,melvin,alfred,kyle,francis,bradley,jesus,herbert,frederick,ray,joel,edwin,don,eddie,ricky,troy,randall,barry,bernard,mario,leroy,francisco,marcus,micheal,theodore,clifford,miguel,oscar,jay,jim,tom,calvin,alex,jon,ronnie,bill,lloyd,tommy,leon,derek,darrell,jerome,floyd,leo,alvin,tim,wesley,dean,greg,jorge,dustin,pedro,derrick,dan,zachary,corey,herman,maurice,vernon,roberto,clyde,glen,hector,shane,ricardo,sam,rick,lester,brent,ramon,tyler,gilbert,gene,marc,reginald,ruben,brett,nathaniel,rafael,edgar,milton,raul,ben,cecil,duane,andre,elmer,brad,gabriel,ron,roland,jared,adrian,karl,cory,claude,erik,darryl,neil,christian,javier,fernando,clinton,ted,mathew,tyrone,darren,lonnie,lance,cody,julio,kurt,allan,clayton,hugh,max,dwayne,dwight,armando,felix,jimmie,everett,ian,ken,bob,jaime,casey,alfredo,alberto,dave,ivan,johnnie,sidney,byron,julian,isaac,clifton,willard,daryl,virgil,andy,salvador,kirk,sergio,seth,kent,terrance,rene,eduardo,terrence,enrique,freddie,stuart,fredrick,arturo,alejandro,joey,nick,luther,wendell,jeremiah,evan,julius,donnie,otis,trevor,luke,homer,gerard,doug,kenny,hubert,angelo,shaun,lyle,matt,alfonso,orlando,rex,carlton,ernesto,pablo,lorenzo,omar,wilbur,blake,horace,roderick,kerry,abraham,rickey,ira,andres,cesar,johnathan,malcolm,rudolph,damon,kelvin,rudy,preston,alton,archie,marco,pete,randolph,garry,geoffrey,jonathon,felipe,bennie,gerardo,dominic,loren,delbert,colin,guillermo,earnest,benny,noel,rodolfo,myron,edmund,salvatore,cedric,lowell,gregg,sherman,devin,sylvester,roosevelt,israel,jermaine,forrest,wilbert,leland,simon,irving,owen,rufus,woodrow,sammy,kristopher,levi,marcos,gustavo,jake,lionel,marty,gilberto,clint,nicolas,laurence,ismael,orville,drew,ervin,dewey,wilfred,josh,hugo,ignacio,caleb,tomas,sheldon,erick,frankie,darrel,rogelio,terence,alonzo,elias,bert,elbert,ramiro,conrad,noah,grady,phil,cornelius,lamar,rolando,clay,percy,bradford,merle,darin,amos,terrell,moses,irvin,saul,roman,darnell,randal,tommie,timmy,darrin,brendan,toby,van,abel,dominick,emilio,elijah,cary,domingo,aubrey,emmett,marlon,emanuel,jerald,edmond,emil,dewayne,otto,teddy,reynaldo,bret,jess,trent,humberto,emmanuel,stephan,louie,vicente,lamont,garland,micah,efrain,heath,rodger,demetrius,ethan,eldon,rocky,pierre,eli,bryce,antoine,robbie,kendall,royce,sterling,grover,elton,cleveland,dylan,chuck,damian,reuben,stan,leonardo,russel,erwin,benito,hans,monte,blaine,ernie,curt,quentin,agustin,jamal,devon,adolfo,tyson,wilfredo,bart,jarrod,vance,denis,damien,joaquin,harlan,desmond,elliot,darwin,gregorio,kermit,roscoe,esteban,anton,solomon,norbert,elvin,nolan,carey,rod,quinton,hal,brain,rob,elwood,kendrick,darius,moises,marlin,fidel,thaddeus,cliff,marcel,ali,raphael,bryon,armand,alvaro,jeffry,dane,joesph,thurman,ned,sammie,rusty,michel,monty,rory,fabian,reggie,kris,isaiah,gus,avery,loyd,diego,adolph,millard,rocco,gonzalo,derick,rodrigo,gerry,rigoberto,alphonso,rickie,noe,vern,elvis,bernardo,mauricio,hiram,donovan,basil,nickolas,scot,vince,quincy,eddy,sebastian,federico,ulysses,heriberto,donnell,denny,gavin,emery,romeo,jayson,dion,dante,clement,coy,odell,jarvis,bruno,issac,dudley,sanford,colby,carmelo,nestor,hollis,stefan,donny,linwood,beau,weldon,galen,isidro,truman,delmar,johnathon,silas,frederic,irwin,merrill,charley,marcelino,carlo,trenton,kurtis,aurelio,winfred,vito,collin,denver,leonel,emory,pasquale,mohammad,mariano,danial,landon,dirk,branden,adan,numbers,clair,buford,bernie,wilmer,emerson,zachery,jacques,errol,josue,edwardo,wilford,theron,raymundo,daren,tristan,robby,lincoln,jame,genaro,octavio,cornell,hung,arron,antony,herschel,alva,giovanni,garth,cyrus,cyril,ronny,stevie,lon,kennith,carmine,augustine,erich,chadwick,wilburn,russ,myles,jonas,mitchel,mervin,zane,jamel,lazaro,alphonse,randell,johnie,jarrett,ariel,abdul,dusty,luciano,seymour,scottie,eugenio,mohammed,arnulfo,lucien,ferdinand,thad,ezra,aldo,rubin,mitch,earle,abe,marquis,lanny,kareem,jamar,boris,isiah,emile,elmo,aron,leopoldo,everette,josef,eloy,dorian,rodrick,reinaldo,lucio,jerrod,weston,hershel,lemuel,lavern,burt,jules,gil,eliseo,ahmad,nigel,efren,antwan,alden,margarito,refugio,dino,osvaldo,les,deandre,normand,kieth,ivory,trey,norberto,napoleon,jerold,fritz,rosendo,milford,sang,deon,christoper,alfonzo,lyman,josiah,brant,wilton,rico,jamaal,dewitt,brenton,yong,olin,faustino,claudio,judson,gino,edgardo,alec,jarred,donn,trinidad,tad,porfirio,odis,lenard,chauncey,tod,mel,marcelo,kory,augustus,keven,hilario,bud,sal,orval,mauro,dannie,zachariah,olen,anibal,milo,jed,thanh,amado,lenny,tory,richie,horacio,brice,mohamed,delmer,dario,mac,jonah,jerrold,robt,hank,sung,rupert,rolland,kenton,damion,chi,antone,waldo,fredric,bradly,kip,burl,tyree,jefferey,ahmed,willy,stanford,oren,moshe,mikel,enoch,brendon,quintin,jamison,florencio,darrick,tobias,minh,hassan,giuseppe,demarcus,cletus,tyrell,lyndon,keenan,werner,theo,geraldo,columbus,chet,bertram,markus,huey,hilton,dwain,donte,tyron,omer,isaias,hipolito,fermin,chung,adalberto,jamey,teodoro,mckinley,maximo,raleigh,lawerence,abram,rashad,emmitt,daron,chong,samual,otha,miquel,eusebio,dong,domenic,darron,wilber,renato,hoyt,haywood,ezekiel,chas,florentino,elroy,clemente,arden,neville,edison,deshawn,carrol,shayne,nathanial,jordon,danilo,claud,sherwood,raymon,rayford,cristobal,ambrose,titus,hyman,felton,ezequiel,erasmo,lonny,milan,lino,jarod,herb,andreas,rhett,jude,douglass,cordell,oswaldo,ellsworth,virgilio,toney,nathanael,benedict,mose,hong,isreal,garret,fausto,arlen,zack,modesto,francesco,manual,gaylord,gaston,filiberto,deangelo,michale,granville,malik,zackary,tuan,nicky,cristopher,antione,malcom,korey,jospeh,colton,waylon,hosea,shad,santo,rudolf,rolf,renaldo,marcellus,lucius,kristofer,harland,arnoldo,rueben,leandro,kraig,jerrell,jeromy,hobert,cedrick,arlie,winford,wally,luigi,keneth,jacinto,graig,franklyn,edmundo,leif,jeramy,willian,vincenzo,shon,michal,lynwood,jere,elden,darell,broderick,alonso".split(",")},module.exports=frequency_lists;
17924
17925},{}],4:[function(require,module,exports){
17926var feedback,matching,scoring,time,time_estimates,zxcvbn;matching=require("./matching"),scoring=require("./scoring"),time_estimates=require("./time_estimates"),feedback=require("./feedback"),time=function(){return(new Date).getTime()},zxcvbn=function(e,t){var i,n,c,s,a,r,m,o,u,g,_;for(null==t&&(t=[]),g=time(),u=[],c=0,s=t.length;c<s;c++)i=t[c],"string"!=(m=typeof i)&&"number"!==m&&"boolean"!==m||u.push(i.toString().toLowerCase());matching.set_user_input_dictionary(u),a=matching.omnimatch(e),o=scoring.most_guessable_match_sequence(e,a),o.calc_time=time()-g,n=time_estimates.estimate_attack_times(o.guesses);for(r in n)_=n[r],o[r]=_;return o.feedback=feedback.get_feedback(o.score,o.sequence),o},module.exports=zxcvbn;
17927
17928},{"./feedback":2,"./matching":5,"./scoring":6,"./time_estimates":7}],5:[function(require,module,exports){
17929var DATE_MAX_YEAR,DATE_MIN_YEAR,DATE_SPLITS,GRAPHS,L33T_TABLE,RANKED_DICTIONARIES,REGEXEN,adjacency_graphs,build_ranked_dict,frequency_lists,lst,matching,name,scoring;frequency_lists=require("./frequency_lists"),adjacency_graphs=require("./adjacency_graphs"),scoring=require("./scoring"),build_ranked_dict=function(e){var t,n,r,i,a;for(i={},t=1,r=0,n=e.length;r<n;r++)a=e[r],i[a]=t,t+=1;return i},RANKED_DICTIONARIES={};for(name in frequency_lists)lst=frequency_lists[name],RANKED_DICTIONARIES[name]=build_ranked_dict(lst);GRAPHS={qwerty:adjacency_graphs.qwerty,dvorak:adjacency_graphs.dvorak,keypad:adjacency_graphs.keypad,mac_keypad:adjacency_graphs.mac_keypad},L33T_TABLE={a:["4","@"],b:["8"],c:["(","{","[","<"],e:["3"],g:["6","9"],i:["1","!","|"],l:["1","|","7"],o:["0"],s:["$","5"],t:["+","7"],x:["%"],z:["2"]},REGEXEN={recent_year:/19\d\d|200\d|201\d/g},DATE_MAX_YEAR=2050,DATE_MIN_YEAR=1e3,DATE_SPLITS={4:[[1,2],[2,3]],5:[[1,3],[2,3]],6:[[1,2],[2,4],[4,5]],7:[[1,3],[2,3],[4,5],[4,6]],8:[[2,4],[4,6]]},matching={empty:function(e){var t;return 0===function(){var n;n=[];for(t in e)n.push(t);return n}().length},extend:function(e,t){return e.push.apply(e,t)},translate:function(e,t){var n;return function(){var r,i,a,s;for(a=e.split(""),s=[],i=0,r=a.length;i<r;i++)n=a[i],s.push(t[n]||n);return s}().join("")},mod:function(e,t){return(e%t+t)%t},sorted:function(e){return e.sort(function(e,t){return e.i-t.i||e.j-t.j})},omnimatch:function(e){var t,n,r,i,a;for(i=[],r=[this.dictionary_match,this.reverse_dictionary_match,this.l33t_match,this.spatial_match,this.repeat_match,this.sequence_match,this.regex_match,this.date_match],a=0,t=r.length;a<t;a++)n=r[a],this.extend(i,n.call(this,e));return this.sorted(i)},dictionary_match:function(e,t){var n,r,i,a,s,o,h,u,c,l,_,f,d,p;null==t&&(t=RANKED_DICTIONARIES),s=[],a=e.length,u=e.toLowerCase();for(n in t)for(l=t[n],r=o=0,_=a;0<=_?o<_:o>_;r=0<=_?++o:--o)for(i=h=f=r,d=a;f<=d?h<d:h>d;i=f<=d?++h:--h)u.slice(r,+i+1||9e9)in l&&(p=u.slice(r,+i+1||9e9),c=l[p],s.push({pattern:"dictionary",i:r,j:i,token:e.slice(r,+i+1||9e9),matched_word:p,rank:c,dictionary_name:n,reversed:!1,l33t:!1}));return this.sorted(s)},reverse_dictionary_match:function(e,t){var n,r,i,a,s,o;for(null==t&&(t=RANKED_DICTIONARIES),o=e.split("").reverse().join(""),i=this.dictionary_match(o,t),a=0,n=i.length;a<n;a++)r=i[a],r.token=r.token.split("").reverse().join(""),r.reversed=!0,s=[e.length-1-r.j,e.length-1-r.i],r.i=s[0],r.j=s[1];return this.sorted(i)},set_user_input_dictionary:function(e){return RANKED_DICTIONARIES.user_inputs=build_ranked_dict(e.slice())},relevant_l33t_subtable:function(e,t){var n,r,i,a,s,o,h,u,c,l;for(s={},o=e.split(""),a=0,r=o.length;a<r;a++)n=o[a],s[n]=!0;l={};for(i in t)c=t[i],h=function(){var e,t,n;for(n=[],t=0,e=c.length;t<e;t++)u=c[t],u in s&&n.push(u);return n}(),h.length>0&&(l[i]=h);return l},enumerate_l33t_subs:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;a=function(){var t;t=[];for(i in e)t.push(i);return t}(),p=[[]],n=function(e){var t,n,r,a,s,o,h,u;for(n=[],s={},o=0,a=e.length;o<a;o++)h=e[o],t=function(){var e,t,n;for(n=[],u=t=0,e=h.length;t<e;u=++t)i=h[u],n.push([i,u]);return n}(),t.sort(),r=function(){var e,n,r;for(r=[],u=n=0,e=t.length;n<e;u=++n)i=t[u],r.push(i+","+u);return r}().join("-"),r in s||(s[r]=!0,n.push(h));return n},r=function(t){var i,a,s,o,h,u,c,l,_,f,d,g,m,A,E,y;if(t.length){for(a=t[0],m=t.slice(1),c=[],d=e[a],l=0,h=d.length;l<h;l++)for(o=d[l],_=0,u=p.length;_<u;_++){for(A=p[_],i=-1,s=f=0,g=A.length;0<=g?f<g:f>g;s=0<=g?++f:--f)if(A[s][0]===o){i=s;break}i===-1?(y=A.concat([[o,a]]),c.push(y)):(E=A.slice(0),E.splice(i,1),E.push([o,a]),c.push(A),c.push(E))}return p=n(c),r(m)}},r(a),d=[];for(u=0,o=p.length;u<o;u++){for(_=p[u],f={},c=0,h=_.length;c<h;c++)l=_[c],s=l[0],t=l[1],f[s]=t;d.push(f)}return d},l33t_match:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A;for(null==t&&(t=RANKED_DICTIONARIES),null==n&&(n=L33T_TABLE),u=[],_=this.enumerate_l33t_subs(this.relevant_l33t_subtable(e,n)),c=0,a=_.length;c<a&&(d=_[c],!this.empty(d));c++)for(g=this.translate(e,d),f=this.dictionary_match(g,t),l=0,s=f.length;l<s;l++)if(o=f[l],m=e.slice(o.i,+o.j+1||9e9),m.toLowerCase()!==o.matched_word){h={};for(p in d)r=d[p],m.indexOf(p)!==-1&&(h[p]=r);o.l33t=!0,o.token=m,o.sub=h,o.sub_display=function(){var e;e=[];for(i in h)A=h[i],e.push(i+" -> "+A);return e}().join(", "),u.push(o)}return this.sorted(u.filter(function(e){return e.token.length>1}))},spatial_match:function(e,t){var n,r,i;null==t&&(t=GRAPHS),i=[];for(r in t)n=t[r],this.extend(i,this.spatial_match_helper(e,n,r));return this.sorted(i)},SHIFTED_RX:/[~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]/,spatial_match_helper:function(e,t,n){var r,i,a,s,o,h,u,c,l,_,f,d,p,g,m;for(f=[],u=0;u<e.length-1;)for(c=u+1,l=null,m=0,g="qwerty"!==n&&"dvorak"!==n||!this.SHIFTED_RX.exec(e.charAt(u))?0:1;;){if(p=e.charAt(c-1),o=!1,h=-1,s=-1,i=t[p]||[],c<e.length)for(a=e.charAt(c),d=0,_=i.length;d<_;d++)if(r=i[d],s+=1,r&&r.indexOf(a)!==-1){o=!0,h=s,1===r.indexOf(a)&&(g+=1),l!==h&&(m+=1,l=h);break}if(!o){c-u>2&&f.push({pattern:"spatial",i:u,j:c-1,token:e.slice(u,c),graph:n,turns:m,shifted_count:g}),u=c;break}c+=1}return f},repeat_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p;for(d=[],a=/(.+)\1+/g,c=/(.+?)\1+/g,l=/^(.+?)\1+$/,u=0;u<e.length&&(a.lastIndex=c.lastIndex=u,s=a.exec(e),_=c.exec(e),null!=s);)s[0].length>_[0].length?(f=s,i=l.exec(f[0])[1]):(f=_,i=f[1]),p=[f.index,f.index+f[0].length-1],o=p[0],h=p[1],t=scoring.most_guessable_match_sequence(i,this.omnimatch(i)),r=t.sequence,n=t.guesses,d.push({pattern:"repeat",i:o,j:h,token:f[0],base_token:i,base_guesses:n,base_matches:r,repeat_count:f[0].length/i.length}),u=h+1;return d},MAX_DELTA:5,sequence_match:function(e){var t,n,r,i,a,s,o,h,u;if(1===e.length)return[];for(u=function(t){return function(n,r,i){var a,s,o,u;if((r-n>1||1===Math.abs(i))&&0<(a=Math.abs(i))&&a<=t.MAX_DELTA)return u=e.slice(n,+r+1||9e9),/^[a-z]+$/.test(u)?(s="lower",o=26):/^[A-Z]+$/.test(u)?(s="upper",o=26):/^\d+$/.test(u)?(s="digits",o=10):(s="unicode",o=26),h.push({pattern:"sequence",i:n,j:r,token:e.slice(n,+r+1||9e9),sequence_name:s,sequence_space:o,ascending:i>0})}}(this),h=[],n=0,a=null,i=s=1,o=e.length;1<=o?s<o:s>o;i=1<=o?++s:--s)t=e.charCodeAt(i)-e.charCodeAt(i-1),null==a&&(a=t),t!==a&&(r=i-1,u(n,r,a),n=r,a=t);return u(n,e.length-1,a),h},regex_match:function(e,t){var n,r,i,a;null==t&&(t=REGEXEN),n=[];for(name in t)for(r=t[name],r.lastIndex=0;i=r.exec(e);)a=i[0],n.push({pattern:"regex",token:a,i:i.index,j:i.index+i[0].length-1,regex_name:name,regex_match:i});return this.sorted(n)},date_match:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g,m,A,E,y,v,I,R,T,D,k,x,j,b,N,S,q,L,M;for(_=[],f=/^\d{4,8}$/,d=/^(\d{1,4})([\s\/\\_.-])(\d{1,2})\2(\d{1,4})$/,s=m=0,v=e.length-4;0<=v?m<=v:m>=v;s=0<=v?++m:--m)for(o=A=I=s+3,R=s+7;(I<=R?A<=R:A>=R)&&!(o>=e.length);o=I<=R?++A:--A)if(M=e.slice(s,+o+1||9e9),f.exec(M)){for(r=[],T=DATE_SPLITS[M.length],E=0,c=T.length;E<c;E++)D=T[E],h=D[0],u=D[1],a=this.map_ints_to_dmy([parseInt(M.slice(0,h)),parseInt(M.slice(h,u)),parseInt(M.slice(u))]),null!=a&&r.push(a);if(r.length>0){for(t=r[0],p=function(e){return Math.abs(e.year-scoring.REFERENCE_YEAR)},g=p(r[0]),k=r.slice(1),y=0,l=k.length;y<l;y++)n=k[y],i=p(n),i<g&&(x=[n,i],t=x[0],g=x[1]);_.push({pattern:"date",token:M,i:s,j:o,separator:"",year:t.year,month:t.month,day:t.day})}}for(s=q=0,j=e.length-6;0<=j?q<=j:q>=j;s=0<=j?++q:--q)for(o=L=b=s+5,N=s+9;(b<=N?L<=N:L>=N)&&!(o>=e.length);o=b<=N?++L:--L)M=e.slice(s,+o+1||9e9),S=d.exec(M),null!=S&&(a=this.map_ints_to_dmy([parseInt(S[1]),parseInt(S[3]),parseInt(S[4])]),null!=a&&_.push({pattern:"date",token:M,i:s,j:o,separator:S[2],year:a.year,month:a.month,day:a.day}));return this.sorted(_.filter(function(e){var t,n,r,i;for(t=!1,i=0,n=_.length;i<n;i++)if(r=_[i],e!==r&&r.i<=e.i&&r.j>=e.j){t=!0;break}return!t}))},map_ints_to_dmy:function(e){var t,n,r,i,a,s,o,h,u,c,l,_,f,d,p,g;if(!(e[1]>31||e[1]<=0)){for(o=0,h=0,p=0,s=0,r=e.length;s<r;s++){if(n=e[s],99<n&&n<DATE_MIN_YEAR||n>DATE_MAX_YEAR)return;n>31&&(h+=1),n>12&&(o+=1),n<=0&&(p+=1)}if(!(h>=2||3===o||p>=2)){for(c=[[e[2],e.slice(0,2)],[e[0],e.slice(1,3)]],u=0,i=c.length;u<i;u++)if(_=c[u],g=_[0],d=_[1],DATE_MIN_YEAR<=g&&g<=DATE_MAX_YEAR)return t=this.map_ints_to_dm(d),null!=t?{year:g,month:t.month,day:t.day}:void 0;for(l=0,a=c.length;l<a;l++)if(f=c[l],g=f[0],d=f[1],t=this.map_ints_to_dm(d),null!=t)return g=this.two_to_four_digit_year(g),{year:g,month:t.month,day:t.day}}}},map_ints_to_dm:function(e){var t,n,r,i,a,s;for(a=[e,e.slice().reverse()],i=0,n=a.length;i<n;i++)if(s=a[i],t=s[0],r=s[1],1<=t&&t<=31&&1<=r&&r<=12)return{day:t,month:r}},two_to_four_digit_year:function(e){return e>99?e:e>50?e+1900:e+2e3}},module.exports=matching;
17930
17931},{"./adjacency_graphs":1,"./frequency_lists":3,"./scoring":6}],6:[function(require,module,exports){
17932var BRUTEFORCE_CARDINALITY,MIN_GUESSES_BEFORE_GROWING_SEQUENCE,MIN_SUBMATCH_GUESSES_MULTI_CHAR,MIN_SUBMATCH_GUESSES_SINGLE_CHAR,adjacency_graphs,calc_average_degree,k,scoring,v;adjacency_graphs=require("./adjacency_graphs"),calc_average_degree=function(e){var t,r,n,s,a,u;t=0;for(n in e)a=e[n],t+=function(){var e,t,r;for(r=[],t=0,e=a.length;t<e;t++)s=a[t],s&&r.push(s);return r}().length;return t/=function(){var t;t=[];for(r in e)u=e[r],t.push(r);return t}().length},BRUTEFORCE_CARDINALITY=10,MIN_GUESSES_BEFORE_GROWING_SEQUENCE=1e4,MIN_SUBMATCH_GUESSES_SINGLE_CHAR=10,MIN_SUBMATCH_GUESSES_MULTI_CHAR=50,scoring={nCk:function(e,t){var r,n,s,a;if(t>e)return 0;if(0===t)return 1;for(s=1,r=n=1,a=t;1<=a?n<=a:n>=a;r=1<=a?++n:--n)s*=e,s/=r,e-=1;return s},log10:function(e){return Math.log(e)/Math.log(10)},log2:function(e){return Math.log(e)/Math.log(2)},factorial:function(e){var t,r,n,s;if(e<2)return 1;for(t=1,r=n=2,s=e;2<=s?n<=s:n>=s;r=2<=s?++n:--n)t*=r;return t},most_guessable_match_sequence:function(e,t,r){var n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S,R,v,I,M,N,C,U,T;for(null==r&&(r=!1),l=e.length,f=function(){var e,t,r;for(r=[],n=e=0,t=l;0<=t?e<t:e>t;n=0<=t?++e:--e)r.push([]);return r}(),p=0,_=t.length;p<_;p++)c=t[p],f[c.j].push(c);for(v=0,o=f.length;v<o;v++)E=f[v],E.sort(function(e,t){return e.i-t.i});for(A={m:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}(),pi:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}(),g:function(){var e,t,r;for(t=[],n=r=0,e=l;0<=e?r<e:r>e;n=0<=e?++r:--r)t.push({});return t}()},U=function(t){return function(n,s){var a,u,i,_,o,h;_=n.j,o=t.estimate_guesses(n,e),s>1&&(o*=A.pi[n.i-1][s-1]),i=t.factorial(s)*o,r||(i+=Math.pow(MIN_GUESSES_BEFORE_GROWING_SEQUENCE,s-1)),h=A.g[_];for(u in h)if(a=h[u],!(u>s)&&a<=i)return;return A.g[_][s]=i,A.m[_][s]=n,A.pi[_][s]=o}}(this),s=function(e){return function(e){var t,r,n,s,a,u;for(c=g(0,e),U(c,1),a=[],t=u=1,s=e;1<=s?u<=s:u>=s;t=1<=s?++u:--u)c=g(t,e),a.push(function(){var e,s;e=A.m[t-1],s=[];for(r in e)n=e[r],r=parseInt(r),"bruteforce"!==n.pattern&&s.push(U(c,r+1));return s}());return a}}(this),g=function(t){return function(t,r){return{pattern:"bruteforce",token:e.slice(t,+r+1||9e9),i:t,j:r}}}(this),C=function(e){return function(e){var t,r,n,s,a,u,i;u=[],s=e-1,a=void 0,n=1/0,i=A.g[s];for(r in i)t=i[r],t<n&&(a=r,n=t);for(;s>=0;)c=A.m[s][a],u.unshift(c),s=c.i-1,a--;return u}}(this),u=N=0,I=l;0<=I?N<I:N>I;u=0<=I?++N:--N){for(M=f[u],T=0,h=M.length;T<h;T++)if(c=M[T],c.i>0)for(i in A.m[c.i-1])i=parseInt(i),U(c,i+1);else U(c,1);s(u)}return R=C(l),S=R.length,a=0===e.length?1:A.g[l-1][S],{password:e,guesses:a,guesses_log10:this.log10(a),sequence:R}},estimate_guesses:function(e,t){var r,n,s;return null!=e.guesses?e.guesses:(s=1,e.token.length<t.length&&(s=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR:MIN_SUBMATCH_GUESSES_MULTI_CHAR),r={bruteforce:this.bruteforce_guesses,dictionary:this.dictionary_guesses,spatial:this.spatial_guesses,repeat:this.repeat_guesses,sequence:this.sequence_guesses,regex:this.regex_guesses,date:this.date_guesses},n=r[e.pattern].call(this,e),e.guesses=Math.max(n,s),e.guesses_log10=this.log10(e.guesses),e.guesses)},bruteforce_guesses:function(e){var t,r;return t=Math.pow(BRUTEFORCE_CARDINALITY,e.token.length),r=1===e.token.length?MIN_SUBMATCH_GUESSES_SINGLE_CHAR+1:MIN_SUBMATCH_GUESSES_MULTI_CHAR+1,Math.max(t,r)},repeat_guesses:function(e){return e.base_guesses*e.repeat_count},sequence_guesses:function(e){var t,r;return r=e.token.charAt(0),t="a"===r||"A"===r||"z"===r||"Z"===r||"0"===r||"1"===r||"9"===r?4:r.match(/\d/)?10:26,e.ascending||(t*=2),t*e.token.length},MIN_YEAR_SPACE:20,REFERENCE_YEAR:2016,regex_guesses:function(e){var t,r;if(t={alpha_lower:26,alpha_upper:26,alpha:52,alphanumeric:62,digits:10,symbols:33},e.regex_name in t)return Math.pow(t[e.regex_name],e.token.length);switch(e.regex_name){case"recent_year":return r=Math.abs(parseInt(e.regex_match[0])-this.REFERENCE_YEAR),r=Math.max(r,this.MIN_YEAR_SPACE)}},date_guesses:function(e){var t,r;return r=Math.max(Math.abs(e.year-this.REFERENCE_YEAR),this.MIN_YEAR_SPACE),t=365*r,e.separator&&(t*=4),t},KEYBOARD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.qwerty),KEYPAD_AVERAGE_DEGREE:calc_average_degree(adjacency_graphs.keypad),KEYBOARD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.qwerty,t=[];for(k in e)v=e[k],t.push(k);return t}().length,KEYPAD_STARTING_POSITIONS:function(){var e,t;e=adjacency_graphs.keypad,t=[];for(k in e)v=e[k],t.push(k);return t}().length,spatial_guesses:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g,f,l,p,A,S;for("qwerty"===(E=e.graph)||"dvorak"===E?(l=this.KEYBOARD_STARTING_POSITIONS,s=this.KEYBOARD_AVERAGE_DEGREE):(l=this.KEYPAD_STARTING_POSITIONS,s=this.KEYPAD_AVERAGE_DEGREE),a=0,t=e.token.length,A=e.turns,u=_=2,c=t;2<=c?_<=c:_>=c;u=2<=c?++_:--_)for(o=Math.min(A,u-1),i=h=1,g=o;1<=g?h<=g:h>=g;i=1<=g?++h:--h)a+=this.nCk(u-1,i-1)*l*Math.pow(s,i);if(e.shifted_count)if(r=e.shifted_count,n=e.token.length-e.shifted_count,0===r||0===n)a*=2;else{for(p=0,u=S=1,f=Math.min(r,n);1<=f?S<=f:S>=f;u=1<=f?++S:--S)p+=this.nCk(r+n,u);a*=p}return a},dictionary_guesses:function(e){var t;return e.base_guesses=e.rank,e.uppercase_variations=this.uppercase_variations(e),e.l33t_variations=this.l33t_variations(e),t=e.reversed&&2||1,e.base_guesses*e.uppercase_variations*e.l33t_variations*t},START_UPPER:/^[A-Z][^A-Z]+$/,END_UPPER:/^[^A-Z]+[A-Z]$/,ALL_UPPER:/^[^a-z]+$/,ALL_LOWER:/^[^A-Z]+$/,uppercase_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c;if(c=e.token,c.match(this.ALL_LOWER)||c.toLowerCase()===c)return 1;for(_=[this.START_UPPER,this.END_UPPER,this.ALL_UPPER],u=0,a=_.length;u<a;u++)if(h=_[u],c.match(h))return 2;for(r=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;t<e;t++)n=r[t],n.match(/[A-Z]/)&&s.push(n);return s}().length,t=function(){var e,t,r,s;for(r=c.split(""),s=[],t=0,e=r.length;t<e;t++)n=r[t],n.match(/[a-z]/)&&s.push(n);return s}().length,E=0,s=i=1,o=Math.min(r,t);1<=o?i<=o:i>=o;s=1<=o?++i:--i)E+=this.nCk(r+t,s);return E},l33t_variations:function(e){var t,r,n,s,a,u,i,_,o,h,E,c,g;if(!e.l33t)return 1;g=1,o=e.sub;for(E in o)if(c=o[E],s=e.token.toLowerCase().split(""),t=function(){var e,t,r;for(r=[],t=0,e=s.length;t<e;t++)n=s[t],n===E&&r.push(n);return r}().length,r=function(){var e,t,r;for(r=[],t=0,e=s.length;t<e;t++)n=s[t],n===c&&r.push(n);return r}().length,0===t||0===r)g*=2;else{for(i=Math.min(r,t),_=0,a=u=1,h=i;1<=h?u<=h:u>=h;a=1<=h?++u:--u)_+=this.nCk(r+t,a);g*=_}return g}},module.exports=scoring;
17933
17934},{"./adjacency_graphs":1}],7:[function(require,module,exports){
17935var time_estimates;time_estimates={estimate_attack_times:function(e){var t,n,s,o;n={online_throttling_100_per_hour:e/(100/3600),online_no_throttling_10_per_second:e/10,offline_slow_hashing_1e4_per_second:e/1e4,offline_fast_hashing_1e10_per_second:e/1e10},t={};for(s in n)o=n[s],t[s]=this.display_time(o);return{crack_times_seconds:n,crack_times_display:t,score:this.guesses_to_score(e)}},guesses_to_score:function(e){var t;return t=5,e<1e3+t?0:e<1e6+t?1:e<1e8+t?2:e<1e10+t?3:4},display_time:function(e){var t,n,s,o,_,r,i,a,u,c;return i=60,r=60*i,s=24*r,a=31*s,c=12*a,n=100*c,u=e<1?[null,"less than a second"]:e<i?(t=Math.round(e),[t,t+" second"]):e<r?(t=Math.round(e/i),[t,t+" minute"]):e<s?(t=Math.round(e/r),[t,t+" hour"]):e<a?(t=Math.round(e/s),[t,t+" day"]):e<c?(t=Math.round(e/a),[t,t+" month"]):e<n?(t=Math.round(e/c),[t,t+" year"]):[null,"centuries"],o=u[0],_=u[1],null!=o&&1!==o&&(_+="s"),_}},module.exports=time_estimates;
17936
17937},{}]},{},[4])(4)
17938});
17939//# sourceMappingURL=zxcvbn.js.map
17940</script>
17941 <script>/*
17942 * Detects entropy from a string.
17943 *
17944 * Formats include:
17945 * binary [0-1]
17946 * base 6 [0-5]
17947 * dice 6 [1-6]
17948 * decimal [0-9]
17949 * hexadecimal [0-9A-F]
9e97eb76 17950 * card [A2-9TJQK][CDHS]
95f04905
IC
17951 *
17952 * Automatically uses lowest entropy to avoid issues such as interpretting 0101
17953 * as hexadecimal which would be 16 bits when really it's only 4 bits of binary
17954 * entropy.
17955 */
17956
17957window.Entropy = new (function() {
17958
78b8d604
IC
17959 var TWO = new BigInteger(2);
17960
95f04905
IC
17961 // matchers returns an array of the matched events for each type of entropy.
17962 // eg
17963 // matchers.binary("010") returns ["0", "1", "0"]
17964 // matchers.binary("a10") returns ["1", "0"]
17965 // matchers.hex("a10") returns ["a", "1", "0"]
17966 var matchers = {
17967 binary: function(str) {
17968 return str.match(/[0-1]/gi) || [];
17969 },
17970 base6: function(str) {
17971 return str.match(/[0-5]/gi) || [];
17972 },
17973 dice: function(str) {
17974 return str.match(/[1-6]/gi) || []; // ie dice numbers
17975 },
17976 base10: function(str) {
17977 return str.match(/[0-9]/gi) || [];
17978 },
17979 hex: function(str) {
17980 return str.match(/[0-9A-F]/gi) || [];
17981 },
17982 card: function(str) {
17983 // Format is NumberSuit, eg
17984 // AH ace of hearts
17985 // 8C eight of clubs
17986 // TD ten of diamonds
17987 // JS jack of spades
17988 // QH queen of hearts
17989 // KC king of clubs
17990 return str.match(/([A2-9TJQK][CDHS])/gi) || [];
17991 }
17992 }
17993
17994 // Convert array of cards from ["ac", "4d", "ks"]
17995 // to numbers between 0 and 51 [0, 16, 51]
17996 function convertCardsToInts(cards) {
17997 var ints = [];
17998 var values = "a23456789tjqk";
17999 var suits = "cdhs";
18000 for (var i=0; i<cards.length; i++) {
18001 var card = cards[i].toLowerCase();
18002 var value = card[0];
18003 var suit = card[1];
18004 var asInt = 13 * suits.indexOf(suit) + values.indexOf(value);
18005 ints.push(asInt);
18006 }
18007 return ints;
18008 }
18009
18010 this.fromString = function(rawEntropyStr) {
18011 // Find type of entropy being used (binary, hex, dice etc)
18012 var base = getBase(rawEntropyStr);
18013 // Convert dice to base6 entropy (ie 1-6 to 0-5)
18014 // This is done by changing all 6s to 0s
18015 if (base.str == "dice") {
18016 var newParts = [];
18017 var newInts = [];
18018 for (var i=0; i<base.parts.length; i++) {
18019 var c = base.parts[i];
18020 if ("12345".indexOf(c) > -1) {
18021 newParts[i] = base.parts[i];
18022 newInts[i] = base.ints[i];
18023 }
18024 else {
18025 newParts[i] = "0";
18026 newInts[i] = 0;
18027 }
18028 }
18029 base.str = "base 6 (dice)";
18030 base.ints = newInts;
18031 base.parts = newParts;
18032 base.matcher = matchers.base6;
18033 }
18034 // Detect empty entropy
18035 if (base.parts.length == 0) {
18036 return {
18037 binaryStr: "",
18038 cleanStr: "",
18039 cleanHtml: "",
18040 base: base,
18041 };
18042 }
18043 // Convert base.ints to BigInteger.
18044 // Due to using unusual bases, eg cards of base52, this is not as simple as
18045 // using BigInteger.parse()
18046 var entropyInt = BigInteger.ZERO;
18047 for (var i=base.ints.length-1; i>=0; i--) {
18048 var thisInt = BigInteger.parse(base.ints[i]);
18049 var power = (base.ints.length - 1) - i;
18050 var additionalEntropy = BigInteger.parse(base.asInt).pow(power).multiply(thisInt);
18051 entropyInt = entropyInt.add(additionalEntropy);
18052 }
18053 // Convert entropy to binary
18054 var entropyBin = entropyInt.toString(2);
18055 // If the first integer is small, it must be padded with zeros.
18056 // Otherwise the chance of the first bit being 1 is 100%, which is
18057 // obviously incorrect.
18058 // This is not perfect for non-2^n bases.
18059 var expectedBits = Math.floor(base.parts.length * Math.log2(base.asInt));
18060 while (entropyBin.length < expectedBits) {
18061 entropyBin = "0" + entropyBin;
18062 }
9e97eb76
IC
18063 // Assume cards are NOT replaced.
18064 // Additional entropy decreases as more cards are used. This means
18065 // total possible entropy is measured using n!, not base^n.
18066 // eg the second last card can be only one of two, not one of fifty two
18067 // so the added entropy for that card is only one bit at most
18068 if (base.asInt == 52) {
9e97eb76
IC
18069 var totalDecks = Math.ceil(base.parts.length / 52);
18070 var totalCards = totalDecks * 52;
18071 var totalCombos = factorial(52).pow(totalDecks);
18072 var totalRemainingCards = totalCards - base.parts.length;
18073 var remainingDecks = Math.floor(totalRemainingCards / 52);
18074 var remainingCards = totalRemainingCards % 52;
18075 var remainingCombos = factorial(52).pow(remainingDecks).multiply(factorial(remainingCards));
18076 var currentCombos = totalCombos.divide(remainingCombos);
18077 var numberOfBits = Math.log2(currentCombos);
18078 var maxWithoutReplace = BigInteger.pow(2, numberOfBits);
78b8d604
IC
18079 // Use a bunch of sorted decks to measure entropy from, populated
18080 // as needed.
18081 var sortedDecks = [];
18082 // Initialize the final entropy value for these cards
18083 var entropyInt = BigInteger.ZERO;
18084 // Track how many instances of each card have been used, and thus
18085 // how many decks are in use.
18086 var cardCounts = {};
18087 // Track the total bits of entropy that remain, which diminishes as
18088 // each card is drawn.
18089 var totalBitsLeft = numberOfBits;
18090 // Work out entropy contribution of each card drawn
18091 for (var i=0; i<base.parts.length; i++) {
18092 // Get the card that was drawn
18093 var cardLower = base.parts[i];
18094 var card = cardLower.toUpperCase();
18095 // Initialize the deck for this card if needed, to track how
18096 // much entropy it adds.
18097 if (!(card in cardCounts)) {
18098 cardCounts[card] = 0;
18099 }
18100 // Get the deck this card is from
18101 var deckIndex = cardCounts[card];
18102 while (deckIndex > sortedDecks.length-1) {
18103 sortedDecks.push(getSortedDeck());
18104 }
18105 // See how many bits this card contributes (depends on how many
18106 // are left in the deck it's from)
18107 var deckForCard = sortedDecks[deckIndex];
18108 var cardsLeftInDeck = deckForCard.length;
18109 var additionalBits = Math.log2(cardsLeftInDeck);
18110 // Work out the min and max value for this card
18111 var nextTotalBitsLeft = totalBitsLeft - additionalBits;
18112 var minPossibleNewEntropy = TWO.pow(nextTotalBitsLeft).subtract(1);
18113 var maxPossibleNewEntropy = TWO.pow(totalBitsLeft).subtract(1);
18114 var diff = maxPossibleNewEntropy.subtract(minPossibleNewEntropy);
18115 // BigInteger aggresively floors numbers which greatly affects
18116 // the small numbers. In that case, use native Math library
18117 var useBigInt = totalBitsLeft >= 32;
18118 if (!useBigInt) {
18119 minPossibleNewEntropy = Math.round(Math.pow(2, nextTotalBitsLeft)-1);
18120 maxPossibleNewEntropy = Math.round(Math.pow(2, totalBitsLeft)-1);
18121 diff = maxPossibleNewEntropy - minPossibleNewEntropy;
18122 }
18123 // Scale the value between possible min and max depending on
18124 // this card value
18125 var thisCardIndex = deckForCard.indexOf(card);
18126 var toAdd = BigInteger.ZERO;
18127 if (cardsLeftInDeck > 1) {
18128 if (useBigInt) {
18129 toAdd = diff.multiply(thisCardIndex)
18130 .divide(deckForCard.length - 1)
18131 .add(minPossibleNewEntropy);
18132 }
18133 else {
18134 var ratio = thisCardIndex / (deckForCard.length -1);
18135 var f = diff * ratio;
18136 toAdd = new BigInteger(f).add(minPossibleNewEntropy);
18137 }
18138 }
18139 // Add this card entropy to existing entropy
18140 entropyInt = entropyInt.add(toAdd);
18141 // Remove this card from the deck it comes from
18142 deckForCard.splice(thisCardIndex,1);
18143 // Ensure the next insance of this card uses the next deck
18144 cardCounts[card] = cardCounts[card] + 1;
18145 // Next card drawn has less total remaining bits to work with
18146 totalBitsLeft = nextTotalBitsLeft;
9e97eb76 18147 }
78b8d604
IC
18148 // Convert to binary
18149 var entropyBin = entropyInt.toString(2);
9e97eb76
IC
18150 var numberOfBitsInt = Math.floor(numberOfBits);
18151 while (entropyBin.length < numberOfBitsInt) {
18152 entropyBin = "0" + entropyBin;
18153 }
18154 }
95f04905
IC
18155 // Supply a 'filtered' entropy string for display purposes
18156 var entropyClean = base.parts.join("");
18157 var entropyHtml = base.parts.join("");
18158 if (base.asInt == 52) {
18159 entropyClean = base.parts.join(" ").toUpperCase();
18160 entropyClean = entropyClean.replace(/C/g, "\u2663");
18161 entropyClean = entropyClean.replace(/D/g, "\u2666");
18162 entropyClean = entropyClean.replace(/H/g, "\u2665");
18163 entropyClean = entropyClean.replace(/S/g, "\u2660");
18164 entropyHtml = base.parts.join(" ").toUpperCase();
18165 entropyHtml = entropyHtml.replace(/C/g, "<span class='card-suit club'>\u2663</span>");
18166 entropyHtml = entropyHtml.replace(/D/g, "<span class='card-suit diamond'>\u2666</span>");
18167 entropyHtml = entropyHtml.replace(/H/g, "<span class='card-suit heart'>\u2665</span>");
18168 entropyHtml = entropyHtml.replace(/S/g, "<span class='card-suit spade'>\u2660</span>");
18169 }
9e97eb76 18170 // Return the result
95f04905
IC
18171 var e = {
18172 binaryStr: entropyBin,
18173 cleanStr: entropyClean,
18174 cleanHtml: entropyHtml,
18175 base: base,
18176 }
18177 return e;
18178 }
18179
78b8d604
IC
18180 function getSortedDeck() {
18181 var s = [];
18182 var suits = "CDHS";
18183 var values = "A23456789TJQK";
18184 for (var i=0; i<suits.length; i++) {
18185 for (var j=0; j<values.length; j++) {
18186 s.push(values[j]+suits[i]);
18187 }
18188 }
18189 return s;
18190 }
18191
95f04905
IC
18192 function getBase(str) {
18193 // Need to get the lowest base for the supplied entropy.
18194 // This prevents interpreting, say, dice rolls as hexadecimal.
18195 var binaryMatches = matchers.binary(str);
18196 var hexMatches = matchers.hex(str);
18197 // Find the lowest base that can be used, whilst ignoring any irrelevant chars
18198 if (binaryMatches.length == hexMatches.length && hexMatches.length > 0) {
18199 var ints = binaryMatches.map(function(i) { return parseInt(i, 2) });
18200 return {
18201 ints: ints,
18202 parts: binaryMatches,
18203 matcher: matchers.binary,
18204 asInt: 2,
18205 str: "binary",
18206 }
18207 }
18208 var cardMatches = matchers.card(str);
18209 if (cardMatches.length >= hexMatches.length / 2) {
18210 var ints = convertCardsToInts(cardMatches);
18211 return {
18212 ints: ints,
18213 parts: cardMatches,
18214 matcher: matchers.card,
18215 asInt: 52,
18216 str: "card",
18217 }
18218 }
18219 var diceMatches = matchers.dice(str);
18220 if (diceMatches.length == hexMatches.length && hexMatches.length > 0) {
18221 var ints = diceMatches.map(function(i) { return parseInt(i) });
18222 return {
18223 ints: ints,
18224 parts: diceMatches,
18225 matcher: matchers.dice,
18226 asInt: 6,
18227 str: "dice",
18228 }
18229 }
18230 var base6Matches = matchers.base6(str);
18231 if (base6Matches.length == hexMatches.length && hexMatches.length > 0) {
18232 var ints = base6Matches.map(function(i) { return parseInt(i) });
18233 return {
18234 ints: ints,
18235 parts: base6Matches,
18236 matcher: matchers.base6,
18237 asInt: 6,
18238 str: "base 6",
18239 }
18240 }
18241 var base10Matches = matchers.base10(str);
18242 if (base10Matches.length == hexMatches.length && hexMatches.length > 0) {
18243 var ints = base10Matches.map(function(i) { return parseInt(i) });
18244 return {
18245 ints: ints,
18246 parts: base10Matches,
18247 matcher: matchers.base10,
18248 asInt: 10,
18249 str: "base 10",
18250 }
18251 }
18252 var ints = hexMatches.map(function(i) { return parseInt(i, 16) });
18253 return {
18254 ints: ints,
18255 parts: hexMatches,
18256 matcher: matchers.hex,
18257 asInt: 16,
18258 str: "hexadecimal",
18259 }
18260 }
18261
18262 // Polyfill for Math.log2
18263 // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log2#Polyfill
18264 Math.log2 = Math.log2 || function(x) {
18265 // The polyfill isn't good enough because of the poor accuracy of
18266 // Math.LOG2E
18267 // log2(8) gave 2.9999999999999996 which when floored causes issues.
18268 // So instead use the BigInteger library to get it right.
18269 return BigInteger.log(x) / BigInteger.log(2);
18270 };
18271
9e97eb76
IC
18272 // Depends on BigInteger
18273 function factorial(n) {
18274 if (n == 0) {
18275 return 1;
18276 }
18277 f = BigInteger.ONE;
18278 for (var i=1; i<=n; i++) {
18279 f = f.multiply(new BigInteger(i));
18280 }
18281 return f;
18282 }
18283
95f04905 18284})();
c6624d51
IC
18285</script>
18286 <script>(function() {
18287
18288 // mnemonics is populated as required by getLanguage
18289 var mnemonics = { "english": new Mnemonic("english") };
18290 var mnemonic = mnemonics["english"];
18291 var seed = null
18292 var bip32RootKey = null;
18293 var bip32ExtendedKey = null;
18294 var network = bitcoin.networks.bitcoin;
18295 var addressRowTemplate = $("#address-row-template");
18296
18297 var showIndex = true;
18298 var showAddress = true;
18299 var showPubKey = true;
18300 var showPrivKey = true;
18301
18302 var entropyChangeTimeoutEvent = null;
18303 var phraseChangeTimeoutEvent = null;
18304 var rootKeyChangedTimeoutEvent = null;
18305
18306 var DOM = {};
18307 DOM.network = $(".network");
18308 DOM.phraseNetwork = $("#network-phrase");
18309 DOM.useEntropy = $(".use-entropy");
18310 DOM.entropyContainer = $(".entropy-container");
18311 DOM.entropy = $(".entropy");
2a6dd137
IC
18312 DOM.entropyFiltered = DOM.entropyContainer.find(".filtered");
18313 DOM.entropyType = DOM.entropyContainer.find(".type");
18314 DOM.entropyStrength = DOM.entropyContainer.find(".strength");
18315 DOM.entropyEventCount = DOM.entropyContainer.find(".event-count");
18316 DOM.entropyBits = DOM.entropyContainer.find(".bits");
18317 DOM.entropyBitsPerEvent = DOM.entropyContainer.find(".bits-per-event");
18318 DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
18319 DOM.entropyBinary = DOM.entropyContainer.find(".binary");
18320 DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
c6624d51
IC
18321 DOM.phrase = $(".phrase");
18322 DOM.passphrase = $(".passphrase");
18323 DOM.generateContainer = $(".generate-container");
18324 DOM.generate = $(".generate");
18325 DOM.seed = $(".seed");
18326 DOM.rootKey = $(".root-key");
18327 DOM.extendedPrivKey = $(".extended-priv-key");
18328 DOM.extendedPubKey = $(".extended-pub-key");
18329 DOM.bip32tab = $("#bip32-tab");
18330 DOM.bip44tab = $("#bip44-tab");
18331 DOM.bip32panel = $("#bip32");
18332 DOM.bip44panel = $("#bip44");
18333 DOM.bip32path = $("#bip32-path");
18334 DOM.bip44path = $("#bip44-path");
18335 DOM.bip44purpose = $("#bip44 .purpose");
18336 DOM.bip44coin = $("#bip44 .coin");
18337 DOM.bip44account = $("#bip44 .account");
18338 DOM.bip44change = $("#bip44 .change");
18abe53b 18339 DOM.generatedStrength = $(".generate-container .strength");
c6624d51
IC
18340 DOM.hardenedAddresses = $(".hardened-addresses");
18341 DOM.addresses = $(".addresses");
18342 DOM.rowsToAdd = $(".rows-to-add");
18343 DOM.more = $(".more");
18344 DOM.feedback = $(".feedback");
18345 DOM.tab = $(".derivation-type a");
18346 DOM.indexToggle = $(".index-toggle");
18347 DOM.addressToggle = $(".address-toggle");
18348 DOM.publicKeyToggle = $(".public-key-toggle");
18349 DOM.privateKeyToggle = $(".private-key-toggle");
18350 DOM.languages = $(".languages a");
18351
18352 function init() {
18353 // Events
18354 DOM.network.on("change", networkChanged);
18355 DOM.useEntropy.on("change", setEntropyVisibility);
18356 DOM.entropy.on("input", delayedEntropyChanged);
18abe53b 18357 DOM.entropyMnemonicLength.on("change", entropyChanged);
c6624d51
IC
18358 DOM.phrase.on("input", delayedPhraseChanged);
18359 DOM.passphrase.on("input", delayedPhraseChanged);
18360 DOM.generate.on("click", generateClicked);
18361 DOM.more.on("click", showMore);
18362 DOM.rootKey.on("input", delayedRootKeyChanged);
18363 DOM.bip32path.on("input", calcForDerivationPath);
18364 DOM.bip44purpose.on("input", calcForDerivationPath);
18365 DOM.bip44coin.on("input", calcForDerivationPath);
18366 DOM.bip44account.on("input", calcForDerivationPath);
18367 DOM.bip44change.on("input", calcForDerivationPath);
18368 DOM.tab.on("shown.bs.tab", calcForDerivationPath);
18369 DOM.hardenedAddresses.on("change", calcForDerivationPath);
18370 DOM.indexToggle.on("click", toggleIndexes);
18371 DOM.addressToggle.on("click", toggleAddresses);
18372 DOM.publicKeyToggle.on("click", togglePublicKeys);
18373 DOM.privateKeyToggle.on("click", togglePrivateKeys);
18374 DOM.languages.on("click", languageChanged);
18375 disableForms();
18376 hidePending();
18377 hideValidationError();
18378 populateNetworkSelect();
18379 }
18380
18381 // Event handlers
18382
18383 function networkChanged(e) {
18384 var networkIndex = e.target.value;
18385 networks[networkIndex].onSelect();
18386 if (seed != null) {
18387 phraseChanged();
18388 }
18389 else {
18390 rootKeyChanged();
18391 }
18392 }
18393
18394 function setEntropyVisibility() {
18395 if (isUsingOwnEntropy()) {
18396 DOM.entropyContainer.removeClass("hidden");
18397 DOM.generateContainer.addClass("hidden");
18398 DOM.phrase.prop("readonly", true);
18399 DOM.entropy.focus();
18400 entropyChanged();
18401 }
18402 else {
18403 DOM.entropyContainer.addClass("hidden");
18404 DOM.generateContainer.removeClass("hidden");
18405 DOM.phrase.prop("readonly", false);
18abe53b 18406 hidePending();
c6624d51
IC
18407 }
18408 }
18409
18410 function delayedPhraseChanged() {
18411 hideValidationError();
18412 showPending();
18413 if (phraseChangeTimeoutEvent != null) {
18414 clearTimeout(phraseChangeTimeoutEvent);
18415 }
18416 phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400);
18417 }
18418
18419 function phraseChanged() {
18420 showPending();
18421 hideValidationError();
18422 setMnemonicLanguage();
18423 // Get the mnemonic phrase
18424 var phrase = DOM.phrase.val();
18425 var errorText = findPhraseErrors(phrase);
18426 if (errorText) {
18427 showValidationError(errorText);
18428 return;
18429 }
18430 // Calculate and display
18431 var passphrase = DOM.passphrase.val();
18432 calcBip32RootKeyFromSeed(phrase, passphrase);
18433 calcForDerivationPath();
18434 hidePending();
18435 }
18436
18437 function delayedEntropyChanged() {
18438 hideValidationError();
18439 showPending();
18440 if (entropyChangeTimeoutEvent != null) {
18441 clearTimeout(entropyChangeTimeoutEvent);
18442 }
18443 entropyChangeTimeoutEvent = setTimeout(entropyChanged, 400);
18444 }
18445
18446 function entropyChanged() {
18abe53b
IC
18447 // If blank entropy, clear mnemonic, addresses, errors
18448 if (DOM.entropy.val().trim().length == 0) {
18449 clearDisplay();
2a6dd137 18450 clearEntropyFeedback();
18abe53b
IC
18451 DOM.phrase.val("");
18452 showValidationError("Blank entropy");
18453 return;
18454 }
18455 // Get the current phrase to detect changes
18456 var phrase = DOM.phrase.val();
18457 // Set the phrase from the entropy
c6624d51 18458 setMnemonicFromEntropy();
18abe53b
IC
18459 // Recalc addresses if the phrase has changed
18460 var newPhrase = DOM.phrase.val();
18461 if (newPhrase != phrase) {
18462 if (newPhrase.length == 0) {
18463 clearDisplay();
18464 }
18465 else {
18466 phraseChanged();
18467 }
18468 }
18469 else {
18470 hidePending();
18471 }
c6624d51
IC
18472 }
18473
18474 function delayedRootKeyChanged() {
18475 // Warn if there is an existing mnemonic or passphrase.
18476 if (DOM.phrase.val().length > 0 || DOM.passphrase.val().length > 0) {
18477 if (!confirm("This will clear existing mnemonic and passphrase")) {
18478 DOM.rootKey.val(bip32RootKey);
18479 return
18480 }
18481 }
18482 hideValidationError();
18483 showPending();
18484 // Clear existing mnemonic and passphrase
18485 DOM.phrase.val("");
18486 DOM.passphrase.val("");
18487 seed = null;
18488 if (rootKeyChangedTimeoutEvent != null) {
18489 clearTimeout(rootKeyChangedTimeoutEvent);
18490 }
18491 rootKeyChangedTimeoutEvent = setTimeout(rootKeyChanged, 400);
18492 }
18493
18494 function rootKeyChanged() {
18495 showPending();
18496 hideValidationError();
18497 // Validate the root key TODO
18498 var rootKeyBase58 = DOM.rootKey.val();
18499 var errorText = validateRootKey(rootKeyBase58);
18500 if (errorText) {
18501 showValidationError(errorText);
18502 return;
18503 }
18504 // Calculate and display
18505 calcBip32RootKeyFromBase58(rootKeyBase58);
18506 calcForDerivationPath();
18507 hidePending();
18508 }
18509
18510 function calcForDerivationPath() {
18511 showPending();
18512 hideValidationError();
18513 // Get the derivation path
18514 var derivationPath = getDerivationPath();
18515 var errorText = findDerivationPathErrors(derivationPath);
18516 if (errorText) {
18517 showValidationError(errorText);
18518 return;
18519 }
18520 calcBip32ExtendedKey(derivationPath);
18521 displayBip32Info();
18522 hidePending();
18523 }
18524
18525 function generateClicked() {
18526 if (isUsingOwnEntropy()) {
18527 return;
18528 }
18529 clearDisplay();
18530 showPending();
18531 setTimeout(function() {
18532 setMnemonicLanguage();
18533 var phrase = generateRandomPhrase();
18534 if (!phrase) {
18535 return;
18536 }
18537 phraseChanged();
18538 }, 50);
18539 }
18540
18541 function languageChanged() {
18542 setTimeout(function() {
18543 setMnemonicLanguage();
18544 if (DOM.phrase.val().length > 0) {
18545 var newPhrase = convertPhraseToNewLanguage();
18546 DOM.phrase.val(newPhrase);
18547 phraseChanged();
18548 }
18549 else {
18550 DOM.generate.trigger("click");
18551 }
18552 }, 50);
18553 }
18554
18555 function toggleIndexes() {
18556 showIndex = !showIndex;
18557 $("td.index span").toggleClass("invisible");
18558 }
18559
18560 function toggleAddresses() {
18561 showAddress = !showAddress;
18562 $("td.address span").toggleClass("invisible");
18563 }
18564
18565 function togglePublicKeys() {
18566 showPubKey = !showPubKey;
18567 $("td.pubkey span").toggleClass("invisible");
18568 }
18569
18570 function togglePrivateKeys() {
18571 showPrivKey = !showPrivKey;
18572 $("td.privkey span").toggleClass("invisible");
18573 }
18574
18575 // Private methods
18576
18577 function generateRandomPhrase() {
18578 if (!hasStrongRandom()) {
18579 var errorText = "This browser does not support strong randomness";
18580 showValidationError(errorText);
18581 return;
18582 }
18abe53b 18583 var numWords = parseInt(DOM.generatedStrength.val());
c6624d51
IC
18584 var strength = numWords / 3 * 32;
18585 var words = mnemonic.generate(strength);
18586 DOM.phrase.val(words);
18587 return words;
18588 }
18589
18590 function calcBip32RootKeyFromSeed(phrase, passphrase) {
18591 seed = mnemonic.toSeed(phrase, passphrase);
18592 bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
18593 }
18594
18595 function calcBip32RootKeyFromBase58(rootKeyBase58) {
18596 bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network);
18597 }
18598
18599 function calcBip32ExtendedKey(path) {
18600 bip32ExtendedKey = bip32RootKey;
18601 // Derive the key from the path
18602 var pathBits = path.split("/");
ebd8d4e8
IC
18603 for (var i=0; i<pathBits.length; i++) {
18604 var bit = pathBits[i];
18605 var index = parseInt(bit);
18606 if (isNaN(index)) {
18607 continue;
18608 }
18609 var hardened = bit[bit.length-1] == "'";
18610 if (hardened) {
18611 bip32ExtendedKey = bip32ExtendedKey.deriveHardened(index);
18612 }
18613 else {
18614 bip32ExtendedKey = bip32ExtendedKey.derive(index);
18615 }
18616 }
18617 }
18618
18619 function showValidationError(errorText) {
18620 DOM.feedback
18621 .text(errorText)
18622 .show();
18623 }
18624
18625 function hideValidationError() {
18626 DOM.feedback
18627 .text("")
18628 .hide();
18629 }
18630
18631 function findPhraseErrors(phrase) {
ebd8d4e8 18632 // Preprocess the words
783981de 18633 phrase = mnemonic.normalizeString(phrase);
0515eeec 18634 var words = phraseToWordArray(phrase);
18abe53b
IC
18635 // Detect blank phrase
18636 if (words.length == 0) {
18637 return "Blank mnemonic";
18638 }
563e401a 18639 // Check each word
0515eeec
IC
18640 for (var i=0; i<words.length; i++) {
18641 var word = words[i];
18642 var language = getLanguage();
18643 if (WORDLISTS[language].indexOf(word) == -1) {
563e401a
IC
18644 console.log("Finding closest match to " + word);
18645 var nearestWord = findNearestWord(word);
18646 return word + " not in wordlist, did you mean " + nearestWord + "?";
18647 }
18648 }
ebd8d4e8 18649 // Check the words are valid
0515eeec 18650 var properPhrase = wordArrayToPhrase(words);
ebd8d4e8
IC
18651 var isValid = mnemonic.check(properPhrase);
18652 if (!isValid) {
18653 return "Invalid mnemonic";
18654 }
18655 return false;
18656 }
18657
efe41586
IC
18658 function validateRootKey(rootKeyBase58) {
18659 try {
18660 bitcoin.HDNode.fromBase58(rootKeyBase58);
18661 }
18662 catch (e) {
18663 return "Invalid root key";
18664 }
18665 return "";
18666 }
18667
38523d36
IC
18668 function getDerivationPath() {
18669 if (DOM.bip44tab.hasClass("active")) {
18670 var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
18671 var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
18672 var account = parseIntNoNaN(DOM.bip44account.val(), 0);
18673 var change = parseIntNoNaN(DOM.bip44change.val(), 0);
18674 var path = "m/";
18675 path += purpose + "'/";
18676 path += coin + "'/";
18677 path += account + "'/";
18678 path += change;
18679 DOM.bip44path.val(path);
18680 var derivationPath = DOM.bip44path.val();
18681 console.log("Using derivation path from BIP44 tab: " + derivationPath);
18682 return derivationPath;
18683 }
18684 else if (DOM.bip32tab.hasClass("active")) {
18685 var derivationPath = DOM.bip32path.val();
18686 console.log("Using derivation path from BIP32 tab: " + derivationPath);
18687 return derivationPath;
18688 }
18689 else {
18690 console.log("Unknown derivation path");
18691 }
18692 }
18693
ebd8d4e8 18694 function findDerivationPathErrors(path) {
30c9e79d
IC
18695 // TODO is not perfect but is better than nothing
18696 // Inspired by
18697 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#test-vectors
18698 // and
18699 // https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#extended-keys
18700 var maxDepth = 255; // TODO verify this!!
18701 var maxIndexValue = Math.pow(2, 31); // TODO verify this!!
18702 if (path[0] != "m") {
18703 return "First character must be 'm'";
18704 }
18705 if (path.length > 1) {
18706 if (path[1] != "/") {
18707 return "Separator must be '/'";
18708 }
18709 var indexes = path.split("/");
18710 if (indexes.length > maxDepth) {
18711 return "Derivation depth is " + indexes.length + ", must be less than " + maxDepth;
18712 }
18713 for (var depth = 1; depth<indexes.length; depth++) {
18714 var index = indexes[depth];
18715 var invalidChars = index.replace(/^[0-9]+'?$/g, "")
18716 if (invalidChars.length > 0) {
18717 return "Invalid characters " + invalidChars + " found at depth " + depth;
18718 }
18719 var indexValue = parseInt(index.replace("'", ""));
18720 if (isNaN(depth)) {
18721 return "Invalid number at depth " + depth;
18722 }
18723 if (indexValue > maxIndexValue) {
18724 return "Value of " + indexValue + " at depth " + depth + " must be less than " + maxIndexValue;
18725 }
18726 }
18727 }
ebd8d4e8
IC
18728 return false;
18729 }
18730
18731 function displayBip32Info() {
18732 // Display the key
73161a92 18733 DOM.seed.val(seed);
ebd8d4e8
IC
18734 var rootKey = bip32RootKey.toBase58();
18735 DOM.rootKey.val(rootKey);
18736 var extendedPrivKey = bip32ExtendedKey.toBase58();
18737 DOM.extendedPrivKey.val(extendedPrivKey);
18738 var extendedPubKey = bip32ExtendedKey.toBase58(false);
18739 DOM.extendedPubKey.val(extendedPubKey);
18740 // Display the addresses and privkeys
18741 clearAddressesList();
18742 displayAddresses(0, 20);
18743 }
18744
18745 function displayAddresses(start, total) {
18746 for (var i=0; i<total; i++) {
80c4dd2a
IC
18747 var index = i + start;
18748 new TableRow(index);
18749 }
18750 }
18751
18752 function TableRow(index) {
18753
1975bfbc
IC
18754 var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
18755
80c4dd2a
IC
18756 function init() {
18757 calculateValues();
18758 }
18759
18760 function calculateValues() {
18761 setTimeout(function() {
1975bfbc
IC
18762 var key = "";
18763 if (useHardenedAddresses) {
18764 key = bip32ExtendedKey.deriveHardened(index);
18765 }
18766 else {
18767 key = bip32ExtendedKey.derive(index);
18768 }
80c4dd2a
IC
18769 var address = key.getAddress().toString();
18770 var privkey = key.privKey.toWIF(network);
1b12b2f5 18771 var pubkey = key.pubKey.toHex();
38523d36 18772 var indexText = getDerivationPath() + "/" + index;
1975bfbc
IC
18773 if (useHardenedAddresses) {
18774 indexText = indexText + "'";
18775 }
1b12b2f5 18776 addAddressToList(indexText, address, pubkey, privkey);
80c4dd2a 18777 }, 50)
ebd8d4e8 18778 }
80c4dd2a
IC
18779
18780 init();
18781
ebd8d4e8
IC
18782 }
18783
18784 function showMore() {
18785 var start = DOM.addresses.children().length;
18786 var rowsToAdd = parseInt(DOM.rowsToAdd.val());
18787 if (isNaN(rowsToAdd)) {
18788 rowsToAdd = 20;
18789 DOM.rowsToAdd.val("20");
18790 }
18791 if (rowsToAdd > 200) {
18792 var msg = "Generating " + rowsToAdd + " rows could take a while. ";
18793 msg += "Do you want to continue?";
18794 if (!confirm(msg)) {
18795 return;
18796 }
18797 }
ebd8d4e8 18798 displayAddresses(start, rowsToAdd);
ebd8d4e8
IC
18799 }
18800
18801 function clearDisplay() {
18802 clearAddressesList();
18803 clearKey();
18804 hideValidationError();
18805 }
18806
18807 function clearAddressesList() {
18808 DOM.addresses.empty();
18809 }
18810
18811 function clearKey() {
18812 DOM.rootKey.val("");
18813 DOM.extendedPrivKey.val("");
18814 DOM.extendedPubKey.val("");
18815 }
18816
1b12b2f5 18817 function addAddressToList(indexText, address, pubkey, privkey) {
ebd8d4e8 18818 var row = $(addressRowTemplate.html());
80c4dd2a
IC
18819 // Elements
18820 var indexCell = row.find(".index span");
18821 var addressCell = row.find(".address span");
1b12b2f5 18822 var pubkeyCell = row.find(".pubkey span");
80c4dd2a
IC
18823 var privkeyCell = row.find(".privkey span");
18824 // Content
ae30fed8 18825 indexCell.text(indexText);
80c4dd2a 18826 addressCell.text(address);
1b12b2f5 18827 pubkeyCell.text(pubkey);
80c4dd2a
IC
18828 privkeyCell.text(privkey);
18829 // Visibility
18830 if (!showIndex) {
18831 indexCell.addClass("invisible");
18832 }
18833 if (!showAddress) {
18834 addressCell.addClass("invisible");
18835 }
1b12b2f5
IC
18836 if (!showPubKey) {
18837 pubkeyCell.addClass("invisible");
18838 }
80c4dd2a 18839 if (!showPrivKey) {
6d628db7 18840 privkeyCell.addClass("invisible");
80c4dd2a 18841 }
ebd8d4e8
IC
18842 DOM.addresses.append(row);
18843 }
18844
18845 function hasStrongRandom() {
18846 return 'crypto' in window && window['crypto'] !== null;
18847 }
18848
18849 function disableForms() {
18850 $("form").on("submit", function(e) {
18851 e.preventDefault();
18852 });
18853 }
18854
ebd8d4e8
IC
18855 function parseIntNoNaN(val, defaultVal) {
18856 var v = parseInt(val);
18857 if (isNaN(v)) {
18858 return defaultVal;
18859 }
18860 return v;
18861 }
18862
18863 function showPending() {
18864 DOM.feedback
18865 .text("Calculating...")
18866 .show();
18867 }
18868
563e401a 18869 function findNearestWord(word) {
0515eeec
IC
18870 var language = getLanguage();
18871 var words = WORDLISTS[language];
563e401a
IC
18872 var minDistance = 99;
18873 var closestWord = words[0];
18874 for (var i=0; i<words.length; i++) {
18875 var comparedTo = words[i];
18876 var distance = Levenshtein.get(word, comparedTo);
18877 if (distance < minDistance) {
18878 closestWord = comparedTo;
18879 minDistance = distance;
18880 }
18881 }
18882 return closestWord;
18883 }
18884
ebd8d4e8
IC
18885 function hidePending() {
18886 DOM.feedback
18887 .text("")
18888 .hide();
18889 }
18890
ab78acc6
IC
18891 function populateNetworkSelect() {
18892 for (var i=0; i<networks.length; i++) {
18893 var network = networks[i];
18894 var option = $("<option>");
18895 option.attr("value", i);
18896 option.text(network.name);
18897 DOM.phraseNetwork.append(option);
18898 }
18899 }
18900
0515eeec
IC
18901 function getLanguage() {
18902 var defaultLanguage = "english";
18903 // Try to get from existing phrase
18904 var language = getLanguageFromPhrase();
18905 // Try to get from url if not from phrase
18906 if (language.length == 0) {
18907 language = getLanguageFromUrl();
18908 }
18909 // Default to English if no other option
18910 if (language.length == 0) {
18911 language = defaultLanguage;
18912 }
18913 return language;
18914 }
18915
18916 function getLanguageFromPhrase(phrase) {
18917 // Check if how many words from existing phrase match a language.
18918 var language = "";
18919 if (!phrase) {
18920 phrase = DOM.phrase.val();
18921 }
18922 if (phrase.length > 0) {
18923 var words = phraseToWordArray(phrase);
18924 var languageMatches = {};
18925 for (l in WORDLISTS) {
18926 // Track how many words match in this language
18927 languageMatches[l] = 0;
18928 for (var i=0; i<words.length; i++) {
18929 var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
18930 if (wordInLanguage) {
18931 languageMatches[l]++;
18932 }
18933 }
18934 // Find languages with most word matches.
18935 // This is made difficult due to commonalities between Chinese
18936 // simplified vs traditional.
18937 var mostMatches = 0;
18938 var mostMatchedLanguages = [];
18939 for (var l in languageMatches) {
18940 var numMatches = languageMatches[l];
18941 if (numMatches > mostMatches) {
18942 mostMatches = numMatches;
18943 mostMatchedLanguages = [l];
18944 }
18945 else if (numMatches == mostMatches) {
18946 mostMatchedLanguages.push(l);
18947 }
18948 }
18949 }
18950 if (mostMatchedLanguages.length > 0) {
18951 // Use first language and warn if multiple detected
18952 language = mostMatchedLanguages[0];
18953 if (mostMatchedLanguages.length > 1) {
18954 console.warn("Multiple possible languages");
18955 console.warn(mostMatchedLanguages);
18956 }
18957 }
18958 }
18959 return language;
18960 }
18961
18962 function getLanguageFromUrl() {
c6624d51
IC
18963 for (var language in WORDLISTS) {
18964 if (window.location.hash.indexOf(language) > -1) {
18965 return language;
18966 }
18967 }
18968 return "";
0515eeec
IC
18969 }
18970
18971 function setMnemonicLanguage() {
18972 var language = getLanguage();
18973 // Load the bip39 mnemonic generator for this language if required
18974 if (!(language in mnemonics)) {
18975 mnemonics[language] = new Mnemonic(language);
18976 }
18977 mnemonic = mnemonics[language];
18978 }
18979
18980 function convertPhraseToNewLanguage() {
18981 var oldLanguage = getLanguageFromPhrase();
18982 var newLanguage = getLanguageFromUrl();
18983 var oldPhrase = DOM.phrase.val();
18984 var oldWords = phraseToWordArray(oldPhrase);
18985 var newWords = [];
18986 for (var i=0; i<oldWords.length; i++) {
18987 var oldWord = oldWords[i];
18988 var index = WORDLISTS[oldLanguage].indexOf(oldWord);
18989 var newWord = WORDLISTS[newLanguage][index];
18990 newWords.push(newWord);
18991 }
18992 newPhrase = wordArrayToPhrase(newWords);
18993 return newPhrase;
18994 }
18995
18996 // TODO look at jsbip39 - mnemonic.splitWords
18997 function phraseToWordArray(phrase) {
18998 var words = phrase.split(/\s/g);
18999 var noBlanks = [];
19000 for (var i=0; i<words.length; i++) {
19001 var word = words[i];
19002 if (word.length > 0) {
19003 noBlanks.push(word);
19004 }
19005 }
19006 return noBlanks;
19007 }
19008
19009 // TODO look at jsbip39 - mnemonic.joinWords
19010 function wordArrayToPhrase(words) {
19011 var phrase = words.join(" ");
19012 var language = getLanguageFromPhrase(phrase);
19013 if (language == "japanese") {
19014 phrase = words.join("\u3000");
19015 }
19016 return phrase;
19017 }
19018
c6624d51
IC
19019 function isUsingOwnEntropy() {
19020 return DOM.useEntropy.prop("checked");
19021 }
19022
19023 function setMnemonicFromEntropy() {
2a6dd137 19024 clearEntropyFeedback();
18abe53b 19025 // Get entropy value
c6624d51 19026 var entropyStr = DOM.entropy.val();
18abe53b 19027 // Work out minimum base for entropy
c6624d51 19028 var entropy = Entropy.fromString(entropyStr);
18abe53b 19029 if (entropy.binaryStr.length == 0) {
c6624d51
IC
19030 return;
19031 }
19032 // Show entropy details
18abe53b
IC
19033 showEntropyFeedback(entropy);
19034 // Use entropy hash if not using raw entropy
19035 var bits = entropy.binaryStr;
19036 var mnemonicLength = DOM.entropyMnemonicLength.val();
19037 if (mnemonicLength != "raw") {
19038 // Get bits by hashing entropy with SHA256
19039 var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
19040 var hex = sjcl.codec.hex.fromBits(hash);
19041 bits = BigInteger.parse(hex, 16).toString(2);
19042 for (var i=0; i<256-bits.length; i++) {
19043 bits = "0" + bits;
19044 }
19045 // Truncate hash to suit number of words
19046 mnemonicLength = parseInt(mnemonicLength);
19047 var numberOfBits = 32 * mnemonicLength / 3;
19048 bits = bits.substring(0, numberOfBits);
c6624d51 19049 }
c6624d51 19050 // Discard trailing entropy
18abe53b 19051 var bitsToUse = Math.floor(bits.length / 32) * 32;
2a6dd137
IC
19052 var start = bits.length - bitsToUse;
19053 var binaryStr = bits.substring(start);
c6624d51
IC
19054 // Convert entropy string to numeric array
19055 var entropyArr = [];
18abe53b
IC
19056 for (var i=0; i<binaryStr.length / 8; i++) {
19057 var byteAsBits = binaryStr.substring(i*8, i*8+8);
19058 var entropyByte = parseInt(byteAsBits, 2);
c6624d51
IC
19059 entropyArr.push(entropyByte)
19060 }
19061 // Convert entropy array to mnemonic
19062 var phrase = mnemonic.toMnemonic(entropyArr);
19063 // Set the mnemonic in the UI
19064 DOM.phrase.val(phrase);
19065 }
19066
2a6dd137
IC
19067 function clearEntropyFeedback() {
19068 DOM.entropyStrength.text("...");
18abe53b 19069 DOM.entropyType.text("");
2a6dd137
IC
19070 DOM.entropyWordCount.text("0");
19071 DOM.entropyEventCount.text("0");
19072 DOM.entropyBitsPerEvent.text("0");
19073 DOM.entropyBits.text("0");
19074 DOM.entropyFiltered.html("&nbsp;");
19075 DOM.entropyBinary.html("&nbsp;");
c6624d51
IC
19076 }
19077
18abe53b 19078 function showEntropyFeedback(entropy) {
9e97eb76 19079 var numberOfBits = entropy.binaryStr.length;
18abe53b 19080 var strength = "extremely weak";
9e97eb76 19081 if (numberOfBits >= 64) {
18abe53b
IC
19082 strength = "very weak";
19083 }
9e97eb76 19084 if (numberOfBits >= 96) {
18abe53b
IC
19085 strength = "weak";
19086 }
9e97eb76 19087 if (numberOfBits >= 128) {
18abe53b
IC
19088 strength = "strong";
19089 }
9e97eb76 19090 if (numberOfBits >= 160) {
18abe53b
IC
19091 strength = "very strong";
19092 }
9e97eb76 19093 if (numberOfBits >= 192) {
18abe53b
IC
19094 strength = "extremely strong";
19095 }
19096 // If time to crack is less than one day, and password is considered
19097 // strong or better based on the number of bits, rename strength to
19098 // 'easily cracked'.
95f04905
IC
19099 try {
19100 var z = zxcvbn(entropy.base.parts.join(""));
19101 var timeToCrack = z.crack_times_seconds.offline_fast_hashing_1e10_per_second;
19102 if (timeToCrack < 86400 && entropy.binaryStr.length >= 128) {
19103 strength = "easily cracked";
19104 if (z.feedback.warning != "") {
19105 strength = strength + " - " + z.feedback.warning;
19106 };
19107 }
18abe53b 19108 }
95f04905
IC
19109 catch (e) {
19110 strength = "unknown";
19111 console.log("Error detecting entropy strength with zxcvbn:");
19112 console.log(e);
19113 }
95f04905 19114 var entropyTypeStr = getEntropyTypeStr(entropy);
9e97eb76
IC
19115 var wordCount = Math.floor(numberOfBits / 32) * 3;
19116 var bitsPerEvent = Math.log2(entropy.base.asInt).toFixed(2);
19117 if (entropy.base.asInt == 52) {
19118 bitsPerEvent = bitsPerEvent + " (or less)";
19119 }
2a6dd137 19120 DOM.entropyFiltered.html(entropy.cleanHtml);
95f04905 19121 DOM.entropyType.text(entropyTypeStr);
18abe53b
IC
19122 DOM.entropyStrength.text(strength);
19123 DOM.entropyEventCount.text(entropy.base.ints.length);
9e97eb76 19124 DOM.entropyBits.text(numberOfBits);
2a6dd137
IC
19125 DOM.entropyWordCount.text(wordCount);
19126 DOM.entropyBinary.text(entropy.binaryStr);
9e97eb76 19127 DOM.entropyBitsPerEvent.text(bitsPerEvent);
95f04905
IC
19128 }
19129
19130 function getEntropyTypeStr(entropy) {
19131 var typeStr = entropy.base.str;
19132 // Add some detail if these are cards
19133 if (entropy.base.asInt == 52) {
19134 var cardDetail = []; // array of message strings
19135 // Detect duplicates
19136 var dupes = [];
19137 var dupeTracker = {};
19138 for (var i=0; i<entropy.base.parts.length; i++) {
19139 var card = entropy.base.parts[i];
9e97eb76
IC
19140 var cardUpper = card.toUpperCase();
19141 if (cardUpper in dupeTracker) {
95f04905
IC
19142 dupes.push(card);
19143 }
9e97eb76 19144 dupeTracker[cardUpper] = true;
95f04905
IC
19145 }
19146 if (dupes.length > 0) {
19147 var dupeWord = "duplicates";
19148 if (dupes.length == 1) {
19149 dupeWord = "duplicate";
19150 }
19151 var msg = dupes.length + " " + dupeWord + ": " + dupes.slice(0,3).join(" ");
19152 if (dupes.length > 3) {
19153 msg += "...";
19154 }
19155 cardDetail.push(msg);
19156 }
19157 // Detect full deck
19158 var uniqueCards = [];
19159 for (var uniqueCard in dupeTracker) {
19160 uniqueCards.push(uniqueCard);
19161 }
19162 if (uniqueCards.length == 52) {
19163 cardDetail.unshift("full deck");
19164 }
9e97eb76
IC
19165 // Detect missing cards
19166 var values = "A23456789TJQK";
19167 var suits = "CDHS";
19168 var missingCards = [];
19169 for (var i=0; i<suits.length; i++) {
19170 for (var j=0; j<values.length; j++) {
19171 var card = values[j] + suits[i];
19172 if (!(card in dupeTracker)) {
19173 missingCards.push(card);
19174 }
19175 }
19176 }
19177 // Display missing cards if six or less, ie clearly going for full deck
19178 if (missingCards.length > 0 && missingCards.length <= 6) {
19179 var msg = missingCards.length + " missing: " + missingCards.slice(0,3).join(" ");
19180 if (missingCards.length > 3) {
19181 msg += "...";
19182 }
19183 cardDetail.push(msg);
19184 }
95f04905
IC
19185 // Add card details to typeStr
19186 if (cardDetail.length > 0) {
19187 typeStr += " (" + cardDetail.join(", ") + ")";
19188 }
19189 }
19190 return typeStr;
19191 }
19192
ab78acc6
IC
19193 var networks = [
19194 {
19195 name: "Bitcoin",
19196 onSelect: function() {
19197 network = bitcoin.networks.bitcoin;
19198 DOM.bip44coin.val(0);
ab78acc6
IC
19199 },
19200 },
19201 {
19202 name: "Bitcoin Testnet",
19203 onSelect: function() {
19204 network = bitcoin.networks.testnet;
19205 DOM.bip44coin.val(1);
ab78acc6
IC
19206 },
19207 },
19208 {
19209 name: "Litecoin",
19210 onSelect: function() {
19211 network = bitcoin.networks.litecoin;
19212 DOM.bip44coin.val(2);
19213 },
19214 },
19215 {
19216 name: "Dogecoin",
19217 onSelect: function() {
19218 network = bitcoin.networks.dogecoin;
19219 DOM.bip44coin.val(3);
19220 },
19221 },
d5dc92fd
IC
19222 {
19223 name: "ShadowCash",
19224 onSelect: function() {
19225 network = bitcoin.networks.shadow;
19226 DOM.bip44coin.val(35);
19227 },
19228 },
19229 {
19230 name: "ShadowCash Testnet",
19231 onSelect: function() {
19232 network = bitcoin.networks.shadowtn;
19233 DOM.bip44coin.val(1);
19234 },
19235 },
a3baa26e
IC
19236 {
19237 name: "Viacoin",
19238 onSelect: function() {
19239 network = bitcoin.networks.viacoin;
19240 DOM.bip44coin.val(14);
19241 },
19242 },
19243 {
19244 name: "Viacoin Testnet",
19245 onSelect: function() {
19246 network = bitcoin.networks.viacointestnet;
19247 DOM.bip44coin.val(1);
19248 },
19249 },
19250 {
19251 name: "Jumbucks",
19252 onSelect: function() {
19253 network = bitcoin.networks.jumbucks;
19254 DOM.bip44coin.val(26);
19255 },
19256 },
5c434a8a
CM
19257 {
19258 name: "CLAM",
19259 onSelect: function() {
19260 network = bitcoin.networks.clam;
19261 DOM.bip44coin.val(23);
19262 },
19263 },
5493efc3 19264 {
19265 name: "DASH",
19266 onSelect: function() {
19267 network = bitcoin.networks.dash;
19268 DOM.bip44coin.val(5);
19269 },
19270 },
07ac4350 19271 {
19272 name: "Namecoin",
19273 onSelect: function() {
19274 network = bitcoin.networks.namecoin;
19275 DOM.bip44coin.val(7);
19276 },
19277 },
19278 {
19279 name: "Peercoin",
19280 onSelect: function() {
19281 network = bitcoin.networks.peercoin;
19282 DOM.bip44coin.val(6);
19283 },
19284 },
ab78acc6
IC
19285 ]
19286
ebd8d4e8
IC
19287 init();
19288
19289})();
dc55c6b0 19290</script>
ebd8d4e8
IC
19291 </body>
19292</html>