├── favicon.png ├── doc ├── feyn.pdf └── tex │ ├── feyn.pdf │ ├── makefile │ ├── feyn.tex │ ├── feyn.ps │ └── feyn.eps ├── feyn.jquery.json ├── LICENSE.txt ├── svg ├── favicon.svg └── muon.svg ├── README.md ├── mathjax.html ├── index.html └── js ├── jquery.feyn-1.0.1.min.js ├── jquery.feyn-1.0.1.js └── jquery-2.1.0.min.js /favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/photino/jquery-feyn/HEAD/favicon.png -------------------------------------------------------------------------------- /doc/feyn.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/photino/jquery-feyn/HEAD/doc/feyn.pdf -------------------------------------------------------------------------------- /doc/tex/feyn.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/photino/jquery-feyn/HEAD/doc/tex/feyn.pdf -------------------------------------------------------------------------------- /doc/tex/makefile: -------------------------------------------------------------------------------- 1 | 2 | feyn.pdf : feyn.eps 3 | epspdf feyn.eps 4 | rm -f *.log *.aux *.t1 *.mp *.dvi 5 | 6 | feyn.eps : feyn.dvi 7 | dvips feyn.dvi -E -o feyn.eps 8 | 9 | feyn.dvi : feyn.tex 10 | latex feyn.tex 11 | 12 | -------------------------------------------------------------------------------- /doc/tex/feyn.tex: -------------------------------------------------------------------------------- 1 | 2 | \documentclass{article} 3 | \usepackage{graphicx} 4 | 5 | \pagestyle{empty} 6 | 7 | \begin{document} 8 | \begin{figure} 9 | \centering 10 | \includegraphics[clip, trim=70pt 635pt 198pt 67pt]{feyn.ps} 11 | \end{figure} 12 | \end{document} 13 | 14 | -------------------------------------------------------------------------------- /feyn.jquery.json: -------------------------------------------------------------------------------- 1 | 2 | { "name": "feyn", 3 | "title": "jQuery.Feyn", 4 | "description": "jQuery plugin for drawing Feynman diagrams with SVG", 5 | "keywords": ["SVG", "draw", "Feynman", "diagrams"], 6 | "version": "1.0.1", 7 | "author": { 8 | "name": "Zan Pan", 9 | "url": "https://github.com/photino/" 10 | }, 11 | "maintainers": [{ 12 | "name": "Zan Pan", 13 | "email": "panzan89@gmail.com", 14 | "url": "http://www.renren.com/tachyon" 15 | }], 16 | "licenses": [{ 17 | "type": "MIT", 18 | "url": "http://photino.github.io/jquery-feyn/LICENSE.txt" 19 | }], 20 | "homepage": "http://photino.github.io/jquery-feyn/", 21 | "download": "http://photino.github.io/jquery-feyn/download.html", 22 | "docs": "http://photino.github.io/jquery-feyn/manual.html", 23 | "demo": "http://photino.github.io/jquery-feyn/demo.html", 24 | "bugs": "https://github.com/photino/jquery-feyn/issues", 25 | "dependencies": { 26 | "jquery": ">=1.3" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2013 by Zan Pan 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /svg/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Feynman diagram generated by jQuery.Feyn 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # jQuery.Feyn 2 | 3 | For complete documentation and examples, please visit the project page: 4 | . 5 | 6 | ## Overview 7 | 8 | jQuery.Feyn is a jQuery plugin to facilitate your drawing Feynman diagrams with 9 | Scalable Vector Graphics (SVG). The following list gives a quick overview of 10 | the most prominent features: 11 | 12 | - Automatic generation of clean SVG source code 13 | - Easy to use, easy to make fine adjustments 14 | - Predefined propagator styles, vertex types, and symbols 15 | - Support for typesetting labels and including external graphics 16 | - Lightweight, cross-browser, and fully documented 17 | 18 | jQuery.Feyn is released under the MIT license. 19 | 20 | ## Supported Browsers 21 | 22 | - Firefox 4+ 23 | - Chrome 7+ 24 | - Opera 11.6+ 25 | - Safari 5.1+ 26 | - IE 9+ 27 | 28 | A more detailed compatibility table for support of inline SVG in HTML5 can be 29 | found at [caniuse.com/svg-html5](http://caniuse.com/svg-html5). 30 | 31 | ## Basic Usage 32 | 33 | To use jQuery.Feyn, the first thing you should do is to load the scripts. 34 | Then you can configure your desired Feynman diagram such as 35 | 36 | 47 | 48 | The jQuery ID selector `$('#container')` can also be replaced by any other 49 | CSS selector that applies to a unique block-level element in your document, 50 | which serves as the container of jQuery.Feyn's SVG output. 51 | 52 | -------------------------------------------------------------------------------- /mathjax.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery.Feyn with MathJax 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 24 | 41 | 42 | 43 | 44 | 45 |
46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | jQuery.Feyn 7 | 8 | 9 | 10 | 11 | 12 | 13 | 76 | 77 | 78 | 79 | 80 |
81 |

jQuery.Feyn: Drawing Feynman Diagrams with SVG

82 |
83 | 84 |
85 |
86 |
87 |
88 | 89 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /svg/muon.svg: -------------------------------------------------------------------------------- 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 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /js/jquery.feyn-1.0.1.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery.Feyn v1.0.1 | (c) 2013, 2014 Zan Pan | MIT license */ 2 | !function(a){"use strict";a.fn.feyn=function(c){return this.each(function(){if(!a(this).data("feyn"))try{a(this).html(new b(this,c).output()),a(this).data("feyn",!0)}catch(d){a(this).html("JavaScript "+d.name+": "+d.message)}})};var b=function(c,d){b.counter=(b.counter||0)+1,b.prefix="feyn"+(b.counter>1?b.counter:"");var e=a.extend(!0,{xmlns:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",version:"1.1",x:0,y:0,width:200,height:200,title:"",description:"Feynman diagram generated by jQuery.Feyn",standalone:!1,selector:!1,grid:{show:!1,unit:20},color:"black",thickness:1.6,tension:1,ratio:1,clockwise:!1,incoming:{},outgoing:{},vertex:{},auxiliary:{},fermion:{arrow:!0},photon:{period:5,amplitude:5},scalar:{arrow:!1,dash:"5 5",offset:2},ghost:{arrow:!0,thickness:3,dotsep:8,offset:5},gluon:{width:15,height:15,factor:.75,percent:.6,scale:1.15},symbol:{},node:{show:!1,thickness:1,type:"dot",radius:3,fill:"white"},label:{family:"Georgia",size:15,face:"italic"},image:{},mathjax:!1,ajax:!1},d),f=Math.PI,g={fill:"none",color:e.color,thickness:e.thickness},h={fermion:{},photon:{},gluon:{},scalar:{dash:e.scalar.dash,offset:e.scalar.offset},ghost:{dash:"0.1 "+e.ghost.dotsep,offset:e.ghost.offset}};for(var i in h)h[i]=a.extend(!0,{},g,{color:e[i].color,thickness:e[i].thickness,linecap:"round"},h[i]);var j=a.extend({},e.incoming,e.outgoing,e.vertex,e.auxiliary);for(i in j)j[i]=j[i].replace(/\s/g,",").split(/,+/,2);var k={fermion:{},photon:{},scalar:{},ghost:{},gluon:{}};for(var l in k){k[l]=a.extend({},e[l]);for(i in k[l])if(i.match(/line|arc|loop/)){k[l][i]=k[l][i].replace(/\s/g,"").split(",");for(var m in k[l][i])k[l][i][m]=k[l][i][m].replace(/-+/g,"-").split("-")}else delete k[l][i]}var n={sty:{fill:e.label.fill||e.label.color||g.color,color:e.label.color||g.color,thickness:e.label.thickness||0,family:e.label.family,size:e.label.size,weight:e.label.weight,face:e.label.face,align:e.label.align||"middle"},pos:e.label};for(i in n.pos)n.sty[i]&&delete n.pos[i];var o={defs:[],body:[],tags:["path","line","rect","circle","ellipse","polygon","polyline","image","use"],attr:{xlink:"xmlns:xlink",href:"xlink:href",color:"stroke",thickness:"stroke-width",dash:"stroke-dasharray",linecap:"stroke-linecap",linejoin:"stroke-linejoin",offset:"stroke-dashoffset",family:"font-family",size:"font-size",face:"font-style",weight:"font-weight",align:"text-anchor"}},p=function(b,c,d,e){var f="";c=a.extend({},c,d);for(var g in c)f+=" "+(o.attr[g]||g)+'="'+c[g]+'"';return"<"+b+f+(o.tags.indexOf(b)>=0?"/>":">"+(b.match(/title|desc|tspan|body/)?"":"\n")+(e?e.replace(/")+"\n"},q=function(){for(var e,b="",c=0,d=arguments.length;d>c;c++)e=arguments[c],b+=" "+("number"!=typeof e?e:e.toFixed(3).replace(/(.\d*?)0+$/,"$1").replace(/\.$/,""));return a.trim(b).replace(/ ?, ?/g,",")},r=function(a,b,c,d){var e=c-a,f=d-b;return{angle:Math.atan2(f,e),distance:Math.sqrt(e*e+f*f)}},s=function(a,b,c){return"translate("+q(a,",",b)+")"+(c?" rotate("+q(180*c/f)+")":"")},t=function(a,b,c,d,e,f){var g=Math.atan2(d-b,c-a);return q(e*Math.cos(g)-f*Math.sin(g)+a,",",e*Math.sin(g)+f*Math.cos(g)+b)},u=function(a){return j[a]||a.replace(/\s/g,",").split(/,+/,2)},v=function(a){return e.selector?{id:b.prefix+"_"+a}:{}},w=function(a){return e.selector?{"class":a}:{}},x=function(b,c,d,f,g){var i=2*("ghost"==b?h.fermion.thickness:h[b].thickness);return e[b].arrow?p("polygon",a.extend({points:q("0,0",-i,",",1.25*i,1.5*i,",0",-i,",",-1.25*i)},{transform:s(c,d,f)}),v(g)):""},y=function(b,c,d){for(var e=["M"],f=Math.floor(d/c),g=d-c*f+.1,h=0;f>=h;h++)for(var k,i=0,j=b.length;j>i;i++)if(k=b[i],a.isArray(k)){if(!(f>h||k[0]=m;m++)k.push([g*(h*Math.cos(j*m+i)+.5),g*(h*Math.sin(j*m+i)-Math.sqrt(h*h-.25))]);for(var p,n=0,o=k.length-1;o>n;n++){p="photon"==b?c[n%2]:c;for(var s,q=0,r=p.length;r>q;q++)s=p[q],l.push(a.isArray(s)?t(k[n][0],k[n][1],k[n+1][0],k[n+1][1],s[0],s[1]):s)}return l.join(" ").replace(/\s[A-Z]$/,"")},A=function(b,c,d,g){for(var h=2*Math.asin(2*d/g),i=2*f/h,j=[],k=e[b].clockwise?-.5:.5,l=["M","gluon"==b?k+",0":"0,"+k],m=-.1,n=g;Math.floor(i)%4||i-Math.floor(i)>.1;m+=.001)g=(1+m)*n,h=2*Math.asin(2*d/g),i=2*f/h;for(var o=0;i>=o;o++)j.push([.5*g*(1-Math.cos(h*o)),.5*g*Math.sin(h*o)]);for(var r,p=0,q=j.length-1;q>p;p++){r="photon"==b?c[p%2]:c;for(var v,s=0,u=r.length;u>s;s++)v=r[s],l.push(a.isArray(v)?t(j[p][0],j[p][1],j[p+1][0],j[p+1][1],v[0],v[1]):v)}return l.join(" ").replace(/\s[A-Z]$/,"")+" Z"},B=function(a,b){var c=.51128733,d=e.photon.amplitude||5,g=.5*c*d,h=e.photon.period||5,i=2*h/f,j=c*h/f,k=e.photon.clockwise||e.clockwise,l=k?[[0,0],"C",[j,-g],[i,-d],[h,-d],"S",[2*h-j,-g],[2*h,0],"S",[2*h+i,d],[3*h,d],"S",[4*h-j,g]]:[[0,0],"C",[j,g],[i,d],[h,d],"S",[2*h-j,g],[2*h,0],"S",[2*h+i,-d],[3*h,-d],"S",[4*h-j,-g]],m=k?[["C",[j,-g],[i,-d],[h,-d],"S",[2*h-j,-g],[2*h+.5,0]],["C",[j,g],[i,d],[h,d],"S",[2*h-j,-g],[2*h-.5,0]]]:[["C",[j,g],[i,d],[h,d],"S",[2*h-j,g],[2*h-.5,0]],["C",[j,-g],[i,-d],[h,-d],"S",[2*h-j,-g],[2*h+.5,0]]];return{line:y(l,4*h,a),arc:z("photon",m,h,a),loop:A("photon",m,h,a)}[b]},C=function(a,b){var c=.55191502,d=e.gluon.height*e.gluon.factor,f=e.gluon.width*e.gluon.percent,g=e.gluon.height*(e.gluon.factor-.5),h=e.gluon.width*(1-e.gluon.percent),i=e.gluon.clockwise||e.clockwise,j=i?[[0,0],"A "+d+" "+f,0,0,1,[d,f],"A "+g+" "+h,0,1,1,[d-2*g,f],"A "+d+" "+f,0,0,1]:[[0,0],"A "+d+" "+f,0,0,0,[d,-f],"A "+g+" "+h,0,1,0,[d-2*g,-f],"A "+d+" "+f,0,0,0];d=i?d:e.gluon.scale*d;var k=d/Math.pow(a,.6),l=i?["C",[c*d,k],[d,f-c*f],[d,f],"C",[d,f+c*h],[d-g+c*g,f+h],[d-g,f+h],"S",[d-2*g,f+c*h],[d-2*g,f],"C",[d-2*g,f-c*f],[2*(d-g)-c*d,0],[2*(d-g),-k]]:["C",[c*d,k],[d,-f+c*f],[d,-f],"C",[d,-f-c*h],[d-g+c*g,-f-h],[d-g,-f-h],"S",[d-2*g,-f-c*h],[d-2*g,-f],"C",[d-2*g,-f+c*f],[2*(d-g)-c*d,0],[2*(d-g),-k]];return{line:y(j,e.gluon.height,a),arc:z("gluon",l,d-g,a),loop:A("gluon",l,d-g,a)}[b]},D=function(a,b,c,d,e,f){var g={photon:B,gluon:C},h=r(a,b,c,d),i=v(f+"_line");return e.match(/photon|gluon/)?[p("path",{d:g[e](h.distance,"line"),transform:s(a,b,h.angle)},i),""]:[p("line",{x1:a,y1:b,x2:c,y2:d},i),x(e,.5*(a+c),.5*(b+d),h.angle,f+"_line_arrow")]},E=function(a,b,c,d,g,h){var i={photon:B,gluon:C},j=r(a,b,c,d),k=v(h+"_arc"),l=.5*Math.max(e[g].tension||e.tension,1),m=l-Math.sqrt(Math.abs(l*l-.25)),n=j.distance,o=j.angle,t=m*n*Math.sin(o),u=m*n*Math.cos(o),w=e[g].clockwise||e.clockwise;return g.match(/photon|gluon/)?[p("path",{d:i[g](n,"arc"),transform:s(a,b,o)},k),""]:[p("path",{d:q("M 0,0 A",l*n,l*n,"0 0 1",n,",0"),transform:s(a,b,o)},k),x(g,.5*(a+c)+t,.5*(b+d)-u,o+(w?f:0),h+"_arc_arrow")]},F=function(a,b,c,d,g,h){var i={photon:B,gluon:C},j=r(a,b,c,d),k=v(h+"_loop"),l=h+"_loop_arrow_",m=e[g].ratio||e.ratio,n=.5*j.distance,o=j.angle,t=m*n*Math.sin(o),u=m*n*Math.cos(o),w=e[g].clockwise||e.clockwise;return g.match(/photon|gluon/)?[p("path",{d:i[g](2*n,"loop"),transform:s(a,b,o)},k),""]:[p("ellipse",{cx:q(n),cy:0,rx:q(n),ry:q(m*n),transform:s(a,b,o)},k),x(g,.5*(a+c)+t,.5*(b+d)-u,o+(w?f:0),l+"1")+x(g,.5*(a+c)-t,.5*(b+d)+u,o+(w?0:f),l+"2")]},G=function(){var a=[],b=[],c=[],d={line:D,arc:E,loop:F};for(var f in k){var g=[],i="",l="";for(var m in k[f])for(var n in k[f][m]){b=k[f][m][n],c[0]=j[b[0]];for(var o=1,q=b.length;q>o;o++)c[o]=j[b[o]],g=d[m](+c[o-1][0],+c[o-1][1],+c[o][0],+c[o][1],f,b[o-1]+"_"+b[o]),i+=g[0],l+=g[1]}a.push(i?p("g",w(f),h[f],i+(e[f].arrow?p("g",w(f+"_"+"arrow"),{fill:h[f].color,thickness:0},l):"")):"")}return a.join("")},H=function(){var b=a.extend({},g,{color:e.symbol.color,thickness:e.symbol.thickness}),c=b.thickness,d=0,h="";delete e.symbol.color,delete e.symbol.thickness;for(var i in e.symbol){var j=e.symbol[i],k=u(j[0]),l={transform:s(k[0],k[1],j[1]*f/180)},m=j[2],n=j[3]||20,o=j[4]||4,r=j[5],x=v(i+"_"+m),y="0,0";if("arrow"==m)d=2*o>n?Math.sqrt(o*o-n*n/4):2*o==n?1:0;else if("zigzag"==m)for(var z=0;.5*n/o>=z;z++)y+=" "+q(o*(2*z+1),",",(e.tension+.2)*o*(1-2*(z%2)),2*o*(z+1),",0");h+={arrow:p("g",l,x,p("path",{d:d?q("M 0,0 A",o,o,"0 0 1",n,",0"):q("M 0,0 L",n,",0")})+p("polygon",{points:d?r?"0,0 "+t(0,0,-2*d*d/n,d,-2*c,2.5*c)+" "+t(0,0,-2*d*d/n,d,3*c,0)+" "+t(0,0,-2*d*d/n,d,-2*c,-2.5*c):q(n,",0")+" "+t(n,0,n+2*d*d/n,d,-2*c,2.5*c)+" "+t(n,0,n+2*d*d/n,d,3*c,0)+" "+t(n,0,n+2*d*d/n,d,-2*c,-2.5*c):q(n,",0",n-2*c,",",2.5*c,n+3*c,",0",n-2*c,",",-2.5*c)},{fill:b.color,thickness:0})),blob:r?p("path",a.extend({d:q("M",o,",",-o,"A",o,o,"0 1 0",o,",",o,"L",2*n,",",o,"A",o,o,"0 1 0",2*n,",",-o,"L",o,",",-o,"Z")},l),a.extend({fill:"silver"},x)):p("ellipse",a.extend({cx:n,cy:0,rx:n,ry:o},l),a.extend({fill:"silver"},x)),bubble:p("path",a.extend({d:q("M 0,0 C",o,",",o,n,",",o,n,",0 S",o,",",-o,"0,0 Z")},l),x),condensate:p("g",l,a.extend({fill:"black"},x),p("rect",{x:-.5*n,y:-o,width:n,height:2*o},{fill:"white",thickness:0})+p("circle",{cx:-.5*n,cy:0,r:o})+p("circle",{cx:.5*n,cy:0,r:o})),hadron:p("g",l,x,p("path",{d:q("M 0,0 L",n,",0","M 0,",o,"L",n,",",o,"M 0,",-o,"L",n,",",-o)})+p("polygon",{points:r?q(n,",",2*o,n+3.6*o,",0",n,",",-2*o):q(.5*n-1.6*o,",",2*o,.5*n+2*o,",0",.5*n-1.6*o,",",-2*o)},{fill:"white"})),zigzag:p("polyline",a.extend({points:y},l),x)}[m]}return h?p("g",w("symbol"),b,h):""},I=function(){var b=e.node.show===!0?"iova":e.node.show,c=e.node.type,d=a.extend({},g,{fill:e.node.fill,color:e.node.color,thickness:e.node.thickness}),f=e.node.radius+d.thickness,h=f/Math.SQRT2-("cross"==c?0:d.thickness),i="";for(var k in j)if(b.indexOf(k.charAt(0))>=0){var l=v(k+"_"+c),m=+j[k][0],n=+j[k][1],o={x:m-f,y:n-f,width:2*f,height:2*f},r={cx:m,cy:n,r:f},t={d:q("M",-h,",",-h,"L",h,",",h,"M",-h,",",h,"L",h,",",-h),transform:s(m,n,0)};i+={box:p("rect",o,l),boxtimes:p("g",{},l,p("rect",o)+p("path",t)),cross:p("path",t,l),dot:p("circle",r,l),otimes:p("g",{},l,p("circle",r)+p("path",t))}[c]}return i?p("g",w("node"),d,i):""},J=function(a){a=a.replace(/[\s\{\}]+/g,"").replace(/(_[^_]+)(\^[^\^]+)/g,"$2$1");var b=n.sty.size,c={size:Math.round(.8*b)},d=a.charAt(0),e=a.indexOf("^")+1,f=a.indexOf("_")+1,g=e?e:f,h=-.15*b,i=.4*b;return(d.match(/-|~/)?p("tspan",{dx:q("0",4*h),dy:q(-i,i)},{},("-"==d?"–":d)+(g?a.slice(1,g-1):a.slice(1))):p("tspan",{},{},g?a.slice(0,g-1):a.slice(0)))+(e?p("tspan",{dx:q(h),dy:q(-i)},c,f?a.slice(e,f-1):a.slice(e)):"")+(f?p("tspan",{dx:q((e?5:1)*h),dy:q((e?2:1)*i)},c,a.slice(f)):"")},K=function(){var b="",c=2*n.sty.size;for(var d in n.pos){var f=n.pos[d],g=u(f[0]),h={x:q(g[0]),y:q(g[1])},i=v(d);b+=e.mathjax?p("foreignObject",a.extend({},h,{width:f[2]||.6*c,height:f[3]||c}),i,p("body",{xmlns:"http://www.w3.org/1999/xhtml"},{},f[1])):p("text",h,i,J(f[1]))}return b?p("g",w("label"),n.sty,b):""},L=function(){var b="";for(var c in e.image){var d=e.image[c],f=u(d[0]),g=q(f[0]),h=q(f[1]),i=v(c);e.ajax?(i=e.selector?i.id+"_":"",a.ajax({url:d[1],dataType:"text",async:!1,success:function(a){a=a.replace(/<\?.*\?>\n*/,""),a=a.slice(0,a.search(">")).replace(/ x=.\d+./,"").replace(/ y=.\d+./,"")+a.slice(a.search(">")),b+=a.replace(/>/,' x="'+g+'" y="'+h+'">').replace(/(id=.)/g,"$1"+i).replace(/(href=.#)/g,"$1"+i)},error:function(){throw new Error("fail to load "+d[1])}})):b+=p("image",{href:d[1],x:g,y:h},a.extend({width:d[2]||32,height:d[3]||32},d[3]?{}:{preserveAspectRatio:"xMinYMin meet"},i))}return b?p("g",w("image"),{},b):""};this.output=function(){if(!document.createElementNS||!document.createElementNS(e.xmlns,"svg").createSVGRect)return"Your browser does not support SVG.";if(e.grid.show){var d=q(e.grid.unit);o.defs.push(p("pattern",{x:0,y:0,width:d,height:d,viewBox:q(0,0,d,d)},{patternUnits:"userSpaceOnUse",id:b.prefix+"_grid"},p("polyline",{points:d+",0 0,0 0,"+d},{fill:"none",color:"silver"}))),o.body.push(p("rect",{x:0,y:0,width:"100%",height:"100%"},{fill:"url(#"+b.prefix+"_grid)",color:"silver"}))}o.body.push(G()+H()),e.node.show&&o.body.push(I()),o.body.push(K()+L());var f=p("svg",{xmlns:e.xmlns,xlink:e.xlink,version:e.version,x:e.x,y:e.y,width:e.width,height:e.height,viewBox:q(e.x,e.y,e.width,e.height)},e.selector?{id:b.prefix}:{},(e.title?p("title",{},{},e.title):"")+(e.description?p("desc",{},{},e.description):"")+(o.defs.length?p("defs",{},{},o.defs.join("")):"")+(o.body.length?o.body.join(""):""));if(e.standalone){var g='\n\n'+f;f='
'+f+'
",a(c).change(function(){f=a(this).children("textarea").val(),a(this).children(".feyn").html(f.slice(f.search(" 7 | * date: 2014-2-28 8 | * 9 | * usage: $(container).feyn(options); 10 | */ 11 | 12 | ;(function($) { 13 | 'use strict'; 14 | 15 | // add method to jQuery prototype 16 | $.fn.feyn = function(options) { 17 | 18 | // iterate over the current set of matched elements 19 | return this.each(function() { 20 | 21 | // return early if this element already has an instance 22 | if($(this).data('feyn')) { 23 | return; 24 | } 25 | 26 | // create an Feyn instance 27 | try { 28 | $(this).html(new Feyn(this, options).output()); 29 | $(this).data('feyn', true); 30 | } catch(error) { 31 | $(this).html('JavaScript ' + error.name + ': ' + error.message); 32 | } 33 | 34 | }); 35 | 36 | }; 37 | 38 | // create Feyn object as a constructor 39 | var Feyn = function(container, options) { 40 | 41 | // count instances 42 | Feyn.counter = (Feyn.counter || 0) + 1; 43 | Feyn.prefix = 'feyn' + (Feyn.counter > 1 ? Feyn.counter : ''); 44 | 45 | // merge options with defaults 46 | var opts = $.extend(true, { 47 | xmlns: 'http://www.w3.org/2000/svg', // the "xmlns" attribute of 48 | xlink: 'http://www.w3.org/1999/xlink', // the "xlink:href" attribute of 49 | version: '1.1', // the "version" attribute of 50 | x: 0, // the "x" attribute of 51 | y: 0, // the "y" attribute of 52 | width: 200, // the "width" attribute of 53 | height: 200, // the "height" attribute of 54 | title: '', // the "title" attribute of 55 | description: 'Feynman diagram generated by jQuery.Feyn', // the "desc" attribute of 56 | standalone: false, // disable the SVG code editor 57 | selector: false, // don't set the "id" and "class" attributes for SVG elements 58 | grid: { 59 | show: false, // don't display a grid system 60 | unit: 20 // length of subdivision for the grid system 61 | }, 62 | color: 'black', // global "stroke" attribute for SVG elements 63 | thickness: 1.6, // global "stroke-width" attribute for SVG elements 64 | tension: 1, // global parameter of arc radius and zigzag amplitude 65 | ratio: 1, // global parameter of elliptical arc, i.e. the ratio of y-radius to x-radius 66 | clockwise: false, // global clockwise parameter for propagators 67 | incoming: {}, // graph nodes for incoming particles 68 | outgoing: {}, // graph nodes for outgoing particles 69 | vertex: {}, // graph nodes for vertices 70 | auxiliary: {}, // graph nodes for miscellaneous symbols 71 | fermion: { 72 | arrow: true // show arrows for fermion propagators 73 | }, 74 | photon: { 75 | period: 5, // the period parameter for photon propagators, i.e. 1/4 of the period of sine curve 76 | amplitude: 5 // the amplitude parameter for photon propagators, i.e. the amplitude of sine curve 77 | }, 78 | scalar: { 79 | arrow: false, // don't show arrows for scalar propagators 80 | dash: '5 5', // the "stroke-dasharray" attribute for into which scalar propagators are grouped 81 | offset: 2 // the "stroke-offset" attribute for into which scalar propagators are grouped 82 | }, 83 | ghost: { 84 | arrow: true, // show arrows for ghost propagators 85 | thickness: 3, // direction of arrows for arc and loop ghost propagators 86 | dotsep: 8, // the "stroke-dasharray" attribute for into which ghost propagators are grouped 87 | offset: 5 // the "stroke-offset" attribute for into which ghost propagators are grouped 88 | }, 89 | gluon: { 90 | width: 15, // the coil width of gluon propagators 91 | height: 15, // the coil height of gluon propagators 92 | factor: 0.75, // the factor parameter for gluon propagators 93 | percent: 0.6, // the percent parameter for gluon propagators 94 | scale: 1.15 // the scale parameter for gluon arcs and loops 95 | }, 96 | symbol: {}, // elements for symbols 97 | node: { 98 | show: false, // don't show nodes 99 | thickness: 1, // the "stroke-width" attribute for into which nodes are grouped 100 | type: 'dot', // the node type 101 | radius: 3, // the radius parameter of nodes 102 | fill: 'white' // the "fill" attribute for into which nodes are grouped 103 | }, 104 | label: { 105 | family: 'Georgia', // the "font-family" attribute for into which labels are grouped 106 | size: 15, // the "font-size" attribute for into which labels are grouped 107 | face: 'italic' // the "font-style" attribute for into which labels are grouped 108 | }, 109 | image: {}, // include external image 110 | mathjax: false, // don't use MathJax to typeset mathematics in labels 111 | ajax: false // don't merge the code of external SVG image directly 112 | }, options); 113 | 114 | // constants 115 | var PI = Math.PI; 116 | 117 | // style of propagator for different particles 118 | var all = { 119 | fill: 'none', // the "fill" attribute for all SVG elements 120 | color: opts.color, // the "stroke" attribute for all SVG elements 121 | thickness: opts.thickness // the "stroke-width" attribute for all SVG elements 122 | }, 123 | sty = { 124 | fermion: {}, // the style for fermion propagators 125 | photon: {}, // the style for photon propagators 126 | gluon: {}, // the styles for gluon propagators 127 | scalar: { 128 | dash: opts.scalar.dash, // the "stroke-dasharray" attribute for scalar propagators 129 | offset: opts.scalar.offset // the "stroke-offset" attribute for scalar propagators 130 | }, 131 | ghost: { 132 | dash: '0.1 ' + opts.ghost.dotsep, // the "stroke-offset" attribute for ghost propagators 133 | offset: opts.ghost.offset // the "stroke-offset" attribute for ghost propagators 134 | } 135 | }; 136 | // set global attributes for propagators 137 | for(var key in sty) { 138 | sty[key] = $.extend(true, {}, all, { 139 | color: opts[key].color, 140 | thickness: opts[key].thickness, 141 | linecap: 'round' 142 | }, sty[key]); 143 | } 144 | 145 | // graph nodes for Feynman diagram 146 | var nd = $.extend({}, 147 | opts.incoming, 148 | opts.outgoing, 149 | opts.vertex, 150 | opts.auxiliary 151 | ); 152 | for(key in nd) { 153 | // remove extra space characters in node coordinates 154 | nd[key] = nd[key].replace(/\s/g, ',').split(/,+/, 2); 155 | } 156 | 157 | // graph edges for Feynman diagram 158 | var fd = { 159 | fermion: {}, 160 | photon: {}, 161 | scalar: {}, 162 | ghost: {}, 163 | gluon: {} 164 | }; 165 | for(var par in fd) { 166 | fd[par] = $.extend({}, opts[par]); 167 | for(key in fd[par]) { 168 | if(!key.match(/line|arc|loop/)) { 169 | // ensure that graph edges don't have attributes for style 170 | delete fd[par][key]; 171 | } else { 172 | // remove extra space characters in edge connections 173 | fd[par][key] = fd[par][key].replace(/\s/g, '').split(','); 174 | for(var ind in fd[par][key]) { 175 | // remove extra dash marks in edge connections 176 | fd[par][key][ind] = fd[par][key][ind].replace(/-+/g, '-').split('-'); 177 | } 178 | } 179 | } 180 | } 181 | 182 | // attributes for labels 183 | var lb = { 184 | sty: { 185 | fill: opts.label.fill || opts.label.color || all.color, 186 | color: opts.label.color || all.color, 187 | thickness: opts.label.thickness || 0, 188 | family: opts.label.family, 189 | size: opts.label.size, 190 | weight: opts.label.weight, 191 | face: opts.label.face, 192 | align: opts.label.align || 'middle' 193 | }, 194 | pos: opts.label 195 | }; 196 | for(key in lb.pos) { 197 | if(lb.sty[key]) { 198 | delete lb.pos[key]; 199 | } 200 | } 201 | 202 | // collector for SVG elements 203 | var svg = { 204 | defs: [], // collector for 205 | body: [], // collector for graphics elements 206 | tags: [ // self-closing tags 207 | 'path', 208 | 'line', 209 | 'rect', 210 | 'circle', 211 | 'ellipse', 212 | 'polygon', 213 | 'polyline', 214 | 'image', 215 | 'use' 216 | ], 217 | attr: { // map JavaScript object attributes into SVG attributes 218 | xlink: 'xmlns:xlink', 219 | href: 'xlink:href', 220 | color: 'stroke', 221 | thickness: 'stroke-width', 222 | dash: 'stroke-dasharray', 223 | linecap: 'stroke-linecap', 224 | linejoin: 'stroke-linejoin', 225 | offset: 'stroke-dashoffset', 226 | family: 'font-family', 227 | size: 'font-size', 228 | face: 'font-style', 229 | weight: 'font-weight', 230 | align: 'text-anchor' 231 | } 232 | }; 233 | 234 | // create SVG element 235 | var create = function(elem, attr, sty, child) { 236 | var str = ''; 237 | attr = $.extend({}, attr, sty); 238 | for(var key in attr) { 239 | str += ' ' + (svg.attr[key] || key) + '="' + attr[key] + '"'; 240 | } 241 | return '<' + elem + str + (svg.tags.indexOf(elem) >= 0 ? '/>' : 242 | '>' + (elem.match(/title|desc|tspan|body/) ? '': '\n') + (child ? 243 | child.replace(/') + '\n'; 245 | }; 246 | 247 | // convert float number to string 248 | var normalize = function() { 249 | var str = ''; 250 | for(var i = 0, l = arguments.length, item; i < l; i++) { 251 | item = arguments[i]; 252 | str += ' ' + (typeof item !== 'number' ? item : 253 | item.toFixed(3).replace(/(.\d*?)0+$/, '$1').replace(/\.$/, '')); 254 | } 255 | return $.trim(str).replace(/ ?, ?/g, ','); 256 | }; 257 | 258 | // transform coordinate system 259 | var system = function(sx, sy, ex, ey) { 260 | var dx = ex - sx, 261 | dy = ey - sy; 262 | return {angle: Math.atan2(dy, dx), distance: Math.sqrt(dx * dx + dy * dy)}; 263 | }; 264 | 265 | // set transformation 266 | var transform = function(x, y, angle) { 267 | return 'translate(' + normalize(x, ',', y) + ')' + 268 | (angle ? ' rotate(' + normalize(angle * 180 / PI) + ')' : ''); 269 | }; 270 | 271 | // get coordinate pairs 272 | var point = function(sx, sy, ex, ey, x, y) { 273 | var ang = Math.atan2(ey - sy, ex - sx); 274 | return normalize(x * Math.cos(ang) - y * Math.sin(ang) + sx, ',', 275 | x * Math.sin(ang) + y * Math.cos(ang) + sy); 276 | }; 277 | 278 | // parse position string 279 | var position = function(pos) { 280 | return nd[pos] || pos.replace(/\s/g, ',').split(/,+/, 2); 281 | }; 282 | 283 | // set the "id" attribute for SVG elements 284 | var setId = function(name) { 285 | return opts.selector ? {id: Feyn.prefix + '_' + name} : {}; 286 | }; 287 | 288 | // set the "class" attribute for 289 | var setClass = function(name) { 290 | return opts.selector ? {'class': name} : {}; 291 | }; 292 | 293 | // set arrows for fermion, scalar, and ghost propagators 294 | var setArrow = function(par, x, y, angle, name) { 295 | var t = 2 * (par == 'ghost' ? sty.fermion.thickness : sty[par].thickness); 296 | return opts[par].arrow ? create('polygon', $.extend({points: 297 | normalize('0,0', -t, ',', 1.25 * t, 1.5 * t, ',0', -t, ',', -1.25 * t)}, 298 | {transform: transform(x, y, angle)}), setId(name)) : ''; 299 | }; 300 | 301 | // get path for photon and gluon line 302 | var linePath = function(tile, period, distance) { 303 | var bezier = ['M'], 304 | num = Math.floor(distance / period), 305 | extra = distance - period * num + 0.1; 306 | for(var n = 0; n <= num; n++) { 307 | for(var i = 0, l = tile.length, item; i < l; i++) { 308 | item = tile[i]; 309 | if($.isArray(item)) { 310 | // ensure that the number of tiles is an integer 311 | if(n < num || item[0] < extra) { 312 | bezier.push(normalize(item[0] + period * n, ',', item[1])); 313 | } else { 314 | break; 315 | } 316 | } else { 317 | bezier.push(item); 318 | } 319 | } 320 | } 321 | return bezier.join(' ').replace(/\s[A-Z][^A-Z]*$/, ''); 322 | }; 323 | 324 | // get path for photon and gluon arc 325 | var arcPath = function(par, tile, period, distance) { 326 | var t = 0.25 * Math.max(opts[par].tension || opts.tension, 2), 327 | phi = Math.acos(-0.5 / t), 328 | theta = -2 * Math.asin(period / (t * distance)), 329 | segment = [], 330 | bezier = ['M', '0,0']; 331 | // get coordinate pairs for the endpoint of segment 332 | for(var n = 0; n <= (PI - 2 * phi) / theta; n++) { 333 | segment.push([distance * (t * Math.cos(theta * n + phi) + 0.5), 334 | distance * (t * Math.sin(theta * n + phi) - Math.sqrt(t * t - 0.25))]); 335 | } 336 | for(var i = 0, l = segment.length - 1, model; i < l; i++) { 337 | // two photon tiles form a period whereas one gluon tile is a period 338 | model = (par == 'photon' ? tile[i % 2] : tile); 339 | // get bezier path for photon and gluon arc 340 | for(var j = 0, m = model.length, item; j < m; j++) { 341 | item = model[j]; 342 | bezier.push($.isArray(item) ? point(segment[i][0], segment[i][1], 343 | segment[i+1][0], segment[i+1][1], item[0], item[1]) : item); 344 | } 345 | } 346 | return bezier.join(' ').replace(/\s[A-Z]$/, ''); 347 | }; 348 | 349 | // get path for photon and gluon loop 350 | var loopPath = function(par, tile, period, distance) { 351 | var theta = 2 * Math.asin(2 * period / distance), 352 | num = 2 * PI / theta, 353 | segment = [], 354 | lift = (opts[par].clockwise ? -0.5 : 0.5), 355 | bezier = ['M', (par == 'gluon' ? lift + ',0' : '0,' + lift)]; 356 | // find the modified distance such that the number of tiles is an integer 357 | for(var x = -0.1, dis = distance; Math.floor(num) % 4 || 358 | num - Math.floor(num) > 0.1; x += 0.001) { 359 | distance = (1 + x) * dis; 360 | theta = 2 * Math.asin(2 * period / distance); 361 | num = 2 * PI / theta; 362 | } 363 | // get coordinate pairs for the endpoint of segment 364 | for(var n = 0; n <= num; n++) { 365 | segment.push([0.5 * distance * (1 - Math.cos(theta * n)), 366 | 0.5 * distance * Math.sin(theta * n)]); 367 | } 368 | for(var i = 0, l = segment.length - 1, model; i < l; i++) { 369 | // two photon tiles form a period whereas one gluon tile is a period 370 | model = (par == 'photon' ? tile[i % 2] : tile); 371 | // get bezier path for photon and gluon arc 372 | for(var j = 0, m = model.length, item; j < m; j++) { 373 | item = model[j]; 374 | bezier.push($.isArray(item) ? point(segment[i][0], segment[i][1], 375 | segment[i+1][0], segment[i+1][1], item[0], item[1]) : item); 376 | } 377 | } 378 | return bezier.join(' ').replace(/\s[A-Z]$/, '') + ' Z'; 379 | }; 380 | 381 | // get path for photon propagator 382 | var photonPath = function(distance, shape) { 383 | var lambda = 0.51128733, 384 | a = opts.photon.amplitude || 5, 385 | b = 0.5 * lambda * a, 386 | p = opts.photon.period || 5, 387 | q = 2 * p / PI, 388 | t = lambda * p / PI, 389 | dir = opts.photon.clockwise || opts.clockwise, 390 | /* 391 | * reference: http://mathb.in/1447 392 | * 393 | * the approximation of the first quarter of one period of sine curve 394 | * is a cubic Bezier curve with the following control points: 395 | * 396 | * (0, 0) (lambda * p / PI, lambda * a / 2) (2 * p / PI, a) (p, a) 397 | */ 398 | pts = (dir ? [[0, 0], 'C', [t, -b], [q, -a], [p, -a], 399 | 'S', [2 * p - t, -b], [2 * p, 0], 'S', [2 * p + q, a], [3 * p, a], 400 | 'S', [4 * p - t, b]] : 401 | [[0, 0], 'C', [t, b], [q, a], [p, a], 402 | 'S', [2 * p - t, b], [2 * p, 0], 'S', [2 * p + q, -a], [3 * p, -a], 403 | 'S', [4 * p - t, -b]]), 404 | tile = (dir ? [['C', [t, -b], [q, -a], [p, -a], 405 | 'S', [2 * p - t, -b], [2 * p + 0.5, 0]], 406 | ['C', [t, b], [q, a], [p, a], 407 | 'S', [2 * p - t, -b], [2 * p - 0.5, 0]]] : 408 | [['C', [t, b], [q, a], [p, a], 409 | 'S', [2 * p - t, b], [2 * p - 0.5, 0]], 410 | ['C', [t, -b], [q, -a], [p, -a], 411 | 'S', [2 * p - t, -b], [2 * p + 0.5, 0]]]); 412 | return { 413 | line: linePath(pts, 4 * p, distance), 414 | arc: arcPath('photon', tile, p, distance), 415 | loop: loopPath('photon', tile, p, distance) 416 | }[shape]; 417 | }; 418 | 419 | // get path for gluon propagator 420 | var gluonPath = function(distance, shape) { 421 | var kappa = 0.55191502, 422 | // a and b are one-half of the ellipse's major and minor axes 423 | a = opts.gluon.height * opts.gluon.factor, 424 | b = opts.gluon.width * opts.gluon.percent, 425 | // c and d are one-half of major and minor axes of the other ellipse 426 | c = opts.gluon.height * (opts.gluon.factor - 0.5), 427 | d = opts.gluon.width * (1 - opts.gluon.percent), 428 | dir = opts.gluon.clockwise || opts.clockwise, 429 | pts = (dir ? [[0, 0], 'A ' + a + ' ' + b, 0, 0, 1, [a, b], 'A ' + 430 | c + ' ' + d, 0, 1, 1, [a - 2 * c, b], 'A ' + a + ' ' + b, 0, 0, 1] : 431 | [[0, 0], 'A ' + a + ' ' + b, 0, 0, 0, [a, -b], 'A ' + c + ' ' + d, 432 | 0, 1, 0, [a - 2 * c, -b], 'A ' + a + ' ' + b, 0, 0, 0]); 433 | a = (dir ? a : opts.gluon.scale * a); 434 | var lift = a / Math.pow(distance, 0.6), 435 | /* 436 | * reference: http://spencermortensen.com/articles/bezier-circle/ 437 | * 438 | * the approximation of the first quarter of the ellipse 439 | * is a cubic Bezier curve with the following control points: 440 | * 441 | * (0, b) (kappa * a, b) (a, kappa * b) (a, 0) 442 | * 443 | * a lift is used to remove mitered join of two tiles 444 | */ 445 | tile = (dir ? ['C', [kappa * a, lift], [a, b - kappa * b], [a, b], 446 | 'C', [a, b + kappa * d], [a - c + kappa * c, b + d], [a - c, b + d], 447 | 'S', [a - 2 * c, b + kappa * d], [a - 2 * c, b], 'C', [a - 2 * c, 448 | b - kappa * b], [2 * (a - c) - kappa * a, 0], [2 * (a - c), -lift]] : 449 | ['C', [kappa * a, lift], [a, -b + kappa * b], [a, -b], 450 | 'C', [a, -b - kappa * d], [a - c + kappa * c, -b - d], [a - c, -b - d], 451 | 'S', [a - 2 * c, -b - kappa * d], [a - 2 * c, -b], 'C', [a - 2 * c, 452 | -b + kappa * b], [2 * (a - c) - kappa * a, 0], [2 * (a - c), -lift]]); 453 | return { 454 | line: linePath(pts, opts.gluon.height, distance), 455 | arc: arcPath('gluon', tile, a - c, distance), 456 | loop: loopPath('gluon', tile, a - c, distance) 457 | }[shape]; 458 | }; 459 | 460 | // plot propagator line 461 | var plotLine = function(sx, sy, ex, ey, par, name) { 462 | var path = { 463 | photon: photonPath, 464 | gluon: gluonPath 465 | }, 466 | axis = system(sx, sy, ex, ey), 467 | id = setId(name + '_line'); 468 | /* 469 | * for photon and gluon line, we use the method photonPath and gluonPath; 470 | * for fermion, scalar, and ghost line, we create directly 471 | */ 472 | return par.match(/photon|gluon/) ? 473 | [create('path', {d: path[par](axis.distance, 'line'), 474 | transform: transform(sx, sy, axis.angle)}, id), ''] : 475 | [create('line', {x1: sx, y1: sy, x2: ex, y2: ey}, id), 476 | setArrow(par, 0.5 * (sx + ex), 0.5 * (sy + ey), axis.angle, 477 | name + '_line_arrow')]; 478 | }; 479 | 480 | // plot propagator arc 481 | var plotArc = function(sx, sy, ex, ey, par, name) { 482 | var path = { 483 | photon: photonPath, 484 | gluon: gluonPath 485 | }, 486 | axis = system(sx, sy, ex, ey), 487 | id = setId(name + '_arc'), 488 | t = 0.5 * Math.max(opts[par].tension || opts.tension, 1), 489 | f = t - Math.sqrt(Math.abs(t * t - 0.25)), 490 | w = axis.distance, 491 | ang = axis.angle, 492 | hx = f * w * Math.sin(ang), 493 | hy = f * w * Math.cos(ang), 494 | dir = opts[par].clockwise || opts.clockwise; 495 | /* 496 | * for photon and gluon arc, we use the method photonPath and gluonPath; 497 | * for fermion, scalar, and ghost arc, we create elliptical arc directly 498 | */ 499 | return par.match(/photon|gluon/) ? [create('path', {d: path[par] 500 | (w, 'arc'), transform: transform(sx, sy, ang)}, id), ''] : 501 | [create('path', {d: normalize('M 0,0 A', t * w, t * w, 502 | '0 0 1', w, ',0'), transform: transform(sx, sy, ang)}, id), 503 | setArrow(par, 0.5 * (sx + ex) + hx, 0.5 * (sy + ey) - hy, 504 | ang + (dir ? PI : 0), name + '_arc_arrow')]; 505 | }; 506 | 507 | // plot propagator loop 508 | var plotLoop = function(sx, sy, ex, ey, par, name) { 509 | var path = { 510 | photon: photonPath, 511 | gluon: gluonPath 512 | }, 513 | axis = system(sx, sy, ex, ey), 514 | id = setId(name + '_loop'), 515 | arrow = name + '_loop_arrow_', 516 | ratio = opts[par].ratio || opts.ratio, 517 | w = 0.5 * axis.distance, 518 | ang = axis.angle, 519 | hx = ratio * w * Math.sin(ang), 520 | hy = ratio * w * Math.cos(ang), 521 | dir = opts[par].clockwise || opts.clockwise; 522 | /* 523 | * for photon and gluon loop, we use the method photonPath and gluonPath; 524 | * for fermion, scalar, and ghost loop, we create directly 525 | */ 526 | return par.match(/photon|gluon/) ? [create('path', {d: path[par] 527 | (2 * w, 'loop'), transform: transform(sx, sy, ang)}, id), ''] : 528 | [create('ellipse', {cx: normalize(w), cy: 0, rx: normalize(w), 529 | ry: normalize(ratio * w), transform: transform(sx, sy, ang)}, id), 530 | setArrow(par, 0.5 * (sx + ex) + hx, 0.5 * (sy + ey) - hy, ang + 531 | (dir ? PI : 0), arrow + '1') + setArrow(par, 0.5 * (sx + ex) - hx, 532 | 0.5 * (sy + ey) + hy, ang + (dir ? 0 : PI), arrow + '2')]; 533 | }; 534 | 535 | // set graph edges 536 | var setEdge = function() { 537 | var elems = [], 538 | edge = [], 539 | pts = [], 540 | funcs = { 541 | line: plotLine, 542 | arc: plotArc, 543 | loop: plotLoop 544 | }; 545 | for(var par in fd) { 546 | var group = [], 547 | shape = '', 548 | arrow = ''; 549 | for(var key in fd[par]) { 550 | for(var ind in fd[par][key]) { 551 | edge = fd[par][key][ind]; 552 | pts[0] = nd[edge[0]]; 553 | for(var i = 1, l = edge.length; i < l; i++) { 554 | pts[i] = nd[edge[i]]; 555 | group = funcs[key](+pts[i-1][0], +pts[i-1][1], +pts[i][0], 556 | +pts[i][1], par, edge[i-1] + '_' + edge[i]); 557 | shape += group[0]; 558 | arrow += group[1]; 559 | } 560 | } 561 | } 562 | // group the propagators with the same type 563 | elems.push(shape ? create('g', setClass(par), sty[par], shape + 564 | (opts[par].arrow ? create('g', setClass(par + '_' + 'arrow'), 565 | {fill: sty[par].color, thickness: 0}, arrow) : '')) : ''); 566 | } 567 | return elems.join(''); 568 | }; 569 | 570 | // set symbols 571 | var setSymbol = function() { 572 | var style = $.extend({}, all, { 573 | color: opts.symbol.color, 574 | thickness: opts.symbol.thickness 575 | }), 576 | t = style.thickness, 577 | h = 0, 578 | group = ''; 579 | delete opts.symbol.color; 580 | delete opts.symbol.thickness; 581 | for(var key in opts.symbol) { 582 | var item = opts.symbol[key], 583 | coord = position(item[0]), 584 | trans = {transform: transform(coord[0], coord[1], item[1] * PI / 180)}, 585 | type = item[2], 586 | s = item[3] || 20, 587 | p = item[4] || 4, 588 | variant = item[5], 589 | id = setId(key + '_' + type), 590 | pts = '0,0'; 591 | if(type == 'arrow') { 592 | h = (2 * p > s ? Math.sqrt(p * p - s * s / 4) : (2 * p == s ? 1 : 0)); 593 | } else if(type == 'zigzag') { 594 | for(var i = 0; i <= 0.5 * s / p; i++) { 595 | pts += ' ' + normalize(p * (2 * i + 1), ',', (opts.tension + 0.2) * 596 | p * (1 - 2 * (i % 2)), 2 * p * (i + 1), ',0'); 597 | } 598 | } 599 | group += { 600 | /* 601 | * for straight-line arrow symbol, it only depends on the distance parameter; 602 | * for the arc variant, two parameters are needed: one is for the distance, 603 | * the other is for the radius 604 | */ 605 | arrow: create('g', trans, id, 606 | create('path', {d: (h ? normalize('M 0,0 A', p, p, '0 0 1', s, ',0') : 607 | normalize('M 0,0 L', s, ',0'))}) + 608 | create('polygon', {points: (h ? (variant ? '0,0 ' + 609 | point(0, 0, -2 * h * h / s, h, -2 * t, 2.5 * t) + ' ' + 610 | point(0, 0, -2 * h * h / s, h, 3 * t, 0) + ' ' + 611 | point(0, 0, -2 * h * h / s, h, -2 * t, -2.5 * t) : 612 | normalize(s, ',0') + ' ' + 613 | point(s, 0, s + 2 * h * h / s, h, -2 * t, 2.5 * t) + ' ' + 614 | point(s, 0, s + 2 * h * h / s, h, 3 * t, 0) + ' ' + 615 | point(s, 0, s + 2 * h * h / s, h, -2 * t, -2.5 * t)) : 616 | normalize(s, ',0', s - 2 * t, ',', 2.5 * t, s + 3 * t, ',0', 617 | s - 2 * t, ',', -2.5 * t))}, {fill: style.color, thickness: 0})), 618 | // the blob symbol needs the distance parameter and the height parameter 619 | blob: (variant ? create('path', $.extend({d: normalize('M', p, ',', 620 | -p, 'A', p, p, '0 1 0', p, ',', p, 'L', 2 * s, ',', p, 'A', p, 621 | p, '0 1 0', 2 * s, ',', -p, 'L', p, ',', -p, 'Z')}, trans), 622 | $.extend({fill: 'silver'}, id)) : 623 | create('ellipse', $.extend({cx: s, cy: 0, rx: s, ry: p}, trans), 624 | $.extend({fill: 'silver'}, id))), 625 | // the bubble symbol needs the distance parameter and the height parameter 626 | bubble: create('path', $.extend({d: normalize('M 0,0 C', p, ',', 627 | p, s, ',', p, s, ',0 S', p, ',', -p, '0,0 Z')}, trans), id), 628 | // the condensate symbol needs the distance parameter and the height parameter 629 | condensate: create('g', trans, $.extend({fill: 'black'}, id), 630 | create('rect', {x: -0.5 * s, y: -p, width: s, height: 2 * p}, 631 | {fill: 'white', thickness: 0}) + 632 | create('circle', {cx: -0.5 * s, cy: 0, r: p}) + 633 | create('circle', {cx: 0.5 * s, cy: 0, r: p})), 634 | // the hadron symbol needs the distance parameter and the height parameter 635 | hadron: create('g', trans, id, create('path', {d: normalize('M 0,0 L', 636 | s, ',0', 'M 0,', p, 'L', s, ',', p, 'M 0,', -p, 'L', s, ',', -p)}) + 637 | create('polygon', {points: (variant ? normalize(s, ',', 2 * p, 638 | s + 3.6 * p, ',0', s, ',', -2 * p) : normalize(0.5 * s - 1.6 * p, 639 | ',', 2 * p, 0.5 * s + 2 * p, ',0', 0.5 * s - 1.6 * p, ',', -2 * p))}, 640 | {fill: 'white'})), 641 | // the zigzag symbol needs the distance parameter and the height parameter 642 | zigzag: create('polyline', $.extend({points: pts}, trans), id) 643 | }[type]; 644 | } 645 | return group ? create('g', setClass('symbol'), style, group) : ''; 646 | }; 647 | 648 | // set graph nodes 649 | var setNode = function() { 650 | var show = (opts.node.show === true ? 'iova' : opts.node.show), 651 | type = opts.node.type, 652 | style = $.extend({}, all, { 653 | fill: opts.node.fill, 654 | color: opts.node.color, 655 | thickness: opts.node.thickness 656 | }), 657 | nr = opts.node.radius + style.thickness, 658 | a = nr / Math.SQRT2 - (type == 'cross' ? 0 : style.thickness), 659 | group = ''; 660 | for(var key in nd) { 661 | if(show.indexOf(key.charAt(0)) >= 0) { 662 | var id = setId(key + '_' + type), 663 | x = +nd[key][0], 664 | y = +nd[key][1], 665 | square = {x: x - nr, y: y - nr, width: 2 * nr, height: 2 * nr}, 666 | circle = {cx: x, cy: y, r: nr}, 667 | path = {d: normalize('M', -a, ',', -a, 'L', a, ',', a, 'M', -a, 668 | ',', a, 'L', a, ',', -a) , transform: transform(x, y, 0)}; 669 | // support three node types: cross, dot, and otimes 670 | group += { 671 | box: create('rect', square, id), 672 | boxtimes: create('g', {}, id, 673 | create('rect', square) + create('path', path)), 674 | cross: create('path', path, id), 675 | dot: create('circle', circle, id), 676 | otimes: create('g', {}, id, 677 | create('circle', circle) + create('path', path)) 678 | }[type]; 679 | } 680 | } 681 | return group ? create('g', setClass('node'), style, group) : ''; 682 | }; 683 | 684 | // format label string 685 | var formatStr = function(str) { 686 | str = str.replace(/[\s\{\}]+/g, '').replace(/(_[^_]+)(\^[^\^]+)/g, '$2$1'); 687 | var font = lb.sty.size, 688 | small = {size: Math.round(0.8 * font)}, 689 | head = str.charAt(0), 690 | sup = str.indexOf('^') + 1, 691 | sub = str.indexOf('_') + 1, 692 | ind = (sup ? sup : sub), 693 | hx = -0.15 * font, 694 | vy = 0.4 * font; 695 | // support subscript, superscript, bar and tilde accents 696 | return (head.match(/-|~/) ? create('tspan', {dx: normalize('0', 4 * hx), 697 | dy: normalize(-vy, vy)}, {}, (head == '-' ? '–' : head) + 698 | (ind ? str.slice(1, ind - 1) : str.slice(1))) : create('tspan', 699 | {}, {}, (ind ? str.slice(0, ind - 1) : str.slice(0)))) + 700 | (sup ? create('tspan', {dx: normalize(hx), dy: normalize(-vy)}, small, 701 | (sub ? str.slice(sup, sub - 1) : str.slice(sup))) : '') + 702 | (sub ? create('tspan', {dx: normalize((sup ? 5 : 1) * hx), 703 | dy: normalize((sup ? 2 : 1) * vy)}, small, str.slice(sub)) : ''); 704 | }; 705 | 706 | // set annotation labels 707 | var setLabel = function() { 708 | var group = '', 709 | size = lb.sty.size * 2; 710 | for(var key in lb.pos) { 711 | var item = lb.pos[key], 712 | coord = position(item[0]), 713 | attr = { 714 | x: normalize(coord[0]), 715 | y: normalize(coord[1]) 716 | }, 717 | id = setId(key); 718 | // put label texts in to provide mathjax support 719 | group += (opts.mathjax ? create('foreignObject', $.extend({}, attr, 720 | {'width': item[2] || size * 0.6, 'height': item[3] || size}), id, 721 | create('body', {'xmlns': 'http://www.w3.org/1999/xhtml'}, {}, item[1])) : 722 | create('text', attr, id, formatStr(item[1]))); 723 | } 724 | return group ? create('g', setClass('label'), lb.sty, group) : ''; 725 | }; 726 | 727 | // set annotation images 728 | var setImage = function() { 729 | var group = ''; 730 | for(var key in opts.image) { 731 | var item = opts.image[key], 732 | coord = position(item[0]), 733 | x = normalize(coord[0]), 734 | y = normalize(coord[1]), 735 | id = setId(key); 736 | if(opts.ajax) { 737 | // use ajax to load external SVG file 738 | id = (opts.selector ? id.id + '_' : ''); 739 | $.ajax({url: item[1], dataType: 'text', async: false, 740 | success: function(data) { 741 | data = data.replace(/<\?.*\?>\n*/, ''); 742 | // set the "x" and "y" attributes of 743 | data = data.slice(0, data.search('>')).replace(/ x=.\d+./, '') 744 | .replace(/ y=.\d+./, '') + data.slice(data.search('>')); 745 | group += data.replace(/>/, ' x="' + x + '" y="' + y + '">') 746 | .replace(/(id=.)/g, '$1' + id).replace(/(href=.#)/g, '$1' + id); 747 | }, error: function() { 748 | throw new Error('fail to load ' + item[1]); 749 | } 750 | }); 751 | } else { 752 | group += create('image', {href: item[1], x: x, y: y}, 753 | $.extend({width: item[2] || 32, height: item[3] || 32}, 754 | (item[3] ? {} : {preserveAspectRatio: 'xMinYMin meet'}), id)); 755 | } 756 | } 757 | return group ? create('g', setClass('image'), {}, group) : ''; 758 | }; 759 | 760 | // generate SVG output 761 | this.output = function() { 762 | 763 | // detect SVG support 764 | if(!(document.createElementNS && 765 | document.createElementNS(opts.xmlns, 'svg').createSVGRect)) { 766 | return 'Your browser does not support SVG.'; 767 | } 768 | 769 | // show SVG grids 770 | if(opts.grid.show) { 771 | var u = normalize(opts.grid.unit); 772 | svg.defs.push(create('pattern', {x: 0, y: 0, width: u, height: u, 773 | viewBox: normalize(0, 0, u, u)}, {patternUnits: 'userSpaceOnUse', 774 | id: Feyn.prefix + '_grid'}, create('polyline', {points: 775 | u + ',0 0,0 0,' + u}, {fill: 'none', color: 'silver'}))); 776 | svg.body.push(create('rect', {x: 0, y: 0, width: '100%', height: '100%'}, 777 | {fill: 'url(#' + Feyn.prefix + '_grid)', color: 'silver'})); 778 | } 779 | 780 | // show graph edges and symbols 781 | svg.body.push(setEdge() + setSymbol()); 782 | 783 | // show graph nodes 784 | if(opts.node.show) { 785 | svg.body.push(setNode()); 786 | } 787 | 788 | // show labels and images 789 | svg.body.push(setLabel() + setImage()); 790 | 791 | // generate SVG source code 792 | var src = create('svg', {xmlns: opts.xmlns, xlink: opts.xlink, 793 | version: opts.version, x: opts.x, y: opts.y, 794 | width: opts.width, height: opts.height, 795 | viewBox: normalize(opts.x, opts.y, opts.width, opts.height)}, 796 | (opts.selector ? {id: Feyn.prefix} : {}), 797 | (opts.title ? create('title', {}, {}, opts.title) : '') + 798 | (opts.description ? create('desc', {}, {}, opts.description) : '') + 799 | (svg.defs.length ? create('defs', {}, {}, svg.defs.join('')) : '') + 800 | (svg.body.length ? svg.body.join('') : '')); 801 | 802 | // get standalone SVG 803 | if(opts.standalone) { 804 | var code = '\n' + 805 | '\n' + src; 807 | src = '
' + src + 808 | '
'; 812 | // update the SVG rendering when the code has changed 813 | $(container).change(function() { 814 | src = $(this).children('textarea').val(); 815 | $(this).children('.feyn').html(src.slice(src.search('Tj 374 | ET 375 | BT 376 | 13.8375 0 0 13.8375 77 638 Tm 377 | /f-1-0 1 Tf 378 | <01>Tj 379 | ET 380 | BT 381 | 13.8375 0 0 13.8375 83.1625 638 Tm 382 | /f-0-0 1 Tf 383 | <02>Tj 384 | ET 385 | Q q 386 | 60 732 360 -105 re W n 387 | 165 649 23 -22 re W n 388 | 158.699 649.863 13843.801 -16.789 re W n 389 | 0 g 390 | BT 391 | 13.8375 0 0 13.8375 165 638 Tm 392 | /f-0-0 1 Tf 393 | <03>Tj 394 | ET 395 | BT 396 | 13.8375 0 0 13.8375 172.2375 638 Tm 397 | /f-1-0 1 Tf 398 | <01>Tj 399 | ET 400 | BT 401 | 13.8375 0 0 13.8375 178.4 638 Tm 402 | /f-0-0 1 Tf 403 | <04>Tj 404 | ET 405 | Q q 406 | 60 732 360 -105 re W n 407 | 71 724 23 -22 re W n 408 | 64.801 724.863 13843.699 -16.789 re W n 409 | 0 g 410 | BT 411 | 13.8375 0 0 13.8375 71 713 Tm 412 | /f-0-0 1 Tf 413 | <05>Tj 414 | ET 415 | BT 416 | 13.8375 0 0 13.8375 76.9375 713 Tm 417 | /f-1-0 1 Tf 418 | <01>Tj 419 | ET 420 | BT 421 | 13.8375 0 0 13.8375 83.1 713 Tm 422 | /f-0-0 1 Tf 423 | <06>Tj 424 | ET 425 | Q q 426 | 60 732 360 -105 re W n 427 | 165 724 23 -22 re W n 428 | 158.699 721.375 13843.801 -13.613 re W n 429 | 0 g 430 | BT 431 | 13.8375 0 0 13.8375 165 713 Tm 432 | /f-0-0 1 Tf 433 | <07>Tj 434 | ET 435 | BT 436 | 13.8375 0 0 13.8375 172.325 713 Tm 437 | /f-1-0 1 Tf 438 | <01>Tj 439 | ET 440 | BT 441 | 13.8375 0 0 13.8375 178.4875 713 Tm 442 | /f-0-0 1 Tf 443 | <08>Tj 444 | ET 445 | Q q 446 | 60 732 360 -105 re W n 447 | 203 721 217 -75 re W n 448 | 202.238 710.711 13841.164 -21.562 re W n 449 | 0 g 450 | BT 451 | 13.8375 0 0 13.8375 207.275 696.2375 Tm 452 | /f-1-0 1 Tf 453 | <02>Tj 454 | ET 455 | BT 456 | 13.8375 0 0 13.8375 221.9 696.2375 Tm 457 | /f-1-0 1 Tf 458 | <03>Tj 459 | ET 460 | BT 461 | 13.8375 0 0 13.8375 232.675 696.2375 Tm 462 | /f-0-0 1 Tf 463 | <09>Tj 464 | ET 465 | BT 466 | 13.8375 0 0 13.8375 251.1875 696.2375 Tm 467 | /f-2-0 1 Tf 468 | <01>Tj 469 | ET 470 | Q q 471 | 60 732 360 -105 re W n 472 | 203 721 217 -75 re W n 473 | 230.836 704.613 13812.562 -13.461 re W n 474 | 0 g 475 | BT 476 | 13.8375 0 0 13.8375 237.45 696.2375 Tm 477 | /f-0-0 1 Tf 478 | <0a>Tj 479 | ET 480 | Q q 481 | 60 732 360 -105 re W n 482 | 203 721 217 -75 re W n 483 | 202.238 710.711 13841.164 -21.562 re W n 484 | 0 g 485 | BT 486 | 9.7875 0 0 9.7875 244.9125 701.95 Tm 487 | /f-1-0 1 Tf 488 | <04>Tj 489 | ET 490 | Q q 491 | 60 732 360 -105 re W n 492 | 203 721 217 -75 re W n 493 | 240.211 684.801 13803.188 -13.699 re W n 494 | 0 g 495 | BT 496 | 13.8375 0 0 13.8375 246.1875 674.475 Tm 497 | /f-1-0 1 Tf 498 | <05>Tj 499 | ET 500 | Q q 501 | 60 732 360 -105 re W n 502 | 203 721 217 -75 re W n 503 | 240.211 664.426 13803.188 -13.699 re W n 504 | 0 g 505 | BT 506 | 13.8375 0 0 13.8375 246.1875 654.1 Tm 507 | /f-1-0 1 Tf 508 | <05>Tj 509 | ET 510 | Q q 511 | 60 732 360 -105 re W n 512 | 203 721 217 -75 re W n 513 | 252.523 711.25 13790.875 -20.711 re W n 514 | 0 g 515 | BT 516 | 13.8375 0 0 13.8375 305.975 696.2375 Tm 517 | /f-1-0 1 Tf 518 | <06>Tj 519 | ET 520 | BT 521 | 13.8375 0 0 13.8375 352.45 696.2375 Tm 522 | /f-1-0 1 Tf 523 | <03>Tj 524 | ET 525 | BT 526 | 13.8375 0 0 13.8375 404.3125 696.2375 Tm 527 | /f-1-0 1 Tf 528 | <07>Tj 529 | ET 530 | Q q 531 | 60 732 360 -105 re W n 532 | 203 721 217 -75 re W n 533 | 252.523 708.25 13790.875 -17.102 re W n 534 | 0 g 535 | BT 536 | 13.8375 0 0 13.8375 258.5 696.2375 Tm 537 | /f-0-0 1 Tf 538 | <0b>Tj 539 | ET 540 | Q q 541 | 60 732 360 -105 re W n 542 | 203 721 217 -75 re W n 543 | 252.523 711.25 13790.875 -20.711 re W n 544 | 0 g 545 | BT 546 | 9.7875 0 0 9.7875 266.9375 702.2125 Tm 547 | /f-0-0 1 Tf 548 | <07>Tj 549 | ET 550 | BT 551 | 9.7875 0 0 9.7875 272.1125 702.2125 Tm 552 | /f-0-0 1 Tf 553 | <05>Tj 554 | ET 555 | BT 556 | 9.7875 0 0 9.7875 276.3125 702.2125 Tm 557 | /f-0-0 1 Tf 558 | <0c>Tj 559 | ET 560 | Q q 561 | 60 732 360 -105 re W n 562 | 203 721 217 -75 re W n 563 | 276.25 708.25 13767.148 -17.102 re W n 564 | 0 g 565 | BT 566 | 13.8375 0 0 13.8375 282.2375 696.2375 Tm 567 | /f-0-0 1 Tf 568 | <0b>Tj 569 | ET 570 | Q q 571 | 60 732 360 -105 re W n 572 | 203 721 217 -75 re W n 573 | 252.523 711.25 13790.875 -20.711 re W n 574 | 0 g 575 | BT 576 | 9.7875 0 0 9.7875 290.675 702.2125 Tm 577 | /f-0-0 1 Tf 578 | <01>Tj 579 | ET 580 | BT 581 | 9.7875 0 0 9.7875 294.9125 702.2125 Tm 582 | /f-0-0 1 Tf 583 | <03>Tj 584 | ET 585 | BT 586 | 9.7875 0 0 9.7875 300.025 702.2125 Tm 587 | /f-0-0 1 Tf 588 | <0c>Tj 589 | ET 590 | Q q 591 | 60 732 360 -105 re W n 592 | 203 721 217 -75 re W n 593 | 304.898 704.613 13738.5 -13.625 re W n 594 | 0 g 595 | BT 596 | 13.8375 0 0 13.8375 311.3625 696.2375 Tm 597 | /f-0-0 1 Tf 598 | <0d>Tj 599 | ET 600 | Q q 601 | 60 732 360 -105 re W n 602 | 203 721 217 -75 re W n 603 | 252.523 711.25 13790.875 -20.711 re W n 604 | 0 g 605 | BT 606 | 9.7875 0 0 9.7875 318.8375 701.95 Tm 607 | /f-0-0 1 Tf 608 | <08>Tj 609 | ET 610 | BT 611 | 9.7875 0 0 9.7875 324.7375 701.95 Tm 612 | /f-0-0 1 Tf 613 | <02>Tj 614 | ET 615 | Q q 616 | 60 732 360 -105 re W n 617 | 203 721 217 -75 re W n 618 | 324.664 704.613 13718.738 -13.625 re W n 619 | 0 g 620 | BT 621 | 13.8375 0 0 13.8375 331.125 696.2375 Tm 622 | /f-0-0 1 Tf 623 | <0d>Tj 624 | ET 625 | Q q 626 | 60 732 360 -105 re W n 627 | 203 721 217 -75 re W n 628 | 252.523 711.25 13790.875 -20.711 re W n 629 | 0 g 630 | BT 631 | 9.7875 0 0 9.7875 338.6 701.95 Tm 632 | /f-0-0 1 Tf 633 | <06>Tj 634 | ET 635 | BT 636 | 9.7875 0 0 9.7875 343.6875 701.95 Tm 637 | /f-0-0 1 Tf 638 | <04>Tj 639 | ET 640 | Q q 641 | 60 732 360 -105 re W n 642 | 203 721 217 -75 re W n 643 | 359.836 704.613 13683.562 -13.625 re W n 644 | 0 g 645 | BT 646 | 13.8375 0 0 13.8375 366.3 696.2375 Tm 647 | /f-0-0 1 Tf 648 | <0d>Tj 649 | ET 650 | Q q 651 | 60 732 360 -105 re W n 652 | 203 721 217 -75 re W n 653 | 252.523 711.25 13790.875 -20.711 re W n 654 | 0 g 655 | BT 656 | 9.7875 0 0 9.7875 373.775 701.95 Tm 657 | /f-0-0 1 Tf 658 | <08>Tj 659 | ET 660 | BT 661 | 9.7875 0 0 9.7875 379.675 701.95 Tm 662 | /f-0-0 1 Tf 663 | <04>Tj 664 | ET 665 | Q q 666 | 60 732 360 -105 re W n 667 | 203 721 217 -75 re W n 668 | 379.602 704.613 13663.801 -13.625 re W n 669 | 0 g 670 | BT 671 | 13.8375 0 0 13.8375 386.0625 696.2375 Tm 672 | /f-0-0 1 Tf 673 | <0d>Tj 674 | ET 675 | Q q 676 | 60 732 360 -105 re W n 677 | 203 721 217 -75 re W n 678 | 252.523 711.25 13790.875 -20.711 re W n 679 | 0 g 680 | BT 681 | 9.7875 0 0 9.7875 393.5375 701.95 Tm 682 | /f-0-0 1 Tf 683 | <06>Tj 684 | ET 685 | BT 686 | 9.7875 0 0 9.7875 398.625 701.95 Tm 687 | /f-0-0 1 Tf 688 | <02>Tj 689 | ET 690 | Q q 691 | 60 732 360 -105 re W n 692 | 203 721 217 -75 re W n 693 | 252.523 689.488 13790.875 -20.711 re W n 694 | 0 g 695 | BT 696 | 13.8375 0 0 13.8375 305.975 674.475 Tm 697 | /f-1-0 1 Tf 698 | <06>Tj 699 | ET 700 | BT 701 | 13.8375 0 0 13.8375 352.4375 674.475 Tm 702 | /f-1-0 1 Tf 703 | <03>Tj 704 | ET 705 | BT 706 | 13.8375 0 0 13.8375 404.3 674.475 Tm 707 | /f-1-0 1 Tf 708 | <07>Tj 709 | ET 710 | Q q 711 | 60 732 360 -105 re W n 712 | 203 721 217 -75 re W n 713 | 252.523 686.488 13790.875 -17.102 re W n 714 | 0 g 715 | BT 716 | 13.8375 0 0 13.8375 258.5 674.475 Tm 717 | /f-0-0 1 Tf 718 | <0b>Tj 719 | ET 720 | Q q 721 | 60 732 360 -105 re W n 722 | 203 721 217 -75 re W n 723 | 252.523 689.488 13790.875 -20.711 re W n 724 | 0 g 725 | BT 726 | 9.7875 0 0 9.7875 266.9375 680.45 Tm 727 | /f-0-0 1 Tf 728 | <07>Tj 729 | ET 730 | BT 731 | 9.7875 0 0 9.7875 272.1125 680.45 Tm 732 | /f-0-0 1 Tf 733 | <01>Tj 734 | ET 735 | BT 736 | 9.7875 0 0 9.7875 276.35 680.45 Tm 737 | /f-0-0 1 Tf 738 | <0c>Tj 739 | ET 740 | Q q 741 | 60 732 360 -105 re W n 742 | 203 721 217 -75 re W n 743 | 276.25 686.488 13767.148 -17.102 re W n 744 | 0 g 745 | BT 746 | 13.8375 0 0 13.8375 282.2375 674.475 Tm 747 | /f-0-0 1 Tf 748 | <0b>Tj 749 | ET 750 | Q q 751 | 60 732 360 -105 re W n 752 | 203 721 217 -75 re W n 753 | 252.523 689.488 13790.875 -20.711 re W n 754 | 0 g 755 | BT 756 | 9.7875 0 0 9.7875 290.675 680.45 Tm 757 | /f-0-0 1 Tf 758 | <05>Tj 759 | ET 760 | BT 761 | 9.7875 0 0 9.7875 294.875 680.45 Tm 762 | /f-0-0 1 Tf 763 | <03>Tj 764 | ET 765 | BT 766 | 9.7875 0 0 9.7875 299.9875 680.45 Tm 767 | /f-0-0 1 Tf 768 | <0c>Tj 769 | ET 770 | Q q 771 | 60 732 360 -105 re W n 772 | 203 721 217 -75 re W n 773 | 304.898 682.852 13738.5 -13.625 re W n 774 | 0 g 775 | BT 776 | 13.8375 0 0 13.8375 311.3625 674.475 Tm 777 | /f-0-0 1 Tf 778 | <0d>Tj 779 | ET 780 | Q q 781 | 60 732 360 -105 re W n 782 | 203 721 217 -75 re W n 783 | 252.523 689.488 13790.875 -20.711 re W n 784 | 0 g 785 | BT 786 | 9.7875 0 0 9.7875 318.8375 680.1875 Tm 787 | /f-0-0 1 Tf 788 | <08>Tj 789 | ET 790 | BT 791 | 9.7875 0 0 9.7875 324.7375 680.1875 Tm 792 | /f-0-0 1 Tf 793 | <06>Tj 794 | ET 795 | Q q 796 | 60 732 360 -105 re W n 797 | 203 721 217 -75 re W n 798 | 323.898 682.852 13719.5 -13.625 re W n 799 | 0 g 800 | BT 801 | 13.8375 0 0 13.8375 330.3625 674.475 Tm 802 | /f-0-0 1 Tf 803 | <0d>Tj 804 | ET 805 | Q q 806 | 60 732 360 -105 re W n 807 | 203 721 217 -75 re W n 808 | 252.523 689.488 13790.875 -20.711 re W n 809 | 0 g 810 | BT 811 | 9.7875 0 0 9.7875 337.8375 680.1875 Tm 812 | /f-0-0 1 Tf 813 | <02>Tj 814 | ET 815 | BT 816 | 9.7875 0 0 9.7875 342.9 680.1875 Tm 817 | /f-0-0 1 Tf 818 | <04>Tj 819 | ET 820 | Q q 821 | 60 732 360 -105 re W n 822 | 203 721 217 -75 re W n 823 | 359.824 682.852 13683.574 -13.625 re W n 824 | 0 g 825 | BT 826 | 13.8375 0 0 13.8375 366.2875 674.475 Tm 827 | /f-0-0 1 Tf 828 | <0d>Tj 829 | ET 830 | Q q 831 | 60 732 360 -105 re W n 832 | 203 721 217 -75 re W n 833 | 252.523 689.488 13790.875 -20.711 re W n 834 | 0 g 835 | BT 836 | 9.7875 0 0 9.7875 373.7625 680.1875 Tm 837 | /f-0-0 1 Tf 838 | <08>Tj 839 | ET 840 | BT 841 | 9.7875 0 0 9.7875 379.6625 680.1875 Tm 842 | /f-0-0 1 Tf 843 | <04>Tj 844 | ET 845 | Q q 846 | 60 732 360 -105 re W n 847 | 203 721 217 -75 re W n 848 | 379.586 682.852 13663.812 -13.625 re W n 849 | 0 g 850 | BT 851 | 13.8375 0 0 13.8375 386.05 674.475 Tm 852 | /f-0-0 1 Tf 853 | <0d>Tj 854 | ET 855 | Q q 856 | 60 732 360 -105 re W n 857 | 203 721 217 -75 re W n 858 | 252.523 689.488 13790.875 -20.711 re W n 859 | 0 g 860 | BT 861 | 9.7875 0 0 9.7875 393.525 680.1875 Tm 862 | /f-0-0 1 Tf 863 | <06>Tj 864 | ET 865 | BT 866 | 9.7875 0 0 9.7875 398.6125 680.1875 Tm 867 | /f-0-0 1 Tf 868 | <02>Tj 869 | ET 870 | Q q 871 | 60 732 360 -105 re W n 872 | 203 721 217 -75 re W n 873 | 252.523 669.113 13790.875 -22.102 re W n 874 | 0 g 875 | BT 876 | 13.8375 0 0 13.8375 305.9625 654.1 Tm 877 | /f-1-0 1 Tf 878 | <06>Tj 879 | ET 880 | BT 881 | 13.8375 0 0 13.8375 352.425 654.1 Tm 882 | /f-1-0 1 Tf 883 | <03>Tj 884 | ET 885 | BT 886 | 13.8375 0 0 13.8375 404.2875 654.1 Tm 887 | /f-1-0 1 Tf 888 | <07>Tj 889 | ET 890 | BT 891 | 13.8375 0 0 13.8375 409.675 654.1 Tm 892 | /f-2-0 1 Tf 893 | <02>Tj 894 | ET 895 | Q q 896 | 60 732 360 -105 re W n 897 | 203 721 217 -75 re W n 898 | 252.523 666.113 13790.875 -17.102 re W n 899 | 0 g 900 | BT 901 | 13.8375 0 0 13.8375 258.5 654.1 Tm 902 | /f-0-0 1 Tf 903 | <0b>Tj 904 | ET 905 | Q q 906 | 60 732 360 -105 re W n 907 | 203 721 217 -75 re W n 908 | 252.523 669.113 13790.875 -22.102 re W n 909 | 0 g 910 | BT 911 | 9.7875 0 0 9.7875 266.9375 660.075 Tm 912 | /f-0-0 1 Tf 913 | <07>Tj 914 | ET 915 | BT 916 | 9.7875 0 0 9.7875 272.1125 660.075 Tm 917 | /f-0-0 1 Tf 918 | <03>Tj 919 | ET 920 | BT 921 | 9.7875 0 0 9.7875 277.225 660.075 Tm 922 | /f-0-0 1 Tf 923 | <0c>Tj 924 | ET 925 | Q q 926 | 60 732 360 -105 re W n 927 | 203 721 217 -75 re W n 928 | 276.988 666.113 13766.414 -17.102 re W n 929 | 0 g 930 | BT 931 | 13.8375 0 0 13.8375 282.975 654.1 Tm 932 | /f-0-0 1 Tf 933 | <0b>Tj 934 | ET 935 | Q q 936 | 60 732 360 -105 re W n 937 | 203 721 217 -75 re W n 938 | 252.523 669.113 13790.875 -22.102 re W n 939 | 0 g 940 | BT 941 | 9.7875 0 0 9.7875 291.4125 660.075 Tm 942 | /f-0-0 1 Tf 943 | <05>Tj 944 | ET 945 | BT 946 | 9.7875 0 0 9.7875 295.6125 660.075 Tm 947 | /f-0-0 1 Tf 948 | <01>Tj 949 | ET 950 | BT 951 | 9.7875 0 0 9.7875 299.85 660.075 Tm 952 | /f-0-0 1 Tf 953 | <0c>Tj 954 | ET 955 | Q q 956 | 60 732 360 -105 re W n 957 | 203 721 217 -75 re W n 958 | 304.887 662.477 13738.512 -13.625 re W n 959 | 0 g 960 | BT 961 | 13.8375 0 0 13.8375 311.35 654.1 Tm 962 | /f-0-0 1 Tf 963 | <0d>Tj 964 | ET 965 | Q q 966 | 60 732 360 -105 re W n 967 | 203 721 217 -75 re W n 968 | 252.523 669.113 13790.875 -22.102 re W n 969 | 0 g 970 | BT 971 | 9.7875 0 0 9.7875 318.825 659.8125 Tm 972 | /f-0-0 1 Tf 973 | <08>Tj 974 | ET 975 | BT 976 | 9.7875 0 0 9.7875 324.725 659.8125 Tm 977 | /f-0-0 1 Tf 978 | <06>Tj 979 | ET 980 | Q q 981 | 60 732 360 -105 re W n 982 | 203 721 217 -75 re W n 983 | 323.887 662.477 13719.512 -13.625 re W n 984 | 0 g 985 | BT 986 | 13.8375 0 0 13.8375 330.35 654.1 Tm 987 | /f-0-0 1 Tf 988 | <0d>Tj 989 | ET 990 | Q q 991 | 60 732 360 -105 re W n 992 | 203 721 217 -75 re W n 993 | 252.523 669.113 13790.875 -22.102 re W n 994 | 0 g 995 | BT 996 | 9.7875 0 0 9.7875 337.825 659.8125 Tm 997 | /f-0-0 1 Tf 998 | <02>Tj 999 | ET 1000 | BT 1001 | 9.7875 0 0 9.7875 342.8875 659.8125 Tm 1002 | /f-0-0 1 Tf 1003 | <04>Tj 1004 | ET 1005 | Q q 1006 | 60 732 360 -105 re W n 1007 | 203 721 217 -75 re W n 1008 | 359.812 662.477 13683.586 -13.625 re W n 1009 | 0 g 1010 | BT 1011 | 13.8375 0 0 13.8375 366.275 654.1 Tm 1012 | /f-0-0 1 Tf 1013 | <0d>Tj 1014 | ET 1015 | Q q 1016 | 60 732 360 -105 re W n 1017 | 203 721 217 -75 re W n 1018 | 252.523 669.113 13790.875 -22.102 re W n 1019 | 0 g 1020 | BT 1021 | 9.7875 0 0 9.7875 373.75 659.8125 Tm 1022 | /f-0-0 1 Tf 1023 | <08>Tj 1024 | ET 1025 | BT 1026 | 9.7875 0 0 9.7875 379.65 659.8125 Tm 1027 | /f-0-0 1 Tf 1028 | <02>Tj 1029 | ET 1030 | Q q 1031 | 60 732 360 -105 re W n 1032 | 203 721 217 -75 re W n 1033 | 379.574 662.477 13663.824 -13.625 re W n 1034 | 0 g 1035 | BT 1036 | 13.8375 0 0 13.8375 386.0375 654.1 Tm 1037 | /f-0-0 1 Tf 1038 | <0d>Tj 1039 | ET 1040 | Q q 1041 | 60 732 360 -105 re W n 1042 | 203 721 217 -75 re W n 1043 | 252.523 669.113 13790.875 -22.102 re W n 1044 | 0 g 1045 | BT 1046 | 9.7875 0 0 9.7875 393.5125 659.8125 Tm 1047 | /f-0-0 1 Tf 1048 | <06>Tj 1049 | ET 1050 | BT 1051 | 9.7875 0 0 9.7875 398.6 659.8125 Tm 1052 | /f-0-0 1 Tf 1053 | <04>Tj 1054 | ET 1055 | Q Q 1056 | showpage 1057 | %%Trailer 1058 | %%EOF 1059 | -------------------------------------------------------------------------------- /doc/tex/feyn.eps: -------------------------------------------------------------------------------- 1 | %!PS-Adobe-2.0 EPSF-2.0 2 | %%Creator: dvips(k) 5.98 Copyright 2009 Radical Eye Software 3 | %%Title: feyn.dvi 4 | %%CreationDate: Fri Nov 8 19:37:15 2013 5 | %%BoundingBox: 133 346 480 441 6 | %%EndComments 7 | %DVIPSWebPage: (www.radicaleye.com) 8 | %DVIPSCommandLine: dvips feyn.dvi -E -o feyn.eps 9 | %DVIPSParameters: dpi=600 10 | %DVIPSSource: TeX output 2013.11.08:1937 11 | %%BeginProcSet: tex.pro 0 0 12 | %! 13 | /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S 14 | N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 15 | mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 16 | 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ 17 | landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize 18 | mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ 19 | matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round 20 | exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ 21 | statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] 22 | N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin 23 | /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array 24 | /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 25 | array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N 26 | df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A 27 | definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get 28 | }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} 29 | B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 30 | 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S 31 | /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy 32 | setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask 33 | restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn 34 | /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put 35 | }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ 36 | bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A 37 | mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ 38 | SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ 39 | userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 40 | 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 41 | index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N 42 | /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ 43 | /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) 44 | (LaserWriter 16/600)]{A length product length le{A length product exch 0 45 | exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse 46 | end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask 47 | grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} 48 | imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round 49 | exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto 50 | fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p 51 | delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} 52 | B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ 53 | p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S 54 | rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end 55 | 56 | %%EndProcSet 57 | %%BeginProcSet: special.pro 0 0 58 | %! 59 | TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N 60 | /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N 61 | /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N 62 | /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ 63 | /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho 64 | X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B 65 | /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ 66 | /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known 67 | {userdict/md get type/dicttype eq{userdict begin md length 10 add md 68 | maxlength ge{/md md dup length 20 add dict copy def}if end md begin 69 | /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S 70 | atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ 71 | itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll 72 | transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll 73 | curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf 74 | pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} 75 | if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 76 | -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 77 | get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip 78 | yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub 79 | neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ 80 | noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 81 | 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get 82 | neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 83 | 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 84 | 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 85 | -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S 86 | TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ 87 | Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale 88 | }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState 89 | save N userdict maxlength dict begin/magscale true def normalscale 90 | currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts 91 | /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x 92 | psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx 93 | psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub 94 | TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def 95 | @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll 96 | newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto 97 | closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N 98 | /@beginspecial{SDict begin/SpecialSave save N gsave normalscale 99 | currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} 100 | N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs 101 | neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate 102 | rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse 103 | scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg 104 | lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx 105 | ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N 106 | /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ 107 | pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave 108 | restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B 109 | /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 110 | setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY 111 | moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix 112 | matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc 113 | savematrix setmatrix}N end 114 | 115 | %%EndProcSet 116 | TeXDict begin 40258437 52099154 1000 600 600 (feyn.dvi) 117 | @start end 118 | %%EndProlog 119 | %%BeginSetup 120 | %%Feature: *Resolution 600dpi 121 | TeXDict begin 122 | end 123 | %%EndSetup 124 | TeXDict begin 1 0 bop 515 3109 a @beginspecial 69.738312 125 | @llx 632.626099 @lly 414.740204 @urx 725.250488 @ury 126 | 3450 @rwi @clip @setspecial 127 | %%BeginDocument: feyn.ps 128 | %!PS-Adobe-3.0 129 | %%Creator: cairo 1.9.5 (http://cairographics.org) 130 | %%CreationDate: Fri Nov 8 19:27:39 2013 131 | %%Pages: 1 132 | %%BoundingBox: 0 0 612 792 133 | %%DocumentData: Clean7Bit 134 | %%LanguageLevel: 2 135 | %%DocumentMedia: Letter 612 792 0 () () 136 | %%Orientation: Portrait 137 | %%EndComments 138 | %%BeginProlog 139 | /languagelevel where 140 | { pop languagelevel } { 1 } ifelse 141 | 2 lt { /Helvetica findfont 12 scalefont setfont 50 500 moveto 142 | (This print job requires a PostScript Language Level 2 printer.) show 143 | showpage quit } if 144 | /q { gsave } bind def 145 | /Q { grestore } bind def 146 | /cm { 6 array astore concat } bind def 147 | /w { setlinewidth } bind def 148 | /J { setlinecap } bind def 149 | /j { setlinejoin } bind def 150 | /M { setmiterlimit } bind def 151 | /d { setdash } bind def 152 | /m { moveto } bind def 153 | /l { lineto } bind def 154 | /c { curveto } bind def 155 | /h { closepath } bind def 156 | /re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto 157 | 0 exch rlineto 0 rlineto closepath } bind def 158 | /S { stroke } bind def 159 | /f { fill } bind def 160 | /f* { eofill } bind def 161 | /n { newpath } bind def 162 | /W { clip } bind def 163 | /W* { eoclip } bind def 164 | /BT { } bind def 165 | /ET { } bind def 166 | /pdfmark where { pop globaldict /?pdfmark /exec load put } 167 | { globaldict begin /?pdfmark /pop load def /pdfmark 168 | /cleartomark load def end } ifelse 169 | /BDC { mark 3 1 roll /BDC pdfmark } bind def 170 | /EMC { mark /EMC pdfmark } bind def 171 | /cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def 172 | /Tj { show currentpoint cairo_store_point } bind def 173 | /TJ { 174 | { 175 | dup 176 | type /stringtype eq 177 | { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse 178 | } forall 179 | currentpoint cairo_store_point 180 | } bind def 181 | /cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore 182 | cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def 183 | /Tf { pop /cairo_font exch def /cairo_font_matrix where 184 | { pop cairo_selectfont } if } bind def 185 | /Td { matrix translate cairo_font_matrix matrix concatmatrix dup 186 | /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point 187 | /cairo_font where { pop cairo_selectfont } if } bind def 188 | /Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def 189 | cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def 190 | /g { setgray } bind def 191 | /rg { setrgbcolor } bind def 192 | /d1 { setcachedevice } bind def 193 | %%EndProlog 194 | %!FontType1-1.1 f-0-0 1.0 195 | 11 dict begin 196 | /FontName /f-0-0 def 197 | /PaintType 0 def 198 | /FontType 1 def 199 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def 200 | /FontBBox {0 0 0 0 } readonly def 201 | /Encoding 256 array 202 | 0 1 255 {1 index exch /.notdef put} for 203 | dup 1 /uni0063 put 204 | dup 2 /uni03C1 put 205 | dup 3 /uni0064 put 206 | dup 4 /uni03C3 put 207 | dup 5 /uni0062 put 208 | dup 6 /uni03BD put 209 | dup 7 /uni0061 put 210 | dup 8 /uni03BC put 211 | dup 9 /uni0069 put 212 | dup 10 /uni0067 put 213 | dup 11 /uni0066 put 214 | dup 12 /uni0065 put 215 | dup 13 /uni03B7 put 216 | readonly def 217 | currentdict end 218 | currentfile eexec 219 | f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467 220 | b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de 221 | 800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f 222 | 2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b 223 | 9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799 224 | 69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5 225 | 8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251caca32d24105429 226 | 52dab918f902a7b3fad186ee064ddb928b9c9f31290e40b6d35742a408fac1395aa15276a34fae 227 | 5fb1f2d18d542c1c6326f1fe74571a3eeee73f103af9a0ee4d7003927f243e2e9e678b7ea591ec 228 | f4562824c149b33831f48af15244e8940c2f9b4245028ba5d0410f44d85c3b14d738adecdb8701 229 | f4598d8206f972af95fc70b29a0248d75ee62a7d09492ed77122d8ed625e97504c25e4b0253163 230 | ac247ab4771b13d35bb2d0359ddf874162ee62f12e728c54cfcbaf4a19c1c1981f9e9ccc897252 231 | 5de119c1282433ab0cef7eb2332a0888a9e5536a86d2a90345910e98016c73883c7182af8d84d4 232 | cab3e5d1fc62e9f16869e15be180a856bfe2015167381da7946420e0d3cdd9dae38e85feca5ede 233 | eaa29566b8d90a6a965c8329403a27b607eb3ba08535d14968a574a789ef036c422149b91bfb72 234 | fa938a89c9d6f6f3d4a31b73a6c36f904a704bddcfd7fd4ac2f1447f368cdb10118c085e775e82 235 | f8e82b84e472c0d0c266bbcfbb14e2a3c61c4b30e6219a6b13cd653bcbd71de3260b04bac48df0 236 | 1548b8d8ac1d11b7d6c40e68bd1aff59bc339bad9ab9c745f029c58922706d9f472659081b6e79 237 | 74f12a322f151e369110fcfd3387eed807e2c417eed6f2fcb2e8c0b100fead3b89980f46fa3604 238 | 272d9ebe8cf1ae2f0e233876f32f1b7c87b2ecebac78c95edaace67b48eef8f21c521fc8b7feab 239 | 73c6f958317ff88d8f46ed98a7f67833a3726beb14773e70d34b57da841e0cd43aa753dd1f73b0 240 | a05b8f7ba44671d6a9986d23656a45869254da892c6c2048a58c742edea4be279592eb10e1d4c8 241 | 8e0395d74df46689cc0ae10898ca496df511cf0b68d82a1e01a63f91edd32c43f916201ca00d15 242 | b39a7831193edae8457848f75160942c8b0fcd221463804a01c8a7799171335c934aa4dc6ddfb1 243 | 72a19a5d1ff294b7ffa6b2b255be3ae3d64bb431732080d99782a477ac29fc32c8222d64f86563 244 | c314f3fa83d853cd0657721e17d008ac9c237a6ed4c23e95b77a0f3d1b09fd24dfbe1fd19364e9 245 | ce5d7c3e002dfa00dfa4ddeba0a6aeea4a20e9d1674417507133f5ac143f0472d39e28f7a38d13 246 | 304fa809866c4d8c8aba25e9e8ec7b3445869e4e9c54edcf32980c88beeedd604f4961d1810e28 247 | 1fb1f6c76259182e8f03d67dd2ffed266282aca08e0db847e5a92fb682adff556ebfe98a3f2e12 248 | 196bb778883dd5a2989c985ebf5d09cccae0815ba4ae59a8376bb546bf15fb80cbbcfb7c836036 249 | e064c533b76a9ef3b83ead7a2e41d6095ed0283221e8c8db9f0541a5ea5953d6a7b5cf13597dc9 250 | 57c27787dc9127c87ff5f626247fd0d6dfa62738560943185131275c018a7b73967cea4ed150f0 251 | 067de997deaa9d65e9b66b9f973f154e2cd3246403375cb5341c54c8d95c53a7cc6bc54eeb7429 252 | d18478825a51aece84c5e04b6be6ca82041f9b3b391fc8d0a108c6028effa448087a6271ef50bd 253 | 69ddbf90f38d6803eef94f241aa9421ec2383d681abcdf20ad491e9bfa667cd78c5e682a837406 254 | 9f3849fbcfa4c4ee547bc8413f8bb00488703a5c440af4391608a6ee89999e32fc03ed2ccc07c3 255 | 1171a68fb64d97e42aed15807722469a6e7254306a12942e1d17d8097b150edbfbadb78d917101 256 | 2a28293c1879e1a7cc41ab2ac13494248b3e9210bbad82dc116c599c732bd32e5127b8ef0f8efa 257 | 0d0764cc40c411216eef1b62a3f69d96248cefc4b5b636136786ccb99842b81bd268a72aa6cdee 258 | 2563729606eb516aa81a628cc4b700e2220c5359ca6d1a79ad1e3724c5c53a6c0f263e9ba50198 259 | 074fc7014b45e789d72ef6a1cf3c880a7d84f7a8bbe8de772efabc8eaa5350458173868d42f37f 260 | 31ac992e6286d720c840cd69b6c4ce9c4814e20371530e7bed067688d96f3f9d578da7496844ab 261 | 46e0ac548f09151b4b483c86b9add60fdf56e8f1f08f96fe5ba5f4413820a87fa6e0da0f81bf6d 262 | c255f96e71ba05c6d5b7dab8e5a2c2611e280cdb0ff7bb4ab1724cc7a442a1531aec9714c31154 263 | 11393e6b89026234af50401ae150cc4863c996bc31cdfc0dfb5d8c1450efe56958f0cfea00562e 264 | e58d0c1e71e0934ccf0b131c07c777c2cc115598489e7287f2a7c049bc17670bea561c8f0903e8 265 | 30978f9ce72cba45640715863c756b6333db7bf0a6566bdcae460a96a13af283b00cd8424af1be 266 | 5807dd80e940802e0a10693ef50f680593bcc5ce0882865e9585fbe9d1cb1e43695d808bf5f227 267 | 42d7ec172b51968913fa279f853c8a134bd9cf2d41d5db30cb411095e2163dec7d7c78920fc319 268 | 0b7395d1f9291ecb105a6c78e7b487ef93907545f649a2e7007b46e7d90abd2431996848cf6fd8 269 | 8e14f800dde3417fd098e06e95b2ccadcf47590e6ffcb7808bafef4815209c4031289cf8797726 270 | 6d808f0f63b9eb321fe99505100c1e4671ce6bf90dfebb18e470be77630e406583621dac9ea1f1 271 | 7346ed93eda51b2736926931dfbea227aa942ab769e4597729dc72ba7c55d5c711276256f6e8cb 272 | 76ad41a22752728eefa24b7430f88adb6f2cb1d183a7684d6482277e81515dda08497c7b32d383 273 | 7846cf499ed2bc126298703b2e161ccb47b7fd70bc5893d5858b0e613ef1a937cb43c93d54c542 274 | 567ca0725871bc548549f7aead112373b046aba9e471a24ca47a0a3aa996c381c467cdd1b6e966 275 | 453b0fd3cd9d03dcdb9a2fc2711f02a3c9aa538e2fdf62366c87939936fe698e6813a8f038b9a9 276 | eab2aadab670af5b46031abbbbfe4a4bbf1efd91fbc640003a8d7adc1f56a9795420843cac92a9 277 | 9c1f9bc291263fb0c4cd60f42356e28a2defb6371489c6e2438f6a8291261d7c960a01e18aadf6 278 | 336283eb5fc10219827191f132cd9ef1a81fbdc9be4311b187c6e7c437f07949d9a79072ca2586 279 | d71590a6e35388e79d7444673a2d8e9f2296b5458f9f2d9d43bf30ed526bd410742a2b9d2e966e 280 | 93772135c34832598e632212515517c79131133167118b8813d434f48f024391ff828168b10828 281 | e1f3b837beeef84f0bb0f809fca285c276a74f6ae6ea8e048f3e08bee4cad07379f97bc943ebbf 282 | 7668dd9082364a593abf224a4c8759ba8a92308922b42f1ca866554990ae2d421a377db5bb4507 283 | 88f7f78d0684d50e21a56bbc1d009463533b0d82a944c2565214a84fb5c4aea253478f3833bfc6 284 | 90a1b997d0b92d006de252e764b2e0b2e791537b6b0065c588c0a10c87bf0ab4d018b0fbf4042a 285 | e8b5f118fd81d2fcc828029896d7d06aa08a9002a8c649eb398e40ce871bd798471a2b4d341366 286 | eb85ff246e1cb085d8902a23ba07576fd5e8b0f367fcb918cb9237116bdfd4c847edcfdd6d47dc 287 | 67d5776c7f89c5072f16f9cddc2f2b0c2c89d1d2aa980c76d7d4e41bff321a003efe8bd1f8d3a3 288 | ab29cc961706f13cc8bcb1c5642dfa64bf7cab70fe663932a4a4e475fcc51bcd741c47fb726314 289 | 68037a2295507caf95d8a5808e41d8482504b64e638cbe4548204e45c858f5146dcf837c0f9fa9 290 | b290a1e7a530b8d23b99d0983ea1710ef14f894769be2917c501946102fc09bfd9f87ad0a25924 291 | 31b949a5dcec79a19c0025cace559c411a6c0b2109f992e38cc210271b1db3405332c8c9b9f5eb 292 | ed1ab71f7e93884427b70eecb8c822114bac10fab9440ea931586e3611f00e3fc9d42714ac8d0b 293 | 302523a6199747f52f5bea1743690d2afd0db7def0c51a598d4933e6df86a8880e71775535f675 294 | ba93008b8ec953b55ed8cd10eeafdb08479451d06937384503936430b95413aa1d1fd50518b640 295 | 14b2a1410f09283fd0f772e4d6ced7928629fdd29ec661f7b6bc860963d476acc6dc4d86d1b3f9 296 | 4adf64ff7a2ca00b19de79be3cd38c4773bcc675326acd18649730175e1fe15cd45a506610f58c 297 | eec2e489e0f48014e3411e47d340e5e8f91f497606772db541e47255071d736dd31cca7a9373ff 298 | aebb0b50ce44838705e1e00952c9c48bb211c82782095ae9f553b4fbff66ce4093a13624aa4173 299 | 7d4ff74fa0326b45e7e1a7c81f7e5a86a8ed8eaae3892c8196879a2d0418e289dc069807b47100 300 | 9693c3d40400af62332cdb0f8d49fb8c1f3fa68b24f3280cf6f56668d16cec2ee408646f1694da 301 | 9aee10bc3a712c71714a66841e2dde4ca9b1a098d84da8a2aed41b1548860f559a16c39d2bb601 302 | 3ca333a66675fbbe5923f0dd3bcf78eea20d58a2121273d322e885f7344525fd836a84116d3d86 303 | 8ff469ec30ce0500941cf41be5a03e14dace62bf2fcc696c63a503781a70edee316080fd8e0df1 304 | db064e6fe873c0dec406c1e26e12234206bf678b6169f7ee4ac3d7062ac7ed0f8cea1394ef335e 305 | e9e0afc431f4a35ef4559e5de05b18b7a0c1a76f4c992df29f5d2e6dd9ec75811be9108f1ca1c4 306 | b6b70e795fdffc6be57822f634387535bd4dd514161f1b89e214c82aff6612a08f15b78c5b1fd5 307 | d02c2a427b008ccb4dd4839cb2d5d11447b784a860c3c92e7170da86673dd67317945e6f5d8841 308 | cef99d860f7f832d3f41c70ef912fdc1fe5783a8d227fb785b47060b81f61cce74d2f185c3b4b8 309 | 4840d5242850e20a5cbef8eed6939d24252614cdda896ec168b8e62af7577962c42bf0cd95e4ce 310 | db5ae23fd238c6f57bbc126caebf71ad62ac62fe5e10637a1b37982e457c4ad9308381c94c3a1e 311 | a7e25293ff0ae528939f8bfab6b197c46120f599f76663d817ce89819019fa101a87a7530000000000000000000000000000000000000000000000000000000000000000 312 | 0000000000000000000000000000000000000000000000000000000000000000 313 | 0000000000000000000000000000000000000000000000000000000000000000 314 | 0000000000000000000000000000000000000000000000000000000000000000 315 | 0000000000000000000000000000000000000000000000000000000000000000 316 | 0000000000000000000000000000000000000000000000000000000000000000 317 | 0000000000000000000000000000000000000000000000000000000000000000 318 | 0000000000000000000000000000000000000000000000000000000000000000 319 | cleartomark 320 | %!FontType1-1.1 f-1-0 1.0 321 | 11 dict begin 322 | /FontName /f-1-0 def 323 | /PaintType 0 def 324 | /FontType 1 def 325 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def 326 | /FontBBox {0 0 0 0 } readonly def 327 | /Encoding 256 array 328 | 0 1 255 {1 index exch /.notdef put} for 329 | dup 1 /uni002C put 330 | dup 2 /uni003D put 331 | dup 3 /uni2212 put 332 | dup 4 /uni0032 put 333 | dup 5 /uni002B put 334 | dup 6 /uni0028 put 335 | dup 7 /uni0029 put 336 | readonly def 337 | currentdict end 338 | currentfile eexec 339 | f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467 340 | b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de 341 | 800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f 342 | 2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b 343 | 9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799 344 | 69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5 345 | 8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251ca40352c6e2284e 346 | 344947523a70f7b109147467f7576cb1df156dcf11f88b6ed044c2a8e38cb27f464808f9054b2b 347 | 3f201b7222a18384c8953154b763da6009475587a43888d14daa88a2aa8a31c35faf4314478c35 348 | 7f028a2973948284037647ce5236eb13b7f13a83e7704dfdffdd0b8c2c6beaedd781351f06f7b7 349 | fe027bc702944086a6711cfafade35b4edac373c29fc65a861dfdffc9bb42fae5b473601d504c4 350 | a7ab1a00b19594b888321cac35187b1da2ffe78ab28bec8ecd03bb169a190e7dd11f012472c029 351 | de1f84641a0cffa91beaff5c1414d57c3164763bb0d9fe31c2fed571f76ec6b650f11776d74225 352 | 543ed5e185a7bc0ff422b4bf634b05f61daba70e2c52120629d4ad6b60ecc252363d3df979c07a 353 | 695e9a58a664d24bc070753f6a3f487e3349a2ce97de445d0ee0c4d2701b4ab45127651c70b81a 354 | 27d62d217ae44f09be2f829bad2859afc67d004e59b9c81fc9908d46d226a2a61d39fffabed456 355 | daf392ef773dcd7741c44e7abd7105a2f278fe4adb1cc7ff6ff3b5ef2b53fedf754e5f7a2fa104 356 | e729d697440358221bfd9622d3ae38701333107a831fbe6ada9b71c3bad37968574134d9cb369b 357 | b2b72a6f85ca23f662e75a8e6d2d89ef62f35723cb883e5fb9fa7bcd1ea4222763e17e8d7adb2b 358 | 41fc474125766a51bb075323e5a8dbf6cabc75b544690b65a7b0df84ef86a3812a1d9cfa4caf3d 359 | 42d66ac47eeff771d42f834cd419160850a3c898ae2bd8ea21abb9ae2023f982ab0a5033b0fb8b 360 | 822e88eafa10c2446945b7bf16ccc45840c99d8dee216425047fec2890fb2ac2b34c92fa9ea716 361 | 61bfaefeac1ca9eaff18b79b0fa9d1d37eadffea51db4dcbbcb36daad6c3c1490ee1c210e8fc2e 362 | 3fe1428b2daad0c96461adc6ed6c67479cb9a053417527507596479545d311ffa96c662a16a4eb 363 | 03029756e340ccb6b589cc67422e907cdf0df2df0f377d540eb7f21bd1fb0ed29d212555f5da3f 364 | 2687d0837809b5639f89e5c4b41c039ffb680f57c66b59c69e789500b10e76c4e8f077ad66e51d 365 | b430756c982574185e026b5b786572497a6859bb8ba4fee35bfde7f4d60a35a98aae5ba89a5a36 366 | 24149b702e4315c524d34078e2237c0f30661561318cdb75230d13f9b7f033d960e126c373a4cc 367 | c137b7f5a50620bdd50ccdb9f948272822e1fa1634b3498944b05cac1e1491a814b5b29e6f8aef 368 | 5d8ffd71eff4e1c68c74a9f43c43902f775b9534a4b7216d621d69a096a43ea25e34ba7638b367 369 | 0c227de654137620fd66ff23b3c91574bacbaf22cc15a91033670a04c652989f0a42338978a501 370 | 10a2d210de4f1149ba0071be8da4a3e1f4821bde945032eeeac861769caeab829e5ffe8cca1045 371 | e807d0fd46bc28abe59529cac025555a01ba95516faf28b563977b5d642ae132111c5b93cb545e 372 | 5c7c3de9aee2cdb0182ddecaa902e70253aec4d564b3479df927e4f23dbff2ba6ae55ebd88a391 373 | 697fe7f649b80fcf2fbe77d3998598e8b2d9755266a502e8302c2cf39b2dd654860f45ecf1f350 374 | af55fadf65f6c3e113e3d319df0000000000000000000000000000000000000000000000000000000000000000 375 | 0000000000000000000000000000000000000000000000000000000000000000 376 | 0000000000000000000000000000000000000000000000000000000000000000 377 | 0000000000000000000000000000000000000000000000000000000000000000 378 | 0000000000000000000000000000000000000000000000000000000000000000 379 | 0000000000000000000000000000000000000000000000000000000000000000 380 | 0000000000000000000000000000000000000000000000000000000000000000 381 | 0000000000000000000000000000000000000000000000000000000000000000 382 | cleartomark 383 | %!FontType1-1.1 f-2-0 1.0 384 | 11 dict begin 385 | /FontName /f-2-0 def 386 | /PaintType 0 def 387 | /FontType 1 def 388 | /FontMatrix [0.001 0 0 0.001 0 0] readonly def 389 | /FontBBox {0 0 0 0 } readonly def 390 | /Encoding 256 array 391 | 0 1 255 {1 index exch /.notdef put} for 392 | dup 1 /uni005B put 393 | dup 2 /uni005D put 394 | readonly def 395 | currentdict end 396 | currentfile eexec 397 | f983ef0097ece636fb4a96c74d26ab84185f6dfa4a16a7a1c27bbe3f1156aea698df336d20b467 398 | b10e7f33846656653c5ac6962759d3056cbdb3190bac614b984bf5a132dc418192443014ba63de 399 | 800d392b6fea026574bb2535fd7bb5338f35bf15a88ea328fdaa49670c7852e3d060f3c5d6b07f 400 | 2ef6d0f22646c5d18e19a2ae3ee120390f6dd96f76dcf1e127de5e9299077a00c17c0d71e36e5b 401 | 9d5ec58fceda57739a6a4214d4b79d6c48d2784b60c320323c7acddddf34db833cac0cf109f799 402 | 69d114a330d372e5c978a66acc84e3fe5557f6240856a013ffaa0199444e5c5036f775eba4a5c5 403 | 8cde66cf604b9aca2178431127b8a1ff7ed633a65c04600af5f573483112251ca90bc9cf8825c7 404 | 41412dda705317b7cb229dd377ff3d18e94daa9bad8cfa76772d207d863598201b4f33496e545f 405 | 73b12877266e350df9a1893cbee96648d2c26d53b0fa076b1e1a5782c963a67e36fab60f60d8e8 406 | b55ae26c3f5d333264cf1f7b521628787b7127fe25b7de80e45561ccbad2002742b70eb47cb524 407 | aace451130516719348e7bc9e80c5c09a1749278c99f9a379efd41203fe6801053f0546eca3006 408 | 11b839df0e5eab1b03c6e1c7c442eb1310f7497047c36a3f65b0b5cade0b608deaacd9b2e45edb 409 | 9b98394295458d672c1d5f5143cfb66424d0348b97e593a910b87b3f3a7edd4c620f889f3e705f 410 | ea6985156eb7be9d3bc7a9baa21269962ebfda541d3f3f639ec453736fe1d3e6acce2b69b0209d 411 | 6163df4749a80e1415ca2b5e813ecc4d3bf1ffbfbf2a1072e06c111cf65a83680fb3295dbb78b6 412 | 6d79c05b05950000000000000000000000000000000000000000000000000000000000000000 413 | 0000000000000000000000000000000000000000000000000000000000000000 414 | 0000000000000000000000000000000000000000000000000000000000000000 415 | 0000000000000000000000000000000000000000000000000000000000000000 416 | 0000000000000000000000000000000000000000000000000000000000000000 417 | 0000000000000000000000000000000000000000000000000000000000000000 418 | 0000000000000000000000000000000000000000000000000000000000000000 419 | 0000000000000000000000000000000000000000000000000000000000000000 420 | cleartomark 421 | %%Page: 1 1 422 | %%BeginPageSetup 423 | %%PageMedia: Letter 424 | %%PageBoundingBox: 0 0 612 792 425 | %%EndPageSetup 426 | q 0 0 612 792 rectclip q 427 | 54 738 504 -661.699 re W n 428 | 1 g 429 | 54 738 504 -661.699 re f 430 | Q q 431 | 60 732 360 -105 re W n 432 | 0 g 433 | 0.848528 w 434 | 1 J 435 | 0 j 436 | [] 0.0 d 437 | 4 M q -1 -1 -1 1 0 792 cm 438 | -7.5 -120 m -4.203 -120 -1.535 -122.137 -1.535 -124.773 c -1.533 439 | -126.529 -2.424 -127.955 -3.521 -127.955 c -4.619 -127.955 -5.512 440 | -126.531 -5.512 -124.773 c -5.512 -122.137 -2.84 -120 0.453 -120 c 3.75 441 | -120 6.422 -122.137 6.422 -124.773 c 6.422 -126.531 5.529 -127.955 442 | 4.432 -127.955 c 3.334 -127.955 2.443 -126.529 2.443 -124.771 c 2.445 443 | -122.137 5.113 -120 8.41 -120 c 11.703 -120 14.375 -122.137 14.375 444 | -124.773 c 14.377 -126.529 13.486 -127.955 12.389 -127.955 c 11.289 445 | -127.953 10.398 -126.531 10.398 -124.773 c 10.398 -122.137 13.07 -120 446 | 16.363 -120 c 19.66 -120 22.332 -122.137 22.332 -124.773 c 22.332 447 | -126.531 21.439 -127.955 20.342 -127.955 c 19.244 -127.955 18.354 448 | -126.529 18.354 -124.771 c 18.354 -122.139 21.023 -120 24.32 -120 c S Q 449 | q 1 -1 -1 -1 0 792 cm 450 | 120 -7.5 m 123.297 -7.5 125.965 -9.637 125.965 -12.273 c 125.967 451 | -14.029 125.076 -15.455 123.979 -15.455 c 122.881 -15.455 121.988 452 | -14.031 121.988 -12.273 c 121.988 -9.637 124.66 -7.5 127.953 -7.5 c 453 | 131.25 -7.5 133.922 -9.637 133.922 -12.273 c 133.922 -14.031 133.029 454 | -15.455 131.932 -15.455 c 130.834 -15.455 129.943 -14.029 129.943 455 | -12.271 c 129.945 -9.637 132.613 -7.5 135.91 -7.5 c 139.203 -7.5 456 | 141.875 -9.637 141.875 -12.273 c 141.877 -14.029 140.986 -15.455 457 | 139.889 -15.455 c 138.789 -15.453 137.898 -14.031 137.898 -12.273 c 458 | 137.898 -9.637 140.57 -7.5 143.863 -7.5 c 147.16 -7.5 149.832 -9.637 459 | 149.832 -12.273 c 149.832 -14.031 148.939 -15.455 147.842 -15.455 c 460 | 146.744 -15.455 145.854 -14.029 145.854 -12.271 c 145.854 -9.639 461 | 148.523 -7.5 151.82 -7.5 c S Q 462 | q -1 1 1 1 0 792 cm 463 | -120 7.5 m -116.703 7.5 -114.035 5.363 -114.035 2.727 c -114.033 0.971 464 | -114.924 -0.455 -116.021 -0.455 c -117.119 -0.455 -118.012 0.969 465 | -118.012 2.727 c -118.012 5.363 -115.34 7.5 -112.047 7.5 c -108.75 7.5 466 | -106.078 5.363 -106.078 2.727 c -106.078 0.969 -106.971 -0.455 -108.068 467 | -0.455 c -109.166 -0.455 -110.057 0.971 -110.057 2.729 c -110.055 5.363 468 | -107.387 7.5 -104.09 7.5 c -100.797 7.5 -98.125 5.363 -98.125 2.727 c 469 | -98.123 0.971 -99.014 -0.455 -100.111 -0.455 c -101.211 -0.453 -102.102 470 | 0.969 -102.102 2.727 c -102.102 5.363 -99.43 7.5 -96.137 7.5 c -92.84 471 | 7.5 -90.168 5.363 -90.168 2.727 c -90.168 0.969 -91.061 -0.455 -92.158 472 | -0.455 c -93.256 -0.455 -94.146 0.971 -94.146 2.729 c -94.146 5.361 473 | -91.477 7.5 -88.18 7.5 c S Q 474 | q 1 1 1 -1 0 792 cm 475 | 7.5 120 m 10.797 120 13.465 117.863 13.465 115.227 c 13.467 113.471 476 | 12.576 112.045 11.479 112.045 c 10.381 112.045 9.488 113.469 9.488 477 | 115.227 c 9.488 117.863 12.16 120 15.453 120 c 18.75 120 21.422 117.863 478 | 21.422 115.227 c 21.422 113.469 20.529 112.045 19.432 112.045 c 18.334 479 | 112.045 17.443 113.471 17.443 115.229 c 17.445 117.863 20.113 120 23.41 480 | 120 c 26.703 120 29.375 117.863 29.375 115.227 c 29.377 113.471 28.486 481 | 112.045 27.389 112.045 c 26.289 112.047 25.398 113.469 25.398 115.227 c 482 | 25.398 117.863 28.07 120 31.363 120 c 34.66 120 37.332 117.863 37.332 483 | 115.227 c 37.332 113.469 36.439 112.045 35.342 112.045 c 34.244 112.045 484 | 33.354 113.471 33.354 115.229 c 33.354 117.861 36.023 120 39.32 120 c S Q 485 | 129.75 679.5 m 129.75 676.5 125.25 676.5 125.25 679.5 c 125.25 682.5 486 | 129.75 682.5 129.75 679.5 c f 487 | 0.75 w 488 | 0 J 489 | q 1 0 0 -1 0 792 cm 490 | 129.75 112.5 m 129.75 115.5 125.25 115.5 125.25 112.5 c 125.25 109.5 491 | 129.75 109.5 129.75 112.5 c S Q 492 | Q q 493 | 60 732 360 -105 re W n 494 | 71 649 23 -22 re W n 495 | 64.711 646.375 13843.789 -13.613 re W n 496 | 0 g 497 | BT 498 | 13.8375 0 0 13.8375 71 638 Tm 499 | /f-0-0 1 Tf 500 | <01>Tj 501 | ET 502 | BT 503 | 13.8375 0 0 13.8375 77 638 Tm 504 | /f-1-0 1 Tf 505 | <01>Tj 506 | ET 507 | BT 508 | 13.8375 0 0 13.8375 83.1625 638 Tm 509 | /f-0-0 1 Tf 510 | <02>Tj 511 | ET 512 | Q q 513 | 60 732 360 -105 re W n 514 | 165 649 23 -22 re W n 515 | 158.699 649.863 13843.801 -16.789 re W n 516 | 0 g 517 | BT 518 | 13.8375 0 0 13.8375 165 638 Tm 519 | /f-0-0 1 Tf 520 | <03>Tj 521 | ET 522 | BT 523 | 13.8375 0 0 13.8375 172.2375 638 Tm 524 | /f-1-0 1 Tf 525 | <01>Tj 526 | ET 527 | BT 528 | 13.8375 0 0 13.8375 178.4 638 Tm 529 | /f-0-0 1 Tf 530 | <04>Tj 531 | ET 532 | Q q 533 | 60 732 360 -105 re W n 534 | 71 724 23 -22 re W n 535 | 64.801 724.863 13843.699 -16.789 re W n 536 | 0 g 537 | BT 538 | 13.8375 0 0 13.8375 71 713 Tm 539 | /f-0-0 1 Tf 540 | <05>Tj 541 | ET 542 | BT 543 | 13.8375 0 0 13.8375 76.9375 713 Tm 544 | /f-1-0 1 Tf 545 | <01>Tj 546 | ET 547 | BT 548 | 13.8375 0 0 13.8375 83.1 713 Tm 549 | /f-0-0 1 Tf 550 | <06>Tj 551 | ET 552 | Q q 553 | 60 732 360 -105 re W n 554 | 165 724 23 -22 re W n 555 | 158.699 721.375 13843.801 -13.613 re W n 556 | 0 g 557 | BT 558 | 13.8375 0 0 13.8375 165 713 Tm 559 | /f-0-0 1 Tf 560 | <07>Tj 561 | ET 562 | BT 563 | 13.8375 0 0 13.8375 172.325 713 Tm 564 | /f-1-0 1 Tf 565 | <01>Tj 566 | ET 567 | BT 568 | 13.8375 0 0 13.8375 178.4875 713 Tm 569 | /f-0-0 1 Tf 570 | <08>Tj 571 | ET 572 | Q q 573 | 60 732 360 -105 re W n 574 | 203 721 217 -75 re W n 575 | 202.238 710.711 13841.164 -21.562 re W n 576 | 0 g 577 | BT 578 | 13.8375 0 0 13.8375 207.275 696.2375 Tm 579 | /f-1-0 1 Tf 580 | <02>Tj 581 | ET 582 | BT 583 | 13.8375 0 0 13.8375 221.9 696.2375 Tm 584 | /f-1-0 1 Tf 585 | <03>Tj 586 | ET 587 | BT 588 | 13.8375 0 0 13.8375 232.675 696.2375 Tm 589 | /f-0-0 1 Tf 590 | <09>Tj 591 | ET 592 | BT 593 | 13.8375 0 0 13.8375 251.1875 696.2375 Tm 594 | /f-2-0 1 Tf 595 | <01>Tj 596 | ET 597 | Q q 598 | 60 732 360 -105 re W n 599 | 203 721 217 -75 re W n 600 | 230.836 704.613 13812.562 -13.461 re W n 601 | 0 g 602 | BT 603 | 13.8375 0 0 13.8375 237.45 696.2375 Tm 604 | /f-0-0 1 Tf 605 | <0a>Tj 606 | ET 607 | Q q 608 | 60 732 360 -105 re W n 609 | 203 721 217 -75 re W n 610 | 202.238 710.711 13841.164 -21.562 re W n 611 | 0 g 612 | BT 613 | 9.7875 0 0 9.7875 244.9125 701.95 Tm 614 | /f-1-0 1 Tf 615 | <04>Tj 616 | ET 617 | Q q 618 | 60 732 360 -105 re W n 619 | 203 721 217 -75 re W n 620 | 240.211 684.801 13803.188 -13.699 re W n 621 | 0 g 622 | BT 623 | 13.8375 0 0 13.8375 246.1875 674.475 Tm 624 | /f-1-0 1 Tf 625 | <05>Tj 626 | ET 627 | Q q 628 | 60 732 360 -105 re W n 629 | 203 721 217 -75 re W n 630 | 240.211 664.426 13803.188 -13.699 re W n 631 | 0 g 632 | BT 633 | 13.8375 0 0 13.8375 246.1875 654.1 Tm 634 | /f-1-0 1 Tf 635 | <05>Tj 636 | ET 637 | Q q 638 | 60 732 360 -105 re W n 639 | 203 721 217 -75 re W n 640 | 252.523 711.25 13790.875 -20.711 re W n 641 | 0 g 642 | BT 643 | 13.8375 0 0 13.8375 305.975 696.2375 Tm 644 | /f-1-0 1 Tf 645 | <06>Tj 646 | ET 647 | BT 648 | 13.8375 0 0 13.8375 352.45 696.2375 Tm 649 | /f-1-0 1 Tf 650 | <03>Tj 651 | ET 652 | BT 653 | 13.8375 0 0 13.8375 404.3125 696.2375 Tm 654 | /f-1-0 1 Tf 655 | <07>Tj 656 | ET 657 | Q q 658 | 60 732 360 -105 re W n 659 | 203 721 217 -75 re W n 660 | 252.523 708.25 13790.875 -17.102 re W n 661 | 0 g 662 | BT 663 | 13.8375 0 0 13.8375 258.5 696.2375 Tm 664 | /f-0-0 1 Tf 665 | <0b>Tj 666 | ET 667 | Q q 668 | 60 732 360 -105 re W n 669 | 203 721 217 -75 re W n 670 | 252.523 711.25 13790.875 -20.711 re W n 671 | 0 g 672 | BT 673 | 9.7875 0 0 9.7875 266.9375 702.2125 Tm 674 | /f-0-0 1 Tf 675 | <07>Tj 676 | ET 677 | BT 678 | 9.7875 0 0 9.7875 272.1125 702.2125 Tm 679 | /f-0-0 1 Tf 680 | <05>Tj 681 | ET 682 | BT 683 | 9.7875 0 0 9.7875 276.3125 702.2125 Tm 684 | /f-0-0 1 Tf 685 | <0c>Tj 686 | ET 687 | Q q 688 | 60 732 360 -105 re W n 689 | 203 721 217 -75 re W n 690 | 276.25 708.25 13767.148 -17.102 re W n 691 | 0 g 692 | BT 693 | 13.8375 0 0 13.8375 282.2375 696.2375 Tm 694 | /f-0-0 1 Tf 695 | <0b>Tj 696 | ET 697 | Q q 698 | 60 732 360 -105 re W n 699 | 203 721 217 -75 re W n 700 | 252.523 711.25 13790.875 -20.711 re W n 701 | 0 g 702 | BT 703 | 9.7875 0 0 9.7875 290.675 702.2125 Tm 704 | /f-0-0 1 Tf 705 | <01>Tj 706 | ET 707 | BT 708 | 9.7875 0 0 9.7875 294.9125 702.2125 Tm 709 | /f-0-0 1 Tf 710 | <03>Tj 711 | ET 712 | BT 713 | 9.7875 0 0 9.7875 300.025 702.2125 Tm 714 | /f-0-0 1 Tf 715 | <0c>Tj 716 | ET 717 | Q q 718 | 60 732 360 -105 re W n 719 | 203 721 217 -75 re W n 720 | 304.898 704.613 13738.5 -13.625 re W n 721 | 0 g 722 | BT 723 | 13.8375 0 0 13.8375 311.3625 696.2375 Tm 724 | /f-0-0 1 Tf 725 | <0d>Tj 726 | ET 727 | Q q 728 | 60 732 360 -105 re W n 729 | 203 721 217 -75 re W n 730 | 252.523 711.25 13790.875 -20.711 re W n 731 | 0 g 732 | BT 733 | 9.7875 0 0 9.7875 318.8375 701.95 Tm 734 | /f-0-0 1 Tf 735 | <08>Tj 736 | ET 737 | BT 738 | 9.7875 0 0 9.7875 324.7375 701.95 Tm 739 | /f-0-0 1 Tf 740 | <02>Tj 741 | ET 742 | Q q 743 | 60 732 360 -105 re W n 744 | 203 721 217 -75 re W n 745 | 324.664 704.613 13718.738 -13.625 re W n 746 | 0 g 747 | BT 748 | 13.8375 0 0 13.8375 331.125 696.2375 Tm 749 | /f-0-0 1 Tf 750 | <0d>Tj 751 | ET 752 | Q q 753 | 60 732 360 -105 re W n 754 | 203 721 217 -75 re W n 755 | 252.523 711.25 13790.875 -20.711 re W n 756 | 0 g 757 | BT 758 | 9.7875 0 0 9.7875 338.6 701.95 Tm 759 | /f-0-0 1 Tf 760 | <06>Tj 761 | ET 762 | BT 763 | 9.7875 0 0 9.7875 343.6875 701.95 Tm 764 | /f-0-0 1 Tf 765 | <04>Tj 766 | ET 767 | Q q 768 | 60 732 360 -105 re W n 769 | 203 721 217 -75 re W n 770 | 359.836 704.613 13683.562 -13.625 re W n 771 | 0 g 772 | BT 773 | 13.8375 0 0 13.8375 366.3 696.2375 Tm 774 | /f-0-0 1 Tf 775 | <0d>Tj 776 | ET 777 | Q q 778 | 60 732 360 -105 re W n 779 | 203 721 217 -75 re W n 780 | 252.523 711.25 13790.875 -20.711 re W n 781 | 0 g 782 | BT 783 | 9.7875 0 0 9.7875 373.775 701.95 Tm 784 | /f-0-0 1 Tf 785 | <08>Tj 786 | ET 787 | BT 788 | 9.7875 0 0 9.7875 379.675 701.95 Tm 789 | /f-0-0 1 Tf 790 | <04>Tj 791 | ET 792 | Q q 793 | 60 732 360 -105 re W n 794 | 203 721 217 -75 re W n 795 | 379.602 704.613 13663.801 -13.625 re W n 796 | 0 g 797 | BT 798 | 13.8375 0 0 13.8375 386.0625 696.2375 Tm 799 | /f-0-0 1 Tf 800 | <0d>Tj 801 | ET 802 | Q q 803 | 60 732 360 -105 re W n 804 | 203 721 217 -75 re W n 805 | 252.523 711.25 13790.875 -20.711 re W n 806 | 0 g 807 | BT 808 | 9.7875 0 0 9.7875 393.5375 701.95 Tm 809 | /f-0-0 1 Tf 810 | <06>Tj 811 | ET 812 | BT 813 | 9.7875 0 0 9.7875 398.625 701.95 Tm 814 | /f-0-0 1 Tf 815 | <02>Tj 816 | ET 817 | Q q 818 | 60 732 360 -105 re W n 819 | 203 721 217 -75 re W n 820 | 252.523 689.488 13790.875 -20.711 re W n 821 | 0 g 822 | BT 823 | 13.8375 0 0 13.8375 305.975 674.475 Tm 824 | /f-1-0 1 Tf 825 | <06>Tj 826 | ET 827 | BT 828 | 13.8375 0 0 13.8375 352.4375 674.475 Tm 829 | /f-1-0 1 Tf 830 | <03>Tj 831 | ET 832 | BT 833 | 13.8375 0 0 13.8375 404.3 674.475 Tm 834 | /f-1-0 1 Tf 835 | <07>Tj 836 | ET 837 | Q q 838 | 60 732 360 -105 re W n 839 | 203 721 217 -75 re W n 840 | 252.523 686.488 13790.875 -17.102 re W n 841 | 0 g 842 | BT 843 | 13.8375 0 0 13.8375 258.5 674.475 Tm 844 | /f-0-0 1 Tf 845 | <0b>Tj 846 | ET 847 | Q q 848 | 60 732 360 -105 re W n 849 | 203 721 217 -75 re W n 850 | 252.523 689.488 13790.875 -20.711 re W n 851 | 0 g 852 | BT 853 | 9.7875 0 0 9.7875 266.9375 680.45 Tm 854 | /f-0-0 1 Tf 855 | <07>Tj 856 | ET 857 | BT 858 | 9.7875 0 0 9.7875 272.1125 680.45 Tm 859 | /f-0-0 1 Tf 860 | <01>Tj 861 | ET 862 | BT 863 | 9.7875 0 0 9.7875 276.35 680.45 Tm 864 | /f-0-0 1 Tf 865 | <0c>Tj 866 | ET 867 | Q q 868 | 60 732 360 -105 re W n 869 | 203 721 217 -75 re W n 870 | 276.25 686.488 13767.148 -17.102 re W n 871 | 0 g 872 | BT 873 | 13.8375 0 0 13.8375 282.2375 674.475 Tm 874 | /f-0-0 1 Tf 875 | <0b>Tj 876 | ET 877 | Q q 878 | 60 732 360 -105 re W n 879 | 203 721 217 -75 re W n 880 | 252.523 689.488 13790.875 -20.711 re W n 881 | 0 g 882 | BT 883 | 9.7875 0 0 9.7875 290.675 680.45 Tm 884 | /f-0-0 1 Tf 885 | <05>Tj 886 | ET 887 | BT 888 | 9.7875 0 0 9.7875 294.875 680.45 Tm 889 | /f-0-0 1 Tf 890 | <03>Tj 891 | ET 892 | BT 893 | 9.7875 0 0 9.7875 299.9875 680.45 Tm 894 | /f-0-0 1 Tf 895 | <0c>Tj 896 | ET 897 | Q q 898 | 60 732 360 -105 re W n 899 | 203 721 217 -75 re W n 900 | 304.898 682.852 13738.5 -13.625 re W n 901 | 0 g 902 | BT 903 | 13.8375 0 0 13.8375 311.3625 674.475 Tm 904 | /f-0-0 1 Tf 905 | <0d>Tj 906 | ET 907 | Q q 908 | 60 732 360 -105 re W n 909 | 203 721 217 -75 re W n 910 | 252.523 689.488 13790.875 -20.711 re W n 911 | 0 g 912 | BT 913 | 9.7875 0 0 9.7875 318.8375 680.1875 Tm 914 | /f-0-0 1 Tf 915 | <08>Tj 916 | ET 917 | BT 918 | 9.7875 0 0 9.7875 324.7375 680.1875 Tm 919 | /f-0-0 1 Tf 920 | <06>Tj 921 | ET 922 | Q q 923 | 60 732 360 -105 re W n 924 | 203 721 217 -75 re W n 925 | 323.898 682.852 13719.5 -13.625 re W n 926 | 0 g 927 | BT 928 | 13.8375 0 0 13.8375 330.3625 674.475 Tm 929 | /f-0-0 1 Tf 930 | <0d>Tj 931 | ET 932 | Q q 933 | 60 732 360 -105 re W n 934 | 203 721 217 -75 re W n 935 | 252.523 689.488 13790.875 -20.711 re W n 936 | 0 g 937 | BT 938 | 9.7875 0 0 9.7875 337.8375 680.1875 Tm 939 | /f-0-0 1 Tf 940 | <02>Tj 941 | ET 942 | BT 943 | 9.7875 0 0 9.7875 342.9 680.1875 Tm 944 | /f-0-0 1 Tf 945 | <04>Tj 946 | ET 947 | Q q 948 | 60 732 360 -105 re W n 949 | 203 721 217 -75 re W n 950 | 359.824 682.852 13683.574 -13.625 re W n 951 | 0 g 952 | BT 953 | 13.8375 0 0 13.8375 366.2875 674.475 Tm 954 | /f-0-0 1 Tf 955 | <0d>Tj 956 | ET 957 | Q q 958 | 60 732 360 -105 re W n 959 | 203 721 217 -75 re W n 960 | 252.523 689.488 13790.875 -20.711 re W n 961 | 0 g 962 | BT 963 | 9.7875 0 0 9.7875 373.7625 680.1875 Tm 964 | /f-0-0 1 Tf 965 | <08>Tj 966 | ET 967 | BT 968 | 9.7875 0 0 9.7875 379.6625 680.1875 Tm 969 | /f-0-0 1 Tf 970 | <04>Tj 971 | ET 972 | Q q 973 | 60 732 360 -105 re W n 974 | 203 721 217 -75 re W n 975 | 379.586 682.852 13663.812 -13.625 re W n 976 | 0 g 977 | BT 978 | 13.8375 0 0 13.8375 386.05 674.475 Tm 979 | /f-0-0 1 Tf 980 | <0d>Tj 981 | ET 982 | Q q 983 | 60 732 360 -105 re W n 984 | 203 721 217 -75 re W n 985 | 252.523 689.488 13790.875 -20.711 re W n 986 | 0 g 987 | BT 988 | 9.7875 0 0 9.7875 393.525 680.1875 Tm 989 | /f-0-0 1 Tf 990 | <06>Tj 991 | ET 992 | BT 993 | 9.7875 0 0 9.7875 398.6125 680.1875 Tm 994 | /f-0-0 1 Tf 995 | <02>Tj 996 | ET 997 | Q q 998 | 60 732 360 -105 re W n 999 | 203 721 217 -75 re W n 1000 | 252.523 669.113 13790.875 -22.102 re W n 1001 | 0 g 1002 | BT 1003 | 13.8375 0 0 13.8375 305.9625 654.1 Tm 1004 | /f-1-0 1 Tf 1005 | <06>Tj 1006 | ET 1007 | BT 1008 | 13.8375 0 0 13.8375 352.425 654.1 Tm 1009 | /f-1-0 1 Tf 1010 | <03>Tj 1011 | ET 1012 | BT 1013 | 13.8375 0 0 13.8375 404.2875 654.1 Tm 1014 | /f-1-0 1 Tf 1015 | <07>Tj 1016 | ET 1017 | BT 1018 | 13.8375 0 0 13.8375 409.675 654.1 Tm 1019 | /f-2-0 1 Tf 1020 | <02>Tj 1021 | ET 1022 | Q q 1023 | 60 732 360 -105 re W n 1024 | 203 721 217 -75 re W n 1025 | 252.523 666.113 13790.875 -17.102 re W n 1026 | 0 g 1027 | BT 1028 | 13.8375 0 0 13.8375 258.5 654.1 Tm 1029 | /f-0-0 1 Tf 1030 | <0b>Tj 1031 | ET 1032 | Q q 1033 | 60 732 360 -105 re W n 1034 | 203 721 217 -75 re W n 1035 | 252.523 669.113 13790.875 -22.102 re W n 1036 | 0 g 1037 | BT 1038 | 9.7875 0 0 9.7875 266.9375 660.075 Tm 1039 | /f-0-0 1 Tf 1040 | <07>Tj 1041 | ET 1042 | BT 1043 | 9.7875 0 0 9.7875 272.1125 660.075 Tm 1044 | /f-0-0 1 Tf 1045 | <03>Tj 1046 | ET 1047 | BT 1048 | 9.7875 0 0 9.7875 277.225 660.075 Tm 1049 | /f-0-0 1 Tf 1050 | <0c>Tj 1051 | ET 1052 | Q q 1053 | 60 732 360 -105 re W n 1054 | 203 721 217 -75 re W n 1055 | 276.988 666.113 13766.414 -17.102 re W n 1056 | 0 g 1057 | BT 1058 | 13.8375 0 0 13.8375 282.975 654.1 Tm 1059 | /f-0-0 1 Tf 1060 | <0b>Tj 1061 | ET 1062 | Q q 1063 | 60 732 360 -105 re W n 1064 | 203 721 217 -75 re W n 1065 | 252.523 669.113 13790.875 -22.102 re W n 1066 | 0 g 1067 | BT 1068 | 9.7875 0 0 9.7875 291.4125 660.075 Tm 1069 | /f-0-0 1 Tf 1070 | <05>Tj 1071 | ET 1072 | BT 1073 | 9.7875 0 0 9.7875 295.6125 660.075 Tm 1074 | /f-0-0 1 Tf 1075 | <01>Tj 1076 | ET 1077 | BT 1078 | 9.7875 0 0 9.7875 299.85 660.075 Tm 1079 | /f-0-0 1 Tf 1080 | <0c>Tj 1081 | ET 1082 | Q q 1083 | 60 732 360 -105 re W n 1084 | 203 721 217 -75 re W n 1085 | 304.887 662.477 13738.512 -13.625 re W n 1086 | 0 g 1087 | BT 1088 | 13.8375 0 0 13.8375 311.35 654.1 Tm 1089 | /f-0-0 1 Tf 1090 | <0d>Tj 1091 | ET 1092 | Q q 1093 | 60 732 360 -105 re W n 1094 | 203 721 217 -75 re W n 1095 | 252.523 669.113 13790.875 -22.102 re W n 1096 | 0 g 1097 | BT 1098 | 9.7875 0 0 9.7875 318.825 659.8125 Tm 1099 | /f-0-0 1 Tf 1100 | <08>Tj 1101 | ET 1102 | BT 1103 | 9.7875 0 0 9.7875 324.725 659.8125 Tm 1104 | /f-0-0 1 Tf 1105 | <06>Tj 1106 | ET 1107 | Q q 1108 | 60 732 360 -105 re W n 1109 | 203 721 217 -75 re W n 1110 | 323.887 662.477 13719.512 -13.625 re W n 1111 | 0 g 1112 | BT 1113 | 13.8375 0 0 13.8375 330.35 654.1 Tm 1114 | /f-0-0 1 Tf 1115 | <0d>Tj 1116 | ET 1117 | Q q 1118 | 60 732 360 -105 re W n 1119 | 203 721 217 -75 re W n 1120 | 252.523 669.113 13790.875 -22.102 re W n 1121 | 0 g 1122 | BT 1123 | 9.7875 0 0 9.7875 337.825 659.8125 Tm 1124 | /f-0-0 1 Tf 1125 | <02>Tj 1126 | ET 1127 | BT 1128 | 9.7875 0 0 9.7875 342.8875 659.8125 Tm 1129 | /f-0-0 1 Tf 1130 | <04>Tj 1131 | ET 1132 | Q q 1133 | 60 732 360 -105 re W n 1134 | 203 721 217 -75 re W n 1135 | 359.812 662.477 13683.586 -13.625 re W n 1136 | 0 g 1137 | BT 1138 | 13.8375 0 0 13.8375 366.275 654.1 Tm 1139 | /f-0-0 1 Tf 1140 | <0d>Tj 1141 | ET 1142 | Q q 1143 | 60 732 360 -105 re W n 1144 | 203 721 217 -75 re W n 1145 | 252.523 669.113 13790.875 -22.102 re W n 1146 | 0 g 1147 | BT 1148 | 9.7875 0 0 9.7875 373.75 659.8125 Tm 1149 | /f-0-0 1 Tf 1150 | <08>Tj 1151 | ET 1152 | BT 1153 | 9.7875 0 0 9.7875 379.65 659.8125 Tm 1154 | /f-0-0 1 Tf 1155 | <02>Tj 1156 | ET 1157 | Q q 1158 | 60 732 360 -105 re W n 1159 | 203 721 217 -75 re W n 1160 | 379.574 662.477 13663.824 -13.625 re W n 1161 | 0 g 1162 | BT 1163 | 13.8375 0 0 13.8375 386.0375 654.1 Tm 1164 | /f-0-0 1 Tf 1165 | <0d>Tj 1166 | ET 1167 | Q q 1168 | 60 732 360 -105 re W n 1169 | 203 721 217 -75 re W n 1170 | 252.523 669.113 13790.875 -22.102 re W n 1171 | 0 g 1172 | BT 1173 | 9.7875 0 0 9.7875 393.5125 659.8125 Tm 1174 | /f-0-0 1 Tf 1175 | <06>Tj 1176 | ET 1177 | BT 1178 | 9.7875 0 0 9.7875 398.6 659.8125 Tm 1179 | /f-0-0 1 Tf 1180 | <04>Tj 1181 | ET 1182 | Q Q 1183 | showpage 1184 | %%Trailer 1185 | %%EOF 1186 | 1187 | %%EndDocument 1188 | @endspecial eop end 1189 | %%Trailer 1190 | 1191 | userdict /end-hook known{end-hook}if 1192 | %%EOF 1193 | -------------------------------------------------------------------------------- /js/jquery-2.1.0.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery v2.1.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ 2 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m=a.document,n="2.1.0",o=function(a,b){return new o.fn.init(a,b)},p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};o.fn=o.prototype={jquery:n,constructor:o,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=o.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return o.each(this,a,b)},map:function(a){return this.pushStack(o.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},o.extend=o.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||o.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(o.isPlainObject(d)||(e=o.isArray(d)))?(e?(e=!1,f=c&&o.isArray(c)?c:[]):f=c&&o.isPlainObject(c)?c:{},g[b]=o.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},o.extend({expando:"jQuery"+(n+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===o.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isPlainObject:function(a){if("object"!==o.type(a)||a.nodeType||o.isWindow(a))return!1;try{if(a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=o.trim(a),a&&(1===a.indexOf("use strict")?(b=m.createElement("script"),b.text=a,m.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":k.call(a)},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?o.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),o.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||o.guid++,f):void 0},now:Date.now,support:l}),o.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=o.type(a);return"function"===c||o.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);o.find=t,o.expr=t.selectors,o.expr[":"]=o.expr.pseudos,o.unique=t.uniqueSort,o.text=t.getText,o.isXMLDoc=t.isXML,o.contains=t.contains;var u=o.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(o.isFunction(b))return o.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return o.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return o.filter(b,a,c);b=o.filter(b,a)}return o.grep(a,function(a){return g.call(b,a)>=0!==c})}o.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?o.find.matchesSelector(d,a)?[d]:[]:o.find.matches(a,o.grep(b,function(a){return 1===a.nodeType}))},o.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(o(a).filter(function(){for(b=0;c>b;b++)if(o.contains(e[b],this))return!0}));for(b=0;c>b;b++)o.find(a,e[b],d);return d=this.pushStack(c>1?o.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?o(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=o.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof o?b[0]:b,o.merge(this,o.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:m,!0)),v.test(c[1])&&o.isPlainObject(b))for(c in b)o.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=m.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=m,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):o.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(o):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),o.makeArray(a,this))};A.prototype=o.fn,y=o(m);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};o.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&o(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),o.fn.extend({has:function(a){var b=o(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(o.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?o(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&o.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?o.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(o(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(o.unique(o.merge(this.get(),o(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}o.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return o.dir(a,"parentNode")},parentsUntil:function(a,b,c){return o.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return o.dir(a,"nextSibling")},prevAll:function(a){return o.dir(a,"previousSibling")},nextUntil:function(a,b,c){return o.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return o.dir(a,"previousSibling",c)},siblings:function(a){return o.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return o.sibling(a.firstChild)},contents:function(a){return a.contentDocument||o.merge([],a.childNodes)}},function(a,b){o.fn[a]=function(c,d){var e=o.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=o.filter(d,e)),this.length>1&&(C[a]||o.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return o.each(a.match(E)||[],function(a,c){b[c]=!0}),b}o.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):o.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){o.each(b,function(b,c){var d=o.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&o.each(arguments,function(a,b){var c;while((c=o.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?o.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},o.extend({Deferred:function(a){var b=[["resolve","done",o.Callbacks("once memory"),"resolved"],["reject","fail",o.Callbacks("once memory"),"rejected"],["notify","progress",o.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return o.Deferred(function(c){o.each(b,function(b,f){var g=o.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&o.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?o.extend(a,d):d}},e={};return d.pipe=d.then,o.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&o.isFunction(a.promise)?e:0,g=1===f?a:o.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&o.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;o.fn.ready=function(a){return o.ready.promise().done(a),this},o.extend({isReady:!1,readyWait:1,holdReady:function(a){a?o.readyWait++:o.ready(!0)},ready:function(a){(a===!0?--o.readyWait:o.isReady)||(o.isReady=!0,a!==!0&&--o.readyWait>0||(H.resolveWith(m,[o]),o.fn.trigger&&o(m).trigger("ready").off("ready")))}});function I(){m.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),o.ready()}o.ready.promise=function(b){return H||(H=o.Deferred(),"complete"===m.readyState?setTimeout(o.ready):(m.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},o.ready.promise();var J=o.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===o.type(c)){e=!0;for(h in c)o.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,o.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(o(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};o.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=o.expando+Math.random()}K.uid=1,K.accepts=o.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,o.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(o.isEmptyObject(f))o.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,o.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{o.isArray(b)?d=b.concat(b.map(o.camelCase)):(e=o.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!o.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?o.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}o.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),o.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length; 3 | while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=o.camelCase(d.slice(5)),P(f,d,e[d]));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=o.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),o.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||o.isArray(c)?d=L.access(a,b,o.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=o.queue(a,b),d=c.length,e=c.shift(),f=o._queueHooks(a,b),g=function(){o.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:o.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),o.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";l.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return m.activeElement}catch(a){}}o.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=o.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof o!==U&&o.event.triggered!==b.type?o.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],n=q=h[1],p=(h[2]||"").split(".").sort(),n&&(l=o.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=o.event.special[n]||{},k=o.extend({type:n,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&o.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(n,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),o.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],n=q=h[1],p=(h[2]||"").split(".").sort(),n){l=o.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||o.removeEvent(a,n,r.handle),delete i[n])}else for(n in i)o.event.remove(a,n+b[j],c,d,!0);o.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,p=[d||m],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||m,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+o.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[o.expando]?b:new o.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:o.makeArray(c,[b]),n=o.event.special[q]||{},e||!n.trigger||n.trigger.apply(d,c)!==!1)){if(!e&&!n.noBubble&&!o.isWindow(d)){for(i=n.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||m)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:n.bindType||q,l=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),l&&l.apply(g,c),l=k&&g[k],l&&l.apply&&o.acceptData(g)&&(b.result=l.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||n._default&&n._default.apply(p.pop(),c)!==!1||!o.acceptData(d)||k&&o.isFunction(d[q])&&!o.isWindow(d)&&(h=d[k],h&&(d[k]=null),o.event.triggered=q,d[q](),o.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=o.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=o.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=o.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((o.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?o(e,this).index(i)>=0:o.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return o.nodeName(a,"table")&&o.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)o.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=o.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&o.nodeName(a,b)?o.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}o.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=o.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||o.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,n=a.length;n>m;m++)if(e=a[m],e||0===e)if("object"===o.type(e))o.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;o.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===o.inArray(e,d))&&(i=o.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f,g,h=o.event.special,i=0;void 0!==(c=a[i]);i++){if(o.acceptData(c)&&(f=c[L.expando],f&&(b=L.cache[f]))){if(d=Object.keys(b.events||{}),d.length)for(g=0;void 0!==(e=d[g]);g++)h[e]?o.event.remove(c,e):o.removeEvent(c,e,b.handle);L.cache[f]&&delete L.cache[f]}delete M.cache[c[M.expando]]}}}),o.fn.extend({text:function(a){return J(this,function(a){return void 0===a?o.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?o.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||o.cleanData(ob(c)),c.parentNode&&(b&&o.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(o.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return o.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(o.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,o.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,n=k-1,p=a[0],q=o.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(c=o.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=o.map(ob(c,"script"),kb),g=f.length;k>j;j++)h=c,j!==n&&(h=o.clone(h,!0,!0),g&&o.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,o.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&o.contains(i,h)&&(h.src?o._evalUrl&&o._evalUrl(h.src):o.globalEval(h.textContent.replace(hb,"")))}return this}}),o.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){o.fn[a]=function(a){for(var c,d=[],e=o(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),o(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d=o(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:o.css(d[0],"display");return d.detach(),e}function tb(a){var b=m,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||o("