tag:blogger.com,1999:blog-24462782135965736052024-03-08T01:03:13.414-08:00IT Yummy!Java and IT news, overviews, goodies...
Interesting bookmarks...Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.comBlogger33125tag:blogger.com,1999:blog-2446278213596573605.post-81296411542137430022010-02-08T04:33:00.001-08:002010-02-08T04:33:42.799-08:0010x Performance Improvements - A Case StudyCheck out this SlideShare Presentation: <div style="width:425px;text-align:left" id="__ss_3095694"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ronaldbradford/10x-performance-improvements-a-case-study" title="10x Performance Improvements - A Case Study">10x Performance Improvements - A Case Study</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=10x-improvement-100207072450-phpapp02&stripped_title=10x-performance-improvements-a-case-study" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=10x-improvement-100207072450-phpapp02&stripped_title=10x-performance-improvements-a-case-study" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ronaldbradford">Ronald Bradford</a>.</div></div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-16361508820468311982010-01-27T07:07:00.000-08:002010-01-27T07:07:41.795-08:00Iterative vs. Incremental DevelopmentDo you know what is the difference? If no, you can read <a href="http://jeffsutherland.com/scrum/2010/01/iterative-vs-incremental-development.html">here...</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-33766932060954903202010-01-27T06:48:00.000-08:002010-01-27T06:48:38.329-08:00Designing applications for cloud deploymentGojko Adzic <a href="http://gojko.net/2010/01/25/designing-applications-for-cloud-deployment/">writes about his experience with could</a>.Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-49220137354002231872010-01-26T06:02:00.000-08:002010-01-26T06:03:49.258-08:00Sexy Buttons<span style="font-family: arial, sans-serif; font-size: 13px;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=4922013735400223187" name="Sexy_Buttons"></a></span><br />
<a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=4922013735400223187" name="Sexy_Buttons"></a><br />
<div style="max-width: 65em;"><a href="http://code.google.com/p/sexybuttons/" name="Sexy_Buttons" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img height="118" src="http://i45.tinypic.com/bgxo2w.jpg" width="200" /></a><a href="http://code.google.com/p/sexybuttons/">Sexy Buttons</a> is a HTML/CSS-based framework for creating beautiful web site buttons. These stylish, attention getting buttons can be used for calls to action wherever user interaction is desired. Compare Sexy Buttons with the standard browser buttons:<br />
</div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com2tag:blogger.com,1999:blog-2446278213596573605.post-56584258949362325712010-01-22T04:04:00.000-08:002010-01-22T04:04:31.472-08:00dm Server project moves to Eclipse.orgSpringSource has submitted proposal at Eclipse.org to continue development of the dm Server as part of the Eclipse community. It seems like VMWare doesn't want to invest money in the server.Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com0tag:blogger.com,1999:blog-2446278213596573605.post-68221033346184786962010-01-22T03:52:00.001-08:002010-01-22T03:52:48.083-08:00Managing Hierarchical Data in MySQLThe idea as simple as doors... :)<br />
<img alt="Numbered Tree" height="206" src="http://www.vbmysql.com/wp-content/uploads/numbered_tree.png" width="400" /><br />
<a href="http://www.vbmysql.com/articles/database-design/managing-hierarchical-data-in-mysql">More...</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-45422550914924825812010-01-19T07:25:00.000-08:002010-01-19T07:25:30.830-08:00How This Web Site Uses MongoDB<a href="http://www.businessinsider.com/how-we-use-mongodb-2009-11">Overview of the MonoDB major features...</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-41300889394441214052010-01-19T03:57:00.000-08:002010-01-19T03:57:42.963-08:00Embedding and Initializing Databases in Spring 3.0Spring 3 has support of embedded databases that could be initialized with SQL scripts. <a href="http://www.jroller.com/eyallupu/entry/embedding_and_initializing_database_in">More...</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-57840386557352349942010-01-19T01:59:00.000-08:002010-01-19T01:59:16.158-08:00Top 10 Free Website Speed Testing Tools<div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: right;"><img src="http://creativefan.com/files/2009/12/speed.jpg" /><br />
</div><br />
Website speed is a major part of optimizing your websites for users and search engines. The faster your website loads, the less the users have to wait, which will reduce your site’s bounce rate. If your website loads slower, most users will not wait, and will instead look for content on other sites.<br />
<br />
From the search engine point of view, website speed has a significant impact on your rankings as well. If your site has valid markup and a good loading time, it will definitely get higher placement then slower sites. For this purpose, this post features a number of free online website speed testing tools, which can give you an overview and recommendations on how you can make your site load faster.<br />
<a href="http://creativefan.com/top-10-free-website-speed-testing-tools/">More...</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-61284040607703644832010-01-11T08:36:00.000-08:002010-01-11T08:36:28.427-08:00Google Collections Library<a href="http://publicobject.com/2007/09/series-recap-coding-in-small-with.html">Several snippets</a> that highlight the carefully designed <a href="http://code.google.com/p/google-collections/">Google Collections Library</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com0tag:blogger.com,1999:blog-2446278213596573605.post-52081766822478815792010-01-11T08:33:00.000-08:002010-01-11T08:33:50.756-08:00Browser Size: a tool to see how others view your websiteIt is vitally important to have page layout that shows common controls and information to the most users without any scrolling. <a href="http://googleblog.blogspot.com/2009/12/browser-size-tool-to-see-how-others.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+blogspot/MKuf+(Official+Google+Blog)&utm_content=Google+Reader">Google guys provide a tool for it...</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com0tag:blogger.com,1999:blog-2446278213596573605.post-74348756181047694152010-01-11T08:27:00.000-08:002010-01-11T08:27:05.983-08:00Spring Roo 1.0.0 Released<a href="http://blog.springsource.com/2009/12/31/spring-roo-1-0-0-released/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+Interface21TeamBlog+(SpringSource+Team+Blog)&utm_content=Google+Reader">Spring Roo 1.0.0 Released</a><br />
<br />
I'm going to take a look at it shortly...Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com0tag:blogger.com,1999:blog-2446278213596573605.post-49542987469580763232010-01-11T08:22:00.000-08:002010-01-11T08:25:10.717-08:00Google: Designs, Lessons and Advice from Building Large Distributed SystemsGreat presentation by Jeff Dean:<br />
<br />
<span style="color: #676767; font-family: Arial, sans-serif; font-size: 13px; font-weight: bold;"><iframe height="500" src="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.cs.cornell.edu%2Fprojects%2Fladis2009%2Ftalks%2Fdean-keynote-ladis2009.pdf&embedded=true" style="border: none;" width="400"></iframe></span>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com0tag:blogger.com,1999:blog-2446278213596573605.post-761652086206945522009-12-11T07:16:00.000-08:002009-12-11T07:16:58.279-08:00How to Distinguish a User-Aborted AJAX Call from an ErrorCopied from: <a href="http://bmorearty.wordpress.com/2009/11/30/how-to-distinguish-a-user-aborted-ajax-call-from-an-error/">How to Distinguish a User-Aborted AJAX Call from an Error .</a><br />
<br />
<span class="Apple-style-span" style="color: #333333; font-family: 'Lucida Grande', Verdana, Arial, sans-serif; font-size: 12px; line-height: 16px;"></span><br />
<div style="font-size: 1.05em;">Let’s say you’re writing a LOLcats app and you want to be all user-friendly and show an adorable little kitty-cat error message whenever an AJAX call fails. So you write an error handler using your favorite cross-browser library (mine is jQuery), something like this:<br />
</div><div class="syntaxhighlighter " id="highlighter_777876" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-color: rgb(224, 224, 224) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-color: initial !important; border-left-color: rgb(224, 224, 224) !important; border-left-style: solid !important; border-left-width: 1px !important; border-right-color: rgb(224, 224, 224) !important; border-right-style: solid !important; border-right-width: 1px !important; border-style: initial !important; border-top-color: rgb(224, 224, 224) !important; border-top-style: solid !important; border-top-width: 1px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 445px;"><div class="lines" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">1</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$.ajax( { url: </code><code class="string" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: blue !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"someUrl"</code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">, success: </code><code class="keyword" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: bold !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">function</code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">() {</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">2</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">// do something impressive with the results</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">3</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}, error: </code><code class="keyword" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: bold !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">function</code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">() {</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">4</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">showError(</code><code class="string" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: blue !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Ohs noes. Tell me when you fix your AJAX."</code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">5</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">} } );</code></td></tr>
</tbody></table></div></div></div><div style="font-size: 1.05em;">But you start using your app and you notice that your error message also appears when you navigate away from the page before an AJAX call has finished, or when you hit Escape to cancel the AJAX call. That kind of sucks—it looks ugly to have the error message appear when there really was no error.<br />
</div><div style="font-size: 1.05em;">I did a little looking around and found what looks like a cross-browser-friendly way to tell if an error really occurred or if something else happened, like the user navigating away or hitting Escape.<br />
</div><div style="font-size: 1.05em;">The trick is to check the response headers in the XMLHttpRequest object. If there are no response headers (null or empty string, depending on the browser), the server did not respond yet. That means the user aborted.<br />
</div><div style="font-size: 1.05em;">Here’s a function that takes an XMLHttpRequest and tells you if the user aborted it.<br />
</div><div class="syntaxhighlighter " id="highlighter_853840" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-color: rgb(224, 224, 224) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-color: initial !important; border-left-color: rgb(224, 224, 224) !important; border-left-style: solid !important; border-left-width: 1px !important; border-right-color: rgb(224, 224, 224) !important; border-right-style: solid !important; border-right-width: 1px !important; border-style: initial !important; border-top-color: rgb(224, 224, 224) !important; border-top-style: solid !important; border-top-width: 1px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 445px;"><div class="lines" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">01</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">/**</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">02</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">* Returns true if the user hit Esc or navigated away from the</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">03</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">* current page before an AJAX call was done. (The response</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">04</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">* headers will be null or empty, depending on the browser.)</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">05</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">*</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">06</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">* NOTE: this function is only meaningful when called from</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">07</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">* inside an AJAX "error" callback!</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">08</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">*</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">09</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">* The 'xhr' param is an XMLHttpRequest instance.</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">10</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">*/</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">11</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="keyword" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: bold !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">function</code> <code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">userAborted(xhr) {</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">12</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="keyword" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: bold !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">return</code> <code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">!xhr.getAllResponseHeaders();</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">13</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></td></tr>
</tbody></table></div></div></div><div style="font-size: 1.05em;">And here is the updated application code to call this new function. You can easily adapt this to another JavaScript library than jQuery:<br />
</div><div class="syntaxhighlighter " id="highlighter_468183" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-color: rgb(224, 224, 224) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-color: initial !important; border-left-color: rgb(224, 224, 224) !important; border-left-style: solid !important; border-left-width: 1px !important; border-right-color: rgb(224, 224, 224) !important; border-right-style: solid !important; border-right-width: 1px !important; border-style: initial !important; border-top-color: rgb(224, 224, 224) !important; border-top-style: solid !important; border-top-width: 1px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 1em !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 1em !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: relative !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: 445px;"><div class="lines" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">1</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">$.ajax( { url: </code><code class="string" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: blue !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"someUrl"</code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">, success: </code><code class="keyword" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: bold !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">function</code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">() {</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">2</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="comments" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 130, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">// do something impressive with the results</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">3</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}, error: </code><code class="keyword" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: bold !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">function</code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(xhr, textStatus, errorThrown) {</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">4</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="keyword" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 102, 153) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: bold !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">if</code> <code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(!userAborted(xhr)) {</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">5</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">showError(</code><code class="string" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: blue !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Ohs noes. Tell me when you fix your AJAX."</code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></td></tr>
</tbody></table></div><div class="line alt2" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(248, 248, 248) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">6</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="spaces" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></td></tr>
</tbody></table></div><div class="line alt1" style="background-attachment: initial !important; background-clip: initial !important; background-color: rgb(255, 255, 255) !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><table style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-collapse: collapse !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><tbody style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="number" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(175, 175, 175) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: 3em !important;"><code style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; direction: ltr !important; display: block !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0.3em !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; width: 2.7em !important;">7</code></td><td class="content" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-color: rgb(204, 204, 204) !important; border-left-style: solid !important; border-left-width: 3px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0.5em !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: top !important; width: auto !important;"><code class="plain" style="background-attachment: initial !important; background-clip: initial !important; background-color: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial initial !important; background-repeat: initial initial !important; border-bottom-width: 0px !important; border-color: initial !important; border-left-width: 0px !important; border-right-width: 0px !important; border-style: initial !important; border-top-width: 0px !important; bottom: auto !important; color: rgb(0, 0, 0) !important; direction: ltr !important; display: inline !important; float: none !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 11px !important; font-style: normal !important; font-weight: normal !important; font: normal normal normal 1.1em/normal 'Courier New', Courier, Fixed; height: auto !important; left: auto !important; line-height: 1.3em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 0px !important; min-height: inherit !important; outline-color: initial !important; outline-style: initial !important; outline-width: 0px !important; padding-bottom: 0px !important; padding-left: 0px !important; padding-right: 0px !important; padding-top: 0px !important; position: static !important; right: auto !important; text-align: left !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">} } );</code></td></tr>
</tbody></table></div></div></div><div style="font-size: 1.05em;">Oh, did that “textStatus” and “errorThrown” catch your eye? I already looked at those. You can’t use them to tell if the user aborted. They return the same values whether the user aborted or the server returned with an error. (I only tested a 500 error.)<br />
</div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-30576743138871772452009-12-10T01:02:00.001-08:002009-12-10T01:03:33.048-08:00New Spring Extension Project: Spring SurfSpring has announced new extension project which will help in the development of the web applications.<br />
<div><br />
<span style="font-family: Tahoma, Verdana, Arial, Helvetica, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 17px;"><a href="http://www.springsource.org/extensions/se-surf">Spring Surf</a> is a view composition framework for Spring MVC that plugs into your existing Spring applications. It provides a scriptable and content-centric approach to building web applications.</span><br />
<div><span style="font-family: Tahoma, Verdana, Arial, Helvetica, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 17px;"></span><br />
<span style="font-family: Tahoma, Verdana, Arial, Helvetica, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 17px;"><div style="margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em;">You can drop Spring Surf right into your existing Spring web applications or you can begin building new Spring Surf applications using SpringSource Tool Suite or Spring Roo's command-line magic.<br />
</div><div style="margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em;">Spring Surf provides several useful modules for developers, including the following:<br />
</div><ul style="list-style-type: disc; margin-bottom: 1em; margin-left: 0px; margin-right: 0px; margin-top: 1em; padding-left: 2em;"><li style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><em>Surf</em> - A scriptable, content-oriented framework for defining pages, templates, components and layout of a web application</li>
<li style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><em>Web Scripts</em> - A scriptable, content-oriented framework for building remote REST interfaces</li>
<li style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><em>Web Studio</em> - A visual design environment for drag-and-drop assembly of Surf pages, layouts and components</li>
<li style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><em>Sample Sites</em> - Spring 3.0 PetClinic and Spring 3.0 Spring Travel sample sites (built and delivered using Surf)</li>
<li style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><em>Spring Roo Add-on</em> - A command-driven installation and generation of Surf scripts and configuration for either new or existing Spring projects</li>
<li style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><em>SpringSource Tool Suite Plugin</em> - Wizards and additional template types for Spring Surf projects</li>
<li style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"><em>PHP and Groovy scripting for Spring Web Applications</em> - Mix and match technologies as required to quickly assemble and delivery your Spring MVC web application</li>
</ul></span><br />
</div></div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-70191813457610988142009-12-10T01:01:00.000-08:002010-01-11T08:28:39.311-08:00New Spring Extension Project: Spring Surf<div><span class="Apple-style-span" style="font-family: Tahoma, Verdana, Arial, Helvetica, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 17px; "><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; ">Spring has announced new extension project.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "><span class="Apple-style-span" style="font-family: Georgia, serif; line-height: normal; font-size: 16px; "><a href="http://www.springsource.org/extensions/se-surf">Spring Surf</a></span> is a view composition framework for Spring MVC that plugs into your existing Spring applications. It provides a scriptable and content-centric approach to building web applications.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; ">You can drop Spring Surf right into your existing Spring web applications or you can begin building new Spring Surf applications using SpringSource Tool Suite or Spring Roo's command-line magic.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; ">Spring Surf provides several useful modules for developers, including the following:</p><ul style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-left: 2em; list-style-type: disc; "><li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><em>Surf</em> - A scriptable, content-oriented framework for defining pages, templates, components and layout of a web application</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><em>Web Scripts</em> - A scriptable, content-oriented framework for building remote REST interfaces</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><em>Web Studio</em> - A visual design environment for drag-and-drop assembly of Surf pages, layouts and components</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><em>Sample Sites</em> - Spring 3.0 PetClinic and Spring 3.0 Spring Travel sample sites (built and delivered using Surf)</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><em>Spring Roo Add-on</em> - A command-driven installation and generation of Surf scripts and configuration for either new or existing Spring projects</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><em>SpringSource Tool Suite Plugin</em> - Wizards and additional template types for Spring Surf projects</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><em>PHP and Groovy scripting for Spring Web Applications</em> - Mix and match technologies as required to quickly assemble and delivery your Spring MVC web application</li>
</ul></span></div><div><br />
</div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com0tag:blogger.com,1999:blog-2446278213596573605.post-22839589432031923712009-12-07T04:52:00.000-08:002009-12-07T04:52:27.665-08:00Improving testing practices at GoogleVery interesting post, which describes Automated Testing in Google <a href="http://gojko.net/2009/12/07/improving-testing-practices-at-google/">...</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-91697503317696903472009-12-01T08:05:00.000-08:002009-12-01T08:06:09.915-08:00Announcing the Winners of ADC 2<span style="color: #333333; font-family: arial, sans-serif; font-size: 13px; line-height: 16px;"><a href="http://code.google.com/android/adc/gallery_winners.html" style="color: #006699;">ADC 2 winners gallery</a></span><br />
<span class="Apple-style-span" style="clear: right; float: right; font-size: 13px; line-height: 16px; margin-bottom: 1em; margin-left: 1em;"><img src="http://t0.gstatic.com/images?q=tbn:zjeMZCmlr3fFgM:http://scherle.com/wp-content/uploads/2009/03/500px-android-logosvg.png" /></span><span style="color: #333333; font-family: arial, sans-serif; font-size: small;"></span>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com0tag:blogger.com,1999:blog-2446278213596573605.post-78784841631493313342009-11-30T23:27:00.000-08:002009-11-30T23:29:55.334-08:00Hibernate Interview Questions<a href="http://javaj2eeplanet.blogspot.com/2009/07/hibernate-interview-questions.html">Source...</a><br />
<div><br />
</div><div><span style="color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px;"></span><br />
<span style="color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px;"><div dir="ltr"><span style="color: black;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><strong>Q. How will you configure Hibernate?<br />
<br />
Answer: </strong><br />
<br />
The configuration files hibernate.cfg.xml (or hibernate.properties) and mapping files *.hbm.xml are used by the Configuration class to create (i.e. configure and bootstrap hibernate) the SessionFactory, which in turn creates the Session instances. Session instances are the primary interface for the persistence service.<br />
<br />
" hibernate.cfg.xml (alternatively can use hibernate.properties): These two files are used to configure the hibernate sevice (connection driver class, connection URL, connection username, connection password, dialect etc). If both files are present in the classpath then hibernate.cfg.xml file overrides the settings found in the hibernate.properties file.<br />
<br />
" Mapping files (*.hbm.xml): These files are used to map persistent objects to a relational database. It is the best practice to store each object in an individual mapping file (i.e mapping file per class) because storing large number of persistent classes into one mapping file can be difficult to manage and maintain. The naming convention is to use the same name as the persistent (POJO) class name. For example Account.class will have a mapping file named Account.hbm.xml. Alternatively hibernate annotations can be used as part of your persistent class code instead of the *.hbm.xml files.<br />
<br />
<br />
<b>Q. What is a SessionFactory? Is it a thread-safe object? </b><br />
<br />
<b>Answer: </b><br />
<br />
SessionFactory is Hibernate?s concept of a single datastore and is threadsafe so that many threads can access it concurrently and request for sessions and immutable cache of compiled mappings for a single database. A SessionFactory is usually only built once at startup. SessionFactory should be wrapped in some kind of singleton so that it can be easily accessed in an application code.<br />
<br />
SessionFactory sessionFactory = new Configuration().configure().buildSessionfactory();<br />
<br />
<br />
<b>Q. What is a Session? Can you share a session object between different theads? </b><br />
<br />
<b>Answer: </b><br />
<br />
Session is a light weight and a non-threadsafe object (No, you cannot share it between threads) that represents a single unit-of-work with the database. Sessions are opened by a SessionFactory and then are closed when all work is complete. Session is the primary interface for the persistence service. A session obtains a database connection lazily (i.e. only when required). To avoid creating too many sessions ThreadLocal class can be used as shown below to get the current session no matter how many times you make call to the currentSession() method.<br />
<br />
<br />
public class HibernateUtil {<br />
<br />
</span></span></span><br />
<span style="color: black;"><span style="font-size: x-small;"><span style="font-family: Verdana;">public static final ThreadLocal local = new ThreadLocal();<br />
<br />
public static Session currentSession() throws HibernateException {<br />
Session session = (Session) local.get();<br />
//open a new session if this thread has no session<br />
if(session == null) {<br />
session = sessionFactory.openSession();<br />
local.set(session);<br />
}<br />
return session;<br />
}<br />
}<br />
<br />
It is also vital that you close your session after your unit of work completes. Note: Keep your Hibernate Session API handy.<br />
<br />
<br />
<b>Q. What are the benefits of detached objects? </b><br />
<br />
<b>Answer: </b><br />
<br />
<br />
Detached objects can be passed across layers all the way up to the presentation layer without having to use any DTOs (Data Transfer Objects). You can later on re-attach the detached objects to another session.<br />
<br />
<b>Q. What are the pros and cons of detached objects? </b><br />
<br />
<b>Answer: </b><br />
<br />
<b>Pros: </b><br />
<br />
" When long transactions are required due to user think-time, it is the best practice to break the long transaction up into two or more transactions. You can use detached objects from the first transaction to carry data all the way up to the presentation layer. These detached objects get modified outside a transaction and later on re-attached to a new transaction via another session.<br />
<br />
<br />
<b>Cons </b><br />
<br />
" In general, working with detached objects is quite cumbersome, and better to not clutter up the session with them if possible. It is better to discard them and re-fetch them on subsequent requests. This approach is not only more portable but also more efficient because - the objects hang around in Hibernate's cache anyway.<br />
<br />
" Also from pure rich domain driven design perspective it is recommended to use DTOs (DataTransferObjects) and DOs (DomainObjects) to maintain the separation between Service and UI tiers.<br />
<br />
<br />
<b>Q. How does Hibernate distinguish between transient (i.e. newly instantiated) and detached objects? </b><br />
<br />
<b>Answer </b><br />
<br />
" Hibernate uses the ?version? property, if there is one.<br />
" If not uses the identifier value. No identifier value means a new object. This does work only for Hibernate managed surrogate keys. Does not work for natural keys and assigned (i.e. not managed by Hibernate) surrogate keys.<br />
" Write your own strategy with Interceptor.isUnsaved().<br />
</span></span></span><br />
</div><div dir="ltr"><span style="color: black;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><strong>Q. What is the difference between the session.get() method and the session.load() method?<br />
<br />
</strong>Both the session.get(..) and session.load() methods create a persistent object by loading the required object from the database. But if there was not such object in the database then the method session.load(..) throws an exception whereas session.get(&) returns null.<br />
<br />
<br />
<b>Q. What is the difference between the session.update() method and the session.lock() method? </b><br />
<br />
Both of these methods and saveOrUpdate() method are intended for reattaching a detached object. The session.lock() method simply reattaches the object to the session without checking or updating the database on the assumption that the database in sync with the detached object. It is the best practice to use either session.update(..) or session.saveOrUpdate(). Use session.lock() only if you are absolutely sure that the detached object is in sync with your detached object or if it does not matter because you will be overwriting all the columns that would have changed later on within the same transaction.<br />
<br />
<b>Note: </b>When you reattach detached objects you need to make sure that the dependent objects are reatched as well.<br />
<br />
<b>Q. How would you reatach detached objects to a session when the same object has already been loaded into the session? </b><br />
<br />
You can use the session.merge() method call.<br />
<br />
<br />
<b>Q. What are the general considerations or best practices for defining your Hibernate persistent classes? </b><br />
<br />
<br />
1.You must have a default no-argument constructor for your persistent classes and there should be getXXX() (i.e accessor/getter) and setXXX( i.e. mutator/setter) methods for all your persistable instance variables.<br />
<br />
2.You should implement the equals() and hashCode() methods based on your business key and it is important not to use the id field in your equals() and hashCode() definition if the id field is a surrogate key (i.e. Hibernate managed identifier). This is because the Hibernate only generates and sets the field when saving the object.<br />
<br />
<br />
3. It is recommended to implement the Serializable interface. This is potentially useful if you want to migrate around a multi-processor cluster.<br />
<br />
4.The persistent class should not be final because if it is final then lazy loading cannot be used by creating proxy objects.<br />
<br />
5.Use XDoclet tags for generating your *.hbm.xml files or Annotations (JDK 1.5 onwards), which are less verbose than *.hbm.xml files.</span></span></span><br />
</div><br />
<span style="color: black; font-family: Tahoma;"></span><br />
<span style="color: black; font-family: Tahoma;"><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A2" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I count the number of query results without actually returning them?<o:p></o:p></span></span></h2><div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Integer count = (Integer) session.createQuery("select count(*) from ....").uniqueResult();<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A3" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I find the size of a collection without initializing it?<o:p></o:p></span></span></h2><div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Integer size = (Integer) s.createFilter( collection, "select count(*)" ).uniqueResult();<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A4" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I order by the size of a collection?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Use a </span><tt><span style="font-size: 8.5pt; line-height: 14px;">left join</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">, together with </span><tt><span style="font-size: 8.5pt; line-height: 14px;">group by</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">select user <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">from User user<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">left join user.messages msg<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">group by user <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">order by count(msg)<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A5" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I place a condition upon a collection size?<o:p></o:p></span></span></h2><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">If your database supports subselects:<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">from User user where size(user.messages) >= 1<o:p></o:p></span></span></span></pre></div><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">or:<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">from User user where exists elements(user.messages)<o:p></o:p></span></span></span></pre></div><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">If not, and in the case of a one-to-many or many-to-many association:<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">select user <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">from User user <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">join user.messages msg <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">group by user <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">having count(msg) >= 1<o:p></o:p></span></span></span></pre></div><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Because of the inner join, this form can't be used to return a </span><tt><span style="font-size: 8.5pt; line-height: 14px;">User</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> with zero messages, so the following form is also useful<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">select user <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">from User as user<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">left join user.messages as msg<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">group by user <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">having count(msg) = 0<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A6" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I query for entities with empty collections?<o:p></o:p></span></span></h2><div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">from Box box<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">where box.balls is empty<o:p></o:p></span></span></span></pre></div><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Or, try this:<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">select box<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">from Box box<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"> left join box.balls ball<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">where ball is null<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A7" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I sort / order collection elements?<o:p></o:p></span></span></h2><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">There are three different approaches:<o:p></o:p></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;">1. Use a </span><tt><span style="font-size: 8.5pt; line-height: 14px;">SortedSet</span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;"> or </span><tt><span style="font-size: 8.5pt; line-height: 14px;">SortedMap</span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;">, specifying a comparator class in the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">sort</span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;"> attribute or </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><set></set></span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;"> or </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><map></map></span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;">. This solution does a sort in memory.<o:p></o:p></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;">2. Specify an </span><tt><span style="font-size: 8.5pt; line-height: 14px;">order-by</span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;"> attribute of </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><set></set></span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;">, </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><map></map></span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;"> or </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><bag></bag></span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;">, naming a list of table columns to sort by. This solution works only in JDK 1.4+.<o:p></o:p></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;">3. Use a filter </span><tt><span style="font-size: 8.5pt; line-height: 14px;">session.createFilter( collection, "order by ...." ).list()</span></tt><span style="font-family: Arial; font-size: 8.5pt; line-height: 14px;"><o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A8" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">Are collections pageable?<o:p></o:p></span></span></h2><div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Query q = s.createFilter( collection, "" ); // the trivial filter<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">q.setMaxResults(PAGE_SIZE);<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">q.setFirstResult(PAGE_SIZE * pageNumber);<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">List page = q.list();<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A9" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">I have a one-to-one association between two classes. Ensuring that associated objects have matching identifiers is bugprone. Is there a better way?<o:p></o:p></span></span></h2></span><br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><span style="color: black; font-family: Tahoma;"></span><br />
<span style="color: black; font-family: Tahoma;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><generator class="foreign"><o:p></o:p></generator></span></span></span></pre></span><br />
<pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="color: black; font-family: Tahoma;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"> </span></span></span>parent<o:p></o:p></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A10" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">I have a many-to-many association between two tables, but the association table has some extra columns (apart from the foreign keys). What kind of mapping should I use?<o:p></o:p></span></span></h2><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Use a composite-element to model the association table. For example, given the following association table:<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">create table relationship ( <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"> fk_of_foo bigint not null, <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"> fk_of_bar bigint not null, <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"> multiplicity smallint, <o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"> created date )<o:p></o:p></span></span></span></pre></div><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">you could use this collection mapping (inside the mapping for class Foo):<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><set name="relationship"><o:p></o:p></set></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-family: Verdana;"><span class="Apple-style-span" style="font-size: small; line-height: 12px;"><span class="Apple-style-span" style="color: black; font-family: Tahoma; font-size: 12px; line-height: 19px; white-space: normal;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><set name="relationship"><o:p></o:p></set></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><span> </span><key column="fk_of_foo"><o:p></o:p></key></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><span> </span><composite-element class="Relationship"><o:p></o:p></composite-element></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><span> </span><property name="multiplicity" not-null="true" type="short"><o:p></o:p></property></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><span> </span><property name="created" not-null="true" type="date"><o:p></o:p></property></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><span> </span><many-to-one class="Bar" name="bar" not-null="true"><o:p></o:p></many-to-one></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><span> </span><span> </span><o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"></span></span></span></pre></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;"><o:p></o:p></span></span></span></pre></div><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">You may also use an <idbag> with a surrogate key column for the collection table. This would allow you to have nullable columns.<o:p></o:p></idbag></span></span></span><br />
<span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">An alternative approach is to simply map the association table as a normal entity class with two bidirectional one-to-many associations.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A11" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">In an MVC application, how can we ensure that all proxies and lazy collections will be initialized when the view tries to access them?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">One possible approach is to leave the session open (and transaction uncommitted) when forwarding to the view. The session/transaction would be closed/committed after the view is rendered in, for example, a servlet filter (another example would by to use the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">ModelLifetime.discard()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> callback in Maverick). One difficulty with this approach is making sure the session/transaction is closed/rolled back if an exception occurs rendering the view.<o:p></o:p></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Another approach is to simply force initialization of all needed objects using </span><tt><span style="font-size: 8.5pt; line-height: 14px;">Hibernate.initialize()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">. This is often more straightforward than it sounds.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A12" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I bind a dynamic list of values into an <tt>in</tt> query expression?<o:p></o:p></span></span></h2><div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Query q = s.createQuery("from foo in class Foo where foo.id in (:id_list)");<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">q.setParameterList("id_list", fooIdList);<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">List foos = q.list();<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A13" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I bind properties of a JavaBean to named query parameters?<o:p></o:p></span></span></h2><div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Query q = s.createQuery("from foo in class Foo where foo.name=:name and foo.size=:size");<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">q.setProperties(fooBean); // fooBean has getName() and getSize()<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">List foos = q.list();<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A14" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">Can I map an inner class?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">You may persist any <em><span style="font-family: Helvetica;">static</span></em> inner class. You should specify the class name using the standard form ie. </span><tt><span style="font-size: 8.5pt; line-height: 14px;">eg.Foo$Bar</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A15" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I assign a default value to a property when the database column is null?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Use a </span><tt><span style="font-size: 8.5pt; line-height: 14px;">UserType</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A16" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I trucate <tt>String</tt> data?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Use a </span><tt><span style="font-size: 8.5pt; line-height: 14px;">UserType</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A17" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I trim spaces from <tt>String</tt> data persisted to a <tt>CHAR</tt> column?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Use a </span><tt><span style="font-size: 8.5pt; line-height: 14px;">UserType</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A18" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I convert the type of a property to/from the database column type?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Use a </span><tt><span style="font-size: 8.5pt; line-height: 14px;">UserType</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A19" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I get access to O/R mapping information such as table and column names at runtime?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">This information is available via the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">Configuration</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> object. For example, entity mappings may be obtained using</span><tt><span style="font-size: 8.5pt; line-height: 14px;">Configuration.getClassMapping()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">. It is even possible to manipulate this metamodel at runtime and then build a new </span><tt><span style="font-size: 8.5pt; line-height: 14px;">SessionFactory</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A20" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I create an association to an entity without fetching that entity from the database (if I know the identifier)?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">If the entity is proxyable (</span><tt><span style="font-size: 8.5pt; line-height: 14px;">lazy="true"</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">), simply use </span><tt><span style="font-size: 8.5pt; line-height: 14px;">load()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">. The following code does not result in any </span><tt><span style="font-size: 8.5pt; line-height: 14px;">SELECT</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">statement:<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Item itemProxy = (Item) session.load(Item.class, itemId);<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Bid bid = new Bid(user, amount, itemProxy);<o:p></o:p></span></span></span></pre><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">session.save(bid);<o:p></o:p></span></span></span></pre></div><h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A21" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I retrieve the identifier of an associated object, without fetching the association?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Just do it. The following code does not result in any </span><tt><span style="font-size: 8.5pt; line-height: 14px;">SELECT</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> statement, even if the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">item</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> association is lazy.<o:p></o:p></span></span></span><br />
<br />
<div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Long itemId = bid.getItem().getId();<o:p></o:p></span></span></span></pre></div><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">This works if </span><tt><span style="font-size: 8.5pt; line-height: 14px;">getItem()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> returns a proxy and if you mapped the identifier property with regular accessor methods. If you enabled direct field access for the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">id</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> of an </span><tt><span style="font-size: 8.5pt; line-height: 14px;">Item</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">, the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">Item</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> proxy will be initialized if you call </span><tt><span style="font-size: 8.5pt; line-height: 14px;">getId()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">. This method is then treated like any other business method of the proxy, initialization is required if it is called.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A22" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I manipulate mappings at runtime?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">You can access (and modify) the Hibernate metamodel via the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">Configuration</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> object, using </span><tt><span style="font-size: 8.5pt; line-height: 14px;">getClassMapping()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">,</span><tt><span style="font-size: 8.5pt; line-height: 14px;">getCollectionMapping()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">, etc.<o:p></o:p></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Note that the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">SessionFactory</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> is <em><span style="font-family: Helvetica;">immutable</span></em> and does not retain any reference to the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">Configuration</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> instance, so you must re-build it if you wish to activate the modified mappings.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A23" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I avoid n+1 SQL <tt>SELECT</tt> queries when running a Hibernate query?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Follow the best practices guide! Ensure that all </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><class></class></span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> and </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><collection></collection></span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> mappings specify </span><tt><span style="font-size: 8.5pt; line-height: 14px;">lazy="true"</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> in Hibernate2 (this is the new default in Hibernate3). Use HQL </span><tt><span style="font-size: 8.5pt; line-height: 14px;">LEFT JOIN FETCH</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> to specify which associations you need to be retrieved in the initial SQL </span><tt><span style="font-size: 8.5pt; line-height: 14px;">SELECT</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">.<o:p></o:p></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">A second way to avoid the n+1 selects problem is to use </span><tt><span style="font-size: 8.5pt; line-height: 14px;">fetch="subselect"</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> in Hibernate3.<o:p></o:p></span></span></span><br />
<span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">If you are still unsure, refer to the Hibernate documentation and <em><span style="font-family: Helvetica;">Hibernate in Action</span></em>.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A24" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">I have a collection with second-level cache enabled, and Hibernate retrieves the collection elements one at a time with a SQL query per element!<o:p></o:p></span></span></h2><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Enable second-level cache for the associated entity class. Don't cache collections of uncached entity types.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A25" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I insert XML data into Oracle using the <tt>xmltype()</tt> function?<o:p></o:p></span></span></h2><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Specify custom SQL </span><tt><span style="font-size: 8.5pt; line-height: 14px;">INSERT</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> (and </span><tt><span style="font-size: 8.5pt; line-height: 14px;">UPDATE</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">) statements using </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><sql-insert></sql-insert></span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> and </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><sql-update></sql-update></span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> in Hibernate3, or using a custom persister in Hibernate 2.1.<o:p></o:p></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">You will also need to write a </span><tt><span style="font-size: 8.5pt; line-height: 14px;">UserType</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> to perform binding to/from the </span><tt><span style="font-size: 8.5pt; line-height: 14px;">PreparedStatement</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A26" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">How can I execute arbitrary SQL using Hibernate?<o:p></o:p></span></span></h2><div style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-bottom-width: 1pt; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-left-width: 1pt; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1pt; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-top-width: 1pt; margin-left: 3.75pt; margin-right: 3.75pt; padding-bottom: 4pt; padding-left: 4pt; padding-right: 4pt; padding-top: 4pt;"><pre style="-webkit-background-clip: initial; -webkit-background-origin: initial; background-attachment: initial; background-color: #eeeeee; background-image: initial; background-position: initial initial; background-repeat: initial; border-bottom-color: initial; border-bottom-style: none; border-bottom-width: medium; border-left-color: initial; border-left-style: none; border-left-width: medium; border-right-color: initial; border-right-style: none; border-right-width: medium; border-top-color: initial; border-top-style: none; border-top-width: medium; line-height: 13px; margin-bottom: 3.75pt; margin-left: 0in; margin-right: 0in; margin-top: 3.75pt; padding-bottom: 0in; padding-left: 0in; padding-right: 0in; padding-top: 0in;"><span style="font-size: 8.5pt; line-height: 12px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">PreparedStatement ps = session.connection().prepareStatement(sqlString);<o:p></o:p></span></span></span></pre></div><span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Or, if you wish to retrieve managed entity objects, use </span><tt><span style="font-size: 8.5pt; line-height: 14px;">session.createSQLQuery()</span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">.<o:p></o:p></span></span></span><br />
<span style="font-size: x-small;"><span style="font-family: Verdana;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">Or, in Hibernate3, override generated SQL using </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><sql-insert></sql-insert></span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">, </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><sql-update></sql-update></span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;">, </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><sql-delete></sql-delete></span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> and </span><tt><span style="font-size: 8.5pt; line-height: 14px;"><loader></loader></span></tt><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"> in the mapping document.<o:p></o:p></span></span></span><br />
<br />
<h2 style="margin-bottom: auto; margin-left: 0in; margin-right: 0in; margin-top: 11.25pt;"><a href="http://www.blogger.com/post-edit.g?blogID=2446278213596573605&postID=7878484163149331334" name="A27" style="color: #a91b33; text-decoration: none;"></a><span style="font-size: x-small;"><span style="font-family: Verdana;">I want to call an SQL function from HQL, but the HQL parser does not recognize it!<o:p></o:p></span></span></h2></span><span style="color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px;"><span style="font-family: Helvetica; font-size: 8.5pt; line-height: 14px;"><span style="font-size: x-small;"><span style="font-family: Verdana;">Subclass your Dialect, and call registerFunction() from the constructor.</span></span></span><br />
</span><br />
</div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com0tag:blogger.com,1999:blog-2446278213596573605.post-53391672781747075022009-11-30T23:25:00.000-08:002009-11-30T23:25:21.586-08:00What is JMX?<span class="Apple-style-span" style="color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 14px; line-height: 23px;"></span><br />
<div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><a href="http://javaj2eeplanet.blogspot.com/2009/11/what-is-jmx.html">Original source...</a></span><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><br />
</span><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">To make it short, JMX is a technology that lets you implement management interfaces for Java applications in other words you can control your application remotely. </span><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><br />
</span><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><span class="Apple-style-span" style="font-family: Arial, Tahoma, Verdana;"><span style="font-family: Verdana;">The JMX technology is native to the Java programming language. As a result, it offers natural, efficient, and lightweight management extensions to Java-based functions. It consists of a set of specifications and development tools for managing Java environments and developing state-of-the-art management solutions for applications and services. It provides Java developers with the means to instrument Java code, create smart Java agents, implement distributed management middleware and managers, and easily integrate these solutions into existing management and monitoring systems. The dynamics of the JMX technology architecture enables you to use it to monitor and manage resources as they are implemented and installed. It can also be used to monitor and manage the </span><a href="http://lms-server:8585/roller/roller-ui/authoring/weblog.do?entryId=2c908cfc1cd0dc88011ce150a6a50081&method=edit#jvm" style="color: #a91b33; text-decoration: none;"><strong><span style="color: #669922; font-family: Verdana;">Java Virtual Machine (JVM machine)</span></strong></a><span style="font-family: Verdana;">.</span></span></span><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">Typical uses of the JMX technology include:</span><br />
</div><ul type="disc"><li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">Consulting and changing application configuration</span></li>
<li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">Collecting statistics about application behavior and making the statistics available</span></li>
<li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">Notification of state changes and erroneous conditions</span></li>
</ul><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><b>Benefits of JMX Technology</b></span><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">The JMX technology enables Java developers to encapsulate resources as Java objects and expose them as management resources in a distributed environment. The JMX specification lists the following benefits to using it to build a management infrastructure:</span><br />
</div><ul type="disc"><li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><i>Manages Java applications and services without heavy investment</i>: JMX architecture relies on a core managed object server that acts as a management agent and can run on most Java-enabled devices. Java applications can be managed with little impact on their design.</span></li>
</ul><div class="MsoNormal" dir="ltr" style="direction: ltr; margin-bottom: 12pt; margin-left: 0.5in; margin-right: 0in; margin-top: 0in; text-align: left; unicode-bidi: embed;"><o:p><span style="font-family: Verdana;"></span></o:p><br />
</div><ul type="disc"><li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><i>Provides a scalable management architecture</i>: A JMX agent service is independent and can be plugged into the management agent. The component-based approach enables JMX solutions to scale from small footprint devices to large telecommunications switches.</span></li>
</ul><div class="MsoNormal" dir="ltr" style="direction: ltr; margin-bottom: 12pt; margin-left: 0.5in; margin-right: 0in; margin-top: 0in; text-align: left; unicode-bidi: embed;"><o:p><span style="font-family: Verdana;"></span></o:p><br />
</div><ul type="disc"><li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><i>Can leverage future management concepts</i>: It can implement flexible and dynamic management solutions. It can leverage emerging technologies; for example JMX solutions can use lookup and discovery services such as </span><a href="http://java.sun.com/developer/products/jini/index.jsp" style="color: #a91b33; text-decoration: none;"><strong><span style="color: #669922; font-family: Verdana;">Jini</span></strong></a><span style="font-family: Verdana;"> network technology,</span><a href="http://www.upnp.org/" style="color: #a91b33; text-decoration: none;"><strong><span style="color: #669922; font-family: Verdana;">UPnP</span></strong></a><span style="font-family: Verdana;">, and </span><a href="http://java.sun.com/j2se/1.5.0/docs/guide/jmx/overview/lookup.html#wp997349" style="color: #a91b33; text-decoration: none;"><strong><span style="color: #669922; font-family: Verdana;">Service Location Protocol (SLP)</span></strong></a><span style="font-family: Verdana;">.</span></li>
</ul><div class="MsoNormal" dir="ltr" style="direction: ltr; margin-bottom: 12pt; margin-left: 0.5in; margin-right: 0in; margin-top: 0in; text-align: left; unicode-bidi: embed;"><o:p><span style="font-family: Verdana;"></span></o:p><br />
</div><ul type="disc"><li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;"><i>Focuses on management</i>: While JMX technology provides a number of services designed to fit into a distributed environment, its APIs are focused on providing functionality for managing networks, systems, applications, and services.</span></li>
</ul><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><b><span style="font-size: 18pt;"><span style="font-family: Verdana;">What technologies JMX based upon?<o:p></o:p></span></span></b><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">JMX mainly based on JAVA IO, NETWORKING and RMI.</span><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><b><span style="font-size: 18pt;"><span style="font-family: Verdana;">How does JMX works?<o:p></o:p></span></span></b><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">the core of JMX are:</span><br />
</div><ul type="disc"><li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">MBean(Management Bean)which represents the resource to be managed remotly</span></li>
<li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">Management Server which manages MBeans</span></li>
<li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">Agent which manages Management Server</span></li>
<li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">Adapters & connectors which allows communications to the Management Server like:</span><ul type="circle"><li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">RMI Connector</span></li>
<li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">HTML Adapters</span></li>
<li class="MsoNormal" dir="ltr" style="direction: ltr; margin-left: 0.5in; margin-right: 0in; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">Web Service Connector (Still in progress)</span></li>
</ul></li>
</ul><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><b><span style="font-size: 18pt;"><span style="font-family: Verdana;">When we need JMX?<o:p></o:p></span></span></b><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">as said, JMX basically needed when managing application remotely as well JMX is very useful when the application needs integration points.<br />
<br />
<span class="Apple-style-span" style="font-family: Arial, Tahoma, Verdana;"><span style="font-family: Verdana;">JMX technology provides a component-based architecture for developing solutions to monitor and manage your applications, services, and resources. JMX technology is <i>the</i> way to instrument any application or service that was built using Java technology. Hence, the Java platform now provides excellent facilities for creating and managing applications and services. JMX technology should be used for any application and service that benefit from being manageable, as this will increase their value to vendors and clients, by making them easier to install, configure, and maintain. The current version of JMX is 1.2, and the </span><a href="http://www.jcp.org/en/jsr/detail?id=255" style="color: #a91b33; text-decoration: none;"><strong><span style="color: #669922; font-family: Verdana;">JMX 2.0</span></strong></a><span style="font-family: Verdana;"> update was launched in September 2004. It will update the JMX and JMX Remote APIs to improve existing interfaces, mainly with respect to ease of use.</span></span></span><br />
</div><div class="MsoNormal" dir="ltr" style="direction: ltr; text-align: left; unicode-bidi: embed;"><span style="font-family: Verdana;">This article provided a fast track introduction and tutorial to the JMX architecture and its programming model. The sample code provided demonstrates how easy it is to get started developing management and monitoring solutions using JMX technology. The J2SE 5.0 implements the JMX specification—if you use J2SE 5.0, you are ready to start developing using JMX technology.</span><br />
</div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-50266972647348281782009-11-30T08:31:00.000-08:002009-11-30T08:31:16.720-08:00Google`s New Design with Caffeine<div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img height="111" src="http://farm3.static.flickr.com/2785/4117327765_ddf8d9cd4d_o.png" width="200" /><br />
</div><br />
<a href="http://www.taranfx.com/blog/googles-new-design-with-caffeine">Google`s New Design with Caffeine</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-6554293363638540272009-11-30T08:29:00.000-08:002009-11-30T08:29:31.407-08:00Is Internet Explorer dying?<div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="Browser market share, IE and the rest..." height="117" src="http://ra-ajax.org/media/UserImages/ie-others-total.png" width="200" /><br />
</div><br />
According to <a href="http://ra-ajax.org/is-internet-explorer-dying.blog">this</a> IE will have no market share in 4 years.Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com2tag:blogger.com,1999:blog-2446278213596573605.post-89799988211153025022009-11-25T09:03:00.000-08:002009-11-25T09:03:33.000-08:00Spring Dynamic Modules moves to the Eclipse.orgDetails <a href="http://www.eclipse.org/forums/index.php?t=msg&th=158257&start=0&S=3747c2e826378d3312a9c55040d8d63e">here...</a>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-53645842070860736652009-11-25T08:55:00.000-08:002009-11-25T08:55:11.533-08:00JDK 7 Milestone 5<a href="http://www.infoq.com/news/2009/11/jdk7m5">Overview of the recent changes...</a> <br />
<div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img src="http://t2.gstatic.com/images?q=tbn:VXdSUwaN1anVAM:http://blogs.sun.com/theplanetarium/resource/t_java_logo.jpg" /><br />
</div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com1tag:blogger.com,1999:blog-2446278213596573605.post-6567984606307033902009-11-25T08:46:00.000-08:002009-11-25T08:50:24.637-08:00Simple guide to Java Message Service (JMS) using ActiveMQ<a href="http://www.javablogging.com/simple-guide-to-java-message-service-jms-using-activemq/">Short example of using JMS (ActiveMQ) ...</a><br />
<div style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img src="http://www.javablogging.com/pliki/jms.png" /><br />
</div>Yehorhttp://www.blogger.com/profile/08045779728074493779noreply@blogger.com2