<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7489746740971456738</id><updated>2012-02-16T19:14:16.716-08:00</updated><category term='Deflection'/><category term='Queen&apos;s Gambit Declined'/><category term='Scotch Game'/><category term='Sacrifice. King in the Centre'/><category term='Short Story'/><category term='2011'/><category term='1994'/><category term='Skewer'/><category term='Attack on the king'/><category term='Dutch Defence'/><category term='Bad bishop'/><category term='Humour'/><category term='Sicilian Defence'/><category term='Intermezzo'/><category term='Pawn promotion'/><category term='Duchess of Blunderboro'/><category term='Fork'/><category term='Chess History'/><category term='Correspondence chess'/><category term='1998'/><category term='Trompowsky Attack'/><category term='Discovered attack'/><category term='End game'/><category term='Pin'/><category term='Breaking a pin'/><category term='Dragon Variation'/><category term='Polish Defence'/><category term='Problem'/><category term='Endgame'/><category term='Blunder'/><category term='2008'/><category term='French Defence'/><title type='text'>Travail Pursuit</title><subtitle type='html'>“Imperfection is not the tragedy of chess, but its attraction” 
- Australian Chess Brilliancies</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://travailpursuit.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://travailpursuit.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Intermezzo</name><uri>http://www.blogger.com/profile/09506234400044036036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-iHZo_2ih0N4/Tk8fDJOwLwI/AAAAAAAAAbw/g8nhLUzoNlA/s220/Phil%2527s%2BPhotos%2B033.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7489746740971456738.post-2790448292592811578</id><published>2012-01-07T00:30:00.000-08:00</published><updated>2012-01-07T00:30:06.494-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Duchess of Blunderboro'/><category scheme='http://www.blogger.com/atom/ns#' term='Humour'/><category scheme='http://www.blogger.com/atom/ns#' term='Endgame'/><category scheme='http://www.blogger.com/atom/ns#' term='Short Story'/><category scheme='http://www.blogger.com/atom/ns#' term='Fork'/><title type='text'>The Dark art of games(wo)manship</title><content type='html'>&lt;strong&gt;&lt;span style="color: orange;"&gt;This article was the fourth by the Duchess of Blunderboro for the Hebden Bridge Chess Club blog. It was published there in September, 2011.&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-hScWYKAms-4/TphrNCSS9AI/AAAAAAAAAfk/AwJODKtfZNs/s1600/rudyard-kipling.jpg" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" oda="true" src="http://3.bp.blogspot.com/-hScWYKAms-4/TphrNCSS9AI/AAAAAAAAAfk/AwJODKtfZNs/s1600/rudyard-kipling.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Rudyard Kipling: Somewhat less deadly than his wife&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;em&gt;“The female of the species is more deadly than the male.”&lt;/em&gt;&lt;br /&gt;- Rudyard Kipling&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“If cunning alone were needed to excel, women would be the best chess players.”&lt;/em&gt; &lt;br /&gt;- Adolf Albin&lt;br /&gt;&lt;br /&gt;A couple of weekends ago, as I watched live coverage of the FIDE World Cup Final in Khanty Mansiysk my wife took an interest (most unusual) and asked about the lady commentator, GM Anna Sharevich. We started to talk about women in the game and I explained that there was a women’s World Champion and that most top female players played in specific, women only tournaments. Quite rightly she asked me why there were separate women’s events and titles when the game of chess conferred no physical advantage to men as it does in most sports. “Surely men and women should compete together” she said and cited show jumping (horse riding is her favourite pastime) as an example of a sport where men and women compete on equal terms.&lt;br /&gt;&lt;br /&gt;Of course my wife is right (she almost always is I find) to point out this strange state of affairs in chess. I must admit I struggled to justify why women competed separately from men although I did point out a very significant exception to the rule. Judit Polgar. When I provided my wife with Judit’s potted curriculum vitae and went on to add that she had performed very well at the same World Cup in reaching the quarter-finals and losing to the eventual winner she simply nodded and said “Well, there you go”.&lt;br /&gt;&lt;br /&gt;That discussion caused me to reflect a little on the differences between women and men and how they think. I don’t want to get embroiled in a gender debate and I’m no scientist but, I reasoned that physiologically, there must be some attributes that are more prevalent in one gender or the other and that those attributes must have an impact on the workings of the mind even if it’s at a trivial level. I’m fairly sure that male and female GMs approach preparation and in-game-analysis in the same way but at an amateur level, perhaps different approaches are more apparent.&lt;br /&gt;&lt;br /&gt;Of course there was only one course of action for me to take at this point and I immediately logged on to exchange instant messenger correspondence with this website’s most illustrious contributor, Lady Cynthia Blunderboro. Our chat progressed thusly:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Intermezzo:&lt;/strong&gt; Do you think women approach chess in a different way to men or display any attributes more or less prominently then their male counterparts?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Blunderboro:&lt;/strong&gt; Generally I’d say no because such a blend and balance of skills are required to excel and the best players, men and women, tend to demonstrate these universally. However, remembering the words of Rudyard Kipling, I’d suggest that maybe we ladies bare chess grudges longer than men do, and, baring in mind the words of Adolf Albin, perhaps we occasionally display greater levels of imagination in our deviousness.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Intermezzo:&lt;/strong&gt; I assume that you have examples in mind?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Blunderboro:&lt;/strong&gt; Of course. Shall I write you a blog post?&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Intermezzo:&lt;/strong&gt; Yes please!&lt;br /&gt;&lt;br /&gt;So now, I’ll hand you over to Lady Cynthia who, as always, has an intriguing tale to tell.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-M7PN8zeMGqQ/SsqFcyogwVI/AAAAAAAAABQ/n7kdMTcr0Oo/s1600/img_1626-1024x682.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" kca="true" src="http://3.bp.blogspot.com/-M7PN8zeMGqQ/SsqFcyogwVI/AAAAAAAAABQ/n7kdMTcr0Oo/s320/img_1626-1024x682.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;em&gt;&lt;span style="color: orange; font-size: large;"&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;"&lt;/span&gt;H&lt;/strong&gt;&lt;/span&gt;ello again fellow chess-heads! The gender debate surrounding the royal game has long been a cause of heated discourse. Personally I find such chatter to be rather dull as generally speaking it is, like the game itself, dominated by male opinion! Questions such as “Why don’t more women play chess?” and “Why are women not as good at chess as men?” tend to be questions that men ask when they want to pontificate about the perceived masculine intellectual attributes they possess. The truth of the matter seems to be that, proportionally, we &lt;/em&gt;&lt;a href="http://www.physorg.com/news150954140.html"&gt;&lt;strong&gt;&lt;em&gt;women are at least as good at chess as men&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt;. Should any of my undoubtedly overwhelmingly male readership be interested in a more balanced female perspective on such matters then I can hardly do better than to direct you to the excellent &lt;/em&gt;&lt;a href="http://www.goddesschess.com/genderandchess/gendertoc.html"&gt;&lt;strong&gt;&lt;em&gt;Goddess Chess website&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;From a Lady’s perspective, I’m not convinced that our approach to chess or the attributes we display are really all that different to men’s. Certainly I’m unable to recall any examples that would support such a theory. What I certainly can provide evidence to support is that when it comes to clear thinking, cold-blooded ruthlessness and down-right craftiness at the chess board, we ladies can behave in a most ungentlemanly fashion!&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Today’s story begins in 1932 when I was 10 years old and attending St. Ethel’s boarding school for girls. Of course I was a member of the school chess team and we regularly played matches in the local chess league as well as against other schools around the country. At this early stage in my career I was not by any means an expert but the fire of competitive spirit was certainly stoked during my school days. This was never more evident than when St Ethel’s played our annual match against our great rivals, St Agnes’ Catholic School for Girls. By the time I represented St Ethel’s for the first time in this fixture it had already taken place 35 times previously and our school held an 18-17 lead. In 1932 then I had, for the first time, been offered the opportunity to defend the honour of St Ethel’s in this unfolding legend of inter-school rivalry. I was selected to play on the bottom board, board 10.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;If further incentive to succeed were needed that day it was provided when I arrived for the match (which we played on a Saturday afternoon in our school library that year) and discovered that my opponent was to be Prunella DeLauncy. I knew this girl and we already detested each other. Prunella was the daughter of Sir Stephen and Lady Margaret DeLauncy who owned DeLauncy Castle, the nearest estate to my own family’s holdings. Although our families were not especially friendly we did operate in each others ambit on numerous social occasions and so I had already had numerous run-ins with this odious little girl. Prunella was three years older than me and took every possible opportunity to belittle, bully and taunt me for being smaller, weaker and younger than her. I reasoned that, on this occasion at least, her physical advantages would be of no use to her and resolved to take full advantage of the fact that the controlled conditions of the competition would prevent her from cheating. An deep irony baring in mind what was to take place that day.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;When we took our seats at the board she looked at me as if I were something unpleasant and smelly that she had stepped in on the street and could barely bring herself to shake hands with me. When the handshake did come it was half-hearted and limp. At this point, as I looked along the two lines of players on my right, I noticed to my amusement that she was stationed beneath several girls who looked to be about my age whereas I was clearly the youngest in our team. This gave me a fresh injection of confidence for now I felt that my playing abilities would be a match for hers.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Sadly, on that wet autumnal afternoon I was to be disappointed and even devastated by my own naivety. The game started off well enough. She responded to my king’s pawn advance with the Sicilian Defence. I chose an anti-Sicilian line I’d been studying and elected to play it safe by swapping the queens off very early in the game. I felt confident of securing at least a draw from my enemy until we reached the diagram position below where Prunella was to play.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-mICxjpUfmBo/ToI1jBSqf3I/AAAAAAAAAdk/aHQMdTfsZVQ/s1600/Blunderboro+1.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" kca="true" src="http://3.bp.blogspot.com/-mICxjpUfmBo/ToI1jBSqf3I/AAAAAAAAAdk/aHQMdTfsZVQ/s320/Blunderboro+1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;em&gt;By now Prunella had begun to openly express some dissatisfaction with her position. Perhaps she felt that she ought to have already secured a decisive advantage against a player three years her junior, perhaps she had simply staged these emotions in order to prepare the way for what now came next. After a relatively short think of only a couple of minute she aggressively bashed out the move 18…Bc6, whacked her clock and then sat back smugly with a sneer on her face and her arms folded across her chest.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;As I considered my response I noticed that her facial expression was slowly changing from smugness to concern. After a couple of minutes her face reddened, she muttered something to herself under her breath and then suddenly stood up, her chair scrapping noisily on the wooden floor as she did so, and stormed out of the room in disgust. The eyes of all the players followed her as she left. Amazed and excited at what had just occurred I studied the board again looking for the error that she obviously felt she had committed. It didn’t take long to for me to realise that she had left her pawn on f5 unprotected.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“A free pawn!” I thought. “Is there a trap?”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;It took only the briefest of moments to check that after I captured with 19.Rxf5 there was nothing unpleasant that was going to happen to my king and saw that if she played 19…Rd1+ 20.Kh2 Bb8+ then 21.g3?? would be a dire error on account of 21…Rh1 mate! However, I soon saw that instead of this I could play 21. f4, or even better 21.Bf4 and would have simply gained a two pawn advantage.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“She must have missed 21.Bf4”, I reasoned and then wrote down the move 19.Rxf5, played it and pressed my clock confident that I had secured a decisive advantage.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Five minutes passed by and then another five. There was no sign of Prunella, where was she? I began to get restless, had she given up in dismay or been rendered physically unwell by her error? I was about to go and speak to the match referee when the door of the library creaked open and Prunella slowly crept back in. She looked like she had composed herself and she returned to our game tight lipped and serious. She sat down at the board, looked at my move and sighed meaningfully and then with a depressed air about her she responded as I had anticipated with 19…Rd1+. I played my only move 20.Kh2 and then she rocked back in her chair her expression completely transformed once again. Suddenly she was leering at me with a malignant twinkle in her eye. She paused only long enough to let me register that something was a miss before reaching forward and playing not 20…Bb8+ but the move 20…Be4!&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;I stared at the board in disbelief. My rook and knight forked by the bishop. How had I missed it? It was clear I had been duped by an acting performance of consummate skill. She had wanted me to think that she had made an error and so all I had done was look for one. It was a brilliant diversion. Looking only for a mistake I had found one and completely missed the best rejoinder! I couldn’t even escape with 21.Ne3 as Bxe3 simply reinstated the threat.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;At that point, I confess that my world fell apart. I have never again since felt so abject at the board. Playing on in a mist of demoralised inertia I continued on auto-pilot until Prunella finally ground me down with her extra piece in the end game. To make matters even worse St Ethel’s lost the match by a score of 4½-5½! My naivety had lost us the match and it took me months and months to recover from the trauma of losing that game to Prunella DeLauncy who I should add, I never played again in the annual encounter as my game improved rapidly enough to stay above her in the board order in subsequent years. Never the less, in each year that I took part I had to endure her hard, sneering gazing on me every time I caught her eye.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;I thought I would never have the chance to avenge that painful defeat. But then, over twenty years later, in 1953, fate dropped an opportunity into my lap. I received a letter from the St Ethels’ Head Mistress of that time informing me that the annual chess match against St Agnes’ had reached it’s 50th edition (the fixture was not held between 1940-45 on account of World War II) and, to commemorate this, a special anniversary match between chess-playing alumni from each school was to take place alongside the traditional match for the pupils. Of course I accepted the invitation to take part as, by this point in my life, I was an accomplished player and wanted to repay in some way the chess education I had received from my old school.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;The day of the match arrived. Once more the venue was St Ethel’s School Library. I had arrived early and was enjoying chatting to several old friends who I hadn’t seen for years when suddenly on of them drew my attention to the library doorway. Prunella DeLauncy had just arrived. I hadn’t expected her to attend but I would guess that she wouldn’t have wanted to miss another opportunity to flaunt her success of 21 years previously. There she was, as tight faced and smugly superior as ever. She glared at me as she made her way over to her team mates and I found myself yearning for a re-match even though I imagined that she would not be their top board player.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;When we saw our Captain’s match card I couldn’t believe what I saw, for Prunella was indeed playing on board 1 for the St. Agnes Alumni team. Her game must have improved somewhat over the last twenty odd years for I was sure there were others in the St.Agnes line up who had previously been her betters. As we sat across from one another I could sense her disdain but forced myself to be polite and looked up smiling at her.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Good luck”, I said as I shook that limp, cold hand.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;For this return game I was fortunate once again to have the White pieces. My improved skills as a player in the intervening years between our encounters had given me the confidence I needed to play for a small but enduring advantage out of the opening. I played solidly, possibly too solidly and Prunella, to her credit defended staunchly, and at times, resourcefully. As the game meandered on my advantage dwindled and I began to realise that Prunella, whilst having no winning chances herself, had succeeded in neutralising my attacking potential completely.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Stubbornly, for in all other circumstances I would have offered a draw, I played on, politely declining her curt offer of a draw when the queens came off the board as the end game began. We were now the last board playing and the match was tied at 4½-4½. Vainly I scoured the position for any opportunity to create complications and managed to find a clever way of sacrificing a pawn to reactivate my pieces. I conjured up some significant problems for my opponent and she began to spend more and more time trying to solve them. Finally though, she dug herself out of trouble yet again and, with both our clocks down to their last two minutes, we reached the position below.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/--HwJyAdVOHU/ToIztn8HViI/AAAAAAAAAdg/EpHQ9Jkkq4k/s1600/Blunderboro+2.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" kca="true" src="http://2.bp.blogspot.com/--HwJyAdVOHU/ToIztn8HViI/AAAAAAAAAdg/EpHQ9Jkkq4k/s320/Blunderboro+2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;em&gt;I had just checked the Black king and Prunella moved it with 61…Kh6. I sat staring intently at the board. The position, with equal material and opposite coloured bishop was drawn I had to accept it and offer to share the honours. My clock was almost spent. But then, a glimmer of an idea came into my mind, perhaps there was a way and I could try to win it without any risk of losing. Quickly I checked it again and glanced at my clock. One minute left. Prunella had a little more but not much. To make this work I had to blitz her and rely on her disdain of me and need to belittle me. I could use that to my advantage.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Very swiftly we now both banged out the moves…&lt;/em&gt;&lt;br /&gt;&lt;em&gt;62. Bf4+ Kg7&lt;/em&gt;&lt;br /&gt;&lt;em&gt;63. Be5+ Kh6&lt;/em&gt;&lt;br /&gt;&lt;em&gt;64. Bf4+ Kg7&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;I’d made a point of calling out “Check” throughout this sequence. First of all because I knew it would annoy her and secondly because it was integral to my plan. I paused here for a couple of seconds with my hand hovering over the bishop. Prunella, flushed with adrenaline looked at me intently expecting that the repetition of moves would follow and enable her to thwart me again and draw the match. However, I now played 65.Bd6 and called out “Check” again. Immediatley Prunella’s hand darted out to her king and moved it back to h6. She pressed her clock again and then said, mockingly, “That wasn’t check.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Sorry! Yes, you’re right. My mistake” I replied as I paused again for a few seconds. I must have had about twenty seconds left. I used ten of those to allow Prunella to realise the full horror of her mistake before playing 66.Bf8!&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“But that,” I said “is checkmate. If I’m not mistaken.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;And so it was that on this occasion it was Prunella who was left devastated. My vengeance felt very, very sweet and my team mates crowded round to congratulate me on my play. Later on, at the local pub they also congratulated me on my gameswomanship. The ultimate compliment.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;As a post script to this story I should add that recently I was most surprised to find this last little set piece (listed as being played by NN and NN) in Christian Hesse’s new book &lt;/em&gt;&lt;a href="http://www.amazon.co.uk/Joys-Chess-Heroes-Battles-Brilliancies/dp/9056913557/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1317194688&amp;amp;sr=1-1"&gt;&lt;em&gt;&lt;strong&gt;“The Joys of Chess:Heroes, Battles and Brilliancies&lt;/strong&gt;”.&lt;/em&gt;&lt;/a&gt;&lt;em&gt; The position features in a chapter named “Gamesmanship” and I will end this article with a quote that features at the beginning of that chapter which seems very appropriate to the subject and an object lesson for all chess players regardless of their gender."&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“As a medium for demonstrating one’s mastery of the game the board and pieces are, in fact, most unreliable.”&lt;/em&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;- William Hartston&lt;script type="text/javascript"&gt;  var _gaq = _gaq || [];  _gaq.push(['_setAccount', 'UA-12602108-3']);  _gaq.push(['_trackPageview']);  (function() {    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);  })();&lt;/script&gt; &lt;/div&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color: orange;"&gt;Addendum: 01/10/2011&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: black;"&gt;Since I published this post (by a bizarre coincidence)&amp;nbsp;&lt;a href="http://www.chessbase.com/"&gt;&lt;strong&gt;Chessbase&lt;/strong&gt;&lt;/a&gt; have put up a &lt;a href="http://www.chessbase.com/newsdetail.asp?newsid=7569"&gt;&lt;strong&gt;very interesting related article&lt;/strong&gt;&lt;/a&gt; on their website which I would commend to all readers interested in the gender discussion. It turns out that some research now suggests that there are differences between men and women when it comes to how they approach their&amp;nbsp;chess playing. Or, rather, there are differences to their approach&amp;nbsp;when men play against attractive women!&amp;nbsp;Evidently a man playing a game against an attractive woman is much more likely to essay an aggressive opening system and take more risks to try and win the game. On the other hand, women are unlikely to change their approach when playing against men, regardless of whether or not they think they are attractive! So, there you go, some kind of answer to&amp;nbsp;the original question I posed in the introduction to this post.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7489746740971456738-2790448292592811578?l=travailpursuit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://travailpursuit.blogspot.com/feeds/2790448292592811578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://travailpursuit.blogspot.com/2011/10/dark-art-of-gameswomanship.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/2790448292592811578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/2790448292592811578'/><link rel='alternate' type='text/html' href='http://travailpursuit.blogspot.com/2011/10/dark-art-of-gameswomanship.html' title='The Dark art of games(wo)manship'/><author><name>Intermezzo</name><uri>http://www.blogger.com/profile/09506234400044036036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-iHZo_2ih0N4/Tk8fDJOwLwI/AAAAAAAAAbw/g8nhLUzoNlA/s220/Phil%2527s%2BPhotos%2B033.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-hScWYKAms-4/TphrNCSS9AI/AAAAAAAAAfk/AwJODKtfZNs/s72-c/rudyard-kipling.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7489746740971456738.post-3967950156326627173</id><published>2011-12-30T18:09:00.000-08:00</published><updated>2011-12-30T18:09:51.802-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sacrifice. King in the Centre'/><category scheme='http://www.blogger.com/atom/ns#' term='2011'/><category scheme='http://www.blogger.com/atom/ns#' term='French Defence'/><category scheme='http://www.blogger.com/atom/ns#' term='Pin'/><category scheme='http://www.blogger.com/atom/ns#' term='Intermezzo'/><category scheme='http://www.blogger.com/atom/ns#' term='Attack on the king'/><title type='text'>An Early Christmas Present</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-MQ2lXaO5y1o/Tv5tXlB_GmI/AAAAAAAAAis/TsO76cSwka8/s1600/Christmas+Present.jpg" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="213" rea="true" src="http://2.bp.blogspot.com/-MQ2lXaO5y1o/Tv5tXlB_GmI/AAAAAAAAAis/TsO76cSwka8/s320/Christmas+Present.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Merry Christmas and a Happy New Year! Photo from&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/rennasverden/"&gt;Rennings' photo stream&lt;/a&gt; on Flickr&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;What does every chess player want for Christmas? Well, I can't speak on behalf of every woodpusher, but for me it's really simple. I just want to play a really interesting and exciting game! There are three key ingredients that make an enjoyable encounter&amp;nbsp;in my book although I do recognise these won't be everyone's cup of tea: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Monstrous complexity: a game that is so impossibly hard to assess at the board that it leaves you feeling physically exhausted and your head reeling for 24 hours afterwards! &lt;/li&gt;&lt;li&gt;Imbalance: an encounter where the three core elements of chess: space, time and force (material) are dynamic and imbalanced but roughly equal. &lt;/li&gt;&lt;li&gt;Aesthetic appeal: a pretty or unusual combination, manouevre or concept. Or a checkmate, preferably involving a king hunt. &lt;/li&gt;&lt;/ol&gt;How fortunate for me then that I had a game of just this sort last week? All the more so because it ended with me winning! Here is a game that is spawned out of a favorite opening variation of mine which brings mind-bending complexity, an imbalance of material, plenty of excitement and, in this case at least, an interesting tactical motif that is repeated throughout the game and in the sub-variations. So, for a bit of festive fun lets count the number of times in this game that a piece is attacked by a piece of lower value than itself and simply refuses to move itself. &lt;br /&gt;&lt;br /&gt;&lt;style&gt;/* General */.ahb {        font-family: Tahoma;        font-size: 10pt;}.ahb img {        border: 0px;        margin: 0px;}/* END General *//* Game header &amp; board panel */        a#flipiconCSHSFI {        }                #flipiconCSHSFI img {                border: 0px;        }        /* END Game header panel *//* Board */        table#game_boardCSHSFI {                position: relative;                width: 296px;                height: 296px;                background: #6288b9;                left: -1px;                top: -1px;                font-size: 9px;                font-weight: bold;                color: white;        }                table#game_boardCSHSFI td {                text-align: center;                padding: 0px;                margin: 0px;        }                table#game_boardCSHSFI td img {                padding: 0px;                margin: 0px;                border: 0px;        }        table#game_boardCSHSFI td.corner {                width: 15px;                height: 15px;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardCSHSFI td.lettertop {                width: 33px;                height: 15px;                vertical-align: middle;                border-bottom: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }        table#game_boardCSHSFI td.letterbottom {                width: 33px;                height: 15px;                vertical-align: middle;                border-top: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardCSHSFI td.numberleft {                width: 15px;                height: 33px;                vertical-align: middle;                border-right: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }        table#game_boardCSHSFI td.numberright {                width: 15px;                height: 33px;                vertical-align: middle;                border-left: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardCSHSFI td.white {                background: url('http://www.chessok.com/common/images/board/white_blue.jpg') no-repeat;                width: 33px;                height: 33px;        }                table#game_boardCSHSFI td.black {                background: url('http://www.chessok.com/common/images/board/black_blue.jpg') no-repeat;        }/* END Board *//* Board SVG */div#board_svgCSHSFI {        position: absolute;        z-index: 10;}/* END Board SVG *//* Drop Shadow technics */        div.shadow1table {                margin-top: 5px;                background: #cfcfcf;                position: absolute;                width: 296px;                top: 3px;                left: 3px;        }                div.shadow2 {                background: #707070;                position: relative;                top: -1px;                left: -1px;        }/* END Drop Shadow technics */&lt;/style&gt;&lt;style&gt;/*----------Text Styles----------*/.unknown HR { color: #DD0000}.unknown /* unknown */{  font-size: 10pt;  font-family: "Tahoma";  font-style: normal;  font-weight: normal;  color: #DD0000;  text-decoration: none;}SPAN.text{  color: #000000;  font-size: 10pt;}SPAN.header1{  font-size: 14pt;  color: #004080;}SPAN.header2{  font-size: 12pt;  color: #004080;}SPAN.header3{  font-size: 10pt;  color: #004080;}SPAN.header{  font-size: 10pt;  color: #111111;  font-weight: bold;}SPAN.headerb{  font-size: 10pt;  color: #111111;}A.link, SPAN.link{  color: #0000FF;  text-decoration: underline;}A.RVTS5:hover { color: #5050FF; }A.line0, .line0{  font-weight: bold;  color: #2249DF;  text-decoration: none;}A.RVTS6:hover { color: #5050FF; }A.line1, .line1{  color: black;}A.RVTS7:hover { color: #5050FF; }A.line2, .line2{  color: #0049DF;}A.RVTS8:hover { color: #974B00; }.line3{}/* ---------- Container styles ----------- */div.aqscontainer {    position: relative;    height:296px;    padding-top:6px;}div.aqsnotation {    background-color: #FEFEFF;    margin-left: 305px;     max-height: 274px;     max-width: 296px;     border:solid 1px #009;     overflow-y:auto;    overflow-x:hidden;    padding: 3px;}div.aqslink {    background-color: #FEFEFF;    margin-left: 305px;     max-width: 296px;     overflow-y:auto;    overflow-x:hidden;    padding: 3px;        text-align: left;        font-size: 8pt;}/*----------Para Styles----------*/.ahb P,.ahb UL,.ahb OL /* Paragraph Style */{  font-size: 10pt;  text-align: left;  text-indent: 0px;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 0px;}.RVPS1 /* Centered */{  text-align: center;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 0px;}&lt;/style&gt;&lt;style&gt;a.footer{font-family:verdana;font-size:9px;color:#6c8abe;text-decoration:underline;line-height:12px;}.foot{font-family:verdana;font-size:9px;line-height:12px;color:#6c8abe;background:#052B69;padding-bottom:3px;margin:5px 0;}a.footer:hover{color:#ffffff}.link{cursor:pointer;}.line0{cursor:pointer;}.line1{cursor:pointer;}.line2{cursor:pointer;}.header1{margin-left: 10px;}.header2{margin-left: 10px;}.header3{margin-left: 10px;}&lt;/style&gt;&lt;script type="text/javascript"&gt;var FENsCSHSFI = new Array (   "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -",   "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq -",   "rnbqkbnr/pppp1ppp/4p3/8/4P3/8/PPPP1PPP/RNBQKBNR w KQkq -",   "rnbqkbnr/pppp1ppp/4p3/8/3PP3/8/PPP2PPP/RNBQKBNR b KQkq -",   "rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/8/PPP2PPP/RNBQKBNR w KQkq -",   "rnbqkbnr/ppp2ppp/4p3/3p4/3PP3/8/PPPN1PPP/R1BQKBNR b KQkq -",   "rnbqkb1r/ppp2ppp/4pn2/3p4/3PP3/8/PPPN1PPP/R1BQKBNR w KQkq -",   "rnbqkb1r/ppp2ppp/4pn2/3pP3/3P4/8/PPPN1PPP/R1BQKBNR b KQkq -",   "rnbqkb1r/pppn1ppp/4p3/3pP3/3P4/8/PPPN1PPP/R1BQKBNR w KQkq -",   "rnbqkb1r/pppn1ppp/4p3/3pP3/3P4/2P5/PP1N1PPP/R1BQKBNR b KQkq -",   "rnbqkb1r/pp1n1ppp/4p3/2ppP3/3P4/2P5/PP1N1PPP/R1BQKBNR w KQkq -",   "rnbqkb1r/pp1n1ppp/4p3/2ppP3/3P4/2PB4/PP1N1PPP/R1BQK1NR b KQkq -",   "r1bqkb1r/pp1n1ppp/2n1p3/2ppP3/3P4/2PB4/PP1N1PPP/R1BQK1NR w KQkq -",   "r1bqkb1r/pp1n1ppp/2n1p3/2ppP3/3P4/2PB4/PP1NNPPP/R1BQK2R b KQkq -",   "r1bqkb1r/pp1n1ppp/2n1p3/3pP3/3p4/2PB4/PP1NNPPP/R1BQK2R w KQkq -",   "r1bqkb1r/pp1n1ppp/2n1p3/3pP3/3P4/3B4/PP1NNPPP/R1BQK2R b KQkq -",   "r1bqkb1r/pp1n2pp/2n1pp2/3pP3/3P4/3B4/PP1NNPPP/R1BQK2R w KQkq -",   "r1bqkb1r/pp1n2pp/2n1pp2/3pP3/3P1N2/3B4/PP1N1PPP/R1BQK2R b KQkq -",   "r1bqkb1r/pp1n2pp/4pp2/3pP3/3n1N2/3B4/PP1N1PPP/R1BQK2R w KQkq -",   "r1bqkb1r/pp1n2pp/4pp2/3pP2Q/3n1N2/3B4/PP1N1PPP/R1B1K2R b KQkq -",   "r1bq1b1r/pp1nk1pp/4pp2/3pP2Q/3n1N2/3B4/PP1N1PPP/R1B1K2R w KQ -",   "r1bq1b1r/pp1nk1pp/4pP2/3p3Q/3n1N2/3B4/PP1N1PPP/R1B1K2R b KQ -",   "r1bq1b1r/pp2k1pp/4pn2/3p3Q/3n1N2/3B4/PP1N1PPP/R1B1K2R w KQ -",   "r1bq1b1r/pp2k1pp/4pnN1/3p3Q/3n4/3B4/PP1N1PPP/R1B1K2R b KQ -",   "r1bq1b1r/pp2k1p1/4pnp1/3p3Q/3n4/3B4/PP1N1PPP/R1B1K2R w KQ -",   "r1bq1b1Q/pp2k1p1/4pnp1/3p4/3n4/3B4/PP1N1PPP/R1B1K2R b KQ -",   "r1bq1b1Q/pp3kp1/4pnp1/3p4/3n4/3B4/PP1N1PPP/R1B1K2R w KQ -",   "r1bq1b2/pp3kp1/4pnp1/3p4/3n3Q/3B4/PP1N1PPP/R1B1K2R b KQ -",   "r1bq1b1Q/pp3kp1/4pnp1/3p4/3n4/3B4/PP1N1PPP/R1B2RK1 b - -",   "r1bq1b1Q/pp3kp1/5np1/3pp3/3n4/3B4/PP1N1PPP/R1B2RK1 w - -",   "r1bq1b1Q/pp3kp1/5np1/3pp3/3n4/1N1B4/PP3PPP/R1B2RK1 b - -",   "r1bq1b1Q/pp3kp1/5np1/3pp3/8/1n1B4/PP3PPP/R1B2RK1 w - -",   "r1bq1b1Q/pp3kp1/5np1/3pp3/8/1P1B4/1P3PPP/R1B2RK1 b - -",   "r2q1b1Q/pp3kp1/5np1/3ppb2/8/1P1B4/1P3PPP/R1B2RK1 w - -",   "r2q1b1Q/pp3kp1/5np1/3ppB2/8/1P6/1P3PPP/R1B2RK1 b - -",   "r2q1b1Q/pp3kp1/5n2/3ppp2/8/1P6/1P3PPP/R1B2RK1 w - -",   "r2q1b2/pp3kp1/5n2/3ppp2/8/1P5Q/1P3PPP/R1B2RK1 b - -",   "r2q1b2/pp3k2/5np1/3ppp2/8/1P5Q/1P3PPP/R1B2RK1 w - -",   "r1bq1b2/pp3kp1/5np1/3pp3/3n3Q/3B4/PP1N1PPP/R1B1K2R w KQ -",   "r1bq1b2/pp3kp1/5np1/3pp3/3n3Q/3B1N2/PP3PPP/R1B1K2R b KQ -",   "r1bq4/pp3kp1/5np1/3pp3/1b1n3Q/3B1N2/PP3PPP/R1B1K2R w KQ -",   "r1bq1b2/pp3kp1/5np1/3p4/3np2Q/3B1N2/PP3PPP/R1B1K2R w KQ -",   "r1bq1b2/pp3kp1/5np1/3p4/3Np2Q/3B4/PP3PPP/R1B1K2R b KQ -",   "r1bq4/pp3kp1/5np1/3p4/1b1Np2Q/3B4/PP3PPP/R1B1K2R w KQ -",   "r1bq4/pp3kp1/5np1/3p4/1b1Np2Q/3B4/PP1B1PPP/R3K2R b KQ -",   "r1bq4/pp3kp1/5np1/3p4/3Np2Q/3B4/PP1b1PPP/R3K2R w KQ -",   "r1bq4/pp3kp1/5np1/3p4/3Np2Q/3B4/PP1K1PPP/R6R b - -",   "r1b5/pp3kp1/5np1/q2p4/3Np2Q/3B4/PP1K1PPP/R6R w - -",   "r1b5/pp3kp1/5np1/q2p4/3Np2Q/3B4/PP3PPP/R2K3R b - -",   "r1b5/pp3kp1/5np1/q2p4/3N3Q/3p4/PP3PPP/R2K3R w - -",   "r1b5/pp3kp1/5np1/q2p4/7Q/1N1p4/PP3PPP/R2K3R b - -",   "r1b5/ppq2kp1/5np1/3p4/7Q/1N1p4/PP3PPP/R2K3R w - -",   "r1b5/ppq2kp1/5np1/3p4/7Q/1N1p4/PP3PPP/2RK3R b - -",   "r1b5/pp3kp1/5np1/3pq3/7Q/1N1p4/PP3PPP/2RK3R w - -",   "r1b5/pp3kp1/5np1/3pq3/7Q/1N1p4/PP3PPP/2RKR3 b - -",   "r1b5/pp3kp1/5np1/3p4/7Q/1N1p4/Pq3PPP/2RKR3 w - -",   "r1b5/pp3kp1/5np1/3p4/3Q4/1N1p4/Pq3PPP/2RKR3 b - -",   "r1b5/pp3kp1/5np1/3p4/3Q4/1N1p4/q4PPP/2RKR3 w - -",   "r1b5/ppR2kp1/5np1/3p4/3Q4/1N1p4/q4PPP/3KR3 b - -",   "r7/ppRb1kp1/5np1/3p4/3Q4/1N1p4/q4PPP/3KR3 w - -",   "r7/ppRb1kp1/5np1/3p4/8/1N1Q4/q4PPP/3KR3 b - -",   "2r5/ppRb1kp1/5np1/3p4/8/1N1Q4/q4PPP/3KR3 w - -",   "2r5/pR1b1kp1/5np1/3p4/8/1N1Q4/q4PPP/3KR3 b - -",   "r1bq4/pp3kp1/5np1/3pp3/1b1n3Q/3B1N2/PP3PPP/R1B2K1R b - -",   "r1bq4/pp3kp1/5np1/3pp3/1b1n3Q/3B1N2/PP1B1PPP/R3K2R b KQ -",   "r1bq4/pp3kp1/5np1/3pp3/1b5Q/3B1n2/PP1B1PPP/R3K2R w KQ -",   "r1bq4/pp3kp1/5np1/3pp3/1b5Q/3B1P2/PP1B1P1P/R3K2R b KQ -",   "r1bq4/pp3kp1/5np1/3pp3/7Q/3B1P2/PP1b1P1P/R3K2R w KQ -",   "r1bq4/pp3kp1/5np1/3p4/1b1np2Q/3B1N2/PP3PPP/R1B2K1R w - -",   "r1bq4/pp3kp1/5np1/3p4/1b1Np2Q/3B4/PP3PPP/R1B2K1R b - -",   "r1bq4/pp3kp1/5np1/3p4/1b1N3Q/3p4/PP3PPP/R1B2K1R w - -",   "r1bq4/pp3kp1/5np1/3p4/1b5Q/1N1p4/PP3PPP/R1B2K1R b - -",   "r1bq4/pp3kp1/5np1/3p2B1/1b1N3Q/3p4/PP3PPP/R4K1R b - -",   "r2q4/pp1b1kp1/5np1/3p2B1/1b1N3Q/3p4/PP3PPP/R4K1R w - -",   "r2q4/pp1b1kp1/5np1/3p2B1/1b1N3Q/3p2P1/PP3P1P/R4K1R b - -",   "r2q2k1/pp1b2p1/5np1/3p2B1/1b1N3Q/3p2P1/PP3P1P/R4K1R w - -",   "r2q2k1/pp1b2p1/5np1/3p2B1/1b1N3Q/3p2P1/PP3PKP/R6R b - -",   "r5k1/pp1b2p1/1q3np1/3p2B1/1b1N3Q/3p2P1/PP3PKP/R6R w - -",   "r5k1/pp1b2p1/1q3Bp1/3p4/1b1N3Q/3p2P1/PP3PKP/R6R b - -",   "r5k1/pp1b4/1q3pp1/3p4/1b1N3Q/3p2P1/PP3PKP/R6R w - -",   "r1bq4/pp3kp1/5np1/3p4/1b1N3Q/3pB3/PP3PPP/R4K1R b - -",   "r1b5/pp2qkp1/5np1/3p4/1b5Q/1N1p4/PP3PPP/R1B2K1R w - -",   "r1b5/pp2qkp1/5np1/3p4/1b5Q/1N1pB3/PP3PPP/R4K1R b - -",   "r7/pp2qkp1/5np1/3p4/1b4bQ/1N1pB3/PP3PPP/R4K1R w - -",   "r7/pp2qkp1/5np1/3p4/1b4bQ/PN1pB3/1P3PPP/R4K1R b - -",   "r7/pp2qkp1/5np1/3p4/1b4bQ/1N1pB2P/PP3PP1/R4K1R b - -",   "r7/pp2qkp1/5np1/3p4/1b5Q/1N1pB2P/PP2bPP1/R4K1R w - -",   "r7/pp2qkp1/5np1/3p4/1b5Q/1N1pB2P/PP2bPP1/R5KR b - -",   "2r5/pp2qkp1/5np1/3p4/1b5Q/1N1pB2P/PP2bPP1/R5KR w - -",   "r7/pp2qkp1/5np1/3p4/1b4bQ/PN2B3/1P1p1PPP/R4K1R w - -",   "r7/pp2qkp1/5np1/3p4/1P4bQ/1N2B3/1P1p1PPP/R4K1R b - -",   "r7/pp2qkp1/5np1/3p4/1P4bQ/1N2B3/1P3PPP/R2q1K1R w - -",   "r7/pp3kp1/5np1/3p4/1q4bQ/1N2B3/1P1p1PPP/R4K1R w - -",   "r7/pp3kp1/5np1/3p4/1q4bQ/1N2BP2/1P1p2PP/R4K1R b - -",   "r7/pp3kp1/5np1/3p4/6bQ/1q2BP2/1P1p2PP/R4K1R w - -",   "r7/pp3kp1/5np1/3p4/6bQ/1q2BP2/1P1p1KPP/R6R b - -",   "r5k1/pp4p1/5np1/3p4/6bQ/1q2BP2/1P1p1KPP/R6R w - -",   "r5k1/pp4p1/5np1/3p4/6bQ/1q3P2/1P1B1KPP/R6R b - -",   "r5k1/pp4p1/1q3np1/3p4/6bQ/5P2/1P1B1KPP/R6R w - -",   "r5k1/pp4p1/1q3np1/3p4/6bQ/5P2/1P1B2PP/R4K1R b - -",   "r5k1/pp4p1/5np1/3p4/6bQ/5P2/1q1B2PP/R4K1R w - -",   "r5k1/pp4p1/5np1/3p4/6b1/5P2/1q1B2PP/R3QK1R b - -",   "r7/pp2qkp1/5np1/3p4/1P4bQ/1N2B3/1P3PPP/3R1K1R b - -",   "r7/pp2qkp1/5np1/3p4/1P5Q/1N2B3/1P3PPP/3b1K1R w - -",   "r7/pp2qkp1/5np1/2Np4/1P5Q/4B3/1P3PPP/3b1K1R b - -",   "r7/pp2qkp1/5np1/2Np4/1P4bQ/4B3/1P3PPP/5K1R w - -",   "r7/p3qkp1/1p3np1/2Np4/1P5Q/4B3/1P3PPP/3b1K1R w - -",   "r7/p3qkp1/1p3np1/3p4/1P5Q/3NB3/1P3PPP/3b1K1R b - -",   "r7/p3qkp1/1p3np1/3p4/1P5Q/3NB3/1Pb2PPP/5K1R w - -",   "r7/p3qkp1/1p3np1/3p4/1P5Q/3NB3/1Pb1KPPP/7R b - -",   "2r5/p3qkp1/1p3np1/3p4/1P5Q/3NB3/1Pb1KPPP/7R w - -",   "r7/pp2qkp1/5np1/2Np4/1P4bQ/4B2P/1P3PP1/5K1R b - -",   "r7/pp2qkp1/5np1/2N5/1P1p2bQ/4B2P/1P3PP1/5K1R w - -",   "r7/pp2qkp1/5np1/2Np1b2/1P5Q/4B2P/1P3PP1/5K1R w - -",   "r7/pp2qkp1/5np1/2Np1b2/1P3Q2/4B2P/1P3PP1/5K1R b - -",   "r5k1/pp2q1p1/5np1/2Np1b2/1P3Q2/4B2P/1P3PP1/5K1R w - -",   "r5k1/pp2q1p1/5np1/2Np1b2/1P3Q2/4B2P/1P3PP1/6KR b - -",   "r5k1/p3q1p1/1p3np1/2Np1b2/1P3Q2/4B2P/1P3PP1/6KR w - -",   "r5k1/p3q1p1/1p3np1/3p1b2/1P3Q2/1N2B2P/1P3PP1/6KR b - -",   "2r3k1/p3q1p1/1p3np1/3p1b2/1P3Q2/1N2B2P/1P3PP1/6KR w - -",   "2r3k1/p3q1p1/1p3np1/3p1b2/1P1N1Q2/4B2P/1P3PP1/6KR b - -",   "r7/pp2qkp1/5np1/2N5/1P1p2PQ/4B3/1P3PP1/5K1R b - -",   "r7/pp2qkp1/5np1/2N5/1P4PQ/4p3/1P3PP1/5K1R w - -",   "r7/pp2qkp1/5np1/2N3P1/1P5Q/4p3/1P3PP1/5K1R b - -",   "3r4/pp2qkp1/5np1/2N3P1/1P5Q/4p3/1P3PP1/5K1R w - -",   "3r4/pp2qkp1/5np1/2N3P1/1PQ5/4p3/1P3PP1/5K1R b - -",   "3r4/pp2qkp1/6p1/2Nn2P1/1PQ5/4p3/1P3PP1/5K1R w - -",   "3r4/pp2qkp1/6p1/2Nn2P1/1PQ5/4P3/1P4P1/5K1R b - -",   "3r4/pp2qkp1/6p1/2Nn2P1/1PQ4R/4p3/1P3PP1/5K2 b - -",   "3r4/p3qkp1/6p1/1pNn2P1/1PQ4R/4p3/1P3PP1/5K2 w - -",   "3r4/p3qkp1/6p1/1pNn2P1/1P2Q2R/4p3/1P3PP1/5K2 b - -",   "3r4/p3qkp1/6p1/1pNn2P1/1P5R/1Q2p3/1P3PP1/5K2 b - -",   "3r4/p4kp1/6p1/1pNn2q1/1P5R/1Q2p3/1P3PP1/5K2 w - -",   "3r4/p4kp1/6p1/1pNn2q1/1P2R3/1Q2p3/1P3PP1/5K2 b - -",   "3r4/p4kp1/6p1/1pNn2q1/1P2R3/1Q6/1P3pP1/5K2 w - -",   "3r4/p4kp1/4N1p1/1p1n2q1/1P2R3/1Q6/1P3pP1/5K2 b - -",   "3r4/p4kp1/4N1p1/1p1n4/1P2R3/1Q6/1P3pP1/2q2K2 w - -",   "3r4/p4kp1/4N1p1/1p1n4/1P2R3/1Q6/1P3KP1/2q5 b - -",   "8/p4kp1/3rN1p1/1p1n4/1P2R3/1Q6/1P3KP1/2q5 w - -",   "3r4/p3qkp1/6p1/1pNn2P1/1P2Q2R/8/1P3pP1/5K2 w - -",   "3r4/p3qkp1/6p1/1pNn2P1/1P2Q2R/8/1P3KP1/8 b - -",   "3r4/p4kp1/6p1/1pNn2P1/1P2q2R/8/1P3KP1/8 w - -",   "3r4/p4kp1/6p1/1pNn2P1/1P2R3/8/1P3KP1/8 b - -",   "3r4/pp3kp1/6p1/2Nn2P1/1PQ5/4q3/1P4P1/5K1R w - -",   "3r4/pp3kp1/6p1/2Nn2P1/1PQ5/4q2R/1P4P1/5K2 b - -",   "3r4/pp3kp1/6p1/2Nn2q1/1PQ5/7R/1P4P1/5K2 w - -",   "3r4/pp2k1p1/6p1/2Nn2P1/1PQ5/4q2R/1P4P1/5K2 w - -",   "3r4/pp2k1p1/6p1/2Nn2P1/1P2Q3/4q2R/1P4P1/5K2 b - -",   "3r4/pp2k1p1/6p1/2Nn2P1/1P2q3/7R/1P4P1/5K2 w - -",   "3r4/pp2k1p1/6p1/3n2P1/1P2N3/7R/1P4P1/5K2 b - -",   "3r4/pp2k1p1/6p1/6P1/1n2N3/7R/1P4P1/5K2 w - -",   "3r4/pp3kp1/6p1/2Nn2q1/1PQ5/5R2/1P4P1/5K2 b - -",   "3rk3/pp4p1/6p1/2Nn2q1/1PQ5/5R2/1P4P1/5K2 w - -",   "3r2k1/pp4p1/6p1/2Nn2q1/1PQ5/5R2/1P4P1/5K2 w - -",   "3r2k1/pp4p1/4N1p1/3n2q1/1PQ5/5R2/1P4P1/5K2 b - -",   "3r2k1/pp4p1/1n2N1p1/6q1/1PQ5/5R2/1P4P1/5K2 w - -",   "3r2k1/pp4p1/1n2N1p1/6q1/1P6/2Q2R2/1P4P1/5K2 b - -",   "3r2k1/pp4p1/1n2N1p1/1q6/1P6/2Q2R2/1P4P1/5K2 w - -",   "3r2k1/pp4p1/1n2N1p1/1q6/1P6/2Q2R2/1P4P1/4K3 b - -",   "3r2k1/pp1q2p1/1n2N1p1/8/1P6/2Q2R2/1P4P1/4K3 w - -",   "3N2k1/pp1q2p1/1n4p1/8/1P6/2Q2R2/1P4P1/4K3 b - -",   "3q2k1/pp4p1/1n4p1/8/1P6/2Q2R2/1P4P1/4K3 w - -",   "3q2k1/pp4p1/1n4p1/4Q3/1P6/5R2/1P4P1/4K3 b - -",   "3rk3/pp4p1/6p1/1QNn2q1/1P6/5R2/1P4P1/5K2 b - -",   "3r4/pp2k1p1/6p1/1QNn2q1/1P6/5R2/1P4P1/5K2 w - -",   "3r4/pp2k1p1/6p1/2Nn2q1/1P6/5R2/1P2Q1P1/5K2 b - -",   "3r4/pQ2k1p1/6p1/2Nn2q1/1P6/5R2/1P4P1/5K2 b - -",   "3r4/pQ4p1/3k2p1/2Nn2q1/1P6/5R2/1P4P1/5K2 w - -",   "3r4/pQ4p1/3k2p1/3n2q1/1P2N3/5R2/1P4P1/5K2 b - -",   "3r4/pQ4p1/6p1/3nk1q1/1P2N3/5R2/1P4P1/5K2 w - -",   "3r4/pQ4p1/6p1/3nk1N1/1P6/5R2/1P4P1/5K2 b - -",   "3r4/pp4p1/3k2p1/2Nn2q1/1P6/5R2/1P2Q1P1/5K2 w - -",   "3r4/pp2k1p1/6p1/2N3q1/1P6/4nR2/1P2Q1P1/5K2 w - -",   "3r4/pp2k1p1/6p1/2N3q1/1P6/4R3/1P2Q1P1/5K2 b - -",   "3r4/pp3kp1/6p1/2N3q1/1P6/4R3/1P2Q1P1/5K2 w - -",   "3r4/pp3kp1/6p1/2N3q1/1P6/5R2/1P2Q1P1/5K2 b - -",   "3r2k1/pp4p1/6p1/2N3q1/1P6/5R2/1P2Q1P1/5K2 w - -",   "3r2k1/pp4p1/4Q1p1/2N3q1/1P6/5R2/1P4P1/5K2 b - -",   "3r4/pp4pk/4Q1p1/2N3q1/1P6/5R2/1P4P1/5K2 w - -",   "3r4/pp4pk/4Q1p1/2N3q1/1P6/7R/1P4P1/5K2 b - -",   "3r4/pp4pk/4Q1p1/2N4q/1P6/7R/1P4P1/5K2 w - -",   "3r4/pp4p1/3kQ1p1/2Nn2q1/1P6/5R2/1P4P1/5K2 b - -",   "3r4/ppk3p1/4Q1p1/2Nn2q1/1P6/5R2/1P4P1/5K2 w - -",   "3r4/ppk2Rp1/4Q1p1/2Nn2q1/1P6/8/1P4P1/5K2 b - -",   "1k1r4/pp3Rp1/4Q1p1/2Nn2q1/1P6/8/1P4P1/5K2 w - -",   "1k1r4/pR4p1/4Q1p1/2Nn2q1/1P6/8/1P4P1/5K2 b - -",   "k2r4/pR4p1/4Q1p1/2Nn2q1/1P6/8/1P4P1/5K2 w - -",   "k2r4/R5p1/4Q1p1/2Nn2q1/1P6/8/1P4P1/5K2 b - -");var VarLevelsCSHSFI = new Array (   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   0,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,   1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,   0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,   1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,2,2,2,2,   2,2,2,2,1,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,   1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0);var MoveNumsCSHSFI = new Array (   0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,   27,27,28,29,30,31,32,33,34,35,36,28,29,30,30,31,32,33,34,35,36,37,38,39,40,41,42,   43,44,45,46,47,48,49,50,51,31,31,32,33,34,32,33,34,35,35,36,37,38,39,40,41,42,35,   36,37,38,39,39,40,41,42,40,41,42,42,43,44,45,46,47,48,49,50,51,43,44,45,46,46,47,   48,49,50,47,48,48,49,50,51,52,53,54,55,49,50,51,52,53,54,55,55,56,57,57,58,59,60,   61,62,63,64,58,59,60,61,56,57,58,58,59,60,61,62,59,60,60,61,62,63,64,65,66,67,68,   69,61,62,63,63,64,65,66,67,64,64,65,66,67,68,69,70,71,72,65,66,67,68,69,70,71);&lt;/script&gt;&lt;script type="text/javascript"&gt;function chessBoardCSHSFI() {        // Board square notation        this.numbers = [0, 8, 7, 6, 5, 4, 3, 2, 1];        this.letters = ["0", "a", "b", "c", "d", "e", "f", "g", "h"];        // Variables used to load/save FEN        // The piece to move now        this.currentMove;        // State of castling        this.castling;        // If there's enpassant pawn        this.enPassant;        // Number of halfmoves        this.halfMoves;        // Full number of moves        this.fullMoves;        // Holds references to pieces         // piece object contains name, color and reference to board square its in        this.pieces = [];        // Board squares        // These that hold a piece contain reference to piece object (so board squares and piece are circle referenced)        this.squares = [];        this.squares["a"] = [];        this.squares["b"] = [];        this.squares["c"] = [];        this.squares["d"] = [];        this.squares["e"] = [];        this.squares["f"] = [];        this.squares["g"] = [];        this.squares["h"] = [];        for(var keyVar in this.squares) {                for(var j = 1; j &lt;= 8; j++) {                        this.squares[keyVar][j] = new boardSquare(keyVar, j);                }        }}// Prototype function used to load FEN into boardchessBoardCSHSFI.prototype.loadFEN =         function(FEN) {                for(var keyVar in this.squares) {                  if (/^[a-f]$/.test(keyVar)) {                        for(var j = 1; j &lt;= 8; j++) {                                this.squares[keyVar][j].piece = null;                        }                  }                }                delete this.pieces;                this.pieces = [];                var FENArray = FEN.split(" ");                var boardArray = FENArray[0].split("/");                for(var lines = 1; lines &lt;= 8; lines++) {                        var line = boardArray[lines - 1].split("");                        var colsY = 1;                        for(var cols = 1; cols &lt;= line.length; cols++) {                                var letter = line[cols - 1];                                var color;                                if (/[rbqkpn]/.test(letter)) {                                        color = "black";                                } else if (/[RBQKPN]/.test(letter)) {                                        color = "white";                                } else {                                        colsY = parseInt(colsY) + parseInt(letter);                                        continue;                                }                                switch(letter.toLowerCase()) {                                        case "r":                                                name = "rook";                                                break;                                        case "b":                                                name = "bishop";                                                break;                                        case "q":                                                name = "queen";                                                break;                                        case "k":                                                name = "king";                                                break;                                        case "p":                                                name = "pawn";                                                break;                                        case "n":                                                name = "knight";                                                break;                                        default:                                                break;                                }                                var x = this.letters[colsY];                                var y = this.numbers[lines];                                this.addPiece(name, color, x, y);                                colsY++;                        }                }                if (FENArray[1] == "b")                        this.currentMove = "black";                else                        this.currentMove = "white";                this.castling = FENArray[2];                this.enPassant = FENArray[3];                this.halfMoves = FENArray[4];                this.fullMoves = FENArray[5];        }// Create piece objects and place a reference to them for square they're inchessBoardCSHSFI.prototype.addPiece =         function(name, color, x, y) {                var newPiece = new boardPiece(name, color);                newPiece.square = this.squares[x][y];                this.pieces.push(newPiece);                this.squares[x][y].piece = newPiece;        }// MoveHandlerchessBoardCSHSFI.prototype.moveHandler =        function(piece, fromX, fromY, toX, toY, capture, promotion, promoteTo, varNum) {                // Make piece move                this.makeMove(fromX, fromY, toX, toY, capture);                if (piece == "pawn") {                        // White pawns move "up", black move "down"                        var mod;                        if (this.currentMove == "white")                                 mod = 1;                        else                                mod = -1;                        // if enPassant capture, manually remove piece, as makeMove is simple and doesn't handle this                        if (capture &amp;&amp; toX + toY == this.enPassant) {                                this.squares[toX][toY - mod].piece.square = null;                                this.squares[toX][toY - mod].piece = null;                        }                        // Set enPassant if needed                        if (Math.abs(toY - fromY) == 2)                                this.enPassant = toX + (parseInt(toY) - mod);                        else                                this.enPassant = "-";                        // Set the promotion piece if so                        if(promotion) {                                this.squares[toX][toY].piece.name = promoteTo;                        }                } else {                        this.enPassant = "-";                        // Handle castling if rook moves                        if (piece == "rook" &amp;&amp; this.castling != "-") {                                if (fromX == "a" &amp;&amp; fromY == 8) {                                        this.castling = this.castling.replace(/q/, "");                                } else if (fromX == "h" &amp;&amp; fromY == 8) {                                        this.castling = this.castling.replace(/k/, "");                                } else if (fromX == "a" &amp;&amp; fromY == 1) {                                        this.castling = this.castling.replace(/Q/, "");                                } else if (fromX == "h" &amp;&amp; fromY == 1) {                                        this.castling = this.castling.replace(/K/, "");                                }                        }                        if (piece == "king" &amp;&amp; this.castling != "-") {                                if (this.currentMove == "white") {                                        this.castling = this.castling.replace(/K/, "");                                        this.castling = this.castling.replace(/Q/, "");                                } else {                                        this.castling = this.castling.replace(/k/, "");                                        this.castling = this.castling.replace(/q/, "");                                }                        }                        // If castling is empty after above                        if (this.castling == "") {                                this.castling = "-";                        }                }                if(piece == "pawn" || promotion || capture) {                        this.halfMoves = 0;                } else {                        this.halfMoves++;                }                if (this.currentMove == "black")                        this.fullMoves++;                this.switchMove();        }// Handles the castlingchessBoardCSHSFI.prototype.castle =         function(castling) {                var line;                if (this.currentMove == "white")                        line = 1;                else                        line = 8;                                        if (/^O-O\+?$/.test(castling)) {                        this.makeMove("e", line, "g", line);                        this.makeMove("h", line, "f", line);                } else {                        this.makeMove("e", line, "c", line);                        this.makeMove("a", line, "d", line);                }                var castlestrip;                if (this.currentMove == "white")                        castlestrip = /[KQ]/g;                else                        castlestrip = /[kq]/g;                this.enPassant = "-";                this.halfMoves++;                if (this.currentMove == "black")                        this.fullMoves++;                this.castling = this.castling.replace(castlestrip, "");                if (this.castling == "")                        this.castling = "-";                this.switchMove();        }// Search for pieces by name, color and either (or both) of coordinates// Returns an array of matches - corresponding indexes of pieces arraychessBoardCSHSFI.prototype.getPiece =         function(name, color, x, y) {                var result = new Array();                for(var i = 0; i &lt; this.pieces.length; i++) {                        if (this.pieces[i].name == name &amp;&amp; this.pieces[i].color == color &amp;&amp; this.pieces[i].square != null &amp;&amp; ((x &amp;&amp; this.pieces[i].square.x == x) || !x) &amp;&amp; ((y &amp;&amp; this.pieces[i].square.y == y) || !y)) {                                result.push(i);                        }                }                return result;        }// Switches the current movechessBoardCSHSFI.prototype.switchMove =        function() {                if (this.currentMove == "white")                        this.currentMove = "black";                else                        this.currentMove = "white";        }// Simple move function with from&amp;to variableschessBoardCSHSFI.prototype.makeMove =        function(fromX, fromY, toX, toY, capture) {                var previousPiece = this.squares[fromX][fromY].piece;                previousPiece.square = this.squares[toX][toY];                if (capture &amp;&amp; this.squares[toX][toY].piece != null) {                        this.squares[toX][toY].piece.square = null;                }                this.squares[toX][toY].piece = previousPiece;                this.squares[fromX][fromY].piece = null;        }// Returns current FENchessBoardCSHSFI.prototype.currentFEN =        function(reduced) {                var FEN="";                for (var num = 8; num &gt;= 1; num--) {                        var emptyCounter = 0;                        for (var keyVar in this.squares) {                                if (this.squares[keyVar][num].piece != null) {                                        if (emptyCounter != 0) {                                                FEN += emptyCounter;                                                emptyCounter = 0;                                        }                                        var pieceName = this.squares[keyVar][num].piece.name;                                        var pieceColor = this.squares[keyVar][num].piece.color;                                        switch (pieceName) {                                                case "rook":                                                name = "r";                                                break;                                        case "bishop":                                                name = "b";                                                break;                                        case "queen":                                                name = "q";                                                break;                                        case "king":                                                name = "k";                                                break;                                        case "pawn":                                                name = "p";                                                break;                                        case "knight":                                                name = "n";                                                break;                                        default:                                                break;                                        }                                        if (pieceColor == "white") {                                                name = name.toUpperCase();                                                FEN += name;                                        }                                        else                                                 FEN += name;                                } else                                        emptyCounter++;                        }                        if (emptyCounter != 0)                                FEN += emptyCounter;                        if (num != 1)                                FEN += "/";                }                FEN += " " + this.currentMove.substr(0,1);                FEN += " " + this.castling;                FEN += " " + this.enPassant;                if (!reduced) {                        FEN += " " + this.halfMoves;                        FEN += " " + this.fullMoves;                }                return FEN;        }// Board Squarefunction boardSquare(x, y) {        this.x = x;        this.y = y;        this.piece;}// Board Piecefunction boardPiece(name, color) {        // Each piece hold the reference to they square it's in        this.square;        this.name = name;        this.color = color;}&lt;/script&gt;&lt;script type="text/javascript"&gt;function GUICSHSFI() {        var numbers = [8, 7, 6, 5, 4, 3, 2, 1];        var letters = ["a", "b", "c", "d", "e", "f", "g", "h"];        var letter = [];        letter["a"] = 1;        letter["b"] = 2;        letter["c"] = 3;        letter["d"] = 4;        letter["e"] = 5;        letter["f"] = 6;        letter["g"] = 7;        letter["h"] = 8;                if (navigator.appName == "Microsoft Internet Explorer" &amp;&amp; navigator.appVersion.match(/MSIE 6\./)) {                var ie6 = true;        }                try {                var canvas = Raphael("board_svgCSHSFI", 262, 262);        } catch (e) {                        }        this.arrow;        this.startPoint;        // If board is flipped        this.flipped = false;        this.drawBoardPosition =        function(board) {                var square;                for(var rows = 1; rows &lt;= 8; rows++) {                        for(var cols = 1; cols &lt;= 8; cols++) {                                square = document.getElementById("square" + rows + cols + "CSHSFI");                                while (square.childNodes[0]) {                                        square.removeChild(square.childNodes[0]);                                }                        }                }                var GUIsquare;                var piece;                var square;                var shortName;                for(var i = 0; i &lt; board.pieces.length; i++) {                        var piece = board.pieces[i];                        var square = piece.square;                        if (square != undefined) {                                GUIsquare = this.getGUISquare(square.x, square.y);                                if (piece.name != "knight")                                        shortName = piece.name.charAt(0);                                else                                        shortName = "n";                                var pieceImg = document.createElement("IMG");                                pieceImg.id = "piece" + square.x + square.y;                                pieceImg.src = "http://www.chessok.com/common/images/pieces/classic/33" + (ie6? "gif" : "") + "/" + piece.color.charAt(0) + shortName + (ie6? ".gif" : ".png");                                GUIsquare.appendChild(pieceImg);                                pieceImg.style.verticalAlign = 'top';                        }                }                                this.drawCoordinates();                /*if (this.arrow) {                        this.arrow.remove();                        this.arrow = undefined;                }                if (this.startPoint) {                        this.startPoint.remove();                        this.startPoint = undefined;                }                var id = game.notationMove;                if(id != "start") {                        var fromX = game.displayNotation[id]["fromto"].fromX;                        var fromY = game.displayNotation[id]["fromto"].fromY;                        var toX = game.displayNotation[id]["fromto"].toX;                        var toY = game.displayNotation[id]["fromto"].toY;                        var knight = (game.displayNotation[id]["token"].charAt(0) == "N" ? true : false);                        this.drawArrow(fromX, fromY, toX, toY, knight);                } else {                        if (this.arrow) {                                this.arrow.remove();                                this.arrow = undefined;                        }                }*/        }        // Rotates the board        this.flipBoard =        function() {                document.getElementById("flipiconCSHSFI").blur();                if (this.flipped)                        this.flipped = false;                else                        this.flipped = true;                this.drawBoardPosition(boardCSHSFI);        }        // Draws the coordinates according to this.flipped state        this.drawCoordinates=        function() {                var lttr;                var nmbr;                for (var i = 0; i &lt; letters.length; i++) {                        if (this.flipped) {                                lttr = letters[7 - i];                                nmbr = 8 - i;                        } else {                                lttr = letters[i];                                nmbr = i + 1;                        }                        var holder = document.getElementById("top" + letters[i] + "CSHSFI");                        holder.firstChild.nodeValue = lttr.toUpperCase();                        holder = document.getElementById("bottom" + letters[i] + "CSHSFI");                        holder.firstChild.nodeValue = lttr.toUpperCase();                        holder = document.getElementById("left" + parseInt(i + 1) + "CSHSFI");                        holder.firstChild.nodeValue = nmbr;                        holder = document.getElementById("right" + parseInt(i + 1) + "CSHSFI");                        holder.firstChild.nodeValue = nmbr;                }        }                this.drawArrow =        function(fromX, fromY, toX, toY, knight) {                //alert(fromX + fromY + toX + toY);                var fX = letter[fromX];                var fY = 9 - fromY;                var tX = letter[toX];                var tY = 9 - toY;                if (this.flipped) {                        fX = 9 - fX;                        fY = 9 - fY                        tX = 9 - tX;                        tY = 9 - tY                }                fX = fX * 50 - 25 + 17;                fY = fY * 50 - 25 + 21;                tX = tX * 50 - 25 + 17;                tY = tY * 50 - 25 + 21;                                if (this.arrow) {                        this.arrow.remove();                }                                var lX = Math.abs(tX - fX);                var lY = Math.abs(tY - fY);                var tL = Math.sqrt(lX*lX + lY*lY);                var mod = -1*lX / (tX - fX);                if (lX == 0) {                        var rotationAngle = 0;                } else {                        var rotationAngle = - Math.atan((tX - fX)/(tY - fY));                }                                if (lY == 0) {                        rotationAngle = - rotationAngle;                } else if (tY &gt; fY) {                        rotationAngle = Math.PI + rotationAngle;                }                rotationAngle = rotationAngle / Math.PI * 180;        try {                //var c = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.66}).moveTo(fX, fY).lineTo(fX - 5, fY - tL + 15);                if (knight) {                        var sq = Math.sqrt(50*50/2);                        //this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).qcurveTo(fX - 5 + mod*sq, fY - 1.5*sq, fX - 5 + mod*sq, fY - 3*sq + 15).lineTo(fX - 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + mod*sq, fY - 3*sq).lineTo(fX + 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + 5 + mod*sq, fY - 3*sq + 15).qcurveTo(fX + 5 + mod*sq, fY - 1.5*sq, fX, fY);                        this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).curveTo(fX - 2 + 0.5*mod*sq, fY - sq, fX - 5 + mod*sq, fY - 1.5*sq, fX - 5 + mod*sq, fY - 3*sq + 15).lineTo(fX - 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + mod*sq, fY - 3*sq).lineTo(fX + 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + 5 + mod*sq, fY - 3*sq + 15).curveTo(fX + 5 + mod*sq, fY - 1.5*sq, fX + 2 + 0.5*mod*sq, fY - sq, fX, fY);                        var knightAngle = Math.atan(1/3) / Math.PI * 180;                        this.arrow.rotate(rotationAngle - mod*knightAngle, fX, fY);                        //alert(/Math.PI * 180);                } else {                        this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).lineTo(fX - 5, fY - tL + 15).lineTo(fX - 15, fY - tL + 20).lineTo(fX, fY - tL).lineTo(fX + 15, fY - tL + 20).lineTo(fX + 5, fY - tL + 15).lineTo(fX, fY);                        this.arrow.rotate(rotationAngle, fX, fY);                }                this.startPoint = canvas.circle(fX, fY, 10);                this.startPoint.attr({fill: "#ff0", stroke: "#000", opacity: 0.25});        } catch (e) {                        }        }        // Returns the GUI square reference given the board coordinates;        this.getGUISquare =        function(x, y) {                if (!this.flipped) {                        x = letter[x];                        y = 9 - y;                } else {                        x = 9 - letter[x];                }                return document.getElementById("square" + x + y + "CSHSFI");        }        // Returns the board coordinates given the id of GUI square        this.getSquare =        function(id) {                if (id.match(/piece/)) {                        return {x: id.charAt(5), y: id.charAt(6)};                }                if (!this.flipped) {                        x = letters[id.charAt(6) - 1];                        y = 9 - id.charAt(7);                } else {                        x = letters[8 - id.charAt(6)];                        y = id.charAt(7);                }                return {x: x, y: y};        }        this.addClass =        function(target, classValue) {                if (!this.hasClass(target, classValue))                        if (target.className == "")                                target.className = classValue;                        else                                target.className += " " + classValue;                return true;        }        this.removeClass =        function(target, classValue) {                if(this.hasClass(target, classValue)) {                        var removedClass = target.className;                        var pattern = new RegExp("(^| )" + classValue + "( |$)");                        removedClass = removedClass.replace(pattern, "$1");                        removedClass = removedClass.replace(/ $/, "");                        target.className = removedClass;                }                return true;        }        this.hasClass =        function(target, classValue) {                var pattern = new RegExp("(^| )" + classValue + "( |$)");                    if (target.className.match(pattern))                        return true;                return false;        }}&lt;/script&gt;&lt;script type="text/javascript"&gt;//&lt;!--eval(function(p,a,c,k,e,r){e=function(c){return(c&lt;a?'':e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('11 2x=(14(){11 u=/[, ]+/,V,1w=4N,3v=5Z,R=14(){17 V.2e(R,18)};R.4O="0.7.2";R.1v=(3v.60?"4e":"3P");R.2f=!(R.2a=R.1v=="3P");R.4f=0;11 v={};R.3w={};11 z={cx:0,1J:0,1x:"#4g","1x-1p":1,1z:\'61 "4P"\',"1z-3x":\'"4P"\',"1z-2G":"10",2g:0,1g:0,1p:1,1l:"4h,0",r:0,2R:0,2h:0,2i:0,2H:"1 1",2I:"",1i:"#22","1i-2J":"","1i-2Z":"3j","1i-3y":"3j","1i-3z":0,"1i-1p":1,"1i-1d":1,2K:"0 0",1d:0,x:0,y:0},3Q={cx:"1T",1J:"1T",1x:"3R","1x-1p":"1T","1z-2G":"1T",1g:"1T",1p:"1T",1l:"1l",r:"1T",2R:"3A",2h:"1T",2i:"1T",2H:"3A",1i:"3R","1i-1p":"1T","1i-1d":"1T",2K:"3A",1d:"1T",x:"1T",y:"1T"},1X=["62","63","64","65","4Q","4R","66"];R.1G=14(){17"67 68 "+(9.2a?"69\'t ":"")+"6a"+(9.2f?"s":"")+" 4e.\\6b 6c 6d "+6e("6f%6g%20")+9.4O};R.6h=14(a){3v=a;1w=3v.4N};R.3S=14(a,c,d){13(1u a=="3k"&amp;&amp;"h"1E a&amp;&amp;"s"1E a&amp;&amp;"b"1E a){d=a.b;c=a.s;a=a.h}11 e,1Y,1Z;13(d==0){17{r:0,g:0,b:0,23:"#22"}}13(a&gt;1||c&gt;1||d&gt;1){a/=2L;c/=2L;d/=2L}11 i=1b.6i(a*6),f=(a*6)-i,p=d*(1-c),q=d*(1-(c*f)),t=d*(1-(c*(1-f)));e=[d,q,p,p,t,d,d][i];1Y=[t,d,d,q,p,p,t][i];1Z=[p,p,t,d,d,q,p][i];e*=2L;1Y*=2L;1Z*=2L;11 h={r:e,g:1Y,b:1Z};11 r=1b.1j(e).1G(16);13(r.19==1){r="0"+r}11 g=1b.1j(1Y).1G(16);13(g.19==1){g="0"+g}11 b=1b.1j(1Z).1G(16);13(b.19==1){b="0"+b}h.23="#"+r+g+b;17 h};R.6j=14(a,b,c){13(1u a=="3k"&amp;&amp;"r"1E a&amp;&amp;"g"1E a&amp;&amp;"b"1E a){c=a.b;b=a.g;a=a.r}13(1u a=="2j"){11 d=A(a);a=d.r;b=d.g;c=d.b}13(a&gt;1||b&gt;1||c&gt;1){a/=2L;b/=2L;c/=2L}11 e=1b.30(a,b,c),2M=1b.2M(a,b,c),2y,4i,4S=e;13(2M==e){17{h:0,s:0,b:e}}1o{11 f=(e-2M);4i=f/e;13(a==e){2y=(b-c)/f}1o 13(b==e){2y=2+((c-a)/f)}1o{2y=4+((a-b)/f)}2y/=6;13(2y&lt;0){2y+=1}13(2y&gt;1){2y-=1}}17{h:2y,s:4i,b:4S}};11 A=14(a){11 c={6k:"#6l",6m:"#6n",6o:"#6p",6q:"#4T",6r:"#6s",6t:"#6u",6v:"#6w",6x:"#6y",6z:"#22",6A:"#6B",1Z:"#6C",6D:"#6E",6F:"#6G",6H:"#6I",6J:"#6K",6L:"#6M",6N:"#6O",6P:"#6Q",6R:"#6S",6T:"#6U",6V:"#6W",6X:"#4T",6Y:"#6Z",70:"#71",72:"#73",74:"#76",77:"#78",79:"#7a",7b:"#7c",7d:"#7e",7f:"#7g",7h:"#7i",7j:"#7k",7l:"#7m",7n:"#7o",7p:"#7q",7r:"#7s",7t:"#7u",7v:"#7w",7x:"#7y",7z:"#7A",7B:"#7C",7D:"#7E",7F:"#7G",7H:"#7I",7J:"#7K",7L:"#4U",7M:"#7N",7O:"#7P",7Q:"#7R",7S:"#7T",7U:"#7V",1Y:"#7W",7X:"#7Y",7Z:"#80",81:"#82",83:"#84",85:"#86",87:"#88",89:"#8a",8b:"#8c",8d:"#8e",8f:"#8g",8h:"#8i",8j:"#8k",8l:"#8m",8n:"#8o",8p:"#8q",8r:"#8s",8t:"#8u",8v:"#8w",4V:"#4W",4V:"#4W",8x:"#8y",8z:"#8A",8B:"#8C",8D:"#8E",8F:"#8G",8H:"#8I",8J:"#8K",8L:"#8M",8N:"#4U",8O:"#8P",8Q:"#8R",8S:"#8T",8U:"#8V",8W:"#8X",8Y:"#8Z",4X:"#4Y",4X:"#4Y",91:"#92",93:"#94",95:"#96",97:"#98",99:"#9a",9b:"#9c",9d:"#9e",9f:"#9g",9h:"#9i",9j:"#9k",9l:"#9m",9n:"#9o",9p:"#9q",9r:"#9s",9t:"#9u",9v:"#9w",9x:"#9y",9z:"#9A",9B:"#9C",9D:"#9E",9F:"#9G",9H:"#9I",9J:"#9K",9L:"#9M",9N:"#9O",9P:"#9Q",9R:"#9S",9T:"#9U",9V:"#9W",9X:"#9Y",9Z:"#a0",a1:"#a2",a3:"#a4",a5:"#a6",a7:"#a8",a9:"#aa",ab:"#ac",ad:"#ae",af:"#ag",ah:"#ai",aj:"#ak",al:"#am",an:"#ao",ap:"#aq",as:"#au",av:"#aw",ax:"#ay",az:"#aA",aB:"#aC",aD:"#4g",aE:"#aF",aG:"#aH",aI:"#aJ"};13(a.1G().2z()1E c){a=c[a.1G().2z()]}13(!a){17{r:0,g:0,b:0,23:"#22"}}13(a=="1U"){17{r:-1,g:-1,b:-1,23:"1U"}}11 d,1Y,1Z,e=a.3T(/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|4j\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4j\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\)|4Z\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4Z\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\))\\s*$/i);13(e){13(e[2]){1Z=31(e[2].2s(5),16);1Y=31(e[2].2s(3,5),16);d=31(e[2].2s(1,3),16)}13(e[3]){1Z=31(e[3].2s(3)+e[3].2s(3),16);1Y=31(e[3].2s(2,3)+e[3].2s(2,3),16);d=31(e[3].2s(1,2)+e[3].2s(1,2),16)}13(e[4]){e=e[4].26(/\\s*,\\s*/);d=1c(e[0],10);1Y=1c(e[1],10);1Z=1c(e[2],10)}13(e[5]){e=e[5].26(/\\s*,\\s*/);d=1c(e[0],10)*2.55;1Y=1c(e[1],10)*2.55;1Z=1c(e[2],10)*2.55}13(e[6]){e=e[6].26(/\\s*,\\s*/);d=1c(e[0],10);1Y=1c(e[1],10);1Z=1c(e[2],10);17 2x.3S(d,1Y,1Z)}13(e[7]){e=e[7].26(/\\s*,\\s*/);d=1c(e[0],10)*2.55;1Y=1c(e[1],10)*2.55;1Z=1c(e[2],10)*2.55;17 2x.3S(d,1Y,1Z)}11 e={r:d,g:1Y,b:1Z};11 r=1b.1j(d).1G(16);(r.19==1)&amp;&amp;(r="0"+r);11 g=1b.1j(1Y).1G(16);(g.19==1)&amp;&amp;(g="0"+g);11 b=1b.1j(1Z).1G(16);(b.19==1)&amp;&amp;(b="0"+b);e.23="#"+r+g+b;17 e}1o{17{r:-1,g:-1,b:-1,23:"1U"}}};R.50=14(a){11 b=18.3U.2A=18.3U.2A||{h:0,s:1,b:a||.75};11 c=2x.3S(b.h,b.s,b.b);b.h+=.aK;13(b.h&gt;1){b.h=0;b.s-=.2;13(b.s&lt;=0){18.3U.2A={h:0,s:1,b:b.b}}}17 c.23};R.50.aL=14(){9.2A=1N};R.32=14(e){11 f={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},3V=[],1G=14(){11 a="";1n(11 i=0,1q=9.19;i&lt;1q;i++){a+=9[i][0]+9[i].1K(",").2s(2)}17 a};13(e.1G.1G()==1G.1G()){17 e}e.3W(/([aM])[\\s,]*((-?\\d*(?:e-?\\d+|\\.?\\d*)\\s*,?\\s*)+)/51,14(a,b,c){11 d=[],3X=b.2z();c.3W(/(-?\\d*(?:e-?\\d+|\\.?\\d*))\\s*,?\\s*/51,14(a,b){b&amp;&amp;d.1V(+b)});4k(d.19&gt;=f[3X]){3V.1V([b].4l(d.2t(0,f[3X])));13(!f[3X]){1m}}});3V.1G=1G;17 3V};11 B=14(a){11 b=a;13(1u a=="2j"){b=2x.32(a)}b=D(b);11 x=[],y=[],19=0;1n(11 i=0,1q=b.19;i&lt;1q;i++){2k(b[i][0]){1k"Z":1m;1k"A":x.1V(b[i][b[i].19-2]);y.1V(b[i][b[i].19-1]);1m;2S:1n(11 j=1,21=b[i].19;j&lt;21;j++){13(j%2){x.1V(b[i][j])}1o{y.1V(b[i][j])}}}}11 c=1b.2M.2e(1b,x),4m=1b.2M.2e(1b,y);17{x:c,y:4m,1d:1b.30.2e(1b,x)-c,1g:1b.30.2e(1b,y)-4m,X:x,Y:y}};11 C=14(a){11 b=[];13(1u a=="2j"){a=R.32(a)}11 x=0,y=0,2A=0;13(a[0][0]=="M"){x=a[0][1];y=a[0][2];2A++;b.1V(a[0])}1n(11 i=2A,1q=a.19;i&lt;1q;i++){b[i]=[];13(a[i][0]!=a[i][0].2z()){b[i][0]=a[i][0].2z();2k(b[i][0]){1k"a":b[i][1]=a[i][1];b[i][2]=a[i][2];b[i][3]=0;b[i][4]=a[i][4];b[i][5]=a[i][5];b[i][6]=+(a[i][6]-x).1L(3);b[i][7]=+(a[i][7]-y).1L(3);1m;1k"v":b[i][1]=+(a[i][1]-y).1L(3);1m;2S:1n(11 j=1,21=a[i].19;j&lt;21;j++){b[i][j]=+(a[i][j]-((j%2)?x:y)).1L(3)}}}1o{b[i]=a[i]}2k(b[i][0]){1k"z":1m;1k"h":x+=b[i][b[i].19-1];1m;1k"v":y+=b[i][b[i].19-1];1m;2S:x+=b[i][b[i].19-2];y+=b[i][b[i].19-1]}}b.1G=a.1G;17 b};11 D=14(a){11 b=[];13(1u a=="2j"){a=R.32(a)}11 x=0,y=0,2A=0;13(a[0][0]=="M"){x=+a[0][1];y=+a[0][2];2A++;b[0]=a[0]}1n(11 i=2A,1q=a.19;i&lt;1q;i++){b[i]=[];13(a[i][0]!=(a[i][0]+"").33()){b[i][0]=(a[i][0]+"").33();2k(b[i][0]){1k"A":b[i][1]=a[i][1];b[i][2]=a[i][2];b[i][3]=0;b[i][4]=a[i][4];b[i][5]=a[i][5];b[i][6]=+(a[i][6]+x).1L(3);b[i][7]=+(a[i][7]+y).1L(3);1m;1k"V":b[i][1]=+a[i][1]+y;1m;2S:1n(11 j=1,21=a[i].19;j&lt;21;j++){b[i][j]=+a[i][j]+((j%2)?x:y)}}}1o{b[i]=a[i]}2k(b[i][0]){1k"Z":1m;1k"H":x=b[i][1];1m;1k"V":y=b[i][1];1m;2S:x=b[i][b[i].19-2];y=b[i][b[i].19-1]}}b.1G=a.1G;17 b};11 E=14(e,f){11 g=[D(2x.32(e)),D(2x.32(f))],15=[{x:0,y:0,bx:0,by:0,X:0,Y:0},{x:0,y:0,bx:0,by:0,X:0,Y:0}],4n=14(a,d){13(!a){17["U"]}2k(a[0]){1k"M":d.X=a[1];d.Y=a[2];1m;1k"S":11 b=d.x+(d.x-(d.bx||d.x));11 c=d.y+(d.y-(d.by||d.y));a=["C",b,c,a[1],a[2],a[3],a[4]];1m;1k"T":11 b=d.x+(d.x-(d.bx||d.x));11 c=d.y+(d.y-(d.by||d.y));a=["Q",b,c,a[1],a[2]];1m;1k"H":a=["L",a[1],d.y];1m;1k"V":a=["L",d.x,a[1]];1m;1k"Z":a=["L",d.X,d.Y];1m}17 a},4o=14(a,b,i){13(g[a][i][0]=="M"&amp;&amp;g[b][i][0]!="M"){g[b].2t(i,0,["M",15[b].x,15[b].y]);15[a].bx=g[a][i][g[a][i].19-4]||0;15[a].by=g[a][i][g[a][i].19-3]||0;15[a].x=g[a][i][g[a][i].19-2];15[a].y=g[a][i][g[a][i].19-1];17 1Q}1o 13(g[a][i][0]=="L"&amp;&amp;g[b][i][0]=="C"){g[a][i]=["C",15[a].x,15[a].y,g[a][i][1],g[a][i][2],g[a][i][1],g[a][i][2]]}1o 13(g[a][i][0]=="L"&amp;&amp;g[b][i][0]=="Q"){g[a][i]=["Q",g[a][i][1],g[a][i][2],g[a][i][1],g[a][i][2]]}1o 13(g[a][i][0]=="Q"&amp;&amp;g[b][i][0]=="C"){11 x=g[b][i][g[b][i].19-2];11 y=g[b][i][g[b][i].19-1];g[b].2t(i+1,0,["Q",x,y,x,y]);g[a].2t(i,0,["C",15[a].x,15[a].y,15[a].x,15[a].y,15[a].x,15[a].y]);i++;15[b].bx=g[b][i][g[b][i].19-4]||0;15[b].by=g[b][i][g[b][i].19-3]||0;15[b].x=g[b][i][g[b][i].19-2];15[b].y=g[b][i][g[b][i].19-1];17 1Q}1o 13(g[a][i][0]=="A"&amp;&amp;g[b][i][0]=="C"){11 x=g[b][i][g[b][i].19-2];11 y=g[b][i][g[b][i].19-1];g[b].2t(i+1,0,["A",0,0,g[a][i][3],g[a][i][4],g[a][i][5],x,y]);g[a].2t(i,0,["C",15[a].x,15[a].y,15[a].x,15[a].y,15[a].x,15[a].y]);i++;15[b].bx=g[b][i][g[b][i].19-4]||0;15[b].by=g[b][i][g[b][i].19-3]||0;15[b].x=g[b][i][g[b][i].19-2];15[b].y=g[b][i][g[b][i].19-1];17 1Q}1o 13(g[a][i][0]=="U"){g[a][i][0]=g[b][i][0];1n(11 j=1,21=g[b][i].19;j&lt;21;j++){g[a][i][j]=(j%2)?15[a].x:15[a].y}}17 2B};1n(11 i=0;i&lt;1b.30(g[0].19,g[1].19);i++){g[0][i]=4n(g[0][i],15[0]);g[1][i]=4n(g[1][i],15[1]);13(g[0][i][0]!=g[1][i][0]&amp;&amp;(4o(0,1,i)||4o(1,0,i))){52}15[0].bx=g[0][i][g[0][i].19-4]||0;15[0].by=g[0][i][g[0][i].19-3]||0;15[0].x=g[0][i][g[0][i].19-2];15[0].y=g[0][i][g[0][i].19-1];15[1].bx=g[1][i][g[1][i].19-4]||0;15[1].by=g[1][i][g[1][i].19-3]||0;15[1].x=g[1][i][g[1][i].19-2];15[1].y=g[1][i][g[1][i].19-1]}17 g};11 F=14(a){13(1u a=="2j"){a=a.26(/\\s*\\-\\s*/);11 b=a.4p();13(b.2z()=="v"){b=90}1o 13(b.2z()=="h"){b=0}1o{b=1c(b,10)}b=-b;11 c={3B:b,1v:"53",1B:[],1C:[0,0,1b.aN(b*1b.54/3Y).1L(3),1b.aO(b*1b.54/3Y).1L(3)]};11 e=1/(1b.30(1b.3C(c.1C[2]),1b.3C(c.1C[3]))||1);c.1C[2]*=e;c.1C[3]*=e;13(c.1C[2]&lt;0){c.1C[0]=-c.1C[2];c.1C[2]=0}13(c.1C[3]&lt;0){c.1C[1]=-c.1C[3];c.1C[3]=0}c.1C[0]=c.1C[0].1L(3);c.1C[1]=c.1C[1].1L(3);c.1C[2]=c.1C[2].1L(3);c.1C[3]=c.1C[3].1L(3);1n(11 i=0,1q=a.19;i&lt;1q;i++){11 f={};11 g=a[i].3T(/^([^:]*):?([\\d\\.]*)/);f.2l=A(g[1]).23;g[2]&amp;&amp;(f.2m=g[2]+"%");c.1B.1V(f)}1n(11 i=1,1q=c.1B.19-1;i&lt;1q;i++){13(!c.1B[i].2m){11 h=1c(c.1B[i-1].2m||0,10),34=2B;1n(11 j=i+1;j&lt;1q;j++){13(c.1B[j].2m){34=c.1B[j].2m;1m}}13(!34){34=2C;j=1q}34=1c(34,10);11 d=(34-h)/(j-i+1);1n(;i&lt;j;i++){h+=d;c.1B[i].2m=h+"%"}}}17 c}1o{17 a}};13(R.2f){11 G=14(g,h,j){11 k=1w.2b(j.27,"1l");k.1f("1x","1U");13(j.1r){j.1r.1t(k)}11 p=1W M(k,j);p.1h=1Q;p.1v="1l";p.1a={x:0,y:0,bx:0,by:0};p.3l=14(){9.1h=1Q;17 9};p.3Z=14(){9.1h=2B;17 9};p.4q=14(x,y){11 d=9.1h?"M":"m";d+=1c(x,10).1L(3)+" "+1c(y,10).1L(3)+" ";11 a=9[0].2T("d")||"";(a=="4h,0")&amp;&amp;(a="");9[0].1f("d",a+d);9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.15.1l=a+d;17 9};p.35=14(x,y){9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);11 d=9.1h?"L":"l";d+=1c(x,10).1L(3)+" "+1c(y,10).1L(3)+" ";11 a=9[0].2T("d")||"";9[0].1f("d",a+d);9.15.1l=a+d;17 9};p.4r=14(a,b,c,e,x,y){11 d=9.1h?"A":"a";d+=[1c(a,10).1L(3),1c(b,10).1L(3),0,c,e,1c(x,10).1L(3),1c(y,10).1L(3)].1K(" ");11 f=9[0].2T("d")||"";9[0].1f("d",f+d);9.1a.x=1c(x,10);9.1a.y=1c(y,10);9.15.1l=f+d;17 9};p.56=14(a,b,c){13(!c){17 9.35(a,b)}1o{11 p={};11 x=1c(a,10);11 y=1c(b,10);11 w=1c(c,10);11 d=9.1h?"C":"c";11 e=[+9.1a.x+w,+9.1a.y,x-w,y,x,y];1n(11 i=0,1q=e.19;i&lt;1q;i++){d+=e[i].1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+e[4];9.1a.y=(9.1h?0:9.1a.y)+e[5];9.1a.bx=e[2];9.1a.by=e[3];11 f=9[0].2T("d")||"";9[0].1f("d",f+d);9.15.1l=f+d;17 9}};p.1O=14(){11 p={},40=[0,1,2,3,"s",5,"c"];11 d=40[18.19];13(9.1h){d=d.33()}1n(11 i=0,1q=18.19;i&lt;1q;i++){d+=1c(18[i],10).1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+1c(18[18.19-2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[18.19-1],10);9.1a.bx=1c(18[18.19-4],10);9.1a.by=1c(18[18.19-3],10);11 a=9.1e.2T("d")||"";9.1e.1f("d",a+d);9.15.1l=a+d;17 9};p.41=14(){11 p={},40=[0,1,"t",3,"q"];11 d=40[18.19];13(9.1h){d=d.33()}1n(11 i=0,1q=18.19;i&lt;1q;i++){d+=1c(18[i],10).1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+1c(18[18.19-2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[18.19-1],10);13(18.19!=2){9.1a.3m=1c(18[18.19-4],10);9.1a.3n=1c(18[18.19-3],10)}11 a=9.1e.2T("d")||"";9.1e.1f("d",a+d);9.15.1l=a+d;17 9};p.58=14(r,a){11 R=.59*r,2D=9.1h,o=9;13(2D){9.3Z();2D=14(){o.3l()}}1o{2D=14(){}}11 b={l:14(){17{u:14(){o.1O(-R,0,-r,-(r-R),-r,-r)},d:14(){o.1O(-R,0,-r,r-R,-r,r)}}},r:14(){17{u:14(){o.1O(R,0,r,-(r-R),r,-r)},d:14(){o.1O(R,0,r,r-R,r,r)}}},u:14(){17{r:14(){o.1O(0,-R,-(R-r),-r,r,-r)},l:14(){o.1O(0,-R,R-r,-r,-r,-r)}}},d:14(){17{r:14(){o.1O(0,R,-(R-r),r,r,r)},l:14(){o.1O(0,R,R-r,r,-r,r)}}}};b[a[0]]()[a[1]]();2D();17 o};p.4s=14(){11 a=9[0].2T("d")||"";9[0].1f("d",a+"Z ");9.15.1l=a+"Z ";17 9};13(h){p.15.1l=""+h;p.3l();v.3D(p,p.15.1l)}13(g){J(p,g)}17 p};11 H=14(o,a,b){a=F(a);11 c=1w.2b(b.27,(a.1v||"53")+"aP");c.2U="5a-2g-"+2x.4f++;13(a.1C&amp;&amp;a.1C.19){c.1f("aQ",a.1C[0]);c.1f("3E",a.1C[1]);c.1f("aR",a.1C[2]);c.1f("aS",a.1C[3])}b.3F.1t(c);11 d=1Q;1n(11 i=0,1q=a.1B.19;i&lt;1q;i++){11 e=1w.2b(b.27,"3o");13(a.1B[i].2m){d=2B}e.1f("2m",a.1B[i].2m?a.1B[i].2m:(i==0)?"0%":"2C%");e.1f("3o-2l",A(a.1B[i].2l).23||"#4g");c.1t(e)};13(d&amp;&amp;1u a.1B[1q-1].1p!="1N"){e.1f("3o-1p",a.1B[1q-1].1p)}o.1f("1x","36(#"+c.2U+")");o.1s.1p=1;o.1s.5b=1;o.1f("1p",1);o.1f("1x-1p",1)};11 I=14(o){13(o.3G){11 a=o.1e.37();o.3G.1f("aT","38("+[a.x,a.y].1K(",")+")")}};11 J=14(o,c){11 d={"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},4t=14(o,a){a=d[a.1G().2z()];13(a){11 b=o.15["1i-1d"]||"1",3j={1j:b,4u:b,3j:0}[o.15["1i-2Z"]||c["1i-2Z"]]||0,4v=[];1n(11 i=0,1q=a.19;i&lt;1q;i++){4v.1V(a[i]*b+((i%2)?1:-1)*3j)}a=4v.1K(",");o.1e.1f("1i-2J",a)}};1n(11 e 1E c){11 f=c[e];o.15[e]=f;2k(e){1k"1l":13(o.1v=="1l"){o.1e.1f("d","4h,0");v.3D(o,f)}1k"2h":1k"cx":1k"x":o.1e.1f(e,f);I(o);1m;1k"2i":1k"1J":1k"y":o.1e.1f(e,f);I(o);1m;1k"1d":o.1e.1f(e,f);1m;1k"1g":o.1e.1f(e,f);1m;1k"2I":13(o.1v=="2n"){o.1e.4w(2f.3H,"4x",f)}1m;1k"1i-1d":o.1e.1s.aU=f;o.1e.1f(e,f);13(o.15["1i-2J"]){4t(o,o.15["1i-2J"])}1m;1k"1i-2J":4t(o,f);1m;1k"2R":o.3I(f,1Q);1m;1k"2K":11 g=(f+"").26(u);o.38((+g[0]+1||2)-1,(+g[1]+1||2)-1);1m;1k"2H":11 g=(f+"").26(u);o.2H(+g[0]||1,+g[1]||+g[0]||1);1m;1k"1x":11 h=f.3T(/^36\\(([^\\)]+)\\)$/i);13(h){11 j=1w.2b(o.2f.27,"3G");11 k=1w.2b(o.2f.27,"2n");j.2U="5a-3G-"+2x.4f++;j.1f("x",0);j.1f("y",0);j.1f("aV","aW");k.1f("x",0);k.1f("y",0);k.4w(o.2f.3H,"4x",h[1]);j.1t(k);11 l=1w.3p("aX");l.1s.2V="39";l.1s.1P="-5c";l.1s.2c="-5c";l.aY=14(){j.1f("1d",9.4y);j.1f("1g",9.4z);k.1f("1d",9.4y);k.1f("1g",9.4z);1w.42.2u(9);v.3J()};1w.42.1t(l);l.2I=h[1];o.2f.3F.1t(j);o.1e.1s.1x="36(#"+j.2U+")";o.1e.1f("1x","36(#"+j.2U+")");o.3G=j;I(o);1m}43 c.2g;43 o.15.2g;13(1u o.15.1p!="1N"&amp;&amp;1u c.1p=="1N"){o.1e.1s.1p=o.15.1p;o.1e.1f("1p",o.15.1p)}13(1u o.15["1x-1p"]!="1N"&amp;&amp;1u c["1x-1p"]=="1N"){o.1e.1s.5b=o.15["1x-1p"];o.1e.1f("1x-1p",o.15["1x-1p"])}1k"1i":o.1e.1s[e]=A(f).23;o.1e.1f(e,A(f).23);1m;1k"2g":H(o.1e,f,o.2f);1m;1k"1p":1k"1x-1p":13(o.15.2g){11 m=1w.4A(o.1e.2T("1x").3W(/^36\\(#|\\)$/g,""));13(m){11 n=m.3a("3o");n[n.19-1].1f("3o-1p",f)}1m}2S:11 p=e.3W(/(\\-.)/g,14(w){17 w.2s(1).33()});o.1e.1s[p]=f;o.1e.1f(e,f);1m}}L(o,c)};11 K=1.2;11 L=14(a,b){13(a.1v!="1R"||!("1R"1E b||"1z"1E b||"1z-2G"1E b||"x"1E b)){17}11 c=a.1e.2d?31(1w.aZ.b0(a.1e.2d,"").b1("1z-2G"),10):10;11 d=0;13("1R"1E b){4k(a.1e.2d){a.1e.2u(a.1e.2d)}11 e=(b.1R+"").26("\\n");1n(11 i=0,1q=e.19;i&lt;1q;i++){11 f=1w.2b(a.2f.27,"5d");i&amp;&amp;f.1f("2N",c*K);i&amp;&amp;f.1f("x",a.15.x);f.1t(1w.b2(e[i]));a.1e.1t(f);d+=c*K}}1o{11 e=a.1e.3a("5d");1n(11 i=0,1q=e.19;i&lt;1q;i++){i&amp;&amp;e[i].1f("2N",c*K);i&amp;&amp;e[i].1f("x",a.15.x);d+=c*K}}d-=c*(K-1);11 g=d/2-c;13(g){a.1e.1f("y",a.15.y-g)}4B(14(){})};11 M=14(a,b){11 X=0,Y=0;9[0]=a;9.1e=a;9.2f=b;9.15=9.15||{};9.2E=[];9.1A={44:0,45:0,28:{2v:0,x:0,y:0},2O:1,2W:1}};M.1y.3I=14(a,b,c){13(a==24){17 9.1A.28.2v}11 d=9.37();a=a.1G().26(u);13(a.19-1){b=1c(a[1],10);c=1c(a[2],10)}a=1c(a[0],10);13(b!=24){9.1A.28.2v=a}1o{9.1A.28.2v+=a}13(c==24){b=24}b=b==24?d.x+d.1d/2:b;c=c==24?d.y+d.1g/2:c;13(9.1A.28.2v){9.2E[0]=("3I("+9.1A.28.2v+" "+b+" "+c+")")}1o{9.2E[0]=""}9.1e.1f("4C",9.2E.1K(" "));17 9};M.1y.5e=14(){9.1e.1s.46="1U";17 9};M.1y.5f=14(){9.1e.1s.46="5g";17 9};M.1y.3K=14(){9.1e.1F.2u(9.1e)};M.1y.37=14(){17 9.1e.37()};M.1y.1D=14(){13(18.19==1&amp;&amp;1u 18[0]=="2j"){13(18[0]=="2K"){17 9.38()}17 9.15[18[0]]}13(18.19==1&amp;&amp;18[0]5h 3b){11 a={};1n(11 j 1E 18[0]){a[18[0][j]]=9.15[18[0][j]]}17 a}13(18.19==2){11 b={};b[18[0]]=18[1];J(9,b)}1o 13(18.19==1&amp;&amp;1u 18[0]=="3k"){J(9,18[0])}17 9};M.1y.5i=14(){9.1e.1F.1t(9.1e);17 9};M.1y.5j=14(){13(9.1e.1F.2d!=9.1e){9.1e.1F.2F(9.1e,9.1e.1F.2d)}17 9};M.1y.5k=14(a){13(a.1e.47){a.1e.1F.2F(9.1e,a.1e.47)}1o{a.1e.1F.1t(9.1e)}17 9};M.1y.2F=14(a){a.1e.1F.2F(9.1e,a.1e);17 9};11 N=14(a,x,y,r){11 b=1w.2b(a.27,"3c");b.1f("cx",x);b.1f("1J",y);b.1f("r",r);b.1f("1x","1U");b.1f("1i","#22");13(a.1r){a.1r.1t(b)}11 c=1W M(b,a);c.15=c.15||{};c.15.cx=x;c.15.1J=y;c.15.r=r;c.15.1i="#22";c.1v="3c";17 c};11 O=14(a,x,y,w,h,r){11 b=1w.2b(a.27,"2o");b.1f("x",x);b.1f("y",y);b.1f("1d",w);b.1f("1g",h);13(r){b.1f("2h",r);b.1f("2i",r)}b.1f("1x","1U");b.1f("1i","#22");13(a.1r){a.1r.1t(b)}11 c=1W M(b,a);c.15=c.15||{};c.15.x=x;c.15.y=y;c.15.1d=w;c.15.1g=h;c.15.1i="#22";13(r){c.15.2h=c.15.2i=r}c.1v="2o";17 c};11 P=14(a,x,y,b,c){11 d=1w.2b(a.27,"3d");d.1f("cx",x);d.1f("1J",y);d.1f("2h",b);d.1f("2i",c);d.1f("1x","1U");d.1f("1i","#22");13(a.1r){a.1r.1t(d)}11 e=1W M(d,a);e.15=e.15||{};e.15.cx=x;e.15.1J=y;e.15.2h=b;e.15.2i=c;e.15.1i="#22";e.1v="3d";17 e};11 Q=14(a,b,x,y,w,h){11 c=1w.2b(a.27,"2n");c.1f("x",x);c.1f("y",y);c.1f("1d",w);c.1f("1g",h);c.1f("b3","1U");c.4w(a.3H,"4x",b);13(a.1r){a.1r.1t(c)}11 d=1W M(c,a);d.15=d.15||{};d.15.x=x;d.15.y=y;d.15.1d=w;d.15.1g=h;d.1v="2n";17 d};11 S=14(a,x,y,b){11 c=1w.2b(a.27,"1R");c.1f("x",x);c.1f("y",y);c.1f("1R-b4","b5");13(a.1r){a.1r.1t(c)}11 d=1W M(c,a);d.15=d.15||{};d.15.x=x;d.15.y=y;d.1v="1R";J(d,{1z:z.1z,1i:"1U",1x:"#22",1R:b});17 d};11 T=14(a){11 b=1w.2b(a.27,"g");13(a.1r){a.1r.1t(b)}11 i=1W M(b,a);1n(11 f 1E a){13(f[0]!="1A"&amp;&amp;1u a[f]=="14"){i[f]=(14(f){17 14(){11 e=a[f].2e(a,18);b.1t(e[0]);17 e}})(f)}}i.1v="2P";17 i};11 U=14(a,b){9.1d=a||9.1d;9.1g=b||9.1g;9.1r.1f("1d",9.1d);9.1r.1f("1g",9.1g);17 9};11 V=14(){13(1u 18[0]=="2j"){11 a=1w.4A(18[0]);11 b=18[1];11 c=18[2]}13(1u 18[0]=="3k"){11 a=18[0];11 b=18[1];11 c=18[2]}13(1u 18[0]=="1T"){11 a=1,x=18[0],y=18[1],b=18[2],c=18[3]}13(!a){5l 1W 5m("4e 5n 5o 5p.");}v.1r=1w.2b(v.27,"2f");v.1r.1f("1d",b||5q);v.1d=b||5q;v.1r.1f("1g",c||5r);v.1g=c||5r;13(a==1){1w.42.1t(v.1r);v.1r.1s.2V="39";v.1r.1s.2c=x+"1H";v.1r.1s.1P=y+"1H"}1o{13(a.2d){a.2F(v.1r,a.2d)}1o{a.1t(v.1r)}}a={1r:v.1r,4D:14(){4k(9.1r.2d){9.1r.2u(9.1r.2d)}9.3F=1w.2b(v.27,"3F");9.1r.1t(9.3F)}};1n(11 d 1E v){13(d!="b6"){a[d]=v[d]}}1n(11 d 1E R.3w){13(!a[d]){a[d]=R.3w[d]}}a.4D();17 a};v.3K=14(){9.1r.1F.2u(9.1r)};v.27="5s://5t.5u.5v/b7/2f";v.3H="5s://5t.5u.5v/b8/3H";v.3J=14(){13(b9.bd=="be bf, bg."){11 a=9.2o(-9.1d,-9.1g,9.1d*3,9.1g*3).1D({1i:"1U"});4B(14(){a.3K()},0)}}}13(R.2a){G=14(i,j,l){11 g=Z("2P"),3q=g.1s;3q.2V="39";3q.2c=0;3q.1P=0;3q.1d=l.1d+"1H";3q.1g=l.1g+"1H";11 m=Z("2w"),3r=m.1s;3r.1d=l.1d+"1H";3r.1g=l.1g+"1H";m.1l="";13(i["48"]){m.bh="3e "+i["48"]}m.3s=9.3s;m.3L=9.3L;g.1t(m);l.1r.1t(g);11 p=1W M(m,g,l);p.1h=1Q;p.1v="1l";p.1l=[];p.1a={x:0,y:0,bx:0,by:0,1h:1Q};p.2Q="";p.3l=14(){9.1h=1Q;17 9};p.3Z=14(){9.1h=2B;17 9};p.4q=14(x,y){11 d=9.1h?"m":"t";d+=1b.1j(1c(x,10))+" "+1b.1j(1c(y,10));9.1e.1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"M":"m")+[x,y];17 9};p.35=14(x,y){11 d=9.1h?"l":"r";d+=1b.1j(1c(x,10))+" "+1b.1j(1c(y,10));9[0].1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"L":"l")+[x,y];17 9};p.4r=14(a,b,c,e,f,g){f=(9.1h?0:9.1a.x)+f;g=(9.1h?0:9.1a.y)+g;11 h=9.1a.x,3E=9.1a.y,x=(h-f)/2,y=(3E-g)/2,k=(c==e?-1:1)*1b.bi(1b.3C(a*a*b*b-a*a*y*y-b*b*x*x)/(a*a*y*y+b*b*x*x)),cx=k*a*y/b+(h+f)/2,1J=k*-b*x/a+(3E+g)/2,d=e?(9.1h?"bj":"bk"):(9.1h?"at":"ar"),2c=1b.1j(cx-a),1P=1b.1j(1J-b);d+=[2c,1P,1b.1j(2c+a*2),1b.1j(1P+b*2),1b.1j(h),1b.1j(3E),1b.1j(1c(f,10)),1b.1j(1c(g,10))].1K(", ");9.1e.1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(f,10);9.1a.y=(9.1h?0:9.1a.y)+1c(g,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"A":"a")+[a,b,0,c,e,f,g];17 9};p.56=14(a,b,c){13(!c){17 9.35(a,b)}1o{11 x=1b.1j(1b.1j(1c(a,10)*2C)/2C),y=1b.1j(1b.1j(1c(b,10)*2C)/2C),w=1b.1j(1b.1j(1c(c,10)*2C)/2C),d=9.1h?"c":"v",1D=[1b.1j(9.1a.x)+w,1b.1j(9.1a.y),x-w,y,x,y],5w=[9.1a.x+c,9.1a.y,a-c,b,a,b];d+=1D.1K(" ")+" ";9.1a.x=(9.1h?0:9.1a.x)+1D[4];9.1a.y=(9.1h?0:9.1a.y)+1D[5];9.1a.bx=1D[2];9.1a.by=1D[3];9.1e.1l=9.2Q+=d;9.15.1l+=(9.1h?"C":"c")+5w;17 9}};p.1O=14(){11 d=9.1h?"c":"v";13(18.19==6){9.1a.bx=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.by=(9.1h?0:9.1a.y)+1c(18[3],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[4],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[5],10);d+=[1b.1j(1c(18[0],10)),1b.1j(1c(18[1],10)),1b.1j(1c(18[2],10)),1b.1j(1c(18[3],10)),1b.1j(1c(18[4],10)),1b.1j(1c(18[5],10))].1K(" ")+" ";9.1a.1h=9.1h;9.15.1l+=(9.1h?"C":"c")+3b.1y.2t.2X(18,0,18.19)}13(18.19==4){11 a=9.1a.x*2-9.1a.bx;11 b=9.1a.y*2-9.1a.by;9.1a.bx=(9.1h?0:9.1a.x)+1c(18[0],10);9.1a.by=(9.1h?0:9.1a.y)+1c(18[1],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(a),1b.1j(b),1b.1j(1c(18[0],10)),1b.1j(1c(18[1],10)),1b.1j(1c(18[2],10)),1b.1j(1c(18[3],10))].1K(" ")+" ";9.15.1l+=(9.1h?"S":"s")+3b.1y.2t.2X(18,0,18.19)}9.1e.1l=9.2Q+=d;17 9};p.41=14(){11 d="bl";13(18.19==4){9.1a.3m=(9.1h?0:9.1a.x)+1c(18[0],10);9.1a.3n=(9.1h?0:9.1a.y)+1c(18[1],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(9.1a.3m),1b.1j(9.1a.3n),1b.1j(9.1a.x),1b.1j(9.1a.y)].1K(" ")+" ";9.1a.1h=9.1h;9.15.1l+=(9.1h?"Q":"q")+3b.1y.2t.2X(18,0,18.19)}13(18.19==2){9.1a.3m=9.1a.x*2-9.1a.3m;9.1a.3n=9.1a.y*2-9.1a.3n;9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(9.1a.3m),1b.1j(9.1a.3n),1b.1j(9.1a.x),1b.1j(9.1a.y)].1K(" ")+" ";9.15.1l+=(9.1h?"T":"t")+3b.1y.2t.2X(18,0,18.19)}9.1e.1l=9.2Q+=d;9.1l.1V({1v:"bm",bn:[].bo.2X(18,0),bp:9.1h});17 9};p.58=14(r,a){11 R=.59*r,2D=9.1h,o=9;13(2D){9.3Z();2D=14(){o.3l()}}1o{2D=14(){}}11 b={l:14(){17{u:14(){o.1O(-R,0,-r,-(r-R),-r,-r)},d:14(){o.1O(-R,0,-r,r-R,-r,r)}}},r:14(){17{u:14(){o.1O(R,0,r,-(r-R),r,-r)},d:14(){o.1O(R,0,r,r-R,r,r)}}},u:14(){17{r:14(){o.1O(0,-R,-(R-r),-r,r,-r)},l:14(){o.1O(0,-R,R-r,-r,-r,-r)}}},d:14(){17{r:14(){o.1O(0,R,-(R-r),r,r,r)},l:14(){o.1O(0,R,R-r,r,-r,r)}}}};b[a.5x(0)]()[a.5x(1)]();2D();17 o};p.4s=14(){9.1e.1l=(9.2Q+="x e");9.15.1l+="z";17 9};13(j){p.3l();p.15.1l="";v.3D(p,""+j)}J(p,i);13(i.2g){H(p,i.2g)}17 p};11 J=14(o,a){11 s=o.1e.1s,1I=o;o.15=o.15||{};1n(11 b 1E a){o.15[b]=a[b]}13(a.1l&amp;&amp;o.1v=="1l"){o.2Q="";o.1l=[];v.3D(o,a.1l)}13(a.2R!=24){o.3I(a.2R,1Q)}13(a.2K){11 c=(a.2K+"").26(u);o.38(c[0],c[1])}13(a.2H){11 c=(a.2H+"").26(u);o.2H(c[0],c[1])}13(o.1v=="2n"&amp;&amp;a.2I){o.1e.2I=a.2I}13(o.1v=="2n"&amp;&amp;a.1p){o.1e.49=" 5y:5z.5A.bq(1p="+(a.1p*2C)+")";o.1e.1s.4E=(o.1e.3M||"")+(o.1e.49||"")}a.1z&amp;&amp;(s.1z=a.1z);a["1z-3x"]&amp;&amp;(s.5B=a["1z-3x"]);a["1z-2G"]&amp;&amp;(s.5C=a["1z-2G"]);a["1z-3N"]&amp;&amp;(s.5D=a["1z-3N"]);a["1z-1s"]&amp;&amp;(s.5E=a["1z-1s"]);13(1u a.1p!="1N"||1u a["1i-1d"]!="1N"||1u a.1x!="1N"||1u a.1i!="1N"||a["1i-1d"]||a["1i-1p"]||a["1i-2J"]||a["1i-3z"]||a["1i-3y"]||a["1i-2Z"]){o=o.2w||o.1e;11 d=(o.3a("1x")&amp;&amp;o.3a("1x")[0])||Z("1x");13("1x-1p"1E a||"1p"1E a){d.1p=((+a["1x-1p"]+1||2)-1)*((+a.1p+1||2)-1)}13(a.1x){d.2p=1Q}13(1u d.2p=="1N"||a.1x=="1U"){d.2p=2B}13(d.2p&amp;&amp;a.1x){11 e=a.1x.3T(/^36\\(([^\\)]+)\\)$/i);13(e){d.2I=e[1];d.1v="br"}1o{d.2l=A(a.1x).23;d.2I="";d.1v="bt"}}o.1t(d);11 f=(o.3a("1i")&amp;&amp;o.3a("1i")[0])||Z("1i");13((a.1i&amp;&amp;a.1i!="1U")||a["1i-1d"]||1u a["1i-1p"]!="1N"||a["1i-2J"]||a["1i-3z"]||a["1i-3y"]||a["1i-2Z"]){f.2p=1Q}13(a.1i=="1U"||1u f.2p=="1N"||a.1i==0){f.2p=2B}13(f.2p&amp;&amp;a.1i){f.2l=A(a.1i).23}f.1p=((+a["1i-1p"]+1||2)-1)*((+a.1p+1||2)-1);a["1i-3y"]&amp;&amp;(f.bu=a["1i-3y"]||"5F");f.3z=a["1i-3z"]||8;a["1i-2Z"]&amp;&amp;(f.bv={3j:"bw",4u:"4u",1j:"1j"}[a["1i-2Z"]]||"5F");a["1i-1d"]&amp;&amp;(f.3N=(1c(a["1i-1d"],10)||1)*12/16);13(a["1i-2J"]){11 g={"-":"bz",".":"bA","-.":"bB","-..":"bC",". ":"bD","- ":"bE","--":"bF","- .":"bG","--.":"bH","--..":"bI"};f.bJ=g[a["1i-2J"]]||""}o.1t(f)}13(1I.1v=="1R"){11 h=1w.3p("bK"),s=h.1s;1I.15.1z&amp;&amp;(s.1z=1I.15.1z);1I.15["1z-3x"]&amp;&amp;(s.5B=1I.15["1z-3x"]);1I.15["1z-2G"]&amp;&amp;(s.5C=1I.15["1z-2G"]);1I.15["1z-3N"]&amp;&amp;(s.5D=1I.15["1z-3N"]);1I.15["1z-1s"]&amp;&amp;(s.5E=1I.15["1z-1s"]);1I.1e.1F.1t(h);h.bL=1I.1e.2j;1I.W=1I.15.w=h.4y;1I.H=1I.15.h=h.4z;1I.X=1I.15.x-1b.1j(1I.W/2);1I.Y=1I.15.y-1b.1j(1I.H/2);1I.1e.1F.2u(h)}};11 W=14(a,b,c,d){11 e=1b.1j(1b.bM((1c(c,10)-1c(a,10))/(1c(d,10)-1c(b,10)))*57.29)||0;13(!e&amp;&amp;1c(a,10)&lt;1c(b,10)){e=3Y}e-=3Y;13(e&lt;0){e+=5G}17 e};11 H=14(o,a){a=F(a);o.15=o.15||{};11 b=o.15;o.15.2g=a;o=o.2w||o[0];11 c=o.3a("1x");13(c.19){c=c[0]}1o{c=Z("1x")}13(a.1B.19){c.2p=1Q;c.bN="1U";c.1v=((a.1v+"").2z()=="5H")?"bO":"2g";13(1u a.1B[0].2l!="1N"){c.2l=A(a.1B[0].2l).23}13(1u a.1B[a.1B.19-1].2l!="1N"){c.bP=A(a.1B[a.1B.19-1].2l).23}11 d=[];1n(11 i=0,1q=a.1B.19;i&lt;1q;i++){13(a.1B[i].2m){d.1V(a.1B[i].2m+" "+A(a.1B[i].2l).23)}};11 e=1u a.1B[a.1B.19-1].1p=="1N"?(1u b.1p=="1N"?1:b.1p):a.1B[a.1B.19-1].1p;13(d.19){c.5I.5J=d.1K(",");e=1u b.1p=="1N"?1:b.1p}1o{c.5I.5J="0% "+c.2l}c.1p=e;13(1u a.3B!="1N"){c.3B=(-a.3B+bQ)%5G}1o 13(a.1C){c.3B=W.2e(24,a.1C)}13((a.1v+"").2z()=="5H"){c.bR="2C%";c.bS="0.5 0.5"}}};11 M=14(a,b,c){11 d=0,bT=0,bU=0,bV=1;9[0]=a;9.1e=a;9.X=0;9.Y=0;9.15={};9.1M=b;9.2a=c;9.1A={44:0,45:0,28:{2v:0},2O:1,2W:1}};M.1y.3I=14(a,b,c){13(a==24){17 9.1A.28.2v}a=a.1G().26(u);13(a.19-1){b=1c(a[1],10);c=1c(a[2],10)}a=1c(a[0],10);13(c==24){b=24}13(b!=24){9.1A.28.2v=a}1o{9.1A.28.2v+=a}9.1A.28.cx=b;9.1A.28.1J=c;9.3f(24,b,c);9.1M.1s.2R=9.1A.28.2v;17 9};M.1y.3f=14(a,b,c){11 d=9.1M.1s,3g=(9.2w&amp;&amp;9.2w.1s)||9.1e.1s;1n(11 i 1E a){9.15[i]=a[i]}b=b||9.1A.28.cx;c=c||9.1A.28.1J;11 e=9.15,x,y,w,h;2k(9.1v){1k"3c":x=e.cx-e.r;y=e.1J-e.r;w=h=e.r*2;1m;1k"3d":x=e.cx-e.2h;y=e.1J-e.2i;w=e.2h*2;h=e.2i*2;1m;1k"2o":1k"2n":x=e.x;y=e.y;w=e.1d||0;h=e.1g||0;1m;1k"1R":9.4F.v=["m",1b.1j(e.x),", ",1b.1j(e.y-2),"l",1b.1j(e.x)+1,", ",1b.1j(e.y-2)].1K("");x=e.x-1b.1j(9.W/2);y=e.y-9.H/2;w=9.W;h=9.H;1m;1k"1l":13(!9.15.1l){x=0;y=0;w=9.2a.1d;h=9.2a.1g}1o{11 f=B(9.15.1l),x=f.x;y=f.y;w=f.1d;h=f.1g}1m;2S:x=0;y=0;w=9.2a.1d;h=9.2a.1g;1m}b=(b==24)?x+w/2:b;c=(c==24)?y+h/2:c;11 g=b-9.2a.1d/2,1P=c-9.2a.1g/2;13(9.1v=="1l"||9.1v=="1R"){d.2c=g+"1H";d.1P=1P+"1H";9.X=9.1v=="1R"?x:-g;9.Y=9.1v=="1R"?y:-1P;9.W=w;9.H=h;3g.2c=-g+"1H";3g.1P=-1P+"1H"}1o{d.2c=g+"1H";d.1P=1P+"1H";9.X=x;9.Y=y;9.W=w;9.H=h;d.1d=9.2a.1d+"1H";d.1g=9.2a.1g+"1H";3g.2c=x-g+"1H";3g.1P=y-1P+"1H";3g.1d=w+"1H";3g.1g=h+"1H"}};M.1y.5e=14(){9.1M.1s.46="1U";17 9};M.1y.5f=14(){9.1M.1s.46="5g";17 9};M.1y.37=14(){17{x:9.X,y:9.Y,1d:9.W,1g:9.H}};M.1y.3K=14(){9[0].1F.2u(9[0]);9.1M.1F.2u(9.1M);9.2w&amp;&amp;9.2w.1F.2u(9.2w)};M.1y.1D=14(){13(18.19==1&amp;&amp;1u 18[0]=="2j"){13(18[0]=="2K"){17 9.38()}17 9.15[18[0]]}13(9.15&amp;&amp;18.19==1&amp;&amp;18[0]5h 3b){11 a={};1n(11 i=0,1q=18[0].19;i&lt;1q;i++){a[18[0][i]]=9.15[18[0][i]]};17 a}11 b;13(18.19==2){b={};b[18[0]]=18[1]}13(18.19==1&amp;&amp;1u 18[0]=="3k"){b=18[0]}13(b){13(b.2g){H(9,b.2g)}13(b.1R&amp;&amp;9.1v=="1R"){9.1e.2j=b.1R}13(b.2U){9.1e.2U=b.2U}J(9,b);9.3f(b)}17 9};M.1y.5i=14(){9.1M.1F.1t(9.1M);17 9};M.1y.5j=14(){13(9.1M.1F.2d!=9.1M){9.1M.1F.2F(9.1M,9.1M.1F.2d)}17 9};M.1y.5k=14(a){13(a.1M.47){a.1M.1F.2F(9.1M,a.1M.47)}1o{a.1M.1F.1t(9.1M)}17 9};M.1y.2F=14(a){a.1M.1F.2F(9.1M,a.1M);17 9};11 N=14(a,x,y,r){11 g=Z("2P");11 o=Z("5K");g.1t(o);a.1r.1t(g);11 b=1W M(o,g,a);b.1v="3c";J(b,{1i:"#22",1x:"1U"});b.15.cx=x;b.15.1J=y;b.15.r=r;b.3f({x:x-r,y:y-r,1d:r*2,1g:r*2});17 b};11 O=14(a,x,y,w,h,r){11 g=Z("2P");11 o=Z(r?"bW":"2o");13(r){o.bX=r/(1b.2M(w,h))}g.1t(o);a.1r.1t(g);11 b=1W M(o,g,a);b.1v="2o";J(b,{1i:"#22"});b.15.x=x;b.15.y=y;b.15.w=w;b.15.h=h;b.15.r=r;b.3f({x:x,y:y,1d:w,1g:h});17 b};11 P=14(a,x,y,b,c){11 g=Z("2P");11 o=Z("5K");g.1t(o);a.1r.1t(g);11 d=1W M(o,g,a);d.1v="3d";J(d,{1i:"#22"});d.15.cx=x;d.15.1J=y;d.15.2h=b;d.15.2i=c;d.3f({x:x-b,y:y-c,1d:b*2,1g:c*2});17 d};11 Q=14(a,b,x,y,w,h){11 g=Z("2P");11 o=Z("2n");o.2I=b;g.1t(o);a.1r.1t(g);11 c=1W M(o,g,a);c.1v="2n";c.15.x=x;c.15.y=y;c.15.w=w;c.15.h=h;c.3f({x:x,y:y,1d:w,1g:h});17 c};11 S=14(a,x,y,b){11 g=Z("2P"),3t=g.1s;11 c=Z("2w"),3r=c.1s;11 d=Z("1l"),bY=d.1s;d.v=["m",1b.1j(x),", ",1b.1j(y-2),"l",1b.1j(x)+1,", ",1b.1j(y-2)].1K("");d.bZ=1Q;3r.1d=a.1d;3r.1g=a.1g;3t.2V="39";3t.2c=0;3t.1P=0;3t.1d=a.1d;3t.1g=a.1g;11 o=Z("4F");o.2j=b;o.2p=1Q;o.3s=a.3s;o.3L=a.3L;c.1t(o);c.1t(d);g.1t(c);a.1r.1t(g);11 e=1W M(o,g,a);e.2w=c;e.4F=d;e.1v="1R";e.15.x=x;e.15.y=y;e.15.w=1;e.15.h=1;J(e,{1z:z.1z,1i:"1U",1x:"#22"});17 e};11 U=14(a,b){9.1d=a||9.1d;9.1g=b||9.1g;9.1r.1s.1d=9.1d+"1H";9.1r.1s.1g=9.1g+"1H";9.1r.1F.1s.5L="2o(0 "+9.1d+" "+9.1g+" 0)";9.1r.3s=9.1d+" "+9.1g;17 9};1w.c0().c1(".3e","c2:36(#2S#3P)");c3{13(!1w.5M.3e){1w.5M.c4("3e","5N:5O-5P-5Q:2a")}11 Z=14(a){17 1w.3p(\'&lt;3e:\'+a+\' 48="3e"&gt;\')}}c5(e){11 Z=14(a){17 1w.3p(\'&lt;\'+a+\' c6="5N:5O-5P.5Q:2a" 48="3e"&gt;\')}}11 V=14(){11 e,1d,1g;13(1u 18[0]=="2j"){e=1w.4A(18[0]);1d=18[1];1g=18[2]}13(1u 18[0]=="3k"){e=18[0];1d=18[1];1g=18[2]}13(1u 18[0]=="1T"){e=1;x=18[0];y=18[1];1d=18[2];1g=18[3]}13(!e){5l 1W 5m("3P 5n 5o 5p.");}11 c=1w.3p("5R"),d=1w.3p("5R"),r=v.1r=Z("2P"),cs=c.1s,3u=r.1s;v.1d=1d;v.1g=1g;1d=1d||"c7";1g=1g||"c8";cs.5L="2o(0 "+1d+"1H "+1g+"1H 0)";cs.1P="-5S";cs.2c="-5S";cs.2V="39";3u.2V="39";d.1s.2V="c9";3u.1d=1d;3u.1g=1g;r.3s=(/%$/.5T(1d)?1d:1c(1d,10))+" "+(/%$/.5T(1g)?1g:1c(1g,10));r.3L="0 0";11 b=Z("2o"),bs=b.1s;bs.2c=bs.1P=0;bs.1d=3u.1d;bs.1g=3u.1g;b.ca=b.cb="f";r.1t(b);c.1t(r);d.1t(c);13(e==1){1w.42.1t(d);cs.2V="39";cs.2c=x+"1H";cs.1P=y+"1H";cs.1d=1d;cs.1g=1g;e={1s:{1d:1d,1g:1g}}}1o{cs.1d=e.1s.1d=1d;cs.1g=e.1s.1g=1g;13(e.2d){e.2F(d,e.2d)}1o{e.1t(d)}}1n(11 f 1E v){e[f]=v[f]}1n(11 f 1E R.3w){13(!e[f]){e[f]=R.3w[f]}}e.4D=14(){11 a=[];1n(11 i=0,1q=r.4G.19;i&lt;1q;i++){13(r.4G[i]!=b){a.1V(r.4G[i])}}1n(i=0,1q=a.19;i&lt;1q;i++){r.2u(a[i])}};17 e};v.3K=14(){9.1r.1F.1F.1F.2u(9.1r.1F.1F)};v.3J=14(){}}11 ba=(14(){13(1w.5U){17 14(a,b,c,d){11 f=14(e){17 c.2X(d,e)};a.5U(b,f,2B);17 14(){a.cc(b,f,2B);17 1Q}}}1o 13(1w.4a){17 14(a,b,c,d){11 f=14(e){17 c.2X(d,e||3v.cd)};a.4a("2p"+b,f);11 g=14(){a.4H("2p"+b,f);17 1Q};13(b=="4R"){a.4a("5V",f);17 14(){a.4H("5V",f);17 g()}}1o 13(b=="4Q"){a.4a("5W",f);17 14(){a.4H("5W",f);17 g()}}17 g}}})();1n(11 i=1X.19;i--;){(14(b){M.1y[b]=14(a){13(1u a=="14"){9.1X=9.1X||{};9.1X[b]=9.1X[b]||{};9.1X[b][a]=9.1X[b][a]||[];9.1X[b][a].1V(ba(9.2w||9.1e,b,a,9))}17 9};M.1y["ce"+b]=14(a){9.1X&amp;&amp;9.1X[b]&amp;&amp;9.1X[b][a]&amp;&amp;9.1X[b][a].19&amp;&amp;9.1X[b][a].4p()()&amp;&amp;!9.1X[b][a].19&amp;&amp;43 9.1X[b][a]}})(1X[i])}v.3c=14(x,y,r){17 N(9,x,y,r)};v.2o=14(x,y,w,h,r){17 O(9,x,y,w,h,r)};v.3d=14(x,y,a,b){17 P(9,x,y,a,b)};v.1l=14(a,b){17 G(a,b,9)};v.2n=14(a,x,y,w,h){17 Q(9,a,x,y,w,h)};v.1R=14(x,y,a){17 S(9,x,y,a)};v.2P=14(){17 9};v.cf=14(x,y,w,h,a,b,c){c=c||"#22";11 d=["M",x,y,"L",x+w,y,x+w,y+h,x,y+h,x,y],4I=h/b,4J=w/a;1n(11 i=1;i&lt;b;i++){d=d.4l(["M",x,y+i*4I,"L",x+w,y+i*4I])}1n(11 i=1;i&lt;a;i++){d=d.4l(["M",x+i*4J,y,"L",x+i*4J,y+h])}17 9.1l({1i:c,"1i-1d":1},d.1K(","))};v.3D=14(p,g){11 h={M:14(x,y){9.4q(x,y)},C:14(a,b,c,d,e,f){9.1O(a,b,c,d,e,f)},Q:14(a,b,c,d){9.41(a,b,c,d)},T:14(x,y){9.41(x,y)},S:14(a,b,c,d){p.1O(a,b,c,d)},L:14(x,y){p.35(x,y)},H:14(x){9.35(x,9.1a.y)},V:14(y){9.35(9.1a.x,y)},A:14(a,b,c,d,e,x,y){9.4r(a,b,d,e,x,y)},Z:14(){9.4s()}};g=D(g);1n(11 i=0,1q=g.19;i&lt;1q;i++){11 b=g[i].4p();h[b].2e(p,g[i])}};v.3O=14(a){17 1W bb(a)};v.cg=U;M.1y.3o=14(){4K(9.4b)};M.1y.2H=14(x,y){13(x==1N&amp;&amp;y==1N){17{x:9.1A.2O,y:9.1A.2W}}y=y||x;ch(y)&amp;&amp;(y=x);11 a,2N,cx,1J;13(x!=0){11 b=1b.1j(x/1b.3C(x)),2q=1b.1j(y/1b.3C(y)),s=9.1e.1s;a=9.1D("x");2N=9.1D("y");cx=9.1D("cx");1J=9.1D("1J");13(b!=1||2q!=1){13(9.2E){9.2E[2]="2H("+[b,2q]+")";9.1e.1f("4C",9.2E.1K(" "));a=(b&lt;0)?-9.1D("x")-9.15.1d*x*b/9.1A.2O:9.1D("x");2N=(2q&lt;0)?-9.1D("y")-9.15.1g*y*2q/9.1A.2W:9.1D("y");cx=9.1D("cx")*b;1J=9.1D("1J")*2q}1o{9.1e.3M=" 5y:5z.5A.ci(cj="+b+", ck=0, cl=0, cm="+2q+", cn=0, co=0, cp=\'cq cr\', ct=\'cu\')";s.4E=(9.1e.3M||"")+(9.1e.49||"")}}1o{13(9.2E){9.2E[2]="";9.1e.1f("4C",9.2E.1K(" "))}1o{9.1e.3M="";s.4E=(9.1e.3M||"")+(9.1e.49||"")}}2k(9.1v){1k"2o":1k"2n":9.1D({1d:9.15.1d*x*b/9.1A.2O,1g:9.15.1g*y*2q/9.1A.2W,x:a,y:2N});1m;1k"3c":1k"3d":9.1D({2h:9.15.2h*x*b/9.1A.2O,2i:9.15.2i*y*2q/9.1A.2W,r:9.15.r*x*2q/9.1A.2O,cx:cx,1J:1J});1m;1k"1l":11 c=C(2x.32(9.1D("1l"))),4L=1Q,3h=B(9.15.1l),a=-3h.1d*(x-1)/2,2N=-3h.1g*(y-1)/2;1n(11 i=0,1q=c.19;i&lt;1q;i++){13(c[i][0].33()=="M"&amp;&amp;4L){52}1o{4L=2B}13(c[i][0].33()=="A"){c[i][c[i].19-2]*=x*b;c[i][c[i].19-1]*=y*2q}1o{1n(11 j=1,21=c[i].19;j&lt;21;j++){c[i][j]*=(j%2)?x*b/9.1A.2O:y*2q/9.1A.2W}}}11 d=B(c),a=3h.x+3h.1d/2-d.x-d.1d/2,2N=3h.y+3h.1g/2-d.y-d.1g/2;c=C(c);c[0][1]+=a;c[0][2]+=2N;9.1D({1l:c.1K(" ")})}}9.1A.2O=x;9.1A.2W=y;17 9};M.1y.cv=14(c,d,e){4K(9.4b);11 f={},2Y={},1S={},t={x:0,y:0};1n(11 g 1E c){13(g 1E 3Q){f[g]=9.1D(g);13(1u f[g]=="1N"){f[g]=z[g]}2Y[g]=c[g];2k(3Q[g]){1k"1T":1S[g]=(2Y[g]-f[g])/d;1m;1k"3R":f[g]=A(f[g]);11 h=A(2Y[g]);1S[g]={r:(h.r-f[g].r)/d,g:(h.g-f[g].g)/d,b:(h.b-f[g].b)/d};1m;1k"1l":11 k=E(f[g],2Y[g]);f[g]=k[0];2Y[g]=k[1];1S[g]=[];1n(11 i=0,1q=f[g].19;i&lt;1q;i++){1S[g][i]=[0];1n(11 j=1,21=f[g][i].19;j&lt;21;j++){1S[g][i][j]=(2Y[g][i][j]-f[g][i][j])/d}}1m;1k"3A":11 l=c[g].1G().26(u),4c=f[g].1G().26(u);13(g=="2K"){f[g]=[0,0];1S[g]=[l[0]/d,l[1]/d]}1o 13(g=="2R"){f[g]=(4c[1]==l[1]&amp;&amp;4c[2]==l[2])?4c:[0,l[1],l[2]];1S[g]=[(l[0]-f[g][0])/d,0,0]}1o{f[g]=(f[g]+"").26(u);1S[g]=[(l[0]-f[g][0])/d,(l[1]-f[g][0])/d]}2Y[g]=l}}}11 m=1W 5X(),4d=0,3i=9;(14(){11 a=(1W 5X()).5Y()-m.5Y(),3O={},25;13(a&lt;d){1n(11 b 1E f){2k(3Q[b]){1k"1T":25=+f[b]+a*1S[b];1m;1k"3R":25="4j("+[1b.1j(f[b].r+a*1S[b].r),1b.1j(f[b].g+a*1S[b].g),1b.1j(f[b].b+a*1S[b].b)].1K(",")+")";1m;1k"1l":25=[];1n(11 i=0,1q=f[b].19;i&lt;1q;i++){25[i]=[f[b][i][0]];1n(11 j=1,21=f[b][i].19;j&lt;21;j++){25[i][j]=f[b][i][j]+a*1S[b][i][j]}25[i]=25[i].1K(" ")}25=25.1K(" ");1m;1k"3A":13(b=="2K"){11 x=1S[b][0]*(a-4d),y=1S[b][1]*(a-4d);t.x+=x;t.y+=y;25=[x,y].1K(" ")}1o 13(b=="2R"){25=+f[b][0]+a*1S[b][0];f[b][1]&amp;&amp;(25+=","+f[b][1]+","+f[b][2])}1o{25=[+f[b][0]+a*1S[b][0],+f[b][1]+a*1S[b][1]].1K(" ")}1m}13(b=="1z-2G"){3O[b]=25+"1H"}1o{3O[b]=25}}3i.1D(3O);3i.4b=4B(18.3U,0);v.3J()}1o{(t.x||t.y)&amp;&amp;3i.38(-t.x,-t.y);3i.1D(c);4K(3i.4b);v.3J();(1u e=="14")&amp;&amp;e.2X(3i)}4d=a})();17 9};M.1y.38=14(x,y){13(x==24){17{x:9.1A.44,y:9.1A.45}}9.1A.44+=+x;9.1A.45+=+y;2k(9.1v){1k"3c":1k"3d":9.1D({cx:9.15.cx+x,1J:9.15.1J+y});1m;1k"2o":1k"2n":1k"1R":9.1D({x:9.15.x+ +x,y:9.15.y+ +y});1m;1k"1l":11 a=C(9.15.1l);a[0][1]+=+x;a[0][2]+=+y;9.1D({1l:a.1K(" ")});1m}17 9};11 bb=14(a){9.2r=[];9.19=(a&amp;&amp;a.19)||0;13(a&amp;&amp;a.4M==3b){1n(11 i=a.19;i--;){13(a[i].4M==M){9.2r[9.2r.19]=a[i]}}}};bb.1y.1V=14(a){13(a&amp;&amp;a.4M==M){11 b=9.2r.19;9.2r[b]=a;9[b]=a;9.19++}17 9};bb.1y.cw=14(a){11 b=9.2r.2t(a,1)[0];1n(11 j=a,21=9.2r.19;j&lt;21;j++){9[j]=9[j+1]}43 9[21+1];9.19--;17 b};1n(11 bc 1E M.1y){bb.1y[bc]=(14(a){17 14(){1n(11 i=9.2r.19;i--;){9.2r[i][a].2e(9.2r[i],18)}17 9}})(bc)}bb.1y.37=14(){11 x=[],y=[],w=[],h=[];1n(11 i=9.2r.19;i--;){11 a=9.2r[i].37();x.1V(a.x);y.1V(a.y);w.1V(a.x+a.1d);h.1V(a.y+a.1g)}x=1b.2M.2e(1b,x);y=1b.2M.2e(1b,y);17{x:x,y:y,1d:1b.30.2e(1b,w)-x,1g:1b.30.2e(1b,h)-y}};17 R})();',62,778,'|||||||||this||||||||||||||||||||||||||||||||||||||||||||||||||||||var||if|function|attrs||return|arguments|length|last|Math|parseFloat|width|node|setAttribute|height|isAbsolute|stroke|round|case|path|break|for|else|opacity|ii|canvas|style|appendChild|typeof|type|doc|fill|prototype|font|_|dots|vector|attr|in|parentNode|toString|px|res|cy|join|toFixed|Group|undefined|curveTo|top|true|text|diff|number|none|push|new|events|green|blue||jj|000|hex|null|now|split|svgns|rt||vml|createElementNS|left|firstChild|apply|svg|gradient|rx|ry|string|switch|color|offset|image|rect|on|diry|items|substring|splice|removeChild|deg|shape|Raphael|hue|toLowerCase|start|false|100|rollback|transformations|insertBefore|size|scale|src|dasharray|translation|255|min|dy|sx|group|Path|rotation|default|getAttribute|id|position|sy|call|to|linecap|max|parseInt|parsePathString|toUpperCase|end|lineTo|url|getBBox|translate|absolute|getElementsByTagName|Array|circle|ellipse|rvml|setBox|os|dim|that|butt|object|absolutely|qx|qy|stop|createElement|gl|ol|coordsize|gs|rs|win|fn|family|linejoin|miterlimit|csv|angle|abs|pathfinder|y1|defs|pattern|xlink|rotate|safari|remove|coordorigin|filterMatrix|weight|set|VML|availableAnimAttrs|colour|hsb2rgb|match|callee|data|replace|name|180|relatively|command|qcurveTo|body|delete|tx|ty|display|nextSibling|class|filterOpacity|attachEvent|animation_in_progress|from2|prev|SVG|idGenerator|fff|M0|saturation|rgb|while|concat|miny|processPath|edgeCases|shift|moveTo|arcTo|andClose|addDashes|square|dashes|setAttributeNS|href|offsetWidth|offsetHeight|getElementById|setTimeout|transform|clear|filter|textpath|childNodes|detachEvent|rowHeight|columnWidth|clearTimeout|skip|constructor|document|version|Arial|mouseout|mouseover|brightness|0ff|f0f|lightsalmon|ffa07a|mediumslateblue|7b68ee|hsb|getColor|ig|continue|linear|PI||cplineTo||addRoundedCorner|5522|raphael|fillOpacity|9999em|tspan|hide|show|block|instanceof|toFront|toBack|insertAfter|throw|Error|container|not|found|320|200|http|www|w3|org|svgattr|charAt|progid|DXImageTransform|Microsoft|fontFamily|fontSize|fontWeight|fontStyle|miter|360|radial|colors|value|oval|clip|namespaces|urn|schemas|microsoft|com|div|2px|test|addEventListener|onmouseenter|onmouseleave|Date|getTime|window|SVGAngle|10px|click|dblclick|mousedown|mousemove|mouseup|Your|browser|doesn|support|nYou|are|running|unescape|Rapha|EBl|setWindow|floor|rgb2hsb|aliceblue|f0f8ff|amethyst|96c|antiquewhite|faebd7|aqua|aquamarine|7fffd4|azure|f0ffff|beige|f5f5dc|bisque|ffe4c4|black|blanchedalmond|ffebcd|00f|blueviolet|8a2be2|brown|a52a2a|burlywood|deb887|cadetblue|5f9ea0|chartreuse|7fff00|chocolate|d2691e|coral|ff7f50|cornflowerblue|6495ed|cornsilk|fff8dc|crimson|dc143c|cyan|darkblue|00008b|darkcyan|008b8b|darkgoldenrod|b8860b|darkgray||a9a9a9|darkgreen|006400|darkkhaki|bdb76b|darkmagenta|8b008b|darkolivegreen|556b2f|darkorange|ff8c00|darkorchid|9932cc|darkred|8b0000|darksalmon|e9967a|darkseagreen|8fbc8f|darkslateblue|483d8b|darkslategray|2f4f4f|darkturquoise|00ced1|darkviolet|9400d3|deeppink|ff1493|deepskyblue|00bfff|dimgray|696969|dodgerblue|1e90ff|firebrick|b22222|floralwhite|fffaf0|forestgreen|228b22|fuchsia|gainsboro|dcdcdc|ghostwhite|f8f8ff|gold|ffd700|goldenrod|daa520|gray|808080|008000|greenyellow|adff2f|honeydew|f0fff0|hotpink|ff69b4|indianred|cd5c5c|indigo|4b0082|ivory|fffff0|khaki|f0e68c|lavender|e6e6fa|lavenderblush|fff0f5|lawngreen|7cfc00|lemonchiffon|fffacd|lightblue|add8e6|lightcoral|f08080|lightcyan|e0ffff|lightgoldenrodyellow|fafad2|lightgreen|90ee90|lightgrey|d3d3d3|lightpink|ffb6c1|lightseagreen|20b2aa|lightskyblue|87cefa|lightslategray|789|lightsteelblue|b0c4de|lightyellow|ffffe0|lime|0f0|limegreen|32cd32|linen|faf0e6|magenta|maroon|800000|mediumaquamarine|66cdaa|mediumblue|0000cd|mediumorchid|ba55d3|mediumpurple|9370db|mediumseagreen|3cb371||mediumspringgreen|00fa9a|mediumturquoise|48d1cc|mediumvioletred|c71585|midnightblue|191970|mintcream|f5fffa|mistyrose|ffe4e1|moccasin|ffe4b5|navajowhite|ffdead|navy|000080|oldlace|fdf5e6|olive|808000|olivedrab|6b8e23|orange|ffa500|orangered|ff4500|orchid|da70d6|palegoldenrod|eee8aa|palegreen|98fb98|paleturquoise|afeeee|palevioletred|db7093|papayawhip|ffefd5|peachpuff|ffdab9|peru|cd853f|pink|ffc0cb|plum|dda0dd|powderblue|b0e0e6|purple|800080|red|f00|rosybrown|bc8f8f|royalblue|4169e1|saddlebrown|8b4513|salmon|fa8072|sandybrown|f4a460|seagreen|2e8b57|seashell|fff5ee|sienna|a0522d|silver|c0c0c0|skyblue|87ceeb|slateblue|6a5acd|slategray|708090|snow|fffafa|springgreen|00ff7f|steelblue|4682b4|tan|d2b48c|teal|008080||thistle||d8bfd8|tomato|ff6347|turquoise|40e0d0|violet|ee82ee|wheat|f5deb3|white|whitesmoke|f5f5f5|yellow|ff0|yellowgreen|9acd32|075|reset|achlmqstvz|cos|sin|Gradient|x1|x2|y2|patternTransform|strokeWidth|patternUnits|userSpaceOnUse|img|onload|defaultView|getComputedStyle|getPropertyValue|createTextNode|preserveAspectRatio|anchor|middle|create|2000|1999|navigator||||vendor|Apple|Computer|Inc|className|sqrt|wa|wr|qb|qcurve|arg|slice|pos|Alpha|tile||solid|joinstyle|endcap|flat|||shortdash|shortdot|shortdashdot|shortdashdotdot|dot|dash|longdash|dashdot|longdashdot|longdashdotdot|dashstyle|span|innerText|atan|method|gradientTitle|color2|270|focus|focusposition|RotX|RotY|Scale|roundrect|arcsize|ps|textpathok|createStyleSheet|addRule|behavior|try|add|catch|xmlns|320px|200px|relative|filled|stroked|removeEventListener|event|un|drawGrid|setSize|isNaN|Matrix|M11|M12|M21|M22|Dx|Dy|sizingmethod|auto|expand||filtertype|bilinear|animate|pull|'.split('|'),0,{}))//--&gt;&lt;/script&gt;&lt;div class='aqscontainer'&gt;&lt;div id="board_svgCSHSFI"&gt;&lt;/div&gt;                &lt;div class="shadow1table"&gt;                        &lt;div class="shadow2"&gt;                                &lt;table id="game_boardCSHSFI" cellpadding="0" cellspacing="0"&gt;                                        &lt;tr&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;td id="topaCSHSFI" class="lettertop"&gt;A&lt;/td&gt;                                        &lt;td id="topbCSHSFI" class="lettertop"&gt;B&lt;/td&gt;                                        &lt;td id="topcCSHSFI" class="lettertop"&gt;C&lt;/td&gt;                                        &lt;td id="topdCSHSFI" class="lettertop"&gt;D&lt;/td&gt;                                        &lt;td id="topeCSHSFI" class="lettertop"&gt;E&lt;/td&gt;                                        &lt;td id="topfCSHSFI" class="lettertop"&gt;F&lt;/td&gt;                                        &lt;td id="topgCSHSFI" class="lettertop"&gt;G&lt;/td&gt;                                        &lt;td id="tophCSHSFI" class="lettertop"&gt;H&lt;/td&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left8CSHSFI" class="numberleft"&gt;8&lt;/td&gt;                                        &lt;td class="white" id="square11CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square21CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square31CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square41CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square51CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square61CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square71CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square81CSHSFI"&gt;&lt;/td&gt;                                        &lt;td id="right8CSHSFI" class="numberright"&gt;8&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left7CSHSFI" class="numberleft"&gt;7&lt;/td&gt;                                        &lt;td class="black" id="square12CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square22CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square32CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square42CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square52CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square62CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square72CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square82CSHSFI"&gt;&lt;/td&gt;                                        &lt;td id="right7CSHSFI" class="numberright"&gt;7&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left6CSHSFI" class="numberleft"&gt;6&lt;/td&gt;                                        &lt;td class="white" id="square13CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square23CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square33CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square43CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square53CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square63CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square73CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square83CSHSFI"&gt;&lt;/td&gt;                                        &lt;td id="right6CSHSFI" class="numberright"&gt;6&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left5CSHSFI" class="numberleft"&gt;5&lt;/td&gt;                                        &lt;td class="black" id="square14CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square24CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square34CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square44CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square54CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square64CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square74CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square84CSHSFI"&gt;&lt;/td&gt;                                        &lt;td id="right5CSHSFI" class="numberright"&gt;5&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left4CSHSFI" class="numberleft"&gt;4&lt;/td&gt;                                        &lt;td class="white" id="square15CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square25CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square35CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square45CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square55CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square65CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square75CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square85CSHSFI"&gt;&lt;/td&gt;                                        &lt;td id="right4CSHSFI" class="numberright"&gt;4&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left3CSHSFI" class="numberleft"&gt;3&lt;/td&gt;                                        &lt;td class="black" id="square16CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square26CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square36CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square46CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square56CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square66CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square76CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square86CSHSFI"&gt;&lt;/td&gt;                                        &lt;td id="right3CSHSFI" class="numberright"&gt;3&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left2CSHSFI" class="numberleft"&gt;2&lt;/td&gt;                                        &lt;td class="white" id="square17CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square27CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square37CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square47CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square57CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square67CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square77CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square87CSHSFI"&gt;&lt;/td&gt;                                        &lt;td id="right2CSHSFI" class="numberright"&gt;2&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left1CSHSFI" class="numberleft"&gt;1&lt;/td&gt;                                        &lt;td class="black" id="square18CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square28CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square38CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square48CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square58CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square68CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square78CSHSFI"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square88CSHSFI"&gt;&lt;/td&gt;                                        &lt;td id="right1CSHSFI" class="numberright"&gt;1&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td class="corner"&gt;&lt;center&gt;&lt;a title="Flip board" id="flipiconCSHSFI" href="javascript: guiCSHSFI.flipBoard();"&gt;&lt;img src="http://www.chessok.com/common/images/board/flip_blue.png" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;/td&gt;                                        &lt;td id="bottomaCSHSFI" class="letterbottom"&gt;A&lt;/td&gt;                                        &lt;td id="bottombCSHSFI" class="letterbottom"&gt;B&lt;/td&gt;                                        &lt;td id="bottomcCSHSFI" class="letterbottom"&gt;C&lt;/td&gt;                                        &lt;td id="bottomdCSHSFI" class="letterbottom"&gt;D&lt;/td&gt;                                        &lt;td id="bottomeCSHSFI" class="letterbottom"&gt;E&lt;/td&gt;                                        &lt;td id="bottomfCSHSFI" class="letterbottom"&gt;F&lt;/td&gt;                                        &lt;td id="bottomgCSHSFI" class="letterbottom"&gt;G&lt;/td&gt;                                        &lt;td id="bottomhCSHSFI" class="letterbottom"&gt;H&lt;/td&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;/tr&gt;                                &lt;/table&gt;                        &lt;/div&gt;                &lt;/div&gt;                &lt;script type="text/javascript"&gt;                        var boardCSHSFI = new chessBoardCSHSFI();                        var guiCSHSFI = new GUICSHSFI();                        boardCSHSFI.loadFEN(FENsCSHSFI[0]);                        guiCSHSFI.drawBoardPosition(boardCSHSFI);                &lt;/script&gt;&lt;script type="text/javascript"&gt;var currMoveCSHSFI;var currVarLevelCSHSFI;var currMoveNumCSHSFI;var board_key = "CSHSFI";function loadMoveCSHSFI(moveid) {        board_key = "CSHSFI";                boardCSHSFI.loadFEN(FENsCSHSFI[moveid]);        guiCSHSFI.drawBoardPosition(boardCSHSFI);        if (currMoveCSHSFI) {                previousMoveCSHSFI = document.getElementById("m" + currMoveCSHSFI + "CSHSFI");                previousMoveCSHSFI.style.color = '';        }        currMoveCSHSFI = moveid;        currVarLevelCSHSFI = VarLevelsCSHSFI[moveid];        currMoveNumCSHSFI = MoveNumsCSHSFI[moveid];        if (currMoveCSHSFI) {                currentMoveCSHSFI = document.getElementById("m" + currMoveCSHSFI + "CSHSFI");                currentMoveCSHSFI.style.color = 'red';        }}function keyHandler(e) {        var keynum;        if(!e) // IE                e = window.event;        keynum = e['keyCode'];        var cmove = eval("currMove" + board_key);        if (keynum == 37) {                if(cmove &gt; 1) {                                        while ((cmove &gt; 0) &amp;&amp; (currVarLevelCSHSFI != VarLevelsCSHSFI[cmove-1]))                                        {                                                if (currVarLevelCSHSFI &gt; VarLevelsCSHSFI[cmove-1]) break;                                                cmove--;                                        }                                        if ((cmove &gt; 0) &amp;&amp; (currMoveNumCSHSFI &gt; MoveNumsCSHSFI[cmove-1]))                                        {                                                eval("loadMove" + board_key + "(" + parseInt(cmove - 1) + ")");                                        }                }        }        else if (keynum == 39) {                if(cmove &lt; eval("FENs" + board_key).length - 1) {                                        while ((cmove &lt; VarLevelsCSHSFI.length-1) &amp;&amp; (currVarLevelCSHSFI != VarLevelsCSHSFI[cmove+1]))                                        {                                                if (currVarLevelCSHSFI &gt; VarLevelsCSHSFI[cmove+1]) break;                                                cmove++;                                        }                                        if ( (cmove &lt; VarLevelsCSHSFI.length) &amp;&amp; (currMoveNumCSHSFI &lt; MoveNumsCSHSFI[cmove+1]) )                                        {                                                eval("loadMove" + board_key + "(" + parseInt(cmove + 1) + ")");                                        }                }        }}document.onkeydown = keyHandler;&lt;/script&gt;&lt;div class="aqsnotation"&gt;&lt;span class="ahb"&gt; &lt;table width="100%" border="0" cols="1" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="100%" align="center"&gt;&lt;FONT COLOR="black"&gt;&lt;B&gt;Shapland, D. Unrated - Bagley, A. Unrated&lt;/B&gt;&lt;/FONT&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table width="100%" border="0" cols="1" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="100%" align="center"&gt;&lt;FONT COLOR="black"&gt;&lt;B&gt;1-0 (Leeds League Division 1) 21/12/2011&lt;/B&gt;&lt;/FONT&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span class="line0"&gt;&lt;span  id="m0CSHSFI" onclick="loadMoveCSHSFI(0);"&gt;[#]&lt;/span&gt;&lt;span  id="m1CSHSFI" onclick="loadMoveCSHSFI(1);"&gt;1.e4&lt;/span&gt; &lt;span  id="m2CSHSFI" onclick="loadMoveCSHSFI(2);"&gt;e6&lt;/span&gt; &lt;span  id="m3CSHSFI" onclick="loadMoveCSHSFI(3);"&gt;2.d4&lt;/span&gt; &lt;span  id="m4CSHSFI" onclick="loadMoveCSHSFI(4);"&gt;d5&lt;/span&gt; &lt;span  id="m5CSHSFI" onclick="loadMoveCSHSFI(5);"&gt;3.Nd2&lt;/span&gt; &lt;/span&gt;Introducing the Tarrasch Variation of the French Defence.&lt;span class="line0"&gt; &lt;span  id="m6CSHSFI" onclick="loadMoveCSHSFI(6);"&gt;3...Nf6&lt;/span&gt; &lt;/span&gt;And this is the closed system which has already featured once before on these pages - "The French Fried" 17/11/11. The alternative for Black is to play 3...c5, a move which leads to positions of a very different character. Grandmasters appear to favour the c5 move but at club level I find myself almost exclusively meeting the closed system.&lt;span class="line0"&gt; &lt;span  id="m7CSHSFI" onclick="loadMoveCSHSFI(7);"&gt;4.e5&lt;/span&gt; &lt;span  id="m8CSHSFI" onclick="loadMoveCSHSFI(8);"&gt;Nfd7&lt;/span&gt; &lt;span  id="m9CSHSFI" onclick="loadMoveCSHSFI(9);"&gt;5.c3&lt;/span&gt; &lt;span  id="m10CSHSFI" onclick="loadMoveCSHSFI(10);"&gt;c5&lt;/span&gt; &lt;span  id="m11CSHSFI" onclick="loadMoveCSHSFI(11);"&gt;6.Bd3&lt;/span&gt; &lt;span  id="m12CSHSFI" onclick="loadMoveCSHSFI(12);"&gt;Nc6&lt;/span&gt; &lt;span  id="m13CSHSFI" onclick="loadMoveCSHSFI(13);"&gt;7.Ne2&lt;/span&gt; &lt;span  id="m14CSHSFI" onclick="loadMoveCSHSFI(14);"&gt;cxd4&lt;/span&gt; &lt;span  id="m15CSHSFI" onclick="loadMoveCSHSFI(15);"&gt;8.cxd4&lt;/span&gt; &lt;span  id="m16CSHSFI" onclick="loadMoveCSHSFI(16);"&gt;f6&lt;/span&gt; &lt;span  id="m17CSHSFI" onclick="loadMoveCSHSFI(17);"&gt;9.Nf4!?&lt;/span&gt; &lt;/span&gt;I've played this move several times before. Many of the textbooks state that this is dubious and that Black can gain the advantage from it. That may be true theoretically, but the path to that advantage is hugely complex and requires fantastic map reading skills and a great deal of familiarity with the terrain in order to gain it. Most of my opponents don't face this line often enough to have been forced to learn the all the ideas in the position and as a result I've done pretty well with it. The mainline here goes 9.exf6 Nxf6 10.Nf3 and the game goes on from there.&lt;span class="line0"&gt; &lt;span  id="m18CSHSFI" onclick="loadMoveCSHSFI(18);"&gt;9...Nxd4&lt;/span&gt; &lt;span  id="m19CSHSFI" onclick="loadMoveCSHSFI(19);"&gt;10.Qh5+&lt;/span&gt; &lt;span  id="m20CSHSFI" onclick="loadMoveCSHSFI(20);"&gt;Ke7&lt;/span&gt; &lt;span  id="m21CSHSFI" onclick="loadMoveCSHSFI(21);"&gt;11.exf6+&lt;/span&gt; &lt;span  id="m22CSHSFI" onclick="loadMoveCSHSFI(22);"&gt;Nxf6&lt;/span&gt; &lt;span  id="m23CSHSFI" onclick="loadMoveCSHSFI(23);"&gt;12.Ng6+&lt;/span&gt; &lt;span  id="m24CSHSFI" onclick="loadMoveCSHSFI(24);"&gt;hxg6&lt;/span&gt; &lt;span  id="m25CSHSFI" onclick="loadMoveCSHSFI(25);"&gt;13.Qxh8&lt;/span&gt; &lt;span  id="m26CSHSFI" onclick="loadMoveCSHSFI(26);"&gt;Kf7&lt;/span&gt; &lt;span  id="m27CSHSFI" onclick="loadMoveCSHSFI(27);"&gt;14.Qh4&lt;/span&gt; &lt;/span&gt;I ventured this line in a recent outing with Black (the first time I've ever played the French Defence!) and my opponent played the alternative move to this one which is&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m28CSHSFI" onclick="loadMoveCSHSFI(28);"&gt;14.O-O&lt;/span&gt; and play now continued with &lt;span class="line1"&gt;&lt;span  id="m29CSHSFI" onclick="loadMoveCSHSFI(29);"&gt;14...e5&lt;/span&gt; &lt;span  id="m30CSHSFI" onclick="loadMoveCSHSFI(30);"&gt;15.Nb3&lt;/span&gt; &lt;span  id="m31CSHSFI" onclick="loadMoveCSHSFI(31);"&gt;Nxb3&lt;/span&gt; &lt;span  id="m32CSHSFI" onclick="loadMoveCSHSFI(32);"&gt;16.axb3&lt;/span&gt; &lt;span  id="m33CSHSFI" onclick="loadMoveCSHSFI(33);"&gt;Bf5&lt;/span&gt; &lt;span  id="m34CSHSFI" onclick="loadMoveCSHSFI(34);"&gt;17.Bxf5&lt;/span&gt; &lt;span  id="m35CSHSFI" onclick="loadMoveCSHSFI(35);"&gt;gxf5&lt;/span&gt; &lt;span  id="m36CSHSFI" onclick="loadMoveCSHSFI(36);"&gt;18.Qh3&lt;/span&gt; &lt;span  id="m37CSHSFI" onclick="loadMoveCSHSFI(37);"&gt;g6&lt;/span&gt; &lt;/span&gt;I went on to win the game with the passed d-pawn proving to be decisive although White missed a couple of chances to improve on his play.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m38CSHSFI" onclick="loadMoveCSHSFI(38);"&gt;14...e5&lt;/span&gt; &lt;span  id="m39CSHSFI" onclick="loadMoveCSHSFI(39);"&gt;15.Nf3&lt;/span&gt; &lt;span  id="m40CSHSFI" onclick="loadMoveCSHSFI(40);"&gt;Bb4+!?&lt;/span&gt; &lt;/span&gt;This was a new move to me. Previous games I've played in this line have all continued 15...Nxf3+ 16.gxf3 Bf5 17.Bxf5 gxf5 18.Bg5 and then the game really begins! In fact, as I studied this game afterwards I realised that Black has improved on the move order used in the game below where Black played&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m41CSHSFI" onclick="loadMoveCSHSFI(41);"&gt;15...e4&lt;/span&gt; This is considered to be a decent alternative to 15...Nxf3 &lt;span class="line1"&gt;&lt;span  id="m42CSHSFI" onclick="loadMoveCSHSFI(42);"&gt;16.Nxd4&lt;/span&gt; &lt;span  id="m43CSHSFI" onclick="loadMoveCSHSFI(43);"&gt;Bb4+&lt;/span&gt; &lt;span  id="m44CSHSFI" onclick="loadMoveCSHSFI(44);"&gt;17.Bd2&lt;/span&gt; &lt;/span&gt;With this move order White can block the check. As played in the actual game that option isn't possible as we'll see in a moment. The move order played in the game is a distinct improvement on this variation then, as now&lt;span class="line1"&gt; &lt;span  id="m45CSHSFI" onclick="loadMoveCSHSFI(45);"&gt;17...Bxd2+&lt;/span&gt; &lt;span  id="m46CSHSFI" onclick="loadMoveCSHSFI(46);"&gt;18.Kxd2&lt;/span&gt; &lt;span  id="m47CSHSFI" onclick="loadMoveCSHSFI(47);"&gt;Qa5+&lt;/span&gt; &lt;span  id="m48CSHSFI" onclick="loadMoveCSHSFI(48);"&gt;19.Kd1&lt;/span&gt; &lt;span  id="m49CSHSFI" onclick="loadMoveCSHSFI(49);"&gt;exd3&lt;/span&gt; &lt;span  id="m50CSHSFI" onclick="loadMoveCSHSFI(50);"&gt;20.Nb3&lt;/span&gt; &lt;span  id="m51CSHSFI" onclick="loadMoveCSHSFI(51);"&gt;Qc7&lt;/span&gt; &lt;span  id="m52CSHSFI" onclick="loadMoveCSHSFI(52);"&gt;21.Rc1&lt;/span&gt; &lt;span  id="m53CSHSFI" onclick="loadMoveCSHSFI(53);"&gt;Qe5&lt;/span&gt; &lt;span  id="m54CSHSFI" onclick="loadMoveCSHSFI(54);"&gt;22.Re1&lt;/span&gt; &lt;span  id="m55CSHSFI" onclick="loadMoveCSHSFI(55);"&gt;Qxb2&lt;/span&gt; &lt;span  id="m56CSHSFI" onclick="loadMoveCSHSFI(56);"&gt;23.Qd4&lt;/span&gt; &lt;span  id="m57CSHSFI" onclick="loadMoveCSHSFI(57);"&gt;Qxa2&lt;/span&gt; &lt;span  id="m58CSHSFI" onclick="loadMoveCSHSFI(58);"&gt;24.Rc7+&lt;/span&gt; &lt;span  id="m59CSHSFI" onclick="loadMoveCSHSFI(59);"&gt;Bd7&lt;/span&gt; &lt;span  id="m60CSHSFI" onclick="loadMoveCSHSFI(60);"&gt;25.Qxd3&lt;/span&gt; &lt;span  id="m61CSHSFI" onclick="loadMoveCSHSFI(61);"&gt;Rc8&lt;/span&gt; &lt;span  id="m62CSHSFI" onclick="loadMoveCSHSFI(62);"&gt;26.Rxb7&lt;/span&gt; &lt;/span&gt;with advantage to White in Agnos-Emms, British Championship, Southampton 1986.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m63CSHSFI" onclick="loadMoveCSHSFI(63);"&gt;16.Kf1&lt;/span&gt; &lt;/span&gt;This move is forced because as mentioned in the note above, blocking the check loses a piece after&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m64CSHSFI" onclick="loadMoveCSHSFI(64);"&gt;16.Bd2?&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m65CSHSFI" onclick="loadMoveCSHSFI(65);"&gt;Nxf3+&lt;/span&gt; &lt;span  id="m66CSHSFI" onclick="loadMoveCSHSFI(66);"&gt;17.gxf3&lt;/span&gt; &lt;span  id="m67CSHSFI" onclick="loadMoveCSHSFI(67);"&gt;Bxd2+&lt;/span&gt; &lt;/span&gt;and if the king recaptures the knight will check on e4 and White will lose his queen.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m68CSHSFI" onclick="loadMoveCSHSFI(68);"&gt;16...e4&lt;/span&gt; &lt;/span&gt;Only now this move!&lt;span class="line0"&gt; &lt;span  id="m69CSHSFI" onclick="loadMoveCSHSFI(69);"&gt;17.Nxd4&lt;/span&gt; &lt;span  id="m70CSHSFI" onclick="loadMoveCSHSFI(70);"&gt;exd3&lt;/span&gt; &lt;span  id="m71CSHSFI" onclick="loadMoveCSHSFI(71);"&gt;18.Nb3?&lt;/span&gt; &lt;/span&gt;This is a mistake. I felt the need to try and drive the bishop from b4 but it won't be so easy to do and in the final analysis my knight was better placed on d4 than here on b3. It would have been much more sensible to develop my pieces as quickly as possible. One approach would be to play&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m72CSHSFI" onclick="loadMoveCSHSFI(72);"&gt;18.Bg5&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m73CSHSFI" onclick="loadMoveCSHSFI(73);"&gt;Bd7&lt;/span&gt; &lt;span  id="m74CSHSFI" onclick="loadMoveCSHSFI(74);"&gt;19.g3&lt;/span&gt; &lt;span  id="m75CSHSFI" onclick="loadMoveCSHSFI(75);"&gt;Kg8&lt;/span&gt; &lt;span  id="m76CSHSFI" onclick="loadMoveCSHSFI(76);"&gt;20.Kg2&lt;/span&gt; &lt;span  id="m77CSHSFI" onclick="loadMoveCSHSFI(77);"&gt;Qb6&lt;/span&gt; &lt;span  id="m78CSHSFI" onclick="loadMoveCSHSFI(78);"&gt;21.Bxf6&lt;/span&gt; &lt;span  id="m79CSHSFI" onclick="loadMoveCSHSFI(79);"&gt;gxf6&lt;/span&gt; &lt;/span&gt;as happened in Luther-Matamoros Franco, Capablanca B1 1997. The position is unclear and rather obscure.&lt;span class="line1"&gt;&lt;/span&gt;; &lt;/div&gt;&lt;div class="line1" style="margin-left:2em;"&gt;&lt;span  id="m80CSHSFI" onclick="loadMoveCSHSFI(80);"&gt;18.Be3!?&lt;/span&gt; is a move that my engines both llike and when I checked against the Chessbase app on my iPhone it seemed that this was the best choice of response statistically if not by volume. White prepares to meet 18...Bg4 with 19.f3 and intends Kf2 to liberate his king's rook.] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m81CSHSFI" onclick="loadMoveCSHSFI(81);"&gt;18...Qe7&lt;/span&gt; &lt;/span&gt;With the simple but effective threat of 19...Qe2+ and mate on e1 next move. Now I had to block the e-file immediately.&lt;span class="line0"&gt; &lt;span  id="m82CSHSFI" onclick="loadMoveCSHSFI(82);"&gt;19.Be3&lt;/span&gt; &lt;/span&gt;Both engines (Crafty and Fritz) assess this position as being much better for Black and it is all down to one inaccurate move on my part - Nb3. This one mistake could have cost me the game. If you're going to play this kind of opening however, you have to accept the risks.&lt;span class="line0"&gt; &lt;span  id="m83CSHSFI" onclick="loadMoveCSHSFI(83);"&gt;19...Bg4!&lt;/span&gt; &lt;/span&gt;I must admit that I hadn't seen this coming quite so soon. Black is putting my centre under great pressure. By depriving my rook of the d1 square Black is indirectly preserving his passed pawn on d3 and now threatens to force it home at once. In addition, I can't play f3 to remove the bishop from its outpost and give my king the chance to get to f2. At this stage of proceedings I realised that I was in trouble. I felt I had to try and relieve the pressure some how so I opted for&lt;span class="line0"&gt; &lt;span  id="m84CSHSFI" onclick="loadMoveCSHSFI(84);"&gt;20.a3&lt;/span&gt; &lt;/span&gt;Fritz thinks that a better line was&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m85CSHSFI" onclick="loadMoveCSHSFI(85);"&gt;20.h3&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m86CSHSFI" onclick="loadMoveCSHSFI(86);"&gt;Be2+&lt;/span&gt; &lt;span  id="m87CSHSFI" onclick="loadMoveCSHSFI(87);"&gt;21.Kg1&lt;/span&gt; &lt;span  id="m88CSHSFI" onclick="loadMoveCSHSFI(88);"&gt;Rc8&lt;/span&gt; &lt;/span&gt;but that still looks jolly unpleasant for White to me.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m89CSHSFI" onclick="loadMoveCSHSFI(89);"&gt;20...d2!&lt;/span&gt; &lt;/span&gt;1: Here we are then. For the first time in the game an attacked piece refuses to retreat. Quite right too on this occasion. Again, I must admit to having not considered the possibility that Black would just advance the pawn but it makes complete sense. As a minimum Black will win back the exchange and he will maintain the initiative.&lt;span class="line0"&gt; &lt;span  id="m90CSHSFI" onclick="loadMoveCSHSFI(90);"&gt;21.axb4&lt;/span&gt; &lt;span  id="m91CSHSFI" onclick="loadMoveCSHSFI(91);"&gt;d1=Q+&lt;/span&gt; &lt;/span&gt;Nothing wrong with this but Black overlooked his best opportunity to drive home his advantage in the form of&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m92CSHSFI" onclick="loadMoveCSHSFI(92);"&gt;21...Qxb4!&lt;/span&gt; After the game I told Andy that I had been really worried about this reply, more so than the game continuation. He said he hadn't considered it and it's the first time in the game that I think he selected a suboptimal choice. The post mortem analysis demonstrated the power of this continuation to both players' satisfaction. Black threatens both the White knight and also the discovered attack on the White queen revealed after Be2+. This double threat should prove decisive after &lt;span class="line1"&gt;&lt;span  id="m93CSHSFI" onclick="loadMoveCSHSFI(93);"&gt;22.f3&lt;/span&gt; &lt;span  id="m94CSHSFI" onclick="loadMoveCSHSFI(94);"&gt;Qxb3&lt;/span&gt; &lt;span  id="m95CSHSFI" onclick="loadMoveCSHSFI(95);"&gt;23.Kf2&lt;/span&gt; &lt;span  id="m96CSHSFI" onclick="loadMoveCSHSFI(96);"&gt;Kg8&lt;/span&gt; &lt;span  id="m97CSHSFI" onclick="loadMoveCSHSFI(97);"&gt;24.Bxd2&lt;/span&gt; &lt;span  id="m98CSHSFI" onclick="loadMoveCSHSFI(98);"&gt;Qb6+&lt;/span&gt; &lt;span  id="m99CSHSFI" onclick="loadMoveCSHSFI(99);"&gt;25.Kf1&lt;/span&gt; &lt;span  id="m100CSHSFI" onclick="loadMoveCSHSFI(100);"&gt;Qxb2&lt;/span&gt; &lt;span  id="m101CSHSFI" onclick="loadMoveCSHSFI(101);"&gt;26.Qe1&lt;/span&gt; &lt;/span&gt;and Black is clearly much, much better here.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m102CSHSFI" onclick="loadMoveCSHSFI(102);"&gt;22.Rxd1&lt;/span&gt; &lt;/span&gt;Compared to the variation above (which I hadn't seen all the way through of course but could see was dangerous) I was more than happy to give back the exchange for Black's passed pawn and balance up the material again.&lt;span class="line0"&gt; &lt;span  id="m103CSHSFI" onclick="loadMoveCSHSFI(103);"&gt;22...Bxd1&lt;/span&gt; &lt;span  id="m104CSHSFI" onclick="loadMoveCSHSFI(104);"&gt;23.Nc5&lt;/span&gt; &lt;span  id="m105CSHSFI" onclick="loadMoveCSHSFI(105);"&gt;Bg4&lt;/span&gt; &lt;/span&gt;It would be easy, given the benefit of hindsight, to say that this move was inaccurate. I had expected 23...b6 to drive the knight back to d3. Certainly if Black had been able to forsee the critical role this knight will play in his demise on this outpost then he would have driven it off as soon as possible. However, at the time there didn't seem to be an immediate threat and Black wanted to remove his bishop to this square. If nhe had chosen to kick the knight immediately I had considered something like&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m106CSHSFI" onclick="loadMoveCSHSFI(106);"&gt;23...b6&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m107CSHSFI" onclick="loadMoveCSHSFI(107);"&gt;24.Nd3&lt;/span&gt; &lt;span  id="m108CSHSFI" onclick="loadMoveCSHSFI(108);"&gt;Bc2&lt;/span&gt; &lt;span  id="m109CSHSFI" onclick="loadMoveCSHSFI(109);"&gt;25.Ke2&lt;/span&gt; &lt;span  id="m110CSHSFI" onclick="loadMoveCSHSFI(110);"&gt;Rc8&lt;/span&gt; &lt;/span&gt;although Black stands rather better here to my mind and the engines concur.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m111CSHSFI" onclick="loadMoveCSHSFI(111);"&gt;24.h3&lt;/span&gt; &lt;span  id="m112CSHSFI" onclick="loadMoveCSHSFI(112);"&gt;d4!?&lt;/span&gt; &lt;/span&gt;2: Here is the second instance of a piece being threatened but not retreating. Aesthetically, it is the mirror idea of the previous example. The bishop is threatened by the flank pawn but does not retreat in order to allow the d-pawn to advance with a threat! On this occasion it seems likely that Black did not select the very best continuation although d4 is by no means a critical error, it simply gives White a chance to get back on terms a little. Fritz 11 recommends instead playing&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m113CSHSFI" onclick="loadMoveCSHSFI(113);"&gt;24...Bf5&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m114CSHSFI" onclick="loadMoveCSHSFI(114);"&gt;25.Qf4&lt;/span&gt; &lt;/span&gt;White lines up his queen on the f-file ready to play g4 and g5 if given the chance. This move also gets the queen back towards the centre of the board as well.&lt;span class="line1"&gt; &lt;span  id="m115CSHSFI" onclick="loadMoveCSHSFI(115);"&gt;25...Kg8&lt;/span&gt; &lt;/span&gt;Black side steps the threat and puts his king onto a safer square.&lt;span class="line1"&gt; &lt;span  id="m116CSHSFI" onclick="loadMoveCSHSFI(116);"&gt;26.Kg1&lt;/span&gt; &lt;/span&gt;White prepares to put his king on h2 in order to finally get his rook into the game.&lt;span class="line1"&gt; &lt;span  id="m117CSHSFI" onclick="loadMoveCSHSFI(117);"&gt;26...b6&lt;/span&gt; &lt;span  id="m118CSHSFI" onclick="loadMoveCSHSFI(118);"&gt;27.Nb3&lt;/span&gt; &lt;span  id="m119CSHSFI" onclick="loadMoveCSHSFI(119);"&gt;Rc8&lt;/span&gt; &lt;span  id="m120CSHSFI" onclick="loadMoveCSHSFI(120);"&gt;28.Nd4&lt;/span&gt; &lt;/span&gt;and Black is likely to pick up the two White b-pawns whilst White will exchange on f5 and win one of Black's king's side pawns leaving the game finely balanced but slightly in Black's favour.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m121CSHSFI" onclick="loadMoveCSHSFI(121);"&gt;25.hxg4&lt;/span&gt; &lt;/span&gt;3: Not to be out done I now also refused to move my attacked piece. Of course this just results in an exchange but from my point of view I was happy to open the h-file in order to try and develop my rook on that file. The draw back was that I could see I was going to have my pawn structure damaged even further.&lt;span class="line0"&gt; &lt;span  id="m122CSHSFI" onclick="loadMoveCSHSFI(122);"&gt;25...dxe3&lt;/span&gt; &lt;span  id="m123CSHSFI" onclick="loadMoveCSHSFI(123);"&gt;26.g5!&lt;/span&gt; &lt;/span&gt;According to both engines, White has now equalised again with this move. The key point is that White now gains a tempo against the Black knight threatens to win another by coming to c4 with his queen. Now I felt I was putting pressure on my opponent rather than the other way round!&lt;span class="line0"&gt; &lt;span  id="m124CSHSFI" onclick="loadMoveCSHSFI(124);"&gt;26...Rd8&lt;/span&gt; &lt;/span&gt;4: Here we go again! Once more Black refuses to move his attacked piece. Of course White can't take the knight because 27.gxf6?? e2+ 28.Kg1 Rd1+ 29.Kh2 Rxh1+ 30.Kxh1 e1=Q+ and Black wins.&lt;span class="line0"&gt; &lt;span  id="m125CSHSFI" onclick="loadMoveCSHSFI(125);"&gt;27.Qc4+&lt;/span&gt; &lt;/span&gt;White inserts an intermezzo of his own and now the Black knight really is under threat and must move itself into a position where it is pinned and also blocks the d-file.&lt;span class="line0"&gt; &lt;span  id="m126CSHSFI" onclick="loadMoveCSHSFI(126);"&gt;27...Nd5&lt;/span&gt; &lt;span  id="m127CSHSFI" onclick="loadMoveCSHSFI(127);"&gt;28.fxe3!?&lt;/span&gt; &lt;/span&gt;Voluntarily breaking up the last vestages of a pawn shield around my own king. I had a fairly long think before taking this decision and didn't take it lightly. In the end I decided to go for it for two reasons. First of all I couldn't see how Black could immediatley take advantage of my king's exposure and second of all I felt that he would try and refute my play directly and that would enable my rook o develop with a tempo. In the end the benefits appeared to outweigh the risks. Of course the engines don't agree with my "human" decision. That's because, as we'll see in a moment, they can see the tactical flaw in my concept. Instead of this move, Fritz thinks White's best continuation involves developng the rook directly via h4.&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m128CSHSFI" onclick="loadMoveCSHSFI(128);"&gt;28.Rh4&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m129CSHSFI" onclick="loadMoveCSHSFI(129);"&gt;b5!&lt;/span&gt; &lt;/span&gt;Black hurries to try and break the pin.&lt;span class="line1"&gt; &lt;span  id="m130CSHSFI" onclick="loadMoveCSHSFI(130);"&gt;29.Qe4&lt;/span&gt;&lt;/span&gt;&lt;span class="line2"&gt;&lt;/span&gt; (&lt;span class="line2"&gt;&lt;/span&gt;If White tries to avoid simplification then it will not go well for him after &lt;span class="line2"&gt;&lt;span  id="m131CSHSFI" onclick="loadMoveCSHSFI(131);"&gt;29.Qb3&lt;/span&gt; &lt;/span&gt;&lt;span class="line2"&gt;&lt;span  id="m132CSHSFI" onclick="loadMoveCSHSFI(132);"&gt;Qxg5&lt;/span&gt; &lt;span  id="m133CSHSFI" onclick="loadMoveCSHSFI(133);"&gt;30.Re4&lt;/span&gt; &lt;span  id="m134CSHSFI" onclick="loadMoveCSHSFI(134);"&gt;exf2&lt;/span&gt; &lt;span  id="m135CSHSFI" onclick="loadMoveCSHSFI(135);"&gt;31.Ne6&lt;/span&gt; &lt;span  id="m136CSHSFI" onclick="loadMoveCSHSFI(136);"&gt;Qc1+&lt;/span&gt; &lt;span  id="m137CSHSFI" onclick="loadMoveCSHSFI(137);"&gt;32.Kxf2&lt;/span&gt; &lt;span  id="m138CSHSFI" onclick="loadMoveCSHSFI(138);"&gt;Rd6&lt;/span&gt; &lt;/span&gt;and in a crazy position, Black has the edge.&lt;span class="line2"&gt;&lt;/span&gt;) &lt;span class="line1"&gt;&lt;span  id="m139CSHSFI" onclick="loadMoveCSHSFI(139);"&gt;29...exf2&lt;/span&gt; &lt;span  id="m140CSHSFI" onclick="loadMoveCSHSFI(140);"&gt;30.Kxf2&lt;/span&gt; &lt;span  id="m141CSHSFI" onclick="loadMoveCSHSFI(141);"&gt;Qxe4&lt;/span&gt; &lt;span  id="m142CSHSFI" onclick="loadMoveCSHSFI(142);"&gt;31.Rxe4&lt;/span&gt; &lt;/span&gt;and the endgame appears to be dead even.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m143CSHSFI" onclick="loadMoveCSHSFI(143);"&gt;28...Qxe3&lt;/span&gt; &lt;span  id="m144CSHSFI" onclick="loadMoveCSHSFI(144);"&gt;29.Rh3&lt;/span&gt; &lt;/span&gt;We've reached the critical moment of a nerve shredding game. Black has captured on e3 and allowed my rook to come alive and join the fray. I was very confident that my position was close to winning here and was very surprised when I analysed the game on my computer later on to find that, in fact, it is Black who should be winning here. How can this be?&lt;span class="line0"&gt; &lt;span  id="m145CSHSFI" onclick="loadMoveCSHSFI(145);"&gt;29...Qxg5?&lt;/span&gt; &lt;/span&gt;It seems harsh to award this move a question mark and yet I must because it is the crucial inaccuracy of the game. Black captures the g-pawn but in doing so gives White the time he needs to drive the Black king into the open and onto the rocks. There was a refutation to my idea but, and maybe this would be some consolation to the losing party, I doubt many players would have found it. Neither of us saw it over the board or afterwards in our post mortem.&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m146CSHSFI" onclick="loadMoveCSHSFI(146);"&gt;29...Ke7!!&lt;/span&gt; 4: "We shall not, we shall not be moved!" A fourth and most unexpected refusal to retreat and a wonderful moment! The Black queen doesn't run. Instead with this quiet intermezzo Black breaks the pin and liberates the knight to recapture on e3 with check and a fork to boot. It's such a pretty move I almost wish Andy had found and played it because it deserves to see the light of day shine more brightly on it than in the footnotes of this commentary. Having said that, if he had seen it, it would have robbed me of the entertaining king hunt that now follows. After this stunning side-step White is left with nothing better than &lt;span class="line1"&gt;&lt;span  id="m147CSHSFI" onclick="loadMoveCSHSFI(147);"&gt;30.Qe4+&lt;/span&gt; &lt;span  id="m148CSHSFI" onclick="loadMoveCSHSFI(148);"&gt;Qxe4&lt;/span&gt; &lt;span  id="m149CSHSFI" onclick="loadMoveCSHSFI(149);"&gt;31.Nxe4&lt;/span&gt; &lt;span  id="m150CSHSFI" onclick="loadMoveCSHSFI(150);"&gt;Nxb4&lt;/span&gt; &lt;/span&gt;and Black should have enough to win the endgame.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m151CSHSFI" onclick="loadMoveCSHSFI(151);"&gt;30.Rf3+&lt;/span&gt; &lt;/span&gt;Suddenly the White rook has sprung to life with deadly effect.&lt;span class="line0"&gt; &lt;span  id="m152CSHSFI" onclick="loadMoveCSHSFI(152);"&gt;30...Ke8&lt;/span&gt; &lt;/span&gt;This allows White a clean kill. Black could have limped on after&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m153CSHSFI" onclick="loadMoveCSHSFI(153);"&gt;30...Kg8&lt;/span&gt; but White's material advantage ought to be decisive after &lt;span class="line1"&gt;&lt;span  id="m154CSHSFI" onclick="loadMoveCSHSFI(154);"&gt;31.Ne6&lt;/span&gt; &lt;span  id="m155CSHSFI" onclick="loadMoveCSHSFI(155);"&gt;Nb6&lt;/span&gt; &lt;span  id="m156CSHSFI" onclick="loadMoveCSHSFI(156);"&gt;32.Qc3&lt;/span&gt; &lt;span  id="m157CSHSFI" onclick="loadMoveCSHSFI(157);"&gt;Qb5+&lt;/span&gt; &lt;span  id="m158CSHSFI" onclick="loadMoveCSHSFI(158);"&gt;33.Ke1&lt;/span&gt; &lt;span  id="m159CSHSFI" onclick="loadMoveCSHSFI(159);"&gt;Qd7&lt;/span&gt; &lt;span  id="m160CSHSFI" onclick="loadMoveCSHSFI(160);"&gt;34.Nxd8&lt;/span&gt; &lt;span  id="m161CSHSFI" onclick="loadMoveCSHSFI(161);"&gt;Qxd8&lt;/span&gt; &lt;span  id="m162CSHSFI" onclick="loadMoveCSHSFI(162);"&gt;35.Qe5&lt;/span&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m163CSHSFI" onclick="loadMoveCSHSFI(163);"&gt;31.Qb5+!&lt;/span&gt; &lt;/span&gt;An important check. I needed the king on e7 in order to deprive Black of the chance to bring his queen to the aid of his majesty via that square. For the record, Fritz 11 tells me that White now has forced mate in 15 moves.&lt;span class="line0"&gt; &lt;span  id="m164CSHSFI" onclick="loadMoveCSHSFI(164);"&gt;31...Ke7&lt;/span&gt; &lt;span  id="m165CSHSFI" onclick="loadMoveCSHSFI(165);"&gt;32.Qe2+&lt;/span&gt; &lt;/span&gt;This seemed cleanest to me and I'd calculated to the end of the game prior to playing my last move. The forced mate Fritz spotted continues with&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m166CSHSFI" onclick="loadMoveCSHSFI(166);"&gt;32.Qxb7+&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m167CSHSFI" onclick="loadMoveCSHSFI(167);"&gt;Kd6&lt;/span&gt; &lt;span  id="m168CSHSFI" onclick="loadMoveCSHSFI(168);"&gt;33.Ne4+&lt;/span&gt; &lt;span  id="m169CSHSFI" onclick="loadMoveCSHSFI(169);"&gt;Ke5&lt;/span&gt; &lt;span  id="m170CSHSFI" onclick="loadMoveCSHSFI(170);"&gt;34.Nxg5&lt;/span&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m171CSHSFI" onclick="loadMoveCSHSFI(171);"&gt;32...Kd6&lt;/span&gt; &lt;/span&gt;Now, with the king forced out to d6, the hunt is on and the weak light squares in the Black camp will prove to be his undoing. Black could have prolonged his agony by giving up the knight but that's not the kind of decision a human being would make as it is so obviously losing.&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m172CSHSFI" onclick="loadMoveCSHSFI(172);"&gt;32...Ne3+&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m173CSHSFI" onclick="loadMoveCSHSFI(173);"&gt;33.Rxe3+&lt;/span&gt; &lt;span  id="m174CSHSFI" onclick="loadMoveCSHSFI(174);"&gt;Kf7&lt;/span&gt; &lt;span  id="m175CSHSFI" onclick="loadMoveCSHSFI(175);"&gt;34.Rf3+&lt;/span&gt; &lt;span  id="m176CSHSFI" onclick="loadMoveCSHSFI(176);"&gt;Kg8&lt;/span&gt; &lt;span  id="m177CSHSFI" onclick="loadMoveCSHSFI(177);"&gt;35.Qe6+&lt;/span&gt; &lt;span  id="m178CSHSFI" onclick="loadMoveCSHSFI(178);"&gt;Kh7&lt;/span&gt; &lt;span  id="m179CSHSFI" onclick="loadMoveCSHSFI(179);"&gt;36.Rh3+&lt;/span&gt; &lt;span  id="m180CSHSFI" onclick="loadMoveCSHSFI(180);"&gt;Qh5&lt;/span&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m181CSHSFI" onclick="loadMoveCSHSFI(181);"&gt;33.Qe6+&lt;/span&gt; &lt;span  id="m182CSHSFI" onclick="loadMoveCSHSFI(182);"&gt;Kc7&lt;/span&gt; &lt;span  id="m183CSHSFI" onclick="loadMoveCSHSFI(183);"&gt;34.Rf7+&lt;/span&gt; &lt;span  id="m184CSHSFI" onclick="loadMoveCSHSFI(184);"&gt;Kb8&lt;/span&gt; &lt;span  id="m185CSHSFI" onclick="loadMoveCSHSFI(185);"&gt;35.Rxb7+&lt;/span&gt; &lt;span  id="m186CSHSFI" onclick="loadMoveCSHSFI(186);"&gt;Ka8&lt;/span&gt; &lt;span  id="m187CSHSFI" onclick="loadMoveCSHSFI(187);"&gt;36.Rxa7+!&lt;/span&gt; &lt;/span&gt;And now Black realised that the end is nigh. It's mate in 2.&lt;span class="line0"&gt; &lt;/span&gt;[1-0] &lt;/span&gt;&lt;/div&gt;&lt;div class="aqslink"&gt;&lt;a href="http://www.chessok.com" target=_blank&gt;Generated by Aquarium&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Things to remember from this game: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;Attacked pieces aren't alwasy forced to retreat! In very open, tactical positions it's important to consider whether you or your opponent can leave a piece en prise in order to install a more potent threat. &lt;/li&gt;&lt;li&gt;In positions were both sides have exposed kings the initiative is vitally important and will likely as not decide the game. If you have the initiative do whatever you can to preserve it, if you don't have it do everything in your power to steal it from your opponent. &lt;/li&gt;&lt;li&gt;If you are a good little boy or girl then maybe, just maybe, Santa will bring you what you want most for Christmas!&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7489746740971456738-3967950156326627173?l=travailpursuit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://travailpursuit.blogspot.com/feeds/3967950156326627173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://travailpursuit.blogspot.com/2011/12/early-christmas-present.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/3967950156326627173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/3967950156326627173'/><link rel='alternate' type='text/html' href='http://travailpursuit.blogspot.com/2011/12/early-christmas-present.html' title='An Early Christmas Present'/><author><name>Intermezzo</name><uri>http://www.blogger.com/profile/09506234400044036036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-iHZo_2ih0N4/Tk8fDJOwLwI/AAAAAAAAAbw/g8nhLUzoNlA/s220/Phil%2527s%2BPhotos%2B033.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-MQ2lXaO5y1o/Tv5tXlB_GmI/AAAAAAAAAis/TsO76cSwka8/s72-c/Christmas+Present.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7489746740971456738.post-1682849602802072064</id><published>2011-12-04T13:58:00.001-08:00</published><updated>2011-12-07T19:04:42.035-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sacrifice. King in the Centre'/><category scheme='http://www.blogger.com/atom/ns#' term='Blunder'/><category scheme='http://www.blogger.com/atom/ns#' term='2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Scotch Game'/><title type='text'>Risky Business</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-rh-3wIMjg4Q/TuAhMhcOPxI/AAAAAAAAAic/omXZ1QxUUmQ/s1600/Hikaru%2528Corus09%2529.jpg" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="294" mda="true" src="http://3.bp.blogspot.com/-rh-3wIMjg4Q/TuAhMhcOPxI/AAAAAAAAAic/omXZ1QxUUmQ/s320/Hikaru%2528Corus09%2529.jpg" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;"I didn't really care whether I won or lost &lt;br /&gt;so I just took a chance" - Hikaru Nakamura&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: orange;"&gt;"&lt;span style="font-size: large;"&gt;A&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt; real sacrifice involves a radical change in the character of a game which cannot be effected without foresight, fantasy and the willingness to risk"&lt;/em&gt; &lt;br /&gt;&lt;div style="text-align: left;"&gt;- Leonid Shamkovich&lt;/div&gt;&lt;br /&gt;Contrary to my expectations I find myself posting another recent game from this season. It's one that I played just last week. Aside from the fact that I won in 15 moves with the Black pieces against another strong player (so, the usual egotistical motivations then!), I was prompted to post this game because my thinking before and during the game chimed with something that I heard Hikaru Nakamura talk about just yesterday after his sensational win against Vishy Anand at the &lt;a href="http://www.londonchessclassic.com/"&gt;&lt;strong&gt;London Chess Classic&lt;/strong&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Having lost to Magnus Carlsen in the previous&amp;nbsp;round trying to play very solidly, Nakamura said that against Anand&lt;br /&gt;&lt;br /&gt;&lt;em&gt;"I felt like playing something exciting and&amp;nbsp;I didn't really care whether I won or lost so I just took a chance." &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;That may sound cavalier but in fact I'd suggest that, if he hadn't been in that state of mind, he wouldn't have been prepared to take the risks he did against Anand. Okay, so he didn't sacrifice material carelessly but he did allow Anand to build up what looked like a frightening positional advantage. All the chess engines assessed that Anand's position was completely winning but as Nakamura&amp;nbsp;pointed out&amp;nbsp;&lt;em&gt;"we are not computers"&lt;/em&gt; and &lt;em&gt;"the owness is on&amp;nbsp;Vishy to find all he right moves"&lt;/em&gt;. As it transpired, the World Champion couldn't do that. I highly recommend that you watch Nakamura discussing this game with Daniel King and Laurence Trent (watch &lt;a href="http://www.londonchessclassic.com/videos.htm"&gt;&lt;strong&gt;Round 4 -&amp;nbsp;Part 4&lt;/strong&gt;&lt;/a&gt;). Besides the fact that the game is tremendously exciting his discussion about his approach to that game is very interesting and instructive.&lt;br /&gt;&lt;br /&gt;&lt;style&gt;/* General */.ahb {        font-family: Tahoma;        font-size: 10pt;}.ahb img {        border: 0px;        margin: 0px;}/* END General *//* Game header &amp; board panel */        a#flipiconAJEUMG {        }                #flipiconAJEUMG img {                border: 0px;        }        /* END Game header panel *//* Board */        table#game_boardAJEUMG {                position: relative;                width: 296px;                height: 296px;                background: #6288b9;                left: -1px;                top: -1px;                font-size: 9px;                font-weight: bold;                color: white;        }                table#game_boardAJEUMG td {                text-align: center;                padding: 0px;                margin: 0px;        }                table#game_boardAJEUMG td img {                padding: 0px;                margin: 0px;                border: 0px;        }        table#game_boardAJEUMG td.corner {                width: 15px;                height: 15px;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardAJEUMG td.lettertop {                width: 33px;                height: 15px;                vertical-align: middle;                border-bottom: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }        table#game_boardAJEUMG td.letterbottom {                width: 33px;                height: 15px;                vertical-align: middle;                border-top: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardAJEUMG td.numberleft {                width: 15px;                height: 33px;                vertical-align: middle;                border-right: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }        table#game_boardAJEUMG td.numberright {                width: 15px;                height: 33px;                vertical-align: middle;                border-left: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardAJEUMG td.white {                background: url('http://www.chessok.com/common/images/board/white_blue.jpg') no-repeat;                width: 33px;                height: 33px;        }                table#game_boardAJEUMG td.black {                background: url('http://www.chessok.com/common/images/board/black_blue.jpg') no-repeat;        }/* END Board *//* Board SVG */div#board_svgAJEUMG {        position: absolute;        z-index: 10;}/* END Board SVG *//* Drop Shadow technics */        div.shadow1table {                margin-top: 5px;                background: #cfcfcf;                position: absolute;                width: 296px;                top: 3px;                left: 3px;        }                div.shadow2 {                background: #707070;                position: relative;                top: -1px;                left: -1px;        }/* END Drop Shadow technics */&lt;/style&gt;&lt;style&gt;/*----------Text Styles----------*/.unknown HR { color: #DD0000}.unknown /* unknown */{  font-size: 10pt;  font-family: "Tahoma";  font-style: normal;  font-weight: normal;  color: #DD0000;  text-decoration: none;}SPAN.text{  color: #000000;  font-size: 10pt;}SPAN.header1{  font-size: 14pt;  color: #004080;}SPAN.header2{  font-size: 12pt;  color: #004080;}SPAN.header3{  font-size: 10pt;  color: #004080;}SPAN.header{  font-size: 10pt;  color: #111111;  font-weight: bold;}SPAN.headerb{  font-size: 10pt;  color: #111111;}A.link, SPAN.link{  color: #0000FF;  text-decoration: underline;}A.RVTS5:hover { color: #5050FF; }A.line0, .line0{  font-weight: bold;  color: #2249DF;  text-decoration: none;}A.RVTS6:hover { color: #5050FF; }A.line1, .line1{  color: black;}A.RVTS7:hover { color: #5050FF; }A.line2, .line2{  color: #0049DF;}A.RVTS8:hover { color: #974B00; }.line3{}/* ---------- Container styles ----------- */div.aqscontainer {    position: relative;    height:296px;    padding-top:6px;}div.aqsnotation {    background-color: #FEFEFF;    margin-left: 305px;     max-height: 274px;     max-width: 296px;     border:solid 1px #009;     overflow-y:auto;    overflow-x:hidden;    padding: 3px;}div.aqslink {    background-color: #FEFEFF;    margin-left: 305px;     max-width: 296px;     overflow-y:auto;    overflow-x:hidden;    padding: 3px;        text-align: left;        font-size: 8pt;}/*----------Para Styles----------*/.ahb P,.ahb UL,.ahb OL /* Paragraph Style */{  font-size: 10pt;  text-align: left;  text-indent: 0px;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 0px;}.RVPS1 /* Centered */{  text-align: center;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 0px;}&lt;/style&gt;&lt;style&gt;a.footer{font-family:verdana;font-size:9px;color:#6c8abe;text-decoration:underline;line-height:12px;}.foot{font-family:verdana;font-size:9px;line-height:12px;color:#6c8abe;background:#052B69;padding-bottom:3px;margin:5px 0;}a.footer:hover{color:#ffffff}.link{cursor:pointer;}.line0{cursor:pointer;}.line1{cursor:pointer;}.line2{cursor:pointer;}.header1{margin-left: 10px;}.header2{margin-left: 10px;}.header3{margin-left: 10px;}&lt;/style&gt;&lt;script type="text/javascript"&gt;var FENsAJEUMG = new Array (   "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -",   "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq -",   "rnbqkbnr/pppp1ppp/8/4p3/4P3/8/PPPP1PPP/RNBQKBNR w KQkq -",   "rnbqkbnr/pppp1ppp/8/4p3/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq -",   "r1bqkbnr/pppp1ppp/2n5/4p3/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq -",   "r1bqkbnr/pppp1ppp/2n5/4p3/3PP3/5N2/PPP2PPP/RNBQKB1R b KQkq -",   "r1bqkbnr/pppp1ppp/2n5/8/3pP3/5N2/PPP2PPP/RNBQKB1R w KQkq -",   "r1bqkbnr/pppp1ppp/2n5/8/3NP3/8/PPP2PPP/RNBQKB1R b KQkq -",   "r1bqk1nr/pppp1ppp/2n5/2b5/3NP3/8/PPP2PPP/RNBQKB1R w KQkq -",   "r1bqk1nr/pppp1ppp/2N5/2b5/4P3/8/PPP2PPP/RNBQKB1R b KQkq -",   "r1b1k1nr/pppp1ppp/2N2q2/2b5/4P3/8/PPP2PPP/RNBQKB1R w KQkq -",   "r1b1k1nr/pppp1ppp/2N2q2/2b5/4P3/5Q2/PPP2PPP/RNB1KB1R b KQkq -",   "r1b1k1nr/pppp1ppp/2N2q2/2b5/4P3/8/PPPQ1PPP/RNB1KB1R b KQkq -",   "r1b1k1nr/ppp2ppp/2p2q2/2b5/4P3/8/PPPQ1PPP/RNB1KB1R w KQkq -",   "r1b1k1nr/ppp2ppp/2p2q2/2b5/4P3/2N5/PPPQ1PPP/R1B1KB1R b KQkq -",   "r1b1k2r/ppp1nppp/2p2q2/2b5/4P3/2N5/PPPQ1PPP/R1B1KB1R w KQkq -",   "r1b1k2r/ppp1nppp/2p2q2/2b5/4PQ2/2N5/PPP2PPP/R1B1KB1R b KQkq -",   "r3k2r/ppp1nppp/2p1bq2/2b5/4PQ2/2N5/PPP2PPP/R1B1KB1R w KQkq -",   "r3k2r/ppp1nppp/2p1bQ2/2b5/4P3/2N5/PPP2PPP/R1B1KB1R b KQkq -",   "r3k2r/ppp1np1p/2p1bp2/2b5/4P3/2N5/PPP2PPP/R1B1KB1R w KQkq -",   "r1b1k1nr/ppp2ppp/2p2q2/2b5/4P3/5Q2/PPP2PPP/RNB1KB1R w KQkq -",   "r1b1k1nr/ppp2ppp/2p2q2/2b5/2B1P3/5Q2/PPP2PPP/RNB1K2R b KQkq -",   "r1b1k1nr/ppp2ppp/2p3q1/2b5/2B1P3/5Q2/PPP2PPP/RNB1K2R w KQkq -",   "r1b1k1nr/ppp2ppp/2p3q1/2b5/2B1P3/2N2Q2/PPP2PPP/R1B1K2R b KQkq -",   "r3k1nr/ppp2ppp/2p3q1/2b5/2B1P1b1/2N2Q2/PPP2PPP/R1B1K2R w KQkq -",   "r3k1nr/ppp2ppp/2p3q1/2b5/2B1PQb1/2N5/PPP2PPP/R1B1K2R b KQkq -",   "r3k1nr/ppp2ppp/2p3q1/2b5/2B1P1b1/2N3Q1/PPP2PPP/R1B1K2R b KQkq -",   "2kr2nr/ppp2ppp/2p3q1/2b5/2B1P1b1/2N3Q1/PPP2PPP/R1B1K2R w KQ -",   "2kr2nr/ppp2Bpp/2p3q1/2b5/4P1b1/2N3Q1/PPP2PPP/R1B1K2R b KQ -",   "2kr2nr/ppp2Bpp/2p5/2b5/4q1b1/2N3Q1/PPP2PPP/R1B1K2R w KQ -",   "2kr2nr/ppp2Bpp/2p5/2b5/4q1b1/2N1B1Q1/PPP2PPP/R3K2R b KQ -",   "2kr2nr/ppp2Bpp/2p5/2b2q2/6b1/2N1B1Q1/PPP2PPP/R3K2R w KQ -",   "2kr2nr/ppp2Bpp/2p5/2B2q2/6b1/2N3Q1/PPP2PPP/R3K2R b KQ -",   "2kr3r/ppp2Bpp/2p4n/2B2q2/6b1/2N3Q1/PPP2PPP/R3K2R w KQ -",   "2kr3r/ppp2Bpp/2p4n/2B2q2/6b1/2N3Q1/PPP2PPP/R4RK1 b - -",   "2kr3r/ppp2Bpp/2p4n/2q5/6b1/2N3Q1/PPP2PPP/R4RK1 w - -",   "r3k2r/ppp2ppp/2p2nq1/2b5/2B1PQb1/2N5/PPP2PPP/R1B1K2R w KQkq -",   "r3k1nr/ppp2ppp/2p1b1q1/2b5/2B1PQ2/2N5/PPP2PPP/R1B1K2R w KQkq -",   "r3k1nr/ppp2ppp/2p1B1q1/2b5/4PQ2/2N5/PPP2PPP/R1B1K2R b KQkq -",   "r3k1nr/ppp3pp/2p1p1q1/2b5/4PQ2/2N5/PPP2PPP/R1B1K2R w KQkq -",   "r3k2r/ppp2ppp/2p2nq1/2b5/2B1PQb1/2N2P2/PPP3PP/R1B1K2R b KQkq -",   "r3k2r/ppp2ppp/2p2nq1/2b1Q3/2B1P1b1/2N5/PPP2PPP/R1B1K2R b KQkq -",   "r3k2r/ppp1bppp/2p2nq1/4Q3/2B1P1b1/2N5/PPP2PPP/R1B1K2R w KQkq -",   "r3k2r/ppp1bppp/2p2nq1/4Q3/2B1P1b1/2N1B3/PPP2PPP/R3K2R b KQkq -",   "3rk2r/ppp1bppp/2p2nq1/4Q3/2B1P1b1/2N1B3/PPP2PPP/R3K2R w KQk -",   "3rk2r/ppp1bppp/2p2nq1/4Q3/2B1P1b1/2N1BP2/PPP3PP/R3K2R b KQk -",   "4k2r/ppp1bppp/2pr1nq1/4Q3/2B1P1b1/2N1BP2/PPP3PP/R3K2R w KQk -",   "4k2r/ppp1bppp/2pr1nq1/4Q3/2B1P1b1/2N1BP2/PPP3PP/R4RK1 b k -",   "4k2r/ppp1bppp/2pr1nq1/4Q3/2B1P1P1/2N1B3/PPP3PP/R3K2R b KQk -",   "4k2r/ppp1bppp/2pr2q1/4Q3/2B1P1n1/2N1B3/PPP3PP/R3K2R w KQk -",   "4k2r/ppp1bppp/2pr2q1/8/2B1PQn1/2N1B3/PPP3PP/R3K2R b KQk -",   "4k2r/ppp1bppp/2pr2q1/8/2B1PQ2/2N1n3/PPP3PP/R3K2R w KQk -",   "4k2r/ppp1bppp/2pr2q1/8/2B1P3/2N1Q3/PPP3PP/R3K2R b KQk -",   "4k2r/ppp1bppp/2pr4/8/2B1P3/2N1Q3/PPP3qP/R3K2R w KQk -",   "4k2r/ppp1bppp/2pr4/8/2B1P3/2N1Q3/PPP3qP/R3KR2 b Qk -",   "4k2r/ppp2ppp/2pr4/8/2B1P2b/2N1Q3/PPP3qP/R3KR2 w Qk -",   "4k2r/ppp1bppp/2pr1nq1/4Q3/2B1P3/2N1BP1b/PPP3PP/R4RK1 w k -",   "4k2r/ppp1bppp/2pr1nq1/4Q3/2B1P3/2N1BP1b/PPP2RPP/R5K1 b k -",   "4k2r/p1p1bppp/2pr1nq1/1p2Q3/2B1P3/2N1BP1b/PPP2RPP/R5K1 w k -",   "2kr3r/ppp2ppp/2p2nq1/2b5/2B1PQb1/2N2P2/PPP3PP/R1B1K2R w KQ -",   "r3k2r/ppp2ppp/2p1bnq1/2b5/2B1PQ2/2N2P2/PPP3PP/R1B1K2R w KQkq -",   "r3k2r/ppp2ppp/2p1Bnq1/2b5/4PQ2/2N2P2/PPP3PP/R1B1K2R b KQkq -",   "r3k2r/ppp3pp/2p1pnq1/2b5/4PQ2/2N2P2/PPP3PP/R1B1K2R w KQkq -",   "r3k2r/ppp3pp/2p1pnq1/2b3Q1/4P3/2N2P2/PPP3PP/R1B1K2R b KQkq -",   "r3k2r/p1p3pp/1pp1pnq1/2b3Q1/4P3/2N2P2/PPP3PP/R1B1K2R w KQkq -",   "r3k2r/p1p3pp/1pp1pnQ1/2b5/4P3/2N2P2/PPP3PP/R1B1K2R b KQkq -",   "r3k2r/p1p3p1/1pp1pnp1/2b5/4P3/2N2P2/PPP3PP/R1B1K2R w KQkq -",   "2kr3r/ppp2ppp/2p2nq1/2b3Q1/2B1P1b1/2N2P2/PPP3PP/R1B1K2R b KQ -",   "2kr3r/ppp2ppp/2p2nq1/2b5/2B1PQP1/2N5/PPP3PP/R1B1K2R b KQ -",   "2krr3/ppp2ppp/2p2nq1/2b5/2B1PQP1/2N5/PPP3PP/R1B1K2R w KQ -",   "2krr3/ppp2ppp/2p2nq1/2b5/4PQP1/2NB4/PPP3PP/R1B1K2R b KQ -",   "2krr3/ppp2ppp/2p3q1/2b5/4PQn1/2NB4/PPP3PP/R1B1K2R w KQ -",   "2krr3/ppp2ppp/2p3q1/2b5/4PQn1/2NB4/PPP3PP/R1B1KR2 b Q -",   "2k1r3/pppr1ppp/2p3q1/2b5/4PQn1/2NB4/PPP3PP/R1B1KR2 w Q -",   "2kr3r/ppp2ppp/2p3q1/2b3Q1/2B1n1b1/2N2P2/PPP3PP/R1B1K2R w KQ -",   "2kr3r/ppp2ppp/2p2n2/2b3q1/2B1P1b1/2N2P2/PPP3PP/R1B1K2R w KQ -",   "2kr3r/ppp2ppp/2p2n2/2b3B1/2B1P1b1/2N2P2/PPP3PP/R3K2R b KQ -",   "2kr3r/ppp2ppp/2p2n2/2b3Bb/2B1P3/2N2P2/PPP3PP/R3K2R w KQ -",   "2kr3r/ppp2ppp/2p3q1/2b3Q1/2B1N1b1/5P2/PPP3PP/R1B1K2R b KQ -",   "2kr3r/ppp2ppp/2p3Q1/2b5/2B1n1b1/2N2P2/PPP3PP/R1B1K2R b KQ -",   "2kr3r/ppp2pp1/2p3p1/2b5/2B1n1b1/2N2P2/PPP3PP/R1B1K2R w KQ -",   "2kr3r/ppp2pp1/2p3p1/2b5/2B1N1b1/5P2/PPP3PP/R1B1K2R b KQ -",   "2krr3/ppp2pp1/2p3p1/2b5/2B1N1b1/5P2/PPP3PP/R1B1K2R w KQ -",   "2krr3/ppp2pp1/2p3p1/2b5/2B1N1b1/5P2/PPPB2PP/R3K2R b KQ -",   "2k1r3/ppp2pp1/2p3p1/2b5/2BrN1b1/5P2/PPPB2PP/R3K2R w KQ -",   "2k1r3/ppp2pp1/2p3p1/2b5/3rN1b1/3B1P2/PPPB2PP/R3K2R b KQ -",   "2k1r3/ppp3p1/2p3p1/2b2p2/3rN1b1/3B1P2/PPPB2PP/R3K2R w KQ -",   "2k1r3/ppp3p1/2p3p1/2b2p2/3rN1P1/3B4/PPPB2PP/R3K2R b KQ -",   "2k1r3/ppp3p1/2p3p1/2b5/3rp1P1/3B4/PPPB2PP/R3K2R w KQ -",   "2k1r3/ppp3p1/2p3p1/2b5/3rp1P1/8/PPPBB1PP/R3K2R b KQ -",   "2kr3r/ppp2ppp/2p3q1/2b3Q1/2B1P1b1/2N5/PPP3PP/R1B1K2R b KQ -",   "2kr3r/ppp2ppp/2p3q1/6Q1/2BbP1b1/2N5/PPP3PP/R1B1K2R w KQ -",   "2kr3r/ppp2ppp/2p3Q1/8/2BbP1b1/2N5/PPP3PP/R1B1K2R b KQ -",   "2kr3r/ppp2pp1/2p3p1/8/2BbP1b1/2N5/PPP3PP/R1B1K2R w KQ -",   "2kr3r/ppp2pp1/2p3p1/8/2BbP1b1/8/PPP1N1PP/R1B1K2R b KQ -",   "2kr3r/ppp2pp1/2p3p1/2b5/2B1P1b1/8/PPP1N1PP/R1B1K2R w KQ -",   "2kr3r/ppp2pp1/2p3p1/2b5/2B1P1b1/7P/PPP1N1P1/R1B1K2R b KQ -",   "2k1r2r/ppp2pp1/2p3p1/2b5/2B1P1b1/7P/PPP1N1P1/R1B1K2R w KQ -",   "2k1r2r/ppp2pp1/2p3p1/2b5/2B1P1b1/6NP/PPP3P1/R1B1K2R b KQ -",   "2k1r2r/ppp2pp1/2pb2p1/8/2B1P1b1/6NP/PPP3P1/R1B1K2R w KQ -",   "2k1r2r/ppp2pp1/2pb2p1/8/2B1P1b1/6NP/PPP2KP1/R1B4R b - -",   "2kr3r/ppp2ppp/2p3q1/2b5/2B1n1Q1/2N2P2/PPP3PP/R1B1K2R b KQ -",   "2kr3r/ppp2ppp/2p5/2b5/2B1n1q1/2N2P2/PPP3PP/R1B1K2R w KQ -",   "2kr3r/ppp2ppp/2p5/2b5/2B1n1P1/2N5/PPP3PP/R1B1K2R b KQ -",   "2kr3r/ppp2ppp/2p5/2b5/2B3P1/2n5/PPP3PP/R1B1K2R w KQ -",   "2kr3r/ppp2ppp/2p5/2b5/2B3P1/2P5/P1P3PP/R1B1K2R b KQ -",   "2krr3/ppp2ppp/2p5/2b5/2B3P1/2P5/P1P3PP/R1B1K2R w KQ -",   "2krr3/ppp2ppp/2p5/2b5/6P1/2P5/P1P1B1PP/R1B1K2R b KQ -",   "2kr4/ppp2ppp/2p5/2b5/4r1P1/2P5/P1P1B1PP/R1B1K2R w KQ -",   "2kr3r/ppp2ppp/2p5/2b3Q1/2B1q1b1/5P2/PPP3PP/R1B1K2R w KQ -",   "2kr3r/ppp2ppp/2p5/2b3Q1/4q1b1/5P2/PPP1B1PP/R1B1K2R b KQ -",   "2kr3r/ppp2ppp/2p5/2b3Q1/2B1q1b1/4BP2/PPP3PP/R3K2R b KQ -",   "2kr3r/ppp2ppp/2p5/2b3Q1/2B3b1/4qP2/PPP3PP/R3K2R w KQ -",   "2kr3r/ppp2ppp/2p5/2b5/2B3b1/4QP2/PPP3PP/R3K2R b KQ -",   "2kr3r/ppp2ppp/2p5/8/2B3b1/4bP2/PPP3PP/R3K2R w KQ -",   "2kr3r/ppp2ppp/2p5/8/2B3P1/4b3/PPP3PP/R3K2R b KQ -",   "2k4r/ppp2ppp/2p5/8/2B3P1/4b3/PPPr2PP/R3K2R w KQ -",   "2kr3r/ppp2ppp/2p5/2b3Q1/6b1/5P2/PPq1B1PP/R1B1K2R w KQ -",   "2kr3r/ppp2ppp/2p5/2b5/6Q1/5P2/PPq1B1PP/R1B1K2R b KQ -",   "2kr3r/ppp3pp/2p5/2b2p2/6Q1/5P2/PPq1B1PP/R1B1K2R w KQ -",   "2kr3r/ppp3pp/2p5/2b2p2/2Q5/5P2/PPq1B1PP/R1B1K2R b KQ -",   "2k4r/ppp3pp/2p5/2b2p2/2Q5/5P2/PPq1B1PP/R1BrK2R w KQ -");var VarLevelsAJEUMG = new Array (   0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,   1,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,2,2,2,2,2,2,   2,2,1,1,1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1,1,   1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,   1,0,0,1,1,1,1,1,1,0,0,0,0,0);var MoveNumsAJEUMG = new Array (   0,1,2,3,4,5,6,7,8,9,10,11,11,12,13,14,15,16,17,18,12,13,14,15,16,17,17,   18,19,20,21,22,23,24,25,26,18,18,19,20,19,19,20,21,22,23,24,25,25,26,27,28,29,30,   31,32,26,27,28,20,20,21,22,23,24,25,26,21,21,22,23,24,25,26,22,22,23,24,23,23,24,   25,26,27,28,29,30,31,32,33,23,24,25,26,27,28,29,30,31,32,33,23,24,25,26,27,28,29,   30,24,25,25,26,27,28,29,30,26,27,28,29,30);&lt;/script&gt;&lt;script type="text/javascript"&gt;function chessBoardAJEUMG() {        // Board square notation        this.numbers = [0, 8, 7, 6, 5, 4, 3, 2, 1];        this.letters = ["0", "a", "b", "c", "d", "e", "f", "g", "h"];        // Variables used to load/save FEN        // The piece to move now        this.currentMove;        // State of castling        this.castling;        // If there's enpassant pawn        this.enPassant;        // Number of halfmoves        this.halfMoves;        // Full number of moves        this.fullMoves;        // Holds references to pieces         // piece object contains name, color and reference to board square its in        this.pieces = [];        // Board squares        // These that hold a piece contain reference to piece object (so board squares and piece are circle referenced)        this.squares = [];        this.squares["a"] = [];        this.squares["b"] = [];        this.squares["c"] = [];        this.squares["d"] = [];        this.squares["e"] = [];        this.squares["f"] = [];        this.squares["g"] = [];        this.squares["h"] = [];        for(var keyVar in this.squares) {                for(var j = 1; j &lt;= 8; j++) {                        this.squares[keyVar][j] = new boardSquare(keyVar, j);                }        }}// Prototype function used to load FEN into boardchessBoardAJEUMG.prototype.loadFEN =         function(FEN) {                for(var keyVar in this.squares) {                  if (/^[a-f]$/.test(keyVar)) {                        for(var j = 1; j &lt;= 8; j++) {                                this.squares[keyVar][j].piece = null;                        }                  }                }                delete this.pieces;                this.pieces = [];                var FENArray = FEN.split(" ");                var boardArray = FENArray[0].split("/");                for(var lines = 1; lines &lt;= 8; lines++) {                        var line = boardArray[lines - 1].split("");                        var colsY = 1;                        for(var cols = 1; cols &lt;= line.length; cols++) {                                var letter = line[cols - 1];                                var color;                                if (/[rbqkpn]/.test(letter)) {                                        color = "black";                                } else if (/[RBQKPN]/.test(letter)) {                                        color = "white";                                } else {                                        colsY = parseInt(colsY) + parseInt(letter);                                        continue;                                }                                switch(letter.toLowerCase()) {                                        case "r":                                                name = "rook";                                                break;                                        case "b":                                                name = "bishop";                                                break;                                        case "q":                                                name = "queen";                                                break;                                        case "k":                                                name = "king";                                                break;                                        case "p":                                                name = "pawn";                                                break;                                        case "n":                                                name = "knight";                                                break;                                        default:                                                break;                                }                                var x = this.letters[colsY];                                var y = this.numbers[lines];                                this.addPiece(name, color, x, y);                                colsY++;                        }                }                if (FENArray[1] == "b")                        this.currentMove = "black";                else                        this.currentMove = "white";                this.castling = FENArray[2];                this.enPassant = FENArray[3];                this.halfMoves = FENArray[4];                this.fullMoves = FENArray[5];        }// Create piece objects and place a reference to them for square they're inchessBoardAJEUMG.prototype.addPiece =         function(name, color, x, y) {                var newPiece = new boardPiece(name, color);                newPiece.square = this.squares[x][y];                this.pieces.push(newPiece);                this.squares[x][y].piece = newPiece;        }// MoveHandlerchessBoardAJEUMG.prototype.moveHandler =        function(piece, fromX, fromY, toX, toY, capture, promotion, promoteTo, varNum) {                // Make piece move                this.makeMove(fromX, fromY, toX, toY, capture);                if (piece == "pawn") {                        // White pawns move "up", black move "down"                        var mod;                        if (this.currentMove == "white")                                 mod = 1;                        else                                mod = -1;                        // if enPassant capture, manually remove piece, as makeMove is simple and doesn't handle this                        if (capture &amp;&amp; toX + toY == this.enPassant) {                                this.squares[toX][toY - mod].piece.square = null;                                this.squares[toX][toY - mod].piece = null;                        }                        // Set enPassant if needed                        if (Math.abs(toY - fromY) == 2)                                this.enPassant = toX + (parseInt(toY) - mod);                        else                                this.enPassant = "-";                        // Set the promotion piece if so                        if(promotion) {                                this.squares[toX][toY].piece.name = promoteTo;                        }                } else {                        this.enPassant = "-";                        // Handle castling if rook moves                        if (piece == "rook" &amp;&amp; this.castling != "-") {                                if (fromX == "a" &amp;&amp; fromY == 8) {                                        this.castling = this.castling.replace(/q/, "");                                } else if (fromX == "h" &amp;&amp; fromY == 8) {                                        this.castling = this.castling.replace(/k/, "");                                } else if (fromX == "a" &amp;&amp; fromY == 1) {                                        this.castling = this.castling.replace(/Q/, "");                                } else if (fromX == "h" &amp;&amp; fromY == 1) {                                        this.castling = this.castling.replace(/K/, "");                                }                        }                        if (piece == "king" &amp;&amp; this.castling != "-") {                                if (this.currentMove == "white") {                                        this.castling = this.castling.replace(/K/, "");                                        this.castling = this.castling.replace(/Q/, "");                                } else {                                        this.castling = this.castling.replace(/k/, "");                                        this.castling = this.castling.replace(/q/, "");                                }                        }                        // If castling is empty after above                        if (this.castling == "") {                                this.castling = "-";                        }                }                if(piece == "pawn" || promotion || capture) {                        this.halfMoves = 0;                } else {                        this.halfMoves++;                }                if (this.currentMove == "black")                        this.fullMoves++;                this.switchMove();        }// Handles the castlingchessBoardAJEUMG.prototype.castle =         function(castling) {                var line;                if (this.currentMove == "white")                        line = 1;                else                        line = 8;                                        if (/^O-O\+?$/.test(castling)) {                        this.makeMove("e", line, "g", line);                        this.makeMove("h", line, "f", line);                } else {                        this.makeMove("e", line, "c", line);                        this.makeMove("a", line, "d", line);                }                var castlestrip;                if (this.currentMove == "white")                        castlestrip = /[KQ]/g;                else                        castlestrip = /[kq]/g;                this.enPassant = "-";                this.halfMoves++;                if (this.currentMove == "black")                        this.fullMoves++;                this.castling = this.castling.replace(castlestrip, "");                if (this.castling == "")                        this.castling = "-";                this.switchMove();        }// Search for pieces by name, color and either (or both) of coordinates// Returns an array of matches - corresponding indexes of pieces arraychessBoardAJEUMG.prototype.getPiece =         function(name, color, x, y) {                var result = new Array();                for(var i = 0; i &lt; this.pieces.length; i++) {                        if (this.pieces[i].name == name &amp;&amp; this.pieces[i].color == color &amp;&amp; this.pieces[i].square != null &amp;&amp; ((x &amp;&amp; this.pieces[i].square.x == x) || !x) &amp;&amp; ((y &amp;&amp; this.pieces[i].square.y == y) || !y)) {                                result.push(i);                        }                }                return result;        }// Switches the current movechessBoardAJEUMG.prototype.switchMove =        function() {                if (this.currentMove == "white")                        this.currentMove = "black";                else                        this.currentMove = "white";        }// Simple move function with from&amp;to variableschessBoardAJEUMG.prototype.makeMove =        function(fromX, fromY, toX, toY, capture) {                var previousPiece = this.squares[fromX][fromY].piece;                previousPiece.square = this.squares[toX][toY];                if (capture &amp;&amp; this.squares[toX][toY].piece != null) {                        this.squares[toX][toY].piece.square = null;                }                this.squares[toX][toY].piece = previousPiece;                this.squares[fromX][fromY].piece = null;        }// Returns current FENchessBoardAJEUMG.prototype.currentFEN =        function(reduced) {                var FEN="";                for (var num = 8; num &gt;= 1; num--) {                        var emptyCounter = 0;                        for (var keyVar in this.squares) {                                if (this.squares[keyVar][num].piece != null) {                                        if (emptyCounter != 0) {                                                FEN += emptyCounter;                                                emptyCounter = 0;                                        }                                        var pieceName = this.squares[keyVar][num].piece.name;                                        var pieceColor = this.squares[keyVar][num].piece.color;                                        switch (pieceName) {                                                case "rook":                                                name = "r";                                                break;                                        case "bishop":                                                name = "b";                                                break;                                        case "queen":                                                name = "q";                                                break;                                        case "king":                                                name = "k";                                                break;                                        case "pawn":                                                name = "p";                                                break;                                        case "knight":                                                name = "n";                                                break;                                        default:                                                break;                                        }                                        if (pieceColor == "white") {                                                name = name.toUpperCase();                                                FEN += name;                                        }                                        else                                                 FEN += name;                                } else                                        emptyCounter++;                        }                        if (emptyCounter != 0)                                FEN += emptyCounter;                        if (num != 1)                                FEN += "/";                }                FEN += " " + this.currentMove.substr(0,1);                FEN += " " + this.castling;                FEN += " " + this.enPassant;                if (!reduced) {                        FEN += " " + this.halfMoves;                        FEN += " " + this.fullMoves;                }                return FEN;        }// Board Squarefunction boardSquare(x, y) {        this.x = x;        this.y = y;        this.piece;}// Board Piecefunction boardPiece(name, color) {        // Each piece hold the reference to they square it's in        this.square;        this.name = name;        this.color = color;}&lt;/script&gt;&lt;script type="text/javascript"&gt;function GUIAJEUMG() {        var numbers = [8, 7, 6, 5, 4, 3, 2, 1];        var letters = ["a", "b", "c", "d", "e", "f", "g", "h"];        var letter = [];        letter["a"] = 1;        letter["b"] = 2;        letter["c"] = 3;        letter["d"] = 4;        letter["e"] = 5;        letter["f"] = 6;        letter["g"] = 7;        letter["h"] = 8;                if (navigator.appName == "Microsoft Internet Explorer" &amp;&amp; navigator.appVersion.match(/MSIE 6\./)) {                var ie6 = true;        }                try {                var canvas = Raphael("board_svgAJEUMG", 262, 262);        } catch (e) {                        }        this.arrow;        this.startPoint;        // If board is flipped        this.flipped = false;        this.drawBoardPosition =        function(board) {                var square;                for(var rows = 1; rows &lt;= 8; rows++) {                        for(var cols = 1; cols &lt;= 8; cols++) {                                square = document.getElementById("square" + rows + cols + "AJEUMG");                                while (square.childNodes[0]) {                                        square.removeChild(square.childNodes[0]);                                }                        }                }                var GUIsquare;                var piece;                var square;                var shortName;                for(var i = 0; i &lt; board.pieces.length; i++) {                        var piece = board.pieces[i];                        var square = piece.square;                        if (square != undefined) {                                GUIsquare = this.getGUISquare(square.x, square.y);                                if (piece.name != "knight")                                        shortName = piece.name.charAt(0);                                else                                        shortName = "n";                                var pieceImg = document.createElement("IMG");                                pieceImg.id = "piece" + square.x + square.y;                                pieceImg.src = "http://www.chessok.com/common/images/pieces/classic/33" + (ie6? "gif" : "") + "/" + piece.color.charAt(0) + shortName + (ie6? ".gif" : ".png");                                GUIsquare.appendChild(pieceImg);                                pieceImg.style.verticalAlign = 'top';                        }                }                                this.drawCoordinates();                /*if (this.arrow) {                        this.arrow.remove();                        this.arrow = undefined;                }                if (this.startPoint) {                        this.startPoint.remove();                        this.startPoint = undefined;                }                var id = game.notationMove;                if(id != "start") {                        var fromX = game.displayNotation[id]["fromto"].fromX;                        var fromY = game.displayNotation[id]["fromto"].fromY;                        var toX = game.displayNotation[id]["fromto"].toX;                        var toY = game.displayNotation[id]["fromto"].toY;                        var knight = (game.displayNotation[id]["token"].charAt(0) == "N" ? true : false);                        this.drawArrow(fromX, fromY, toX, toY, knight);                } else {                        if (this.arrow) {                                this.arrow.remove();                                this.arrow = undefined;                        }                }*/        }        // Rotates the board        this.flipBoard =        function() {                document.getElementById("flipiconAJEUMG").blur();                if (this.flipped)                        this.flipped = false;                else                        this.flipped = true;                this.drawBoardPosition(boardAJEUMG);        }        // Draws the coordinates according to this.flipped state        this.drawCoordinates=        function() {                var lttr;                var nmbr;                for (var i = 0; i &lt; letters.length; i++) {                        if (this.flipped) {                                lttr = letters[7 - i];                                nmbr = 8 - i;                        } else {                                lttr = letters[i];                                nmbr = i + 1;                        }                        var holder = document.getElementById("top" + letters[i] + "AJEUMG");                        holder.firstChild.nodeValue = lttr.toUpperCase();                        holder = document.getElementById("bottom" + letters[i] + "AJEUMG");                        holder.firstChild.nodeValue = lttr.toUpperCase();                        holder = document.getElementById("left" + parseInt(i + 1) + "AJEUMG");                        holder.firstChild.nodeValue = nmbr;                        holder = document.getElementById("right" + parseInt(i + 1) + "AJEUMG");                        holder.firstChild.nodeValue = nmbr;                }        }                this.drawArrow =        function(fromX, fromY, toX, toY, knight) {                //alert(fromX + fromY + toX + toY);                var fX = letter[fromX];                var fY = 9 - fromY;                var tX = letter[toX];                var tY = 9 - toY;                if (this.flipped) {                        fX = 9 - fX;                        fY = 9 - fY                        tX = 9 - tX;                        tY = 9 - tY                }                fX = fX * 50 - 25 + 17;                fY = fY * 50 - 25 + 21;                tX = tX * 50 - 25 + 17;                tY = tY * 50 - 25 + 21;                                if (this.arrow) {                        this.arrow.remove();                }                                var lX = Math.abs(tX - fX);                var lY = Math.abs(tY - fY);                var tL = Math.sqrt(lX*lX + lY*lY);                var mod = -1*lX / (tX - fX);                if (lX == 0) {                        var rotationAngle = 0;                } else {                        var rotationAngle = - Math.atan((tX - fX)/(tY - fY));                }                                if (lY == 0) {                        rotationAngle = - rotationAngle;                } else if (tY &gt; fY) {                        rotationAngle = Math.PI + rotationAngle;                }                rotationAngle = rotationAngle / Math.PI * 180;        try {                //var c = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.66}).moveTo(fX, fY).lineTo(fX - 5, fY - tL + 15);                if (knight) {                        var sq = Math.sqrt(50*50/2);                        //this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).qcurveTo(fX - 5 + mod*sq, fY - 1.5*sq, fX - 5 + mod*sq, fY - 3*sq + 15).lineTo(fX - 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + mod*sq, fY - 3*sq).lineTo(fX + 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + 5 + mod*sq, fY - 3*sq + 15).qcurveTo(fX + 5 + mod*sq, fY - 1.5*sq, fX, fY);                        this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).curveTo(fX - 2 + 0.5*mod*sq, fY - sq, fX - 5 + mod*sq, fY - 1.5*sq, fX - 5 + mod*sq, fY - 3*sq + 15).lineTo(fX - 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + mod*sq, fY - 3*sq).lineTo(fX + 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + 5 + mod*sq, fY - 3*sq + 15).curveTo(fX + 5 + mod*sq, fY - 1.5*sq, fX + 2 + 0.5*mod*sq, fY - sq, fX, fY);                        var knightAngle = Math.atan(1/3) / Math.PI * 180;                        this.arrow.rotate(rotationAngle - mod*knightAngle, fX, fY);                        //alert(/Math.PI * 180);                } else {                        this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).lineTo(fX - 5, fY - tL + 15).lineTo(fX - 15, fY - tL + 20).lineTo(fX, fY - tL).lineTo(fX + 15, fY - tL + 20).lineTo(fX + 5, fY - tL + 15).lineTo(fX, fY);                        this.arrow.rotate(rotationAngle, fX, fY);                }                this.startPoint = canvas.circle(fX, fY, 10);                this.startPoint.attr({fill: "#ff0", stroke: "#000", opacity: 0.25});        } catch (e) {                        }        }        // Returns the GUI square reference given the board coordinates;        this.getGUISquare =        function(x, y) {                if (!this.flipped) {                        x = letter[x];                        y = 9 - y;                } else {                        x = 9 - letter[x];                }                return document.getElementById("square" + x + y + "AJEUMG");        }        // Returns the board coordinates given the id of GUI square        this.getSquare =        function(id) {                if (id.match(/piece/)) {                        return {x: id.charAt(5), y: id.charAt(6)};                }                if (!this.flipped) {                        x = letters[id.charAt(6) - 1];                        y = 9 - id.charAt(7);                } else {                        x = letters[8 - id.charAt(6)];                        y = id.charAt(7);                }                return {x: x, y: y};        }        this.addClass =        function(target, classValue) {                if (!this.hasClass(target, classValue))                        if (target.className == "")                                target.className = classValue;                        else                                target.className += " " + classValue;                return true;        }        this.removeClass =        function(target, classValue) {                if(this.hasClass(target, classValue)) {                        var removedClass = target.className;                        var pattern = new RegExp("(^| )" + classValue + "( |$)");                        removedClass = removedClass.replace(pattern, "$1");                        removedClass = removedClass.replace(/ $/, "");                        target.className = removedClass;                }                return true;        }        this.hasClass =        function(target, classValue) {                var pattern = new RegExp("(^| )" + classValue + "( |$)");                    if (target.className.match(pattern))                        return true;                return false;        }}&lt;/script&gt;&lt;script type="text/javascript"&gt;//&lt;!--eval(function(p,a,c,k,e,r){e=function(c){return(c&lt;a?'':e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('11 2x=(14(){11 u=/[, ]+/,V,1w=4N,3v=5Z,R=14(){17 V.2e(R,18)};R.4O="0.7.2";R.1v=(3v.60?"4e":"3P");R.2f=!(R.2a=R.1v=="3P");R.4f=0;11 v={};R.3w={};11 z={cx:0,1J:0,1x:"#4g","1x-1p":1,1z:\'61 "4P"\',"1z-3x":\'"4P"\',"1z-2G":"10",2g:0,1g:0,1p:1,1l:"4h,0",r:0,2R:0,2h:0,2i:0,2H:"1 1",2I:"",1i:"#22","1i-2J":"","1i-2Z":"3j","1i-3y":"3j","1i-3z":0,"1i-1p":1,"1i-1d":1,2K:"0 0",1d:0,x:0,y:0},3Q={cx:"1T",1J:"1T",1x:"3R","1x-1p":"1T","1z-2G":"1T",1g:"1T",1p:"1T",1l:"1l",r:"1T",2R:"3A",2h:"1T",2i:"1T",2H:"3A",1i:"3R","1i-1p":"1T","1i-1d":"1T",2K:"3A",1d:"1T",x:"1T",y:"1T"},1X=["62","63","64","65","4Q","4R","66"];R.1G=14(){17"67 68 "+(9.2a?"69\'t ":"")+"6a"+(9.2f?"s":"")+" 4e.\\6b 6c 6d "+6e("6f%6g%20")+9.4O};R.6h=14(a){3v=a;1w=3v.4N};R.3S=14(a,c,d){13(1u a=="3k"&amp;&amp;"h"1E a&amp;&amp;"s"1E a&amp;&amp;"b"1E a){d=a.b;c=a.s;a=a.h}11 e,1Y,1Z;13(d==0){17{r:0,g:0,b:0,23:"#22"}}13(a&gt;1||c&gt;1||d&gt;1){a/=2L;c/=2L;d/=2L}11 i=1b.6i(a*6),f=(a*6)-i,p=d*(1-c),q=d*(1-(c*f)),t=d*(1-(c*(1-f)));e=[d,q,p,p,t,d,d][i];1Y=[t,d,d,q,p,p,t][i];1Z=[p,p,t,d,d,q,p][i];e*=2L;1Y*=2L;1Z*=2L;11 h={r:e,g:1Y,b:1Z};11 r=1b.1j(e).1G(16);13(r.19==1){r="0"+r}11 g=1b.1j(1Y).1G(16);13(g.19==1){g="0"+g}11 b=1b.1j(1Z).1G(16);13(b.19==1){b="0"+b}h.23="#"+r+g+b;17 h};R.6j=14(a,b,c){13(1u a=="3k"&amp;&amp;"r"1E a&amp;&amp;"g"1E a&amp;&amp;"b"1E a){c=a.b;b=a.g;a=a.r}13(1u a=="2j"){11 d=A(a);a=d.r;b=d.g;c=d.b}13(a&gt;1||b&gt;1||c&gt;1){a/=2L;b/=2L;c/=2L}11 e=1b.30(a,b,c),2M=1b.2M(a,b,c),2y,4i,4S=e;13(2M==e){17{h:0,s:0,b:e}}1o{11 f=(e-2M);4i=f/e;13(a==e){2y=(b-c)/f}1o 13(b==e){2y=2+((c-a)/f)}1o{2y=4+((a-b)/f)}2y/=6;13(2y&lt;0){2y+=1}13(2y&gt;1){2y-=1}}17{h:2y,s:4i,b:4S}};11 A=14(a){11 c={6k:"#6l",6m:"#6n",6o:"#6p",6q:"#4T",6r:"#6s",6t:"#6u",6v:"#6w",6x:"#6y",6z:"#22",6A:"#6B",1Z:"#6C",6D:"#6E",6F:"#6G",6H:"#6I",6J:"#6K",6L:"#6M",6N:"#6O",6P:"#6Q",6R:"#6S",6T:"#6U",6V:"#6W",6X:"#4T",6Y:"#6Z",70:"#71",72:"#73",74:"#76",77:"#78",79:"#7a",7b:"#7c",7d:"#7e",7f:"#7g",7h:"#7i",7j:"#7k",7l:"#7m",7n:"#7o",7p:"#7q",7r:"#7s",7t:"#7u",7v:"#7w",7x:"#7y",7z:"#7A",7B:"#7C",7D:"#7E",7F:"#7G",7H:"#7I",7J:"#7K",7L:"#4U",7M:"#7N",7O:"#7P",7Q:"#7R",7S:"#7T",7U:"#7V",1Y:"#7W",7X:"#7Y",7Z:"#80",81:"#82",83:"#84",85:"#86",87:"#88",89:"#8a",8b:"#8c",8d:"#8e",8f:"#8g",8h:"#8i",8j:"#8k",8l:"#8m",8n:"#8o",8p:"#8q",8r:"#8s",8t:"#8u",8v:"#8w",4V:"#4W",4V:"#4W",8x:"#8y",8z:"#8A",8B:"#8C",8D:"#8E",8F:"#8G",8H:"#8I",8J:"#8K",8L:"#8M",8N:"#4U",8O:"#8P",8Q:"#8R",8S:"#8T",8U:"#8V",8W:"#8X",8Y:"#8Z",4X:"#4Y",4X:"#4Y",91:"#92",93:"#94",95:"#96",97:"#98",99:"#9a",9b:"#9c",9d:"#9e",9f:"#9g",9h:"#9i",9j:"#9k",9l:"#9m",9n:"#9o",9p:"#9q",9r:"#9s",9t:"#9u",9v:"#9w",9x:"#9y",9z:"#9A",9B:"#9C",9D:"#9E",9F:"#9G",9H:"#9I",9J:"#9K",9L:"#9M",9N:"#9O",9P:"#9Q",9R:"#9S",9T:"#9U",9V:"#9W",9X:"#9Y",9Z:"#a0",a1:"#a2",a3:"#a4",a5:"#a6",a7:"#a8",a9:"#aa",ab:"#ac",ad:"#ae",af:"#ag",ah:"#ai",aj:"#ak",al:"#am",an:"#ao",ap:"#aq",as:"#au",av:"#aw",ax:"#ay",az:"#aA",aB:"#aC",aD:"#4g",aE:"#aF",aG:"#aH",aI:"#aJ"};13(a.1G().2z()1E c){a=c[a.1G().2z()]}13(!a){17{r:0,g:0,b:0,23:"#22"}}13(a=="1U"){17{r:-1,g:-1,b:-1,23:"1U"}}11 d,1Y,1Z,e=a.3T(/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|4j\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4j\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\)|4Z\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4Z\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\))\\s*$/i);13(e){13(e[2]){1Z=31(e[2].2s(5),16);1Y=31(e[2].2s(3,5),16);d=31(e[2].2s(1,3),16)}13(e[3]){1Z=31(e[3].2s(3)+e[3].2s(3),16);1Y=31(e[3].2s(2,3)+e[3].2s(2,3),16);d=31(e[3].2s(1,2)+e[3].2s(1,2),16)}13(e[4]){e=e[4].26(/\\s*,\\s*/);d=1c(e[0],10);1Y=1c(e[1],10);1Z=1c(e[2],10)}13(e[5]){e=e[5].26(/\\s*,\\s*/);d=1c(e[0],10)*2.55;1Y=1c(e[1],10)*2.55;1Z=1c(e[2],10)*2.55}13(e[6]){e=e[6].26(/\\s*,\\s*/);d=1c(e[0],10);1Y=1c(e[1],10);1Z=1c(e[2],10);17 2x.3S(d,1Y,1Z)}13(e[7]){e=e[7].26(/\\s*,\\s*/);d=1c(e[0],10)*2.55;1Y=1c(e[1],10)*2.55;1Z=1c(e[2],10)*2.55;17 2x.3S(d,1Y,1Z)}11 e={r:d,g:1Y,b:1Z};11 r=1b.1j(d).1G(16);(r.19==1)&amp;&amp;(r="0"+r);11 g=1b.1j(1Y).1G(16);(g.19==1)&amp;&amp;(g="0"+g);11 b=1b.1j(1Z).1G(16);(b.19==1)&amp;&amp;(b="0"+b);e.23="#"+r+g+b;17 e}1o{17{r:-1,g:-1,b:-1,23:"1U"}}};R.50=14(a){11 b=18.3U.2A=18.3U.2A||{h:0,s:1,b:a||.75};11 c=2x.3S(b.h,b.s,b.b);b.h+=.aK;13(b.h&gt;1){b.h=0;b.s-=.2;13(b.s&lt;=0){18.3U.2A={h:0,s:1,b:b.b}}}17 c.23};R.50.aL=14(){9.2A=1N};R.32=14(e){11 f={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},3V=[],1G=14(){11 a="";1n(11 i=0,1q=9.19;i&lt;1q;i++){a+=9[i][0]+9[i].1K(",").2s(2)}17 a};13(e.1G.1G()==1G.1G()){17 e}e.3W(/([aM])[\\s,]*((-?\\d*(?:e-?\\d+|\\.?\\d*)\\s*,?\\s*)+)/51,14(a,b,c){11 d=[],3X=b.2z();c.3W(/(-?\\d*(?:e-?\\d+|\\.?\\d*))\\s*,?\\s*/51,14(a,b){b&amp;&amp;d.1V(+b)});4k(d.19&gt;=f[3X]){3V.1V([b].4l(d.2t(0,f[3X])));13(!f[3X]){1m}}});3V.1G=1G;17 3V};11 B=14(a){11 b=a;13(1u a=="2j"){b=2x.32(a)}b=D(b);11 x=[],y=[],19=0;1n(11 i=0,1q=b.19;i&lt;1q;i++){2k(b[i][0]){1k"Z":1m;1k"A":x.1V(b[i][b[i].19-2]);y.1V(b[i][b[i].19-1]);1m;2S:1n(11 j=1,21=b[i].19;j&lt;21;j++){13(j%2){x.1V(b[i][j])}1o{y.1V(b[i][j])}}}}11 c=1b.2M.2e(1b,x),4m=1b.2M.2e(1b,y);17{x:c,y:4m,1d:1b.30.2e(1b,x)-c,1g:1b.30.2e(1b,y)-4m,X:x,Y:y}};11 C=14(a){11 b=[];13(1u a=="2j"){a=R.32(a)}11 x=0,y=0,2A=0;13(a[0][0]=="M"){x=a[0][1];y=a[0][2];2A++;b.1V(a[0])}1n(11 i=2A,1q=a.19;i&lt;1q;i++){b[i]=[];13(a[i][0]!=a[i][0].2z()){b[i][0]=a[i][0].2z();2k(b[i][0]){1k"a":b[i][1]=a[i][1];b[i][2]=a[i][2];b[i][3]=0;b[i][4]=a[i][4];b[i][5]=a[i][5];b[i][6]=+(a[i][6]-x).1L(3);b[i][7]=+(a[i][7]-y).1L(3);1m;1k"v":b[i][1]=+(a[i][1]-y).1L(3);1m;2S:1n(11 j=1,21=a[i].19;j&lt;21;j++){b[i][j]=+(a[i][j]-((j%2)?x:y)).1L(3)}}}1o{b[i]=a[i]}2k(b[i][0]){1k"z":1m;1k"h":x+=b[i][b[i].19-1];1m;1k"v":y+=b[i][b[i].19-1];1m;2S:x+=b[i][b[i].19-2];y+=b[i][b[i].19-1]}}b.1G=a.1G;17 b};11 D=14(a){11 b=[];13(1u a=="2j"){a=R.32(a)}11 x=0,y=0,2A=0;13(a[0][0]=="M"){x=+a[0][1];y=+a[0][2];2A++;b[0]=a[0]}1n(11 i=2A,1q=a.19;i&lt;1q;i++){b[i]=[];13(a[i][0]!=(a[i][0]+"").33()){b[i][0]=(a[i][0]+"").33();2k(b[i][0]){1k"A":b[i][1]=a[i][1];b[i][2]=a[i][2];b[i][3]=0;b[i][4]=a[i][4];b[i][5]=a[i][5];b[i][6]=+(a[i][6]+x).1L(3);b[i][7]=+(a[i][7]+y).1L(3);1m;1k"V":b[i][1]=+a[i][1]+y;1m;2S:1n(11 j=1,21=a[i].19;j&lt;21;j++){b[i][j]=+a[i][j]+((j%2)?x:y)}}}1o{b[i]=a[i]}2k(b[i][0]){1k"Z":1m;1k"H":x=b[i][1];1m;1k"V":y=b[i][1];1m;2S:x=b[i][b[i].19-2];y=b[i][b[i].19-1]}}b.1G=a.1G;17 b};11 E=14(e,f){11 g=[D(2x.32(e)),D(2x.32(f))],15=[{x:0,y:0,bx:0,by:0,X:0,Y:0},{x:0,y:0,bx:0,by:0,X:0,Y:0}],4n=14(a,d){13(!a){17["U"]}2k(a[0]){1k"M":d.X=a[1];d.Y=a[2];1m;1k"S":11 b=d.x+(d.x-(d.bx||d.x));11 c=d.y+(d.y-(d.by||d.y));a=["C",b,c,a[1],a[2],a[3],a[4]];1m;1k"T":11 b=d.x+(d.x-(d.bx||d.x));11 c=d.y+(d.y-(d.by||d.y));a=["Q",b,c,a[1],a[2]];1m;1k"H":a=["L",a[1],d.y];1m;1k"V":a=["L",d.x,a[1]];1m;1k"Z":a=["L",d.X,d.Y];1m}17 a},4o=14(a,b,i){13(g[a][i][0]=="M"&amp;&amp;g[b][i][0]!="M"){g[b].2t(i,0,["M",15[b].x,15[b].y]);15[a].bx=g[a][i][g[a][i].19-4]||0;15[a].by=g[a][i][g[a][i].19-3]||0;15[a].x=g[a][i][g[a][i].19-2];15[a].y=g[a][i][g[a][i].19-1];17 1Q}1o 13(g[a][i][0]=="L"&amp;&amp;g[b][i][0]=="C"){g[a][i]=["C",15[a].x,15[a].y,g[a][i][1],g[a][i][2],g[a][i][1],g[a][i][2]]}1o 13(g[a][i][0]=="L"&amp;&amp;g[b][i][0]=="Q"){g[a][i]=["Q",g[a][i][1],g[a][i][2],g[a][i][1],g[a][i][2]]}1o 13(g[a][i][0]=="Q"&amp;&amp;g[b][i][0]=="C"){11 x=g[b][i][g[b][i].19-2];11 y=g[b][i][g[b][i].19-1];g[b].2t(i+1,0,["Q",x,y,x,y]);g[a].2t(i,0,["C",15[a].x,15[a].y,15[a].x,15[a].y,15[a].x,15[a].y]);i++;15[b].bx=g[b][i][g[b][i].19-4]||0;15[b].by=g[b][i][g[b][i].19-3]||0;15[b].x=g[b][i][g[b][i].19-2];15[b].y=g[b][i][g[b][i].19-1];17 1Q}1o 13(g[a][i][0]=="A"&amp;&amp;g[b][i][0]=="C"){11 x=g[b][i][g[b][i].19-2];11 y=g[b][i][g[b][i].19-1];g[b].2t(i+1,0,["A",0,0,g[a][i][3],g[a][i][4],g[a][i][5],x,y]);g[a].2t(i,0,["C",15[a].x,15[a].y,15[a].x,15[a].y,15[a].x,15[a].y]);i++;15[b].bx=g[b][i][g[b][i].19-4]||0;15[b].by=g[b][i][g[b][i].19-3]||0;15[b].x=g[b][i][g[b][i].19-2];15[b].y=g[b][i][g[b][i].19-1];17 1Q}1o 13(g[a][i][0]=="U"){g[a][i][0]=g[b][i][0];1n(11 j=1,21=g[b][i].19;j&lt;21;j++){g[a][i][j]=(j%2)?15[a].x:15[a].y}}17 2B};1n(11 i=0;i&lt;1b.30(g[0].19,g[1].19);i++){g[0][i]=4n(g[0][i],15[0]);g[1][i]=4n(g[1][i],15[1]);13(g[0][i][0]!=g[1][i][0]&amp;&amp;(4o(0,1,i)||4o(1,0,i))){52}15[0].bx=g[0][i][g[0][i].19-4]||0;15[0].by=g[0][i][g[0][i].19-3]||0;15[0].x=g[0][i][g[0][i].19-2];15[0].y=g[0][i][g[0][i].19-1];15[1].bx=g[1][i][g[1][i].19-4]||0;15[1].by=g[1][i][g[1][i].19-3]||0;15[1].x=g[1][i][g[1][i].19-2];15[1].y=g[1][i][g[1][i].19-1]}17 g};11 F=14(a){13(1u a=="2j"){a=a.26(/\\s*\\-\\s*/);11 b=a.4p();13(b.2z()=="v"){b=90}1o 13(b.2z()=="h"){b=0}1o{b=1c(b,10)}b=-b;11 c={3B:b,1v:"53",1B:[],1C:[0,0,1b.aN(b*1b.54/3Y).1L(3),1b.aO(b*1b.54/3Y).1L(3)]};11 e=1/(1b.30(1b.3C(c.1C[2]),1b.3C(c.1C[3]))||1);c.1C[2]*=e;c.1C[3]*=e;13(c.1C[2]&lt;0){c.1C[0]=-c.1C[2];c.1C[2]=0}13(c.1C[3]&lt;0){c.1C[1]=-c.1C[3];c.1C[3]=0}c.1C[0]=c.1C[0].1L(3);c.1C[1]=c.1C[1].1L(3);c.1C[2]=c.1C[2].1L(3);c.1C[3]=c.1C[3].1L(3);1n(11 i=0,1q=a.19;i&lt;1q;i++){11 f={};11 g=a[i].3T(/^([^:]*):?([\\d\\.]*)/);f.2l=A(g[1]).23;g[2]&amp;&amp;(f.2m=g[2]+"%");c.1B.1V(f)}1n(11 i=1,1q=c.1B.19-1;i&lt;1q;i++){13(!c.1B[i].2m){11 h=1c(c.1B[i-1].2m||0,10),34=2B;1n(11 j=i+1;j&lt;1q;j++){13(c.1B[j].2m){34=c.1B[j].2m;1m}}13(!34){34=2C;j=1q}34=1c(34,10);11 d=(34-h)/(j-i+1);1n(;i&lt;j;i++){h+=d;c.1B[i].2m=h+"%"}}}17 c}1o{17 a}};13(R.2f){11 G=14(g,h,j){11 k=1w.2b(j.27,"1l");k.1f("1x","1U");13(j.1r){j.1r.1t(k)}11 p=1W M(k,j);p.1h=1Q;p.1v="1l";p.1a={x:0,y:0,bx:0,by:0};p.3l=14(){9.1h=1Q;17 9};p.3Z=14(){9.1h=2B;17 9};p.4q=14(x,y){11 d=9.1h?"M":"m";d+=1c(x,10).1L(3)+" "+1c(y,10).1L(3)+" ";11 a=9[0].2T("d")||"";(a=="4h,0")&amp;&amp;(a="");9[0].1f("d",a+d);9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.15.1l=a+d;17 9};p.35=14(x,y){9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);11 d=9.1h?"L":"l";d+=1c(x,10).1L(3)+" "+1c(y,10).1L(3)+" ";11 a=9[0].2T("d")||"";9[0].1f("d",a+d);9.15.1l=a+d;17 9};p.4r=14(a,b,c,e,x,y){11 d=9.1h?"A":"a";d+=[1c(a,10).1L(3),1c(b,10).1L(3),0,c,e,1c(x,10).1L(3),1c(y,10).1L(3)].1K(" ");11 f=9[0].2T("d")||"";9[0].1f("d",f+d);9.1a.x=1c(x,10);9.1a.y=1c(y,10);9.15.1l=f+d;17 9};p.56=14(a,b,c){13(!c){17 9.35(a,b)}1o{11 p={};11 x=1c(a,10);11 y=1c(b,10);11 w=1c(c,10);11 d=9.1h?"C":"c";11 e=[+9.1a.x+w,+9.1a.y,x-w,y,x,y];1n(11 i=0,1q=e.19;i&lt;1q;i++){d+=e[i].1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+e[4];9.1a.y=(9.1h?0:9.1a.y)+e[5];9.1a.bx=e[2];9.1a.by=e[3];11 f=9[0].2T("d")||"";9[0].1f("d",f+d);9.15.1l=f+d;17 9}};p.1O=14(){11 p={},40=[0,1,2,3,"s",5,"c"];11 d=40[18.19];13(9.1h){d=d.33()}1n(11 i=0,1q=18.19;i&lt;1q;i++){d+=1c(18[i],10).1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+1c(18[18.19-2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[18.19-1],10);9.1a.bx=1c(18[18.19-4],10);9.1a.by=1c(18[18.19-3],10);11 a=9.1e.2T("d")||"";9.1e.1f("d",a+d);9.15.1l=a+d;17 9};p.41=14(){11 p={},40=[0,1,"t",3,"q"];11 d=40[18.19];13(9.1h){d=d.33()}1n(11 i=0,1q=18.19;i&lt;1q;i++){d+=1c(18[i],10).1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+1c(18[18.19-2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[18.19-1],10);13(18.19!=2){9.1a.3m=1c(18[18.19-4],10);9.1a.3n=1c(18[18.19-3],10)}11 a=9.1e.2T("d")||"";9.1e.1f("d",a+d);9.15.1l=a+d;17 9};p.58=14(r,a){11 R=.59*r,2D=9.1h,o=9;13(2D){9.3Z();2D=14(){o.3l()}}1o{2D=14(){}}11 b={l:14(){17{u:14(){o.1O(-R,0,-r,-(r-R),-r,-r)},d:14(){o.1O(-R,0,-r,r-R,-r,r)}}},r:14(){17{u:14(){o.1O(R,0,r,-(r-R),r,-r)},d:14(){o.1O(R,0,r,r-R,r,r)}}},u:14(){17{r:14(){o.1O(0,-R,-(R-r),-r,r,-r)},l:14(){o.1O(0,-R,R-r,-r,-r,-r)}}},d:14(){17{r:14(){o.1O(0,R,-(R-r),r,r,r)},l:14(){o.1O(0,R,R-r,r,-r,r)}}}};b[a[0]]()[a[1]]();2D();17 o};p.4s=14(){11 a=9[0].2T("d")||"";9[0].1f("d",a+"Z ");9.15.1l=a+"Z ";17 9};13(h){p.15.1l=""+h;p.3l();v.3D(p,p.15.1l)}13(g){J(p,g)}17 p};11 H=14(o,a,b){a=F(a);11 c=1w.2b(b.27,(a.1v||"53")+"aP");c.2U="5a-2g-"+2x.4f++;13(a.1C&amp;&amp;a.1C.19){c.1f("aQ",a.1C[0]);c.1f("3E",a.1C[1]);c.1f("aR",a.1C[2]);c.1f("aS",a.1C[3])}b.3F.1t(c);11 d=1Q;1n(11 i=0,1q=a.1B.19;i&lt;1q;i++){11 e=1w.2b(b.27,"3o");13(a.1B[i].2m){d=2B}e.1f("2m",a.1B[i].2m?a.1B[i].2m:(i==0)?"0%":"2C%");e.1f("3o-2l",A(a.1B[i].2l).23||"#4g");c.1t(e)};13(d&amp;&amp;1u a.1B[1q-1].1p!="1N"){e.1f("3o-1p",a.1B[1q-1].1p)}o.1f("1x","36(#"+c.2U+")");o.1s.1p=1;o.1s.5b=1;o.1f("1p",1);o.1f("1x-1p",1)};11 I=14(o){13(o.3G){11 a=o.1e.37();o.3G.1f("aT","38("+[a.x,a.y].1K(",")+")")}};11 J=14(o,c){11 d={"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},4t=14(o,a){a=d[a.1G().2z()];13(a){11 b=o.15["1i-1d"]||"1",3j={1j:b,4u:b,3j:0}[o.15["1i-2Z"]||c["1i-2Z"]]||0,4v=[];1n(11 i=0,1q=a.19;i&lt;1q;i++){4v.1V(a[i]*b+((i%2)?1:-1)*3j)}a=4v.1K(",");o.1e.1f("1i-2J",a)}};1n(11 e 1E c){11 f=c[e];o.15[e]=f;2k(e){1k"1l":13(o.1v=="1l"){o.1e.1f("d","4h,0");v.3D(o,f)}1k"2h":1k"cx":1k"x":o.1e.1f(e,f);I(o);1m;1k"2i":1k"1J":1k"y":o.1e.1f(e,f);I(o);1m;1k"1d":o.1e.1f(e,f);1m;1k"1g":o.1e.1f(e,f);1m;1k"2I":13(o.1v=="2n"){o.1e.4w(2f.3H,"4x",f)}1m;1k"1i-1d":o.1e.1s.aU=f;o.1e.1f(e,f);13(o.15["1i-2J"]){4t(o,o.15["1i-2J"])}1m;1k"1i-2J":4t(o,f);1m;1k"2R":o.3I(f,1Q);1m;1k"2K":11 g=(f+"").26(u);o.38((+g[0]+1||2)-1,(+g[1]+1||2)-1);1m;1k"2H":11 g=(f+"").26(u);o.2H(+g[0]||1,+g[1]||+g[0]||1);1m;1k"1x":11 h=f.3T(/^36\\(([^\\)]+)\\)$/i);13(h){11 j=1w.2b(o.2f.27,"3G");11 k=1w.2b(o.2f.27,"2n");j.2U="5a-3G-"+2x.4f++;j.1f("x",0);j.1f("y",0);j.1f("aV","aW");k.1f("x",0);k.1f("y",0);k.4w(o.2f.3H,"4x",h[1]);j.1t(k);11 l=1w.3p("aX");l.1s.2V="39";l.1s.1P="-5c";l.1s.2c="-5c";l.aY=14(){j.1f("1d",9.4y);j.1f("1g",9.4z);k.1f("1d",9.4y);k.1f("1g",9.4z);1w.42.2u(9);v.3J()};1w.42.1t(l);l.2I=h[1];o.2f.3F.1t(j);o.1e.1s.1x="36(#"+j.2U+")";o.1e.1f("1x","36(#"+j.2U+")");o.3G=j;I(o);1m}43 c.2g;43 o.15.2g;13(1u o.15.1p!="1N"&amp;&amp;1u c.1p=="1N"){o.1e.1s.1p=o.15.1p;o.1e.1f("1p",o.15.1p)}13(1u o.15["1x-1p"]!="1N"&amp;&amp;1u c["1x-1p"]=="1N"){o.1e.1s.5b=o.15["1x-1p"];o.1e.1f("1x-1p",o.15["1x-1p"])}1k"1i":o.1e.1s[e]=A(f).23;o.1e.1f(e,A(f).23);1m;1k"2g":H(o.1e,f,o.2f);1m;1k"1p":1k"1x-1p":13(o.15.2g){11 m=1w.4A(o.1e.2T("1x").3W(/^36\\(#|\\)$/g,""));13(m){11 n=m.3a("3o");n[n.19-1].1f("3o-1p",f)}1m}2S:11 p=e.3W(/(\\-.)/g,14(w){17 w.2s(1).33()});o.1e.1s[p]=f;o.1e.1f(e,f);1m}}L(o,c)};11 K=1.2;11 L=14(a,b){13(a.1v!="1R"||!("1R"1E b||"1z"1E b||"1z-2G"1E b||"x"1E b)){17}11 c=a.1e.2d?31(1w.aZ.b0(a.1e.2d,"").b1("1z-2G"),10):10;11 d=0;13("1R"1E b){4k(a.1e.2d){a.1e.2u(a.1e.2d)}11 e=(b.1R+"").26("\\n");1n(11 i=0,1q=e.19;i&lt;1q;i++){11 f=1w.2b(a.2f.27,"5d");i&amp;&amp;f.1f("2N",c*K);i&amp;&amp;f.1f("x",a.15.x);f.1t(1w.b2(e[i]));a.1e.1t(f);d+=c*K}}1o{11 e=a.1e.3a("5d");1n(11 i=0,1q=e.19;i&lt;1q;i++){i&amp;&amp;e[i].1f("2N",c*K);i&amp;&amp;e[i].1f("x",a.15.x);d+=c*K}}d-=c*(K-1);11 g=d/2-c;13(g){a.1e.1f("y",a.15.y-g)}4B(14(){})};11 M=14(a,b){11 X=0,Y=0;9[0]=a;9.1e=a;9.2f=b;9.15=9.15||{};9.2E=[];9.1A={44:0,45:0,28:{2v:0,x:0,y:0},2O:1,2W:1}};M.1y.3I=14(a,b,c){13(a==24){17 9.1A.28.2v}11 d=9.37();a=a.1G().26(u);13(a.19-1){b=1c(a[1],10);c=1c(a[2],10)}a=1c(a[0],10);13(b!=24){9.1A.28.2v=a}1o{9.1A.28.2v+=a}13(c==24){b=24}b=b==24?d.x+d.1d/2:b;c=c==24?d.y+d.1g/2:c;13(9.1A.28.2v){9.2E[0]=("3I("+9.1A.28.2v+" "+b+" "+c+")")}1o{9.2E[0]=""}9.1e.1f("4C",9.2E.1K(" "));17 9};M.1y.5e=14(){9.1e.1s.46="1U";17 9};M.1y.5f=14(){9.1e.1s.46="5g";17 9};M.1y.3K=14(){9.1e.1F.2u(9.1e)};M.1y.37=14(){17 9.1e.37()};M.1y.1D=14(){13(18.19==1&amp;&amp;1u 18[0]=="2j"){13(18[0]=="2K"){17 9.38()}17 9.15[18[0]]}13(18.19==1&amp;&amp;18[0]5h 3b){11 a={};1n(11 j 1E 18[0]){a[18[0][j]]=9.15[18[0][j]]}17 a}13(18.19==2){11 b={};b[18[0]]=18[1];J(9,b)}1o 13(18.19==1&amp;&amp;1u 18[0]=="3k"){J(9,18[0])}17 9};M.1y.5i=14(){9.1e.1F.1t(9.1e);17 9};M.1y.5j=14(){13(9.1e.1F.2d!=9.1e){9.1e.1F.2F(9.1e,9.1e.1F.2d)}17 9};M.1y.5k=14(a){13(a.1e.47){a.1e.1F.2F(9.1e,a.1e.47)}1o{a.1e.1F.1t(9.1e)}17 9};M.1y.2F=14(a){a.1e.1F.2F(9.1e,a.1e);17 9};11 N=14(a,x,y,r){11 b=1w.2b(a.27,"3c");b.1f("cx",x);b.1f("1J",y);b.1f("r",r);b.1f("1x","1U");b.1f("1i","#22");13(a.1r){a.1r.1t(b)}11 c=1W M(b,a);c.15=c.15||{};c.15.cx=x;c.15.1J=y;c.15.r=r;c.15.1i="#22";c.1v="3c";17 c};11 O=14(a,x,y,w,h,r){11 b=1w.2b(a.27,"2o");b.1f("x",x);b.1f("y",y);b.1f("1d",w);b.1f("1g",h);13(r){b.1f("2h",r);b.1f("2i",r)}b.1f("1x","1U");b.1f("1i","#22");13(a.1r){a.1r.1t(b)}11 c=1W M(b,a);c.15=c.15||{};c.15.x=x;c.15.y=y;c.15.1d=w;c.15.1g=h;c.15.1i="#22";13(r){c.15.2h=c.15.2i=r}c.1v="2o";17 c};11 P=14(a,x,y,b,c){11 d=1w.2b(a.27,"3d");d.1f("cx",x);d.1f("1J",y);d.1f("2h",b);d.1f("2i",c);d.1f("1x","1U");d.1f("1i","#22");13(a.1r){a.1r.1t(d)}11 e=1W M(d,a);e.15=e.15||{};e.15.cx=x;e.15.1J=y;e.15.2h=b;e.15.2i=c;e.15.1i="#22";e.1v="3d";17 e};11 Q=14(a,b,x,y,w,h){11 c=1w.2b(a.27,"2n");c.1f("x",x);c.1f("y",y);c.1f("1d",w);c.1f("1g",h);c.1f("b3","1U");c.4w(a.3H,"4x",b);13(a.1r){a.1r.1t(c)}11 d=1W M(c,a);d.15=d.15||{};d.15.x=x;d.15.y=y;d.15.1d=w;d.15.1g=h;d.1v="2n";17 d};11 S=14(a,x,y,b){11 c=1w.2b(a.27,"1R");c.1f("x",x);c.1f("y",y);c.1f("1R-b4","b5");13(a.1r){a.1r.1t(c)}11 d=1W M(c,a);d.15=d.15||{};d.15.x=x;d.15.y=y;d.1v="1R";J(d,{1z:z.1z,1i:"1U",1x:"#22",1R:b});17 d};11 T=14(a){11 b=1w.2b(a.27,"g");13(a.1r){a.1r.1t(b)}11 i=1W M(b,a);1n(11 f 1E a){13(f[0]!="1A"&amp;&amp;1u a[f]=="14"){i[f]=(14(f){17 14(){11 e=a[f].2e(a,18);b.1t(e[0]);17 e}})(f)}}i.1v="2P";17 i};11 U=14(a,b){9.1d=a||9.1d;9.1g=b||9.1g;9.1r.1f("1d",9.1d);9.1r.1f("1g",9.1g);17 9};11 V=14(){13(1u 18[0]=="2j"){11 a=1w.4A(18[0]);11 b=18[1];11 c=18[2]}13(1u 18[0]=="3k"){11 a=18[0];11 b=18[1];11 c=18[2]}13(1u 18[0]=="1T"){11 a=1,x=18[0],y=18[1],b=18[2],c=18[3]}13(!a){5l 1W 5m("4e 5n 5o 5p.");}v.1r=1w.2b(v.27,"2f");v.1r.1f("1d",b||5q);v.1d=b||5q;v.1r.1f("1g",c||5r);v.1g=c||5r;13(a==1){1w.42.1t(v.1r);v.1r.1s.2V="39";v.1r.1s.2c=x+"1H";v.1r.1s.1P=y+"1H"}1o{13(a.2d){a.2F(v.1r,a.2d)}1o{a.1t(v.1r)}}a={1r:v.1r,4D:14(){4k(9.1r.2d){9.1r.2u(9.1r.2d)}9.3F=1w.2b(v.27,"3F");9.1r.1t(9.3F)}};1n(11 d 1E v){13(d!="b6"){a[d]=v[d]}}1n(11 d 1E R.3w){13(!a[d]){a[d]=R.3w[d]}}a.4D();17 a};v.3K=14(){9.1r.1F.2u(9.1r)};v.27="5s://5t.5u.5v/b7/2f";v.3H="5s://5t.5u.5v/b8/3H";v.3J=14(){13(b9.bd=="be bf, bg."){11 a=9.2o(-9.1d,-9.1g,9.1d*3,9.1g*3).1D({1i:"1U"});4B(14(){a.3K()},0)}}}13(R.2a){G=14(i,j,l){11 g=Z("2P"),3q=g.1s;3q.2V="39";3q.2c=0;3q.1P=0;3q.1d=l.1d+"1H";3q.1g=l.1g+"1H";11 m=Z("2w"),3r=m.1s;3r.1d=l.1d+"1H";3r.1g=l.1g+"1H";m.1l="";13(i["48"]){m.bh="3e "+i["48"]}m.3s=9.3s;m.3L=9.3L;g.1t(m);l.1r.1t(g);11 p=1W M(m,g,l);p.1h=1Q;p.1v="1l";p.1l=[];p.1a={x:0,y:0,bx:0,by:0,1h:1Q};p.2Q="";p.3l=14(){9.1h=1Q;17 9};p.3Z=14(){9.1h=2B;17 9};p.4q=14(x,y){11 d=9.1h?"m":"t";d+=1b.1j(1c(x,10))+" "+1b.1j(1c(y,10));9.1e.1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"M":"m")+[x,y];17 9};p.35=14(x,y){11 d=9.1h?"l":"r";d+=1b.1j(1c(x,10))+" "+1b.1j(1c(y,10));9[0].1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"L":"l")+[x,y];17 9};p.4r=14(a,b,c,e,f,g){f=(9.1h?0:9.1a.x)+f;g=(9.1h?0:9.1a.y)+g;11 h=9.1a.x,3E=9.1a.y,x=(h-f)/2,y=(3E-g)/2,k=(c==e?-1:1)*1b.bi(1b.3C(a*a*b*b-a*a*y*y-b*b*x*x)/(a*a*y*y+b*b*x*x)),cx=k*a*y/b+(h+f)/2,1J=k*-b*x/a+(3E+g)/2,d=e?(9.1h?"bj":"bk"):(9.1h?"at":"ar"),2c=1b.1j(cx-a),1P=1b.1j(1J-b);d+=[2c,1P,1b.1j(2c+a*2),1b.1j(1P+b*2),1b.1j(h),1b.1j(3E),1b.1j(1c(f,10)),1b.1j(1c(g,10))].1K(", ");9.1e.1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(f,10);9.1a.y=(9.1h?0:9.1a.y)+1c(g,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"A":"a")+[a,b,0,c,e,f,g];17 9};p.56=14(a,b,c){13(!c){17 9.35(a,b)}1o{11 x=1b.1j(1b.1j(1c(a,10)*2C)/2C),y=1b.1j(1b.1j(1c(b,10)*2C)/2C),w=1b.1j(1b.1j(1c(c,10)*2C)/2C),d=9.1h?"c":"v",1D=[1b.1j(9.1a.x)+w,1b.1j(9.1a.y),x-w,y,x,y],5w=[9.1a.x+c,9.1a.y,a-c,b,a,b];d+=1D.1K(" ")+" ";9.1a.x=(9.1h?0:9.1a.x)+1D[4];9.1a.y=(9.1h?0:9.1a.y)+1D[5];9.1a.bx=1D[2];9.1a.by=1D[3];9.1e.1l=9.2Q+=d;9.15.1l+=(9.1h?"C":"c")+5w;17 9}};p.1O=14(){11 d=9.1h?"c":"v";13(18.19==6){9.1a.bx=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.by=(9.1h?0:9.1a.y)+1c(18[3],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[4],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[5],10);d+=[1b.1j(1c(18[0],10)),1b.1j(1c(18[1],10)),1b.1j(1c(18[2],10)),1b.1j(1c(18[3],10)),1b.1j(1c(18[4],10)),1b.1j(1c(18[5],10))].1K(" ")+" ";9.1a.1h=9.1h;9.15.1l+=(9.1h?"C":"c")+3b.1y.2t.2X(18,0,18.19)}13(18.19==4){11 a=9.1a.x*2-9.1a.bx;11 b=9.1a.y*2-9.1a.by;9.1a.bx=(9.1h?0:9.1a.x)+1c(18[0],10);9.1a.by=(9.1h?0:9.1a.y)+1c(18[1],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(a),1b.1j(b),1b.1j(1c(18[0],10)),1b.1j(1c(18[1],10)),1b.1j(1c(18[2],10)),1b.1j(1c(18[3],10))].1K(" ")+" ";9.15.1l+=(9.1h?"S":"s")+3b.1y.2t.2X(18,0,18.19)}9.1e.1l=9.2Q+=d;17 9};p.41=14(){11 d="bl";13(18.19==4){9.1a.3m=(9.1h?0:9.1a.x)+1c(18[0],10);9.1a.3n=(9.1h?0:9.1a.y)+1c(18[1],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(9.1a.3m),1b.1j(9.1a.3n),1b.1j(9.1a.x),1b.1j(9.1a.y)].1K(" ")+" ";9.1a.1h=9.1h;9.15.1l+=(9.1h?"Q":"q")+3b.1y.2t.2X(18,0,18.19)}13(18.19==2){9.1a.3m=9.1a.x*2-9.1a.3m;9.1a.3n=9.1a.y*2-9.1a.3n;9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(9.1a.3m),1b.1j(9.1a.3n),1b.1j(9.1a.x),1b.1j(9.1a.y)].1K(" ")+" ";9.15.1l+=(9.1h?"T":"t")+3b.1y.2t.2X(18,0,18.19)}9.1e.1l=9.2Q+=d;9.1l.1V({1v:"bm",bn:[].bo.2X(18,0),bp:9.1h});17 9};p.58=14(r,a){11 R=.59*r,2D=9.1h,o=9;13(2D){9.3Z();2D=14(){o.3l()}}1o{2D=14(){}}11 b={l:14(){17{u:14(){o.1O(-R,0,-r,-(r-R),-r,-r)},d:14(){o.1O(-R,0,-r,r-R,-r,r)}}},r:14(){17{u:14(){o.1O(R,0,r,-(r-R),r,-r)},d:14(){o.1O(R,0,r,r-R,r,r)}}},u:14(){17{r:14(){o.1O(0,-R,-(R-r),-r,r,-r)},l:14(){o.1O(0,-R,R-r,-r,-r,-r)}}},d:14(){17{r:14(){o.1O(0,R,-(R-r),r,r,r)},l:14(){o.1O(0,R,R-r,r,-r,r)}}}};b[a.5x(0)]()[a.5x(1)]();2D();17 o};p.4s=14(){9.1e.1l=(9.2Q+="x e");9.15.1l+="z";17 9};13(j){p.3l();p.15.1l="";v.3D(p,""+j)}J(p,i);13(i.2g){H(p,i.2g)}17 p};11 J=14(o,a){11 s=o.1e.1s,1I=o;o.15=o.15||{};1n(11 b 1E a){o.15[b]=a[b]}13(a.1l&amp;&amp;o.1v=="1l"){o.2Q="";o.1l=[];v.3D(o,a.1l)}13(a.2R!=24){o.3I(a.2R,1Q)}13(a.2K){11 c=(a.2K+"").26(u);o.38(c[0],c[1])}13(a.2H){11 c=(a.2H+"").26(u);o.2H(c[0],c[1])}13(o.1v=="2n"&amp;&amp;a.2I){o.1e.2I=a.2I}13(o.1v=="2n"&amp;&amp;a.1p){o.1e.49=" 5y:5z.5A.bq(1p="+(a.1p*2C)+")";o.1e.1s.4E=(o.1e.3M||"")+(o.1e.49||"")}a.1z&amp;&amp;(s.1z=a.1z);a["1z-3x"]&amp;&amp;(s.5B=a["1z-3x"]);a["1z-2G"]&amp;&amp;(s.5C=a["1z-2G"]);a["1z-3N"]&amp;&amp;(s.5D=a["1z-3N"]);a["1z-1s"]&amp;&amp;(s.5E=a["1z-1s"]);13(1u a.1p!="1N"||1u a["1i-1d"]!="1N"||1u a.1x!="1N"||1u a.1i!="1N"||a["1i-1d"]||a["1i-1p"]||a["1i-2J"]||a["1i-3z"]||a["1i-3y"]||a["1i-2Z"]){o=o.2w||o.1e;11 d=(o.3a("1x")&amp;&amp;o.3a("1x")[0])||Z("1x");13("1x-1p"1E a||"1p"1E a){d.1p=((+a["1x-1p"]+1||2)-1)*((+a.1p+1||2)-1)}13(a.1x){d.2p=1Q}13(1u d.2p=="1N"||a.1x=="1U"){d.2p=2B}13(d.2p&amp;&amp;a.1x){11 e=a.1x.3T(/^36\\(([^\\)]+)\\)$/i);13(e){d.2I=e[1];d.1v="br"}1o{d.2l=A(a.1x).23;d.2I="";d.1v="bt"}}o.1t(d);11 f=(o.3a("1i")&amp;&amp;o.3a("1i")[0])||Z("1i");13((a.1i&amp;&amp;a.1i!="1U")||a["1i-1d"]||1u a["1i-1p"]!="1N"||a["1i-2J"]||a["1i-3z"]||a["1i-3y"]||a["1i-2Z"]){f.2p=1Q}13(a.1i=="1U"||1u f.2p=="1N"||a.1i==0){f.2p=2B}13(f.2p&amp;&amp;a.1i){f.2l=A(a.1i).23}f.1p=((+a["1i-1p"]+1||2)-1)*((+a.1p+1||2)-1);a["1i-3y"]&amp;&amp;(f.bu=a["1i-3y"]||"5F");f.3z=a["1i-3z"]||8;a["1i-2Z"]&amp;&amp;(f.bv={3j:"bw",4u:"4u",1j:"1j"}[a["1i-2Z"]]||"5F");a["1i-1d"]&amp;&amp;(f.3N=(1c(a["1i-1d"],10)||1)*12/16);13(a["1i-2J"]){11 g={"-":"bz",".":"bA","-.":"bB","-..":"bC",". ":"bD","- ":"bE","--":"bF","- .":"bG","--.":"bH","--..":"bI"};f.bJ=g[a["1i-2J"]]||""}o.1t(f)}13(1I.1v=="1R"){11 h=1w.3p("bK"),s=h.1s;1I.15.1z&amp;&amp;(s.1z=1I.15.1z);1I.15["1z-3x"]&amp;&amp;(s.5B=1I.15["1z-3x"]);1I.15["1z-2G"]&amp;&amp;(s.5C=1I.15["1z-2G"]);1I.15["1z-3N"]&amp;&amp;(s.5D=1I.15["1z-3N"]);1I.15["1z-1s"]&amp;&amp;(s.5E=1I.15["1z-1s"]);1I.1e.1F.1t(h);h.bL=1I.1e.2j;1I.W=1I.15.w=h.4y;1I.H=1I.15.h=h.4z;1I.X=1I.15.x-1b.1j(1I.W/2);1I.Y=1I.15.y-1b.1j(1I.H/2);1I.1e.1F.2u(h)}};11 W=14(a,b,c,d){11 e=1b.1j(1b.bM((1c(c,10)-1c(a,10))/(1c(d,10)-1c(b,10)))*57.29)||0;13(!e&amp;&amp;1c(a,10)&lt;1c(b,10)){e=3Y}e-=3Y;13(e&lt;0){e+=5G}17 e};11 H=14(o,a){a=F(a);o.15=o.15||{};11 b=o.15;o.15.2g=a;o=o.2w||o[0];11 c=o.3a("1x");13(c.19){c=c[0]}1o{c=Z("1x")}13(a.1B.19){c.2p=1Q;c.bN="1U";c.1v=((a.1v+"").2z()=="5H")?"bO":"2g";13(1u a.1B[0].2l!="1N"){c.2l=A(a.1B[0].2l).23}13(1u a.1B[a.1B.19-1].2l!="1N"){c.bP=A(a.1B[a.1B.19-1].2l).23}11 d=[];1n(11 i=0,1q=a.1B.19;i&lt;1q;i++){13(a.1B[i].2m){d.1V(a.1B[i].2m+" "+A(a.1B[i].2l).23)}};11 e=1u a.1B[a.1B.19-1].1p=="1N"?(1u b.1p=="1N"?1:b.1p):a.1B[a.1B.19-1].1p;13(d.19){c.5I.5J=d.1K(",");e=1u b.1p=="1N"?1:b.1p}1o{c.5I.5J="0% "+c.2l}c.1p=e;13(1u a.3B!="1N"){c.3B=(-a.3B+bQ)%5G}1o 13(a.1C){c.3B=W.2e(24,a.1C)}13((a.1v+"").2z()=="5H"){c.bR="2C%";c.bS="0.5 0.5"}}};11 M=14(a,b,c){11 d=0,bT=0,bU=0,bV=1;9[0]=a;9.1e=a;9.X=0;9.Y=0;9.15={};9.1M=b;9.2a=c;9.1A={44:0,45:0,28:{2v:0},2O:1,2W:1}};M.1y.3I=14(a,b,c){13(a==24){17 9.1A.28.2v}a=a.1G().26(u);13(a.19-1){b=1c(a[1],10);c=1c(a[2],10)}a=1c(a[0],10);13(c==24){b=24}13(b!=24){9.1A.28.2v=a}1o{9.1A.28.2v+=a}9.1A.28.cx=b;9.1A.28.1J=c;9.3f(24,b,c);9.1M.1s.2R=9.1A.28.2v;17 9};M.1y.3f=14(a,b,c){11 d=9.1M.1s,3g=(9.2w&amp;&amp;9.2w.1s)||9.1e.1s;1n(11 i 1E a){9.15[i]=a[i]}b=b||9.1A.28.cx;c=c||9.1A.28.1J;11 e=9.15,x,y,w,h;2k(9.1v){1k"3c":x=e.cx-e.r;y=e.1J-e.r;w=h=e.r*2;1m;1k"3d":x=e.cx-e.2h;y=e.1J-e.2i;w=e.2h*2;h=e.2i*2;1m;1k"2o":1k"2n":x=e.x;y=e.y;w=e.1d||0;h=e.1g||0;1m;1k"1R":9.4F.v=["m",1b.1j(e.x),", ",1b.1j(e.y-2),"l",1b.1j(e.x)+1,", ",1b.1j(e.y-2)].1K("");x=e.x-1b.1j(9.W/2);y=e.y-9.H/2;w=9.W;h=9.H;1m;1k"1l":13(!9.15.1l){x=0;y=0;w=9.2a.1d;h=9.2a.1g}1o{11 f=B(9.15.1l),x=f.x;y=f.y;w=f.1d;h=f.1g}1m;2S:x=0;y=0;w=9.2a.1d;h=9.2a.1g;1m}b=(b==24)?x+w/2:b;c=(c==24)?y+h/2:c;11 g=b-9.2a.1d/2,1P=c-9.2a.1g/2;13(9.1v=="1l"||9.1v=="1R"){d.2c=g+"1H";d.1P=1P+"1H";9.X=9.1v=="1R"?x:-g;9.Y=9.1v=="1R"?y:-1P;9.W=w;9.H=h;3g.2c=-g+"1H";3g.1P=-1P+"1H"}1o{d.2c=g+"1H";d.1P=1P+"1H";9.X=x;9.Y=y;9.W=w;9.H=h;d.1d=9.2a.1d+"1H";d.1g=9.2a.1g+"1H";3g.2c=x-g+"1H";3g.1P=y-1P+"1H";3g.1d=w+"1H";3g.1g=h+"1H"}};M.1y.5e=14(){9.1M.1s.46="1U";17 9};M.1y.5f=14(){9.1M.1s.46="5g";17 9};M.1y.37=14(){17{x:9.X,y:9.Y,1d:9.W,1g:9.H}};M.1y.3K=14(){9[0].1F.2u(9[0]);9.1M.1F.2u(9.1M);9.2w&amp;&amp;9.2w.1F.2u(9.2w)};M.1y.1D=14(){13(18.19==1&amp;&amp;1u 18[0]=="2j"){13(18[0]=="2K"){17 9.38()}17 9.15[18[0]]}13(9.15&amp;&amp;18.19==1&amp;&amp;18[0]5h 3b){11 a={};1n(11 i=0,1q=18[0].19;i&lt;1q;i++){a[18[0][i]]=9.15[18[0][i]]};17 a}11 b;13(18.19==2){b={};b[18[0]]=18[1]}13(18.19==1&amp;&amp;1u 18[0]=="3k"){b=18[0]}13(b){13(b.2g){H(9,b.2g)}13(b.1R&amp;&amp;9.1v=="1R"){9.1e.2j=b.1R}13(b.2U){9.1e.2U=b.2U}J(9,b);9.3f(b)}17 9};M.1y.5i=14(){9.1M.1F.1t(9.1M);17 9};M.1y.5j=14(){13(9.1M.1F.2d!=9.1M){9.1M.1F.2F(9.1M,9.1M.1F.2d)}17 9};M.1y.5k=14(a){13(a.1M.47){a.1M.1F.2F(9.1M,a.1M.47)}1o{a.1M.1F.1t(9.1M)}17 9};M.1y.2F=14(a){a.1M.1F.2F(9.1M,a.1M);17 9};11 N=14(a,x,y,r){11 g=Z("2P");11 o=Z("5K");g.1t(o);a.1r.1t(g);11 b=1W M(o,g,a);b.1v="3c";J(b,{1i:"#22",1x:"1U"});b.15.cx=x;b.15.1J=y;b.15.r=r;b.3f({x:x-r,y:y-r,1d:r*2,1g:r*2});17 b};11 O=14(a,x,y,w,h,r){11 g=Z("2P");11 o=Z(r?"bW":"2o");13(r){o.bX=r/(1b.2M(w,h))}g.1t(o);a.1r.1t(g);11 b=1W M(o,g,a);b.1v="2o";J(b,{1i:"#22"});b.15.x=x;b.15.y=y;b.15.w=w;b.15.h=h;b.15.r=r;b.3f({x:x,y:y,1d:w,1g:h});17 b};11 P=14(a,x,y,b,c){11 g=Z("2P");11 o=Z("5K");g.1t(o);a.1r.1t(g);11 d=1W M(o,g,a);d.1v="3d";J(d,{1i:"#22"});d.15.cx=x;d.15.1J=y;d.15.2h=b;d.15.2i=c;d.3f({x:x-b,y:y-c,1d:b*2,1g:c*2});17 d};11 Q=14(a,b,x,y,w,h){11 g=Z("2P");11 o=Z("2n");o.2I=b;g.1t(o);a.1r.1t(g);11 c=1W M(o,g,a);c.1v="2n";c.15.x=x;c.15.y=y;c.15.w=w;c.15.h=h;c.3f({x:x,y:y,1d:w,1g:h});17 c};11 S=14(a,x,y,b){11 g=Z("2P"),3t=g.1s;11 c=Z("2w"),3r=c.1s;11 d=Z("1l"),bY=d.1s;d.v=["m",1b.1j(x),", ",1b.1j(y-2),"l",1b.1j(x)+1,", ",1b.1j(y-2)].1K("");d.bZ=1Q;3r.1d=a.1d;3r.1g=a.1g;3t.2V="39";3t.2c=0;3t.1P=0;3t.1d=a.1d;3t.1g=a.1g;11 o=Z("4F");o.2j=b;o.2p=1Q;o.3s=a.3s;o.3L=a.3L;c.1t(o);c.1t(d);g.1t(c);a.1r.1t(g);11 e=1W M(o,g,a);e.2w=c;e.4F=d;e.1v="1R";e.15.x=x;e.15.y=y;e.15.w=1;e.15.h=1;J(e,{1z:z.1z,1i:"1U",1x:"#22"});17 e};11 U=14(a,b){9.1d=a||9.1d;9.1g=b||9.1g;9.1r.1s.1d=9.1d+"1H";9.1r.1s.1g=9.1g+"1H";9.1r.1F.1s.5L="2o(0 "+9.1d+" "+9.1g+" 0)";9.1r.3s=9.1d+" "+9.1g;17 9};1w.c0().c1(".3e","c2:36(#2S#3P)");c3{13(!1w.5M.3e){1w.5M.c4("3e","5N:5O-5P-5Q:2a")}11 Z=14(a){17 1w.3p(\'&lt;3e:\'+a+\' 48="3e"&gt;\')}}c5(e){11 Z=14(a){17 1w.3p(\'&lt;\'+a+\' c6="5N:5O-5P.5Q:2a" 48="3e"&gt;\')}}11 V=14(){11 e,1d,1g;13(1u 18[0]=="2j"){e=1w.4A(18[0]);1d=18[1];1g=18[2]}13(1u 18[0]=="3k"){e=18[0];1d=18[1];1g=18[2]}13(1u 18[0]=="1T"){e=1;x=18[0];y=18[1];1d=18[2];1g=18[3]}13(!e){5l 1W 5m("3P 5n 5o 5p.");}11 c=1w.3p("5R"),d=1w.3p("5R"),r=v.1r=Z("2P"),cs=c.1s,3u=r.1s;v.1d=1d;v.1g=1g;1d=1d||"c7";1g=1g||"c8";cs.5L="2o(0 "+1d+"1H "+1g+"1H 0)";cs.1P="-5S";cs.2c="-5S";cs.2V="39";3u.2V="39";d.1s.2V="c9";3u.1d=1d;3u.1g=1g;r.3s=(/%$/.5T(1d)?1d:1c(1d,10))+" "+(/%$/.5T(1g)?1g:1c(1g,10));r.3L="0 0";11 b=Z("2o"),bs=b.1s;bs.2c=bs.1P=0;bs.1d=3u.1d;bs.1g=3u.1g;b.ca=b.cb="f";r.1t(b);c.1t(r);d.1t(c);13(e==1){1w.42.1t(d);cs.2V="39";cs.2c=x+"1H";cs.1P=y+"1H";cs.1d=1d;cs.1g=1g;e={1s:{1d:1d,1g:1g}}}1o{cs.1d=e.1s.1d=1d;cs.1g=e.1s.1g=1g;13(e.2d){e.2F(d,e.2d)}1o{e.1t(d)}}1n(11 f 1E v){e[f]=v[f]}1n(11 f 1E R.3w){13(!e[f]){e[f]=R.3w[f]}}e.4D=14(){11 a=[];1n(11 i=0,1q=r.4G.19;i&lt;1q;i++){13(r.4G[i]!=b){a.1V(r.4G[i])}}1n(i=0,1q=a.19;i&lt;1q;i++){r.2u(a[i])}};17 e};v.3K=14(){9.1r.1F.1F.1F.2u(9.1r.1F.1F)};v.3J=14(){}}11 ba=(14(){13(1w.5U){17 14(a,b,c,d){11 f=14(e){17 c.2X(d,e)};a.5U(b,f,2B);17 14(){a.cc(b,f,2B);17 1Q}}}1o 13(1w.4a){17 14(a,b,c,d){11 f=14(e){17 c.2X(d,e||3v.cd)};a.4a("2p"+b,f);11 g=14(){a.4H("2p"+b,f);17 1Q};13(b=="4R"){a.4a("5V",f);17 14(){a.4H("5V",f);17 g()}}1o 13(b=="4Q"){a.4a("5W",f);17 14(){a.4H("5W",f);17 g()}}17 g}}})();1n(11 i=1X.19;i--;){(14(b){M.1y[b]=14(a){13(1u a=="14"){9.1X=9.1X||{};9.1X[b]=9.1X[b]||{};9.1X[b][a]=9.1X[b][a]||[];9.1X[b][a].1V(ba(9.2w||9.1e,b,a,9))}17 9};M.1y["ce"+b]=14(a){9.1X&amp;&amp;9.1X[b]&amp;&amp;9.1X[b][a]&amp;&amp;9.1X[b][a].19&amp;&amp;9.1X[b][a].4p()()&amp;&amp;!9.1X[b][a].19&amp;&amp;43 9.1X[b][a]}})(1X[i])}v.3c=14(x,y,r){17 N(9,x,y,r)};v.2o=14(x,y,w,h,r){17 O(9,x,y,w,h,r)};v.3d=14(x,y,a,b){17 P(9,x,y,a,b)};v.1l=14(a,b){17 G(a,b,9)};v.2n=14(a,x,y,w,h){17 Q(9,a,x,y,w,h)};v.1R=14(x,y,a){17 S(9,x,y,a)};v.2P=14(){17 9};v.cf=14(x,y,w,h,a,b,c){c=c||"#22";11 d=["M",x,y,"L",x+w,y,x+w,y+h,x,y+h,x,y],4I=h/b,4J=w/a;1n(11 i=1;i&lt;b;i++){d=d.4l(["M",x,y+i*4I,"L",x+w,y+i*4I])}1n(11 i=1;i&lt;a;i++){d=d.4l(["M",x+i*4J,y,"L",x+i*4J,y+h])}17 9.1l({1i:c,"1i-1d":1},d.1K(","))};v.3D=14(p,g){11 h={M:14(x,y){9.4q(x,y)},C:14(a,b,c,d,e,f){9.1O(a,b,c,d,e,f)},Q:14(a,b,c,d){9.41(a,b,c,d)},T:14(x,y){9.41(x,y)},S:14(a,b,c,d){p.1O(a,b,c,d)},L:14(x,y){p.35(x,y)},H:14(x){9.35(x,9.1a.y)},V:14(y){9.35(9.1a.x,y)},A:14(a,b,c,d,e,x,y){9.4r(a,b,d,e,x,y)},Z:14(){9.4s()}};g=D(g);1n(11 i=0,1q=g.19;i&lt;1q;i++){11 b=g[i].4p();h[b].2e(p,g[i])}};v.3O=14(a){17 1W bb(a)};v.cg=U;M.1y.3o=14(){4K(9.4b)};M.1y.2H=14(x,y){13(x==1N&amp;&amp;y==1N){17{x:9.1A.2O,y:9.1A.2W}}y=y||x;ch(y)&amp;&amp;(y=x);11 a,2N,cx,1J;13(x!=0){11 b=1b.1j(x/1b.3C(x)),2q=1b.1j(y/1b.3C(y)),s=9.1e.1s;a=9.1D("x");2N=9.1D("y");cx=9.1D("cx");1J=9.1D("1J");13(b!=1||2q!=1){13(9.2E){9.2E[2]="2H("+[b,2q]+")";9.1e.1f("4C",9.2E.1K(" "));a=(b&lt;0)?-9.1D("x")-9.15.1d*x*b/9.1A.2O:9.1D("x");2N=(2q&lt;0)?-9.1D("y")-9.15.1g*y*2q/9.1A.2W:9.1D("y");cx=9.1D("cx")*b;1J=9.1D("1J")*2q}1o{9.1e.3M=" 5y:5z.5A.ci(cj="+b+", ck=0, cl=0, cm="+2q+", cn=0, co=0, cp=\'cq cr\', ct=\'cu\')";s.4E=(9.1e.3M||"")+(9.1e.49||"")}}1o{13(9.2E){9.2E[2]="";9.1e.1f("4C",9.2E.1K(" "))}1o{9.1e.3M="";s.4E=(9.1e.3M||"")+(9.1e.49||"")}}2k(9.1v){1k"2o":1k"2n":9.1D({1d:9.15.1d*x*b/9.1A.2O,1g:9.15.1g*y*2q/9.1A.2W,x:a,y:2N});1m;1k"3c":1k"3d":9.1D({2h:9.15.2h*x*b/9.1A.2O,2i:9.15.2i*y*2q/9.1A.2W,r:9.15.r*x*2q/9.1A.2O,cx:cx,1J:1J});1m;1k"1l":11 c=C(2x.32(9.1D("1l"))),4L=1Q,3h=B(9.15.1l),a=-3h.1d*(x-1)/2,2N=-3h.1g*(y-1)/2;1n(11 i=0,1q=c.19;i&lt;1q;i++){13(c[i][0].33()=="M"&amp;&amp;4L){52}1o{4L=2B}13(c[i][0].33()=="A"){c[i][c[i].19-2]*=x*b;c[i][c[i].19-1]*=y*2q}1o{1n(11 j=1,21=c[i].19;j&lt;21;j++){c[i][j]*=(j%2)?x*b/9.1A.2O:y*2q/9.1A.2W}}}11 d=B(c),a=3h.x+3h.1d/2-d.x-d.1d/2,2N=3h.y+3h.1g/2-d.y-d.1g/2;c=C(c);c[0][1]+=a;c[0][2]+=2N;9.1D({1l:c.1K(" ")})}}9.1A.2O=x;9.1A.2W=y;17 9};M.1y.cv=14(c,d,e){4K(9.4b);11 f={},2Y={},1S={},t={x:0,y:0};1n(11 g 1E c){13(g 1E 3Q){f[g]=9.1D(g);13(1u f[g]=="1N"){f[g]=z[g]}2Y[g]=c[g];2k(3Q[g]){1k"1T":1S[g]=(2Y[g]-f[g])/d;1m;1k"3R":f[g]=A(f[g]);11 h=A(2Y[g]);1S[g]={r:(h.r-f[g].r)/d,g:(h.g-f[g].g)/d,b:(h.b-f[g].b)/d};1m;1k"1l":11 k=E(f[g],2Y[g]);f[g]=k[0];2Y[g]=k[1];1S[g]=[];1n(11 i=0,1q=f[g].19;i&lt;1q;i++){1S[g][i]=[0];1n(11 j=1,21=f[g][i].19;j&lt;21;j++){1S[g][i][j]=(2Y[g][i][j]-f[g][i][j])/d}}1m;1k"3A":11 l=c[g].1G().26(u),4c=f[g].1G().26(u);13(g=="2K"){f[g]=[0,0];1S[g]=[l[0]/d,l[1]/d]}1o 13(g=="2R"){f[g]=(4c[1]==l[1]&amp;&amp;4c[2]==l[2])?4c:[0,l[1],l[2]];1S[g]=[(l[0]-f[g][0])/d,0,0]}1o{f[g]=(f[g]+"").26(u);1S[g]=[(l[0]-f[g][0])/d,(l[1]-f[g][0])/d]}2Y[g]=l}}}11 m=1W 5X(),4d=0,3i=9;(14(){11 a=(1W 5X()).5Y()-m.5Y(),3O={},25;13(a&lt;d){1n(11 b 1E f){2k(3Q[b]){1k"1T":25=+f[b]+a*1S[b];1m;1k"3R":25="4j("+[1b.1j(f[b].r+a*1S[b].r),1b.1j(f[b].g+a*1S[b].g),1b.1j(f[b].b+a*1S[b].b)].1K(",")+")";1m;1k"1l":25=[];1n(11 i=0,1q=f[b].19;i&lt;1q;i++){25[i]=[f[b][i][0]];1n(11 j=1,21=f[b][i].19;j&lt;21;j++){25[i][j]=f[b][i][j]+a*1S[b][i][j]}25[i]=25[i].1K(" ")}25=25.1K(" ");1m;1k"3A":13(b=="2K"){11 x=1S[b][0]*(a-4d),y=1S[b][1]*(a-4d);t.x+=x;t.y+=y;25=[x,y].1K(" ")}1o 13(b=="2R"){25=+f[b][0]+a*1S[b][0];f[b][1]&amp;&amp;(25+=","+f[b][1]+","+f[b][2])}1o{25=[+f[b][0]+a*1S[b][0],+f[b][1]+a*1S[b][1]].1K(" ")}1m}13(b=="1z-2G"){3O[b]=25+"1H"}1o{3O[b]=25}}3i.1D(3O);3i.4b=4B(18.3U,0);v.3J()}1o{(t.x||t.y)&amp;&amp;3i.38(-t.x,-t.y);3i.1D(c);4K(3i.4b);v.3J();(1u e=="14")&amp;&amp;e.2X(3i)}4d=a})();17 9};M.1y.38=14(x,y){13(x==24){17{x:9.1A.44,y:9.1A.45}}9.1A.44+=+x;9.1A.45+=+y;2k(9.1v){1k"3c":1k"3d":9.1D({cx:9.15.cx+x,1J:9.15.1J+y});1m;1k"2o":1k"2n":1k"1R":9.1D({x:9.15.x+ +x,y:9.15.y+ +y});1m;1k"1l":11 a=C(9.15.1l);a[0][1]+=+x;a[0][2]+=+y;9.1D({1l:a.1K(" ")});1m}17 9};11 bb=14(a){9.2r=[];9.19=(a&amp;&amp;a.19)||0;13(a&amp;&amp;a.4M==3b){1n(11 i=a.19;i--;){13(a[i].4M==M){9.2r[9.2r.19]=a[i]}}}};bb.1y.1V=14(a){13(a&amp;&amp;a.4M==M){11 b=9.2r.19;9.2r[b]=a;9[b]=a;9.19++}17 9};bb.1y.cw=14(a){11 b=9.2r.2t(a,1)[0];1n(11 j=a,21=9.2r.19;j&lt;21;j++){9[j]=9[j+1]}43 9[21+1];9.19--;17 b};1n(11 bc 1E M.1y){bb.1y[bc]=(14(a){17 14(){1n(11 i=9.2r.19;i--;){9.2r[i][a].2e(9.2r[i],18)}17 9}})(bc)}bb.1y.37=14(){11 x=[],y=[],w=[],h=[];1n(11 i=9.2r.19;i--;){11 a=9.2r[i].37();x.1V(a.x);y.1V(a.y);w.1V(a.x+a.1d);h.1V(a.y+a.1g)}x=1b.2M.2e(1b,x);y=1b.2M.2e(1b,y);17{x:x,y:y,1d:1b.30.2e(1b,w)-x,1g:1b.30.2e(1b,h)-y}};17 R})();',62,778,'|||||||||this||||||||||||||||||||||||||||||||||||||||||||||||||||||var||if|function|attrs||return|arguments|length|last|Math|parseFloat|width|node|setAttribute|height|isAbsolute|stroke|round|case|path|break|for|else|opacity|ii|canvas|style|appendChild|typeof|type|doc|fill|prototype|font|_|dots|vector|attr|in|parentNode|toString|px|res|cy|join|toFixed|Group|undefined|curveTo|top|true|text|diff|number|none|push|new|events|green|blue||jj|000|hex|null|now|split|svgns|rt||vml|createElementNS|left|firstChild|apply|svg|gradient|rx|ry|string|switch|color|offset|image|rect|on|diry|items|substring|splice|removeChild|deg|shape|Raphael|hue|toLowerCase|start|false|100|rollback|transformations|insertBefore|size|scale|src|dasharray|translation|255|min|dy|sx|group|Path|rotation|default|getAttribute|id|position|sy|call|to|linecap|max|parseInt|parsePathString|toUpperCase|end|lineTo|url|getBBox|translate|absolute|getElementsByTagName|Array|circle|ellipse|rvml|setBox|os|dim|that|butt|object|absolutely|qx|qy|stop|createElement|gl|ol|coordsize|gs|rs|win|fn|family|linejoin|miterlimit|csv|angle|abs|pathfinder|y1|defs|pattern|xlink|rotate|safari|remove|coordorigin|filterMatrix|weight|set|VML|availableAnimAttrs|colour|hsb2rgb|match|callee|data|replace|name|180|relatively|command|qcurveTo|body|delete|tx|ty|display|nextSibling|class|filterOpacity|attachEvent|animation_in_progress|from2|prev|SVG|idGenerator|fff|M0|saturation|rgb|while|concat|miny|processPath|edgeCases|shift|moveTo|arcTo|andClose|addDashes|square|dashes|setAttributeNS|href|offsetWidth|offsetHeight|getElementById|setTimeout|transform|clear|filter|textpath|childNodes|detachEvent|rowHeight|columnWidth|clearTimeout|skip|constructor|document|version|Arial|mouseout|mouseover|brightness|0ff|f0f|lightsalmon|ffa07a|mediumslateblue|7b68ee|hsb|getColor|ig|continue|linear|PI||cplineTo||addRoundedCorner|5522|raphael|fillOpacity|9999em|tspan|hide|show|block|instanceof|toFront|toBack|insertAfter|throw|Error|container|not|found|320|200|http|www|w3|org|svgattr|charAt|progid|DXImageTransform|Microsoft|fontFamily|fontSize|fontWeight|fontStyle|miter|360|radial|colors|value|oval|clip|namespaces|urn|schemas|microsoft|com|div|2px|test|addEventListener|onmouseenter|onmouseleave|Date|getTime|window|SVGAngle|10px|click|dblclick|mousedown|mousemove|mouseup|Your|browser|doesn|support|nYou|are|running|unescape|Rapha|EBl|setWindow|floor|rgb2hsb|aliceblue|f0f8ff|amethyst|96c|antiquewhite|faebd7|aqua|aquamarine|7fffd4|azure|f0ffff|beige|f5f5dc|bisque|ffe4c4|black|blanchedalmond|ffebcd|00f|blueviolet|8a2be2|brown|a52a2a|burlywood|deb887|cadetblue|5f9ea0|chartreuse|7fff00|chocolate|d2691e|coral|ff7f50|cornflowerblue|6495ed|cornsilk|fff8dc|crimson|dc143c|cyan|darkblue|00008b|darkcyan|008b8b|darkgoldenrod|b8860b|darkgray||a9a9a9|darkgreen|006400|darkkhaki|bdb76b|darkmagenta|8b008b|darkolivegreen|556b2f|darkorange|ff8c00|darkorchid|9932cc|darkred|8b0000|darksalmon|e9967a|darkseagreen|8fbc8f|darkslateblue|483d8b|darkslategray|2f4f4f|darkturquoise|00ced1|darkviolet|9400d3|deeppink|ff1493|deepskyblue|00bfff|dimgray|696969|dodgerblue|1e90ff|firebrick|b22222|floralwhite|fffaf0|forestgreen|228b22|fuchsia|gainsboro|dcdcdc|ghostwhite|f8f8ff|gold|ffd700|goldenrod|daa520|gray|808080|008000|greenyellow|adff2f|honeydew|f0fff0|hotpink|ff69b4|indianred|cd5c5c|indigo|4b0082|ivory|fffff0|khaki|f0e68c|lavender|e6e6fa|lavenderblush|fff0f5|lawngreen|7cfc00|lemonchiffon|fffacd|lightblue|add8e6|lightcoral|f08080|lightcyan|e0ffff|lightgoldenrodyellow|fafad2|lightgreen|90ee90|lightgrey|d3d3d3|lightpink|ffb6c1|lightseagreen|20b2aa|lightskyblue|87cefa|lightslategray|789|lightsteelblue|b0c4de|lightyellow|ffffe0|lime|0f0|limegreen|32cd32|linen|faf0e6|magenta|maroon|800000|mediumaquamarine|66cdaa|mediumblue|0000cd|mediumorchid|ba55d3|mediumpurple|9370db|mediumseagreen|3cb371||mediumspringgreen|00fa9a|mediumturquoise|48d1cc|mediumvioletred|c71585|midnightblue|191970|mintcream|f5fffa|mistyrose|ffe4e1|moccasin|ffe4b5|navajowhite|ffdead|navy|000080|oldlace|fdf5e6|olive|808000|olivedrab|6b8e23|orange|ffa500|orangered|ff4500|orchid|da70d6|palegoldenrod|eee8aa|palegreen|98fb98|paleturquoise|afeeee|palevioletred|db7093|papayawhip|ffefd5|peachpuff|ffdab9|peru|cd853f|pink|ffc0cb|plum|dda0dd|powderblue|b0e0e6|purple|800080|red|f00|rosybrown|bc8f8f|royalblue|4169e1|saddlebrown|8b4513|salmon|fa8072|sandybrown|f4a460|seagreen|2e8b57|seashell|fff5ee|sienna|a0522d|silver|c0c0c0|skyblue|87ceeb|slateblue|6a5acd|slategray|708090|snow|fffafa|springgreen|00ff7f|steelblue|4682b4|tan|d2b48c|teal|008080||thistle||d8bfd8|tomato|ff6347|turquoise|40e0d0|violet|ee82ee|wheat|f5deb3|white|whitesmoke|f5f5f5|yellow|ff0|yellowgreen|9acd32|075|reset|achlmqstvz|cos|sin|Gradient|x1|x2|y2|patternTransform|strokeWidth|patternUnits|userSpaceOnUse|img|onload|defaultView|getComputedStyle|getPropertyValue|createTextNode|preserveAspectRatio|anchor|middle|create|2000|1999|navigator||||vendor|Apple|Computer|Inc|className|sqrt|wa|wr|qb|qcurve|arg|slice|pos|Alpha|tile||solid|joinstyle|endcap|flat|||shortdash|shortdot|shortdashdot|shortdashdotdot|dot|dash|longdash|dashdot|longdashdot|longdashdotdot|dashstyle|span|innerText|atan|method|gradientTitle|color2|270|focus|focusposition|RotX|RotY|Scale|roundrect|arcsize|ps|textpathok|createStyleSheet|addRule|behavior|try|add|catch|xmlns|320px|200px|relative|filled|stroked|removeEventListener|event|un|drawGrid|setSize|isNaN|Matrix|M11|M12|M21|M22|Dx|Dy|sizingmethod|auto|expand||filtertype|bilinear|animate|pull|'.split('|'),0,{}))//--&gt;&lt;/script&gt;&lt;div class='aqscontainer'&gt;&lt;div id="board_svgAJEUMG"&gt;&lt;/div&gt;                &lt;div class="shadow1table"&gt;                        &lt;div class="shadow2"&gt;                                &lt;table id="game_boardAJEUMG" cellpadding="0" cellspacing="0"&gt;                                        &lt;tr&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;td id="topaAJEUMG" class="lettertop"&gt;A&lt;/td&gt;                                        &lt;td id="topbAJEUMG" class="lettertop"&gt;B&lt;/td&gt;                                        &lt;td id="topcAJEUMG" class="lettertop"&gt;C&lt;/td&gt;                                        &lt;td id="topdAJEUMG" class="lettertop"&gt;D&lt;/td&gt;                                        &lt;td id="topeAJEUMG" class="lettertop"&gt;E&lt;/td&gt;                                        &lt;td id="topfAJEUMG" class="lettertop"&gt;F&lt;/td&gt;                                        &lt;td id="topgAJEUMG" class="lettertop"&gt;G&lt;/td&gt;                                        &lt;td id="tophAJEUMG" class="lettertop"&gt;H&lt;/td&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left8AJEUMG" class="numberleft"&gt;8&lt;/td&gt;                                        &lt;td class="white" id="square11AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square21AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square31AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square41AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square51AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square61AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square71AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square81AJEUMG"&gt;&lt;/td&gt;                                        &lt;td id="right8AJEUMG" class="numberright"&gt;8&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left7AJEUMG" class="numberleft"&gt;7&lt;/td&gt;                                        &lt;td class="black" id="square12AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square22AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square32AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square42AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square52AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square62AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square72AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square82AJEUMG"&gt;&lt;/td&gt;                                        &lt;td id="right7AJEUMG" class="numberright"&gt;7&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left6AJEUMG" class="numberleft"&gt;6&lt;/td&gt;                                        &lt;td class="white" id="square13AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square23AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square33AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square43AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square53AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square63AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square73AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square83AJEUMG"&gt;&lt;/td&gt;                                        &lt;td id="right6AJEUMG" class="numberright"&gt;6&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left5AJEUMG" class="numberleft"&gt;5&lt;/td&gt;                                        &lt;td class="black" id="square14AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square24AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square34AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square44AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square54AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square64AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square74AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square84AJEUMG"&gt;&lt;/td&gt;                                        &lt;td id="right5AJEUMG" class="numberright"&gt;5&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left4AJEUMG" class="numberleft"&gt;4&lt;/td&gt;                                        &lt;td class="white" id="square15AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square25AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square35AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square45AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square55AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square65AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square75AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square85AJEUMG"&gt;&lt;/td&gt;                                        &lt;td id="right4AJEUMG" class="numberright"&gt;4&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left3AJEUMG" class="numberleft"&gt;3&lt;/td&gt;                                        &lt;td class="black" id="square16AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square26AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square36AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square46AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square56AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square66AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square76AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square86AJEUMG"&gt;&lt;/td&gt;                                        &lt;td id="right3AJEUMG" class="numberright"&gt;3&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left2AJEUMG" class="numberleft"&gt;2&lt;/td&gt;                                        &lt;td class="white" id="square17AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square27AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square37AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square47AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square57AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square67AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square77AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square87AJEUMG"&gt;&lt;/td&gt;                                        &lt;td id="right2AJEUMG" class="numberright"&gt;2&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left1AJEUMG" class="numberleft"&gt;1&lt;/td&gt;                                        &lt;td class="black" id="square18AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square28AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square38AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square48AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square58AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square68AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square78AJEUMG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square88AJEUMG"&gt;&lt;/td&gt;                                        &lt;td id="right1AJEUMG" class="numberright"&gt;1&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td class="corner"&gt;&lt;center&gt;&lt;a title="Flip board" id="flipiconAJEUMG" href="javascript: guiAJEUMG.flipBoard();"&gt;&lt;img src="http://www.chessok.com/common/images/board/flip_blue.png" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;/td&gt;                                        &lt;td id="bottomaAJEUMG" class="letterbottom"&gt;A&lt;/td&gt;                                        &lt;td id="bottombAJEUMG" class="letterbottom"&gt;B&lt;/td&gt;                                        &lt;td id="bottomcAJEUMG" class="letterbottom"&gt;C&lt;/td&gt;                                        &lt;td id="bottomdAJEUMG" class="letterbottom"&gt;D&lt;/td&gt;                                        &lt;td id="bottomeAJEUMG" class="letterbottom"&gt;E&lt;/td&gt;                                        &lt;td id="bottomfAJEUMG" class="letterbottom"&gt;F&lt;/td&gt;                                        &lt;td id="bottomgAJEUMG" class="letterbottom"&gt;G&lt;/td&gt;                                        &lt;td id="bottomhAJEUMG" class="letterbottom"&gt;H&lt;/td&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;/tr&gt;                                &lt;/table&gt;                        &lt;/div&gt;                &lt;/div&gt;                &lt;script type="text/javascript"&gt;                        var boardAJEUMG = new chessBoardAJEUMG();                        var guiAJEUMG = new GUIAJEUMG();                        boardAJEUMG.loadFEN(FENsAJEUMG[0]);                        guiAJEUMG.drawBoardPosition(boardAJEUMG);                &lt;/script&gt;&lt;script type="text/javascript"&gt;var currMoveAJEUMG;var currVarLevelAJEUMG;var currMoveNumAJEUMG;var board_key = "AJEUMG";function loadMoveAJEUMG(moveid) {        board_key = "AJEUMG";                boardAJEUMG.loadFEN(FENsAJEUMG[moveid]);        guiAJEUMG.drawBoardPosition(boardAJEUMG);        if (currMoveAJEUMG) {                previousMoveAJEUMG = document.getElementById("m" + currMoveAJEUMG + "AJEUMG");                previousMoveAJEUMG.style.color = '';        }        currMoveAJEUMG = moveid;        currVarLevelAJEUMG = VarLevelsAJEUMG[moveid];        currMoveNumAJEUMG = MoveNumsAJEUMG[moveid];        if (currMoveAJEUMG) {                currentMoveAJEUMG = document.getElementById("m" + currMoveAJEUMG + "AJEUMG");                currentMoveAJEUMG.style.color = 'red';        }}function keyHandler(e) {        var keynum;        if(!e) // IE                e = window.event;        keynum = e['keyCode'];        var cmove = eval("currMove" + board_key);        if (keynum == 37) {                if(cmove &gt; 1) {                                        while ((cmove &gt; 0) &amp;&amp; (currVarLevelAJEUMG != VarLevelsAJEUMG[cmove-1]))                                        {                                                if (currVarLevelAJEUMG &gt; VarLevelsAJEUMG[cmove-1]) break;                                                cmove--;                                        }                                        if ((cmove &gt; 0) &amp;&amp; (currMoveNumAJEUMG &gt; MoveNumsAJEUMG[cmove-1]))                                        {                                                eval("loadMove" + board_key + "(" + parseInt(cmove - 1) + ")");                                        }                }        }        else if (keynum == 39) {                if(cmove &lt; eval("FENs" + board_key).length - 1) {                                        while ((cmove &lt; VarLevelsAJEUMG.length-1) &amp;&amp; (currVarLevelAJEUMG != VarLevelsAJEUMG[cmove+1]))                                        {                                                if (currVarLevelAJEUMG &gt; VarLevelsAJEUMG[cmove+1]) break;                                                cmove++;                                        }                                        if ( (cmove &lt; VarLevelsAJEUMG.length) &amp;&amp; (currMoveNumAJEUMG &lt; MoveNumsAJEUMG[cmove+1]) )                                        {                                                eval("loadMove" + board_key + "(" + parseInt(cmove + 1) + ")");                                        }                }        }}document.onkeydown = keyHandler;&lt;/script&gt;&lt;div class="aqsnotation"&gt;&lt;span class="ahb"&gt; &lt;table width="100%" border="0" cols="1" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="100%" align="center"&gt;&lt;FONT COLOR="black"&gt;&lt;B&gt;Slinger T 169 - Shapland D 159&lt;/B&gt;&lt;/FONT&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table width="100%" border="0" cols="1" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="100%" align="center"&gt;&lt;FONT COLOR="black"&gt;&lt;B&gt;0-1 (Leeds League 1 Leeds) 30/11/2011&lt;/B&gt;&lt;/FONT&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span class="line0"&gt;&lt;span  id="m0AJEUMG" onclick="loadMoveAJEUMG(0);"&gt;[#]&lt;/span&gt;&lt;span  id="m1AJEUMG" onclick="loadMoveAJEUMG(1);"&gt;1.e4&lt;/span&gt; &lt;span  id="m2AJEUMG" onclick="loadMoveAJEUMG(2);"&gt;e5&lt;/span&gt; &lt;span  id="m3AJEUMG" onclick="loadMoveAJEUMG(3);"&gt;2.Nf3&lt;/span&gt; &lt;span  id="m4AJEUMG" onclick="loadMoveAJEUMG(4);"&gt;Nc6&lt;/span&gt; &lt;span  id="m5AJEUMG" onclick="loadMoveAJEUMG(5);"&gt;3.d4&lt;/span&gt; &lt;span  id="m6AJEUMG" onclick="loadMoveAJEUMG(6);"&gt;exd4&lt;/span&gt; &lt;span  id="m7AJEUMG" onclick="loadMoveAJEUMG(7);"&gt;4.Nxd4&lt;/span&gt; &lt;span  id="m8AJEUMG" onclick="loadMoveAJEUMG(8);"&gt;Bc5&lt;/span&gt; &lt;span  id="m9AJEUMG" onclick="loadMoveAJEUMG(9);"&gt;5.Nxc6&lt;/span&gt; &lt;/span&gt;A line like this seems a good choice for a player like Tony who has excellent technical skills and who therefore likes to keep things simple. In my previous two encounters with him I had tried to play sound and sensible chess with the White pieces and had been inexorably ground down. Even at this point in the game I was wondering how I would be able to avoid a similar fate in a line that appears to be perfectly good for Black but doen't appear to offer any opportunities for complications.&lt;span class="line0"&gt; &lt;span  id="m10AJEUMG" onclick="loadMoveAJEUMG(10);"&gt;5...Qf6&lt;/span&gt; &lt;span  id="m11AJEUMG" onclick="loadMoveAJEUMG(11);"&gt;6.Qf3&lt;/span&gt; &lt;/span&gt;Again I was not surprised to see this move played. Tony was clearly very happy to play a game without queens. I had no idea what the main line was but a subsequent look in my engine's openings book provides the following illustrative line.&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m12AJEUMG" onclick="loadMoveAJEUMG(12);"&gt;6.Qd2&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m13AJEUMG" onclick="loadMoveAJEUMG(13);"&gt;dxc6&lt;/span&gt; &lt;span  id="m14AJEUMG" onclick="loadMoveAJEUMG(14);"&gt;7.Nc3&lt;/span&gt; &lt;span  id="m15AJEUMG" onclick="loadMoveAJEUMG(15);"&gt;Ne7&lt;/span&gt; &lt;span  id="m16AJEUMG" onclick="loadMoveAJEUMG(16);"&gt;8.Qf4&lt;/span&gt; &lt;/span&gt;White still wants the queens off, but the method is different here.&lt;span class="line1"&gt; &lt;span  id="m17AJEUMG" onclick="loadMoveAJEUMG(17);"&gt;8...Be6!?&lt;/span&gt; &lt;/span&gt;If the middle game is going to be queenless then Black may as well develop another piece and try and hamper the development of White's king's bishop.&lt;span class="line1"&gt; &lt;span  id="m18AJEUMG" onclick="loadMoveAJEUMG(18);"&gt;9.Qxf6&lt;/span&gt; &lt;span  id="m19AJEUMG" onclick="loadMoveAJEUMG(19);"&gt;gxf6&lt;/span&gt; &lt;/span&gt;and the position is pretty much equal although the imbalance in the pawn structure may provide some opportunities for interest in the middle game.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m20AJEUMG" onclick="loadMoveAJEUMG(20);"&gt;6...dxc6&lt;/span&gt; &lt;/span&gt;I figured that he wouldn't want to exchange queens if it allowed me to develop my knight with tempo.&lt;span class="line0"&gt; &lt;span  id="m21AJEUMG" onclick="loadMoveAJEUMG(21);"&gt;7.Bc4&lt;/span&gt; &lt;span  id="m22AJEUMG" onclick="loadMoveAJEUMG(22);"&gt;Qg6&lt;/span&gt; &lt;/span&gt;Why not? My plan was to develop swiftly with, if allowed, Bg4, Nf6 and 0-0-0. I wondered if White might now be tempted to play 8.h3 which seems a little slow to me but I couldn't see an attractive square for his queen if he allowed 8...Bg4.&lt;span class="line0"&gt; &lt;span  id="m23AJEUMG" onclick="loadMoveAJEUMG(23);"&gt;8.Nc3&lt;/span&gt; &lt;/span&gt;Well, let's see what he has in mind then.&lt;span class="line0"&gt; &lt;span  id="m24AJEUMG" onclick="loadMoveAJEUMG(24);"&gt;8...Bg4&lt;/span&gt; &lt;span  id="m25AJEUMG" onclick="loadMoveAJEUMG(25);"&gt;9.Qf4!?&lt;/span&gt; &lt;/span&gt;I must say I was a little surprised by this but having now seen the opening variation in the note above this is very much consistent with the strategic themes in this line. The alternative was&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m26AJEUMG" onclick="loadMoveAJEUMG(26);"&gt;9.Qg3&lt;/span&gt; when I had intended to play &lt;span class="line1"&gt;&lt;span  id="m27AJEUMG" onclick="loadMoveAJEUMG(27);"&gt;9...O-O-O&lt;/span&gt; &lt;/span&gt;and now there is an interesting line which goes&lt;span class="line1"&gt; &lt;span  id="m28AJEUMG" onclick="loadMoveAJEUMG(28);"&gt;10.Bxf7!?&lt;/span&gt; &lt;span  id="m29AJEUMG" onclick="loadMoveAJEUMG(29);"&gt;Qxe4+!&lt;/span&gt; &lt;/span&gt;The queen is invulnerable because of the mate on d1 that follows!&lt;span class="line1"&gt; &lt;span  id="m30AJEUMG" onclick="loadMoveAJEUMG(30);"&gt;11.Be3&lt;/span&gt; &lt;span  id="m31AJEUMG" onclick="loadMoveAJEUMG(31);"&gt;Qf5&lt;/span&gt; &lt;span  id="m32AJEUMG" onclick="loadMoveAJEUMG(32);"&gt;12.Bxc5&lt;/span&gt; &lt;span  id="m33AJEUMG" onclick="loadMoveAJEUMG(33);"&gt;Nh6&lt;/span&gt; &lt;span  id="m34AJEUMG" onclick="loadMoveAJEUMG(34);"&gt;13.O-O&lt;/span&gt; &lt;span  id="m35AJEUMG" onclick="loadMoveAJEUMG(35);"&gt;Qxc5&lt;/span&gt; &lt;/span&gt;With an interesting game. I think I'd prefer to be White but Black has some activity.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m36AJEUMG" onclick="loadMoveAJEUMG(36);"&gt;9...Nf6!?&lt;/span&gt; &lt;/span&gt;This was the first of several quite sizeable risks that I elected to take in this game. The main alternative looked messy and I didn't like the look of my pawn structure after&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m37AJEUMG" onclick="loadMoveAJEUMG(37);"&gt;9...Be6&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m38AJEUMG" onclick="loadMoveAJEUMG(38);"&gt;10.Bxe6&lt;/span&gt; &lt;span  id="m39AJEUMG" onclick="loadMoveAJEUMG(39);"&gt;fxe6&lt;/span&gt; &lt;/span&gt;although White's has pawn weaknesses to worry about too in this line so both Crafty and Fritz 11 suggest that White only has a smallish advantage.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m40AJEUMG" onclick="loadMoveAJEUMG(40);"&gt;10.f3&lt;/span&gt; &lt;/span&gt;After the game Tony was critical of this move. Certainly it does create a problem in that for now White can't castle short. However, as the game went, this isn't the crucial error. Of course the most direct continuation, and the one I was most fearful of was&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m41AJEUMG" onclick="loadMoveAJEUMG(41);"&gt;10.Qe5+!&lt;/span&gt; A third move with his queen by move 10! But this causes considerable disruption in the Black camp after &lt;span class="line1"&gt;&lt;span  id="m42AJEUMG" onclick="loadMoveAJEUMG(42);"&gt;10...Be7&lt;/span&gt; &lt;span  id="m43AJEUMG" onclick="loadMoveAJEUMG(43);"&gt;11.Be3!&lt;/span&gt; &lt;/span&gt;Critical. If I'd seen this I wouldn't have played 9...Nf6 at all. The point is that White is threatening simply to play 11.Bc5 when Black will be tied up in knots trying to hold things together. For example after&lt;span class="line1"&gt; &lt;span  id="m44AJEUMG" onclick="loadMoveAJEUMG(44);"&gt;11...Rd8&lt;/span&gt; &lt;span  id="m45AJEUMG" onclick="loadMoveAJEUMG(45);"&gt;12.f3&lt;/span&gt; &lt;span  id="m46AJEUMG" onclick="loadMoveAJEUMG(46);"&gt;Rd6&lt;/span&gt; &lt;span  id="m47AJEUMG" onclick="loadMoveAJEUMG(47);"&gt;13.O-O&lt;/span&gt; &lt;/span&gt;Not&lt;span class="line1"&gt;&lt;/span&gt;&lt;span class="line2"&gt;&lt;/span&gt; (&lt;span class="line2"&gt;&lt;span  id="m48AJEUMG" onclick="loadMoveAJEUMG(48);"&gt;13.fxg4?&lt;/span&gt; &lt;/span&gt;after this suddenly Black has a massive counter attack&lt;span class="line2"&gt; &lt;/span&gt;&lt;span class="line2"&gt;&lt;span  id="m49AJEUMG" onclick="loadMoveAJEUMG(49);"&gt;13...Nxg4&lt;/span&gt; &lt;span  id="m50AJEUMG" onclick="loadMoveAJEUMG(50);"&gt;14.Qf4&lt;/span&gt; &lt;span  id="m51AJEUMG" onclick="loadMoveAJEUMG(51);"&gt;Nxe3&lt;/span&gt; &lt;span  id="m52AJEUMG" onclick="loadMoveAJEUMG(52);"&gt;15.Qxe3&lt;/span&gt; &lt;span  id="m53AJEUMG" onclick="loadMoveAJEUMG(53);"&gt;Qxg2&lt;/span&gt; &lt;span  id="m54AJEUMG" onclick="loadMoveAJEUMG(54);"&gt;16.Rf1&lt;/span&gt; &lt;span  id="m55AJEUMG" onclick="loadMoveAJEUMG(55);"&gt;Bh4+&lt;/span&gt; &lt;/span&gt;wins for Black.&lt;span class="line2"&gt;&lt;/span&gt;) &lt;span class="line1"&gt;&lt;span  id="m56AJEUMG" onclick="loadMoveAJEUMG(56);"&gt;13...Bh3&lt;/span&gt; &lt;span  id="m57AJEUMG" onclick="loadMoveAJEUMG(57);"&gt;14.Rf2&lt;/span&gt; &lt;span  id="m58AJEUMG" onclick="loadMoveAJEUMG(58);"&gt;b5&lt;/span&gt; &lt;/span&gt;and although Black is hanging in there, his position is pretty stretched and White is doing very well.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m59AJEUMG" onclick="loadMoveAJEUMG(59);"&gt;10...O-O-O!?&lt;/span&gt; &lt;/span&gt;Another big risk offering the piece sacrifice but I felt I couldn't allow the alternative&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m60AJEUMG" onclick="loadMoveAJEUMG(60);"&gt;10...Be6&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m61AJEUMG" onclick="loadMoveAJEUMG(61);"&gt;11.Bxe6&lt;/span&gt; &lt;span  id="m62AJEUMG" onclick="loadMoveAJEUMG(62);"&gt;fxe6&lt;/span&gt; &lt;span  id="m63AJEUMG" onclick="loadMoveAJEUMG(63);"&gt;12.Qg5&lt;/span&gt; &lt;span  id="m64AJEUMG" onclick="loadMoveAJEUMG(64);"&gt;b6&lt;/span&gt; &lt;span  id="m65AJEUMG" onclick="loadMoveAJEUMG(65);"&gt;13.Qxg6+&lt;/span&gt; &lt;span  id="m66AJEUMG" onclick="loadMoveAJEUMG(66);"&gt;hxg6&lt;/span&gt; &lt;/span&gt;but although Black's pawn structure is in ruins both my engines assess this position as almost dead level. From a human perspective this kind of line looked like exactly the kind of thing I was trying to avoid against Tony.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m67AJEUMG" onclick="loadMoveAJEUMG(67);"&gt;11.Qg5&lt;/span&gt; &lt;/span&gt;An interesting choice. Tony didn't feel he needed to take the piece although in fact he can take it with complete peace of mind. That said, although the engines can refute the sacrifice it looks scary over the board so his decision to try and "keep control" is understandable. The engines give the line&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m68AJEUMG" onclick="loadMoveAJEUMG(68);"&gt;11.fxg4&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m69AJEUMG" onclick="loadMoveAJEUMG(69);"&gt;Rhe8&lt;/span&gt; &lt;span  id="m70AJEUMG" onclick="loadMoveAJEUMG(70);"&gt;12.Bd3!&lt;/span&gt; &lt;/span&gt;Stopping any Black counterplay in its tracks.&lt;span class="line1"&gt; &lt;span  id="m71AJEUMG" onclick="loadMoveAJEUMG(71);"&gt;12...Nxg4&lt;/span&gt; &lt;span  id="m72AJEUMG" onclick="loadMoveAJEUMG(72);"&gt;13.Rf1&lt;/span&gt; &lt;span  id="m73AJEUMG" onclick="loadMoveAJEUMG(73);"&gt;Rd7&lt;/span&gt; &lt;/span&gt;And now it seems hard to see how Black can avoid the trading of queens. He has very little for his missing bishop.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m74AJEUMG" onclick="loadMoveAJEUMG(74);"&gt;11...Nxe4?!&lt;/span&gt; &lt;/span&gt;Swashbuckling, brave even... but total rubbish! I felt that Tony hadn't played all that accurately on previous moves and so I justifed the decision to play this move based on a hunch that White had so many plausible options he may not be able to find the right one! After a long think I couldn't see the answer concretely myself although I had a good idea what the refutation would involve. Fritz and Crafty suggest that&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m75AJEUMG" onclick="loadMoveAJEUMG(75);"&gt;11...Qxg5&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m76AJEUMG" onclick="loadMoveAJEUMG(76);"&gt;12.Bxg5&lt;/span&gt; &lt;span  id="m77AJEUMG" onclick="loadMoveAJEUMG(77);"&gt;Bh5&lt;/span&gt; &lt;/span&gt;is the only way for Black to play and assess the position as equal.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m78AJEUMG" onclick="loadMoveAJEUMG(78);"&gt;12.Nxe4?&lt;/span&gt; &lt;/span&gt;The worst choice but Tony had overlooked my compelling reposte which wasn't the easiest to spot. Instead he could have debunked my hocus by playing&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m79AJEUMG" onclick="loadMoveAJEUMG(79);"&gt;12.Qxg6!&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m80AJEUMG" onclick="loadMoveAJEUMG(80);"&gt;hxg6&lt;/span&gt; &lt;span  id="m81AJEUMG" onclick="loadMoveAJEUMG(81);"&gt;13.Nxe4&lt;/span&gt; &lt;span  id="m82AJEUMG" onclick="loadMoveAJEUMG(82);"&gt;Rhe8&lt;/span&gt; &lt;span  id="m83AJEUMG" onclick="loadMoveAJEUMG(83);"&gt;14.Bd2&lt;/span&gt; &lt;span  id="m84AJEUMG" onclick="loadMoveAJEUMG(84);"&gt;Rd4&lt;/span&gt; &lt;span  id="m85AJEUMG" onclick="loadMoveAJEUMG(85);"&gt;15.Bd3&lt;/span&gt; &lt;span  id="m86AJEUMG" onclick="loadMoveAJEUMG(86);"&gt;f5&lt;/span&gt; &lt;span  id="m87AJEUMG" onclick="loadMoveAJEUMG(87);"&gt;16.fxg4&lt;/span&gt; &lt;span  id="m88AJEUMG" onclick="loadMoveAJEUMG(88);"&gt;fxe4&lt;/span&gt; &lt;span  id="m89AJEUMG" onclick="loadMoveAJEUMG(89);"&gt;17.Be2&lt;/span&gt; &lt;/span&gt;and Black does not have enough for the piece. Or&lt;span class="line1"&gt;&lt;/span&gt;; &lt;/div&gt;&lt;div class="line1" style="margin-left:2em;"&gt;&lt;span  id="m90AJEUMG" onclick="loadMoveAJEUMG(90);"&gt;12.fxe4&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m91AJEUMG" onclick="loadMoveAJEUMG(91);"&gt;Bd4&lt;/span&gt; &lt;span  id="m92AJEUMG" onclick="loadMoveAJEUMG(92);"&gt;13.Qxg6&lt;/span&gt; &lt;span  id="m93AJEUMG" onclick="loadMoveAJEUMG(93);"&gt;hxg6&lt;/span&gt; &lt;span  id="m94AJEUMG" onclick="loadMoveAJEUMG(94);"&gt;14.Ne2&lt;/span&gt; &lt;span  id="m95AJEUMG" onclick="loadMoveAJEUMG(95);"&gt;Bc5&lt;/span&gt; &lt;span  id="m96AJEUMG" onclick="loadMoveAJEUMG(96);"&gt;15.h3&lt;/span&gt; &lt;span  id="m97AJEUMG" onclick="loadMoveAJEUMG(97);"&gt;Rde8&lt;/span&gt; &lt;span  id="m98AJEUMG" onclick="loadMoveAJEUMG(98);"&gt;16.Ng3&lt;/span&gt; &lt;span  id="m99AJEUMG" onclick="loadMoveAJEUMG(99);"&gt;Bd6&lt;/span&gt; &lt;span  id="m100AJEUMG" onclick="loadMoveAJEUMG(100);"&gt;17.Kf2!&lt;/span&gt; &lt;/span&gt;and again, White stands well though he still needs to disentangle himself a little. Another plausible but bad move would have been&lt;span class="line1"&gt;&lt;/span&gt;; &lt;/div&gt;&lt;div class="line1" style="margin-left:2em;"&gt;&lt;span  id="m101AJEUMG" onclick="loadMoveAJEUMG(101);"&gt;12.Qxg4+&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m102AJEUMG" onclick="loadMoveAJEUMG(102);"&gt;Qxg4&lt;/span&gt; &lt;span  id="m103AJEUMG" onclick="loadMoveAJEUMG(103);"&gt;13.fxg4&lt;/span&gt; &lt;span  id="m104AJEUMG" onclick="loadMoveAJEUMG(104);"&gt;Nxc3&lt;/span&gt; &lt;span  id="m105AJEUMG" onclick="loadMoveAJEUMG(105);"&gt;14.bxc3&lt;/span&gt; &lt;span  id="m106AJEUMG" onclick="loadMoveAJEUMG(106);"&gt;Rhe8+&lt;/span&gt; &lt;span  id="m107AJEUMG" onclick="loadMoveAJEUMG(107);"&gt;15.Be2&lt;/span&gt; &lt;span  id="m108AJEUMG" onclick="loadMoveAJEUMG(108);"&gt;Re4&lt;/span&gt; &lt;/span&gt;and Black will regain the piece and holds the initiative and an extra pawn.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m109AJEUMG" onclick="loadMoveAJEUMG(109);"&gt;12...Qxe4+!!&lt;/span&gt; &lt;/span&gt;A rude awakening! Obviously White hadn't seen this coming. The point is that the queen can't be taken as there is no longer a White knight protecting the mating square on d1. The fact that this recapture comes with check means that Black can get away with having 3 pieces enprise and still win!&lt;span class="line0"&gt; &lt;span  id="m110AJEUMG" onclick="loadMoveAJEUMG(110);"&gt;13.Be2&lt;/span&gt; &lt;/span&gt;Slightly (but not much) better was&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m111AJEUMG" onclick="loadMoveAJEUMG(111);"&gt;13.Be3&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m112AJEUMG" onclick="loadMoveAJEUMG(112);"&gt;Qxe3+&lt;/span&gt; &lt;span  id="m113AJEUMG" onclick="loadMoveAJEUMG(113);"&gt;14.Qxe3&lt;/span&gt; &lt;span  id="m114AJEUMG" onclick="loadMoveAJEUMG(114);"&gt;Bxe3&lt;/span&gt; &lt;span  id="m115AJEUMG" onclick="loadMoveAJEUMG(115);"&gt;15.fxg4&lt;/span&gt; &lt;span  id="m116AJEUMG" onclick="loadMoveAJEUMG(116);"&gt;Rd2&lt;/span&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m117AJEUMG" onclick="loadMoveAJEUMG(117);"&gt;13...Qxc2!&lt;/span&gt; &lt;/span&gt;Accuracy was still required. Black protects the bishop on c5 and threatens to play Rhe8. Now Tony played a very natural and seemingly effective get out.&lt;span class="line0"&gt; &lt;span  id="m118AJEUMG" onclick="loadMoveAJEUMG(118);"&gt;14.Qxg4+&lt;/span&gt; &lt;/span&gt;Even winning this bishop with check is of no use to White.&lt;span class="line0"&gt; &lt;span  id="m119AJEUMG" onclick="loadMoveAJEUMG(119);"&gt;14...f5&lt;/span&gt; &lt;span  id="m120AJEUMG" onclick="loadMoveAJEUMG(120);"&gt;15.Qc4&lt;/span&gt; &lt;/span&gt;Allowing me to demonstrate the last idea in the position.&lt;span class="line0"&gt; &lt;span  id="m121AJEUMG" onclick="loadMoveAJEUMG(121);"&gt;15...Rd1+!&lt;/span&gt; &lt;/span&gt;This wins on the spot as 16.Bxd1 Qf2 is mate, and a pretty one at that. Seeing this, White resigned!&lt;span class="line0"&gt; &lt;/span&gt;[0-1] &lt;/span&gt;&lt;/div&gt;&lt;div class="aqslink"&gt;&lt;a href="http://www.chessok.com" target=_blank&gt;Generated by Aquarium&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Points to remember from this game: &lt;br /&gt;&lt;ol&gt;&lt;li style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;There was some interesting psychology behind my play in this game. Having lost previously to this opponent trying to play solidly, on this occasion I decided that I should try and mix it tactically and see if I could drag him away from the kinds of simple position I sensed he was most comfortable with. I took risks and some of my play was unsound but I created enough complexity to cause him significant problems at the board. The&amp;nbsp;Nakamura story above illustrates the same&amp;nbsp;theme.&amp;nbsp;The moral of the story is, if you are having a bad run of results against the same opponent you need to consider changing your approach when you next encounter them. &lt;/li&gt;&lt;li&gt;Sometimes, if your opponent keeps his king in the centre for a little while, you should try and find ways to exploit this. Look for ways to prevent him from castling or open the position in order to attack him. If you have a development advantage then it might even be possible to sacrifice material in order to do this.&lt;/li&gt;&lt;li&gt;Finally, remember that&amp;nbsp;in a complex position, if you can't figure out the best&amp;nbsp;defence is for your opponent then it is quite possible they won't be able to either! Here is&amp;nbsp;one more quote&amp;nbsp;about sacrifices&amp;nbsp;that illustrates this and is&amp;nbsp;well worth remembering... &lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: left;"&gt;&lt;em&gt;"A good sacrifice is one that is not necessarily sound but leaves your opponent dazed and confused"&lt;/em&gt; &lt;/div&gt;&lt;div style="text-align: left;"&gt;- Rudolph Spielmann. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7489746740971456738-1682849602802072064?l=travailpursuit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://travailpursuit.blogspot.com/feeds/1682849602802072064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://travailpursuit.blogspot.com/2011/12/risky-business.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/1682849602802072064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/1682849602802072064'/><link rel='alternate' type='text/html' href='http://travailpursuit.blogspot.com/2011/12/risky-business.html' title='Risky Business'/><author><name>Intermezzo</name><uri>http://www.blogger.com/profile/09506234400044036036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-iHZo_2ih0N4/Tk8fDJOwLwI/AAAAAAAAAbw/g8nhLUzoNlA/s220/Phil%2527s%2BPhotos%2B033.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-rh-3wIMjg4Q/TuAhMhcOPxI/AAAAAAAAAic/omXZ1QxUUmQ/s72-c/Hikaru%2528Corus09%2529.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7489746740971456738.post-2516093339560214978</id><published>2011-11-20T18:28:00.001-08:00</published><updated>2011-11-22T14:20:23.994-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Pin'/><category scheme='http://www.blogger.com/atom/ns#' term='Queen&apos;s Gambit Declined'/><category scheme='http://www.blogger.com/atom/ns#' term='Skewer'/><title type='text'>Abrakebabra!</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7u2wMwK_Ik8/Tsm7ZqKh9KI/AAAAAAAAAhE/LAQDDbRM0SQ/s1600/Abrakebabra%2521.JPG" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" hda="true" height="320" src="http://2.bp.blogspot.com/-7u2wMwK_Ik8/Tsm7ZqKh9KI/AAAAAAAAAhE/LAQDDbRM0SQ/s320/Abrakebabra%2521.JPG" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The position after 21...b6 with the appropriate visual reference!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: orange;"&gt;"&lt;/span&gt;&lt;span style="color: orange; font-size: large;"&gt;A&lt;/span&gt;&lt;/strong&gt;bra-abra-cadabra. &lt;/em&gt;&lt;br /&gt;&lt;em&gt;I want to reach out and grab ya."&lt;/em&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;- Steve Miller&lt;br /&gt;&lt;br /&gt;Today's game is a very recent one. I played it last week. It hadn't been my original plan to publish recent games on this blog.&amp;nbsp;The reason for this was that I felt the passage of time and the accompanying opportunity for assessment and reassessment&amp;nbsp;would enable me to step back from the games a little and view them in a slightly more objective fashion than is possible in the immediate aftermath of combat. Often I find it hard to detach myself from the emotions I felt during and immediately after a game and that can cloud one's judgement when it comes to assessing the merits of a game and distilling the lessons&amp;nbsp;that can be&amp;nbsp;learned from it.&lt;br /&gt;&lt;br /&gt;In this case however I felt I should make an exception to my rules purely on aesthetic grounds. There is a visual motif in this game that I found very striking indeed. Oddly, as I played the game it didn't make that much of an impact on me. In the heat of battle I just noticed a tactical opportunity and tried to exploit it. Only the following day as I replayed&amp;nbsp;the moves&amp;nbsp;did I notice the appeal of the skewer/pin that emerged on the h1-a8 diagonal.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;"In fact,"&lt;/em&gt; I thought, &lt;em&gt;"it's more like a kebab than a skewer!"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;That was when my internal jukebox gave me a jolt and in my head I heard the Steve Miller Band's "&lt;a href="http://www.youtube.com/watch?v=vWPQQbldFjw"&gt;&lt;strong&gt;Abracadabra&lt;/strong&gt;&lt;/a&gt;". Why? Well it's a bit perverse but once, years ago on a trip to Ireland, I noticed a chain of fastfood stores that was ingeniously named "&lt;a href="http://www.abrakebabra.com/"&gt;&lt;strong&gt;Abrakebabra&lt;/strong&gt;&lt;/a&gt;". Ever since that day&amp;nbsp;whenever I think of a kebab my&amp;nbsp;brain chimes in with the Steve Miller lyric only it's been changed to the fastfood store name! Funny thing the human brain. Ok, maybe it's just my brain that's funny, no need to rub it in!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I.Lewyk vs. D.Shapland&lt;/strong&gt;&lt;/div&gt;(D13) Queen's Gambit Declined: Semi-Slav, Exchange Variation&lt;br /&gt;Leeds League Division 1&lt;br /&gt;16th of November, 2011&lt;br /&gt;&lt;br /&gt;&lt;style&gt;/* General */.ahb {        font-family: Tahoma;        font-size: 10pt;}.ahb img {        border: 0px;        margin: 0px;}/* END General *//* Game header &amp; board panel */        a#flipiconAWISRG {        }                #flipiconAWISRG img {                border: 0px;        }        /* END Game header panel *//* Board */        table#game_boardAWISRG {                position: relative;                width: 296px;                height: 296px;                background: #6288b9;                left: -1px;                top: -1px;                font-size: 9px;                font-weight: bold;                color: white;        }                table#game_boardAWISRG td {                text-align: center;                padding: 0px;                margin: 0px;        }                table#game_boardAWISRG td img {                padding: 0px;                margin: 0px;                border: 0px;        }        table#game_boardAWISRG td.corner {                width: 15px;                height: 15px;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardAWISRG td.lettertop {                width: 33px;                height: 15px;                vertical-align: middle;                border-bottom: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }        table#game_boardAWISRG td.letterbottom {                width: 33px;                height: 15px;                vertical-align: middle;                border-top: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardAWISRG td.numberleft {                width: 15px;                height: 33px;                vertical-align: middle;                border-right: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }        table#game_boardAWISRG td.numberright {                width: 15px;                height: 33px;                vertical-align: middle;                border-left: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardAWISRG td.white {                background: url('http://www.chessok.com/common/images/board/white_blue.jpg') no-repeat;                width: 33px;                height: 33px;        }                table#game_boardAWISRG td.black {                background: url('http://www.chessok.com/common/images/board/black_blue.jpg') no-repeat;        }/* END Board *//* Board SVG */div#board_svgAWISRG {        position: absolute;        z-index: 10;}/* END Board SVG *//* Drop Shadow technics */        div.shadow1table {                margin-top: 5px;                background: #cfcfcf;                position: absolute;                width: 296px;                top: 3px;                left: 3px;        }                div.shadow2 {                background: #707070;                position: relative;                top: -1px;                left: -1px;        }/* END Drop Shadow technics */&lt;/style&gt;&lt;style&gt;/*----------Text Styles----------*/.unknown HR { color: #DD0000}.unknown /* unknown */{  font-size: 10pt;  font-family: "Tahoma";  font-style: normal;  font-weight: normal;  color: #DD0000;  text-decoration: none;}SPAN.text{  color: #000000;  font-size: 10pt;}SPAN.header1{  font-size: 14pt;  color: #004080;}SPAN.header2{  font-size: 12pt;  color: #004080;}SPAN.header3{  font-size: 10pt;  color: #004080;}SPAN.header{  font-size: 10pt;  color: #111111;  font-weight: bold;}SPAN.headerb{  font-size: 10pt;  color: #111111;}A.link, SPAN.link{  color: #0000FF;  text-decoration: underline;}A.RVTS5:hover { color: #5050FF; }A.line0, .line0{  font-weight: bold;  color: #2249DF;  text-decoration: none;}A.RVTS6:hover { color: #5050FF; }A.line1, .line1{  color: black;}A.RVTS7:hover { color: #5050FF; }A.line2, .line2{  color: #0049DF;}A.RVTS8:hover { color: #974B00; }.line3{}/* ---------- Container styles ----------- */div.aqscontainer {    position: relative;    height:296px;    padding-top:6px;}div.aqsnotation {    background-color: #FEFEFF;    margin-left: 305px;     max-height: 274px;     max-width: 296px;     border:solid 1px #009;     overflow-y:auto;    overflow-x:hidden;    padding: 3px;}div.aqslink {    background-color: #FEFEFF;    margin-left: 305px;     max-width: 296px;     overflow-y:auto;    overflow-x:hidden;    padding: 3px;        text-align: left;        font-size: 8pt;}/*----------Para Styles----------*/.ahb P,.ahb UL,.ahb OL /* Paragraph Style */{  font-size: 10pt;  text-align: left;  text-indent: 0px;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 0px;}.RVPS1 /* Centered */{  text-align: center;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 0px;}&lt;/style&gt;&lt;style&gt;a.footer{font-family:verdana;font-size:9px;color:#6c8abe;text-decoration:underline;line-height:12px;}.foot{font-family:verdana;font-size:9px;line-height:12px;color:#6c8abe;background:#052B69;padding-bottom:3px;margin:5px 0;}a.footer:hover{color:#ffffff}.link{cursor:pointer;}.line0{cursor:pointer;}.line1{cursor:pointer;}.line2{cursor:pointer;}.header1{margin-left: 10px;}.header2{margin-left: 10px;}.header3{margin-left: 10px;}&lt;/style&gt;&lt;script type="text/javascript"&gt;var FENsAWISRG = new Array (   "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -",   "rnbqkbnr/pppppppp/8/8/2P5/8/PP1PPPPP/RNBQKBNR b KQkq -",   "rnbqkb1r/pppppppp/5n2/8/2P5/8/PP1PPPPP/RNBQKBNR w KQkq -",   "rnbqkb1r/pppppppp/5n2/8/2P5/2N5/PP1PPPPP/R1BQKBNR b KQkq -",   "rnbqkb1r/pp1ppppp/2p2n2/8/2P5/2N5/PP1PPPPP/R1BQKBNR w KQkq -",   "rnbqkb1r/pp1ppppp/2p2n2/8/2P5/2N2N2/PP1PPPPP/R1BQKB1R b KQkq -",   "rnbqkb1r/pp2pppp/2p2n2/3p4/2P5/2N2N2/PP1PPPPP/R1BQKB1R w KQkq -",   "rnbqkb1r/pp2pppp/2p2n2/3P4/8/2N2N2/PP1PPPPP/R1BQKB1R b KQkq -",   "rnbqkb1r/pp2pppp/5n2/3p4/8/2N2N2/PP1PPPPP/R1BQKB1R w KQkq -",   "rnbqkb1r/pp2pppp/5n2/3p4/3P4/2N2N2/PP2PPPP/R1BQKB1R b KQkq -",   "rnbqkb1r/pp3ppp/4pn2/3p4/3P4/2N2N2/PP2PPPP/R1BQKB1R w KQkq -",   "rnbqkb1r/pp3ppp/4pn2/3p4/3P4/2N1PN2/PP3PPP/R1BQKB1R b KQkq -",   "rnbqk2r/pp2bppp/4pn2/3p4/3P4/2N1PN2/PP3PPP/R1BQKB1R w KQkq -",   "rnbqk2r/pp2bppp/4pn2/3p4/3P4/2NBPN2/PP3PPP/R1BQK2R b KQkq -",   "r1bqk2r/pp2bppp/2n1pn2/3p4/3P4/2NBPN2/PP3PPP/R1BQK2R w KQkq -",   "r1bqk2r/pp2bppp/2n1pn2/3p4/3P4/2NBPN2/PP3PPP/R1BQ1RK1 b kq -",   "r1bq1rk1/pp2bppp/2n1pn2/3p4/3P4/2NBPN2/PP3PPP/R1BQ1RK1 w - -",   "r1bq1rk1/pp2bppp/2n1pn2/3pN3/3P4/2NBP3/PP3PPP/R1BQ1RK1 b - -",   "r2q1rk1/pp1bbppp/2n1pn2/3pN3/3P4/2NBP3/PP3PPP/R1BQ1RK1 w - -",   "r2q1rk1/pp1bbppp/2n1pn2/3pN3/3P1P2/2NBP3/PP4PP/R1BQ1RK1 b - -",   "r2qnrk1/pp1bbppp/2n1p3/3pN3/3P1P2/2NBP3/PP4PP/R1BQ1RK1 w - -",   "r2qnrk1/pp1bbppp/2n1p3/3pN3/3P1P2/2NBP3/PP1B2PP/R2Q1RK1 b - -",   "r2qnrk1/pp1bb1pp/2n1p3/3pNp2/3P1P2/2NBP3/PP1B2PP/R2Q1RK1 w - -",   "r2qnrk1/pp1bb1pp/2n1p3/3pNp2/3P1PP1/2NBP3/PP1B3P/R2Q1RK1 b - -",   "r2qnrk1/pp1bb1pp/2n1p3/3pN3/3P1Pp1/2NBP3/PP1B3P/R2Q1RK1 w - -",   "r2qnrk1/pp1bb1pp/2n1p3/3pN3/3P1PQ1/2NBP3/PP1B3P/R4RK1 b - -",   "r2q1rk1/pp1bb1pp/2n1pn2/3pN3/3P1PQ1/2NBP3/PP1B3P/R4RK1 w - -",   "r2q1rk1/pp1bb1pp/2n1pn2/3pN3/3P1P2/2NBP2Q/PP1B3P/R4RK1 b - -",   "r3qrk1/pp1bb1pp/2n1pn2/3pN3/3P1P2/2NBP2Q/PP1B3P/R4RK1 w - -",   "r3qrk1/pp1bb1pp/2n1pn2/3pN3/3P1P2/2NBPR1Q/PP1B3P/R5K1 b - -",   "3rqrk1/pp1bb1pp/2n1pn2/3pN3/3P1P2/2NBPR1Q/PP1B3P/R5K1 w - -",   "r4rk1/pp1bb1pp/2n1pn2/3pN2q/3P1P2/2NBPR1Q/PP1B3P/R5K1 w - -",   "r4rk1/pp1bb1pp/2n1pn2/3pN2Q/3P1P2/2NBPR2/PP1B3P/R5K1 b - -",   "r4rk1/pp1bb1pp/2n1p3/3pN2n/3P1P2/2NBPR2/PP1B3P/R5K1 w - -",   "r4rk1/pp1Nb1pp/2n1p3/3p3n/3P1P2/2NBPR2/PP1B3P/R5K1 b - -",   "3rqrk1/pp1bb1pp/2n1pn2/3pN3/3P1P2/P1NBPR1Q/1P1B3P/R5K1 b - -",   "3rqrk1/pp1bb1pp/2n1pn2/3pN3/3P1P2/2NBPR1Q/PP1B3P/2R3K1 b - -",   "2brqrk1/pp2b1pp/2n1pn2/3pN3/3P1P2/2NBPR1Q/PP1B3P/2R3K1 w - -",   "2brqrk1/pp2b1pp/2n1pn2/3pN3/3P1P2/P1NBPR1Q/1P1B3P/R5K1 w - -",   "2brqrk1/pp2b1pp/2n1pn2/3pN3/3P1P2/P1NBPR1Q/1P1B3P/R6K b - -",   "2br1rk1/pp2b1pp/2n1pn2/3pN2q/3P1P2/P1NBPR1Q/1P1B3P/R6K w - -",   "2br1rk1/pp2b1pp/2n1pn2/3pN2q/3P1P2/P1NBPR2/1P1B2QP/R6K b - -",   "2br1rk1/pp2b1pp/2n1pn2/3pN2Q/3P1P2/P1NBPR2/1P1B3P/R6K b - -",   "2br1rk1/pp2b1pp/2n1p3/3pN2n/3P1P2/P1NBPR2/1P1B3P/R6K w - -",   "2br1rk1/pp2b1pp/2N1p3/3p3n/3P1P2/P1NBPR2/1P1B3P/R6K b - -",   "2br1rk1/p3b1pp/2p1p3/3p3n/3P1P2/P1NBPR2/1P1B3P/R6K w - -",   "2br1rk1/p3b1pp/2p1p3/3p3n/N2P1P2/P2BPR2/1P1B3P/R6K b - -",   "2br1rk1/pp2b1pp/4pn2/3pn2q/3P1P2/P1NBPR2/1P1B2QP/R6K w - -",   "2br1rk1/pp2b1pp/4pn2/3pP2q/5P2/P1NBPR2/1P1B2QP/R6K b - -",   "2br1rk1/pp2b1pp/4pn2/3pP2q/3P4/P1NBPR2/1P1B2QP/R6K b - -",   "2br1rk1/pp2b1pp/4p3/3pP2q/3Pn3/P1NBPR2/1P1B2QP/R6K w - -",   "2br1rk1/pp2b1pp/4p3/3pP2q/3P2n1/P1NBPR2/1P1B2QP/R6K w - -",   "2br1rk1/pp2b1pp/4p3/3pP2q/3P2n1/P1N1PR2/1P1BB1QP/R6K b - -",   "2br1Rk1/pp2b1pp/4p3/3pP2q/3Pn3/P1NBP3/1P1B2QP/R6K b - -",   "2b2rk1/pp2b1pp/4p3/3pP2q/3Pn3/P1NBP3/1P1B2QP/R6K w - -",   "2b2rk1/pp2b1pp/4p3/3pP2q/3PN3/P2BP3/1P1B2QP/R6K b - -",   "2b2rk1/pp2b1pp/4p3/4P2q/3Pp3/P2BP3/1P1B2QP/R6K w - -",   "2b2rk1/pp2b1pp/4p3/4P2q/3PB3/P3P3/1P1B2QP/R6K b - -",   "2b2rk1/p3b1pp/1p2p3/4P2q/3PB3/P3P3/1P1B2QP/R6K w - -",   "2br1rk1/pp2b1pp/4p3/3pP2q/4nP2/P1NBPR2/1P1B2QP/R6K w - -",   "2br1rk1/pp2b1pp/4p3/3pP2q/4BP2/P1N1PR2/1P1B2QP/R6K b - -",   "2br1rk1/pp2b1pp/4p3/3pP2q/4NP2/P2BPR2/1P1B2QP/R6K b - -",   "2br1rk1/pp2b1pp/4p3/4P2q/4pP2/P2BPR2/1P1B2QP/R6K w - -",   "2br1rk1/pp2b1pp/4p3/4P2q/4BP2/P3PR2/1P1B2QP/R6K b - -",   "2br1rk1/pp2b1pp/4p3/4P2q/4pP2/P1N1PR2/1P1B2QP/R6K w - -",   "2br1rk1/pp2b1pp/4p3/4P2q/4NP2/P3PR2/1P1B2QP/R6K b - -",   "2br1rk1/p3b1pp/1p2p3/4P2q/4NP2/P3PR2/1P1B2QP/R6K w - -",   "2br1rk1/p3b1pp/1p2p3/4P2q/4NP2/P3PR2/1P1B2QP/6RK b - -",   "2br1rk1/p3b1pp/1p2p3/4P2q/4NP2/P3P2R/1P1B2QP/R6K b - -",   "2br1rk1/p3bqpp/1p2p3/4P3/4NP2/P3P2R/1P1B2QP/R6K w - -",   "2br1rk1/p3bqpp/1p2p3/4P3/4NP2/P3P2R/1P1B2QP/6RK b - -",   "2br1rk1/p3bqpp/1p2p3/4P3/1B2NP2/P3P2R/1P4QP/R6K b - -",   "3r1rk1/pb2bqpp/1p2p3/4P3/4NP2/P3P2R/1P1B2QP/6RK w - -",   "3r1rk1/pb2bqpp/1p2p3/4P3/1B2NP2/P3P2R/1P4QP/6RK b - -",   "3r1rk1/pb3qpp/1p2p3/4P3/1b2NP2/P3P2R/1P4QP/6RK w - -",   "2r2rk1/pb2bqpp/1p2p3/4P3/1B2NP2/P3P2R/1P4QP/6RK w - -",   "2r2rk1/pb2Bqpp/1p2p3/4P3/4NP2/P3P2R/1P4QP/6RK b - -",   "2r2rk1/pb2q1pp/1p2p3/4P3/4NP2/P3P2R/1P4QP/6RK w - -",   "2r2rk1/pb2q1pp/1p2p3/4P3/4NP2/P3P1R1/1P4QP/6RK b - -",   "2r2rk1/pb2q2p/1p2p1p1/4P3/4NP2/P3P1R1/1P4QP/6RK w - -",   "3r1rk1/pb3qpp/1p2pN2/4P3/1b3P2/P3P2R/1P4QP/6RK b - -",   "3r1rk1/pb4pp/1p2pq2/4P3/1b3P2/P3P2R/1P4QP/6RK w - -",   "3r1rk1/pQ4pp/1p2pq2/4P3/1b3P2/P3P2R/1P5P/6RK b - -",   "3r1rk1/pQ2q1pp/1p2p3/4P3/1b3P2/P3P2R/1P5P/6RK w - -",   "3r1rk1/p3q1pp/1p2p3/4P3/1b2QP2/P3P2R/1P5P/6RK b - -",   "3r1rk1/p3q2p/1p2p1p1/4P3/1b2QP2/P3P2R/1P5P/6RK w - -",   "3r1rk1/p3q2p/1p2p1p1/4P3/1P2QP2/4P2R/1P5P/6RK b - -",   "2br2k1/p3brpp/1p2p3/4P2q/4NP2/P3PR2/1P1B2QP/6RK w - -",   "2br2k1/p3brpp/1p2p3/4P2q/4NP2/P3P1R1/1P1B2QP/6RK b - -",   "2br2k1/p3brpp/1p2p3/4P2q/4NP2/P3P2R/1P1B2QP/6RK b - -",   "2br2k1/p3brpp/1p2p1q1/4P3/4NP2/P3P2R/1P1B2QP/6RK w - -",   "2br2k1/p3brpp/1p2p1q1/4P3/4NP2/P3PQ1R/1P1B3P/6RK b - -",   "2br2k1/p3brpp/1p2p3/4Pq2/4NP2/P3PQ1R/1P1B3P/6RK w - -",   "2br2k1/p3brpp/1p2p3/4Pq1R/4NP2/P3PQ2/1P1B3P/6RK b - -",   "3r2k1/pb2brpp/1p2p3/4Pq1R/4NP2/P3PQ2/1P1B3P/6RK w - -",   "3r2k1/pb2brpp/1p2p3/4PR2/4NP2/P3PQ2/1P1B3P/6RK b - -",   "3r2k1/pb2brpp/1p6/4Pp2/4NP2/P3PQ2/1P1B3P/6RK w - -",   "3r2k1/pb2brpp/1p6/4Pp2/4NP2/P3P3/1P1BQ2P/6RK b - -",   "3r2k1/p3brpp/1p6/4Pp2/4bP2/P3P3/1P1BQ2P/6RK w - -",   "3r2k1/p3brpp/1p6/4Pp2/4bP2/P3P3/1P1BQ1RP/7K b - -",   "3r2k1/p4rpp/1p6/2b1Pp2/4bP2/P3P3/1P1BQ1RP/7K w - -",   "2br2k1/p3brpp/1p2p2q/4P3/4NP2/P3P1R1/1P1B2QP/6RK w - -",   "2br2k1/p3brpp/1p2p2q/4P3/4NP2/P1B1P1R1/1P4QP/6RK b - -",   "2br2k1/p3brpp/1p2p2q/4P3/4NP2/P3P2R/1P1B2QP/6RK b - -",   "2br2k1/p3brpp/1p2p1q1/4P3/4NP2/P3P2R/1P1B2QP/6RK w - -",   "2br2k1/p3brpp/1p2p1q1/4P3/4NP2/P3PQ1R/1P1B3P/6RK b - -",   "2br2k1/p3brpp/1p2p3/4Pq2/4NP2/P3PQ1R/1P1B3P/6RK w - -",   "2br2k1/p3brpp/1p2p3/4Pq1R/4NP2/P3PQ2/1P1B3P/6RK b - -",   "3r2k1/pb2brpp/1p2p3/4Pq1R/4NP2/P3PQ2/1P1B3P/6RK w - -",   "3r2k1/pb2brpp/1p2p2q/4P3/4NP2/P1B1P1R1/1P4QP/6RK w - -",   "3r2k1/pb2brpp/1p2p2q/4P3/4NP2/P1B1PQR1/1P5P/6RK b - -",   "6k1/pb2brpp/1p2p2q/4P3/4NP2/P1BrPQR1/1P5P/6RK w - -",   "6k1/pb2brpp/1p2p2q/4P3/4NP2/P1BrPQ1R/1P5P/6RK b - -",   "6k1/pb2brpp/1p2p2q/4P3/1B2NP2/P2rPQR1/1P5P/6RK b - -",   "6k1/pb3rpp/1p2p2q/4P3/1b2NP2/P2rPQR1/1P5P/6RK w - -",   "6k1/pb3rpp/1p2p2q/4P3/1P2NP2/3rPQR1/1P5P/6RK b - -",   "6k1/pbr3pp/1p2p2q/4P3/1P2NP2/3rPQR1/1P5P/6RK w - -",   "6k1/pb2brpp/1p2p2q/4P3/4NP2/P1BrPQR1/1P5P/2R4K b - -",   "6k1/pb3rpp/1p2p2q/2b1P3/4NP2/P1BrPQR1/1P5P/2R4K w - -",   "6k1/pb3rpp/1p2p2q/2b1P3/4NP2/P1BrPQR1/1P5P/4R2K b - -",   "7k/pb3rpp/1p2p2q/2b1P3/4NP2/P1BrPQR1/1P5P/4R2K w - -",   "7k/pb3rpp/1p2p2q/2b1P3/4NP2/P1BrPQR1/1P5P/4R1K1 b - -",   "7k/pb3rpp/1p2p3/2b1P3/4NP1q/P1BrPQR1/1P5P/4R1K1 w - -",   "7k/pb3rpp/1p2p3/2N1P3/5P1q/P1BrPQR1/1P5P/4R1K1 b - -",   "7k/p4rpp/1p2p3/2N1P3/5P1q/P1BrPbR1/1P5P/4R1K1 w - -",   "7k/p4rpp/1p2p3/4P3/5P1q/P1BNPbR1/1P5P/4R1K1 b - -",   "7k/pb3rpp/1p2p3/4P3/5P1q/P1BNP1R1/1P5P/4R1K1 w - -",   "6k1/pb2brpp/1p2pN1q/4P3/5P2/P1BrPQR1/1P5P/6RK b - -",   "6k1/pb3rpp/1p2pb1q/4P3/5P2/P1BrPQR1/1P5P/6RK w - -",   "6k1/pQ3rpp/1p2pb1q/4P3/5P2/P1BrP1R1/1P5P/6RK b - -",   "6k1/pr4pp/1p2pb1q/4P3/5P2/P1BrP1R1/1P5P/6RK w - -",   "6k1/pr4pp/1p2pP1q/8/5P2/P1BrP1R1/1P5P/6RK b - -",   "6k1/pr4pp/1p2pP1q/8/5P2/P1r1P1R1/1P5P/6RK w - -",   "6k1/pr4pp/1p2pP1q/8/5P2/P1P1P1R1/7P/6RK b - -",   "6k1/pr4pp/1p2pq2/8/5P2/P1P1P1R1/7P/6RK w - -",   "6k1/pb2brpp/1p2p3/4P3/4NP2/P1BrPQ1q/1P5P/6RK w - -",   "6k1/pb2brpp/1p2p3/4P3/4NP2/P1BrP2Q/1P5P/6RK b - -",   "6k1/p3brpp/1p2p3/4P3/4bP2/P1BrP2Q/1P5P/6RK w - -",   "6k1/p3brpp/1p2p3/4P3/4bP2/P1BrP3/1P4QP/6RK b - -",   "6k1/p3brpp/1p2p3/4P3/4bP2/P1BrP2Q/1P4RP/7K b - -",   "6k1/p3brpp/1p2p3/4P3/4bP2/P1B1P2Q/1P4RP/3r3K w - -",   "6k1/p3brpp/1p2p3/4P3/5P2/P1BrP3/1P4bP/6RK w - -",   "6k1/p3brpp/1p2p3/4P3/5P2/P1BrP3/1P4KP/6R1 b - -",   "6k1/p4rpp/1p2p3/4P3/5P2/b1BrP3/1P4KP/6R1 w - -",   "6k1/p4rpp/1p2p3/4P3/5P2/b1BrPK2/1P5P/6R1 b - -");var VarLevelsAWISRG = new Array (   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   0,0,0,0,1,1,1,1,0,1,1,0,0,0,0,1,1,1,1,1,0,0,1,1,2,2,1,   1,1,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,2,1,1,1,2,2,2,2,2,1,   1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,   1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,   0,0,0,0,1,1,0,0,0,0);var MoveNumsAWISRG = new Array (   0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,   27,28,29,30,30,31,32,33,31,31,32,32,33,34,35,35,36,37,38,39,36,37,37,38,38,39,39,   40,41,42,43,44,38,39,39,40,41,40,41,42,43,43,44,45,45,46,47,48,48,49,50,51,52,49,   50,51,52,53,54,55,44,45,45,46,47,48,49,50,51,52,53,54,55,56,46,47,47,48,49,50,51,   52,48,49,50,51,51,52,53,54,51,52,53,54,55,56,57,58,59,60,51,52,53,54,55,56,57,58,   52,53,54,55,55,56,56,57,58,59);&lt;/script&gt;&lt;script type="text/javascript"&gt;function chessBoardAWISRG() {        // Board square notation        this.numbers = [0, 8, 7, 6, 5, 4, 3, 2, 1];        this.letters = ["0", "a", "b", "c", "d", "e", "f", "g", "h"];        // Variables used to load/save FEN        // The piece to move now        this.currentMove;        // State of castling        this.castling;        // If there's enpassant pawn        this.enPassant;        // Number of halfmoves        this.halfMoves;        // Full number of moves        this.fullMoves;        // Holds references to pieces         // piece object contains name, color and reference to board square its in        this.pieces = [];        // Board squares        // These that hold a piece contain reference to piece object (so board squares and piece are circle referenced)        this.squares = [];        this.squares["a"] = [];        this.squares["b"] = [];        this.squares["c"] = [];        this.squares["d"] = [];        this.squares["e"] = [];        this.squares["f"] = [];        this.squares["g"] = [];        this.squares["h"] = [];        for(var keyVar in this.squares) {                for(var j = 1; j &lt;= 8; j++) {                        this.squares[keyVar][j] = new boardSquare(keyVar, j);                }        }}// Prototype function used to load FEN into boardchessBoardAWISRG.prototype.loadFEN =         function(FEN) {                for(var keyVar in this.squares) {                  if (/^[a-f]$/.test(keyVar)) {                        for(var j = 1; j &lt;= 8; j++) {                                this.squares[keyVar][j].piece = null;                        }                  }                }                delete this.pieces;                this.pieces = [];                var FENArray = FEN.split(" ");                var boardArray = FENArray[0].split("/");                for(var lines = 1; lines &lt;= 8; lines++) {                        var line = boardArray[lines - 1].split("");                        var colsY = 1;                        for(var cols = 1; cols &lt;= line.length; cols++) {                                var letter = line[cols - 1];                                var color;                                if (/[rbqkpn]/.test(letter)) {                                        color = "black";                                } else if (/[RBQKPN]/.test(letter)) {                                        color = "white";                                } else {                                        colsY = parseInt(colsY) + parseInt(letter);                                        continue;                                }                                switch(letter.toLowerCase()) {                                        case "r":                                                name = "rook";                                                break;                                        case "b":                                                name = "bishop";                                                break;                                        case "q":                                                name = "queen";                                                break;                                        case "k":                                                name = "king";                                                break;                                        case "p":                                                name = "pawn";                                                break;                                        case "n":                                                name = "knight";                                                break;                                        default:                                                break;                                }                                var x = this.letters[colsY];                                var y = this.numbers[lines];                                this.addPiece(name, color, x, y);                                colsY++;                        }                }                if (FENArray[1] == "b")                        this.currentMove = "black";                else                        this.currentMove = "white";                this.castling = FENArray[2];                this.enPassant = FENArray[3];                this.halfMoves = FENArray[4];                this.fullMoves = FENArray[5];        }// Create piece objects and place a reference to them for square they're inchessBoardAWISRG.prototype.addPiece =         function(name, color, x, y) {                var newPiece = new boardPiece(name, color);                newPiece.square = this.squares[x][y];                this.pieces.push(newPiece);                this.squares[x][y].piece = newPiece;        }// MoveHandlerchessBoardAWISRG.prototype.moveHandler =        function(piece, fromX, fromY, toX, toY, capture, promotion, promoteTo, varNum) {                // Make piece move                this.makeMove(fromX, fromY, toX, toY, capture);                if (piece == "pawn") {                        // White pawns move "up", black move "down"                        var mod;                        if (this.currentMove == "white")                                 mod = 1;                        else                                mod = -1;                        // if enPassant capture, manually remove piece, as makeMove is simple and doesn't handle this                        if (capture &amp;&amp; toX + toY == this.enPassant) {                                this.squares[toX][toY - mod].piece.square = null;                                this.squares[toX][toY - mod].piece = null;                        }                        // Set enPassant if needed                        if (Math.abs(toY - fromY) == 2)                                this.enPassant = toX + (parseInt(toY) - mod);                        else                                this.enPassant = "-";                        // Set the promotion piece if so                        if(promotion) {                                this.squares[toX][toY].piece.name = promoteTo;                        }                } else {                        this.enPassant = "-";                        // Handle castling if rook moves                        if (piece == "rook" &amp;&amp; this.castling != "-") {                                if (fromX == "a" &amp;&amp; fromY == 8) {                                        this.castling = this.castling.replace(/q/, "");                                } else if (fromX == "h" &amp;&amp; fromY == 8) {                                        this.castling = this.castling.replace(/k/, "");                                } else if (fromX == "a" &amp;&amp; fromY == 1) {                                        this.castling = this.castling.replace(/Q/, "");                                } else if (fromX == "h" &amp;&amp; fromY == 1) {                                        this.castling = this.castling.replace(/K/, "");                                }                        }                        if (piece == "king" &amp;&amp; this.castling != "-") {                                if (this.currentMove == "white") {                                        this.castling = this.castling.replace(/K/, "");                                        this.castling = this.castling.replace(/Q/, "");                                } else {                                        this.castling = this.castling.replace(/k/, "");                                        this.castling = this.castling.replace(/q/, "");                                }                        }                        // If castling is empty after above                        if (this.castling == "") {                                this.castling = "-";                        }                }                if(piece == "pawn" || promotion || capture) {                        this.halfMoves = 0;                } else {                        this.halfMoves++;                }                if (this.currentMove == "black")                        this.fullMoves++;                this.switchMove();        }// Handles the castlingchessBoardAWISRG.prototype.castle =         function(castling) {                var line;                if (this.currentMove == "white")                        line = 1;                else                        line = 8;                                        if (/^O-O\+?$/.test(castling)) {                        this.makeMove("e", line, "g", line);                        this.makeMove("h", line, "f", line);                } else {                        this.makeMove("e", line, "c", line);                        this.makeMove("a", line, "d", line);                }                var castlestrip;                if (this.currentMove == "white")                        castlestrip = /[KQ]/g;                else                        castlestrip = /[kq]/g;                this.enPassant = "-";                this.halfMoves++;                if (this.currentMove == "black")                        this.fullMoves++;                this.castling = this.castling.replace(castlestrip, "");                if (this.castling == "")                        this.castling = "-";                this.switchMove();        }// Search for pieces by name, color and either (or both) of coordinates// Returns an array of matches - corresponding indexes of pieces arraychessBoardAWISRG.prototype.getPiece =         function(name, color, x, y) {                var result = new Array();                for(var i = 0; i &lt; this.pieces.length; i++) {                        if (this.pieces[i].name == name &amp;&amp; this.pieces[i].color == color &amp;&amp; this.pieces[i].square != null &amp;&amp; ((x &amp;&amp; this.pieces[i].square.x == x) || !x) &amp;&amp; ((y &amp;&amp; this.pieces[i].square.y == y) || !y)) {                                result.push(i);                        }                }                return result;        }// Switches the current movechessBoardAWISRG.prototype.switchMove =        function() {                if (this.currentMove == "white")                        this.currentMove = "black";                else                        this.currentMove = "white";        }// Simple move function with from&amp;to variableschessBoardAWISRG.prototype.makeMove =        function(fromX, fromY, toX, toY, capture) {                var previousPiece = this.squares[fromX][fromY].piece;                previousPiece.square = this.squares[toX][toY];                if (capture &amp;&amp; this.squares[toX][toY].piece != null) {                        this.squares[toX][toY].piece.square = null;                }                this.squares[toX][toY].piece = previousPiece;                this.squares[fromX][fromY].piece = null;        }// Returns current FENchessBoardAWISRG.prototype.currentFEN =        function(reduced) {                var FEN="";                for (var num = 8; num &gt;= 1; num--) {                        var emptyCounter = 0;                        for (var keyVar in this.squares) {                                if (this.squares[keyVar][num].piece != null) {                                        if (emptyCounter != 0) {                                                FEN += emptyCounter;                                                emptyCounter = 0;                                        }                                        var pieceName = this.squares[keyVar][num].piece.name;                                        var pieceColor = this.squares[keyVar][num].piece.color;                                        switch (pieceName) {                                                case "rook":                                                name = "r";                                                break;                                        case "bishop":                                                name = "b";                                                break;                                        case "queen":                                                name = "q";                                                break;                                        case "king":                                                name = "k";                                                break;                                        case "pawn":                                                name = "p";                                                break;                                        case "knight":                                                name = "n";                                                break;                                        default:                                                break;                                        }                                        if (pieceColor == "white") {                                                name = name.toUpperCase();                                                FEN += name;                                        }                                        else                                                 FEN += name;                                } else                                        emptyCounter++;                        }                        if (emptyCounter != 0)                                FEN += emptyCounter;                        if (num != 1)                                FEN += "/";                }                FEN += " " + this.currentMove.substr(0,1);                FEN += " " + this.castling;                FEN += " " + this.enPassant;                if (!reduced) {                        FEN += " " + this.halfMoves;                        FEN += " " + this.fullMoves;                }                return FEN;        }// Board Squarefunction boardSquare(x, y) {        this.x = x;        this.y = y;        this.piece;}// Board Piecefunction boardPiece(name, color) {        // Each piece hold the reference to they square it's in        this.square;        this.name = name;        this.color = color;}&lt;/script&gt;&lt;script type="text/javascript"&gt;function GUIAWISRG() {        var numbers = [8, 7, 6, 5, 4, 3, 2, 1];        var letters = ["a", "b", "c", "d", "e", "f", "g", "h"];        var letter = [];        letter["a"] = 1;        letter["b"] = 2;        letter["c"] = 3;        letter["d"] = 4;        letter["e"] = 5;        letter["f"] = 6;        letter["g"] = 7;        letter["h"] = 8;                if (navigator.appName == "Microsoft Internet Explorer" &amp;&amp; navigator.appVersion.match(/MSIE 6\./)) {                var ie6 = true;        }                try {                var canvas = Raphael("board_svgAWISRG", 262, 262);        } catch (e) {                        }        this.arrow;        this.startPoint;        // If board is flipped        this.flipped = false;        this.drawBoardPosition =        function(board) {                var square;                for(var rows = 1; rows &lt;= 8; rows++) {                        for(var cols = 1; cols &lt;= 8; cols++) {                                square = document.getElementById("square" + rows + cols + "AWISRG");                                while (square.childNodes[0]) {                                        square.removeChild(square.childNodes[0]);                                }                        }                }                var GUIsquare;                var piece;                var square;                var shortName;                for(var i = 0; i &lt; board.pieces.length; i++) {                        var piece = board.pieces[i];                        var square = piece.square;                        if (square != undefined) {                                GUIsquare = this.getGUISquare(square.x, square.y);                                if (piece.name != "knight")                                        shortName = piece.name.charAt(0);                                else                                        shortName = "n";                                var pieceImg = document.createElement("IMG");                                pieceImg.id = "piece" + square.x + square.y;                                pieceImg.src = "http://www.chessok.com/common/images/pieces/classic/33" + (ie6? "gif" : "") + "/" + piece.color.charAt(0) + shortName + (ie6? ".gif" : ".png");                                GUIsquare.appendChild(pieceImg);                                pieceImg.style.verticalAlign = 'top';                        }                }                                this.drawCoordinates();                /*if (this.arrow) {                        this.arrow.remove();                        this.arrow = undefined;                }                if (this.startPoint) {                        this.startPoint.remove();                        this.startPoint = undefined;                }                var id = game.notationMove;                if(id != "start") {                        var fromX = game.displayNotation[id]["fromto"].fromX;                        var fromY = game.displayNotation[id]["fromto"].fromY;                        var toX = game.displayNotation[id]["fromto"].toX;                        var toY = game.displayNotation[id]["fromto"].toY;                        var knight = (game.displayNotation[id]["token"].charAt(0) == "N" ? true : false);                        this.drawArrow(fromX, fromY, toX, toY, knight);                } else {                        if (this.arrow) {                                this.arrow.remove();                                this.arrow = undefined;                        }                }*/        }        // Rotates the board        this.flipBoard =        function() {                document.getElementById("flipiconAWISRG").blur();                if (this.flipped)                        this.flipped = false;                else                        this.flipped = true;                this.drawBoardPosition(boardAWISRG);        }        // Draws the coordinates according to this.flipped state        this.drawCoordinates=        function() {                var lttr;                var nmbr;                for (var i = 0; i &lt; letters.length; i++) {                        if (this.flipped) {                                lttr = letters[7 - i];                                nmbr = 8 - i;                        } else {                                lttr = letters[i];                                nmbr = i + 1;                        }                        var holder = document.getElementById("top" + letters[i] + "AWISRG");                        holder.firstChild.nodeValue = lttr.toUpperCase();                        holder = document.getElementById("bottom" + letters[i] + "AWISRG");                        holder.firstChild.nodeValue = lttr.toUpperCase();                        holder = document.getElementById("left" + parseInt(i + 1) + "AWISRG");                        holder.firstChild.nodeValue = nmbr;                        holder = document.getElementById("right" + parseInt(i + 1) + "AWISRG");                        holder.firstChild.nodeValue = nmbr;                }        }                this.drawArrow =        function(fromX, fromY, toX, toY, knight) {                //alert(fromX + fromY + toX + toY);                var fX = letter[fromX];                var fY = 9 - fromY;                var tX = letter[toX];                var tY = 9 - toY;                if (this.flipped) {                        fX = 9 - fX;                        fY = 9 - fY                        tX = 9 - tX;                        tY = 9 - tY                }                fX = fX * 50 - 25 + 17;                fY = fY * 50 - 25 + 21;                tX = tX * 50 - 25 + 17;                tY = tY * 50 - 25 + 21;                                if (this.arrow) {                        this.arrow.remove();                }                                var lX = Math.abs(tX - fX);                var lY = Math.abs(tY - fY);                var tL = Math.sqrt(lX*lX + lY*lY);                var mod = -1*lX / (tX - fX);                if (lX == 0) {                        var rotationAngle = 0;                } else {                        var rotationAngle = - Math.atan((tX - fX)/(tY - fY));                }                                if (lY == 0) {                        rotationAngle = - rotationAngle;                } else if (tY &gt; fY) {                        rotationAngle = Math.PI + rotationAngle;                }                rotationAngle = rotationAngle / Math.PI * 180;        try {                //var c = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.66}).moveTo(fX, fY).lineTo(fX - 5, fY - tL + 15);                if (knight) {                        var sq = Math.sqrt(50*50/2);                        //this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).qcurveTo(fX - 5 + mod*sq, fY - 1.5*sq, fX - 5 + mod*sq, fY - 3*sq + 15).lineTo(fX - 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + mod*sq, fY - 3*sq).lineTo(fX + 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + 5 + mod*sq, fY - 3*sq + 15).qcurveTo(fX + 5 + mod*sq, fY - 1.5*sq, fX, fY);                        this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).curveTo(fX - 2 + 0.5*mod*sq, fY - sq, fX - 5 + mod*sq, fY - 1.5*sq, fX - 5 + mod*sq, fY - 3*sq + 15).lineTo(fX - 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + mod*sq, fY - 3*sq).lineTo(fX + 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + 5 + mod*sq, fY - 3*sq + 15).curveTo(fX + 5 + mod*sq, fY - 1.5*sq, fX + 2 + 0.5*mod*sq, fY - sq, fX, fY);                        var knightAngle = Math.atan(1/3) / Math.PI * 180;                        this.arrow.rotate(rotationAngle - mod*knightAngle, fX, fY);                        //alert(/Math.PI * 180);                } else {                        this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).lineTo(fX - 5, fY - tL + 15).lineTo(fX - 15, fY - tL + 20).lineTo(fX, fY - tL).lineTo(fX + 15, fY - tL + 20).lineTo(fX + 5, fY - tL + 15).lineTo(fX, fY);                        this.arrow.rotate(rotationAngle, fX, fY);                }                this.startPoint = canvas.circle(fX, fY, 10);                this.startPoint.attr({fill: "#ff0", stroke: "#000", opacity: 0.25});        } catch (e) {                        }        }        // Returns the GUI square reference given the board coordinates;        this.getGUISquare =        function(x, y) {                if (!this.flipped) {                        x = letter[x];                        y = 9 - y;                } else {                        x = 9 - letter[x];                }                return document.getElementById("square" + x + y + "AWISRG");        }        // Returns the board coordinates given the id of GUI square        this.getSquare =        function(id) {                if (id.match(/piece/)) {                        return {x: id.charAt(5), y: id.charAt(6)};                }                if (!this.flipped) {                        x = letters[id.charAt(6) - 1];                        y = 9 - id.charAt(7);                } else {                        x = letters[8 - id.charAt(6)];                        y = id.charAt(7);                }                return {x: x, y: y};        }        this.addClass =        function(target, classValue) {                if (!this.hasClass(target, classValue))                        if (target.className == "")                                target.className = classValue;                        else                                target.className += " " + classValue;                return true;        }        this.removeClass =        function(target, classValue) {                if(this.hasClass(target, classValue)) {                        var removedClass = target.className;                        var pattern = new RegExp("(^| )" + classValue + "( |$)");                        removedClass = removedClass.replace(pattern, "$1");                        removedClass = removedClass.replace(/ $/, "");                        target.className = removedClass;                }                return true;        }        this.hasClass =        function(target, classValue) {                var pattern = new RegExp("(^| )" + classValue + "( |$)");                    if (target.className.match(pattern))                        return true;                return false;        }}&lt;/script&gt;&lt;script type="text/javascript"&gt;//&lt;!--eval(function(p,a,c,k,e,r){e=function(c){return(c&lt;a?'':e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('11 2x=(14(){11 u=/[, ]+/,V,1w=4N,3v=5Z,R=14(){17 V.2e(R,18)};R.4O="0.7.2";R.1v=(3v.60?"4e":"3P");R.2f=!(R.2a=R.1v=="3P");R.4f=0;11 v={};R.3w={};11 z={cx:0,1J:0,1x:"#4g","1x-1p":1,1z:\'61 "4P"\',"1z-3x":\'"4P"\',"1z-2G":"10",2g:0,1g:0,1p:1,1l:"4h,0",r:0,2R:0,2h:0,2i:0,2H:"1 1",2I:"",1i:"#22","1i-2J":"","1i-2Z":"3j","1i-3y":"3j","1i-3z":0,"1i-1p":1,"1i-1d":1,2K:"0 0",1d:0,x:0,y:0},3Q={cx:"1T",1J:"1T",1x:"3R","1x-1p":"1T","1z-2G":"1T",1g:"1T",1p:"1T",1l:"1l",r:"1T",2R:"3A",2h:"1T",2i:"1T",2H:"3A",1i:"3R","1i-1p":"1T","1i-1d":"1T",2K:"3A",1d:"1T",x:"1T",y:"1T"},1X=["62","63","64","65","4Q","4R","66"];R.1G=14(){17"67 68 "+(9.2a?"69\'t ":"")+"6a"+(9.2f?"s":"")+" 4e.\\6b 6c 6d "+6e("6f%6g%20")+9.4O};R.6h=14(a){3v=a;1w=3v.4N};R.3S=14(a,c,d){13(1u a=="3k"&amp;&amp;"h"1E a&amp;&amp;"s"1E a&amp;&amp;"b"1E a){d=a.b;c=a.s;a=a.h}11 e,1Y,1Z;13(d==0){17{r:0,g:0,b:0,23:"#22"}}13(a&gt;1||c&gt;1||d&gt;1){a/=2L;c/=2L;d/=2L}11 i=1b.6i(a*6),f=(a*6)-i,p=d*(1-c),q=d*(1-(c*f)),t=d*(1-(c*(1-f)));e=[d,q,p,p,t,d,d][i];1Y=[t,d,d,q,p,p,t][i];1Z=[p,p,t,d,d,q,p][i];e*=2L;1Y*=2L;1Z*=2L;11 h={r:e,g:1Y,b:1Z};11 r=1b.1j(e).1G(16);13(r.19==1){r="0"+r}11 g=1b.1j(1Y).1G(16);13(g.19==1){g="0"+g}11 b=1b.1j(1Z).1G(16);13(b.19==1){b="0"+b}h.23="#"+r+g+b;17 h};R.6j=14(a,b,c){13(1u a=="3k"&amp;&amp;"r"1E a&amp;&amp;"g"1E a&amp;&amp;"b"1E a){c=a.b;b=a.g;a=a.r}13(1u a=="2j"){11 d=A(a);a=d.r;b=d.g;c=d.b}13(a&gt;1||b&gt;1||c&gt;1){a/=2L;b/=2L;c/=2L}11 e=1b.30(a,b,c),2M=1b.2M(a,b,c),2y,4i,4S=e;13(2M==e){17{h:0,s:0,b:e}}1o{11 f=(e-2M);4i=f/e;13(a==e){2y=(b-c)/f}1o 13(b==e){2y=2+((c-a)/f)}1o{2y=4+((a-b)/f)}2y/=6;13(2y&lt;0){2y+=1}13(2y&gt;1){2y-=1}}17{h:2y,s:4i,b:4S}};11 A=14(a){11 c={6k:"#6l",6m:"#6n",6o:"#6p",6q:"#4T",6r:"#6s",6t:"#6u",6v:"#6w",6x:"#6y",6z:"#22",6A:"#6B",1Z:"#6C",6D:"#6E",6F:"#6G",6H:"#6I",6J:"#6K",6L:"#6M",6N:"#6O",6P:"#6Q",6R:"#6S",6T:"#6U",6V:"#6W",6X:"#4T",6Y:"#6Z",70:"#71",72:"#73",74:"#76",77:"#78",79:"#7a",7b:"#7c",7d:"#7e",7f:"#7g",7h:"#7i",7j:"#7k",7l:"#7m",7n:"#7o",7p:"#7q",7r:"#7s",7t:"#7u",7v:"#7w",7x:"#7y",7z:"#7A",7B:"#7C",7D:"#7E",7F:"#7G",7H:"#7I",7J:"#7K",7L:"#4U",7M:"#7N",7O:"#7P",7Q:"#7R",7S:"#7T",7U:"#7V",1Y:"#7W",7X:"#7Y",7Z:"#80",81:"#82",83:"#84",85:"#86",87:"#88",89:"#8a",8b:"#8c",8d:"#8e",8f:"#8g",8h:"#8i",8j:"#8k",8l:"#8m",8n:"#8o",8p:"#8q",8r:"#8s",8t:"#8u",8v:"#8w",4V:"#4W",4V:"#4W",8x:"#8y",8z:"#8A",8B:"#8C",8D:"#8E",8F:"#8G",8H:"#8I",8J:"#8K",8L:"#8M",8N:"#4U",8O:"#8P",8Q:"#8R",8S:"#8T",8U:"#8V",8W:"#8X",8Y:"#8Z",4X:"#4Y",4X:"#4Y",91:"#92",93:"#94",95:"#96",97:"#98",99:"#9a",9b:"#9c",9d:"#9e",9f:"#9g",9h:"#9i",9j:"#9k",9l:"#9m",9n:"#9o",9p:"#9q",9r:"#9s",9t:"#9u",9v:"#9w",9x:"#9y",9z:"#9A",9B:"#9C",9D:"#9E",9F:"#9G",9H:"#9I",9J:"#9K",9L:"#9M",9N:"#9O",9P:"#9Q",9R:"#9S",9T:"#9U",9V:"#9W",9X:"#9Y",9Z:"#a0",a1:"#a2",a3:"#a4",a5:"#a6",a7:"#a8",a9:"#aa",ab:"#ac",ad:"#ae",af:"#ag",ah:"#ai",aj:"#ak",al:"#am",an:"#ao",ap:"#aq",as:"#au",av:"#aw",ax:"#ay",az:"#aA",aB:"#aC",aD:"#4g",aE:"#aF",aG:"#aH",aI:"#aJ"};13(a.1G().2z()1E c){a=c[a.1G().2z()]}13(!a){17{r:0,g:0,b:0,23:"#22"}}13(a=="1U"){17{r:-1,g:-1,b:-1,23:"1U"}}11 d,1Y,1Z,e=a.3T(/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|4j\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4j\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\)|4Z\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4Z\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\))\\s*$/i);13(e){13(e[2]){1Z=31(e[2].2s(5),16);1Y=31(e[2].2s(3,5),16);d=31(e[2].2s(1,3),16)}13(e[3]){1Z=31(e[3].2s(3)+e[3].2s(3),16);1Y=31(e[3].2s(2,3)+e[3].2s(2,3),16);d=31(e[3].2s(1,2)+e[3].2s(1,2),16)}13(e[4]){e=e[4].26(/\\s*,\\s*/);d=1c(e[0],10);1Y=1c(e[1],10);1Z=1c(e[2],10)}13(e[5]){e=e[5].26(/\\s*,\\s*/);d=1c(e[0],10)*2.55;1Y=1c(e[1],10)*2.55;1Z=1c(e[2],10)*2.55}13(e[6]){e=e[6].26(/\\s*,\\s*/);d=1c(e[0],10);1Y=1c(e[1],10);1Z=1c(e[2],10);17 2x.3S(d,1Y,1Z)}13(e[7]){e=e[7].26(/\\s*,\\s*/);d=1c(e[0],10)*2.55;1Y=1c(e[1],10)*2.55;1Z=1c(e[2],10)*2.55;17 2x.3S(d,1Y,1Z)}11 e={r:d,g:1Y,b:1Z};11 r=1b.1j(d).1G(16);(r.19==1)&amp;&amp;(r="0"+r);11 g=1b.1j(1Y).1G(16);(g.19==1)&amp;&amp;(g="0"+g);11 b=1b.1j(1Z).1G(16);(b.19==1)&amp;&amp;(b="0"+b);e.23="#"+r+g+b;17 e}1o{17{r:-1,g:-1,b:-1,23:"1U"}}};R.50=14(a){11 b=18.3U.2A=18.3U.2A||{h:0,s:1,b:a||.75};11 c=2x.3S(b.h,b.s,b.b);b.h+=.aK;13(b.h&gt;1){b.h=0;b.s-=.2;13(b.s&lt;=0){18.3U.2A={h:0,s:1,b:b.b}}}17 c.23};R.50.aL=14(){9.2A=1N};R.32=14(e){11 f={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},3V=[],1G=14(){11 a="";1n(11 i=0,1q=9.19;i&lt;1q;i++){a+=9[i][0]+9[i].1K(",").2s(2)}17 a};13(e.1G.1G()==1G.1G()){17 e}e.3W(/([aM])[\\s,]*((-?\\d*(?:e-?\\d+|\\.?\\d*)\\s*,?\\s*)+)/51,14(a,b,c){11 d=[],3X=b.2z();c.3W(/(-?\\d*(?:e-?\\d+|\\.?\\d*))\\s*,?\\s*/51,14(a,b){b&amp;&amp;d.1V(+b)});4k(d.19&gt;=f[3X]){3V.1V([b].4l(d.2t(0,f[3X])));13(!f[3X]){1m}}});3V.1G=1G;17 3V};11 B=14(a){11 b=a;13(1u a=="2j"){b=2x.32(a)}b=D(b);11 x=[],y=[],19=0;1n(11 i=0,1q=b.19;i&lt;1q;i++){2k(b[i][0]){1k"Z":1m;1k"A":x.1V(b[i][b[i].19-2]);y.1V(b[i][b[i].19-1]);1m;2S:1n(11 j=1,21=b[i].19;j&lt;21;j++){13(j%2){x.1V(b[i][j])}1o{y.1V(b[i][j])}}}}11 c=1b.2M.2e(1b,x),4m=1b.2M.2e(1b,y);17{x:c,y:4m,1d:1b.30.2e(1b,x)-c,1g:1b.30.2e(1b,y)-4m,X:x,Y:y}};11 C=14(a){11 b=[];13(1u a=="2j"){a=R.32(a)}11 x=0,y=0,2A=0;13(a[0][0]=="M"){x=a[0][1];y=a[0][2];2A++;b.1V(a[0])}1n(11 i=2A,1q=a.19;i&lt;1q;i++){b[i]=[];13(a[i][0]!=a[i][0].2z()){b[i][0]=a[i][0].2z();2k(b[i][0]){1k"a":b[i][1]=a[i][1];b[i][2]=a[i][2];b[i][3]=0;b[i][4]=a[i][4];b[i][5]=a[i][5];b[i][6]=+(a[i][6]-x).1L(3);b[i][7]=+(a[i][7]-y).1L(3);1m;1k"v":b[i][1]=+(a[i][1]-y).1L(3);1m;2S:1n(11 j=1,21=a[i].19;j&lt;21;j++){b[i][j]=+(a[i][j]-((j%2)?x:y)).1L(3)}}}1o{b[i]=a[i]}2k(b[i][0]){1k"z":1m;1k"h":x+=b[i][b[i].19-1];1m;1k"v":y+=b[i][b[i].19-1];1m;2S:x+=b[i][b[i].19-2];y+=b[i][b[i].19-1]}}b.1G=a.1G;17 b};11 D=14(a){11 b=[];13(1u a=="2j"){a=R.32(a)}11 x=0,y=0,2A=0;13(a[0][0]=="M"){x=+a[0][1];y=+a[0][2];2A++;b[0]=a[0]}1n(11 i=2A,1q=a.19;i&lt;1q;i++){b[i]=[];13(a[i][0]!=(a[i][0]+"").33()){b[i][0]=(a[i][0]+"").33();2k(b[i][0]){1k"A":b[i][1]=a[i][1];b[i][2]=a[i][2];b[i][3]=0;b[i][4]=a[i][4];b[i][5]=a[i][5];b[i][6]=+(a[i][6]+x).1L(3);b[i][7]=+(a[i][7]+y).1L(3);1m;1k"V":b[i][1]=+a[i][1]+y;1m;2S:1n(11 j=1,21=a[i].19;j&lt;21;j++){b[i][j]=+a[i][j]+((j%2)?x:y)}}}1o{b[i]=a[i]}2k(b[i][0]){1k"Z":1m;1k"H":x=b[i][1];1m;1k"V":y=b[i][1];1m;2S:x=b[i][b[i].19-2];y=b[i][b[i].19-1]}}b.1G=a.1G;17 b};11 E=14(e,f){11 g=[D(2x.32(e)),D(2x.32(f))],15=[{x:0,y:0,bx:0,by:0,X:0,Y:0},{x:0,y:0,bx:0,by:0,X:0,Y:0}],4n=14(a,d){13(!a){17["U"]}2k(a[0]){1k"M":d.X=a[1];d.Y=a[2];1m;1k"S":11 b=d.x+(d.x-(d.bx||d.x));11 c=d.y+(d.y-(d.by||d.y));a=["C",b,c,a[1],a[2],a[3],a[4]];1m;1k"T":11 b=d.x+(d.x-(d.bx||d.x));11 c=d.y+(d.y-(d.by||d.y));a=["Q",b,c,a[1],a[2]];1m;1k"H":a=["L",a[1],d.y];1m;1k"V":a=["L",d.x,a[1]];1m;1k"Z":a=["L",d.X,d.Y];1m}17 a},4o=14(a,b,i){13(g[a][i][0]=="M"&amp;&amp;g[b][i][0]!="M"){g[b].2t(i,0,["M",15[b].x,15[b].y]);15[a].bx=g[a][i][g[a][i].19-4]||0;15[a].by=g[a][i][g[a][i].19-3]||0;15[a].x=g[a][i][g[a][i].19-2];15[a].y=g[a][i][g[a][i].19-1];17 1Q}1o 13(g[a][i][0]=="L"&amp;&amp;g[b][i][0]=="C"){g[a][i]=["C",15[a].x,15[a].y,g[a][i][1],g[a][i][2],g[a][i][1],g[a][i][2]]}1o 13(g[a][i][0]=="L"&amp;&amp;g[b][i][0]=="Q"){g[a][i]=["Q",g[a][i][1],g[a][i][2],g[a][i][1],g[a][i][2]]}1o 13(g[a][i][0]=="Q"&amp;&amp;g[b][i][0]=="C"){11 x=g[b][i][g[b][i].19-2];11 y=g[b][i][g[b][i].19-1];g[b].2t(i+1,0,["Q",x,y,x,y]);g[a].2t(i,0,["C",15[a].x,15[a].y,15[a].x,15[a].y,15[a].x,15[a].y]);i++;15[b].bx=g[b][i][g[b][i].19-4]||0;15[b].by=g[b][i][g[b][i].19-3]||0;15[b].x=g[b][i][g[b][i].19-2];15[b].y=g[b][i][g[b][i].19-1];17 1Q}1o 13(g[a][i][0]=="A"&amp;&amp;g[b][i][0]=="C"){11 x=g[b][i][g[b][i].19-2];11 y=g[b][i][g[b][i].19-1];g[b].2t(i+1,0,["A",0,0,g[a][i][3],g[a][i][4],g[a][i][5],x,y]);g[a].2t(i,0,["C",15[a].x,15[a].y,15[a].x,15[a].y,15[a].x,15[a].y]);i++;15[b].bx=g[b][i][g[b][i].19-4]||0;15[b].by=g[b][i][g[b][i].19-3]||0;15[b].x=g[b][i][g[b][i].19-2];15[b].y=g[b][i][g[b][i].19-1];17 1Q}1o 13(g[a][i][0]=="U"){g[a][i][0]=g[b][i][0];1n(11 j=1,21=g[b][i].19;j&lt;21;j++){g[a][i][j]=(j%2)?15[a].x:15[a].y}}17 2B};1n(11 i=0;i&lt;1b.30(g[0].19,g[1].19);i++){g[0][i]=4n(g[0][i],15[0]);g[1][i]=4n(g[1][i],15[1]);13(g[0][i][0]!=g[1][i][0]&amp;&amp;(4o(0,1,i)||4o(1,0,i))){52}15[0].bx=g[0][i][g[0][i].19-4]||0;15[0].by=g[0][i][g[0][i].19-3]||0;15[0].x=g[0][i][g[0][i].19-2];15[0].y=g[0][i][g[0][i].19-1];15[1].bx=g[1][i][g[1][i].19-4]||0;15[1].by=g[1][i][g[1][i].19-3]||0;15[1].x=g[1][i][g[1][i].19-2];15[1].y=g[1][i][g[1][i].19-1]}17 g};11 F=14(a){13(1u a=="2j"){a=a.26(/\\s*\\-\\s*/);11 b=a.4p();13(b.2z()=="v"){b=90}1o 13(b.2z()=="h"){b=0}1o{b=1c(b,10)}b=-b;11 c={3B:b,1v:"53",1B:[],1C:[0,0,1b.aN(b*1b.54/3Y).1L(3),1b.aO(b*1b.54/3Y).1L(3)]};11 e=1/(1b.30(1b.3C(c.1C[2]),1b.3C(c.1C[3]))||1);c.1C[2]*=e;c.1C[3]*=e;13(c.1C[2]&lt;0){c.1C[0]=-c.1C[2];c.1C[2]=0}13(c.1C[3]&lt;0){c.1C[1]=-c.1C[3];c.1C[3]=0}c.1C[0]=c.1C[0].1L(3);c.1C[1]=c.1C[1].1L(3);c.1C[2]=c.1C[2].1L(3);c.1C[3]=c.1C[3].1L(3);1n(11 i=0,1q=a.19;i&lt;1q;i++){11 f={};11 g=a[i].3T(/^([^:]*):?([\\d\\.]*)/);f.2l=A(g[1]).23;g[2]&amp;&amp;(f.2m=g[2]+"%");c.1B.1V(f)}1n(11 i=1,1q=c.1B.19-1;i&lt;1q;i++){13(!c.1B[i].2m){11 h=1c(c.1B[i-1].2m||0,10),34=2B;1n(11 j=i+1;j&lt;1q;j++){13(c.1B[j].2m){34=c.1B[j].2m;1m}}13(!34){34=2C;j=1q}34=1c(34,10);11 d=(34-h)/(j-i+1);1n(;i&lt;j;i++){h+=d;c.1B[i].2m=h+"%"}}}17 c}1o{17 a}};13(R.2f){11 G=14(g,h,j){11 k=1w.2b(j.27,"1l");k.1f("1x","1U");13(j.1r){j.1r.1t(k)}11 p=1W M(k,j);p.1h=1Q;p.1v="1l";p.1a={x:0,y:0,bx:0,by:0};p.3l=14(){9.1h=1Q;17 9};p.3Z=14(){9.1h=2B;17 9};p.4q=14(x,y){11 d=9.1h?"M":"m";d+=1c(x,10).1L(3)+" "+1c(y,10).1L(3)+" ";11 a=9[0].2T("d")||"";(a=="4h,0")&amp;&amp;(a="");9[0].1f("d",a+d);9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.15.1l=a+d;17 9};p.35=14(x,y){9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);11 d=9.1h?"L":"l";d+=1c(x,10).1L(3)+" "+1c(y,10).1L(3)+" ";11 a=9[0].2T("d")||"";9[0].1f("d",a+d);9.15.1l=a+d;17 9};p.4r=14(a,b,c,e,x,y){11 d=9.1h?"A":"a";d+=[1c(a,10).1L(3),1c(b,10).1L(3),0,c,e,1c(x,10).1L(3),1c(y,10).1L(3)].1K(" ");11 f=9[0].2T("d")||"";9[0].1f("d",f+d);9.1a.x=1c(x,10);9.1a.y=1c(y,10);9.15.1l=f+d;17 9};p.56=14(a,b,c){13(!c){17 9.35(a,b)}1o{11 p={};11 x=1c(a,10);11 y=1c(b,10);11 w=1c(c,10);11 d=9.1h?"C":"c";11 e=[+9.1a.x+w,+9.1a.y,x-w,y,x,y];1n(11 i=0,1q=e.19;i&lt;1q;i++){d+=e[i].1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+e[4];9.1a.y=(9.1h?0:9.1a.y)+e[5];9.1a.bx=e[2];9.1a.by=e[3];11 f=9[0].2T("d")||"";9[0].1f("d",f+d);9.15.1l=f+d;17 9}};p.1O=14(){11 p={},40=[0,1,2,3,"s",5,"c"];11 d=40[18.19];13(9.1h){d=d.33()}1n(11 i=0,1q=18.19;i&lt;1q;i++){d+=1c(18[i],10).1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+1c(18[18.19-2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[18.19-1],10);9.1a.bx=1c(18[18.19-4],10);9.1a.by=1c(18[18.19-3],10);11 a=9.1e.2T("d")||"";9.1e.1f("d",a+d);9.15.1l=a+d;17 9};p.41=14(){11 p={},40=[0,1,"t",3,"q"];11 d=40[18.19];13(9.1h){d=d.33()}1n(11 i=0,1q=18.19;i&lt;1q;i++){d+=1c(18[i],10).1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+1c(18[18.19-2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[18.19-1],10);13(18.19!=2){9.1a.3m=1c(18[18.19-4],10);9.1a.3n=1c(18[18.19-3],10)}11 a=9.1e.2T("d")||"";9.1e.1f("d",a+d);9.15.1l=a+d;17 9};p.58=14(r,a){11 R=.59*r,2D=9.1h,o=9;13(2D){9.3Z();2D=14(){o.3l()}}1o{2D=14(){}}11 b={l:14(){17{u:14(){o.1O(-R,0,-r,-(r-R),-r,-r)},d:14(){o.1O(-R,0,-r,r-R,-r,r)}}},r:14(){17{u:14(){o.1O(R,0,r,-(r-R),r,-r)},d:14(){o.1O(R,0,r,r-R,r,r)}}},u:14(){17{r:14(){o.1O(0,-R,-(R-r),-r,r,-r)},l:14(){o.1O(0,-R,R-r,-r,-r,-r)}}},d:14(){17{r:14(){o.1O(0,R,-(R-r),r,r,r)},l:14(){o.1O(0,R,R-r,r,-r,r)}}}};b[a[0]]()[a[1]]();2D();17 o};p.4s=14(){11 a=9[0].2T("d")||"";9[0].1f("d",a+"Z ");9.15.1l=a+"Z ";17 9};13(h){p.15.1l=""+h;p.3l();v.3D(p,p.15.1l)}13(g){J(p,g)}17 p};11 H=14(o,a,b){a=F(a);11 c=1w.2b(b.27,(a.1v||"53")+"aP");c.2U="5a-2g-"+2x.4f++;13(a.1C&amp;&amp;a.1C.19){c.1f("aQ",a.1C[0]);c.1f("3E",a.1C[1]);c.1f("aR",a.1C[2]);c.1f("aS",a.1C[3])}b.3F.1t(c);11 d=1Q;1n(11 i=0,1q=a.1B.19;i&lt;1q;i++){11 e=1w.2b(b.27,"3o");13(a.1B[i].2m){d=2B}e.1f("2m",a.1B[i].2m?a.1B[i].2m:(i==0)?"0%":"2C%");e.1f("3o-2l",A(a.1B[i].2l).23||"#4g");c.1t(e)};13(d&amp;&amp;1u a.1B[1q-1].1p!="1N"){e.1f("3o-1p",a.1B[1q-1].1p)}o.1f("1x","36(#"+c.2U+")");o.1s.1p=1;o.1s.5b=1;o.1f("1p",1);o.1f("1x-1p",1)};11 I=14(o){13(o.3G){11 a=o.1e.37();o.3G.1f("aT","38("+[a.x,a.y].1K(",")+")")}};11 J=14(o,c){11 d={"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},4t=14(o,a){a=d[a.1G().2z()];13(a){11 b=o.15["1i-1d"]||"1",3j={1j:b,4u:b,3j:0}[o.15["1i-2Z"]||c["1i-2Z"]]||0,4v=[];1n(11 i=0,1q=a.19;i&lt;1q;i++){4v.1V(a[i]*b+((i%2)?1:-1)*3j)}a=4v.1K(",");o.1e.1f("1i-2J",a)}};1n(11 e 1E c){11 f=c[e];o.15[e]=f;2k(e){1k"1l":13(o.1v=="1l"){o.1e.1f("d","4h,0");v.3D(o,f)}1k"2h":1k"cx":1k"x":o.1e.1f(e,f);I(o);1m;1k"2i":1k"1J":1k"y":o.1e.1f(e,f);I(o);1m;1k"1d":o.1e.1f(e,f);1m;1k"1g":o.1e.1f(e,f);1m;1k"2I":13(o.1v=="2n"){o.1e.4w(2f.3H,"4x",f)}1m;1k"1i-1d":o.1e.1s.aU=f;o.1e.1f(e,f);13(o.15["1i-2J"]){4t(o,o.15["1i-2J"])}1m;1k"1i-2J":4t(o,f);1m;1k"2R":o.3I(f,1Q);1m;1k"2K":11 g=(f+"").26(u);o.38((+g[0]+1||2)-1,(+g[1]+1||2)-1);1m;1k"2H":11 g=(f+"").26(u);o.2H(+g[0]||1,+g[1]||+g[0]||1);1m;1k"1x":11 h=f.3T(/^36\\(([^\\)]+)\\)$/i);13(h){11 j=1w.2b(o.2f.27,"3G");11 k=1w.2b(o.2f.27,"2n");j.2U="5a-3G-"+2x.4f++;j.1f("x",0);j.1f("y",0);j.1f("aV","aW");k.1f("x",0);k.1f("y",0);k.4w(o.2f.3H,"4x",h[1]);j.1t(k);11 l=1w.3p("aX");l.1s.2V="39";l.1s.1P="-5c";l.1s.2c="-5c";l.aY=14(){j.1f("1d",9.4y);j.1f("1g",9.4z);k.1f("1d",9.4y);k.1f("1g",9.4z);1w.42.2u(9);v.3J()};1w.42.1t(l);l.2I=h[1];o.2f.3F.1t(j);o.1e.1s.1x="36(#"+j.2U+")";o.1e.1f("1x","36(#"+j.2U+")");o.3G=j;I(o);1m}43 c.2g;43 o.15.2g;13(1u o.15.1p!="1N"&amp;&amp;1u c.1p=="1N"){o.1e.1s.1p=o.15.1p;o.1e.1f("1p",o.15.1p)}13(1u o.15["1x-1p"]!="1N"&amp;&amp;1u c["1x-1p"]=="1N"){o.1e.1s.5b=o.15["1x-1p"];o.1e.1f("1x-1p",o.15["1x-1p"])}1k"1i":o.1e.1s[e]=A(f).23;o.1e.1f(e,A(f).23);1m;1k"2g":H(o.1e,f,o.2f);1m;1k"1p":1k"1x-1p":13(o.15.2g){11 m=1w.4A(o.1e.2T("1x").3W(/^36\\(#|\\)$/g,""));13(m){11 n=m.3a("3o");n[n.19-1].1f("3o-1p",f)}1m}2S:11 p=e.3W(/(\\-.)/g,14(w){17 w.2s(1).33()});o.1e.1s[p]=f;o.1e.1f(e,f);1m}}L(o,c)};11 K=1.2;11 L=14(a,b){13(a.1v!="1R"||!("1R"1E b||"1z"1E b||"1z-2G"1E b||"x"1E b)){17}11 c=a.1e.2d?31(1w.aZ.b0(a.1e.2d,"").b1("1z-2G"),10):10;11 d=0;13("1R"1E b){4k(a.1e.2d){a.1e.2u(a.1e.2d)}11 e=(b.1R+"").26("\\n");1n(11 i=0,1q=e.19;i&lt;1q;i++){11 f=1w.2b(a.2f.27,"5d");i&amp;&amp;f.1f("2N",c*K);i&amp;&amp;f.1f("x",a.15.x);f.1t(1w.b2(e[i]));a.1e.1t(f);d+=c*K}}1o{11 e=a.1e.3a("5d");1n(11 i=0,1q=e.19;i&lt;1q;i++){i&amp;&amp;e[i].1f("2N",c*K);i&amp;&amp;e[i].1f("x",a.15.x);d+=c*K}}d-=c*(K-1);11 g=d/2-c;13(g){a.1e.1f("y",a.15.y-g)}4B(14(){})};11 M=14(a,b){11 X=0,Y=0;9[0]=a;9.1e=a;9.2f=b;9.15=9.15||{};9.2E=[];9.1A={44:0,45:0,28:{2v:0,x:0,y:0},2O:1,2W:1}};M.1y.3I=14(a,b,c){13(a==24){17 9.1A.28.2v}11 d=9.37();a=a.1G().26(u);13(a.19-1){b=1c(a[1],10);c=1c(a[2],10)}a=1c(a[0],10);13(b!=24){9.1A.28.2v=a}1o{9.1A.28.2v+=a}13(c==24){b=24}b=b==24?d.x+d.1d/2:b;c=c==24?d.y+d.1g/2:c;13(9.1A.28.2v){9.2E[0]=("3I("+9.1A.28.2v+" "+b+" "+c+")")}1o{9.2E[0]=""}9.1e.1f("4C",9.2E.1K(" "));17 9};M.1y.5e=14(){9.1e.1s.46="1U";17 9};M.1y.5f=14(){9.1e.1s.46="5g";17 9};M.1y.3K=14(){9.1e.1F.2u(9.1e)};M.1y.37=14(){17 9.1e.37()};M.1y.1D=14(){13(18.19==1&amp;&amp;1u 18[0]=="2j"){13(18[0]=="2K"){17 9.38()}17 9.15[18[0]]}13(18.19==1&amp;&amp;18[0]5h 3b){11 a={};1n(11 j 1E 18[0]){a[18[0][j]]=9.15[18[0][j]]}17 a}13(18.19==2){11 b={};b[18[0]]=18[1];J(9,b)}1o 13(18.19==1&amp;&amp;1u 18[0]=="3k"){J(9,18[0])}17 9};M.1y.5i=14(){9.1e.1F.1t(9.1e);17 9};M.1y.5j=14(){13(9.1e.1F.2d!=9.1e){9.1e.1F.2F(9.1e,9.1e.1F.2d)}17 9};M.1y.5k=14(a){13(a.1e.47){a.1e.1F.2F(9.1e,a.1e.47)}1o{a.1e.1F.1t(9.1e)}17 9};M.1y.2F=14(a){a.1e.1F.2F(9.1e,a.1e);17 9};11 N=14(a,x,y,r){11 b=1w.2b(a.27,"3c");b.1f("cx",x);b.1f("1J",y);b.1f("r",r);b.1f("1x","1U");b.1f("1i","#22");13(a.1r){a.1r.1t(b)}11 c=1W M(b,a);c.15=c.15||{};c.15.cx=x;c.15.1J=y;c.15.r=r;c.15.1i="#22";c.1v="3c";17 c};11 O=14(a,x,y,w,h,r){11 b=1w.2b(a.27,"2o");b.1f("x",x);b.1f("y",y);b.1f("1d",w);b.1f("1g",h);13(r){b.1f("2h",r);b.1f("2i",r)}b.1f("1x","1U");b.1f("1i","#22");13(a.1r){a.1r.1t(b)}11 c=1W M(b,a);c.15=c.15||{};c.15.x=x;c.15.y=y;c.15.1d=w;c.15.1g=h;c.15.1i="#22";13(r){c.15.2h=c.15.2i=r}c.1v="2o";17 c};11 P=14(a,x,y,b,c){11 d=1w.2b(a.27,"3d");d.1f("cx",x);d.1f("1J",y);d.1f("2h",b);d.1f("2i",c);d.1f("1x","1U");d.1f("1i","#22");13(a.1r){a.1r.1t(d)}11 e=1W M(d,a);e.15=e.15||{};e.15.cx=x;e.15.1J=y;e.15.2h=b;e.15.2i=c;e.15.1i="#22";e.1v="3d";17 e};11 Q=14(a,b,x,y,w,h){11 c=1w.2b(a.27,"2n");c.1f("x",x);c.1f("y",y);c.1f("1d",w);c.1f("1g",h);c.1f("b3","1U");c.4w(a.3H,"4x",b);13(a.1r){a.1r.1t(c)}11 d=1W M(c,a);d.15=d.15||{};d.15.x=x;d.15.y=y;d.15.1d=w;d.15.1g=h;d.1v="2n";17 d};11 S=14(a,x,y,b){11 c=1w.2b(a.27,"1R");c.1f("x",x);c.1f("y",y);c.1f("1R-b4","b5");13(a.1r){a.1r.1t(c)}11 d=1W M(c,a);d.15=d.15||{};d.15.x=x;d.15.y=y;d.1v="1R";J(d,{1z:z.1z,1i:"1U",1x:"#22",1R:b});17 d};11 T=14(a){11 b=1w.2b(a.27,"g");13(a.1r){a.1r.1t(b)}11 i=1W M(b,a);1n(11 f 1E a){13(f[0]!="1A"&amp;&amp;1u a[f]=="14"){i[f]=(14(f){17 14(){11 e=a[f].2e(a,18);b.1t(e[0]);17 e}})(f)}}i.1v="2P";17 i};11 U=14(a,b){9.1d=a||9.1d;9.1g=b||9.1g;9.1r.1f("1d",9.1d);9.1r.1f("1g",9.1g);17 9};11 V=14(){13(1u 18[0]=="2j"){11 a=1w.4A(18[0]);11 b=18[1];11 c=18[2]}13(1u 18[0]=="3k"){11 a=18[0];11 b=18[1];11 c=18[2]}13(1u 18[0]=="1T"){11 a=1,x=18[0],y=18[1],b=18[2],c=18[3]}13(!a){5l 1W 5m("4e 5n 5o 5p.");}v.1r=1w.2b(v.27,"2f");v.1r.1f("1d",b||5q);v.1d=b||5q;v.1r.1f("1g",c||5r);v.1g=c||5r;13(a==1){1w.42.1t(v.1r);v.1r.1s.2V="39";v.1r.1s.2c=x+"1H";v.1r.1s.1P=y+"1H"}1o{13(a.2d){a.2F(v.1r,a.2d)}1o{a.1t(v.1r)}}a={1r:v.1r,4D:14(){4k(9.1r.2d){9.1r.2u(9.1r.2d)}9.3F=1w.2b(v.27,"3F");9.1r.1t(9.3F)}};1n(11 d 1E v){13(d!="b6"){a[d]=v[d]}}1n(11 d 1E R.3w){13(!a[d]){a[d]=R.3w[d]}}a.4D();17 a};v.3K=14(){9.1r.1F.2u(9.1r)};v.27="5s://5t.5u.5v/b7/2f";v.3H="5s://5t.5u.5v/b8/3H";v.3J=14(){13(b9.bd=="be bf, bg."){11 a=9.2o(-9.1d,-9.1g,9.1d*3,9.1g*3).1D({1i:"1U"});4B(14(){a.3K()},0)}}}13(R.2a){G=14(i,j,l){11 g=Z("2P"),3q=g.1s;3q.2V="39";3q.2c=0;3q.1P=0;3q.1d=l.1d+"1H";3q.1g=l.1g+"1H";11 m=Z("2w"),3r=m.1s;3r.1d=l.1d+"1H";3r.1g=l.1g+"1H";m.1l="";13(i["48"]){m.bh="3e "+i["48"]}m.3s=9.3s;m.3L=9.3L;g.1t(m);l.1r.1t(g);11 p=1W M(m,g,l);p.1h=1Q;p.1v="1l";p.1l=[];p.1a={x:0,y:0,bx:0,by:0,1h:1Q};p.2Q="";p.3l=14(){9.1h=1Q;17 9};p.3Z=14(){9.1h=2B;17 9};p.4q=14(x,y){11 d=9.1h?"m":"t";d+=1b.1j(1c(x,10))+" "+1b.1j(1c(y,10));9.1e.1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"M":"m")+[x,y];17 9};p.35=14(x,y){11 d=9.1h?"l":"r";d+=1b.1j(1c(x,10))+" "+1b.1j(1c(y,10));9[0].1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"L":"l")+[x,y];17 9};p.4r=14(a,b,c,e,f,g){f=(9.1h?0:9.1a.x)+f;g=(9.1h?0:9.1a.y)+g;11 h=9.1a.x,3E=9.1a.y,x=(h-f)/2,y=(3E-g)/2,k=(c==e?-1:1)*1b.bi(1b.3C(a*a*b*b-a*a*y*y-b*b*x*x)/(a*a*y*y+b*b*x*x)),cx=k*a*y/b+(h+f)/2,1J=k*-b*x/a+(3E+g)/2,d=e?(9.1h?"bj":"bk"):(9.1h?"at":"ar"),2c=1b.1j(cx-a),1P=1b.1j(1J-b);d+=[2c,1P,1b.1j(2c+a*2),1b.1j(1P+b*2),1b.1j(h),1b.1j(3E),1b.1j(1c(f,10)),1b.1j(1c(g,10))].1K(", ");9.1e.1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(f,10);9.1a.y=(9.1h?0:9.1a.y)+1c(g,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"A":"a")+[a,b,0,c,e,f,g];17 9};p.56=14(a,b,c){13(!c){17 9.35(a,b)}1o{11 x=1b.1j(1b.1j(1c(a,10)*2C)/2C),y=1b.1j(1b.1j(1c(b,10)*2C)/2C),w=1b.1j(1b.1j(1c(c,10)*2C)/2C),d=9.1h?"c":"v",1D=[1b.1j(9.1a.x)+w,1b.1j(9.1a.y),x-w,y,x,y],5w=[9.1a.x+c,9.1a.y,a-c,b,a,b];d+=1D.1K(" ")+" ";9.1a.x=(9.1h?0:9.1a.x)+1D[4];9.1a.y=(9.1h?0:9.1a.y)+1D[5];9.1a.bx=1D[2];9.1a.by=1D[3];9.1e.1l=9.2Q+=d;9.15.1l+=(9.1h?"C":"c")+5w;17 9}};p.1O=14(){11 d=9.1h?"c":"v";13(18.19==6){9.1a.bx=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.by=(9.1h?0:9.1a.y)+1c(18[3],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[4],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[5],10);d+=[1b.1j(1c(18[0],10)),1b.1j(1c(18[1],10)),1b.1j(1c(18[2],10)),1b.1j(1c(18[3],10)),1b.1j(1c(18[4],10)),1b.1j(1c(18[5],10))].1K(" ")+" ";9.1a.1h=9.1h;9.15.1l+=(9.1h?"C":"c")+3b.1y.2t.2X(18,0,18.19)}13(18.19==4){11 a=9.1a.x*2-9.1a.bx;11 b=9.1a.y*2-9.1a.by;9.1a.bx=(9.1h?0:9.1a.x)+1c(18[0],10);9.1a.by=(9.1h?0:9.1a.y)+1c(18[1],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(a),1b.1j(b),1b.1j(1c(18[0],10)),1b.1j(1c(18[1],10)),1b.1j(1c(18[2],10)),1b.1j(1c(18[3],10))].1K(" ")+" ";9.15.1l+=(9.1h?"S":"s")+3b.1y.2t.2X(18,0,18.19)}9.1e.1l=9.2Q+=d;17 9};p.41=14(){11 d="bl";13(18.19==4){9.1a.3m=(9.1h?0:9.1a.x)+1c(18[0],10);9.1a.3n=(9.1h?0:9.1a.y)+1c(18[1],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(9.1a.3m),1b.1j(9.1a.3n),1b.1j(9.1a.x),1b.1j(9.1a.y)].1K(" ")+" ";9.1a.1h=9.1h;9.15.1l+=(9.1h?"Q":"q")+3b.1y.2t.2X(18,0,18.19)}13(18.19==2){9.1a.3m=9.1a.x*2-9.1a.3m;9.1a.3n=9.1a.y*2-9.1a.3n;9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(9.1a.3m),1b.1j(9.1a.3n),1b.1j(9.1a.x),1b.1j(9.1a.y)].1K(" ")+" ";9.15.1l+=(9.1h?"T":"t")+3b.1y.2t.2X(18,0,18.19)}9.1e.1l=9.2Q+=d;9.1l.1V({1v:"bm",bn:[].bo.2X(18,0),bp:9.1h});17 9};p.58=14(r,a){11 R=.59*r,2D=9.1h,o=9;13(2D){9.3Z();2D=14(){o.3l()}}1o{2D=14(){}}11 b={l:14(){17{u:14(){o.1O(-R,0,-r,-(r-R),-r,-r)},d:14(){o.1O(-R,0,-r,r-R,-r,r)}}},r:14(){17{u:14(){o.1O(R,0,r,-(r-R),r,-r)},d:14(){o.1O(R,0,r,r-R,r,r)}}},u:14(){17{r:14(){o.1O(0,-R,-(R-r),-r,r,-r)},l:14(){o.1O(0,-R,R-r,-r,-r,-r)}}},d:14(){17{r:14(){o.1O(0,R,-(R-r),r,r,r)},l:14(){o.1O(0,R,R-r,r,-r,r)}}}};b[a.5x(0)]()[a.5x(1)]();2D();17 o};p.4s=14(){9.1e.1l=(9.2Q+="x e");9.15.1l+="z";17 9};13(j){p.3l();p.15.1l="";v.3D(p,""+j)}J(p,i);13(i.2g){H(p,i.2g)}17 p};11 J=14(o,a){11 s=o.1e.1s,1I=o;o.15=o.15||{};1n(11 b 1E a){o.15[b]=a[b]}13(a.1l&amp;&amp;o.1v=="1l"){o.2Q="";o.1l=[];v.3D(o,a.1l)}13(a.2R!=24){o.3I(a.2R,1Q)}13(a.2K){11 c=(a.2K+"").26(u);o.38(c[0],c[1])}13(a.2H){11 c=(a.2H+"").26(u);o.2H(c[0],c[1])}13(o.1v=="2n"&amp;&amp;a.2I){o.1e.2I=a.2I}13(o.1v=="2n"&amp;&amp;a.1p){o.1e.49=" 5y:5z.5A.bq(1p="+(a.1p*2C)+")";o.1e.1s.4E=(o.1e.3M||"")+(o.1e.49||"")}a.1z&amp;&amp;(s.1z=a.1z);a["1z-3x"]&amp;&amp;(s.5B=a["1z-3x"]);a["1z-2G"]&amp;&amp;(s.5C=a["1z-2G"]);a["1z-3N"]&amp;&amp;(s.5D=a["1z-3N"]);a["1z-1s"]&amp;&amp;(s.5E=a["1z-1s"]);13(1u a.1p!="1N"||1u a["1i-1d"]!="1N"||1u a.1x!="1N"||1u a.1i!="1N"||a["1i-1d"]||a["1i-1p"]||a["1i-2J"]||a["1i-3z"]||a["1i-3y"]||a["1i-2Z"]){o=o.2w||o.1e;11 d=(o.3a("1x")&amp;&amp;o.3a("1x")[0])||Z("1x");13("1x-1p"1E a||"1p"1E a){d.1p=((+a["1x-1p"]+1||2)-1)*((+a.1p+1||2)-1)}13(a.1x){d.2p=1Q}13(1u d.2p=="1N"||a.1x=="1U"){d.2p=2B}13(d.2p&amp;&amp;a.1x){11 e=a.1x.3T(/^36\\(([^\\)]+)\\)$/i);13(e){d.2I=e[1];d.1v="br"}1o{d.2l=A(a.1x).23;d.2I="";d.1v="bt"}}o.1t(d);11 f=(o.3a("1i")&amp;&amp;o.3a("1i")[0])||Z("1i");13((a.1i&amp;&amp;a.1i!="1U")||a["1i-1d"]||1u a["1i-1p"]!="1N"||a["1i-2J"]||a["1i-3z"]||a["1i-3y"]||a["1i-2Z"]){f.2p=1Q}13(a.1i=="1U"||1u f.2p=="1N"||a.1i==0){f.2p=2B}13(f.2p&amp;&amp;a.1i){f.2l=A(a.1i).23}f.1p=((+a["1i-1p"]+1||2)-1)*((+a.1p+1||2)-1);a["1i-3y"]&amp;&amp;(f.bu=a["1i-3y"]||"5F");f.3z=a["1i-3z"]||8;a["1i-2Z"]&amp;&amp;(f.bv={3j:"bw",4u:"4u",1j:"1j"}[a["1i-2Z"]]||"5F");a["1i-1d"]&amp;&amp;(f.3N=(1c(a["1i-1d"],10)||1)*12/16);13(a["1i-2J"]){11 g={"-":"bz",".":"bA","-.":"bB","-..":"bC",". ":"bD","- ":"bE","--":"bF","- .":"bG","--.":"bH","--..":"bI"};f.bJ=g[a["1i-2J"]]||""}o.1t(f)}13(1I.1v=="1R"){11 h=1w.3p("bK"),s=h.1s;1I.15.1z&amp;&amp;(s.1z=1I.15.1z);1I.15["1z-3x"]&amp;&amp;(s.5B=1I.15["1z-3x"]);1I.15["1z-2G"]&amp;&amp;(s.5C=1I.15["1z-2G"]);1I.15["1z-3N"]&amp;&amp;(s.5D=1I.15["1z-3N"]);1I.15["1z-1s"]&amp;&amp;(s.5E=1I.15["1z-1s"]);1I.1e.1F.1t(h);h.bL=1I.1e.2j;1I.W=1I.15.w=h.4y;1I.H=1I.15.h=h.4z;1I.X=1I.15.x-1b.1j(1I.W/2);1I.Y=1I.15.y-1b.1j(1I.H/2);1I.1e.1F.2u(h)}};11 W=14(a,b,c,d){11 e=1b.1j(1b.bM((1c(c,10)-1c(a,10))/(1c(d,10)-1c(b,10)))*57.29)||0;13(!e&amp;&amp;1c(a,10)&lt;1c(b,10)){e=3Y}e-=3Y;13(e&lt;0){e+=5G}17 e};11 H=14(o,a){a=F(a);o.15=o.15||{};11 b=o.15;o.15.2g=a;o=o.2w||o[0];11 c=o.3a("1x");13(c.19){c=c[0]}1o{c=Z("1x")}13(a.1B.19){c.2p=1Q;c.bN="1U";c.1v=((a.1v+"").2z()=="5H")?"bO":"2g";13(1u a.1B[0].2l!="1N"){c.2l=A(a.1B[0].2l).23}13(1u a.1B[a.1B.19-1].2l!="1N"){c.bP=A(a.1B[a.1B.19-1].2l).23}11 d=[];1n(11 i=0,1q=a.1B.19;i&lt;1q;i++){13(a.1B[i].2m){d.1V(a.1B[i].2m+" "+A(a.1B[i].2l).23)}};11 e=1u a.1B[a.1B.19-1].1p=="1N"?(1u b.1p=="1N"?1:b.1p):a.1B[a.1B.19-1].1p;13(d.19){c.5I.5J=d.1K(",");e=1u b.1p=="1N"?1:b.1p}1o{c.5I.5J="0% "+c.2l}c.1p=e;13(1u a.3B!="1N"){c.3B=(-a.3B+bQ)%5G}1o 13(a.1C){c.3B=W.2e(24,a.1C)}13((a.1v+"").2z()=="5H"){c.bR="2C%";c.bS="0.5 0.5"}}};11 M=14(a,b,c){11 d=0,bT=0,bU=0,bV=1;9[0]=a;9.1e=a;9.X=0;9.Y=0;9.15={};9.1M=b;9.2a=c;9.1A={44:0,45:0,28:{2v:0},2O:1,2W:1}};M.1y.3I=14(a,b,c){13(a==24){17 9.1A.28.2v}a=a.1G().26(u);13(a.19-1){b=1c(a[1],10);c=1c(a[2],10)}a=1c(a[0],10);13(c==24){b=24}13(b!=24){9.1A.28.2v=a}1o{9.1A.28.2v+=a}9.1A.28.cx=b;9.1A.28.1J=c;9.3f(24,b,c);9.1M.1s.2R=9.1A.28.2v;17 9};M.1y.3f=14(a,b,c){11 d=9.1M.1s,3g=(9.2w&amp;&amp;9.2w.1s)||9.1e.1s;1n(11 i 1E a){9.15[i]=a[i]}b=b||9.1A.28.cx;c=c||9.1A.28.1J;11 e=9.15,x,y,w,h;2k(9.1v){1k"3c":x=e.cx-e.r;y=e.1J-e.r;w=h=e.r*2;1m;1k"3d":x=e.cx-e.2h;y=e.1J-e.2i;w=e.2h*2;h=e.2i*2;1m;1k"2o":1k"2n":x=e.x;y=e.y;w=e.1d||0;h=e.1g||0;1m;1k"1R":9.4F.v=["m",1b.1j(e.x),", ",1b.1j(e.y-2),"l",1b.1j(e.x)+1,", ",1b.1j(e.y-2)].1K("");x=e.x-1b.1j(9.W/2);y=e.y-9.H/2;w=9.W;h=9.H;1m;1k"1l":13(!9.15.1l){x=0;y=0;w=9.2a.1d;h=9.2a.1g}1o{11 f=B(9.15.1l),x=f.x;y=f.y;w=f.1d;h=f.1g}1m;2S:x=0;y=0;w=9.2a.1d;h=9.2a.1g;1m}b=(b==24)?x+w/2:b;c=(c==24)?y+h/2:c;11 g=b-9.2a.1d/2,1P=c-9.2a.1g/2;13(9.1v=="1l"||9.1v=="1R"){d.2c=g+"1H";d.1P=1P+"1H";9.X=9.1v=="1R"?x:-g;9.Y=9.1v=="1R"?y:-1P;9.W=w;9.H=h;3g.2c=-g+"1H";3g.1P=-1P+"1H"}1o{d.2c=g+"1H";d.1P=1P+"1H";9.X=x;9.Y=y;9.W=w;9.H=h;d.1d=9.2a.1d+"1H";d.1g=9.2a.1g+"1H";3g.2c=x-g+"1H";3g.1P=y-1P+"1H";3g.1d=w+"1H";3g.1g=h+"1H"}};M.1y.5e=14(){9.1M.1s.46="1U";17 9};M.1y.5f=14(){9.1M.1s.46="5g";17 9};M.1y.37=14(){17{x:9.X,y:9.Y,1d:9.W,1g:9.H}};M.1y.3K=14(){9[0].1F.2u(9[0]);9.1M.1F.2u(9.1M);9.2w&amp;&amp;9.2w.1F.2u(9.2w)};M.1y.1D=14(){13(18.19==1&amp;&amp;1u 18[0]=="2j"){13(18[0]=="2K"){17 9.38()}17 9.15[18[0]]}13(9.15&amp;&amp;18.19==1&amp;&amp;18[0]5h 3b){11 a={};1n(11 i=0,1q=18[0].19;i&lt;1q;i++){a[18[0][i]]=9.15[18[0][i]]};17 a}11 b;13(18.19==2){b={};b[18[0]]=18[1]}13(18.19==1&amp;&amp;1u 18[0]=="3k"){b=18[0]}13(b){13(b.2g){H(9,b.2g)}13(b.1R&amp;&amp;9.1v=="1R"){9.1e.2j=b.1R}13(b.2U){9.1e.2U=b.2U}J(9,b);9.3f(b)}17 9};M.1y.5i=14(){9.1M.1F.1t(9.1M);17 9};M.1y.5j=14(){13(9.1M.1F.2d!=9.1M){9.1M.1F.2F(9.1M,9.1M.1F.2d)}17 9};M.1y.5k=14(a){13(a.1M.47){a.1M.1F.2F(9.1M,a.1M.47)}1o{a.1M.1F.1t(9.1M)}17 9};M.1y.2F=14(a){a.1M.1F.2F(9.1M,a.1M);17 9};11 N=14(a,x,y,r){11 g=Z("2P");11 o=Z("5K");g.1t(o);a.1r.1t(g);11 b=1W M(o,g,a);b.1v="3c";J(b,{1i:"#22",1x:"1U"});b.15.cx=x;b.15.1J=y;b.15.r=r;b.3f({x:x-r,y:y-r,1d:r*2,1g:r*2});17 b};11 O=14(a,x,y,w,h,r){11 g=Z("2P");11 o=Z(r?"bW":"2o");13(r){o.bX=r/(1b.2M(w,h))}g.1t(o);a.1r.1t(g);11 b=1W M(o,g,a);b.1v="2o";J(b,{1i:"#22"});b.15.x=x;b.15.y=y;b.15.w=w;b.15.h=h;b.15.r=r;b.3f({x:x,y:y,1d:w,1g:h});17 b};11 P=14(a,x,y,b,c){11 g=Z("2P");11 o=Z("5K");g.1t(o);a.1r.1t(g);11 d=1W M(o,g,a);d.1v="3d";J(d,{1i:"#22"});d.15.cx=x;d.15.1J=y;d.15.2h=b;d.15.2i=c;d.3f({x:x-b,y:y-c,1d:b*2,1g:c*2});17 d};11 Q=14(a,b,x,y,w,h){11 g=Z("2P");11 o=Z("2n");o.2I=b;g.1t(o);a.1r.1t(g);11 c=1W M(o,g,a);c.1v="2n";c.15.x=x;c.15.y=y;c.15.w=w;c.15.h=h;c.3f({x:x,y:y,1d:w,1g:h});17 c};11 S=14(a,x,y,b){11 g=Z("2P"),3t=g.1s;11 c=Z("2w"),3r=c.1s;11 d=Z("1l"),bY=d.1s;d.v=["m",1b.1j(x),", ",1b.1j(y-2),"l",1b.1j(x)+1,", ",1b.1j(y-2)].1K("");d.bZ=1Q;3r.1d=a.1d;3r.1g=a.1g;3t.2V="39";3t.2c=0;3t.1P=0;3t.1d=a.1d;3t.1g=a.1g;11 o=Z("4F");o.2j=b;o.2p=1Q;o.3s=a.3s;o.3L=a.3L;c.1t(o);c.1t(d);g.1t(c);a.1r.1t(g);11 e=1W M(o,g,a);e.2w=c;e.4F=d;e.1v="1R";e.15.x=x;e.15.y=y;e.15.w=1;e.15.h=1;J(e,{1z:z.1z,1i:"1U",1x:"#22"});17 e};11 U=14(a,b){9.1d=a||9.1d;9.1g=b||9.1g;9.1r.1s.1d=9.1d+"1H";9.1r.1s.1g=9.1g+"1H";9.1r.1F.1s.5L="2o(0 "+9.1d+" "+9.1g+" 0)";9.1r.3s=9.1d+" "+9.1g;17 9};1w.c0().c1(".3e","c2:36(#2S#3P)");c3{13(!1w.5M.3e){1w.5M.c4("3e","5N:5O-5P-5Q:2a")}11 Z=14(a){17 1w.3p(\'&lt;3e:\'+a+\' 48="3e"&gt;\')}}c5(e){11 Z=14(a){17 1w.3p(\'&lt;\'+a+\' c6="5N:5O-5P.5Q:2a" 48="3e"&gt;\')}}11 V=14(){11 e,1d,1g;13(1u 18[0]=="2j"){e=1w.4A(18[0]);1d=18[1];1g=18[2]}13(1u 18[0]=="3k"){e=18[0];1d=18[1];1g=18[2]}13(1u 18[0]=="1T"){e=1;x=18[0];y=18[1];1d=18[2];1g=18[3]}13(!e){5l 1W 5m("3P 5n 5o 5p.");}11 c=1w.3p("5R"),d=1w.3p("5R"),r=v.1r=Z("2P"),cs=c.1s,3u=r.1s;v.1d=1d;v.1g=1g;1d=1d||"c7";1g=1g||"c8";cs.5L="2o(0 "+1d+"1H "+1g+"1H 0)";cs.1P="-5S";cs.2c="-5S";cs.2V="39";3u.2V="39";d.1s.2V="c9";3u.1d=1d;3u.1g=1g;r.3s=(/%$/.5T(1d)?1d:1c(1d,10))+" "+(/%$/.5T(1g)?1g:1c(1g,10));r.3L="0 0";11 b=Z("2o"),bs=b.1s;bs.2c=bs.1P=0;bs.1d=3u.1d;bs.1g=3u.1g;b.ca=b.cb="f";r.1t(b);c.1t(r);d.1t(c);13(e==1){1w.42.1t(d);cs.2V="39";cs.2c=x+"1H";cs.1P=y+"1H";cs.1d=1d;cs.1g=1g;e={1s:{1d:1d,1g:1g}}}1o{cs.1d=e.1s.1d=1d;cs.1g=e.1s.1g=1g;13(e.2d){e.2F(d,e.2d)}1o{e.1t(d)}}1n(11 f 1E v){e[f]=v[f]}1n(11 f 1E R.3w){13(!e[f]){e[f]=R.3w[f]}}e.4D=14(){11 a=[];1n(11 i=0,1q=r.4G.19;i&lt;1q;i++){13(r.4G[i]!=b){a.1V(r.4G[i])}}1n(i=0,1q=a.19;i&lt;1q;i++){r.2u(a[i])}};17 e};v.3K=14(){9.1r.1F.1F.1F.2u(9.1r.1F.1F)};v.3J=14(){}}11 ba=(14(){13(1w.5U){17 14(a,b,c,d){11 f=14(e){17 c.2X(d,e)};a.5U(b,f,2B);17 14(){a.cc(b,f,2B);17 1Q}}}1o 13(1w.4a){17 14(a,b,c,d){11 f=14(e){17 c.2X(d,e||3v.cd)};a.4a("2p"+b,f);11 g=14(){a.4H("2p"+b,f);17 1Q};13(b=="4R"){a.4a("5V",f);17 14(){a.4H("5V",f);17 g()}}1o 13(b=="4Q"){a.4a("5W",f);17 14(){a.4H("5W",f);17 g()}}17 g}}})();1n(11 i=1X.19;i--;){(14(b){M.1y[b]=14(a){13(1u a=="14"){9.1X=9.1X||{};9.1X[b]=9.1X[b]||{};9.1X[b][a]=9.1X[b][a]||[];9.1X[b][a].1V(ba(9.2w||9.1e,b,a,9))}17 9};M.1y["ce"+b]=14(a){9.1X&amp;&amp;9.1X[b]&amp;&amp;9.1X[b][a]&amp;&amp;9.1X[b][a].19&amp;&amp;9.1X[b][a].4p()()&amp;&amp;!9.1X[b][a].19&amp;&amp;43 9.1X[b][a]}})(1X[i])}v.3c=14(x,y,r){17 N(9,x,y,r)};v.2o=14(x,y,w,h,r){17 O(9,x,y,w,h,r)};v.3d=14(x,y,a,b){17 P(9,x,y,a,b)};v.1l=14(a,b){17 G(a,b,9)};v.2n=14(a,x,y,w,h){17 Q(9,a,x,y,w,h)};v.1R=14(x,y,a){17 S(9,x,y,a)};v.2P=14(){17 9};v.cf=14(x,y,w,h,a,b,c){c=c||"#22";11 d=["M",x,y,"L",x+w,y,x+w,y+h,x,y+h,x,y],4I=h/b,4J=w/a;1n(11 i=1;i&lt;b;i++){d=d.4l(["M",x,y+i*4I,"L",x+w,y+i*4I])}1n(11 i=1;i&lt;a;i++){d=d.4l(["M",x+i*4J,y,"L",x+i*4J,y+h])}17 9.1l({1i:c,"1i-1d":1},d.1K(","))};v.3D=14(p,g){11 h={M:14(x,y){9.4q(x,y)},C:14(a,b,c,d,e,f){9.1O(a,b,c,d,e,f)},Q:14(a,b,c,d){9.41(a,b,c,d)},T:14(x,y){9.41(x,y)},S:14(a,b,c,d){p.1O(a,b,c,d)},L:14(x,y){p.35(x,y)},H:14(x){9.35(x,9.1a.y)},V:14(y){9.35(9.1a.x,y)},A:14(a,b,c,d,e,x,y){9.4r(a,b,d,e,x,y)},Z:14(){9.4s()}};g=D(g);1n(11 i=0,1q=g.19;i&lt;1q;i++){11 b=g[i].4p();h[b].2e(p,g[i])}};v.3O=14(a){17 1W bb(a)};v.cg=U;M.1y.3o=14(){4K(9.4b)};M.1y.2H=14(x,y){13(x==1N&amp;&amp;y==1N){17{x:9.1A.2O,y:9.1A.2W}}y=y||x;ch(y)&amp;&amp;(y=x);11 a,2N,cx,1J;13(x!=0){11 b=1b.1j(x/1b.3C(x)),2q=1b.1j(y/1b.3C(y)),s=9.1e.1s;a=9.1D("x");2N=9.1D("y");cx=9.1D("cx");1J=9.1D("1J");13(b!=1||2q!=1){13(9.2E){9.2E[2]="2H("+[b,2q]+")";9.1e.1f("4C",9.2E.1K(" "));a=(b&lt;0)?-9.1D("x")-9.15.1d*x*b/9.1A.2O:9.1D("x");2N=(2q&lt;0)?-9.1D("y")-9.15.1g*y*2q/9.1A.2W:9.1D("y");cx=9.1D("cx")*b;1J=9.1D("1J")*2q}1o{9.1e.3M=" 5y:5z.5A.ci(cj="+b+", ck=0, cl=0, cm="+2q+", cn=0, co=0, cp=\'cq cr\', ct=\'cu\')";s.4E=(9.1e.3M||"")+(9.1e.49||"")}}1o{13(9.2E){9.2E[2]="";9.1e.1f("4C",9.2E.1K(" "))}1o{9.1e.3M="";s.4E=(9.1e.3M||"")+(9.1e.49||"")}}2k(9.1v){1k"2o":1k"2n":9.1D({1d:9.15.1d*x*b/9.1A.2O,1g:9.15.1g*y*2q/9.1A.2W,x:a,y:2N});1m;1k"3c":1k"3d":9.1D({2h:9.15.2h*x*b/9.1A.2O,2i:9.15.2i*y*2q/9.1A.2W,r:9.15.r*x*2q/9.1A.2O,cx:cx,1J:1J});1m;1k"1l":11 c=C(2x.32(9.1D("1l"))),4L=1Q,3h=B(9.15.1l),a=-3h.1d*(x-1)/2,2N=-3h.1g*(y-1)/2;1n(11 i=0,1q=c.19;i&lt;1q;i++){13(c[i][0].33()=="M"&amp;&amp;4L){52}1o{4L=2B}13(c[i][0].33()=="A"){c[i][c[i].19-2]*=x*b;c[i][c[i].19-1]*=y*2q}1o{1n(11 j=1,21=c[i].19;j&lt;21;j++){c[i][j]*=(j%2)?x*b/9.1A.2O:y*2q/9.1A.2W}}}11 d=B(c),a=3h.x+3h.1d/2-d.x-d.1d/2,2N=3h.y+3h.1g/2-d.y-d.1g/2;c=C(c);c[0][1]+=a;c[0][2]+=2N;9.1D({1l:c.1K(" ")})}}9.1A.2O=x;9.1A.2W=y;17 9};M.1y.cv=14(c,d,e){4K(9.4b);11 f={},2Y={},1S={},t={x:0,y:0};1n(11 g 1E c){13(g 1E 3Q){f[g]=9.1D(g);13(1u f[g]=="1N"){f[g]=z[g]}2Y[g]=c[g];2k(3Q[g]){1k"1T":1S[g]=(2Y[g]-f[g])/d;1m;1k"3R":f[g]=A(f[g]);11 h=A(2Y[g]);1S[g]={r:(h.r-f[g].r)/d,g:(h.g-f[g].g)/d,b:(h.b-f[g].b)/d};1m;1k"1l":11 k=E(f[g],2Y[g]);f[g]=k[0];2Y[g]=k[1];1S[g]=[];1n(11 i=0,1q=f[g].19;i&lt;1q;i++){1S[g][i]=[0];1n(11 j=1,21=f[g][i].19;j&lt;21;j++){1S[g][i][j]=(2Y[g][i][j]-f[g][i][j])/d}}1m;1k"3A":11 l=c[g].1G().26(u),4c=f[g].1G().26(u);13(g=="2K"){f[g]=[0,0];1S[g]=[l[0]/d,l[1]/d]}1o 13(g=="2R"){f[g]=(4c[1]==l[1]&amp;&amp;4c[2]==l[2])?4c:[0,l[1],l[2]];1S[g]=[(l[0]-f[g][0])/d,0,0]}1o{f[g]=(f[g]+"").26(u);1S[g]=[(l[0]-f[g][0])/d,(l[1]-f[g][0])/d]}2Y[g]=l}}}11 m=1W 5X(),4d=0,3i=9;(14(){11 a=(1W 5X()).5Y()-m.5Y(),3O={},25;13(a&lt;d){1n(11 b 1E f){2k(3Q[b]){1k"1T":25=+f[b]+a*1S[b];1m;1k"3R":25="4j("+[1b.1j(f[b].r+a*1S[b].r),1b.1j(f[b].g+a*1S[b].g),1b.1j(f[b].b+a*1S[b].b)].1K(",")+")";1m;1k"1l":25=[];1n(11 i=0,1q=f[b].19;i&lt;1q;i++){25[i]=[f[b][i][0]];1n(11 j=1,21=f[b][i].19;j&lt;21;j++){25[i][j]=f[b][i][j]+a*1S[b][i][j]}25[i]=25[i].1K(" ")}25=25.1K(" ");1m;1k"3A":13(b=="2K"){11 x=1S[b][0]*(a-4d),y=1S[b][1]*(a-4d);t.x+=x;t.y+=y;25=[x,y].1K(" ")}1o 13(b=="2R"){25=+f[b][0]+a*1S[b][0];f[b][1]&amp;&amp;(25+=","+f[b][1]+","+f[b][2])}1o{25=[+f[b][0]+a*1S[b][0],+f[b][1]+a*1S[b][1]].1K(" ")}1m}13(b=="1z-2G"){3O[b]=25+"1H"}1o{3O[b]=25}}3i.1D(3O);3i.4b=4B(18.3U,0);v.3J()}1o{(t.x||t.y)&amp;&amp;3i.38(-t.x,-t.y);3i.1D(c);4K(3i.4b);v.3J();(1u e=="14")&amp;&amp;e.2X(3i)}4d=a})();17 9};M.1y.38=14(x,y){13(x==24){17{x:9.1A.44,y:9.1A.45}}9.1A.44+=+x;9.1A.45+=+y;2k(9.1v){1k"3c":1k"3d":9.1D({cx:9.15.cx+x,1J:9.15.1J+y});1m;1k"2o":1k"2n":1k"1R":9.1D({x:9.15.x+ +x,y:9.15.y+ +y});1m;1k"1l":11 a=C(9.15.1l);a[0][1]+=+x;a[0][2]+=+y;9.1D({1l:a.1K(" ")});1m}17 9};11 bb=14(a){9.2r=[];9.19=(a&amp;&amp;a.19)||0;13(a&amp;&amp;a.4M==3b){1n(11 i=a.19;i--;){13(a[i].4M==M){9.2r[9.2r.19]=a[i]}}}};bb.1y.1V=14(a){13(a&amp;&amp;a.4M==M){11 b=9.2r.19;9.2r[b]=a;9[b]=a;9.19++}17 9};bb.1y.cw=14(a){11 b=9.2r.2t(a,1)[0];1n(11 j=a,21=9.2r.19;j&lt;21;j++){9[j]=9[j+1]}43 9[21+1];9.19--;17 b};1n(11 bc 1E M.1y){bb.1y[bc]=(14(a){17 14(){1n(11 i=9.2r.19;i--;){9.2r[i][a].2e(9.2r[i],18)}17 9}})(bc)}bb.1y.37=14(){11 x=[],y=[],w=[],h=[];1n(11 i=9.2r.19;i--;){11 a=9.2r[i].37();x.1V(a.x);y.1V(a.y);w.1V(a.x+a.1d);h.1V(a.y+a.1g)}x=1b.2M.2e(1b,x);y=1b.2M.2e(1b,y);17{x:x,y:y,1d:1b.30.2e(1b,w)-x,1g:1b.30.2e(1b,h)-y}};17 R})();',62,778,'|||||||||this||||||||||||||||||||||||||||||||||||||||||||||||||||||var||if|function|attrs||return|arguments|length|last|Math|parseFloat|width|node|setAttribute|height|isAbsolute|stroke|round|case|path|break|for|else|opacity|ii|canvas|style|appendChild|typeof|type|doc|fill|prototype|font|_|dots|vector|attr|in|parentNode|toString|px|res|cy|join|toFixed|Group|undefined|curveTo|top|true|text|diff|number|none|push|new|events|green|blue||jj|000|hex|null|now|split|svgns|rt||vml|createElementNS|left|firstChild|apply|svg|gradient|rx|ry|string|switch|color|offset|image|rect|on|diry|items|substring|splice|removeChild|deg|shape|Raphael|hue|toLowerCase|start|false|100|rollback|transformations|insertBefore|size|scale|src|dasharray|translation|255|min|dy|sx|group|Path|rotation|default|getAttribute|id|position|sy|call|to|linecap|max|parseInt|parsePathString|toUpperCase|end|lineTo|url|getBBox|translate|absolute|getElementsByTagName|Array|circle|ellipse|rvml|setBox|os|dim|that|butt|object|absolutely|qx|qy|stop|createElement|gl|ol|coordsize|gs|rs|win|fn|family|linejoin|miterlimit|csv|angle|abs|pathfinder|y1|defs|pattern|xlink|rotate|safari|remove|coordorigin|filterMatrix|weight|set|VML|availableAnimAttrs|colour|hsb2rgb|match|callee|data|replace|name|180|relatively|command|qcurveTo|body|delete|tx|ty|display|nextSibling|class|filterOpacity|attachEvent|animation_in_progress|from2|prev|SVG|idGenerator|fff|M0|saturation|rgb|while|concat|miny|processPath|edgeCases|shift|moveTo|arcTo|andClose|addDashes|square|dashes|setAttributeNS|href|offsetWidth|offsetHeight|getElementById|setTimeout|transform|clear|filter|textpath|childNodes|detachEvent|rowHeight|columnWidth|clearTimeout|skip|constructor|document|version|Arial|mouseout|mouseover|brightness|0ff|f0f|lightsalmon|ffa07a|mediumslateblue|7b68ee|hsb|getColor|ig|continue|linear|PI||cplineTo||addRoundedCorner|5522|raphael|fillOpacity|9999em|tspan|hide|show|block|instanceof|toFront|toBack|insertAfter|throw|Error|container|not|found|320|200|http|www|w3|org|svgattr|charAt|progid|DXImageTransform|Microsoft|fontFamily|fontSize|fontWeight|fontStyle|miter|360|radial|colors|value|oval|clip|namespaces|urn|schemas|microsoft|com|div|2px|test|addEventListener|onmouseenter|onmouseleave|Date|getTime|window|SVGAngle|10px|click|dblclick|mousedown|mousemove|mouseup|Your|browser|doesn|support|nYou|are|running|unescape|Rapha|EBl|setWindow|floor|rgb2hsb|aliceblue|f0f8ff|amethyst|96c|antiquewhite|faebd7|aqua|aquamarine|7fffd4|azure|f0ffff|beige|f5f5dc|bisque|ffe4c4|black|blanchedalmond|ffebcd|00f|blueviolet|8a2be2|brown|a52a2a|burlywood|deb887|cadetblue|5f9ea0|chartreuse|7fff00|chocolate|d2691e|coral|ff7f50|cornflowerblue|6495ed|cornsilk|fff8dc|crimson|dc143c|cyan|darkblue|00008b|darkcyan|008b8b|darkgoldenrod|b8860b|darkgray||a9a9a9|darkgreen|006400|darkkhaki|bdb76b|darkmagenta|8b008b|darkolivegreen|556b2f|darkorange|ff8c00|darkorchid|9932cc|darkred|8b0000|darksalmon|e9967a|darkseagreen|8fbc8f|darkslateblue|483d8b|darkslategray|2f4f4f|darkturquoise|00ced1|darkviolet|9400d3|deeppink|ff1493|deepskyblue|00bfff|dimgray|696969|dodgerblue|1e90ff|firebrick|b22222|floralwhite|fffaf0|forestgreen|228b22|fuchsia|gainsboro|dcdcdc|ghostwhite|f8f8ff|gold|ffd700|goldenrod|daa520|gray|808080|008000|greenyellow|adff2f|honeydew|f0fff0|hotpink|ff69b4|indianred|cd5c5c|indigo|4b0082|ivory|fffff0|khaki|f0e68c|lavender|e6e6fa|lavenderblush|fff0f5|lawngreen|7cfc00|lemonchiffon|fffacd|lightblue|add8e6|lightcoral|f08080|lightcyan|e0ffff|lightgoldenrodyellow|fafad2|lightgreen|90ee90|lightgrey|d3d3d3|lightpink|ffb6c1|lightseagreen|20b2aa|lightskyblue|87cefa|lightslategray|789|lightsteelblue|b0c4de|lightyellow|ffffe0|lime|0f0|limegreen|32cd32|linen|faf0e6|magenta|maroon|800000|mediumaquamarine|66cdaa|mediumblue|0000cd|mediumorchid|ba55d3|mediumpurple|9370db|mediumseagreen|3cb371||mediumspringgreen|00fa9a|mediumturquoise|48d1cc|mediumvioletred|c71585|midnightblue|191970|mintcream|f5fffa|mistyrose|ffe4e1|moccasin|ffe4b5|navajowhite|ffdead|navy|000080|oldlace|fdf5e6|olive|808000|olivedrab|6b8e23|orange|ffa500|orangered|ff4500|orchid|da70d6|palegoldenrod|eee8aa|palegreen|98fb98|paleturquoise|afeeee|palevioletred|db7093|papayawhip|ffefd5|peachpuff|ffdab9|peru|cd853f|pink|ffc0cb|plum|dda0dd|powderblue|b0e0e6|purple|800080|red|f00|rosybrown|bc8f8f|royalblue|4169e1|saddlebrown|8b4513|salmon|fa8072|sandybrown|f4a460|seagreen|2e8b57|seashell|fff5ee|sienna|a0522d|silver|c0c0c0|skyblue|87ceeb|slateblue|6a5acd|slategray|708090|snow|fffafa|springgreen|00ff7f|steelblue|4682b4|tan|d2b48c|teal|008080||thistle||d8bfd8|tomato|ff6347|turquoise|40e0d0|violet|ee82ee|wheat|f5deb3|white|whitesmoke|f5f5f5|yellow|ff0|yellowgreen|9acd32|075|reset|achlmqstvz|cos|sin|Gradient|x1|x2|y2|patternTransform|strokeWidth|patternUnits|userSpaceOnUse|img|onload|defaultView|getComputedStyle|getPropertyValue|createTextNode|preserveAspectRatio|anchor|middle|create|2000|1999|navigator||||vendor|Apple|Computer|Inc|className|sqrt|wa|wr|qb|qcurve|arg|slice|pos|Alpha|tile||solid|joinstyle|endcap|flat|||shortdash|shortdot|shortdashdot|shortdashdotdot|dot|dash|longdash|dashdot|longdashdot|longdashdotdot|dashstyle|span|innerText|atan|method|gradientTitle|color2|270|focus|focusposition|RotX|RotY|Scale|roundrect|arcsize|ps|textpathok|createStyleSheet|addRule|behavior|try|add|catch|xmlns|320px|200px|relative|filled|stroked|removeEventListener|event|un|drawGrid|setSize|isNaN|Matrix|M11|M12|M21|M22|Dx|Dy|sizingmethod|auto|expand||filtertype|bilinear|animate|pull|'.split('|'),0,{}))//--&gt;&lt;/script&gt;&lt;div class='aqscontainer'&gt;&lt;div id="board_svgAWISRG"&gt;&lt;/div&gt;                &lt;div class="shadow1table"&gt;                        &lt;div class="shadow2"&gt;                                &lt;table id="game_boardAWISRG" cellpadding="0" cellspacing="0"&gt;                                        &lt;tr&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;td id="topaAWISRG" class="lettertop"&gt;A&lt;/td&gt;                                        &lt;td id="topbAWISRG" class="lettertop"&gt;B&lt;/td&gt;                                        &lt;td id="topcAWISRG" class="lettertop"&gt;C&lt;/td&gt;                                        &lt;td id="topdAWISRG" class="lettertop"&gt;D&lt;/td&gt;                                        &lt;td id="topeAWISRG" class="lettertop"&gt;E&lt;/td&gt;                                        &lt;td id="topfAWISRG" class="lettertop"&gt;F&lt;/td&gt;                                        &lt;td id="topgAWISRG" class="lettertop"&gt;G&lt;/td&gt;                                        &lt;td id="tophAWISRG" class="lettertop"&gt;H&lt;/td&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left8AWISRG" class="numberleft"&gt;8&lt;/td&gt;                                        &lt;td class="white" id="square11AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square21AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square31AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square41AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square51AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square61AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square71AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square81AWISRG"&gt;&lt;/td&gt;                                        &lt;td id="right8AWISRG" class="numberright"&gt;8&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left7AWISRG" class="numberleft"&gt;7&lt;/td&gt;                                        &lt;td class="black" id="square12AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square22AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square32AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square42AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square52AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square62AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square72AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square82AWISRG"&gt;&lt;/td&gt;                                        &lt;td id="right7AWISRG" class="numberright"&gt;7&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left6AWISRG" class="numberleft"&gt;6&lt;/td&gt;                                        &lt;td class="white" id="square13AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square23AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square33AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square43AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square53AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square63AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square73AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square83AWISRG"&gt;&lt;/td&gt;                                        &lt;td id="right6AWISRG" class="numberright"&gt;6&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left5AWISRG" class="numberleft"&gt;5&lt;/td&gt;                                        &lt;td class="black" id="square14AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square24AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square34AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square44AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square54AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square64AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square74AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square84AWISRG"&gt;&lt;/td&gt;                                        &lt;td id="right5AWISRG" class="numberright"&gt;5&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left4AWISRG" class="numberleft"&gt;4&lt;/td&gt;                                        &lt;td class="white" id="square15AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square25AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square35AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square45AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square55AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square65AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square75AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square85AWISRG"&gt;&lt;/td&gt;                                        &lt;td id="right4AWISRG" class="numberright"&gt;4&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left3AWISRG" class="numberleft"&gt;3&lt;/td&gt;                                        &lt;td class="black" id="square16AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square26AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square36AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square46AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square56AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square66AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square76AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square86AWISRG"&gt;&lt;/td&gt;                                        &lt;td id="right3AWISRG" class="numberright"&gt;3&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left2AWISRG" class="numberleft"&gt;2&lt;/td&gt;                                        &lt;td class="white" id="square17AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square27AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square37AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square47AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square57AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square67AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square77AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square87AWISRG"&gt;&lt;/td&gt;                                        &lt;td id="right2AWISRG" class="numberright"&gt;2&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left1AWISRG" class="numberleft"&gt;1&lt;/td&gt;                                        &lt;td class="black" id="square18AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square28AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square38AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square48AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square58AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square68AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square78AWISRG"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square88AWISRG"&gt;&lt;/td&gt;                                        &lt;td id="right1AWISRG" class="numberright"&gt;1&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td class="corner"&gt;&lt;center&gt;&lt;a title="Flip board" id="flipiconAWISRG" href="javascript: guiAWISRG.flipBoard();"&gt;&lt;img src="http://www.chessok.com/common/images/board/flip_blue.png" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;/td&gt;                                        &lt;td id="bottomaAWISRG" class="letterbottom"&gt;A&lt;/td&gt;                                        &lt;td id="bottombAWISRG" class="letterbottom"&gt;B&lt;/td&gt;                                        &lt;td id="bottomcAWISRG" class="letterbottom"&gt;C&lt;/td&gt;                                        &lt;td id="bottomdAWISRG" class="letterbottom"&gt;D&lt;/td&gt;                                        &lt;td id="bottomeAWISRG" class="letterbottom"&gt;E&lt;/td&gt;                                        &lt;td id="bottomfAWISRG" class="letterbottom"&gt;F&lt;/td&gt;                                        &lt;td id="bottomgAWISRG" class="letterbottom"&gt;G&lt;/td&gt;                                        &lt;td id="bottomhAWISRG" class="letterbottom"&gt;H&lt;/td&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;/tr&gt;                                &lt;/table&gt;                        &lt;/div&gt;                &lt;/div&gt;                &lt;script type="text/javascript"&gt;                        var boardAWISRG = new chessBoardAWISRG();                        var guiAWISRG = new GUIAWISRG();                        boardAWISRG.loadFEN(FENsAWISRG[0]);                        guiAWISRG.drawBoardPosition(boardAWISRG);                &lt;/script&gt;&lt;script type="text/javascript"&gt;var currMoveAWISRG;var currVarLevelAWISRG;var currMoveNumAWISRG;var board_key = "AWISRG";function loadMoveAWISRG(moveid) {        board_key = "AWISRG";                boardAWISRG.loadFEN(FENsAWISRG[moveid]);        guiAWISRG.drawBoardPosition(boardAWISRG);        if (currMoveAWISRG) {                previousMoveAWISRG = document.getElementById("m" + currMoveAWISRG + "AWISRG");                previousMoveAWISRG.style.color = '';        }        currMoveAWISRG = moveid;        currVarLevelAWISRG = VarLevelsAWISRG[moveid];        currMoveNumAWISRG = MoveNumsAWISRG[moveid];        if (currMoveAWISRG) {                currentMoveAWISRG = document.getElementById("m" + currMoveAWISRG + "AWISRG");                currentMoveAWISRG.style.color = 'red';        }}function keyHandler(e) {        var keynum;        if(!e) // IE                e = window.event;        keynum = e['keyCode'];        var cmove = eval("currMove" + board_key);        if (keynum == 37) {                if(cmove &gt; 1) {                                        while ((cmove &gt; 0) &amp;&amp; (currVarLevelAWISRG != VarLevelsAWISRG[cmove-1]))                                        {                                                if (currVarLevelAWISRG &gt; VarLevelsAWISRG[cmove-1]) break;                                                cmove--;                                        }                                        if ((cmove &gt; 0) &amp;&amp; (currMoveNumAWISRG &gt; MoveNumsAWISRG[cmove-1]))                                        {                                                eval("loadMove" + board_key + "(" + parseInt(cmove - 1) + ")");                                        }                }        }        else if (keynum == 39) {                if(cmove &lt; eval("FENs" + board_key).length - 1) {                                        while ((cmove &lt; VarLevelsAWISRG.length-1) &amp;&amp; (currVarLevelAWISRG != VarLevelsAWISRG[cmove+1]))                                        {                                                if (currVarLevelAWISRG &gt; VarLevelsAWISRG[cmove+1]) break;                                                cmove++;                                        }                                        if ( (cmove &lt; VarLevelsAWISRG.length) &amp;&amp; (currMoveNumAWISRG &lt; MoveNumsAWISRG[cmove+1]) )                                        {                                                eval("loadMove" + board_key + "(" + parseInt(cmove + 1) + ")");                                        }                }        }}document.onkeydown = keyHandler;&lt;/script&gt;&lt;div class="aqsnotation"&gt;&lt;span class="ahb"&gt; &lt;table width="100%" border="0" cols="1" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="100%" align="center"&gt;&lt;FONT COLOR="black"&gt;&lt;B&gt;Lewyk, I. 178 - Shapland, D. 159&lt;/B&gt;&lt;/FONT&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table width="100%" border="0" cols="1" cellspacing="0"&gt;&lt;tr&gt;&lt;td width="100%" align="center"&gt;&lt;FONT COLOR="black"&gt;&lt;B&gt;0-1 (Leeds League 1) 16/11/2011&lt;/B&gt;&lt;/FONT&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span class="line0"&gt;&lt;span  id="m0AWISRG" onclick="loadMoveAWISRG(0);"&gt;[#]&lt;/span&gt;&lt;span  id="m1AWISRG" onclick="loadMoveAWISRG(1);"&gt;1.c4&lt;/span&gt; &lt;span  id="m2AWISRG" onclick="loadMoveAWISRG(2);"&gt;Nf6&lt;/span&gt; &lt;span  id="m3AWISRG" onclick="loadMoveAWISRG(3);"&gt;2.Nc3&lt;/span&gt; &lt;span  id="m4AWISRG" onclick="loadMoveAWISRG(4);"&gt;c6&lt;/span&gt; &lt;span  id="m5AWISRG" onclick="loadMoveAWISRG(5);"&gt;3.Nf3&lt;/span&gt; &lt;span  id="m6AWISRG" onclick="loadMoveAWISRG(6);"&gt;d5&lt;/span&gt; &lt;span  id="m7AWISRG" onclick="loadMoveAWISRG(7);"&gt;4.cxd5&lt;/span&gt; &lt;/span&gt;Oh dear! I hadn't really wanted to play an exchange Semi-Slav. Looks like it'll be a long evening of dour defence for me then.&lt;span class="line0"&gt; &lt;span  id="m8AWISRG" onclick="loadMoveAWISRG(8);"&gt;4...cxd5&lt;/span&gt; &lt;span  id="m9AWISRG" onclick="loadMoveAWISRG(9);"&gt;5.d4&lt;/span&gt; &lt;span  id="m10AWISRG" onclick="loadMoveAWISRG(10);"&gt;e6&lt;/span&gt; &lt;span  id="m11AWISRG" onclick="loadMoveAWISRG(11);"&gt;6.e3!?&lt;/span&gt; &lt;/span&gt;This was a surprise. I'd expected either 6.Bf4 or Bg5 which would have led to a more orthodox position. Surely blocking in the queen's bishop like this can't be all that sensible?&lt;span class="line0"&gt; &lt;span  id="m12AWISRG" onclick="loadMoveAWISRG(12);"&gt;6...Be7&lt;/span&gt; &lt;span  id="m13AWISRG" onclick="loadMoveAWISRG(13);"&gt;7.Bd3&lt;/span&gt; &lt;span  id="m14AWISRG" onclick="loadMoveAWISRG(14);"&gt;Nc6&lt;/span&gt; &lt;span  id="m15AWISRG" onclick="loadMoveAWISRG(15);"&gt;8.O-O&lt;/span&gt; &lt;span  id="m16AWISRG" onclick="loadMoveAWISRG(16);"&gt;O-O&lt;/span&gt; &lt;span  id="m17AWISRG" onclick="loadMoveAWISRG(17);"&gt;9.Ne5&lt;/span&gt; &lt;span  id="m18AWISRG" onclick="loadMoveAWISRG(18);"&gt;Bd7&lt;/span&gt; &lt;/span&gt;I remember having quite a long think about this move. I was searching for an active way to play to begin with but I found myself struggling to weigh up the pros and cons of exchanging on e5 or playing 9...Nfd7 intending 10...f6. In the end I decided that I had time to be a little more patient and just develop. It may sound odd but I'm not all that experienced at playing these slow burning positional games because, even against 1.c4 and 1.d4, I have generally found interesting ways of getting an active position.&lt;span class="line0"&gt; &lt;span  id="m19AWISRG" onclick="loadMoveAWISRG(19);"&gt;10.f4&lt;/span&gt; &lt;span  id="m20AWISRG" onclick="loadMoveAWISRG(20);"&gt;Ne8&lt;/span&gt; &lt;/span&gt;My idea here was to play f5 not f6. I then have the possibility of Ne8-f6-e4 if left unmolested.&lt;span class="line0"&gt; &lt;span  id="m21AWISRG" onclick="loadMoveAWISRG(21);"&gt;11.Bd2&lt;/span&gt; &lt;span  id="m22AWISRG" onclick="loadMoveAWISRG(22);"&gt;f5&lt;/span&gt; &lt;/span&gt;Maybe this is a little impetuous. There was no need to play this move immediately, and it is quite committal. Perhaps 11...Rc8 first and then even 12...Nd6 and waiting for White to deploy is pieces further would have been more circumspect.&lt;span class="line0"&gt; &lt;span  id="m23AWISRG" onclick="loadMoveAWISRG(23);"&gt;12.g4&lt;/span&gt; &lt;/span&gt;I'd sort of expected this. It makes sense for White to re-open the b1-h7 diagonal if he can because he is better positioned to exploit the opening up of the king's side.&lt;span class="line0"&gt; &lt;span  id="m24AWISRG" onclick="loadMoveAWISRG(24);"&gt;12...fxg4&lt;/span&gt; &lt;/span&gt;Again a committal move selection from me. I could see I'd be able to get a tempo to re-deploy my knight on f6 and also began to see ways of getting my queen into the key area of the battlefield.&lt;span class="line0"&gt; &lt;span  id="m25AWISRG" onclick="loadMoveAWISRG(25);"&gt;13.Qxg4&lt;/span&gt; &lt;span  id="m26AWISRG" onclick="loadMoveAWISRG(26);"&gt;Nf6&lt;/span&gt; &lt;span  id="m27AWISRG" onclick="loadMoveAWISRG(27);"&gt;14.Qh3&lt;/span&gt; &lt;span  id="m28AWISRG" onclick="loadMoveAWISRG(28);"&gt;Qe8&lt;/span&gt; &lt;/span&gt;With the idea of Qh5 at some point in the future.&lt;span class="line0"&gt; &lt;span  id="m29AWISRG" onclick="loadMoveAWISRG(29);"&gt;15.Rf3&lt;/span&gt; &lt;span  id="m30AWISRG" onclick="loadMoveAWISRG(30);"&gt;Rd8!&lt;/span&gt; &lt;/span&gt;It may look very odd indeed to place this rook here but the move is both tactically and strategically motivated. Tactically, I wanted to be able to play&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m31AWISRG" onclick="loadMoveAWISRG(31);"&gt;15...Qh5??&lt;/span&gt; but right now this loses to &lt;span class="line1"&gt;&lt;span  id="m32AWISRG" onclick="loadMoveAWISRG(32);"&gt;16.Qxh5&lt;/span&gt; &lt;span  id="m33AWISRG" onclick="loadMoveAWISRG(33);"&gt;Nxh5&lt;/span&gt; &lt;span  id="m34AWISRG" onclick="loadMoveAWISRG(34);"&gt;17.Nxd7&lt;/span&gt; &lt;/span&gt;Therefore the bizarre rook manouevre allows me to play Qh5 because it protects the bishop and also allows for its retreat to the c8 square. From a strategic perspective I had hatched a plan to liberate my pieces. I figured it would require some cooperation from my opponent but I couldn't see a good way for him to prevent me implementing it.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m35AWISRG" onclick="loadMoveAWISRG(35);"&gt;16.a3?!&lt;/span&gt; &lt;/span&gt;I think this might be a bit too slow. White must have been concerned that I might play Nb4 when his king's bishop must vacate the b1-h7 diagonal or block the queen's rook in by retreating to b1. However, the best way to side-step this threat seems to me to be&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m36AWISRG" onclick="loadMoveAWISRG(36);"&gt;16.Rc1&lt;/span&gt; making way for the bishop to go to b1 if the Black knight does advance to b4 and now White looks to have much the better position unless Black can break out. I think I would have continued with &lt;span class="line1"&gt;&lt;span  id="m37AWISRG" onclick="loadMoveAWISRG(37);"&gt;16...Bc8&lt;/span&gt; &lt;/span&gt;here and tried to play as I did in the game.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m38AWISRG" onclick="loadMoveAWISRG(38);"&gt;16...Bc8&lt;/span&gt; &lt;/span&gt;I felt that White's last quiet move justified me taking one more tempo to prepare my escape plan. I had a good idea for this 'bad' bishop.&lt;span class="line0"&gt; &lt;span  id="m39AWISRG" onclick="loadMoveAWISRG(39);"&gt;17.Kh1&lt;/span&gt; &lt;/span&gt;It looks like White is preparing for a colossal attack down the g-file with his brigade of heavy pieces. I must confess that I had to persuade myself to hold my nerve here. I wanted to reach out and play 17...g6 but that would have been a poor move. Finally, I persuaded myself to stick to the plan.&lt;span class="line0"&gt; &lt;span  id="m40AWISRG" onclick="loadMoveAWISRG(40);"&gt;17...Qh5&lt;/span&gt; &lt;/span&gt;The break out begins. White can scarcely accept and exchange of queens when he has laboured so hard to set up his attack. Therefore he retreats but only to begin his occupation of the g-file.&lt;span class="line0"&gt; &lt;span  id="m41AWISRG" onclick="loadMoveAWISRG(41);"&gt;18.Qg2&lt;/span&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m42AWISRG" onclick="loadMoveAWISRG(42);"&gt;18.Qxh5&lt;/span&gt; If White had chosen to exchange queens then he would have been able to enjoy a smaller, but long lasting advantage. Fritz gives the line &lt;span class="line1"&gt;&lt;span  id="m43AWISRG" onclick="loadMoveAWISRG(43);"&gt;18...Nxh5&lt;/span&gt; &lt;span  id="m44AWISRG" onclick="loadMoveAWISRG(44);"&gt;19.Nxc6&lt;/span&gt; &lt;span  id="m45AWISRG" onclick="loadMoveAWISRG(45);"&gt;bxc6&lt;/span&gt; &lt;span  id="m46AWISRG" onclick="loadMoveAWISRG(46);"&gt;20.Na4&lt;/span&gt; &lt;/span&gt;and White's pieces seem better coordinated for the end game.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m47AWISRG" onclick="loadMoveAWISRG(47);"&gt;18...Nxe5!?&lt;/span&gt; &lt;/span&gt;This move is well timed. The breakout is gathering pace.&lt;span class="line0"&gt; &lt;span  id="m48AWISRG" onclick="loadMoveAWISRG(48);"&gt;19.dxe5&lt;/span&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m49AWISRG" onclick="loadMoveAWISRG(49);"&gt;19.fxe5&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m50AWISRG" onclick="loadMoveAWISRG(50);"&gt;Ne4&lt;/span&gt;&lt;/span&gt;&lt;span class="line2"&gt;&lt;/span&gt; (&lt;span class="line2"&gt;&lt;span  id="m51AWISRG" onclick="loadMoveAWISRG(51);"&gt;19...Ng4?&lt;/span&gt; &lt;/span&gt;was my original intention at the board as now 20... Rxf3 is threatened. However, this move is well met by&lt;span class="line2"&gt; &lt;/span&gt;&lt;span class="line2"&gt;&lt;span  id="m52AWISRG" onclick="loadMoveAWISRG(52);"&gt;20.Be2&lt;/span&gt; &lt;/span&gt;and White is winning a piece.&lt;span class="line2"&gt;&lt;/span&gt;) &lt;span class="line1"&gt;&lt;span  id="m53AWISRG" onclick="loadMoveAWISRG(53);"&gt;20.Rxf8+&lt;/span&gt; &lt;span  id="m54AWISRG" onclick="loadMoveAWISRG(54);"&gt;Rxf8&lt;/span&gt; &lt;span  id="m55AWISRG" onclick="loadMoveAWISRG(55);"&gt;21.Nxe4&lt;/span&gt; &lt;span  id="m56AWISRG" onclick="loadMoveAWISRG(56);"&gt;dxe4&lt;/span&gt; &lt;span  id="m57AWISRG" onclick="loadMoveAWISRG(57);"&gt;22.Bxe4&lt;/span&gt; &lt;span  id="m58AWISRG" onclick="loadMoveAWISRG(58);"&gt;b6&lt;/span&gt; &lt;/span&gt;and White's central pawn majority combined with the weakness of Black's e-pawn should be enough to win the game but there is much work to do and Black has at least succeeded in activating his pieces.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m59AWISRG" onclick="loadMoveAWISRG(59);"&gt;19...Ne4&lt;/span&gt; &lt;/span&gt;The second stage of my plan to get activated. I wanted to sacrifice my d-pawn.&lt;span class="line0"&gt; &lt;span  id="m60AWISRG" onclick="loadMoveAWISRG(60);"&gt;20.Bxe4?&lt;/span&gt; &lt;/span&gt;Reflecting on the game now I can see that this was an important inaccuracy which enabled me to get into the game. At the board (calculating this line before my 17th move) I had thought that it was not possible for White to play the alternative capture&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m61AWISRG" onclick="loadMoveAWISRG(61);"&gt;20.Nxe4&lt;/span&gt; because &lt;span class="line1"&gt;&lt;span  id="m62AWISRG" onclick="loadMoveAWISRG(62);"&gt;20...dxe4&lt;/span&gt; &lt;span  id="m63AWISRG" onclick="loadMoveAWISRG(63);"&gt;21.Bxe4&lt;/span&gt; &lt;/span&gt;and here I had envisaged playing 21...Rxd2 thinking that if the queen recaptured I would be able to play 22... Qxf3. Of course I hadn't pictured the position correctly at that stage because in this sequence the bishop is now defending the rook on f3.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m64AWISRG" onclick="loadMoveAWISRG(64);"&gt;20...dxe4&lt;/span&gt; &lt;span  id="m65AWISRG" onclick="loadMoveAWISRG(65);"&gt;21.Nxe4&lt;/span&gt; &lt;span  id="m66AWISRG" onclick="loadMoveAWISRG(66);"&gt;b6&lt;/span&gt; &lt;/span&gt;"Abrakebabra!" If you want to see a good casestudy of a pin/skewer then this is it. It's more like a kebab really! Look at all that juicy meat on the h1-a8 diagonal. This weakness is critical to my counterplay along with the open d-file. Ok, you can admit that you thought I was crazy putting my rook on d8 at the time!    Suddenly all of my dreams have come true. This move is the real point behind all my previous efforts from move 15 onwards. It changes the nature of the game completely. White is now under a bit of pressure. How well will he cope with it?  As we've seen along the way there were numerous tactical flaws in my strategic plan but, fortunately for me, my opponent has overlooked them. For the first time in the game I felt like I might be able to play for more than a draw.&lt;span class="line0"&gt; &lt;span  id="m67AWISRG" onclick="loadMoveAWISRG(67);"&gt;22.Rg1&lt;/span&gt; &lt;/span&gt;White goes for the jugular. His play down the g-file is still a potential game winner and I don't have time to execute my big skewer threat just yet. The alternative way to play was&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m68AWISRG" onclick="loadMoveAWISRG(68);"&gt;22.Rh3&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m69AWISRG" onclick="loadMoveAWISRG(69);"&gt;Qf7&lt;/span&gt; &lt;span  id="m70AWISRG" onclick="loadMoveAWISRG(70);"&gt;23.Rg1&lt;/span&gt; &lt;/span&gt;The direct route.&lt;span class="line1"&gt;&lt;/span&gt;&lt;span class="line2"&gt;&lt;/span&gt; (&lt;span class="line2"&gt;&lt;span  id="m71AWISRG" onclick="loadMoveAWISRG(71);"&gt;23.Bb4&lt;/span&gt; &lt;/span&gt;also looks sensible.&lt;span class="line2"&gt;&lt;/span&gt;) &lt;span class="line1"&gt;&lt;span  id="m72AWISRG" onclick="loadMoveAWISRG(72);"&gt;23...Bb7&lt;/span&gt; &lt;span  id="m73AWISRG" onclick="loadMoveAWISRG(73);"&gt;24.Bb4&lt;/span&gt; &lt;span  id="m74AWISRG" onclick="loadMoveAWISRG(74);"&gt;Bxb4&lt;/span&gt;&lt;/span&gt;&lt;span class="line2"&gt;&lt;/span&gt; (&lt;span class="line2"&gt;&lt;span  id="m75AWISRG" onclick="loadMoveAWISRG(75);"&gt;24...Rc8&lt;/span&gt; &lt;/span&gt;Fritz 11 likes this line best for Black.&lt;span class="line2"&gt; &lt;/span&gt;&lt;span class="line2"&gt;&lt;span  id="m76AWISRG" onclick="loadMoveAWISRG(76);"&gt;25.Bxe7&lt;/span&gt; &lt;span  id="m77AWISRG" onclick="loadMoveAWISRG(77);"&gt;Qxe7&lt;/span&gt; &lt;span  id="m78AWISRG" onclick="loadMoveAWISRG(78);"&gt;26.Rg3&lt;/span&gt; &lt;span  id="m79AWISRG" onclick="loadMoveAWISRG(79);"&gt;g6&lt;/span&gt;&lt;/span&gt;) &lt;span class="line1"&gt;&lt;span  id="m80AWISRG" onclick="loadMoveAWISRG(80);"&gt;25.Nf6+!?&lt;/span&gt; &lt;/span&gt;An interesting method for breaking the pin!&lt;span class="line1"&gt; &lt;span  id="m81AWISRG" onclick="loadMoveAWISRG(81);"&gt;25...Qxf6&lt;/span&gt; &lt;span  id="m82AWISRG" onclick="loadMoveAWISRG(82);"&gt;26.Qxb7&lt;/span&gt; &lt;span  id="m83AWISRG" onclick="loadMoveAWISRG(83);"&gt;Qe7&lt;/span&gt; &lt;span  id="m84AWISRG" onclick="loadMoveAWISRG(84);"&gt;27.Qe4&lt;/span&gt; &lt;span  id="m85AWISRG" onclick="loadMoveAWISRG(85);"&gt;g6&lt;/span&gt; &lt;span  id="m86AWISRG" onclick="loadMoveAWISRG(86);"&gt;28.axb4&lt;/span&gt; &lt;/span&gt;and both my kibitzing engines assess this position as being pretty much equal.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m87AWISRG" onclick="loadMoveAWISRG(87);"&gt;22...Rf7&lt;/span&gt; &lt;span  id="m88AWISRG" onclick="loadMoveAWISRG(88);"&gt;23.Rg3&lt;/span&gt; &lt;/span&gt;I was planning to meet the alternative&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m89AWISRG" onclick="loadMoveAWISRG(89);"&gt;23.Rh3!&lt;/span&gt; with &lt;span class="line1"&gt;&lt;span  id="m90AWISRG" onclick="loadMoveAWISRG(90);"&gt;23...Qg6&lt;/span&gt; &lt;/span&gt;when my combined engines think something like this might happen&lt;span class="line1"&gt; &lt;span  id="m91AWISRG" onclick="loadMoveAWISRG(91);"&gt;24.Qf3&lt;/span&gt; &lt;span  id="m92AWISRG" onclick="loadMoveAWISRG(92);"&gt;Qf5&lt;/span&gt; &lt;span  id="m93AWISRG" onclick="loadMoveAWISRG(93);"&gt;25.Rh5&lt;/span&gt; &lt;span  id="m94AWISRG" onclick="loadMoveAWISRG(94);"&gt;Bb7&lt;/span&gt; &lt;span  id="m95AWISRG" onclick="loadMoveAWISRG(95);"&gt;26.Rxf5&lt;/span&gt; &lt;span  id="m96AWISRG" onclick="loadMoveAWISRG(96);"&gt;exf5&lt;/span&gt; &lt;span  id="m97AWISRG" onclick="loadMoveAWISRG(97);"&gt;27.Qe2&lt;/span&gt; &lt;span  id="m98AWISRG" onclick="loadMoveAWISRG(98);"&gt;Bxe4+&lt;/span&gt; &lt;span  id="m99AWISRG" onclick="loadMoveAWISRG(99);"&gt;28.Rg2&lt;/span&gt; &lt;span  id="m100AWISRG" onclick="loadMoveAWISRG(100);"&gt;Bc5&lt;/span&gt; &lt;/span&gt;and the end result is a position that is very hard to assess. Crafty gives White a big advantage and Fritz 11 says it's almost equal!&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m101AWISRG" onclick="loadMoveAWISRG(101);"&gt;23...Qh6&lt;/span&gt; &lt;/span&gt;Even though my g-pawn is pinned I really didn't feel like I wanted to advance it to g6 and give White even more encouragement to play 24.Nf6+.&lt;span class="line0"&gt; &lt;span  id="m102AWISRG" onclick="loadMoveAWISRG(102);"&gt;24.Bc3&lt;/span&gt; &lt;/span&gt;I suspect that White felt there was no rush here. He would also like to liberate his knight and queen from the protection of the bishop so this move does make sense. I think it might be a bit too slow though. Once again the best move was probably&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m103AWISRG" onclick="loadMoveAWISRG(103);"&gt;24.Rh3&lt;/span&gt; and after &lt;span class="line1"&gt;&lt;span  id="m104AWISRG" onclick="loadMoveAWISRG(104);"&gt;24...Qg6&lt;/span&gt; &lt;span  id="m105AWISRG" onclick="loadMoveAWISRG(105);"&gt;25.Qf3&lt;/span&gt; &lt;span  id="m106AWISRG" onclick="loadMoveAWISRG(106);"&gt;Qf5&lt;/span&gt; &lt;span  id="m107AWISRG" onclick="loadMoveAWISRG(107);"&gt;26.Rh5&lt;/span&gt; &lt;span  id="m108AWISRG" onclick="loadMoveAWISRG(108);"&gt;Bb7&lt;/span&gt; &lt;/span&gt;we have the same variation mentioned in the previous note.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m109AWISRG" onclick="loadMoveAWISRG(109);"&gt;24...Bb7&lt;/span&gt; &lt;/span&gt;Natural and best! Is this a skewer or a pin? Strictly speaking it's a sort of super-pin because the pieces of lower value are infront of the higher value piece - knight, queen and then king. Whether it's a pin or a skewer White now has a big headache on the h1-a8 diagonal because of it.&lt;span class="line0"&gt; &lt;span  id="m110AWISRG" onclick="loadMoveAWISRG(110);"&gt;25.Qf3&lt;/span&gt; &lt;span  id="m111AWISRG" onclick="loadMoveAWISRG(111);"&gt;Rd3!&lt;/span&gt; &lt;/span&gt;Suddenly the mysterious rook move has paid huge dividends. How often in one of my games can such a thing have happened? Probably never before! With this move Black threatens to win back his pawn with 26...Bxa3 27.bxa3 Rxc3 and Black is doing rather well.&lt;span class="line0"&gt; &lt;span  id="m112AWISRG" onclick="loadMoveAWISRG(112);"&gt;26.Rh3??&lt;/span&gt; &lt;/span&gt;For the last two moves this would have been a great move. Now it is a blunder. Chess is a hard game! Instead of this White had to try something like&lt;span class="line0"&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m113AWISRG" onclick="loadMoveAWISRG(113);"&gt;26.Bb4&lt;/span&gt; This is Crafty's recommendation. However after &lt;span class="line1"&gt;&lt;span  id="m114AWISRG" onclick="loadMoveAWISRG(114);"&gt;26...Bxb4&lt;/span&gt; &lt;span  id="m115AWISRG" onclick="loadMoveAWISRG(115);"&gt;27.axb4&lt;/span&gt; &lt;span  id="m116AWISRG" onclick="loadMoveAWISRG(116);"&gt;Rc7&lt;/span&gt; &lt;/span&gt;I think Black is doing really well. The superb bishop completely paralyses the White position. Or&lt;span class="line1"&gt;&lt;/span&gt;; &lt;/div&gt;&lt;div class="line1" style="margin-left:2em;"&gt;&lt;span  id="m117AWISRG" onclick="loadMoveAWISRG(117);"&gt;26.Rc1&lt;/span&gt; &lt;span class="line1"&gt;&lt;span  id="m118AWISRG" onclick="loadMoveAWISRG(118);"&gt;Bc5&lt;/span&gt; &lt;span  id="m119AWISRG" onclick="loadMoveAWISRG(119);"&gt;27.Re1&lt;/span&gt; &lt;span  id="m120AWISRG" onclick="loadMoveAWISRG(120);"&gt;Kh8&lt;/span&gt; &lt;/span&gt;Black can take his time. White isn't really going anywhere.&lt;span class="line1"&gt; &lt;span  id="m121AWISRG" onclick="loadMoveAWISRG(121);"&gt;28.Kg1&lt;/span&gt; &lt;span  id="m122AWISRG" onclick="loadMoveAWISRG(122);"&gt;Qh4!&lt;/span&gt; &lt;/span&gt;It's torture! The White king escapes one pin and walks into another. The threat is 26...Rxf4!!&lt;span class="line1"&gt; &lt;span  id="m123AWISRG" onclick="loadMoveAWISRG(123);"&gt;29.Nxc5&lt;/span&gt; &lt;/span&gt;That both my kibitzing engines think this to be White's best try speaks volumes for the desperate nature of the situation. It's all over bar the shouting after.&lt;span class="line1"&gt; &lt;span  id="m124AWISRG" onclick="loadMoveAWISRG(124);"&gt;29...Bxf3&lt;/span&gt; &lt;span  id="m125AWISRG" onclick="loadMoveAWISRG(125);"&gt;30.Nxd3&lt;/span&gt; &lt;span  id="m126AWISRG" onclick="loadMoveAWISRG(126);"&gt;Bb7&lt;/span&gt; &lt;/span&gt;but not&lt;span class="line1"&gt;&lt;/span&gt;; &lt;/div&gt;&lt;div class="line1" style="margin-left:2em;"&gt;&lt;span  id="m127AWISRG" onclick="loadMoveAWISRG(127);"&gt;26.Nf6+?&lt;/span&gt; This does White no good as &lt;span class="line1"&gt;&lt;span  id="m128AWISRG" onclick="loadMoveAWISRG(128);"&gt;26...Bxf6&lt;/span&gt; &lt;span  id="m129AWISRG" onclick="loadMoveAWISRG(129);"&gt;27.Qxb7&lt;/span&gt; &lt;span  id="m130AWISRG" onclick="loadMoveAWISRG(130);"&gt;Rxb7&lt;/span&gt; &lt;span  id="m131AWISRG" onclick="loadMoveAWISRG(131);"&gt;28.exf6&lt;/span&gt; &lt;span  id="m132AWISRG" onclick="loadMoveAWISRG(132);"&gt;Rxc3&lt;/span&gt; &lt;span  id="m133AWISRG" onclick="loadMoveAWISRG(133);"&gt;29.bxc3&lt;/span&gt; &lt;span  id="m134AWISRG" onclick="loadMoveAWISRG(134);"&gt;Qxf6&lt;/span&gt; &lt;/span&gt;gives Black a winning advantage and total control.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m135AWISRG" onclick="loadMoveAWISRG(135);"&gt;26...Qxh3&lt;/span&gt; &lt;/span&gt;My opponent resigned in dismay here. This deflection finishes the game at a stroke. The White queen can't recapture on account of&lt;span class="line0"&gt; &lt;span  id="m136AWISRG" onclick="loadMoveAWISRG(136);"&gt;27.Qxh3&lt;/span&gt; &lt;span  id="m137AWISRG" onclick="loadMoveAWISRG(137);"&gt;Bxe4+&lt;/span&gt; &lt;span  id="m138AWISRG" onclick="loadMoveAWISRG(138);"&gt;28.Qg2&lt;/span&gt;&lt;/span&gt;&lt;div class="line1" style="margin-left:2em;"&gt;[&lt;span  id="m139AWISRG" onclick="loadMoveAWISRG(139);"&gt;28.Rg2??&lt;/span&gt; Is even worse as &lt;span class="line1"&gt;&lt;span  id="m140AWISRG" onclick="loadMoveAWISRG(140);"&gt;28...Rd1+&lt;/span&gt; &lt;/span&gt;is mate.&lt;span class="line1"&gt;&lt;/span&gt;] &lt;/div&gt;&lt;span class="line0"&gt;&lt;span  id="m141AWISRG" onclick="loadMoveAWISRG(141);"&gt;28...Bxg2+&lt;/span&gt; &lt;span  id="m142AWISRG" onclick="loadMoveAWISRG(142);"&gt;29.Kxg2&lt;/span&gt; &lt;span  id="m143AWISRG" onclick="loadMoveAWISRG(143);"&gt;Bxa3&lt;/span&gt; &lt;span  id="m144AWISRG" onclick="loadMoveAWISRG(144);"&gt;30.Kf3&lt;/span&gt; &lt;/span&gt;and as the dust settles White will realise he is missing a rook.&lt;span class="line0"&gt; &lt;/span&gt;[0-1] &lt;/span&gt;&lt;/div&gt;&lt;div class="aqslink"&gt;&lt;a href="http://www.chessok.com" target=_blank&gt;Generated by Aquarium&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Points to remember from this game:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;To paraphrase an old chess proverb - "If your opponent starts a flank attack, counter attack in the centre". Even if your plan of attack is tactically flawed (as mine was in this game) it is still, strategically, the right thing to do. In this game I managed to get a strong grip on the White squares in the centre of the board and this was the catalyst for all my opponent's problems.&lt;/li&gt;&lt;li&gt;It doesn't happen very often, but sometimes a single piece can vastly out-weigh its theoretical value because the squares it controls and the threats it exerts are so strong. In this game my 'bad' bishop suddenly repented of his sins and became a very good boy indeed! Be alert to the possibilities of a position and look for ways to improve the status of all your pieces.&lt;/li&gt;&lt;li&gt;The stronger the player the less likely they are to make a blunder. When they make one against you make sure you take full advantage!&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7489746740971456738-2516093339560214978?l=travailpursuit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://travailpursuit.blogspot.com/feeds/2516093339560214978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://travailpursuit.blogspot.com/2011/11/abrakebabra.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/2516093339560214978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/2516093339560214978'/><link rel='alternate' type='text/html' href='http://travailpursuit.blogspot.com/2011/11/abrakebabra.html' title='Abrakebabra!'/><author><name>Intermezzo</name><uri>http://www.blogger.com/profile/09506234400044036036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-iHZo_2ih0N4/Tk8fDJOwLwI/AAAAAAAAAbw/g8nhLUzoNlA/s220/Phil%2527s%2BPhotos%2B033.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7u2wMwK_Ik8/Tsm7ZqKh9KI/AAAAAAAAAhE/LAQDDbRM0SQ/s72-c/Abrakebabra%2521.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7489746740971456738.post-7275476169044444246</id><published>2011-11-09T17:37:00.000-08:00</published><updated>2011-11-09T17:37:14.615-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Problem'/><category scheme='http://www.blogger.com/atom/ns#' term='Duchess of Blunderboro'/><category scheme='http://www.blogger.com/atom/ns#' term='Humour'/><category scheme='http://www.blogger.com/atom/ns#' term='Short Story'/><title type='text'>Pick a piece, any piece</title><content type='html'>&lt;strong&gt;&lt;span style="color: orange;"&gt;﻿﻿This post was the third by Lady Cynthia Blunderboro for the HBCC website. It was first posted in May 2011.&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-M7PN8zeMGqQ/SsqFcyogwVI/AAAAAAAAABQ/n7kdMTcr0Oo/s1600/img_1626-1024x682.jpg" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="213" src="http://3.bp.blogspot.com/-M7PN8zeMGqQ/SsqFcyogwVI/AAAAAAAAABQ/n7kdMTcr0Oo/s320/img_1626-1024x682.jpg" t8="true" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;The Duchess is back!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;﻿Today I am delighted to welcome back to this blog our resident chess historian, Cynthia, the Duchess of Blunderboro. Readers may remember that on previous visits she has revealed who&amp;nbsp;won the famous game between &lt;span style="color: black;"&gt;Lenin and Hitler&lt;/span&gt; as well as explaining the origins of the “&lt;span style="color: black;"&gt;hardest chess problem in the world&lt;/span&gt;”. After the success of that last post she e-mailed me saying: &lt;br /&gt;&lt;br /&gt;“If you liked that one I have another, even older tale, from the life of my Great Grandfather that your readers are sure to enjoy”. &lt;br /&gt;&lt;br /&gt;Of course I couldn’t resist such a tempting offer and immediately replied to confirm the commission of the post below. I leave it to the Lady Cynthia herself to explain further.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: orange;"&gt;“&lt;/span&gt;&lt;span style="color: orange; font-size: large;"&gt;G&lt;/span&gt;&lt;/strong&gt;reetings chess fans. Let me start this column by asking you to consider the diagram position below. Some of you may be familiar with it as it is one of the few chess problems that has become so legendary that many chess players have heard of it by name. It’s called “Excelsior” and it was composed by the American problemist Sam Loyd and first published in 1861.&lt;/em&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RuBfwtXxpqs/Td0057y6GuI/AAAAAAAAAXQ/CHQ4TeoFKaA/s1600/Excelsior.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-RuBfwtXxpqs/Td0057y6GuI/AAAAAAAAAXQ/CHQ4TeoFKaA/s320/Excelsior.jpg" t8="true" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;"Excelsior" by Sam Loyd, 1861&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;em&gt;"What’s so special about this problem?” you may very well ask. In reply I will draw to your attention the fact that most chess problems are given names by their composers but there aren’t very many of those names that the average club player is likely to have heard mentioned before unless they have spent a lot of time studying chess problems. By contrast think about some of the famous chess games that have been given names such as “The Evergreen”, “The Immortal” and “The Game of the Century”. They are all renowned for their enduring beauty.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;This is one of the few chess problems that could be considered to be an “immortal” and the tale I have to tell you today is the interesting and amusing story of its creation.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Let me begin my account in the school holidays of December 1935. I was 13 years old and passing some time studying a book of chess problems in the drawing room at Blunderboro Hall cosied up in front of an open fire. I think that the book may have contained some rather light-weight challenges for I recall that I was starting to feel like they were all a bit too easy when suddenly my Father burst into the room red-faced from his morning ride and chortling over some joke he had just shared with my elder brother who had accompanied him that day. When he saw me he stopped and afforded me one of his broadest smiles.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Well, someone is taking their chess studies seriously I see.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;He ambled over, hands on hips and peered closely at the position I was studying. It was a mate in 3 puzzle.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Chess problems today is it? What do you make of them?” he asked me, pointing at the book.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“To be honest Father, I’m beginning to think they are a little ho-hum” I sighed.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Ho-hum!” He exclaimed and then laughed. “Why do you say that little one?”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Well they just seem to me to be a little too contrived. The positions aren’t always natural and that can lead to a situation where the key suggests itself.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;As I said this my Father straightened and fixed me with a look that was a mixture of seriousness and surprise. He really hadn’t realised how seriously I was taking my studies.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Go on,” he said “explain what you mean”.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Well, in this position for example (see below) it seems obvious that the rook on f4 is the piece White must move first if he is to give check mate in three moves.”&lt;/em&gt;&lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_Fw19mMmB70/Td02-5thZ0I/AAAAAAAAAXY/mz28TREDFJE/s1600/mate+in+3.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/-_Fw19mMmB70/Td02-5thZ0I/AAAAAAAAAXY/mz28TREDFJE/s320/mate+in+3.jpg" t8="true" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;White to play and mate in 3&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;﻿&lt;br /&gt;&lt;em&gt;“Explain how you reached that conclusion,” my Father said as he pulled up a chair on the other side of the board from me.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Well, first of all, it’s a mate in three puzzle so White doesn’t have much time. Because Black has threats of his own, such as Rxg2+, that rules out any sort of sneaky creeping moves such as 1.Kh2. That tells me that the solution must involve forcing moves, probably checks. Most of the checks in the position simply lose material and so already there are only two plausible candidate moves. 1.g4+ or 1.Rh4+.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“That’s very good thinking” interjected my Father. “Keep going”.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“1.g4 looks tempting but then it is easy to see that the Black king will move to h4 and it will be impossible to mate him in 3 moves, if at all. No, the only way to achieve checkmate must be to use the White pieces to drive the enemy king towards the White king and pawns. So after 1.Rh4+ Kxh4 White can play 2.g3+ and now I can see that mate will be delivered by the White knight moving to f4 whether the Black king moves to h3 or h5. It’s a pretty solution but not that difficult.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;My Father sat silent for a moment looking at the board deep in thought and then he nodded as if he has just reached an important decision.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Your solution is absolutely correct of course and much of your reasoning is also sound. Building up such reasoning skills is the main benefit of studying these kinds of problems. However, I’d advise you to be careful about jumping to hasty conclusions about thinking all chess problems contain the obvious signposts to their solutions. That isn’t always the case. In fact, your Great Grandfather once came to the same conclusion and it cost him a slap up dinner.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“I should like to hear that story” I said enthusiastically. I loved hearing stories about my ancestors and Father was such an excellent raconteur.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Then I shall tell it my darling” my Father beamed. Then he quickly cleared the chess board and set up a new position. The one I gave at the start of this post.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“It’s probably about time I gave you some more challenging problems to study and this one is certainly that. Before I ask you to try and solve it though, I’ll tell you about how your Great Grandfather was ensnared by it’s trickery.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;In 1858 your Great Grandfather, Herbert, was in New York. For some time he had been involved in establishing new trade opportunities between the United States and Great Britain and he had spent a large portion of the previous few years in New York which was an essential trading hub at that time. New York at that time was an exciting place to be for a chess enthusiast. Just the year before this story takes place the First American Chess Congress had been held at the St. Julien Hotel on Broadway and the winner of the tournament was none other than Paul Morphy, one of the greatest players of all time. He had emerged from obscurity to become a great celebrity of the day and after winning that tournament he travelled on to Britain and France where he was hailed as the best player in the world.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-Djfz2Ap2lEA/Td016EzJDvI/AAAAAAAAAXU/r2Z3ZJ9c-Rc/s1600/Samuel_Loyd.jpg" imageanchor="1" style="clear: left; cssfloat: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-Djfz2Ap2lEA/Td016EzJDvI/AAAAAAAAAXU/r2Z3ZJ9c-Rc/s1600/Samuel_Loyd.jpg" t8="true" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Sam Loyd, 1841-1911&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;em&gt;Morphy had spent some considerable period of time in New York before during and after that First American congress and as a result the already burgeoning chess scene enjoyed a real golden age. This was the era just before the New York Chess Clubs were founded and so the St. Julien was the place to meet and play chess at that time and many of the best players in the states as well as visiting European stars spent time there when they were in town. Your Great Grandfather spent a lot of his recreational time there and got to meet and know many of the important characters on the scene including Morphy himself and the owner of the hotel, a great patron for chess in New York, Denis Julien. He also befriended the man who composed this problem a young fellow called Samuel Loyd.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“I know that name” I interjected.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“And well you might” my Father responded. “Sam Loyd became a famous puzzler and not just in chess circles. He also invented that puzzle I showed you last Christmas. &lt;/em&gt;&lt;a href="http://en.wikipedia.org/wiki/Sam_Loyd#Trick_Donkeys_problem"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="color: blue;"&gt;'The Trick Donkeys Problem'&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;&lt;em&gt;.”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“I remember that”.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Well, Loyd was still a youngster when your Great Grandfather met him. However, even at the age of 18 he was already a very successful composer of chess problems and a reasonably accomplished player. One night Loyd was playing, chatting and making merry at the St. Julien Hotel with a group of players of which your Great Grandfather was one. The topic of their conversation turned to problem composition and solving and Herbert said that he found most chess problems to be rather easy to solve. Sam asked him why he thought that was the case. In answer Herbert made a similar case to the one you gave a few minutes ago saying that it was usually all too easy to find the piece that was the key to the solution. Immediately Loyd offered to wager that he could design a problem in which Herbert could not pick the piece that was the key to the checkmate. Herbert readily agreed thinking that the task was an impossible one and the stakes were agreed as being the cost of a dinner at the hotel.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;After that evening a few weeks passed by and Herbert didn’t see Sam at the hotel. He thought that he must have become engrossed in one of his many projects and had forgotten about the bet but then, three weeks later, as he played a friendly game in the hotel someone tapped him on the shoulder. He turned to see a beaming Sam Loyd who told him that, when he’d finished his game he had a present for him and that he hadn’t eaten all day and was starving! Your Great Grandfather quickly agreed a draw in the game he was playing and hurried across the room to another table were a gathering crowd of a dozen or so kibitzers parted to let him take a seat across the board from Loyd. On the board in front of him was this position.”&lt;/em&gt;&lt;br /&gt;﻿ &lt;br /&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-RuBfwtXxpqs/Td0057y6GuI/AAAAAAAAAXQ/CHQ4TeoFKaA/s1600/Excelsior.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-RuBfwtXxpqs/Td0057y6GuI/AAAAAAAAAXQ/CHQ4TeoFKaA/s320/Excelsior.jpg" t8="true" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;"Excelsior" by Sam Loyd&lt;br /&gt;"White to play and mate in 5 with the least likely pawn or piece."&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;em&gt;“It’s White to play and give checkmate in five moves,” grinned Sam. “But my challenge to you Herbert is to pick a piece, any piece, that doesn’t give mate in the main line.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“So, now my girl. Can you meet Sam Loyd’s challenge and find a White piece that doesn’t give mate?” Chuckled my Father. “I’m going to go and bring myself some breakfast and so you have some time to think on it.” He stood and left the room leaving me rapt in thought.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;After five or ten minutes he came back with a plate of eggs and bacon and a steaming cup of coffee.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Pick your piece young lady” he said.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“I chose the pawn on b2,” I answered, “I’ve looked for tricks and traps but I can’t envisage how it can be involved in the solution in any way. Besides this to avoid being captured it would have to be the first piece to move and I can’t see how it contributes.” My Father’s laugh boomed out.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Well, that’s exactly what your Great Grandfather Herbert thought and I’m afraid it cost him the price of that dinner. Not only does the b-pawn have a role to play in the solution, in the mainline it actually delivers checkmate!”&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;I could do nothing but stare at him in amazement.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;“Let me show you how”, chortled Father.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowtransparency="allowtransparency" frameborder="0" height="371" marginheight="0" marginwidth="0" scrolling="no" src="http://pgn4web-board.casaschi.net/?am=n&amp;amp;d=3000&amp;amp;ig=r&amp;amp;ss=40&amp;amp;ps=d&amp;amp;pf=d&amp;amp;lcs=____&amp;amp;dcs=_Uz$&amp;amp;bbcs=$$$$&amp;amp;hm=s&amp;amp;hcs=LHa1&amp;amp;bd=s&amp;amp;cbcs=W_iH&amp;amp;ctcs=$$$$&amp;amp;hd=j&amp;amp;md=j&amp;amp;tm=10&amp;amp;fhcs=$$$$&amp;amp;fhs=100p&amp;amp;fmcs=$$$$&amp;amp;fccs=LHa1&amp;amp;hmcs=_Uz$&amp;amp;fms=100p&amp;amp;fcs=m&amp;amp;cd=i&amp;amp;bcs=t&amp;amp;fp=0&amp;amp;hl=t&amp;amp;fh=b&amp;amp;fw=900&amp;amp;pe=1261$zlax9RvgpI1oeLSOV5xY5oTugCSMtR9pNln5Hh0uOLpM7IY2uaMtyNJT6SG3vbG5wilheKl8$ydrb9pNlsa2f8jOUG2nOsyrOsHoKMHqJGBOyoJMJpXbRctK5VMHcLdvuLtvY1z91BHl502l7e_5vKOXXZ8VM4fNFr70QajtkS4Cx9LL6jyuZyUY1$sSFe9WwvdWc_V2EZt8$rfKfSZ29Rlu8fn2la_D2eTHYVP0zD1NYfdxOTbg_4KDqKKHKAjT6SGl7ZuLPmD6_xY6Nj7$$6ppxOM4nn0nQlBDXGJb$WKjueDL2FlD6SG3u_T3uOLpM7EUkmVPc3i29LeLQCDb2FlDp8iNYZhae3kl0otD66ZuLn$$$yIcfe_AZlTqwAnHXh6SSLr175Z6Xlt7Z86CM76N_9LoKzh5_OYZ5pN7HtYzztRg7xI1eT6WLpyP2TwagXGzmDZk86Njltu3YoZ12XXgXh$OZeoe_DZk82XAeAsZu4Tea4uAiQCx2WQvQeogHxg4p3eZx7b$$dQDx3$5Gg4_Ptg2$sSF2KOVdEp_PtbW5$2kXpe9WltiX5kxOM7uuu0Pq8z5axeCX2WQxgXG4Cxfz5hHY$ZZax$eVdPQZvKQxUY0bCU7_CvQxfeLRljjXZu4VeAYDt2eTqUtkyU93$WKjueDhP$_Df15FPQ0_TP4ZHeOOTCG3k29ELL6lyuZeVe7wv7EN2_MDa_E$NGZSG0AjTHXh6_wXhaeextH_yOZeAn6SMrheAh0Un5$f3n0QajtkS5vshc_VeCPn0StDXGJc$WHS_v6Y$k1DaX_e3yUm7Kfe_4V3KCP0otD6gqVaexXHXGJczNXmDHXh$NE1TcqOlg$fuCxgW9M6NKG0xTz2WTJ7_wv$$0$hm7XGJ5$$$308Vvu_aXIGeArxY5N83kS6z_0AmYDZk86Njlt84w_Y4CCMel7FireKKvV0YXm3uvvqTuMv6sVvb_vu3I2gtl0kio5vsRqY$g2gL6sQ7q_P2YTcgVat2xeT6SOTzltXG4CxfZ8BNXbZ8J3vMrh0YXm3uvlovnu0HKeHxY$o9b$VAFae3kv8a$2Zy$7EkDF$FEHvKQOVe9AVeGe3ufeKxTz8ueDHYVP2WQG3um_6XHP15FZrOgS_P4ZuCxfeKl8$o_5No0xTyTBT6TpOPlt82uL_kvuK0Fef_IUYnBTZkwE$2ZvMUgnH$0" width="900"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;I’ve never forgotten the feeling of total surprise and joy I felt when my Father revealed that solution to me. I’m sure that Herbert must have felt the same way back in 1858. &lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;That then, is the story of how Sam Loyd won a splendid dinner at the St. Julien Hotel from my Great Grandfather. It is also the story of how a legendary chess problem was born. In fact the mystique of this puzzle has embedded itself so vividly into chess folklore that any chess problem which involves a pawn making consecutive moves from its home square to reach promotion is said to utilise the “Excelsior” theme. What a wonderful puzzle by one of the great puzzlers!"&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7489746740971456738-7275476169044444246?l=travailpursuit.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://travailpursuit.blogspot.com/feeds/7275476169044444246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://travailpursuit.blogspot.com/2011/11/pick-piece-any-piece.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/7275476169044444246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7489746740971456738/posts/default/7275476169044444246'/><link rel='alternate' type='text/html' href='http://travailpursuit.blogspot.com/2011/11/pick-piece-any-piece.html' title='Pick a piece, any piece'/><author><name>Intermezzo</name><uri>http://www.blogger.com/profile/09506234400044036036</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/-iHZo_2ih0N4/Tk8fDJOwLwI/AAAAAAAAAbw/g8nhLUzoNlA/s220/Phil%2527s%2BPhotos%2B033.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-M7PN8zeMGqQ/SsqFcyogwVI/AAAAAAAAABQ/n7kdMTcr0Oo/s72-c/img_1626-1024x682.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7489746740971456738.post-1004574275373260367</id><published>2011-11-01T00:40:00.000-07:00</published><updated>2011-11-01T00:40:05.870-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Correspondence chess'/><category scheme='http://www.blogger.com/atom/ns#' term='End game'/><category scheme='http://www.blogger.com/atom/ns#' term='Sicilian Defence'/><category scheme='http://www.blogger.com/atom/ns#' term='Dragon Variation'/><category scheme='http://www.blogger.com/atom/ns#' term='2008'/><title type='text'>Arms Race</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-NbiAi_dnxjQ/TqAHjpGXQHI/AAAAAAAAAf8/N78DGejxZ2w/s1600/Arms+Race_Small.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="217" rda="true" src="http://2.bp.blogspot.com/-NbiAi_dnxjQ/TqAHjpGXQHI/AAAAAAAAAf8/N78DGejxZ2w/s400/Arms+Race_Small.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;em&gt;&lt;strong&gt;&lt;span style="color: orange;"&gt;“&lt;/span&gt;&lt;span style="color: orange; font-size: large;"&gt;H&lt;/span&gt;&lt;/strong&gt;ere's how you get him. He pulls a knife, you pull a gun. He sends one of yours to the hospital, you send one of his to the morgue!”,&lt;/em&gt;&lt;br /&gt;&lt;div style="text-align: right;"&gt;- Jim Malone (Sean Connery) in The Untouchables&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Like all openings that have been very heavily studied and dissected the Sicilian Dragon continues to throw up new ideas and strategies that every exponent needs to try and keep abreast of. The evolution of opening theory is rather like an arms race. First the players of the White pieces find a dangerous new attacking plan. They win some games with it, and then, eventually, the defenders of the Black army find a way to defuse it. Once this has happened the White players might move the fashion on to a new sub-variation or search for a further improvement in the same line.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;Unlike many openings however, the Dragon seems to have attracted a particularly die-hard fan base that are willing to believe obdurately in their own "pet" variations. Variations that more pragmatic players would have given up as a lost cause long ago. Somehow these fanatics manage to grind out results from even the most desperate looking of positions.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;For myself I try to be practical and find the best ways to meet White's new ideas. This game was an occasion&amp;nbsp;when I&amp;nbsp;succeeded in doing&amp;nbsp;this against a very trendy variation that has been causing Black some difficulties. It must be said however, that there are still some variations of the Dragon where my Neanderthal proclivities for frenzied hand-to-hand combat over-ride my better judgement and I get sucked into some pretty sticky situations.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;strong&gt;Mahoutsoukai&amp;nbsp; vs. Intermezzo &lt;/strong&gt;&lt;br /&gt;&lt;div&gt;(B76) Sicilian Defence: Dragon Variation, Yugoslav Attack with 9.0-0-0 d5&lt;/div&gt;&lt;/strong&gt;Correspondence Game on Redhotpawn&lt;br /&gt;July 2008 Octet II (1800+)&lt;br /&gt;11th of July, 2008&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;style&gt;/* General */.ahb {        font-family: Tahoma;        font-size: 10pt;}.ahb img {        border: 0px;        margin: 0px;}/* END General *//* Game header &amp; board panel */        a#flipiconLEPFFP {        }                #flipiconLEPFFP img {                border: 0px;        }        /* END Game header panel *//* Board */        table#game_boardLEPFFP {                position: relative;                width: 296px;                height: 296px;                background: #6288b9;                left: -1px;                top: -1px;                font-size: 9px;                font-weight: bold;                color: white;        }                table#game_boardLEPFFP td {                text-align: center;                padding: 0px;                margin: 0px;        }                table#game_boardLEPFFP td img {                padding: 0px;                margin: 0px;                border: 0px;        }        table#game_boardLEPFFP td.corner {                width: 15px;                height: 15px;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardLEPFFP td.lettertop {                width: 33px;                height: 15px;                vertical-align: middle;                border-bottom: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }        table#game_boardLEPFFP td.letterbottom {                width: 33px;                height: 15px;                vertical-align: middle;                border-top: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardLEPFFP td.numberleft {                width: 15px;                height: 33px;                vertical-align: middle;                border-right: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }        table#game_boardLEPFFP td.numberright {                width: 15px;                height: 33px;                vertical-align: middle;                border-left: 1px solid #5d371f;                background: url('http://www.chessok.com/common/images/board/boardedge_blue.jpg');        }                table#game_boardLEPFFP td.white {                background: url('http://www.chessok.com/common/images/board/white_blue.jpg') no-repeat;                width: 33px;                height: 33px;        }                table#game_boardLEPFFP td.black {                background: url('http://www.chessok.com/common/images/board/black_blue.jpg') no-repeat;        }/* END Board *//* Board SVG */div#board_svgLEPFFP {        position: absolute;        z-index: 10;}/* END Board SVG *//* Drop Shadow technics */        div.shadow1table {                margin-top: 5px;                background: #cfcfcf;                position: absolute;                width: 296px;                top: 3px;                left: 3px;        }                div.shadow2 {                background: #707070;                position: relative;                top: -1px;                left: -1px;        }/* END Drop Shadow technics */&lt;/style&gt;&lt;style&gt;/*----------Text Styles----------*/.unknown HR { color: #DD0000}.unknown /* unknown */{  font-size: 10pt;  font-family: "Tahoma";  font-style: normal;  font-weight: normal;  color: #DD0000;  text-decoration: none;}SPAN.text{  color: #000000;  font-size: 10pt;}SPAN.header1{  font-size: 14pt;  color: #004080;}SPAN.header2{  font-size: 12pt;  color: #004080;}SPAN.header3{  font-size: 10pt;  color: #004080;}SPAN.header{  font-size: 10pt;  color: #111111;  font-weight: bold;}SPAN.headerb{  font-size: 10pt;  color: #111111;}A.link, SPAN.link{  color: #0000FF;  text-decoration: underline;}A.RVTS5:hover { color: #5050FF; }A.line0, .line0{  font-weight: bold;  color: #2249DF;  text-decoration: none;}A.RVTS6:hover { color: #5050FF; }A.line1, .line1{  color: black;}A.RVTS7:hover { color: #5050FF; }A.line2, .line2{  color: #0049DF;}A.RVTS8:hover { color: #974B00; }.line3{}/* ---------- Container styles ----------- */div.aqscontainer {    position: relative;    height:296px;    padding-top:6px;}div.aqsnotation {    background-color: #FEFEFF;    margin-left: 305px;     max-height: 274px;     max-width: 296px;     border:solid 1px #009;     overflow-y:auto;    overflow-x:hidden;    padding: 3px;}div.aqslink {    background-color: #FEFEFF;    margin-left: 305px;     max-width: 296px;     overflow-y:auto;    overflow-x:hidden;    padding: 3px;        text-align: left;        font-size: 8pt;}/*----------Para Styles----------*/.ahb P,.ahb UL,.ahb OL /* Paragraph Style */{  font-size: 10pt;  text-align: left;  text-indent: 0px;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 0px;}.RVPS1 /* Centered */{  text-align: center;  padding: 0px 0px 0px 0px;  margin: 0px 0px 0px 0px;}&lt;/style&gt;&lt;style&gt;a.footer{font-family:verdana;font-size:9px;color:#6c8abe;text-decoration:underline;line-height:12px;}.foot{font-family:verdana;font-size:9px;line-height:12px;color:#6c8abe;background:#052B69;padding-bottom:3px;margin:5px 0;}a.footer:hover{color:#ffffff}.link{cursor:pointer;}.line0{cursor:pointer;}.line1{cursor:pointer;}.line2{cursor:pointer;}.header1{margin-left: 10px;}.header2{margin-left: 10px;}.header3{margin-left: 10px;}&lt;/style&gt;&lt;script type="text/javascript"&gt;var FENsLEPFFP = new Array (   "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -",   "rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq -",   "rnbqkbnr/pp1ppppp/8/2p5/4P3/8/PPPP1PPP/RNBQKBNR w KQkq -",   "rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq -",   "rnbqkbnr/pp2pppp/3p4/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq -",   "rnbqkbnr/pp2pppp/3p4/2p5/3PP3/5N2/PPP2PPP/RNBQKB1R b KQkq -",   "rnbqkbnr/pp2pppp/3p4/8/3pP3/5N2/PPP2PPP/RNBQKB1R w KQkq -",   "rnbqkbnr/pp2pppp/3p4/8/3NP3/8/PPP2PPP/RNBQKB1R b KQkq -",   "rnbqkb1r/pp2pppp/3p1n2/8/3NP3/8/PPP2PPP/RNBQKB1R w KQkq -",   "rnbqkb1r/pp2pppp/3p1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R b KQkq -",   "rnbqkb1r/pp2pp1p/3p1np1/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq -",   "rnbqkb1r/pp2pp1p/3p1np1/8/3NP3/2N1B3/PPP2PPP/R2QKB1R b KQkq -",   "rnbqk2r/pp2ppbp/3p1np1/8/3NP3/2N1B3/PPP2PPP/R2QKB1R w KQkq -",   "rnbqk2r/pp2ppbp/3p1np1/8/3NP3/2N1BP2/PPP3PP/R2QKB1R b KQkq -",   "r1bqk2r/pp2ppbp/2np1np1/8/3NP3/2N1BP2/PPP3PP/R2QKB1R w KQkq -",   "r1bqk2r/pp2ppbp/2np1np1/8/3NP3/2N1BP2/PPPQ2PP/R3KB1R b KQkq -",   "r1bq1rk1/pp2ppbp/2np1np1/8/3NP3/2N1BP2/PPPQ2PP/R3KB1R w KQ -",   "r1bq1rk1/pp2ppbp/2np1np1/8/3NP3/2N1BP2/PPPQ2PP/2KR1B1R b - -",   "r1bq1rk1/pp2ppbp/2n2np1/3p4/3NP3/2N1BP2/PPPQ2PP/2KR1B1R w - -",   "r1bq1rk1/pp2ppbp/2n2np1/3p4/3NP3/2N1BP2/PPPQ2PP/1K1R1B1R b - -",   "r1bq1rk1/pp2ppbp/2n2np1/3p4/3NP3/2N1BP2/PPP3PP/2KRQB1R b - -",   "r1bq1rk1/pp3pbp/2n2np1/3pp3/3NP3/2N1BP2/PPP3PP/2KRQB1R w - -",   "r1bq1rk1/pp3pbp/2N2np1/3pp3/4P3/2N1BP2/PPP3PP/2KRQB1R b - -",   "r1bq1rk1/p4pbp/2p2np1/3pp3/4P3/2N1BP2/PPP3PP/2KRQB1R w - -",   "r1bq1rk1/p4pbp/2p2np1/3Pp3/8/2N1BP2/PPP3PP/2KRQB1R b - -",   "r1bq1rk1/p4pbp/2p3p1/3np3/8/2N1BP2/PPP3PP/2KRQB1R w - -",   "r1bq1rk1/p4pbp/2p3p1/3np3/2B5/2N1BP2/PPP3PP/2KRQ2R b - -",   "r2q1rk1/p4pbp/2p1b1p1/3np3/2B5/2N1BP2/PPP3PP/2KRQ2R w - -",   "r2q1rk1/p4pbp/2p1b1p1/3np3/2B1N3/4BP2/PPP3PP/2KRQ2R b - -",   "r4rk1/p1q2pbp/2p1b1p1/3np3/2B1N3/4BP2/PPP3PP/2KRQ2R w - -",   "rq3rk1/p4pbp/2p1b1p1/3np3/2B1N3/4BP2/PPP3PP/2KRQ2R w - -",   "r4rk1/p1q2pbp/2p1b1p1/2Bnp3/2B1N3/5P2/PPP3PP/2KRQ2R b - -",   "r2r2k1/p1q2pbp/2p1b1p1/2Bnp3/2B1N3/5P2/PPP3PP/2KRQ2R w - -",   "r2r2k1/p1q2pbp/2p1b1p1/2Bnp3/2B1N1P1/5P2/PPP4P/2KRQ2R b - -",   "r2r2k1/p1q2pbp/2p1b1p1/2Bnp1N1/2B5/5P2/PPP3PP/2KRQ2R b - -",   "r2r2k1/p1q2pbp/2p1b1p1/2B1p3/2B1NnP1/5P2/PPP4P/2KRQ2R w - -",   "r2r2k1/p1q2pbp/2p1B1p1/2B1p3/4NnP1/5P2/PPP4P/2KRQ2R b - -",   "r2r2k1/p1q2pbp/2p1n1p1/2B1p3/4N1P1/5P2/PPP4P/2KRQ2R w - -",   "r2r2k1/p1q2pbp/2pBn1p1/4p3/4N1P1/5P2/PPP4P/2KRQ2R b - -",   "r2r2k1/p4pbp/1qpBn1p1/4p3/4N1P1/5P2/PPP4P/2KRQ2R w - -",   "1rbq1rk1/pp2ppbp/2n2np1/3p4/3NP3/2N1BP2/PPPQ2PP/1K1R1B1R w - -",   "r1bq1rk1/pp2ppbp/5np1/3p4/3nP3/2N1BP2/PPPQ2PP/1K1R1B1R w - -",   "r1bq1rk1/pp2ppbp/5np1/3pP3/3n4/2N1BP2/PPPQ2PP/1K1R1B1R b - -",   "r1bq1rk1/pp2ppbp/5np1/3pPn2/8/2N1BP2/PPPQ2PP/1K1R1B1R w - -",   "r1bq1rk1/pp1nppbp/6p1/3pP3/3n4/2N1BP2/PPPQ2PP/1K1R1B1R w - -",   "r1bq1rk1/pp1nppbp/6p1/3pP3/3B4/2N2P2/PPPQ2PP/1K1R1B1R b - -",   "r1bq1rk1/pp2ppbp/6p1/3pn3/3B4/2N2P2/PPPQ2PP/1K1R1B1R w - -",   "r1bq1rk1/pp2ppbp/6p1/3pn3/3B4/2N1QP2/PPP3PP/1K1R1B1R b - -",   "r1bq1rk1/pp2ppbp/2n3p1/3p4/3B4/2N1QP2/PPP3PP/1K1R1B1R w - -",   "r1bq1rk1/pp2ppBp/2n3p1/3p4/8/2N1QP2/PPP3PP/1K1R1B1R b - -",   "r1bq1r2/pp2ppkp/2n3p1/3p4/8/2N1QP2/PPP3PP/1K1R1B1R w - -",   "r1bq1r2/pp2ppkp/2n3p1/3N4/8/4QP2/PPP3PP/1K1R1B1R b - -",   "r1bq1r2/pp3pkp/2n1p1p1/3N4/8/4QP2/PPP3PP/1K1R1B1R w - -",   "r1bq1r2/pp3pkp/2n1p1p1/8/8/2N1QP2/PPP3PP/1K1R1B1R b - -",   "r1b2r2/pp3pkp/2n1p1p1/q7/8/2N1QP2/PPP3PP/1K1R1B1R w - -",   "r1b2r2/pp3pkp/2n1p1p1/qB6/8/2N1QP2/PPP3PP/1K1R3R b - -",   "r1bq1rk1/pp2ppbp/5Pp1/3p1n2/8/2N1BP2/PPPQ2PP/1K1R1B1R b - -",   "r1bq1rk1/pp2pp1p/5bp1/3p1n2/8/2N1BP2/PPPQ2PP/1K1R1B1R w - -",   "r1bq1rk1/pp3pbp/5pp1/3p1n2/8/2N1BP2/PPPQ2PP/1K1R1B1R w - -",   "r1bq1rk1/pp2pp1p/5bp1/3N1n2/8/4BP2/PPPQ2PP/1K1R1B1R b - -",   "r1b2rk1/pp2pp1p/5bp1/3q1n2/8/4BP2/PPPQ2PP/1K1R1B1R w - -",   "r1b2rk1/pp2pp1p/5bp1/3Q1n2/8/4BP2/PPP3PP/1K1R1B1R b - -",   "r1b2rk1/pp2pp1p/5bp1/3Q4/8/4nP2/PPP3PP/1K1R1B1R w - -",   "r1b2rk1/pp2pp1p/5bp1/8/8/4nP2/PPPQ2PP/1K1R1B1R b - -",   "r1b2rk1/pp2pp1p/5bp1/8/8/5P2/PPPQ2PP/1K1n1B1R w - -",   "r1b2rk1/pp2pp1p/5bp1/8/8/5P2/PPP3PP/1K1Q1B1R b - -",   "r4rk1/pp2pp1p/4bbp1/8/8/5P2/PPP3PP/1K1Q1B1R w - -",   "1rbq1rk1/pp2ppbp/2n2np1/3p4/4P3/1NN1BP2/PPPQ2PP/1K1R1B1R b - -",   "1rbq1rk1/pp2ppbp/2n2np1/1N1p4/4P3/2N1BP2/PPPQ2PP/1K1R1B1R b - -",   "1rbq1rk1/1p2ppbp/p1n2np1/1N1p4/4P3/2N1BP2/PPPQ2PP/1K1R1B1R w - -",   "1rbq1rk1/Np2ppbp/p1n2np1/3p4/4P3/2N1BP2/PPPQ2PP/1K1R1B1R b - -",   "1rbq1rk1/Np3pbp/p1n1pnp1/3p4/4P3/2N1BP2/PPPQ2PP/1K1R1B1R w - -",   "1rbq1rk1/Np3pbp/p1n1pnp1/3p4/4P1P1/2N1BP2/PPPQ3P/1K1R1B1R b - -",   "1rbqr1k1/Np3pbp/p1n1pnp1/3p4/4P1P1/2N1BP2/PPPQ3P/1K1R1B1R w - -",   "1rbqr1k1/Np3pbp/p1n1pnp1/3p2P1/4P3/2N1BP2/PPPQ3P/1K1R1B1R b - -",   "1rbqr1k1/Np3pbp/p1n1p1p1/3p2Pn/4P3/2N1BP2/PPPQ3P/1K1R1B1R w - -",   "1rbqr1k1/Np3pbp/p1n1p1p1/3p2Pn/4P3/2N2P2/PPPQ1B1P/1K1R1B1R b - -",   "1rbqr1k1/Np3pbp/p1n1p1p1/3p2Pn/4PP2/2N1B3/PPPQ3P/1K1R1B1R b - -",   "1r1qr1k1/Np1b1pbp/p1n1p1p1/3p2Pn/4PP2/2N1B3/PPPQ3P/1K1R1B1R w - -",   "1r1qr1k1/Np1b1pbp/p1n1p1p1/3P2Pn/5P2/2N1B3/PPPQ3P/1K1R1B1R b - -",   "1r1qr1k1/Np1b1pbp/p1n3p1/3p2Pn/5P2/2N1B3/PPPQ3P/1K1R1B1R w - -",   "1r1qr1k1/Np1b1pbp/p1n3p1/3N2Pn/5P2/4B3/PPPQ3P/1K1R1B1R b - -",   "1r1qr1k1/Np3pbp/p1n3p1/3N2Pn/5Pb1/4B3/PPPQ3P/1K1R1B1R w - -",   "1r1qr1k1/Np3pbp/pBn3p1/3N2Pn/5Pb1/8/PPPQ3P/1K1R1B1R b - -",   "1r2r1k1/Np1q1pbp/pBn3p1/3N2Pn/5Pb1/8/PPPQ3P/1K1R1B1R w - -",   "1r2r1k1/Np1q1pbp/pBn3p1/6Pn/5Pb1/4N3/PPPQ3P/1K1R1B1R b - -",   "1r2r1k1/Np3pbp/pBn3p1/6Pn/5Pb1/4N3/PPPq3P/1K1R1B1R w - -",   "1r2r1k1/Np3pbp/pBn3p1/6Pn/5Pb1/4N3/PPPR3P/1K3B1R b - -",   "1r2r1k1/Np3pbp/pB4p1/6Pn/3n1Pb1/4N3/PPPR3P/1K3B1R w - -",   "1r1qr1k1/Np1b1pbp/p1n1p1p1/3p2Pn/4P3/2N2P2/PPPQ1B1P/1K1R1B1R w - -",   "1r1qr1k1/Np1b1pbp/p1n1p1p1/3P2Pn/8/2N2P2/PPPQ1B1P/1K1R1B1R b - -",   "1r1qr1k1/Np1b1pbp/p1n3p1/3p2Pn/8/2N2P2/PPPQ1B1P/1K1R1B1R w - -",   "1r1qr1k1/Np1b1pbp/p1n3p1/3Q2Pn/8/2N2P2/PPP2B1P/1K1R1B1R b - -",   "1r1qr1k1/Np1b1pbp/p5p1/3Qn1Pn/8/2N2P2/PPP2B1P/1K1R1B1R w - -",   "1r1qr1k1/Np1b1pbp/p5p1/4n1Pn/8/1QN2P2/PPP2B1P/1K1R1B1R b - -",   "1rbq1rk1/pp2ppbp/2n2np1/8/4p3/1NN1BP2/PPPQ2PP/1K1R1B1R w - -",   "1rbq1rk1/pp2ppbp/2n2np1/8/4P3/1NN1B3/PPPQ2PP/1K1R1B1R b - -",   "1r1q1rk1/pp2ppbp/2n2np1/8/4P1b1/1NN1B3/PPPQ2PP/1K1R1B1R w - -",   "1r1Q1rk1/pp2ppbp/2n2np1/8/4P1b1/1NN1B3/PPP3PP/1K1R1B1R b - -",   "1r1r2k1/pp2ppbp/2n2np1/8/4P1b1/1NN1B3/PPP3PP/1K1R1B1R w - -",   "1r1R2k1/pp2ppbp/2n2np1/8/4P1b1/1NN1B3/PPP3PP/1K3B1R b - -",   "3r2k1/pp2ppbp/2n2np1/8/4P1b1/1NN1B3/PPP3PP/1K3B1R w - -",   "3r2k1/pp2ppbp/2n2np1/8/4P1b1/1NNBB3/PPP3PP/1K5R b - -",   "3r2k1/pp2ppbp/2n2np1/8/4P1b1/1NN1B2P/PPP3P1/1K3B1R b - -",   "3r2k1/pp2ppbp/2n1bnp1/8/4P3/1NN1B2P/PPP3P1/1K3B1R w - -",   "3r2k1/pp2ppbp/2n1bnp1/2N5/4P3/2N1B2P/PPP3P1/1K3B1R b - -",   "2br2k1/pp2ppbp/2n2np1/2N5/4P3/2N1B2P/PPP3P1/1K3B1R w - -",   "2br2k1/pp2ppbp/2n2np1/8/4P3/1NNBB3/PPP3PP/1K5R w - -",   "2br2k1/pp2ppbp/2n2np1/8/4P3/1NNBB3/PPP3PP/1K1R4 b - -",   "2br2k1/pp2ppbp/2n2np1/8/4P3/1NNBB2P/PPP3P1/1K5R b - -",   "2br2k1/p3ppbp/1pn2np1/8/4P3/1NNBB2P/PPP3P1/1K5R w - -",   "2br2k1/p3ppbp/1pn2np1/8/4P3/1NN1B2P/PPP1B1P1/1K5R b - -",   "3r2k1/pb2ppbp/1pn2np1/8/4P3/1NN1B2P/PPP1B1P1/1K5R w - -",   "3r2k1/pb2ppbp/1pn2np1/8/4P3/1NN1B2P/PPP1B1P1/1K1R4 b - -",   "6k1/pb2ppbp/1pn2np1/8/4P3/1NN1B2P/PPP1B1P1/1K1r4 w - -",   "6k1/pb2ppbp/1pn2np1/8/4P3/1NN1B2P/PPP3P1/1K1B4 b - -",   "6k1/pb1nppbp/1pn3p1/8/4P3/1NN1B2P/PPP3P1/1K1B4 w - -",   "6k1/pb1nppbp/1pn3p1/8/4P3/1NN1B2P/PPP1B1P1/1K6 b - -",   "6k1/pb1npp1p/1pn3p1/8/4P3/1Nb1B2P/PPP1B1P1/1K6 w - -",   "6k1/pb1npp1p/1pn3p1/8/4P3/1NP1B2P/P1P1B1P1/1K6 b - -",   "6k1/pb1npp1p/1p4p1/4n3/4P3/1NP1B2P/P1P1B1P1/1K6 w - -",   "6k1/pb1npp1p/1p4p1/4n3/4P3/1NPBB2P/P1P3P1/1K6 b - -",   "8/pb1nppkp/1p4p1/4n3/4P3/1NPBB2P/P1P3P1/1K6 w - -",   "2br2k1/pp2ppbp/2n3p1/8/4P1n1/1NNBB3/PPP3PP/1K1R4 w - -",   "2br2k1/pp2ppbp/2n3p1/8/4P1n1/1NNB4/PPP3PP/1K1R2B1 b - -",   "2br2k1/pp2pp1p/2n3p1/4b3/4P1n1/1NNB4/PPP3PP/1K1R2B1 w - -",   "2br2k1/pp2pp1p/2n3p1/8/4P1n1/1NbB4/PPP3PP/1K1R2B1 w - -",   "2br2k1/pp2pp1p/2n3p1/8/4P1n1/1NPB4/P1P3PP/1K1R2B1 b - -",   "2br2k1/p3pp1p/1pn3p1/8/4P1n1/1NPB4/P1P3PP/1K1R2B1 w - -",   "2br2k1/p3pp1p/1pn3p1/8/4P1n1/1NPB4/P1PR2PP/1K4B1 b - -",   "2br2k1/p3pp1p/1pn3p1/4n3/4P3/1NPB4/P1PR2PP/1K4B1 w - -",   "2br2k1/p3pp1p/1pn3p1/4n3/3NP3/2PB4/P1PR2PP/1K4B1 b - -",   "3r2k1/pb2pp1p/1pn3p1/4n3/3NP3/2PB4/P1PR2PP/1K4B1 w - -",   "2br2k1/pp2pp1p/2n3p1/4b3/4P1n1/1NNB3P/PPP3P1/1K1R2B1 b - -",   "2br2k1/pp2pp1p/2n2np1/4b3/4P3/1NNB3P/PPP3P1/1K1R2B1 w - -",   "2br2k1/pp2pp1p/2n2np1/2B1b3/4P3/1NNB3P/PPP3P1/1K1R4 b - -",   "2br2k1/pp2pp1p/2n2np1/4b3/4P3/2NB3P/PPPN2P1/1K1R2B1 b - -",   "3r2k1/pp2pp1p/2n1bnp1/4b3/4P3/2NB3P/PPPN2P1/1K1R2B1 w - -",   "3r2k1/pp2pp1p/2n1bnp1/4b3/4P3/2NBB2P/PPPN2P1/1K1R4 b - -",   "3r2k1/pp2pp1p/4bnp1/4b3/1n2P3/2NBB2P/PPPN2P1/1K1R4 w - -",   "2br2k1/p3pp1p/1pn2np1/2B1b3/4P3/1NNB3P/PPP3P1/1K1R4 w - -",   "2br2k1/p3pp1p/1pn2np1/4b3/4P3/BNNB3P/PPP3P1/1K1R4 b - -",   "2br2k1/p3pp1p/1pn2np1/4b3/4P3/1NNB3P/PPP3P1/1K1R2B1 b - -",   "2br2k1/p3pp1p/1pn2np1/8/4P3/1NbB3P/PPP3P1/1K1R2B1 w - -",   "2br2k1/p3pp1p/1pn2np1/8/4P3/1NPB3P/P1P3P1/1K1R2B1 b - -",   "2br2k1/p3pp1p/1pn3p1/8/4n3/1NPB3P/P1P3P1/1K1R2B1 w - -",   "2br2k1/p3pp1p/1pn3p1/8/4n3/1NPB3P/PKP3P1/3R2B1 b - -",   "2br2k1/p3pp1p/1pnn2p1/8/8/1NPB3P/PKP3P1/3R2B1 w - -",   "2br2k1/p3pp1p/1pnn2p1/8/8/1NPB3P/PKP3P1/4R1B1 b - -",   "2br2k1/p3pp1p/1pn2np1/8/4P3/BNbB3P/PPP3P1/1K1R4 w - -",   "2br2k1/p3pp1p/1pn2np1/8/4P3/BNPB3P/P1P3P1/1K1R4 b - -",   "2br2k1/p3pp1p/1pn3p1/8/4n3/BNPB3P/P1P3P1/1K1R4 w - -",   "2br2k1/p3pp1p/1pn3p1/8/4n3/BNPB3P/P1P3P1/1K2R3 b - -",   "2br2k1/p3pp1p/1pn3p1/8/4n3/BNPB3P/PKP3P1/3R4 b - -",   "2br2k1/p3pp1p/1pn3p1/8/8/BNPB3P/PKP2nP1/3R4 w - -",   "2br2k1/p3pp1p/1pn3p1/8/8/BNPB3P/PKPR1nP1/8 b - -",   "2br2k1/p3pp1p/1pn3p1/8/8/BNPn3P/PKPR2P1/8 w - -",   "2br2k1/p3pp1p/1pn3p1/8/8/BNPP3P/PK1R2P1/8 b - -",   "2br2k1/p3pp1p/1p4p1/4n3/8/BNPP3P/PK1R2P1/8 w - -",   "2br2k1/p3pp1p/1p4p1/4n3/8/BNPP3P/P1KR2P1/8 b - -",   "2br2k1/p3pp1p/1p4p1/8/8/BNPn3P/P1KR2P1/8 w - -",   "2br2k1/p3pp1p/1p4p1/8/8/BNPR3P/P1K3P1/8 b - -",   "3r2k1/p3pp1p/1p4p1/5b2/8/BNPR3P/P1K3P1/8 w - -",   "3r2k1/p3pp1p/1p4p1/5b2/8/B1PR3P/P1K3P1/2N5 b - -",   "2br2k1/p3pp1p/1pn3p1/8/8/BNnB3P/P1P3P1/1K2R3 w - -",   "2br2k1/p3pp1p/1pn3p1/8/8/BNnB3P/P1P3P1/K3R3 b - -",   "2br2k1/p4p1p/1pn3p1/4p3/8/BNnB3P/P1P3P1/K3R3 w - -",   "2br2k1/p4p1p/1pn3p1/4p3/8/1NnB3P/PBP3P1/K3R3 b - -",   "2br2k1/p4p1p/1pn3p1/4p3/n7/1N1B3P/PBP3P1/K3R3 w - -",   "2br2k1/p4p1p/1pn3p1/4B3/n7/1N1B3P/P1P3P1/K3R3 b - -",   "2br2k1/p4p1p/1p4p1/4n3/n7/1N1B3P/P1P3P1/K3R3 w - -",   "2br2k1/p4p1p/1p4p1/4R3/n7/1N1B3P/P1P3P1/K7 b - -",   "3r2k1/p4p1p/1p4p1/4Rb2/n7/1N1B3P/P1P3P1/K7 w - -",   "3r2k1/p4p1p/bp4p1/4R3/n7/1N1B3P/P1P3P1/K7 w - -",   "3r2k1/p4p1p/bp4p1/4R3/n7/3B3P/P1P3P1/K1N5 b - -",   "3r2k1/pb3p1p/1p4p1/4R3/n7/3B3P/P1P3P1/K1N5 w - -",   "3r2k1/pb3p1p/1p4p1/4R3/n5P1/3B3P/P1P5/K1N5 b - -",   "3r1k2/pb3p1p/1p4p1/4R3/n5P1/3B3P/P1P5/K1N5 w - -",   "3r1k2/pb3p1p/1p4p1/8/n5P1/3BR2P/P1P5/K1N5 b - -",   "3r2k1/p4p1p/1p4p1/4Rb2/n7/3B3P/P1P3P1/K1N5 b - -",   "3r2k1/p4p1p/1p4p1/4R3/n7/3b3P/P1P3P1/K1N5 w - -",   "3r2k1/p4p1p/1p4p1/4R3/n7/3N3P/P1P3P1/K7 b - -",   "3r1k2/p4p1p/1p4p1/4R3/n7/3N3P/P1P3P1/K7 w - -",   "3r1k2/p4p1p/1p4p1/4R3/n7/P2N3P/2P3P1/K7 b - -",   "4rk2/p4p1p/1p4p1/4R3/n7/P2N3P/2P3P1/K7 w - -",   "2r2k2/p4p1p/1p4p1/4R3/n7/P2N3P/2P3P1/K7 w - -",   "2r2k2/p4p1p/1p4p1/4R3/n7/P2N3P/2P3P1/1K6 b - -",   "5k2/p4p1p/1p4p1/4R3/n7/P1rN3P/2P3P1/1K6 w - -",   "4rk2/p4p1p/1p4p1/4R3/n7/P2N3P/K1P3P1/8 b - -",   "4rk2/p6p/1p4p1/4Rp2/n7/P2N3P/K1P3P1/8 w - -",   "4rk2/p6p/1p4p1/4Rp2/n7/PK1N3P/2P3P1/8 b - -",   "5k2/p6p/1p4p1/4rp2/n7/PK1N3P/2P3P1/8 w - -",   "5k2/p6p/1p4p1/4Np2/n7/PK5P/2P3P1/8 b - -",   "5k2/p6p/1p4p1/2n1Np2/8/PK5P/2P3P1/8 w - -",   "5k2/p6p/1p4p1/2n1Np2/2K5/P6P/2P3P1/8 b - -",   "8/p5kp/1p4p1/2n1Np2/2K5/P6P/2P3P1/8 w - -",   "5k2/p6p/1p2n1p1/4Np2/2K5/P6P/2P3P1/8 w - -",   "5k2/p6p/1p2n1p1/1K2Np2/8/P6P/2P3P1/8 b - -",   "5k2/p6p/1p4p1/1K2Np2/5n2/P6P/2P3P1/8 w - -",   "5k2/p6p/Kp4p1/4Np2/5n2/P6P/2P3P1/8 b - -",   "5k2/p6p/Kp4p1/4Np2/8/P6P/2P3n1/8 w - -",   "5k2/K6p/1p4p1/4Np2/8/P6P/2P3n1/8 b - -",   "5k2/K6p/6p1/1p2Np2/8/P6P/2P3n1/8 w - -",   "5k2/7p/1K4p1/1p2Np2/8/P6P/2P3n1/8 b - -",   "5k2/7p/1K6/1p2Npp1/8/P6P/2P3n1/8 w - -",   "5k2/7p/8/1K2Npp1/8/P6P/2P3n1/8 b - -",   "5k2/7p/8/1K2Npp1/5n2/P6P/2P5/8 w - -",   "5k2/7p/8/1K2Npp1/5n1P/P7/2P5/8 b - -",   "5k2/7p/8/1K2Np2/5npP/P7/2P5/8 w - -",   "8/p5kp/1pN3p1/2n2p2/2K5/P6P/2P3P1/8 b - -",   "8/6kp/ppN3p1/2n2p2/2K5/P6P/2P3P1/8 w - -",   "8/4N1kp/pp4p1/2n2p2/2K5/P6P/2P3P1/8 b - -",   "8/4N2p/pp3kp1/2n2p2/2K5/P6P/2P3P1/8 w - -",   "8/7p/pp3kp1/2nN1p2/2K5/P6P/2P3P1/8 b - -",   "8/7p/pp4p1/2nNkp2/2K5/P6P/2P3P1/8 w - -",   "8/7p/pN4p1/2n1kp2/2K5/P6P/2P3P1/8 b - -",   "8/7p/pN4p1/4kp2/2K1n3/P6P/2P3P1/8 w - -",   "8/7p/pN2n1p1/4kp2/2K5/P6P/2P3P1/8 w - -",   "8/7p/p3n1p1/3Nkp2/2K5/P6P/2P3P1/8 b - -",   "8/7p/4n1p1/p2Nkp2/2K5/P6P/2P3P1/8 w - -",   "8/7p/4n1p1/p2Nkp2/P1K5/7P/2P3P1/8 b - -",   "8/7p/6p1/p2Nkp2/P1Kn4/7P/2P3P1/8 w - -",   "8/7p/6p1/p3kp2/P1Kn4/4N2P/2P3P1/8 b - -",   "8/7p/6p1/p4p2/P1Knk3/4N2P/2P3P1/8 w - -",   "8/7p/6p1/p4p2/P1Knk3/7P/2P3P1/3N4 b - -",   "8/7p/6p1/p4p2/P1K1k3/7P/2n3P1/3N4 w - -",   "8/3N3p/p5p1/4kp2/2K1n3/P6P/2P3P1/8 b - -",   "8/3N3p/p5p1/5p2/2K1nk2/P6P/2P3P1/8 w - -",   "5N2/7p/p5p1/5p2/2K1nk2/P6P/2P3P1/8 b - -",   "5N2/7p/p5p1/5p2/2K1n3/P5kP/2P3P1/8 w - -",   "8/7N/p5p1/5p2/2K1n3/P5kP/2P3P1/8 b - -",   "8/7N/p5p1/5p2/2K1n3/P6P/2P3k1/8 w - -",   "5N2/8/p5p1/5p2/2K1n3/P6P/2P3k1/8 b - -",   "5N2/8/p7/5pp1/2K1n3/P6P/2P3k1/8 w - -",   "5N2/8/p7/5pp1/3Kn3/P6P/2P3k1/8 b - -",   "5N2/8/p7/6p1/3Knp2/P6P/2P3k1/8 w - -");var VarLevelsLEPFFP = new Array (   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,   1,1,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,2,2,2,2,2,2,2,2,2,2,   2,2,1,1,2,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,2,2,2,   2,2,2,2,2,2,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,   0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,   0,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,   1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,0,   0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,   0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0);var MoveNumsLEPFFP = new Array (   0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,20,21,22,23,24,25,   26,27,28,28,29,30,31,31,32,33,34,35,36,20,20,21,22,22,23,24,25,26,27,28,29,30,31,   32,33,23,24,24,25,26,27,28,29,30,31,32,21,21,22,23,24,25,26,27,28,29,29,30,31,32,   33,34,35,36,37,38,39,40,30,31,32,33,34,35,22,23,24,25,26,27,28,29,29,30,31,32,30,   31,31,32,33,34,35,36,37,38,39,40,41,42,43,44,32,33,34,34,35,36,37,38,39,40,35,36,   37,37,38,39,40,38,39,39,40,41,42,43,44,45,40,41,42,43,43,44,45,46,47,48,49,50,51,   52,53,44,45,46,47,48,49,50,51,52,52,53,54,55,56,57,53,54,55,56,57,58,58,59,60,59,   60,61,62,63,64,65,66,66,67,68,69,70,71,72,73,74,75,76,77,78,67,68,69,70,71,72,73,   74,74,75,76,77,78,79,80,81,82,75,76,77,78,79,80,81,82,83,84);&lt;/script&gt;&lt;script type="text/javascript"&gt;function chessBoardLEPFFP() {        // Board square notation        this.numbers = [0, 8, 7, 6, 5, 4, 3, 2, 1];        this.letters = ["0", "a", "b", "c", "d", "e", "f", "g", "h"];        // Variables used to load/save FEN        // The piece to move now        this.currentMove;        // State of castling        this.castling;        // If there's enpassant pawn        this.enPassant;        // Number of halfmoves        this.halfMoves;        // Full number of moves        this.fullMoves;        // Holds references to pieces         // piece object contains name, color and reference to board square its in        this.pieces = [];        // Board squares        // These that hold a piece contain reference to piece object (so board squares and piece are circle referenced)        this.squares = [];        this.squares["a"] = [];        this.squares["b"] = [];        this.squares["c"] = [];        this.squares["d"] = [];        this.squares["e"] = [];        this.squares["f"] = [];        this.squares["g"] = [];        this.squares["h"] = [];        for(var keyVar in this.squares) {                for(var j = 1; j &lt;= 8; j++) {                        this.squares[keyVar][j] = new boardSquare(keyVar, j);                }        }}// Prototype function used to load FEN into boardchessBoardLEPFFP.prototype.loadFEN =         function(FEN) {                for(var keyVar in this.squares) {                  if (/^[a-f]$/.test(keyVar)) {                        for(var j = 1; j &lt;= 8; j++) {                                this.squares[keyVar][j].piece = null;                        }                  }                }                delete this.pieces;                this.pieces = [];                var FENArray = FEN.split(" ");                var boardArray = FENArray[0].split("/");                for(var lines = 1; lines &lt;= 8; lines++) {                        var line = boardArray[lines - 1].split("");                        var colsY = 1;                        for(var cols = 1; cols &lt;= line.length; cols++) {                                var letter = line[cols - 1];                                var color;                                if (/[rbqkpn]/.test(letter)) {                                        color = "black";                                } else if (/[RBQKPN]/.test(letter)) {                                        color = "white";                                } else {                                        colsY = parseInt(colsY) + parseInt(letter);                                        continue;                                }                                switch(letter.toLowerCase()) {                                        case "r":                                                name = "rook";                                                break;                                        case "b":                                                name = "bishop";                                                break;                                        case "q":                                                name = "queen";                                                break;                                        case "k":                                                name = "king";                                                break;                                        case "p":                                                name = "pawn";                                                break;                                        case "n":                                                name = "knight";                                                break;                                        default:                                                break;                                }                                var x = this.letters[colsY];                                var y = this.numbers[lines];                                this.addPiece(name, color, x, y);                                colsY++;                        }                }                if (FENArray[1] == "b")                        this.currentMove = "black";                else                        this.currentMove = "white";                this.castling = FENArray[2];                this.enPassant = FENArray[3];                this.halfMoves = FENArray[4];                this.fullMoves = FENArray[5];        }// Create piece objects and place a reference to them for square they're inchessBoardLEPFFP.prototype.addPiece =         function(name, color, x, y) {                var newPiece = new boardPiece(name, color);                newPiece.square = this.squares[x][y];                this.pieces.push(newPiece);                this.squares[x][y].piece = newPiece;        }// MoveHandlerchessBoardLEPFFP.prototype.moveHandler =        function(piece, fromX, fromY, toX, toY, capture, promotion, promoteTo, varNum) {                // Make piece move                this.makeMove(fromX, fromY, toX, toY, capture);                if (piece == "pawn") {                        // White pawns move "up", black move "down"                        var mod;                        if (this.currentMove == "white")                                 mod = 1;                        else                                mod = -1;                        // if enPassant capture, manually remove piece, as makeMove is simple and doesn't handle this                        if (capture &amp;&amp; toX + toY == this.enPassant) {                                this.squares[toX][toY - mod].piece.square = null;                                this.squares[toX][toY - mod].piece = null;                        }                        // Set enPassant if needed                        if (Math.abs(toY - fromY) == 2)                                this.enPassant = toX + (parseInt(toY) - mod);                        else                                this.enPassant = "-";                        // Set the promotion piece if so                        if(promotion) {                                this.squares[toX][toY].piece.name = promoteTo;                        }                } else {                        this.enPassant = "-";                        // Handle castling if rook moves                        if (piece == "rook" &amp;&amp; this.castling != "-") {                                if (fromX == "a" &amp;&amp; fromY == 8) {                                        this.castling = this.castling.replace(/q/, "");                                } else if (fromX == "h" &amp;&amp; fromY == 8) {                                        this.castling = this.castling.replace(/k/, "");                                } else if (fromX == "a" &amp;&amp; fromY == 1) {                                        this.castling = this.castling.replace(/Q/, "");                                } else if (fromX == "h" &amp;&amp; fromY == 1) {                                        this.castling = this.castling.replace(/K/, "");                                }                        }                        if (piece == "king" &amp;&amp; this.castling != "-") {                                if (this.currentMove == "white") {                                        this.castling = this.castling.replace(/K/, "");                                        this.castling = this.castling.replace(/Q/, "");                                } else {                                        this.castling = this.castling.replace(/k/, "");                                        this.castling = this.castling.replace(/q/, "");                                }                        }                        // If castling is empty after above                        if (this.castling == "") {                                this.castling = "-";                        }                }                if(piece == "pawn" || promotion || capture) {                        this.halfMoves = 0;                } else {                        this.halfMoves++;                }                if (this.currentMove == "black")                        this.fullMoves++;                this.switchMove();        }// Handles the castlingchessBoardLEPFFP.prototype.castle =         function(castling) {                var line;                if (this.currentMove == "white")                        line = 1;                else                        line = 8;                                        if (/^O-O\+?$/.test(castling)) {                        this.makeMove("e", line, "g", line);                        this.makeMove("h", line, "f", line);                } else {                        this.makeMove("e", line, "c", line);                        this.makeMove("a", line, "d", line);                }                var castlestrip;                if (this.currentMove == "white")                        castlestrip = /[KQ]/g;                else                        castlestrip = /[kq]/g;                this.enPassant = "-";                this.halfMoves++;                if (this.currentMove == "black")                        this.fullMoves++;                this.castling = this.castling.replace(castlestrip, "");                if (this.castling == "")                        this.castling = "-";                this.switchMove();        }// Search for pieces by name, color and either (or both) of coordinates// Returns an array of matches - corresponding indexes of pieces arraychessBoardLEPFFP.prototype.getPiece =         function(name, color, x, y) {                var result = new Array();                for(var i = 0; i &lt; this.pieces.length; i++) {                        if (this.pieces[i].name == name &amp;&amp; this.pieces[i].color == color &amp;&amp; this.pieces[i].square != null &amp;&amp; ((x &amp;&amp; this.pieces[i].square.x == x) || !x) &amp;&amp; ((y &amp;&amp; this.pieces[i].square.y == y) || !y)) {                                result.push(i);                        }                }                return result;        }// Switches the current movechessBoardLEPFFP.prototype.switchMove =        function() {                if (this.currentMove == "white")                        this.currentMove = "black";                else                        this.currentMove = "white";        }// Simple move function with from&amp;to variableschessBoardLEPFFP.prototype.makeMove =        function(fromX, fromY, toX, toY, capture) {                var previousPiece = this.squares[fromX][fromY].piece;                previousPiece.square = this.squares[toX][toY];                if (capture &amp;&amp; this.squares[toX][toY].piece != null) {                        this.squares[toX][toY].piece.square = null;                }                this.squares[toX][toY].piece = previousPiece;                this.squares[fromX][fromY].piece = null;        }// Returns current FENchessBoardLEPFFP.prototype.currentFEN =        function(reduced) {                var FEN="";                for (var num = 8; num &gt;= 1; num--) {                        var emptyCounter = 0;                        for (var keyVar in this.squares) {                                if (this.squares[keyVar][num].piece != null) {                                        if (emptyCounter != 0) {                                                FEN += emptyCounter;                                                emptyCounter = 0;                                        }                                        var pieceName = this.squares[keyVar][num].piece.name;                                        var pieceColor = this.squares[keyVar][num].piece.color;                                        switch (pieceName) {                                                case "rook":                                                name = "r";                                                break;                                        case "bishop":                                                name = "b";                                                break;                                        case "queen":                                                name = "q";                                                break;                                        case "king":                                                name = "k";                                                break;                                        case "pawn":                                                name = "p";                                                break;                                        case "knight":                                                name = "n";                                                break;                                        default:                                                break;                                        }                                        if (pieceColor == "white") {                                                name = name.toUpperCase();                                                FEN += name;                                        }                                        else                                                 FEN += name;                                } else                                        emptyCounter++;                        }                        if (emptyCounter != 0)                                FEN += emptyCounter;                        if (num != 1)                                FEN += "/";                }                FEN += " " + this.currentMove.substr(0,1);                FEN += " " + this.castling;                FEN += " " + this.enPassant;                if (!reduced) {                        FEN += " " + this.halfMoves;                        FEN += " " + this.fullMoves;                }                return FEN;        }// Board Squarefunction boardSquare(x, y) {        this.x = x;        this.y = y;        this.piece;}// Board Piecefunction boardPiece(name, color) {        // Each piece hold the reference to they square it's in        this.square;        this.name = name;        this.color = color;}&lt;/script&gt;&lt;script type="text/javascript"&gt;function GUILEPFFP() {        var numbers = [8, 7, 6, 5, 4, 3, 2, 1];        var letters = ["a", "b", "c", "d", "e", "f", "g", "h"];        var letter = [];        letter["a"] = 1;        letter["b"] = 2;        letter["c"] = 3;        letter["d"] = 4;        letter["e"] = 5;        letter["f"] = 6;        letter["g"] = 7;        letter["h"] = 8;                if (navigator.appName == "Microsoft Internet Explorer" &amp;&amp; navigator.appVersion.match(/MSIE 6\./)) {                var ie6 = true;        }                try {                var canvas = Raphael("board_svgLEPFFP", 262, 262);        } catch (e) {                        }        this.arrow;        this.startPoint;        // If board is flipped        this.flipped = false;        this.drawBoardPosition =        function(board) {                var square;                for(var rows = 1; rows &lt;= 8; rows++) {                        for(var cols = 1; cols &lt;= 8; cols++) {                                square = document.getElementById("square" + rows + cols + "LEPFFP");                                while (square.childNodes[0]) {                                        square.removeChild(square.childNodes[0]);                                }                        }                }                var GUIsquare;                var piece;                var square;                var shortName;                for(var i = 0; i &lt; board.pieces.length; i++) {                        var piece = board.pieces[i];                        var square = piece.square;                        if (square != undefined) {                                GUIsquare = this.getGUISquare(square.x, square.y);                                if (piece.name != "knight")                                        shortName = piece.name.charAt(0);                                else                                        shortName = "n";                                var pieceImg = document.createElement("IMG");                                pieceImg.id = "piece" + square.x + square.y;                                pieceImg.src = "http://www.chessok.com/common/images/pieces/classic/33" + (ie6? "gif" : "") + "/" + piece.color.charAt(0) + shortName + (ie6? ".gif" : ".png");                                GUIsquare.appendChild(pieceImg);                                pieceImg.style.verticalAlign = 'top';                        }                }                                this.drawCoordinates();                /*if (this.arrow) {                        this.arrow.remove();                        this.arrow = undefined;                }                if (this.startPoint) {                        this.startPoint.remove();                        this.startPoint = undefined;                }                var id = game.notationMove;                if(id != "start") {                        var fromX = game.displayNotation[id]["fromto"].fromX;                        var fromY = game.displayNotation[id]["fromto"].fromY;                        var toX = game.displayNotation[id]["fromto"].toX;                        var toY = game.displayNotation[id]["fromto"].toY;                        var knight = (game.displayNotation[id]["token"].charAt(0) == "N" ? true : false);                        this.drawArrow(fromX, fromY, toX, toY, knight);                } else {                        if (this.arrow) {                                this.arrow.remove();                                this.arrow = undefined;                        }                }*/        }        // Rotates the board        this.flipBoard =        function() {                document.getElementById("flipiconLEPFFP").blur();                if (this.flipped)                        this.flipped = false;                else                        this.flipped = true;                this.drawBoardPosition(boardLEPFFP);        }        // Draws the coordinates according to this.flipped state        this.drawCoordinates=        function() {                var lttr;                var nmbr;                for (var i = 0; i &lt; letters.length; i++) {                        if (this.flipped) {                                lttr = letters[7 - i];                                nmbr = 8 - i;                        } else {                                lttr = letters[i];                                nmbr = i + 1;                        }                        var holder = document.getElementById("top" + letters[i] + "LEPFFP");                        holder.firstChild.nodeValue = lttr.toUpperCase();                        holder = document.getElementById("bottom" + letters[i] + "LEPFFP");                        holder.firstChild.nodeValue = lttr.toUpperCase();                        holder = document.getElementById("left" + parseInt(i + 1) + "LEPFFP");                        holder.firstChild.nodeValue = nmbr;                        holder = document.getElementById("right" + parseInt(i + 1) + "LEPFFP");                        holder.firstChild.nodeValue = nmbr;                }        }                this.drawArrow =        function(fromX, fromY, toX, toY, knight) {                //alert(fromX + fromY + toX + toY);                var fX = letter[fromX];                var fY = 9 - fromY;                var tX = letter[toX];                var tY = 9 - toY;                if (this.flipped) {                        fX = 9 - fX;                        fY = 9 - fY                        tX = 9 - tX;                        tY = 9 - tY                }                fX = fX * 50 - 25 + 17;                fY = fY * 50 - 25 + 21;                tX = tX * 50 - 25 + 17;                tY = tY * 50 - 25 + 21;                                if (this.arrow) {                        this.arrow.remove();                }                                var lX = Math.abs(tX - fX);                var lY = Math.abs(tY - fY);                var tL = Math.sqrt(lX*lX + lY*lY);                var mod = -1*lX / (tX - fX);                if (lX == 0) {                        var rotationAngle = 0;                } else {                        var rotationAngle = - Math.atan((tX - fX)/(tY - fY));                }                                if (lY == 0) {                        rotationAngle = - rotationAngle;                } else if (tY &gt; fY) {                        rotationAngle = Math.PI + rotationAngle;                }                rotationAngle = rotationAngle / Math.PI * 180;        try {                //var c = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.66}).moveTo(fX, fY).lineTo(fX - 5, fY - tL + 15);                if (knight) {                        var sq = Math.sqrt(50*50/2);                        //this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).qcurveTo(fX - 5 + mod*sq, fY - 1.5*sq, fX - 5 + mod*sq, fY - 3*sq + 15).lineTo(fX - 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + mod*sq, fY - 3*sq).lineTo(fX + 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + 5 + mod*sq, fY - 3*sq + 15).qcurveTo(fX + 5 + mod*sq, fY - 1.5*sq, fX, fY);                        this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).curveTo(fX - 2 + 0.5*mod*sq, fY - sq, fX - 5 + mod*sq, fY - 1.5*sq, fX - 5 + mod*sq, fY - 3*sq + 15).lineTo(fX - 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + mod*sq, fY - 3*sq).lineTo(fX + 15 + mod*sq, fY - 3*sq + 20).lineTo(fX + 5 + mod*sq, fY - 3*sq + 15).curveTo(fX + 5 + mod*sq, fY - 1.5*sq, fX + 2 + 0.5*mod*sq, fY - sq, fX, fY);                        var knightAngle = Math.atan(1/3) / Math.PI * 180;                        this.arrow.rotate(rotationAngle - mod*knightAngle, fX, fY);                        //alert(/Math.PI * 180);                } else {                        this.arrow = canvas.path({fill: "#ff0", stroke: "#000", opacity: 0.6}).moveTo(fX, fY).lineTo(fX - 5, fY - tL + 15).lineTo(fX - 15, fY - tL + 20).lineTo(fX, fY - tL).lineTo(fX + 15, fY - tL + 20).lineTo(fX + 5, fY - tL + 15).lineTo(fX, fY);                        this.arrow.rotate(rotationAngle, fX, fY);                }                this.startPoint = canvas.circle(fX, fY, 10);                this.startPoint.attr({fill: "#ff0", stroke: "#000", opacity: 0.25});        } catch (e) {                        }        }        // Returns the GUI square reference given the board coordinates;        this.getGUISquare =        function(x, y) {                if (!this.flipped) {                        x = letter[x];                        y = 9 - y;                } else {                        x = 9 - letter[x];                }                return document.getElementById("square" + x + y + "LEPFFP");        }        // Returns the board coordinates given the id of GUI square        this.getSquare =        function(id) {                if (id.match(/piece/)) {                        return {x: id.charAt(5), y: id.charAt(6)};                }                if (!this.flipped) {                        x = letters[id.charAt(6) - 1];                        y = 9 - id.charAt(7);                } else {                        x = letters[8 - id.charAt(6)];                        y = id.charAt(7);                }                return {x: x, y: y};        }        this.addClass =        function(target, classValue) {                if (!this.hasClass(target, classValue))                        if (target.className == "")                                target.className = classValue;                        else                                target.className += " " + classValue;                return true;        }        this.removeClass =        function(target, classValue) {                if(this.hasClass(target, classValue)) {                        var removedClass = target.className;                        var pattern = new RegExp("(^| )" + classValue + "( |$)");                        removedClass = removedClass.replace(pattern, "$1");                        removedClass = removedClass.replace(/ $/, "");                        target.className = removedClass;                }                return true;        }        this.hasClass =        function(target, classValue) {                var pattern = new RegExp("(^| )" + classValue + "( |$)");                    if (target.className.match(pattern))                        return true;                return false;        }}&lt;/script&gt;&lt;script type="text/javascript"&gt;//&lt;!--eval(function(p,a,c,k,e,r){e=function(c){return(c&lt;a?'':e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('11 2x=(14(){11 u=/[, ]+/,V,1w=4N,3v=5Z,R=14(){17 V.2e(R,18)};R.4O="0.7.2";R.1v=(3v.60?"4e":"3P");R.2f=!(R.2a=R.1v=="3P");R.4f=0;11 v={};R.3w={};11 z={cx:0,1J:0,1x:"#4g","1x-1p":1,1z:\'61 "4P"\',"1z-3x":\'"4P"\',"1z-2G":"10",2g:0,1g:0,1p:1,1l:"4h,0",r:0,2R:0,2h:0,2i:0,2H:"1 1",2I:"",1i:"#22","1i-2J":"","1i-2Z":"3j","1i-3y":"3j","1i-3z":0,"1i-1p":1,"1i-1d":1,2K:"0 0",1d:0,x:0,y:0},3Q={cx:"1T",1J:"1T",1x:"3R","1x-1p":"1T","1z-2G":"1T",1g:"1T",1p:"1T",1l:"1l",r:"1T",2R:"3A",2h:"1T",2i:"1T",2H:"3A",1i:"3R","1i-1p":"1T","1i-1d":"1T",2K:"3A",1d:"1T",x:"1T",y:"1T"},1X=["62","63","64","65","4Q","4R","66"];R.1G=14(){17"67 68 "+(9.2a?"69\'t ":"")+"6a"+(9.2f?"s":"")+" 4e.\\6b 6c 6d "+6e("6f%6g%20")+9.4O};R.6h=14(a){3v=a;1w=3v.4N};R.3S=14(a,c,d){13(1u a=="3k"&amp;&amp;"h"1E a&amp;&amp;"s"1E a&amp;&amp;"b"1E a){d=a.b;c=a.s;a=a.h}11 e,1Y,1Z;13(d==0){17{r:0,g:0,b:0,23:"#22"}}13(a&gt;1||c&gt;1||d&gt;1){a/=2L;c/=2L;d/=2L}11 i=1b.6i(a*6),f=(a*6)-i,p=d*(1-c),q=d*(1-(c*f)),t=d*(1-(c*(1-f)));e=[d,q,p,p,t,d,d][i];1Y=[t,d,d,q,p,p,t][i];1Z=[p,p,t,d,d,q,p][i];e*=2L;1Y*=2L;1Z*=2L;11 h={r:e,g:1Y,b:1Z};11 r=1b.1j(e).1G(16);13(r.19==1){r="0"+r}11 g=1b.1j(1Y).1G(16);13(g.19==1){g="0"+g}11 b=1b.1j(1Z).1G(16);13(b.19==1){b="0"+b}h.23="#"+r+g+b;17 h};R.6j=14(a,b,c){13(1u a=="3k"&amp;&amp;"r"1E a&amp;&amp;"g"1E a&amp;&amp;"b"1E a){c=a.b;b=a.g;a=a.r}13(1u a=="2j"){11 d=A(a);a=d.r;b=d.g;c=d.b}13(a&gt;1||b&gt;1||c&gt;1){a/=2L;b/=2L;c/=2L}11 e=1b.30(a,b,c),2M=1b.2M(a,b,c),2y,4i,4S=e;13(2M==e){17{h:0,s:0,b:e}}1o{11 f=(e-2M);4i=f/e;13(a==e){2y=(b-c)/f}1o 13(b==e){2y=2+((c-a)/f)}1o{2y=4+((a-b)/f)}2y/=6;13(2y&lt;0){2y+=1}13(2y&gt;1){2y-=1}}17{h:2y,s:4i,b:4S}};11 A=14(a){11 c={6k:"#6l",6m:"#6n",6o:"#6p",6q:"#4T",6r:"#6s",6t:"#6u",6v:"#6w",6x:"#6y",6z:"#22",6A:"#6B",1Z:"#6C",6D:"#6E",6F:"#6G",6H:"#6I",6J:"#6K",6L:"#6M",6N:"#6O",6P:"#6Q",6R:"#6S",6T:"#6U",6V:"#6W",6X:"#4T",6Y:"#6Z",70:"#71",72:"#73",74:"#76",77:"#78",79:"#7a",7b:"#7c",7d:"#7e",7f:"#7g",7h:"#7i",7j:"#7k",7l:"#7m",7n:"#7o",7p:"#7q",7r:"#7s",7t:"#7u",7v:"#7w",7x:"#7y",7z:"#7A",7B:"#7C",7D:"#7E",7F:"#7G",7H:"#7I",7J:"#7K",7L:"#4U",7M:"#7N",7O:"#7P",7Q:"#7R",7S:"#7T",7U:"#7V",1Y:"#7W",7X:"#7Y",7Z:"#80",81:"#82",83:"#84",85:"#86",87:"#88",89:"#8a",8b:"#8c",8d:"#8e",8f:"#8g",8h:"#8i",8j:"#8k",8l:"#8m",8n:"#8o",8p:"#8q",8r:"#8s",8t:"#8u",8v:"#8w",4V:"#4W",4V:"#4W",8x:"#8y",8z:"#8A",8B:"#8C",8D:"#8E",8F:"#8G",8H:"#8I",8J:"#8K",8L:"#8M",8N:"#4U",8O:"#8P",8Q:"#8R",8S:"#8T",8U:"#8V",8W:"#8X",8Y:"#8Z",4X:"#4Y",4X:"#4Y",91:"#92",93:"#94",95:"#96",97:"#98",99:"#9a",9b:"#9c",9d:"#9e",9f:"#9g",9h:"#9i",9j:"#9k",9l:"#9m",9n:"#9o",9p:"#9q",9r:"#9s",9t:"#9u",9v:"#9w",9x:"#9y",9z:"#9A",9B:"#9C",9D:"#9E",9F:"#9G",9H:"#9I",9J:"#9K",9L:"#9M",9N:"#9O",9P:"#9Q",9R:"#9S",9T:"#9U",9V:"#9W",9X:"#9Y",9Z:"#a0",a1:"#a2",a3:"#a4",a5:"#a6",a7:"#a8",a9:"#aa",ab:"#ac",ad:"#ae",af:"#ag",ah:"#ai",aj:"#ak",al:"#am",an:"#ao",ap:"#aq",as:"#au",av:"#aw",ax:"#ay",az:"#aA",aB:"#aC",aD:"#4g",aE:"#aF",aG:"#aH",aI:"#aJ"};13(a.1G().2z()1E c){a=c[a.1G().2z()]}13(!a){17{r:0,g:0,b:0,23:"#22"}}13(a=="1U"){17{r:-1,g:-1,b:-1,23:"1U"}}11 d,1Y,1Z,e=a.3T(/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|4j\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4j\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\)|4Z\\(\\s*([\\d\\.]+\\s*,\\s*[\\d\\.]+\\s*,\\s*[\\d\\.]+)\\s*\\)|4Z\\(\\s*([\\d\\.]+%\\s*,\\s*[\\d\\.]+%\\s*,\\s*[\\d\\.]+%)\\s*\\))\\s*$/i);13(e){13(e[2]){1Z=31(e[2].2s(5),16);1Y=31(e[2].2s(3,5),16);d=31(e[2].2s(1,3),16)}13(e[3]){1Z=31(e[3].2s(3)+e[3].2s(3),16);1Y=31(e[3].2s(2,3)+e[3].2s(2,3),16);d=31(e[3].2s(1,2)+e[3].2s(1,2),16)}13(e[4]){e=e[4].26(/\\s*,\\s*/);d=1c(e[0],10);1Y=1c(e[1],10);1Z=1c(e[2],10)}13(e[5]){e=e[5].26(/\\s*,\\s*/);d=1c(e[0],10)*2.55;1Y=1c(e[1],10)*2.55;1Z=1c(e[2],10)*2.55}13(e[6]){e=e[6].26(/\\s*,\\s*/);d=1c(e[0],10);1Y=1c(e[1],10);1Z=1c(e[2],10);17 2x.3S(d,1Y,1Z)}13(e[7]){e=e[7].26(/\\s*,\\s*/);d=1c(e[0],10)*2.55;1Y=1c(e[1],10)*2.55;1Z=1c(e[2],10)*2.55;17 2x.3S(d,1Y,1Z)}11 e={r:d,g:1Y,b:1Z};11 r=1b.1j(d).1G(16);(r.19==1)&amp;&amp;(r="0"+r);11 g=1b.1j(1Y).1G(16);(g.19==1)&amp;&amp;(g="0"+g);11 b=1b.1j(1Z).1G(16);(b.19==1)&amp;&amp;(b="0"+b);e.23="#"+r+g+b;17 e}1o{17{r:-1,g:-1,b:-1,23:"1U"}}};R.50=14(a){11 b=18.3U.2A=18.3U.2A||{h:0,s:1,b:a||.75};11 c=2x.3S(b.h,b.s,b.b);b.h+=.aK;13(b.h&gt;1){b.h=0;b.s-=.2;13(b.s&lt;=0){18.3U.2A={h:0,s:1,b:b.b}}}17 c.23};R.50.aL=14(){9.2A=1N};R.32=14(e){11 f={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},3V=[],1G=14(){11 a="";1n(11 i=0,1q=9.19;i&lt;1q;i++){a+=9[i][0]+9[i].1K(",").2s(2)}17 a};13(e.1G.1G()==1G.1G()){17 e}e.3W(/([aM])[\\s,]*((-?\\d*(?:e-?\\d+|\\.?\\d*)\\s*,?\\s*)+)/51,14(a,b,c){11 d=[],3X=b.2z();c.3W(/(-?\\d*(?:e-?\\d+|\\.?\\d*))\\s*,?\\s*/51,14(a,b){b&amp;&amp;d.1V(+b)});4k(d.19&gt;=f[3X]){3V.1V([b].4l(d.2t(0,f[3X])));13(!f[3X]){1m}}});3V.1G=1G;17 3V};11 B=14(a){11 b=a;13(1u a=="2j"){b=2x.32(a)}b=D(b);11 x=[],y=[],19=0;1n(11 i=0,1q=b.19;i&lt;1q;i++){2k(b[i][0]){1k"Z":1m;1k"A":x.1V(b[i][b[i].19-2]);y.1V(b[i][b[i].19-1]);1m;2S:1n(11 j=1,21=b[i].19;j&lt;21;j++){13(j%2){x.1V(b[i][j])}1o{y.1V(b[i][j])}}}}11 c=1b.2M.2e(1b,x),4m=1b.2M.2e(1b,y);17{x:c,y:4m,1d:1b.30.2e(1b,x)-c,1g:1b.30.2e(1b,y)-4m,X:x,Y:y}};11 C=14(a){11 b=[];13(1u a=="2j"){a=R.32(a)}11 x=0,y=0,2A=0;13(a[0][0]=="M"){x=a[0][1];y=a[0][2];2A++;b.1V(a[0])}1n(11 i=2A,1q=a.19;i&lt;1q;i++){b[i]=[];13(a[i][0]!=a[i][0].2z()){b[i][0]=a[i][0].2z();2k(b[i][0]){1k"a":b[i][1]=a[i][1];b[i][2]=a[i][2];b[i][3]=0;b[i][4]=a[i][4];b[i][5]=a[i][5];b[i][6]=+(a[i][6]-x).1L(3);b[i][7]=+(a[i][7]-y).1L(3);1m;1k"v":b[i][1]=+(a[i][1]-y).1L(3);1m;2S:1n(11 j=1,21=a[i].19;j&lt;21;j++){b[i][j]=+(a[i][j]-((j%2)?x:y)).1L(3)}}}1o{b[i]=a[i]}2k(b[i][0]){1k"z":1m;1k"h":x+=b[i][b[i].19-1];1m;1k"v":y+=b[i][b[i].19-1];1m;2S:x+=b[i][b[i].19-2];y+=b[i][b[i].19-1]}}b.1G=a.1G;17 b};11 D=14(a){11 b=[];13(1u a=="2j"){a=R.32(a)}11 x=0,y=0,2A=0;13(a[0][0]=="M"){x=+a[0][1];y=+a[0][2];2A++;b[0]=a[0]}1n(11 i=2A,1q=a.19;i&lt;1q;i++){b[i]=[];13(a[i][0]!=(a[i][0]+"").33()){b[i][0]=(a[i][0]+"").33();2k(b[i][0]){1k"A":b[i][1]=a[i][1];b[i][2]=a[i][2];b[i][3]=0;b[i][4]=a[i][4];b[i][5]=a[i][5];b[i][6]=+(a[i][6]+x).1L(3);b[i][7]=+(a[i][7]+y).1L(3);1m;1k"V":b[i][1]=+a[i][1]+y;1m;2S:1n(11 j=1,21=a[i].19;j&lt;21;j++){b[i][j]=+a[i][j]+((j%2)?x:y)}}}1o{b[i]=a[i]}2k(b[i][0]){1k"Z":1m;1k"H":x=b[i][1];1m;1k"V":y=b[i][1];1m;2S:x=b[i][b[i].19-2];y=b[i][b[i].19-1]}}b.1G=a.1G;17 b};11 E=14(e,f){11 g=[D(2x.32(e)),D(2x.32(f))],15=[{x:0,y:0,bx:0,by:0,X:0,Y:0},{x:0,y:0,bx:0,by:0,X:0,Y:0}],4n=14(a,d){13(!a){17["U"]}2k(a[0]){1k"M":d.X=a[1];d.Y=a[2];1m;1k"S":11 b=d.x+(d.x-(d.bx||d.x));11 c=d.y+(d.y-(d.by||d.y));a=["C",b,c,a[1],a[2],a[3],a[4]];1m;1k"T":11 b=d.x+(d.x-(d.bx||d.x));11 c=d.y+(d.y-(d.by||d.y));a=["Q",b,c,a[1],a[2]];1m;1k"H":a=["L",a[1],d.y];1m;1k"V":a=["L",d.x,a[1]];1m;1k"Z":a=["L",d.X,d.Y];1m}17 a},4o=14(a,b,i){13(g[a][i][0]=="M"&amp;&amp;g[b][i][0]!="M"){g[b].2t(i,0,["M",15[b].x,15[b].y]);15[a].bx=g[a][i][g[a][i].19-4]||0;15[a].by=g[a][i][g[a][i].19-3]||0;15[a].x=g[a][i][g[a][i].19-2];15[a].y=g[a][i][g[a][i].19-1];17 1Q}1o 13(g[a][i][0]=="L"&amp;&amp;g[b][i][0]=="C"){g[a][i]=["C",15[a].x,15[a].y,g[a][i][1],g[a][i][2],g[a][i][1],g[a][i][2]]}1o 13(g[a][i][0]=="L"&amp;&amp;g[b][i][0]=="Q"){g[a][i]=["Q",g[a][i][1],g[a][i][2],g[a][i][1],g[a][i][2]]}1o 13(g[a][i][0]=="Q"&amp;&amp;g[b][i][0]=="C"){11 x=g[b][i][g[b][i].19-2];11 y=g[b][i][g[b][i].19-1];g[b].2t(i+1,0,["Q",x,y,x,y]);g[a].2t(i,0,["C",15[a].x,15[a].y,15[a].x,15[a].y,15[a].x,15[a].y]);i++;15[b].bx=g[b][i][g[b][i].19-4]||0;15[b].by=g[b][i][g[b][i].19-3]||0;15[b].x=g[b][i][g[b][i].19-2];15[b].y=g[b][i][g[b][i].19-1];17 1Q}1o 13(g[a][i][0]=="A"&amp;&amp;g[b][i][0]=="C"){11 x=g[b][i][g[b][i].19-2];11 y=g[b][i][g[b][i].19-1];g[b].2t(i+1,0,["A",0,0,g[a][i][3],g[a][i][4],g[a][i][5],x,y]);g[a].2t(i,0,["C",15[a].x,15[a].y,15[a].x,15[a].y,15[a].x,15[a].y]);i++;15[b].bx=g[b][i][g[b][i].19-4]||0;15[b].by=g[b][i][g[b][i].19-3]||0;15[b].x=g[b][i][g[b][i].19-2];15[b].y=g[b][i][g[b][i].19-1];17 1Q}1o 13(g[a][i][0]=="U"){g[a][i][0]=g[b][i][0];1n(11 j=1,21=g[b][i].19;j&lt;21;j++){g[a][i][j]=(j%2)?15[a].x:15[a].y}}17 2B};1n(11 i=0;i&lt;1b.30(g[0].19,g[1].19);i++){g[0][i]=4n(g[0][i],15[0]);g[1][i]=4n(g[1][i],15[1]);13(g[0][i][0]!=g[1][i][0]&amp;&amp;(4o(0,1,i)||4o(1,0,i))){52}15[0].bx=g[0][i][g[0][i].19-4]||0;15[0].by=g[0][i][g[0][i].19-3]||0;15[0].x=g[0][i][g[0][i].19-2];15[0].y=g[0][i][g[0][i].19-1];15[1].bx=g[1][i][g[1][i].19-4]||0;15[1].by=g[1][i][g[1][i].19-3]||0;15[1].x=g[1][i][g[1][i].19-2];15[1].y=g[1][i][g[1][i].19-1]}17 g};11 F=14(a){13(1u a=="2j"){a=a.26(/\\s*\\-\\s*/);11 b=a.4p();13(b.2z()=="v"){b=90}1o 13(b.2z()=="h"){b=0}1o{b=1c(b,10)}b=-b;11 c={3B:b,1v:"53",1B:[],1C:[0,0,1b.aN(b*1b.54/3Y).1L(3),1b.aO(b*1b.54/3Y).1L(3)]};11 e=1/(1b.30(1b.3C(c.1C[2]),1b.3C(c.1C[3]))||1);c.1C[2]*=e;c.1C[3]*=e;13(c.1C[2]&lt;0){c.1C[0]=-c.1C[2];c.1C[2]=0}13(c.1C[3]&lt;0){c.1C[1]=-c.1C[3];c.1C[3]=0}c.1C[0]=c.1C[0].1L(3);c.1C[1]=c.1C[1].1L(3);c.1C[2]=c.1C[2].1L(3);c.1C[3]=c.1C[3].1L(3);1n(11 i=0,1q=a.19;i&lt;1q;i++){11 f={};11 g=a[i].3T(/^([^:]*):?([\\d\\.]*)/);f.2l=A(g[1]).23;g[2]&amp;&amp;(f.2m=g[2]+"%");c.1B.1V(f)}1n(11 i=1,1q=c.1B.19-1;i&lt;1q;i++){13(!c.1B[i].2m){11 h=1c(c.1B[i-1].2m||0,10),34=2B;1n(11 j=i+1;j&lt;1q;j++){13(c.1B[j].2m){34=c.1B[j].2m;1m}}13(!34){34=2C;j=1q}34=1c(34,10);11 d=(34-h)/(j-i+1);1n(;i&lt;j;i++){h+=d;c.1B[i].2m=h+"%"}}}17 c}1o{17 a}};13(R.2f){11 G=14(g,h,j){11 k=1w.2b(j.27,"1l");k.1f("1x","1U");13(j.1r){j.1r.1t(k)}11 p=1W M(k,j);p.1h=1Q;p.1v="1l";p.1a={x:0,y:0,bx:0,by:0};p.3l=14(){9.1h=1Q;17 9};p.3Z=14(){9.1h=2B;17 9};p.4q=14(x,y){11 d=9.1h?"M":"m";d+=1c(x,10).1L(3)+" "+1c(y,10).1L(3)+" ";11 a=9[0].2T("d")||"";(a=="4h,0")&amp;&amp;(a="");9[0].1f("d",a+d);9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.15.1l=a+d;17 9};p.35=14(x,y){9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);11 d=9.1h?"L":"l";d+=1c(x,10).1L(3)+" "+1c(y,10).1L(3)+" ";11 a=9[0].2T("d")||"";9[0].1f("d",a+d);9.15.1l=a+d;17 9};p.4r=14(a,b,c,e,x,y){11 d=9.1h?"A":"a";d+=[1c(a,10).1L(3),1c(b,10).1L(3),0,c,e,1c(x,10).1L(3),1c(y,10).1L(3)].1K(" ");11 f=9[0].2T("d")||"";9[0].1f("d",f+d);9.1a.x=1c(x,10);9.1a.y=1c(y,10);9.15.1l=f+d;17 9};p.56=14(a,b,c){13(!c){17 9.35(a,b)}1o{11 p={};11 x=1c(a,10);11 y=1c(b,10);11 w=1c(c,10);11 d=9.1h?"C":"c";11 e=[+9.1a.x+w,+9.1a.y,x-w,y,x,y];1n(11 i=0,1q=e.19;i&lt;1q;i++){d+=e[i].1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+e[4];9.1a.y=(9.1h?0:9.1a.y)+e[5];9.1a.bx=e[2];9.1a.by=e[3];11 f=9[0].2T("d")||"";9[0].1f("d",f+d);9.15.1l=f+d;17 9}};p.1O=14(){11 p={},40=[0,1,2,3,"s",5,"c"];11 d=40[18.19];13(9.1h){d=d.33()}1n(11 i=0,1q=18.19;i&lt;1q;i++){d+=1c(18[i],10).1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+1c(18[18.19-2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[18.19-1],10);9.1a.bx=1c(18[18.19-4],10);9.1a.by=1c(18[18.19-3],10);11 a=9.1e.2T("d")||"";9.1e.1f("d",a+d);9.15.1l=a+d;17 9};p.41=14(){11 p={},40=[0,1,"t",3,"q"];11 d=40[18.19];13(9.1h){d=d.33()}1n(11 i=0,1q=18.19;i&lt;1q;i++){d+=1c(18[i],10).1L(3)+" "}9.1a.x=(9.1h?0:9.1a.x)+1c(18[18.19-2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[18.19-1],10);13(18.19!=2){9.1a.3m=1c(18[18.19-4],10);9.1a.3n=1c(18[18.19-3],10)}11 a=9.1e.2T("d")||"";9.1e.1f("d",a+d);9.15.1l=a+d;17 9};p.58=14(r,a){11 R=.59*r,2D=9.1h,o=9;13(2D){9.3Z();2D=14(){o.3l()}}1o{2D=14(){}}11 b={l:14(){17{u:14(){o.1O(-R,0,-r,-(r-R),-r,-r)},d:14(){o.1O(-R,0,-r,r-R,-r,r)}}},r:14(){17{u:14(){o.1O(R,0,r,-(r-R),r,-r)},d:14(){o.1O(R,0,r,r-R,r,r)}}},u:14(){17{r:14(){o.1O(0,-R,-(R-r),-r,r,-r)},l:14(){o.1O(0,-R,R-r,-r,-r,-r)}}},d:14(){17{r:14(){o.1O(0,R,-(R-r),r,r,r)},l:14(){o.1O(0,R,R-r,r,-r,r)}}}};b[a[0]]()[a[1]]();2D();17 o};p.4s=14(){11 a=9[0].2T("d")||"";9[0].1f("d",a+"Z ");9.15.1l=a+"Z ";17 9};13(h){p.15.1l=""+h;p.3l();v.3D(p,p.15.1l)}13(g){J(p,g)}17 p};11 H=14(o,a,b){a=F(a);11 c=1w.2b(b.27,(a.1v||"53")+"aP");c.2U="5a-2g-"+2x.4f++;13(a.1C&amp;&amp;a.1C.19){c.1f("aQ",a.1C[0]);c.1f("3E",a.1C[1]);c.1f("aR",a.1C[2]);c.1f("aS",a.1C[3])}b.3F.1t(c);11 d=1Q;1n(11 i=0,1q=a.1B.19;i&lt;1q;i++){11 e=1w.2b(b.27,"3o");13(a.1B[i].2m){d=2B}e.1f("2m",a.1B[i].2m?a.1B[i].2m:(i==0)?"0%":"2C%");e.1f("3o-2l",A(a.1B[i].2l).23||"#4g");c.1t(e)};13(d&amp;&amp;1u a.1B[1q-1].1p!="1N"){e.1f("3o-1p",a.1B[1q-1].1p)}o.1f("1x","36(#"+c.2U+")");o.1s.1p=1;o.1s.5b=1;o.1f("1p",1);o.1f("1x-1p",1)};11 I=14(o){13(o.3G){11 a=o.1e.37();o.3G.1f("aT","38("+[a.x,a.y].1K(",")+")")}};11 J=14(o,c){11 d={"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},4t=14(o,a){a=d[a.1G().2z()];13(a){11 b=o.15["1i-1d"]||"1",3j={1j:b,4u:b,3j:0}[o.15["1i-2Z"]||c["1i-2Z"]]||0,4v=[];1n(11 i=0,1q=a.19;i&lt;1q;i++){4v.1V(a[i]*b+((i%2)?1:-1)*3j)}a=4v.1K(",");o.1e.1f("1i-2J",a)}};1n(11 e 1E c){11 f=c[e];o.15[e]=f;2k(e){1k"1l":13(o.1v=="1l"){o.1e.1f("d","4h,0");v.3D(o,f)}1k"2h":1k"cx":1k"x":o.1e.1f(e,f);I(o);1m;1k"2i":1k"1J":1k"y":o.1e.1f(e,f);I(o);1m;1k"1d":o.1e.1f(e,f);1m;1k"1g":o.1e.1f(e,f);1m;1k"2I":13(o.1v=="2n"){o.1e.4w(2f.3H,"4x",f)}1m;1k"1i-1d":o.1e.1s.aU=f;o.1e.1f(e,f);13(o.15["1i-2J"]){4t(o,o.15["1i-2J"])}1m;1k"1i-2J":4t(o,f);1m;1k"2R":o.3I(f,1Q);1m;1k"2K":11 g=(f+"").26(u);o.38((+g[0]+1||2)-1,(+g[1]+1||2)-1);1m;1k"2H":11 g=(f+"").26(u);o.2H(+g[0]||1,+g[1]||+g[0]||1);1m;1k"1x":11 h=f.3T(/^36\\(([^\\)]+)\\)$/i);13(h){11 j=1w.2b(o.2f.27,"3G");11 k=1w.2b(o.2f.27,"2n");j.2U="5a-3G-"+2x.4f++;j.1f("x",0);j.1f("y",0);j.1f("aV","aW");k.1f("x",0);k.1f("y",0);k.4w(o.2f.3H,"4x",h[1]);j.1t(k);11 l=1w.3p("aX");l.1s.2V="39";l.1s.1P="-5c";l.1s.2c="-5c";l.aY=14(){j.1f("1d",9.4y);j.1f("1g",9.4z);k.1f("1d",9.4y);k.1f("1g",9.4z);1w.42.2u(9);v.3J()};1w.42.1t(l);l.2I=h[1];o.2f.3F.1t(j);o.1e.1s.1x="36(#"+j.2U+")";o.1e.1f("1x","36(#"+j.2U+")");o.3G=j;I(o);1m}43 c.2g;43 o.15.2g;13(1u o.15.1p!="1N"&amp;&amp;1u c.1p=="1N"){o.1e.1s.1p=o.15.1p;o.1e.1f("1p",o.15.1p)}13(1u o.15["1x-1p"]!="1N"&amp;&amp;1u c["1x-1p"]=="1N"){o.1e.1s.5b=o.15["1x-1p"];o.1e.1f("1x-1p",o.15["1x-1p"])}1k"1i":o.1e.1s[e]=A(f).23;o.1e.1f(e,A(f).23);1m;1k"2g":H(o.1e,f,o.2f);1m;1k"1p":1k"1x-1p":13(o.15.2g){11 m=1w.4A(o.1e.2T("1x").3W(/^36\\(#|\\)$/g,""));13(m){11 n=m.3a("3o");n[n.19-1].1f("3o-1p",f)}1m}2S:11 p=e.3W(/(\\-.)/g,14(w){17 w.2s(1).33()});o.1e.1s[p]=f;o.1e.1f(e,f);1m}}L(o,c)};11 K=1.2;11 L=14(a,b){13(a.1v!="1R"||!("1R"1E b||"1z"1E b||"1z-2G"1E b||"x"1E b)){17}11 c=a.1e.2d?31(1w.aZ.b0(a.1e.2d,"").b1("1z-2G"),10):10;11 d=0;13("1R"1E b){4k(a.1e.2d){a.1e.2u(a.1e.2d)}11 e=(b.1R+"").26("\\n");1n(11 i=0,1q=e.19;i&lt;1q;i++){11 f=1w.2b(a.2f.27,"5d");i&amp;&amp;f.1f("2N",c*K);i&amp;&amp;f.1f("x",a.15.x);f.1t(1w.b2(e[i]));a.1e.1t(f);d+=c*K}}1o{11 e=a.1e.3a("5d");1n(11 i=0,1q=e.19;i&lt;1q;i++){i&amp;&amp;e[i].1f("2N",c*K);i&amp;&amp;e[i].1f("x",a.15.x);d+=c*K}}d-=c*(K-1);11 g=d/2-c;13(g){a.1e.1f("y",a.15.y-g)}4B(14(){})};11 M=14(a,b){11 X=0,Y=0;9[0]=a;9.1e=a;9.2f=b;9.15=9.15||{};9.2E=[];9.1A={44:0,45:0,28:{2v:0,x:0,y:0},2O:1,2W:1}};M.1y.3I=14(a,b,c){13(a==24){17 9.1A.28.2v}11 d=9.37();a=a.1G().26(u);13(a.19-1){b=1c(a[1],10);c=1c(a[2],10)}a=1c(a[0],10);13(b!=24){9.1A.28.2v=a}1o{9.1A.28.2v+=a}13(c==24){b=24}b=b==24?d.x+d.1d/2:b;c=c==24?d.y+d.1g/2:c;13(9.1A.28.2v){9.2E[0]=("3I("+9.1A.28.2v+" "+b+" "+c+")")}1o{9.2E[0]=""}9.1e.1f("4C",9.2E.1K(" "));17 9};M.1y.5e=14(){9.1e.1s.46="1U";17 9};M.1y.5f=14(){9.1e.1s.46="5g";17 9};M.1y.3K=14(){9.1e.1F.2u(9.1e)};M.1y.37=14(){17 9.1e.37()};M.1y.1D=14(){13(18.19==1&amp;&amp;1u 18[0]=="2j"){13(18[0]=="2K"){17 9.38()}17 9.15[18[0]]}13(18.19==1&amp;&amp;18[0]5h 3b){11 a={};1n(11 j 1E 18[0]){a[18[0][j]]=9.15[18[0][j]]}17 a}13(18.19==2){11 b={};b[18[0]]=18[1];J(9,b)}1o 13(18.19==1&amp;&amp;1u 18[0]=="3k"){J(9,18[0])}17 9};M.1y.5i=14(){9.1e.1F.1t(9.1e);17 9};M.1y.5j=14(){13(9.1e.1F.2d!=9.1e){9.1e.1F.2F(9.1e,9.1e.1F.2d)}17 9};M.1y.5k=14(a){13(a.1e.47){a.1e.1F.2F(9.1e,a.1e.47)}1o{a.1e.1F.1t(9.1e)}17 9};M.1y.2F=14(a){a.1e.1F.2F(9.1e,a.1e);17 9};11 N=14(a,x,y,r){11 b=1w.2b(a.27,"3c");b.1f("cx",x);b.1f("1J",y);b.1f("r",r);b.1f("1x","1U");b.1f("1i","#22");13(a.1r){a.1r.1t(b)}11 c=1W M(b,a);c.15=c.15||{};c.15.cx=x;c.15.1J=y;c.15.r=r;c.15.1i="#22";c.1v="3c";17 c};11 O=14(a,x,y,w,h,r){11 b=1w.2b(a.27,"2o");b.1f("x",x);b.1f("y",y);b.1f("1d",w);b.1f("1g",h);13(r){b.1f("2h",r);b.1f("2i",r)}b.1f("1x","1U");b.1f("1i","#22");13(a.1r){a.1r.1t(b)}11 c=1W M(b,a);c.15=c.15||{};c.15.x=x;c.15.y=y;c.15.1d=w;c.15.1g=h;c.15.1i="#22";13(r){c.15.2h=c.15.2i=r}c.1v="2o";17 c};11 P=14(a,x,y,b,c){11 d=1w.2b(a.27,"3d");d.1f("cx",x);d.1f("1J",y);d.1f("2h",b);d.1f("2i",c);d.1f("1x","1U");d.1f("1i","#22");13(a.1r){a.1r.1t(d)}11 e=1W M(d,a);e.15=e.15||{};e.15.cx=x;e.15.1J=y;e.15.2h=b;e.15.2i=c;e.15.1i="#22";e.1v="3d";17 e};11 Q=14(a,b,x,y,w,h){11 c=1w.2b(a.27,"2n");c.1f("x",x);c.1f("y",y);c.1f("1d",w);c.1f("1g",h);c.1f("b3","1U");c.4w(a.3H,"4x",b);13(a.1r){a.1r.1t(c)}11 d=1W M(c,a);d.15=d.15||{};d.15.x=x;d.15.y=y;d.15.1d=w;d.15.1g=h;d.1v="2n";17 d};11 S=14(a,x,y,b){11 c=1w.2b(a.27,"1R");c.1f("x",x);c.1f("y",y);c.1f("1R-b4","b5");13(a.1r){a.1r.1t(c)}11 d=1W M(c,a);d.15=d.15||{};d.15.x=x;d.15.y=y;d.1v="1R";J(d,{1z:z.1z,1i:"1U",1x:"#22",1R:b});17 d};11 T=14(a){11 b=1w.2b(a.27,"g");13(a.1r){a.1r.1t(b)}11 i=1W M(b,a);1n(11 f 1E a){13(f[0]!="1A"&amp;&amp;1u a[f]=="14"){i[f]=(14(f){17 14(){11 e=a[f].2e(a,18);b.1t(e[0]);17 e}})(f)}}i.1v="2P";17 i};11 U=14(a,b){9.1d=a||9.1d;9.1g=b||9.1g;9.1r.1f("1d",9.1d);9.1r.1f("1g",9.1g);17 9};11 V=14(){13(1u 18[0]=="2j"){11 a=1w.4A(18[0]);11 b=18[1];11 c=18[2]}13(1u 18[0]=="3k"){11 a=18[0];11 b=18[1];11 c=18[2]}13(1u 18[0]=="1T"){11 a=1,x=18[0],y=18[1],b=18[2],c=18[3]}13(!a){5l 1W 5m("4e 5n 5o 5p.");}v.1r=1w.2b(v.27,"2f");v.1r.1f("1d",b||5q);v.1d=b||5q;v.1r.1f("1g",c||5r);v.1g=c||5r;13(a==1){1w.42.1t(v.1r);v.1r.1s.2V="39";v.1r.1s.2c=x+"1H";v.1r.1s.1P=y+"1H"}1o{13(a.2d){a.2F(v.1r,a.2d)}1o{a.1t(v.1r)}}a={1r:v.1r,4D:14(){4k(9.1r.2d){9.1r.2u(9.1r.2d)}9.3F=1w.2b(v.27,"3F");9.1r.1t(9.3F)}};1n(11 d 1E v){13(d!="b6"){a[d]=v[d]}}1n(11 d 1E R.3w){13(!a[d]){a[d]=R.3w[d]}}a.4D();17 a};v.3K=14(){9.1r.1F.2u(9.1r)};v.27="5s://5t.5u.5v/b7/2f";v.3H="5s://5t.5u.5v/b8/3H";v.3J=14(){13(b9.bd=="be bf, bg."){11 a=9.2o(-9.1d,-9.1g,9.1d*3,9.1g*3).1D({1i:"1U"});4B(14(){a.3K()},0)}}}13(R.2a){G=14(i,j,l){11 g=Z("2P"),3q=g.1s;3q.2V="39";3q.2c=0;3q.1P=0;3q.1d=l.1d+"1H";3q.1g=l.1g+"1H";11 m=Z("2w"),3r=m.1s;3r.1d=l.1d+"1H";3r.1g=l.1g+"1H";m.1l="";13(i["48"]){m.bh="3e "+i["48"]}m.3s=9.3s;m.3L=9.3L;g.1t(m);l.1r.1t(g);11 p=1W M(m,g,l);p.1h=1Q;p.1v="1l";p.1l=[];p.1a={x:0,y:0,bx:0,by:0,1h:1Q};p.2Q="";p.3l=14(){9.1h=1Q;17 9};p.3Z=14(){9.1h=2B;17 9};p.4q=14(x,y){11 d=9.1h?"m":"t";d+=1b.1j(1c(x,10))+" "+1b.1j(1c(y,10));9.1e.1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"M":"m")+[x,y];17 9};p.35=14(x,y){11 d=9.1h?"l":"r";d+=1b.1j(1c(x,10))+" "+1b.1j(1c(y,10));9[0].1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(x,10);9.1a.y=(9.1h?0:9.1a.y)+1c(y,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"L":"l")+[x,y];17 9};p.4r=14(a,b,c,e,f,g){f=(9.1h?0:9.1a.x)+f;g=(9.1h?0:9.1a.y)+g;11 h=9.1a.x,3E=9.1a.y,x=(h-f)/2,y=(3E-g)/2,k=(c==e?-1:1)*1b.bi(1b.3C(a*a*b*b-a*a*y*y-b*b*x*x)/(a*a*y*y+b*b*x*x)),cx=k*a*y/b+(h+f)/2,1J=k*-b*x/a+(3E+g)/2,d=e?(9.1h?"bj":"bk"):(9.1h?"at":"ar"),2c=1b.1j(cx-a),1P=1b.1j(1J-b);d+=[2c,1P,1b.1j(2c+a*2),1b.1j(1P+b*2),1b.1j(h),1b.1j(3E),1b.1j(1c(f,10)),1b.1j(1c(g,10))].1K(", ");9.1e.1l=9.2Q+=d;9.1a.x=(9.1h?0:9.1a.x)+1c(f,10);9.1a.y=(9.1h?0:9.1a.y)+1c(g,10);9.1a.1h=9.1h;9.15.1l+=(9.1h?"A":"a")+[a,b,0,c,e,f,g];17 9};p.56=14(a,b,c){13(!c){17 9.35(a,b)}1o{11 x=1b.1j(1b.1j(1c(a,10)*2C)/2C),y=1b.1j(1b.1j(1c(b,10)*2C)/2C),w=1b.1j(1b.1j(1c(c,10)*2C)/2C),d=9.1h?"c":"v",1D=[1b.1j(9.1a.x)+w,1b.1j(9.1a.y),x-w,y,x,y],5w=[9.1a.x+c,9.1a.y,a-c,b,a,b];d+=1D.1K(" ")+" ";9.1a.x=(9.1h?0:9.1a.x)+1D[4];9.1a.y=(9.1h?0:9.1a.y)+1D[5];9.1a.bx=1D[2];9.1a.by=1D[3];9.1e.1l=9.2Q+=d;9.15.1l+=(9.1h?"C":"c")+5w;17 9}};p.1O=14(){11 d=9.1h?"c":"v";13(18.19==6){9.1a.bx=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.by=(9.1h?0:9.1a.y)+1c(18[3],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[4],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[5],10);d+=[1b.1j(1c(18[0],10)),1b.1j(1c(18[1],10)),1b.1j(1c(18[2],10)),1b.1j(1c(18[3],10)),1b.1j(1c(18[4],10)),1b.1j(1c(18[5],10))].1K(" ")+" ";9.1a.1h=9.1h;9.15.1l+=(9.1h?"C":"c")+3b.1y.2t.2X(18,0,18.19)}13(18.19==4){11 a=9.1a.x*2-9.1a.bx;11 b=9.1a.y*2-9.1a.by;9.1a.bx=(9.1h?0:9.1a.x)+1c(18[0],10);9.1a.by=(9.1h?0:9.1a.y)+1c(18[1],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(a),1b.1j(b),1b.1j(1c(18[0],10)),1b.1j(1c(18[1],10)),1b.1j(1c(18[2],10)),1b.1j(1c(18[3],10))].1K(" ")+" ";9.15.1l+=(9.1h?"S":"s")+3b.1y.2t.2X(18,0,18.19)}9.1e.1l=9.2Q+=d;17 9};p.41=14(){11 d="bl";13(18.19==4){9.1a.3m=(9.1h?0:9.1a.x)+1c(18[0],10);9.1a.3n=(9.1h?0:9.1a.y)+1c(18[1],10);9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(9.1a.3m),1b.1j(9.1a.3n),1b.1j(9.1a.x),1b.1j(9.1a.y)].1K(" ")+" ";9.1a.1h=9.1h;9.15.1l+=(9.1h?"Q":"q")+3b.1y.2t.2X(18,0,18.19)}13(18.19==2){9.1a.3m=9.1a.x*2-9.1a.3m;9.1a.3n=9.1a.y*2-9.1a.3n;9.1a.x=(9.1h?0:9.1a.x)+1c(18[2],10);9.1a.y=(9.1h?0:9.1a.y)+1c(18[3],10);d+=[1b.1j(9.1a.3m),1b.1j(9.1a.3n),1b.1j(9.1a.x),1b.1j(9.1a.y)].1K(" ")+" ";9.15.1l+=(9.1h?"T":"t")+3b.1y.2t.2X(18,0,18.19)}9.1e.1l=9.2Q+=d;9.1l.1V({1v:"bm",bn:[].bo.2X(18,0),bp:9.1h});17 9};p.58=14(r,a){11 R=.59*r,2D=9.1h,o=9;13(2D){9.3Z();2D=14(){o.3l()}}1o{2D=14(){}}11 b={l:14(){17{u:14(){o.1O(-R,0,-r,-(r-R),-r,-r)},d:14(){o.1O(-R,0,-r,r-R,-r,r)}}},r:14(){17{u:14(){o.1O(R,0,r,-(r-R),r,-r)},d:14(){o.1O(R,0,r,r-R,r,r)}}},u:14(){17{r:14(){o.1O(0,-R,-(R-r),-r,r,-r)},l:14(){o.1O(0,-R,R-r,-r,-r,-r)}}},d:14(){17{r:14(){o.1O(0,R,-(R-r),r,r,r)},l:14(){o.1O(0,R,R-r,r,-r,r)}}}};b[a.5x(0)]()[a.5x(1)]();2D();17 o};p.4s=14(){9.1e.1l=(9.2Q+="x e");9.15.1l+="z";17 9};13(j){p.3l();p.15.1l="";v.3D(p,""+j)}J(p,i);13(i.2g){H(p,i.2g)}17 p};11 J=14(o,a){11 s=o.1e.1s,1I=o;o.15=o.15||{};1n(11 b 1E a){o.15[b]=a[b]}13(a.1l&amp;&amp;o.1v=="1l"){o.2Q="";o.1l=[];v.3D(o,a.1l)}13(a.2R!=24){o.3I(a.2R,1Q)}13(a.2K){11 c=(a.2K+"").26(u);o.38(c[0],c[1])}13(a.2H){11 c=(a.2H+"").26(u);o.2H(c[0],c[1])}13(o.1v=="2n"&amp;&amp;a.2I){o.1e.2I=a.2I}13(o.1v=="2n"&amp;&amp;a.1p){o.1e.49=" 5y:5z.5A.bq(1p="+(a.1p*2C)+")";o.1e.1s.4E=(o.1e.3M||"")+(o.1e.49||"")}a.1z&amp;&amp;(s.1z=a.1z);a["1z-3x"]&amp;&amp;(s.5B=a["1z-3x"]);a["1z-2G"]&amp;&amp;(s.5C=a["1z-2G"]);a["1z-3N"]&amp;&amp;(s.5D=a["1z-3N"]);a["1z-1s"]&amp;&amp;(s.5E=a["1z-1s"]);13(1u a.1p!="1N"||1u a["1i-1d"]!="1N"||1u a.1x!="1N"||1u a.1i!="1N"||a["1i-1d"]||a["1i-1p"]||a["1i-2J"]||a["1i-3z"]||a["1i-3y"]||a["1i-2Z"]){o=o.2w||o.1e;11 d=(o.3a("1x")&amp;&amp;o.3a("1x")[0])||Z("1x");13("1x-1p"1E a||"1p"1E a){d.1p=((+a["1x-1p"]+1||2)-1)*((+a.1p+1||2)-1)}13(a.1x){d.2p=1Q}13(1u d.2p=="1N"||a.1x=="1U"){d.2p=2B}13(d.2p&amp;&amp;a.1x){11 e=a.1x.3T(/^36\\(([^\\)]+)\\)$/i);13(e){d.2I=e[1];d.1v="br"}1o{d.2l=A(a.1x).23;d.2I="";d.1v="bt"}}o.1t(d);11 f=(o.3a("1i")&amp;&amp;o.3a("1i")[0])||Z("1i");13((a.1i&amp;&amp;a.1i!="1U")||a["1i-1d"]||1u a["1i-1p"]!="1N"||a["1i-2J"]||a["1i-3z"]||a["1i-3y"]||a["1i-2Z"]){f.2p=1Q}13(a.1i=="1U"||1u f.2p=="1N"||a.1i==0){f.2p=2B}13(f.2p&amp;&amp;a.1i){f.2l=A(a.1i).23}f.1p=((+a["1i-1p"]+1||2)-1)*((+a.1p+1||2)-1);a["1i-3y"]&amp;&amp;(f.bu=a["1i-3y"]||"5F");f.3z=a["1i-3z"]||8;a["1i-2Z"]&amp;&amp;(f.bv={3j:"bw",4u:"4u",1j:"1j"}[a["1i-2Z"]]||"5F");a["1i-1d"]&amp;&amp;(f.3N=(1c(a["1i-1d"],10)||1)*12/16);13(a["1i-2J"]){11 g={"-":"bz",".":"bA","-.":"bB","-..":"bC",". ":"bD","- ":"bE","--":"bF","- .":"bG","--.":"bH","--..":"bI"};f.bJ=g[a["1i-2J"]]||""}o.1t(f)}13(1I.1v=="1R"){11 h=1w.3p("bK"),s=h.1s;1I.15.1z&amp;&amp;(s.1z=1I.15.1z);1I.15["1z-3x"]&amp;&amp;(s.5B=1I.15["1z-3x"]);1I.15["1z-2G"]&amp;&amp;(s.5C=1I.15["1z-2G"]);1I.15["1z-3N"]&amp;&amp;(s.5D=1I.15["1z-3N"]);1I.15["1z-1s"]&amp;&amp;(s.5E=1I.15["1z-1s"]);1I.1e.1F.1t(h);h.bL=1I.1e.2j;1I.W=1I.15.w=h.4y;1I.H=1I.15.h=h.4z;1I.X=1I.15.x-1b.1j(1I.W/2);1I.Y=1I.15.y-1b.1j(1I.H/2);1I.1e.1F.2u(h)}};11 W=14(a,b,c,d){11 e=1b.1j(1b.bM((1c(c,10)-1c(a,10))/(1c(d,10)-1c(b,10)))*57.29)||0;13(!e&amp;&amp;1c(a,10)&lt;1c(b,10)){e=3Y}e-=3Y;13(e&lt;0){e+=5G}17 e};11 H=14(o,a){a=F(a);o.15=o.15||{};11 b=o.15;o.15.2g=a;o=o.2w||o[0];11 c=o.3a("1x");13(c.19){c=c[0]}1o{c=Z("1x")}13(a.1B.19){c.2p=1Q;c.bN="1U";c.1v=((a.1v+"").2z()=="5H")?"bO":"2g";13(1u a.1B[0].2l!="1N"){c.2l=A(a.1B[0].2l).23}13(1u a.1B[a.1B.19-1].2l!="1N"){c.bP=A(a.1B[a.1B.19-1].2l).23}11 d=[];1n(11 i=0,1q=a.1B.19;i&lt;1q;i++){13(a.1B[i].2m){d.1V(a.1B[i].2m+" "+A(a.1B[i].2l).23)}};11 e=1u a.1B[a.1B.19-1].1p=="1N"?(1u b.1p=="1N"?1:b.1p):a.1B[a.1B.19-1].1p;13(d.19){c.5I.5J=d.1K(",");e=1u b.1p=="1N"?1:b.1p}1o{c.5I.5J="0% "+c.2l}c.1p=e;13(1u a.3B!="1N"){c.3B=(-a.3B+bQ)%5G}1o 13(a.1C){c.3B=W.2e(24,a.1C)}13((a.1v+"").2z()=="5H"){c.bR="2C%";c.bS="0.5 0.5"}}};11 M=14(a,b,c){11 d=0,bT=0,bU=0,bV=1;9[0]=a;9.1e=a;9.X=0;9.Y=0;9.15={};9.1M=b;9.2a=c;9.1A={44:0,45:0,28:{2v:0},2O:1,2W:1}};M.1y.3I=14(a,b,c){13(a==24){17 9.1A.28.2v}a=a.1G().26(u);13(a.19-1){b=1c(a[1],10);c=1c(a[2],10)}a=1c(a[0],10);13(c==24){b=24}13(b!=24){9.1A.28.2v=a}1o{9.1A.28.2v+=a}9.1A.28.cx=b;9.1A.28.1J=c;9.3f(24,b,c);9.1M.1s.2R=9.1A.28.2v;17 9};M.1y.3f=14(a,b,c){11 d=9.1M.1s,3g=(9.2w&amp;&amp;9.2w.1s)||9.1e.1s;1n(11 i 1E a){9.15[i]=a[i]}b=b||9.1A.28.cx;c=c||9.1A.28.1J;11 e=9.15,x,y,w,h;2k(9.1v){1k"3c":x=e.cx-e.r;y=e.1J-e.r;w=h=e.r*2;1m;1k"3d":x=e.cx-e.2h;y=e.1J-e.2i;w=e.2h*2;h=e.2i*2;1m;1k"2o":1k"2n":x=e.x;y=e.y;w=e.1d||0;h=e.1g||0;1m;1k"1R":9.4F.v=["m",1b.1j(e.x),", ",1b.1j(e.y-2),"l",1b.1j(e.x)+1,", ",1b.1j(e.y-2)].1K("");x=e.x-1b.1j(9.W/2);y=e.y-9.H/2;w=9.W;h=9.H;1m;1k"1l":13(!9.15.1l){x=0;y=0;w=9.2a.1d;h=9.2a.1g}1o{11 f=B(9.15.1l),x=f.x;y=f.y;w=f.1d;h=f.1g}1m;2S:x=0;y=0;w=9.2a.1d;h=9.2a.1g;1m}b=(b==24)?x+w/2:b;c=(c==24)?y+h/2:c;11 g=b-9.2a.1d/2,1P=c-9.2a.1g/2;13(9.1v=="1l"||9.1v=="1R"){d.2c=g+"1H";d.1P=1P+"1H";9.X=9.1v=="1R"?x:-g;9.Y=9.1v=="1R"?y:-1P;9.W=w;9.H=h;3g.2c=-g+"1H";3g.1P=-1P+"1H"}1o{d.2c=g+"1H";d.1P=1P+"1H";9.X=x;9.Y=y;9.W=w;9.H=h;d.1d=9.2a.1d+"1H";d.1g=9.2a.1g+"1H";3g.2c=x-g+"1H";3g.1P=y-1P+"1H";3g.1d=w+"1H";3g.1g=h+"1H"}};M.1y.5e=14(){9.1M.1s.46="1U";17 9};M.1y.5f=14(){9.1M.1s.46="5g";17 9};M.1y.37=14(){17{x:9.X,y:9.Y,1d:9.W,1g:9.H}};M.1y.3K=14(){9[0].1F.2u(9[0]);9.1M.1F.2u(9.1M);9.2w&amp;&amp;9.2w.1F.2u(9.2w)};M.1y.1D=14(){13(18.19==1&amp;&amp;1u 18[0]=="2j"){13(18[0]=="2K"){17 9.38()}17 9.15[18[0]]}13(9.15&amp;&amp;18.19==1&amp;&amp;18[0]5h 3b){11 a={};1n(11 i=0,1q=18[0].19;i&lt;1q;i++){a[18[0][i]]=9.15[18[0][i]]};17 a}11 b;13(18.19==2){b={};b[18[0]]=18[1]}13(18.19==1&amp;&amp;1u 18[0]=="3k"){b=18[0]}13(b){13(b.2g){H(9,b.2g)}13(b.1R&amp;&amp;9.1v=="1R"){9.1e.2j=b.1R}13(b.2U){9.1e.2U=b.2U}J(9,b);9.3f(b)}17 9};M.1y.5i=14(){9.1M.1F.1t(9.1M);17 9};M.1y.5j=14(){13(9.1M.1F.2d!=9.1M){9.1M.1F.2F(9.1M,9.1M.1F.2d)}17 9};M.1y.5k=14(a){13(a.1M.47){a.1M.1F.2F(9.1M,a.1M.47)}1o{a.1M.1F.1t(9.1M)}17 9};M.1y.2F=14(a){a.1M.1F.2F(9.1M,a.1M);17 9};11 N=14(a,x,y,r){11 g=Z("2P");11 o=Z("5K");g.1t(o);a.1r.1t(g);11 b=1W M(o,g,a);b.1v="3c";J(b,{1i:"#22",1x:"1U"});b.15.cx=x;b.15.1J=y;b.15.r=r;b.3f({x:x-r,y:y-r,1d:r*2,1g:r*2});17 b};11 O=14(a,x,y,w,h,r){11 g=Z("2P");11 o=Z(r?"bW":"2o");13(r){o.bX=r/(1b.2M(w,h))}g.1t(o);a.1r.1t(g);11 b=1W M(o,g,a);b.1v="2o";J(b,{1i:"#22"});b.15.x=x;b.15.y=y;b.15.w=w;b.15.h=h;b.15.r=r;b.3f({x:x,y:y,1d:w,1g:h});17 b};11 P=14(a,x,y,b,c){11 g=Z("2P");11 o=Z("5K");g.1t(o);a.1r.1t(g);11 d=1W M(o,g,a);d.1v="3d";J(d,{1i:"#22"});d.15.cx=x;d.15.1J=y;d.15.2h=b;d.15.2i=c;d.3f({x:x-b,y:y-c,1d:b*2,1g:c*2});17 d};11 Q=14(a,b,x,y,w,h){11 g=Z("2P");11 o=Z("2n");o.2I=b;g.1t(o);a.1r.1t(g);11 c=1W M(o,g,a);c.1v="2n";c.15.x=x;c.15.y=y;c.15.w=w;c.15.h=h;c.3f({x:x,y:y,1d:w,1g:h});17 c};11 S=14(a,x,y,b){11 g=Z("2P"),3t=g.1s;11 c=Z("2w"),3r=c.1s;11 d=Z("1l"),bY=d.1s;d.v=["m",1b.1j(x),", ",1b.1j(y-2),"l",1b.1j(x)+1,", ",1b.1j(y-2)].1K("");d.bZ=1Q;3r.1d=a.1d;3r.1g=a.1g;3t.2V="39";3t.2c=0;3t.1P=0;3t.1d=a.1d;3t.1g=a.1g;11 o=Z("4F");o.2j=b;o.2p=1Q;o.3s=a.3s;o.3L=a.3L;c.1t(o);c.1t(d);g.1t(c);a.1r.1t(g);11 e=1W M(o,g,a);e.2w=c;e.4F=d;e.1v="1R";e.15.x=x;e.15.y=y;e.15.w=1;e.15.h=1;J(e,{1z:z.1z,1i:"1U",1x:"#22"});17 e};11 U=14(a,b){9.1d=a||9.1d;9.1g=b||9.1g;9.1r.1s.1d=9.1d+"1H";9.1r.1s.1g=9.1g+"1H";9.1r.1F.1s.5L="2o(0 "+9.1d+" "+9.1g+" 0)";9.1r.3s=9.1d+" "+9.1g;17 9};1w.c0().c1(".3e","c2:36(#2S#3P)");c3{13(!1w.5M.3e){1w.5M.c4("3e","5N:5O-5P-5Q:2a")}11 Z=14(a){17 1w.3p(\'&lt;3e:\'+a+\' 48="3e"&gt;\')}}c5(e){11 Z=14(a){17 1w.3p(\'&lt;\'+a+\' c6="5N:5O-5P.5Q:2a" 48="3e"&gt;\')}}11 V=14(){11 e,1d,1g;13(1u 18[0]=="2j"){e=1w.4A(18[0]);1d=18[1];1g=18[2]}13(1u 18[0]=="3k"){e=18[0];1d=18[1];1g=18[2]}13(1u 18[0]=="1T"){e=1;x=18[0];y=18[1];1d=18[2];1g=18[3]}13(!e){5l 1W 5m("3P 5n 5o 5p.");}11 c=1w.3p("5R"),d=1w.3p("5R"),r=v.1r=Z("2P"),cs=c.1s,3u=r.1s;v.1d=1d;v.1g=1g;1d=1d||"c7";1g=1g||"c8";cs.5L="2o(0 "+1d+"1H "+1g+"1H 0)";cs.1P="-5S";cs.2c="-5S";cs.2V="39";3u.2V="39";d.1s.2V="c9";3u.1d=1d;3u.1g=1g;r.3s=(/%$/.5T(1d)?1d:1c(1d,10))+" "+(/%$/.5T(1g)?1g:1c(1g,10));r.3L="0 0";11 b=Z("2o"),bs=b.1s;bs.2c=bs.1P=0;bs.1d=3u.1d;bs.1g=3u.1g;b.ca=b.cb="f";r.1t(b);c.1t(r);d.1t(c);13(e==1){1w.42.1t(d);cs.2V="39";cs.2c=x+"1H";cs.1P=y+"1H";cs.1d=1d;cs.1g=1g;e={1s:{1d:1d,1g:1g}}}1o{cs.1d=e.1s.1d=1d;cs.1g=e.1s.1g=1g;13(e.2d){e.2F(d,e.2d)}1o{e.1t(d)}}1n(11 f 1E v){e[f]=v[f]}1n(11 f 1E R.3w){13(!e[f]){e[f]=R.3w[f]}}e.4D=14(){11 a=[];1n(11 i=0,1q=r.4G.19;i&lt;1q;i++){13(r.4G[i]!=b){a.1V(r.4G[i])}}1n(i=0,1q=a.19;i&lt;1q;i++){r.2u(a[i])}};17 e};v.3K=14(){9.1r.1F.1F.1F.2u(9.1r.1F.1F)};v.3J=14(){}}11 ba=(14(){13(1w.5U){17 14(a,b,c,d){11 f=14(e){17 c.2X(d,e)};a.5U(b,f,2B);17 14(){a.cc(b,f,2B);17 1Q}}}1o 13(1w.4a){17 14(a,b,c,d){11 f=14(e){17 c.2X(d,e||3v.cd)};a.4a("2p"+b,f);11 g=14(){a.4H("2p"+b,f);17 1Q};13(b=="4R"){a.4a("5V",f);17 14(){a.4H("5V",f);17 g()}}1o 13(b=="4Q"){a.4a("5W",f);17 14(){a.4H("5W",f);17 g()}}17 g}}})();1n(11 i=1X.19;i--;){(14(b){M.1y[b]=14(a){13(1u a=="14"){9.1X=9.1X||{};9.1X[b]=9.1X[b]||{};9.1X[b][a]=9.1X[b][a]||[];9.1X[b][a].1V(ba(9.2w||9.1e,b,a,9))}17 9};M.1y["ce"+b]=14(a){9.1X&amp;&amp;9.1X[b]&amp;&amp;9.1X[b][a]&amp;&amp;9.1X[b][a].19&amp;&amp;9.1X[b][a].4p()()&amp;&amp;!9.1X[b][a].19&amp;&amp;43 9.1X[b][a]}})(1X[i])}v.3c=14(x,y,r){17 N(9,x,y,r)};v.2o=14(x,y,w,h,r){17 O(9,x,y,w,h,r)};v.3d=14(x,y,a,b){17 P(9,x,y,a,b)};v.1l=14(a,b){17 G(a,b,9)};v.2n=14(a,x,y,w,h){17 Q(9,a,x,y,w,h)};v.1R=14(x,y,a){17 S(9,x,y,a)};v.2P=14(){17 9};v.cf=14(x,y,w,h,a,b,c){c=c||"#22";11 d=["M",x,y,"L",x+w,y,x+w,y+h,x,y+h,x,y],4I=h/b,4J=w/a;1n(11 i=1;i&lt;b;i++){d=d.4l(["M",x,y+i*4I,"L",x+w,y+i*4I])}1n(11 i=1;i&lt;a;i++){d=d.4l(["M",x+i*4J,y,"L",x+i*4J,y+h])}17 9.1l({1i:c,"1i-1d":1},d.1K(","))};v.3D=14(p,g){11 h={M:14(x,y){9.4q(x,y)},C:14(a,b,c,d,e,f){9.1O(a,b,c,d,e,f)},Q:14(a,b,c,d){9.41(a,b,c,d)},T:14(x,y){9.41(x,y)},S:14(a,b,c,d){p.1O(a,b,c,d)},L:14(x,y){p.35(x,y)},H:14(x){9.35(x,9.1a.y)},V:14(y){9.35(9.1a.x,y)},A:14(a,b,c,d,e,x,y){9.4r(a,b,d,e,x,y)},Z:14(){9.4s()}};g=D(g);1n(11 i=0,1q=g.19;i&lt;1q;i++){11 b=g[i].4p();h[b].2e(p,g[i])}};v.3O=14(a){17 1W bb(a)};v.cg=U;M.1y.3o=14(){4K(9.4b)};M.1y.2H=14(x,y){13(x==1N&amp;&amp;y==1N){17{x:9.1A.2O,y:9.1A.2W}}y=y||x;ch(y)&amp;&amp;(y=x);11 a,2N,cx,1J;13(x!=0){11 b=1b.1j(x/1b.3C(x)),2q=1b.1j(y/1b.3C(y)),s=9.1e.1s;a=9.1D("x");2N=9.1D("y");cx=9.1D("cx");1J=9.1D("1J");13(b!=1||2q!=1){13(9.2E){9.2E[2]="2H("+[b,2q]+")";9.1e.1f("4C",9.2E.1K(" "));a=(b&lt;0)?-9.1D("x")-9.15.1d*x*b/9.1A.2O:9.1D("x");2N=(2q&lt;0)?-9.1D("y")-9.15.1g*y*2q/9.1A.2W:9.1D("y");cx=9.1D("cx")*b;1J=9.1D("1J")*2q}1o{9.1e.3M=" 5y:5z.5A.ci(cj="+b+", ck=0, cl=0, cm="+2q+", cn=0, co=0, cp=\'cq cr\', ct=\'cu\')";s.4E=(9.1e.3M||"")+(9.1e.49||"")}}1o{13(9.2E){9.2E[2]="";9.1e.1f("4C",9.2E.1K(" "))}1o{9.1e.3M="";s.4E=(9.1e.3M||"")+(9.1e.49||"")}}2k(9.1v){1k"2o":1k"2n":9.1D({1d:9.15.1d*x*b/9.1A.2O,1g:9.15.1g*y*2q/9.1A.2W,x:a,y:2N});1m;1k"3c":1k"3d":9.1D({2h:9.15.2h*x*b/9.1A.2O,2i:9.15.2i*y*2q/9.1A.2W,r:9.15.r*x*2q/9.1A.2O,cx:cx,1J:1J});1m;1k"1l":11 c=C(2x.32(9.1D("1l"))),4L=1Q,3h=B(9.15.1l),a=-3h.1d*(x-1)/2,2N=-3h.1g*(y-1)/2;1n(11 i=0,1q=c.19;i&lt;1q;i++){13(c[i][0].33()=="M"&amp;&amp;4L){52}1o{4L=2B}13(c[i][0].33()=="A"){c[i][c[i].19-2]*=x*b;c[i][c[i].19-1]*=y*2q}1o{1n(11 j=1,21=c[i].19;j&lt;21;j++){c[i][j]*=(j%2)?x*b/9.1A.2O:y*2q/9.1A.2W}}}11 d=B(c),a=3h.x+3h.1d/2-d.x-d.1d/2,2N=3h.y+3h.1g/2-d.y-d.1g/2;c=C(c);c[0][1]+=a;c[0][2]+=2N;9.1D({1l:c.1K(" ")})}}9.1A.2O=x;9.1A.2W=y;17 9};M.1y.cv=14(c,d,e){4K(9.4b);11 f={},2Y={},1S={},t={x:0,y:0};1n(11 g 1E c){13(g 1E 3Q){f[g]=9.1D(g);13(1u f[g]=="1N"){f[g]=z[g]}2Y[g]=c[g];2k(3Q[g]){1k"1T":1S[g]=(2Y[g]-f[g])/d;1m;1k"3R":f[g]=A(f[g]);11 h=A(2Y[g]);1S[g]={r:(h.r-f[g].r)/d,g:(h.g-f[g].g)/d,b:(h.b-f[g].b)/d};1m;1k"1l":11 k=E(f[g],2Y[g]);f[g]=k[0];2Y[g]=k[1];1S[g]=[];1n(11 i=0,1q=f[g].19;i&lt;1q;i++){1S[g][i]=[0];1n(11 j=1,21=f[g][i].19;j&lt;21;j++){1S[g][i][j]=(2Y[g][i][j]-f[g][i][j])/d}}1m;1k"3A":11 l=c[g].1G().26(u),4c=f[g].1G().26(u);13(g=="2K"){f[g]=[0,0];1S[g]=[l[0]/d,l[1]/d]}1o 13(g=="2R"){f[g]=(4c[1]==l[1]&amp;&amp;4c[2]==l[2])?4c:[0,l[1],l[2]];1S[g]=[(l[0]-f[g][0])/d,0,0]}1o{f[g]=(f[g]+"").26(u);1S[g]=[(l[0]-f[g][0])/d,(l[1]-f[g][0])/d]}2Y[g]=l}}}11 m=1W 5X(),4d=0,3i=9;(14(){11 a=(1W 5X()).5Y()-m.5Y(),3O={},25;13(a&lt;d){1n(11 b 1E f){2k(3Q[b]){1k"1T":25=+f[b]+a*1S[b];1m;1k"3R":25="4j("+[1b.1j(f[b].r+a*1S[b].r),1b.1j(f[b].g+a*1S[b].g),1b.1j(f[b].b+a*1S[b].b)].1K(",")+")";1m;1k"1l":25=[];1n(11 i=0,1q=f[b].19;i&lt;1q;i++){25[i]=[f[b][i][0]];1n(11 j=1,21=f[b][i].19;j&lt;21;j++){25[i][j]=f[b][i][j]+a*1S[b][i][j]}25[i]=25[i].1K(" ")}25=25.1K(" ");1m;1k"3A":13(b=="2K"){11 x=1S[b][0]*(a-4d),y=1S[b][1]*(a-4d);t.x+=x;t.y+=y;25=[x,y].1K(" ")}1o 13(b=="2R"){25=+f[b][0]+a*1S[b][0];f[b][1]&amp;&amp;(25+=","+f[b][1]+","+f[b][2])}1o{25=[+f[b][0]+a*1S[b][0],+f[b][1]+a*1S[b][1]].1K(" ")}1m}13(b=="1z-2G"){3O[b]=25+"1H"}1o{3O[b]=25}}3i.1D(3O);3i.4b=4B(18.3U,0);v.3J()}1o{(t.x||t.y)&amp;&amp;3i.38(-t.x,-t.y);3i.1D(c);4K(3i.4b);v.3J();(1u e=="14")&amp;&amp;e.2X(3i)}4d=a})();17 9};M.1y.38=14(x,y){13(x==24){17{x:9.1A.44,y:9.1A.45}}9.1A.44+=+x;9.1A.45+=+y;2k(9.1v){1k"3c":1k"3d":9.1D({cx:9.15.cx+x,1J:9.15.1J+y});1m;1k"2o":1k"2n":1k"1R":9.1D({x:9.15.x+ +x,y:9.15.y+ +y});1m;1k"1l":11 a=C(9.15.1l);a[0][1]+=+x;a[0][2]+=+y;9.1D({1l:a.1K(" ")});1m}17 9};11 bb=14(a){9.2r=[];9.19=(a&amp;&amp;a.19)||0;13(a&amp;&amp;a.4M==3b){1n(11 i=a.19;i--;){13(a[i].4M==M){9.2r[9.2r.19]=a[i]}}}};bb.1y.1V=14(a){13(a&amp;&amp;a.4M==M){11 b=9.2r.19;9.2r[b]=a;9[b]=a;9.19++}17 9};bb.1y.cw=14(a){11 b=9.2r.2t(a,1)[0];1n(11 j=a,21=9.2r.19;j&lt;21;j++){9[j]=9[j+1]}43 9[21+1];9.19--;17 b};1n(11 bc 1E M.1y){bb.1y[bc]=(14(a){17 14(){1n(11 i=9.2r.19;i--;){9.2r[i][a].2e(9.2r[i],18)}17 9}})(bc)}bb.1y.37=14(){11 x=[],y=[],w=[],h=[];1n(11 i=9.2r.19;i--;){11 a=9.2r[i].37();x.1V(a.x);y.1V(a.y);w.1V(a.x+a.1d);h.1V(a.y+a.1g)}x=1b.2M.2e(1b,x);y=1b.2M.2e(1b,y);17{x:x,y:y,1d:1b.30.2e(1b,w)-x,1g:1b.30.2e(1b,h)-y}};17 R})();',62,778,'|||||||||this||||||||||||||||||||||||||||||||||||||||||||||||||||||var||if|function|attrs||return|arguments|length|last|Math|parseFloat|width|node|setAttribute|height|isAbsolute|stroke|round|case|path|break|for|else|opacity|ii|canvas|style|appendChild|typeof|type|doc|fill|prototype|font|_|dots|vector|attr|in|parentNode|toString|px|res|cy|join|toFixed|Group|undefined|curveTo|top|true|text|diff|number|none|push|new|events|green|blue||jj|000|hex|null|now|split|svgns|rt||vml|createElementNS|left|firstChild|apply|svg|gradient|rx|ry|string|switch|color|offset|image|rect|on|diry|items|substring|splice|removeChild|deg|shape|Raphael|hue|toLowerCase|start|false|100|rollback|transformations|insertBefore|size|scale|src|dasharray|translation|255|min|dy|sx|group|Path|rotation|default|getAttribute|id|position|sy|call|to|linecap|max|parseInt|parsePathString|toUpperCase|end|lineTo|url|getBBox|translate|absolute|getElementsByTagName|Array|circle|ellipse|rvml|setBox|os|dim|that|butt|object|absolutely|qx|qy|stop|createElement|gl|ol|coordsize|gs|rs|win|fn|family|linejoin|miterlimit|csv|angle|abs|pathfinder|y1|defs|pattern|xlink|rotate|safari|remove|coordorigin|filterMatrix|weight|set|VML|availableAnimAttrs|colour|hsb2rgb|match|callee|data|replace|name|180|relatively|command|qcurveTo|body|delete|tx|ty|display|nextSibling|class|filterOpacity|attachEvent|animation_in_progress|from2|prev|SVG|idGenerator|fff|M0|saturation|rgb|while|concat|miny|processPath|edgeCases|shift|moveTo|arcTo|andClose|addDashes|square|dashes|setAttributeNS|href|offsetWidth|offsetHeight|getElementById|setTimeout|transform|clear|filter|textpath|childNodes|detachEvent|rowHeight|columnWidth|clearTimeout|skip|constructor|document|version|Arial|mouseout|mouseover|brightness|0ff|f0f|lightsalmon|ffa07a|mediumslateblue|7b68ee|hsb|getColor|ig|continue|linear|PI||cplineTo||addRoundedCorner|5522|raphael|fillOpacity|9999em|tspan|hide|show|block|instanceof|toFront|toBack|insertAfter|throw|Error|container|not|found|320|200|http|www|w3|org|svgattr|charAt|progid|DXImageTransform|Microsoft|fontFamily|fontSize|fontWeight|fontStyle|miter|360|radial|colors|value|oval|clip|namespaces|urn|schemas|microsoft|com|div|2px|test|addEventListener|onmouseenter|onmouseleave|Date|getTime|window|SVGAngle|10px|click|dblclick|mousedown|mousemove|mouseup|Your|browser|doesn|support|nYou|are|running|unescape|Rapha|EBl|setWindow|floor|rgb2hsb|aliceblue|f0f8ff|amethyst|96c|antiquewhite|faebd7|aqua|aquamarine|7fffd4|azure|f0ffff|beige|f5f5dc|bisque|ffe4c4|black|blanchedalmond|ffebcd|00f|blueviolet|8a2be2|brown|a52a2a|burlywood|deb887|cadetblue|5f9ea0|chartreuse|7fff00|chocolate|d2691e|coral|ff7f50|cornflowerblue|6495ed|cornsilk|fff8dc|crimson|dc143c|cyan|darkblue|00008b|darkcyan|008b8b|darkgoldenrod|b8860b|darkgray||a9a9a9|darkgreen|006400|darkkhaki|bdb76b|darkmagenta|8b008b|darkolivegreen|556b2f|darkorange|ff8c00|darkorchid|9932cc|darkred|8b0000|darksalmon|e9967a|darkseagreen|8fbc8f|darkslateblue|483d8b|darkslategray|2f4f4f|darkturquoise|00ced1|darkviolet|9400d3|deeppink|ff1493|deepskyblue|00bfff|dimgray|696969|dodgerblue|1e90ff|firebrick|b22222|floralwhite|fffaf0|forestgreen|228b22|fuchsia|gainsboro|dcdcdc|ghostwhite|f8f8ff|gold|ffd700|goldenrod|daa520|gray|808080|008000|greenyellow|adff2f|honeydew|f0fff0|hotpink|ff69b4|indianred|cd5c5c|indigo|4b0082|ivory|fffff0|khaki|f0e68c|lavender|e6e6fa|lavenderblush|fff0f5|lawngreen|7cfc00|lemonchiffon|fffacd|lightblue|add8e6|lightcoral|f08080|lightcyan|e0ffff|lightgoldenrodyellow|fafad2|lightgreen|90ee90|lightgrey|d3d3d3|lightpink|ffb6c1|lightseagreen|20b2aa|lightskyblue|87cefa|lightslategray|789|lightsteelblue|b0c4de|lightyellow|ffffe0|lime|0f0|limegreen|32cd32|linen|faf0e6|magenta|maroon|800000|mediumaquamarine|66cdaa|mediumblue|0000cd|mediumorchid|ba55d3|mediumpurple|9370db|mediumseagreen|3cb371||mediumspringgreen|00fa9a|mediumturquoise|48d1cc|mediumvioletred|c71585|midnightblue|191970|mintcream|f5fffa|mistyrose|ffe4e1|moccasin|ffe4b5|navajowhite|ffdead|navy|000080|oldlace|fdf5e6|olive|808000|olivedrab|6b8e23|orange|ffa500|orangered|ff4500|orchid|da70d6|palegoldenrod|eee8aa|palegreen|98fb98|paleturquoise|afeeee|palevioletred|db7093|papayawhip|ffefd5|peachpuff|ffdab9|peru|cd853f|pink|ffc0cb|plum|dda0dd|powderblue|b0e0e6|purple|800080|red|f00|rosybrown|bc8f8f|royalblue|4169e1|saddlebrown|8b4513|salmon|fa8072|sandybrown|f4a460|seagreen|2e8b57|seashell|fff5ee|sienna|a0522d|silver|c0c0c0|skyblue|87ceeb|slateblue|6a5acd|slategray|708090|snow|fffafa|springgreen|00ff7f|steelblue|4682b4|tan|d2b48c|teal|008080||thistle||d8bfd8|tomato|ff6347|turquoise|40e0d0|violet|ee82ee|wheat|f5deb3|white|whitesmoke|f5f5f5|yellow|ff0|yellowgreen|9acd32|075|reset|achlmqstvz|cos|sin|Gradient|x1|x2|y2|patternTransform|strokeWidth|patternUnits|userSpaceOnUse|img|onload|defaultView|getComputedStyle|getPropertyValue|createTextNode|preserveAspectRatio|anchor|middle|create|2000|1999|navigator||||vendor|Apple|Computer|Inc|className|sqrt|wa|wr|qb|qcurve|arg|slice|pos|Alpha|tile||solid|joinstyle|endcap|flat|||shortdash|shortdot|shortdashdot|shortdashdotdot|dot|dash|longdash|dashdot|longdashdot|longdashdotdot|dashstyle|span|innerText|atan|method|gradientTitle|color2|270|focus|focusposition|RotX|RotY|Scale|roundrect|arcsize|ps|textpathok|createStyleSheet|addRule|behavior|try|add|catch|xmlns|320px|200px|relative|filled|stroked|removeEventListener|event|un|drawGrid|setSize|isNaN|Matrix|M11|M12|M21|M22|Dx|Dy|sizingmethod|auto|expand||filtertype|bilinear|animate|pull|'.split('|'),0,{}))//--&gt;&lt;/script&gt;&lt;div class='aqscontainer'&gt;&lt;div id="board_svgLEPFFP"&gt;&lt;/div&gt;                &lt;div class="shadow1table"&gt;                        &lt;div class="shadow2"&gt;                                &lt;table id="game_boardLEPFFP" cellpadding="0" cellspacing="0"&gt;                                        &lt;tr&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;td id="topaLEPFFP" class="lettertop"&gt;A&lt;/td&gt;                                        &lt;td id="topbLEPFFP" class="lettertop"&gt;B&lt;/td&gt;                                        &lt;td id="topcLEPFFP" class="lettertop"&gt;C&lt;/td&gt;                                        &lt;td id="topdLEPFFP" class="lettertop"&gt;D&lt;/td&gt;                                        &lt;td id="topeLEPFFP" class="lettertop"&gt;E&lt;/td&gt;                                        &lt;td id="topfLEPFFP" class="lettertop"&gt;F&lt;/td&gt;                                        &lt;td id="topgLEPFFP" class="lettertop"&gt;G&lt;/td&gt;                                        &lt;td id="tophLEPFFP" class="lettertop"&gt;H&lt;/td&gt;                                        &lt;td class="corner"&gt;&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left8LEPFFP" class="numberleft"&gt;8&lt;/td&gt;                                        &lt;td class="white" id="square11LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square21LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square31LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square41LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square51LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square61LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square71LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square81LEPFFP"&gt;&lt;/td&gt;                                        &lt;td id="right8LEPFFP" class="numberright"&gt;8&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left7LEPFFP" class="numberleft"&gt;7&lt;/td&gt;                                        &lt;td class="black" id="square12LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square22LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square32LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square42LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square52LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square62LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square72LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square82LEPFFP"&gt;&lt;/td&gt;                                        &lt;td id="right7LEPFFP" class="numberright"&gt;7&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left6LEPFFP" class="numberleft"&gt;6&lt;/td&gt;                                        &lt;td class="white" id="square13LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square23LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square33LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square43LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square53LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square63LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square73LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square83LEPFFP"&gt;&lt;/td&gt;                                        &lt;td id="right6LEPFFP" class="numberright"&gt;6&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left5LEPFFP" class="numberleft"&gt;5&lt;/td&gt;                                        &lt;td class="black" id="square14LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square24LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square34LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square44LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square54LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square64LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square74LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square84LEPFFP"&gt;&lt;/td&gt;                                        &lt;td id="right5LEPFFP" class="numberright"&gt;5&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left4LEPFFP" class="numberleft"&gt;4&lt;/td&gt;                                        &lt;td class="white" id="square15LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square25LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square35LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square45LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square55LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square65LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square75LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square85LEPFFP"&gt;&lt;/td&gt;                                        &lt;td id="right4LEPFFP" class="numberright"&gt;4&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left3LEPFFP" class="numberleft"&gt;3&lt;/td&gt;                                        &lt;td class="black" id="square16LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square26LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square36LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square46LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square56LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square66LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square76LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square86LEPFFP"&gt;&lt;/td&gt;                                        &lt;td id="right3LEPFFP" class="numberright"&gt;3&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;                                        &lt;td id="left2LEPFFP" class="numberleft"&gt;2&lt;/td&gt;                                        &lt;td class="white" id="square17LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square27LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square37LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square47LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square57LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square67LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="white" id="square77LEPFFP"&gt;&lt;/td&gt;                                        &lt;td class="black" id="square87LEPFFP"&gt;&lt;/td&gt;                                        &lt;td id="right2LEPFFP" class="numberright"&gt;2&lt;/td&gt;                                        &lt;/tr&gt;                                        &lt;tr&gt;         
